From bfd7138133e3e6df73935268d6416f1b2946709a Mon Sep 17 00:00:00 2001 From: Peter Ringelmann <4850521+Pringels@users.noreply.github.com> Date: Sun, 14 Dec 2025 12:22:27 +0100 Subject: [PATCH] fix(settings): reset limit to groups state when switching apps Signed-off-by: Peter Ringelmann <4850521+Pringels@users.noreply.github.com> --- .../src/components/AppStoreSidebar/AppDetailsTab.vue | 6 ------ apps/settings/src/views/AppStoreSidebar.vue | 2 +- dist/settings-apps-view-4529.js | 4 ++-- dist/settings-apps-view-4529.js.map | 2 +- dist/settings-vue-settings-apps-users-management.js | 4 ++-- dist/settings-vue-settings-apps-users-management.js.map | 2 +- 6 files changed, 7 insertions(+), 13 deletions(-) diff --git a/apps/settings/src/components/AppStoreSidebar/AppDetailsTab.vue b/apps/settings/src/components/AppStoreSidebar/AppDetailsTab.vue index aeba9b80af1b2..c44d27d582d29 100644 --- a/apps/settings/src/components/AppStoreSidebar/AppDetailsTab.vue +++ b/apps/settings/src/components/AppStoreSidebar/AppDetailsTab.vue @@ -394,12 +394,6 @@ export default { }, }, - watch: { - 'app.id': function() { - this.removeData = false - }, - }, - beforeUnmount() { this.deployOptions = null unsubscribe('showDaemonSelectionModal') diff --git a/apps/settings/src/views/AppStoreSidebar.vue b/apps/settings/src/views/AppStoreSidebar.vue index 5cc2ea7cc7cb7..1ae66d0a984a3 100644 --- a/apps/settings/src/views/AppStoreSidebar.vue +++ b/apps/settings/src/views/AppStoreSidebar.vue @@ -35,7 +35,7 @@ - + diff --git a/dist/settings-apps-view-4529.js b/dist/settings-apps-view-4529.js index 9089d248f2256..ef2d30c08730f 100644 --- a/dist/settings-apps-view-4529.js +++ b/dist/settings-apps-view-4529.js @@ -1,2 +1,2 @@ -"use strict";(globalThis.webpackChunknextcloud_ui_legacy=globalThis.webpackChunknextcloud_ui_legacy||[]).push([[4529],{846:(t,e,n)=>{n.d(e,{T:()=>u});var a=n(19051),i=n(85168),s=n(81222),o=n(53334),p=n(63814),r=n(10810),l=n(86438),c=n(36620);const d=()=>(0,i.Qg)((0,o.Tl)("settings","An error occurred during the request. Unable to proceed.")),u=(0,r.nY)("settings-apps",{state:()=>({apps:[],categories:[],updateCount:(0,s.C)("settings","appstoreUpdateCount",0),loading:{apps:!1,categories:!1},loadingList:!1,gettingCategoriesPromise:null}),actions:{async loadCategories(t=!1){if(!(this.categories.length>0)||t)try{this.loading.categories=!0;const{data:t}=await a.Ay.get((0,p.Jv)("settings/apps/categories"));for(const e of t)e.icon=l.A[e.id]??"";this.$patch({categories:t})}catch(t){c.A.error(t),d()}finally{this.loading.categories=!1}},async loadApps(t=!1){if(!(this.apps.length>0)||t)try{this.loading.apps=!0;const{data:t}=await a.Ay.get((0,p.Jv)("settings/apps/list"));this.$patch({apps:t.apps})}catch(t){c.A.error(t),d()}finally{this.loading.apps=!1}},getCategoryById(t){return this.categories.find(({id:e})=>e===t)??null},getAppById(t){return this.apps.find(({id:e})=>e===t)??null},updateAppGroups(t,e){const n=this.apps.find(({id:e})=>e===t);n&&(n.groups=[...e])}}})},2602:(t,e,n)=>{n.d(e,{A:()=>p});var a=n(71354),i=n.n(a),s=n(76314),o=n.n(s)()(i());o.push([t.id,".daemon-selection-list[data-v-a31da1f4]{max-height:350px;overflow-y:scroll;padding:2rem}.daemon-selection-list__empty-content[data-v-a31da1f4]{margin-top:0;text-align:center}","",{version:3,sources:["webpack://./apps/settings/src/components/AppAPI/DaemonSelectionList.vue"],names:[],mappings:"AACA,wCACC,gBAAA,CACA,iBAAA,CACA,YAAA,CAEA,uDACC,YAAA,CACA,iBAAA",sourcesContent:["\n.daemon-selection-list {\n\tmax-height: 350px;\n\toverflow-y: scroll;\n\tpadding: 2rem;\n\n\t&__empty-content {\n\t\tmargin-top: 0;\n\t\ttext-align: center;\n\t}\n}\n"],sourceRoot:""}]);const p=o},6325:(t,e,n)=>{n.d(e,{A:()=>p});var a=n(71354),i=n.n(a),s=n(76314),o=n.n(s)()(i());o.push([t.id,".app-sidebar--with-screenshot[data-v-156b7c7b] .app-sidebar-header__figure{background-size:cover}.app-sidebar__fallback-icon[data-v-156b7c7b]{width:100%;height:100%}.app-sidebar__badges[data-v-156b7c7b]{display:flex;flex-direction:row;gap:12px}.app-sidebar__version[data-v-156b7c7b]{color:var(--color-text-maxcontrast)}","",{version:3,sources:["webpack://./apps/settings/src/views/AppStoreSidebar.vue"],names:[],mappings:"AAIE,2EACC,qBAAA,CAIF,6CAEC,UAAA,CACA,WAAA,CAGD,sCACC,YAAA,CACA,kBAAA,CACA,QAAA,CAGD,uCACC,mCAAA",sourcesContent:["\n.app-sidebar {\n\t// If a screenshot is available it should cover the whole figure\n\t&--with-screenshot {\n\t\t:deep(.app-sidebar-header__figure) {\n\t\t\tbackground-size: cover;\n\t\t}\n\t}\n\n\t&__fallback-icon {\n\t\t// both 100% to center the icon\n\t\twidth: 100%;\n\t\theight: 100%;\n\t}\n\n\t&__badges {\n\t\tdisplay: flex;\n\t\tflex-direction: row;\n\t\tgap: 12px;\n\t}\n\n\t&__version {\n\t\tcolor: var(--color-text-maxcontrast);\n\t}\n}\n"],sourceRoot:""}]);const p=o},7717:(t,e,n)=>{n.d(e,{A:()=>p});var a=n(71354),i=n.n(a),s=n(76314),o=n.n(s)()(i());o.push([t.id,"\n/* The categories-loading indicator */\n.categories--loading[data-v-6d2cb244] {\n\tflex: 1;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n}\n","",{version:3,sources:["webpack://./apps/settings/src/views/AppStoreNavigation.vue"],names:[],mappings:";AAkJA,qCAAA;AACA;CACA,OAAA;CACA,aAAA;CACA,mBAAA;CACA,uBAAA;AACA",sourcesContent:['\x3c!--\n - SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n--\x3e\n\n\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.daemon[data-v-28419269]{padding:20px}.daemon h4[data-v-28419269]{font-weight:bold;margin:10px auto}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/AppStoreSidebar/AppDeployDaemonTab.vue\"],\"names\":[],\"mappings\":\"AACA,yBACE,YAAA,CAEA,4BACE,gBAAA,CACA,gBAAA\",\"sourcesContent\":[\"\\n.daemon {\\n padding: 20px;\\n\\n h4 {\\n font-weight: bold;\\n margin: 10px auto;\\n }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.app-daemon-badge[data-v-d2263fb4]{color:var(--color-text-maxcontrast);background-color:rgba(0,0,0,0);border:1px solid var(--color-text-maxcontrast);border-radius:var(--border-radius);display:flex;flex-direction:row;gap:6px;padding:3px 6px;width:fit-content}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/AppList/AppDaemonBadge.vue\"],\"names\":[],\"mappings\":\"AACA,mCACC,mCAAA,CACA,8BAAA,CACA,8CAAA,CACA,kCAAA,CAEA,YAAA,CACA,kBAAA,CACA,OAAA,CACA,eAAA,CACA,iBAAA\",\"sourcesContent\":[\"\\n.app-daemon-badge {\\n\\tcolor: var(--color-text-maxcontrast);\\n\\tbackground-color: transparent;\\n\\tborder: 1px solid var(--color-text-maxcontrast);\\n\\tborder-radius: var(--border-radius);\\n\\n\\tdisplay: flex;\\n\\tflex-direction: row;\\n\\tgap: 6px;\\n\\tpadding: 3px 6px;\\n\\twidth: fit-content;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.apps-list[data-v-707dd976]{display:flex;flex-wrap:wrap;align-content:flex-start}.apps-list--move[data-v-707dd976]{transition:transform 1s}.apps-list #app-list-update-all[data-v-707dd976]{margin-inline-start:10px}.apps-list__toolbar[data-v-707dd976]{height:60px;padding:8px;padding-inline-start:60px;width:100%;background-color:var(--color-main-background);position:sticky;top:0;z-index:1;display:flex;align-items:center}.apps-list--list-view[data-v-707dd976]{margin-bottom:100px;position:relative}.apps-list__list-container[data-v-707dd976]{width:100%}.apps-list__store-container[data-v-707dd976]{display:flex;flex-wrap:wrap}.apps-list__bundle-heading[data-v-707dd976]{display:flex;align-items:center;margin-block:20px;margin-inline:0 10px}.apps-list__bundle-header[data-v-707dd976]{color:var(--color-main-text);margin-block:0;margin-inline:50px 10px;font-weight:bold;font-size:20px;line-height:30px}#apps-list-search .app-item h2[data-v-707dd976]{margin-bottom:0}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/AppList.vue\"],\"names\":[],\"mappings\":\"AAIA,4BACC,YAAA,CACA,cAAA,CACA,wBAAA,CAGA,kCACC,uBAAA,CAGD,iDACC,wBAAA,CAGD,qCACC,WAjBe,CAkBf,WAnBgB,CAqBhB,yBApBe,CAqBf,UAAA,CACA,6CAAA,CACA,eAAA,CACA,KAAA,CACA,SAAA,CACA,YAAA,CACA,kBAAA,CAGD,uCACC,mBAAA,CAEA,iBAAA,CAGD,4CACC,UAAA,CAGD,6CACC,YAAA,CACA,cAAA,CAGD,4CACC,YAAA,CACA,kBAAA,CACA,iBAAA,CACA,oBAAA,CAGD,2CACC,4BAAA,CACA,cAAA,CACA,uBAAA,CACA,gBAAA,CACA,cAAA,CACA,gBAAA,CAMA,gDACC,eAAA\",\"sourcesContent\":[\"\\n$toolbar-padding: 8px;\\n$toolbar-height: 44px + $toolbar-padding * 2;\\n\\n.apps-list {\\n\\tdisplay: flex;\\n\\tflex-wrap: wrap;\\n\\talign-content: flex-start;\\n\\n\\t// For transition group\\n\\t&--move {\\n\\t\\ttransition: transform 1s;\\n\\t}\\n\\n\\t#app-list-update-all {\\n\\t\\tmargin-inline-start: 10px;\\n\\t}\\n\\n\\t&__toolbar {\\n\\t\\theight: $toolbar-height;\\n\\t\\tpadding: $toolbar-padding;\\n\\t\\t// Leave room for app-navigation-toggle\\n\\t\\tpadding-inline-start: $toolbar-height;\\n\\t\\twidth: 100%;\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t\\tposition: sticky;\\n\\t\\ttop: 0;\\n\\t\\tz-index: 1;\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t}\\n\\n\\t&--list-view {\\n\\t\\tmargin-bottom: 100px;\\n\\t\\t// For positioning link overlay on rows\\n\\t\\tposition: relative;\\n\\t}\\n\\n\\t&__list-container {\\n\\t\\twidth: 100%;\\n\\t}\\n\\n\\t&__store-container {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-wrap: wrap;\\n\\t}\\n\\n\\t&__bundle-heading {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tmargin-block: 20px;\\n\\t\\tmargin-inline: 0 10px;\\n\\t}\\n\\n\\t&__bundle-header {\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tmargin-block: 0;\\n\\t\\tmargin-inline: 50px 10px;\\n\\t\\tfont-weight: bold;\\n\\t\\tfont-size: 20px;\\n\\t\\tline-height: 30px;\\n\\t}\\n}\\n\\n#apps-list-search {\\n\\t.app-item {\\n\\t\\th2 {\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","/**\n * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport axios from '@nextcloud/axios'\nimport { emit } from '@nextcloud/event-bus'\nimport { generateOcsUrl } from '@nextcloud/router'\n\nexport default () => {\n\treturn axios.get(generateOcsUrl('core/navigation', 2) + '/apps?format=json')\n\t\t.then(({ data }) => {\n\t\t\tif (data.ocs.meta.statuscode !== 200) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\temit('nextcloud:app-menu.refresh', { apps: data.ocs.data })\n\t\t\twindow.dispatchEvent(new Event('resize'))\n\t\t})\n}\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { showError } from '@nextcloud/dialogs'\nimport rebuildNavigation from '../service/rebuild-navigation.js'\n\nconst productName = window.OC.theme.productName\n\nexport default {\n\tcomputed: {\n\t\tappGroups() {\n\t\t\treturn this.app.groups.map((group) => {\n\t\t\t\treturn { id: group, name: group }\n\t\t\t})\n\t\t},\n\t\tinstalling() {\n\t\t\tif (this.app?.app_api) {\n\t\t\t\treturn this.app && this?.appApiStore.getLoading('install') === true\n\t\t\t}\n\t\t\treturn this.$store.getters.loading('install')\n\t\t},\n\t\tisLoading() {\n\t\t\tif (this.app?.app_api) {\n\t\t\t\treturn this.app && this?.appApiStore.getLoading(this.app.id) === true\n\t\t\t}\n\t\t\treturn this.app && this.$store.getters.loading(this.app.id)\n\t\t},\n\t\tisInitializing() {\n\t\t\tif (this.app?.app_api) {\n\t\t\t\treturn this.app && (this.app?.status?.action === 'init' || this.app?.status?.action === 'healthcheck')\n\t\t\t}\n\t\t\treturn false\n\t\t},\n\t\tisDeploying() {\n\t\t\tif (this.app?.app_api) {\n\t\t\t\treturn this.app && this.app?.status?.action === 'deploy'\n\t\t\t}\n\t\t\treturn false\n\t\t},\n\t\tisManualInstall() {\n\t\t\tif (this.app?.app_api) {\n\t\t\t\treturn this.app?.daemon?.accepts_deploy_id === 'manual-install'\n\t\t\t}\n\t\t\treturn false\n\t\t},\n\t\tupdateButtonText() {\n\t\t\tif (this.app?.app_api && this.app?.daemon?.accepts_deploy_id === 'manual-install') {\n\t\t\t\treturn t('settings', 'Manually installed apps cannot be updated')\n\t\t\t}\n\t\t\treturn t('settings', 'Update to {version}', { version: this.app?.update })\n\t\t},\n\t\tenableButtonText() {\n\t\t\tif (this.app?.app_api) {\n\t\t\t\tif (this.app && this.app?.status?.action && this.app?.status?.action === 'deploy') {\n\t\t\t\t\treturn t('settings', '{progress}% Deploying …', { progress: this.app?.status?.deploy ?? 0 })\n\t\t\t\t}\n\t\t\t\tif (this.app && this.app?.status?.action && this.app?.status?.action === 'init') {\n\t\t\t\t\treturn t('settings', '{progress}% Initializing …', { progress: this.app?.status?.init ?? 0 })\n\t\t\t\t}\n\t\t\t\tif (this.app && this.app?.status?.action && this.app?.status?.action === 'healthcheck') {\n\t\t\t\t\treturn t('settings', 'Health checking')\n\t\t\t\t}\n\t\t\t\tif (this.app.needsDownload) {\n\t\t\t\t\treturn t('settings', 'Deploy and Enable')\n\t\t\t\t}\n\t\t\t\treturn t('settings', 'Enable')\n\t\t\t} else {\n\t\t\t\tif (this.app.needsDownload) {\n\t\t\t\t\treturn t('settings', 'Download and enable')\n\t\t\t\t}\n\t\t\t\treturn t('settings', 'Enable')\n\t\t\t}\n\t\t},\n\t\tdisableButtonText() {\n\t\t\tif (this.app?.app_api) {\n\t\t\t\tif (this.app && this.app?.status?.action && this.app?.status?.action === 'deploy') {\n\t\t\t\t\treturn t('settings', '{progress}% Deploying …', { progress: this.app?.status?.deploy })\n\t\t\t\t}\n\t\t\t\tif (this.app && this.app?.status?.action && this.app?.status?.action === 'init') {\n\t\t\t\t\treturn t('settings', '{progress}% Initializing …', { progress: this.app?.status?.init })\n\t\t\t\t}\n\t\t\t\tif (this.app && this.app?.status?.action && this.app?.status?.action === 'healthcheck') {\n\t\t\t\t\treturn t('settings', 'Health checking')\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn t('settings', 'Disable')\n\t\t},\n\t\tforceEnableButtonText() {\n\t\t\tif (this.app.needsDownload) {\n\t\t\t\treturn t('settings', 'Allow untested app')\n\t\t\t}\n\t\t\treturn t('settings', 'Allow untested app')\n\t\t},\n\t\tenableButtonTooltip() {\n\t\t\tif (!this.app?.app_api && this.app.needsDownload) {\n\t\t\t\treturn t('settings', 'The app will be downloaded from the App Store')\n\t\t\t}\n\t\t\treturn null\n\t\t},\n\t\tforceEnableButtonTooltip() {\n\t\t\tconst base = t('settings', 'This app is not marked as compatible with your {productName} version.', { productName })\n\t\t\t\t+ ' '\n\t\t\t\t+ t('settings', 'If you continue you will still be able to install the app. Note that the app might not work as expected.')\n\t\t\tif (this.app.needsDownload) {\n\t\t\t\treturn base + ' ' + t('settings', 'The app will be downloaded from the App Store')\n\t\t\t}\n\t\t\treturn base\n\t\t},\n\t\tdefaultDeployDaemonAccessible() {\n\t\t\tif (this.app?.app_api) {\n\t\t\t\tif (this.app?.daemon && this.app?.daemon?.accepts_deploy_id === 'manual-install') {\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t\tif (this.app?.daemon?.accepts_deploy_id === 'docker-install'\n\t\t\t\t\t&& this.appApiStore.getDefaultDaemon?.name === this.app?.daemon?.name) {\n\t\t\t\t\treturn this?.appApiStore.getDaemonAccessible === true\n\t\t\t\t}\n\t\t\t\treturn this?.appApiStore.getDaemonAccessible\n\t\t\t}\n\t\t\treturn true\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tgroupCheckedAppsData: false,\n\t\t}\n\t},\n\n\tmounted() {\n\t\tif (this.app && this.app.groups && this.app.groups.length > 0) {\n\t\t\tthis.groupCheckedAppsData = true\n\t\t}\n\t},\n\n\tmethods: {\n\t\tasyncFindGroup(query) {\n\t\t\treturn this.$store.dispatch('getGroups', { search: query, limit: 5, offset: 0 })\n\t\t},\n\t\tisLimitedToGroups() {\n\t\t\tif (this.app?.app_api) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\treturn this.app.groups.length || this.groupCheckedAppsData\n\t\t},\n\t\tsetGroupLimit() {\n\t\t\tif (this.app?.app_api) {\n\t\t\t\treturn // not supported for app_api apps\n\t\t\t}\n\t\t\tif (!this.groupCheckedAppsData) {\n\t\t\t\tthis.$store.dispatch('enableApp', { appId: this.app.id, groups: [] })\n\t\t\t}\n\t\t},\n\t\tcanLimitToGroups(app) {\n\t\t\tif ((app.types && app.types.includes('filesystem'))\n\t\t\t\t|| app.types.includes('prelogin')\n\t\t\t\t|| app.types.includes('authentication')\n\t\t\t\t|| app.types.includes('logging')\n\t\t\t\t|| app.types.includes('prevent_group_restriction')\n\t\t\t\t|| app?.app_api) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\treturn true\n\t\t},\n\t\taddGroupLimitation(groupArray) {\n\t\t\tif (this.app?.app_api) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tconst group = groupArray.pop()\n\t\t\tconst groups = this.app.groups.concat([]).concat([group.id])\n\n\t\t\tif (this.store && this.store.updateAppGroups) {\n\t\t\t\tthis.store.updateAppGroups(this.app.id, groups)\n\t\t\t}\n\n\t\t\tthis.$store.dispatch('enableApp', { appId: this.app.id, groups })\n\t\t},\n\t\tremoveGroupLimitation(group) {\n\t\t\tif (this.app?.app_api) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tconst currentGroups = this.app.groups.concat([])\n\t\t\tconst index = currentGroups.indexOf(group.id)\n\t\t\tif (index > -1) {\n\t\t\t\tcurrentGroups.splice(index, 1)\n\t\t\t}\n\n\t\t\tif (this.store && this.store.updateAppGroups) {\n\t\t\t\tthis.store.updateAppGroups(this.app.id, currentGroups)\n\t\t\t}\n\n\t\t\tif (currentGroups.length === 0) {\n\t\t\t\tthis.groupCheckedAppsData = false\n\t\t\t}\n\n\t\t\tthis.$store.dispatch('enableApp', { appId: this.app.id, groups: currentGroups })\n\t\t},\n\t\tforceEnable(appId) {\n\t\t\tif (this.app?.app_api) {\n\t\t\t\tthis.appApiStore.forceEnableApp(appId)\n\t\t\t\t\t.then(() => { rebuildNavigation() })\n\t\t\t\t\t.catch((error) => { showError(error) })\n\t\t\t} else {\n\t\t\t\tthis.$store.dispatch('forceEnableApp', { appId, groups: [] })\n\t\t\t\t\t.then(() => { rebuildNavigation() })\n\t\t\t\t\t.catch((error) => { showError(error) })\n\t\t\t}\n\t\t},\n\t\tenable(appId, daemon = null, deployOptions = {}) {\n\t\t\tif (this.app?.app_api) {\n\t\t\t\tthis.appApiStore.enableApp(appId, daemon, deployOptions)\n\t\t\t\t\t.then(() => { rebuildNavigation() })\n\t\t\t\t\t.catch((error) => { showError(error) })\n\t\t\t} else {\n\t\t\t\tthis.$store.dispatch('enableApp', { appId, groups: [] })\n\t\t\t\t\t.then(() => { rebuildNavigation() })\n\t\t\t\t\t.catch((error) => { showError(error) })\n\t\t\t}\n\t\t},\n\t\tdisable(appId) {\n\t\t\tif (this.app?.app_api) {\n\t\t\t\tthis.appApiStore.disableApp(appId)\n\t\t\t\t\t.then(() => { rebuildNavigation() })\n\t\t\t\t\t.catch((error) => { showError(error) })\n\t\t\t} else {\n\t\t\t\tthis.$store.dispatch('disableApp', { appId })\n\t\t\t\t\t.then(() => { rebuildNavigation() })\n\t\t\t\t\t.catch((error) => { showError(error) })\n\t\t\t}\n\t\t},\n\t\tasync remove(appId, removeData = false) {\n\t\t\ttry {\n\t\t\t\tif (this.app?.app_api) {\n\t\t\t\t\tawait this.appApiStore.uninstallApp(appId, removeData)\n\t\t\t\t} else {\n\t\t\t\t\tawait this.$store.dispatch('uninstallApp', { appId, removeData })\n\t\t\t\t}\n\t\t\t\tawait rebuildNavigation()\n\t\t\t} catch (error) {\n\t\t\t\tshowError(error)\n\t\t\t}\n\t\t},\n\t\tinstall(appId) {\n\t\t\tif (this.app?.app_api) {\n\t\t\t\tthis.appApiStore.enableApp(appId)\n\t\t\t\t\t.then(() => { rebuildNavigation() })\n\t\t\t\t\t.catch((error) => { showError(error) })\n\t\t\t} else {\n\t\t\t\tthis.$store.dispatch('enableApp', { appId })\n\t\t\t\t\t.then(() => { rebuildNavigation() })\n\t\t\t\t\t.catch((error) => { showError(error) })\n\t\t\t}\n\t\t},\n\t\tupdate(appId) {\n\t\t\tif (this.app?.app_api) {\n\t\t\t\tthis.appApiStore.updateApp(appId)\n\t\t\t\t\t.then(() => { rebuildNavigation() })\n\t\t\t\t\t.catch((error) => { showError(error) })\n\t\t\t} else {\n\t\t\t\tthis.$store.dispatch('updateApp', { appId })\n\t\t\t\t\t.catch((error) => { showError(error) })\n\t\t\t\t\t.then(() => {\n\t\t\t\t\t\trebuildNavigation()\n\t\t\t\t\t\tthis.store.updateCount = Math.max(this.store.updateCount - 1, 0)\n\t\t\t\t\t})\n\t\t\t}\n\t\t},\n\t},\n}\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (_setup.showSidebar)?_c(_setup.NcAppSidebar,{staticClass:\"app-sidebar\",class:{ 'app-sidebar--with-screenshot': _setup.hasScreenshot },attrs:{\"active\":_setup.activeTab,\"background\":_setup.hasScreenshot ? _setup.app.screenshot : undefined,\"compact\":!_setup.hasScreenshot,\"name\":_setup.app.name,\"title\":_setup.app.name,\"subname\":_setup.licenseText,\"subtitle\":_setup.licenseText},on:{\"update:active\":function($event){_setup.activeTab=$event},\"close\":_setup.hideAppDetails},scopedSlots:_vm._u([(!_setup.hasScreenshot)?{key:\"header\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{staticClass:\"app-sidebar__fallback-icon\",attrs:{\"svg\":_setup.appIcon ?? '',\"size\":64}})]},proxy:true}:null,{key:\"description\",fn:function(){return [_c('div',{staticClass:\"app-sidebar__badges\"},[_c(_setup.AppLevelBadge,{attrs:{\"level\":_setup.app.level}}),_vm._v(\" \"),(_setup.app.app_api && _setup.app.daemon)?_c(_setup.AppDaemonBadge,{attrs:{\"daemon\":_setup.app.daemon}}):_vm._e(),_vm._v(\" \"),(_setup.hasRating)?_c(_setup.AppScore,{attrs:{\"score\":_setup.rating}}):_vm._e()],1)]},proxy:true}],null,true)},[_vm._v(\" \"),_vm._v(\" \"),_c(_setup.AppDescriptionTab,{attrs:{\"app\":_setup.app}}),_vm._v(\" \"),_c(_setup.AppDetailsTab,{attrs:{\"app\":_setup.app}}),_vm._v(\" \"),_c(_setup.AppReleasesTab,{attrs:{\"app\":_setup.app}}),_vm._v(\" \"),_c(_setup.AppDeployDaemonTab,{attrs:{\"app\":_setup.app}})],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (_vm.daemon)?_c('span',{staticClass:\"app-daemon-badge\",attrs:{\"title\":_vm.daemon.name}},[_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.mdiFileChart,\"size\":20,\"inline\":\"\"}}),_vm._v(\"\\n\\t\"+_vm._s(_vm.daemon.display_name)+\"\\n\")],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDaemonBadge.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDaemonBadge.vue?vue&type=script&setup=true&lang=ts\"","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDaemonBadge.vue?vue&type=style&index=0&id=d2263fb4&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDaemonBadge.vue?vue&type=style&index=0&id=d2263fb4&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppDaemonBadge.vue?vue&type=template&id=d2263fb4&scoped=true\"\nimport script from \"./AppDaemonBadge.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AppDaemonBadge.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./AppDaemonBadge.vue?vue&type=style&index=0&id=d2263fb4&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"d2263fb4\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (_vm.app?.daemon)?_c(_setup.NcAppSidebarTab,{attrs:{\"id\":\"daemon\",\"name\":_vm.t('settings', 'Daemon'),\"order\":3},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.mdiFileChart,\"size\":24}})]},proxy:true}],null,false,1746493066)},[_vm._v(\" \"),_c('div',{staticClass:\"daemon\"},[_c('h4',[_vm._v(_vm._s(_vm.t('settings', 'Deploy Daemon')))]),_vm._v(\" \"),_c('p',[_c('b',[_vm._v(_vm._s(_vm.t('settings', 'Type')))]),_vm._v(\": \"+_vm._s(_vm.app?.daemon.accepts_deploy_id))]),_vm._v(\" \"),_c('p',[_c('b',[_vm._v(_vm._s(_vm.t('settings', 'Name')))]),_vm._v(\": \"+_vm._s(_vm.app?.daemon.name))]),_vm._v(\" \"),_c('p',[_c('b',[_vm._v(_vm._s(_vm.t('settings', 'Display Name')))]),_vm._v(\": \"+_vm._s(_vm.app?.daemon.display_name))]),_vm._v(\" \"),_c('p',[_c('b',[_vm._v(_vm._s(_vm.t('settings', 'GPUs support')))]),_vm._v(\": \"+_vm._s(_setup.gpuSupport))]),_vm._v(\" \"),_c('p',[_c('b',[_vm._v(_vm._s(_vm.t('settings', 'Compute device')))]),_vm._v(\": \"+_vm._s(_vm.app?.daemon?.deploy_config?.computeDevice?.label))])])]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDeployDaemonTab.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDeployDaemonTab.vue?vue&type=script&setup=true&lang=ts\"","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDeployDaemonTab.vue?vue&type=style&index=0&id=28419269&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDeployDaemonTab.vue?vue&type=style&index=0&id=28419269&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppDeployDaemonTab.vue?vue&type=template&id=28419269&scoped=true\"\nimport script from \"./AppDeployDaemonTab.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AppDeployDaemonTab.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./AppDeployDaemonTab.vue?vue&type=style&index=0&id=28419269&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"28419269\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c(_setup.NcAppSidebarTab,{attrs:{\"id\":\"desc\",\"name\":_setup.t('settings', 'Description'),\"order\":0},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.mdiTextShort}})]},proxy:true}])},[_vm._v(\" \"),_c('div',{staticClass:\"app-description\"},[_c(_setup.Markdown,{attrs:{\"text\":_vm.app.description,\"min-heading\":4}})],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Markdown.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Markdown.vue?vue&type=script&lang=js\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Markdown.vue?vue&type=style&index=0&id=62ec0d6b&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Markdown.vue?vue&type=style&index=0&id=62ec0d6b&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./Markdown.vue?vue&type=template&id=62ec0d6b&scoped=true\"\nimport script from \"./Markdown.vue?vue&type=script&lang=js\"\nexport * from \"./Markdown.vue?vue&type=script&lang=js\"\nimport style0 from \"./Markdown.vue?vue&type=style&index=0&id=62ec0d6b&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"62ec0d6b\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"settings-markdown\",domProps:{\"innerHTML\":_vm._s(_vm.renderMarkdown)}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDescriptionTab.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDescriptionTab.vue?vue&type=script&setup=true&lang=ts\"","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDescriptionTab.vue?vue&type=style&index=0&id=1d5b4408&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDescriptionTab.vue?vue&type=style&index=0&id=1d5b4408&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppDescriptionTab.vue?vue&type=template&id=1d5b4408&scoped=true\"\nimport script from \"./AppDescriptionTab.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AppDescriptionTab.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./AppDescriptionTab.vue?vue&type=style&index=0&id=1d5b4408&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1d5b4408\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('NcAppSidebarTab',{attrs:{\"id\":\"details\",\"name\":_vm.t('settings', 'Details'),\"order\":1},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{attrs:{\"path\":_vm.mdiTextBoxOutline}})]},proxy:true}])},[_vm._v(\" \"),_c('div',{staticClass:\"app-details\"},[_c('div',{staticClass:\"app-details__actions\"},[(_vm.app.active && _vm.canLimitToGroups(_vm.app))?_c('div',{staticClass:\"app-details__actions-groups\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.groupCheckedAppsData),expression:\"groupCheckedAppsData\"}],staticClass:\"groups-enable__checkbox checkbox\",attrs:{\"id\":`groups_enable_${_vm.app.id}`,\"type\":\"checkbox\"},domProps:{\"value\":_vm.app.id,\"checked\":Array.isArray(_vm.groupCheckedAppsData)?_vm._i(_vm.groupCheckedAppsData,_vm.app.id)>-1:(_vm.groupCheckedAppsData)},on:{\"change\":[function($event){var $$a=_vm.groupCheckedAppsData,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=_vm.app.id,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.groupCheckedAppsData=$$a.concat([$$v]))}else{$$i>-1&&(_vm.groupCheckedAppsData=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.groupCheckedAppsData=$$c}},_vm.setGroupLimit]}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":`groups_enable_${_vm.app.id}`}},[_vm._v(_vm._s(_vm.t('settings', 'Limit to groups')))]),_vm._v(\" \"),_c('input',{staticClass:\"group_select\",attrs:{\"type\":\"hidden\",\"title\":_vm.t('settings', 'All'),\"value\":\"\"}}),_vm._v(\" \"),_c('br'),_vm._v(\" \"),_c('label',{attrs:{\"for\":\"limitToGroups\"}},[_c('span',[_vm._v(_vm._s(_vm.t('settings', 'Limit app usage to groups')))])]),_vm._v(\" \"),(_vm.isLimitedToGroups(_vm.app))?_c('NcSelect',{attrs:{\"input-id\":\"limitToGroups\",\"options\":_vm.groups,\"model-value\":_vm.appGroups,\"limit\":5,\"label\":\"name\",\"multiple\":true,\"keep-open\":\"\"},on:{\"option:selected\":_vm.addGroupLimitation,\"option:deselected\":_vm.removeGroupLimitation,\"search\":_vm.asyncFindGroup}},[_c('span',{attrs:{\"slot\":\"noResult\"},slot:\"noResult\"},[_vm._v(_vm._s(_vm.t('settings', 'No results')))])]):_vm._e()],1):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"app-details__actions-manage\"},[(_vm.app.update)?_c('input',{staticClass:\"update primary\",attrs:{\"type\":\"button\",\"value\":_vm.t('settings', 'Update to {version}', { version: _vm.app.update }),\"disabled\":_vm.installing || _vm.isLoading || _vm.isManualInstall},on:{\"click\":function($event){return _vm.update(_vm.app.id)}}}):_vm._e(),_vm._v(\" \"),(_vm.app.canUnInstall)?_c('input',{staticClass:\"uninstall\",attrs:{\"type\":\"button\",\"value\":_vm.t('settings', 'Remove'),\"disabled\":_vm.installing || _vm.isLoading},on:{\"click\":function($event){return _vm.remove(_vm.app.id, _vm.removeData)}}}):_vm._e(),_vm._v(\" \"),(_vm.app.active)?_c('input',{staticClass:\"enable\",attrs:{\"type\":\"button\",\"value\":_vm.disableButtonText,\"disabled\":_vm.installing || _vm.isLoading || _vm.isInitializing || _vm.isDeploying},on:{\"click\":function($event){return _vm.disable(_vm.app.id)}}}):_vm._e(),_vm._v(\" \"),(!_vm.app.active && (_vm.app.canInstall || _vm.app.isCompatible))?_c('input',{staticClass:\"enable primary\",attrs:{\"title\":_vm.enableButtonTooltip,\"aria-label\":_vm.enableButtonTooltip,\"type\":\"button\",\"value\":_vm.enableButtonText,\"disabled\":!_vm.app.canInstall || _vm.installing || _vm.isLoading || !_vm.defaultDeployDaemonAccessible || _vm.isInitializing || _vm.isDeploying},on:{\"click\":_vm.enableButtonAction}}):(!_vm.app.active && !_vm.app.canInstall)?_c('input',{staticClass:\"enable force\",attrs:{\"title\":_vm.forceEnableButtonTooltip,\"aria-label\":_vm.forceEnableButtonTooltip,\"type\":\"button\",\"value\":_vm.forceEnableButtonText,\"disabled\":_vm.installing || _vm.isLoading},on:{\"click\":function($event){return _vm.forceEnable(_vm.app.id)}}}):_vm._e(),_vm._v(\" \"),(_vm.app?.app_api && (_vm.app.canInstall || _vm.app.isCompatible))?_c('NcButton',{attrs:{\"aria-label\":_vm.t('settings', 'Advanced deploy options'),\"variant\":\"secondary\"},on:{\"click\":() => _vm.showDeployOptionsModal = true},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{attrs:{\"path\":_vm.mdiToyBrickPlusOutline}})]},proxy:true}],null,false,973660380)},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Deploy options'))+\"\\n\\t\\t\\t\\t\")]):_vm._e()],1),_vm._v(\" \"),(!_vm.defaultDeployDaemonAccessible)?_c('p',{staticClass:\"warning\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Default Deploy daemon is not accessible'))+\"\\n\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.app.canUnInstall)?_c('NcCheckboxRadioSwitch',{attrs:{\"model-value\":_vm.removeData,\"disabled\":_vm.installing || _vm.isLoading || !_vm.defaultDeployDaemonAccessible},on:{\"update:modelValue\":_vm.toggleRemoveData}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Delete data on remove'))+\"\\n\\t\\t\\t\")]):_vm._e()],1),_vm._v(\" \"),_c('ul',{staticClass:\"app-details__dependencies\"},[(_vm.app.missingMinOwnCloudVersion)?_c('li',[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'This app has no minimum {productName} version assigned. This will be an error in the future.', { productName: _vm.productName }))+\"\\n\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.app.missingMaxOwnCloudVersion)?_c('li',[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'This app has no maximum {productName} version assigned. This will be an error in the future.', { productName: _vm.productName }))+\"\\n\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),(!_vm.app.canInstall)?_c('li',[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'This app cannot be installed because the following dependencies are not fulfilled:'))+\"\\n\\t\\t\\t\\t\"),_c('ul',{staticClass:\"missing-dependencies\"},_vm._l((_vm.app.missingDependencies),function(dep,index){return _c('li',{key:index},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(dep)+\"\\n\\t\\t\\t\\t\\t\")])}),0)]):_vm._e()]),_vm._v(\" \"),(_vm.lastModified && !_vm.app.shipped)?_c('div',{staticClass:\"app-details__section\"},[_c('h4',[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Latest updated'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcDateTime',{attrs:{\"timestamp\":_vm.lastModified}})],1):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"app-details__section\"},[_c('h4',[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Author'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('p',{staticClass:\"app-details__authors\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.appAuthors)+\"\\n\\t\\t\\t\")])]),_vm._v(\" \"),_c('div',{staticClass:\"app-details__section\"},[_c('h4',[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Categories'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.appCategories)+\"\\n\\t\\t\\t\")])]),_vm._v(\" \"),(_vm.externalResources.length > 0)?_c('div',{staticClass:\"app-details__section\"},[_c('h4',[_vm._v(_vm._s(_vm.t('settings', 'Resources')))]),_vm._v(\" \"),_c('ul',{staticClass:\"app-details__documentation\",attrs:{\"aria-label\":_vm.t('settings', 'Documentation')}},_vm._l((_vm.externalResources),function(resource){return _c('li',{key:resource.id},[_c('a',{staticClass:\"appslink\",attrs:{\"href\":resource.href,\"target\":\"_blank\",\"rel\":\"noreferrer noopener\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(resource.label)+\" ↗\\n\\t\\t\\t\\t\\t\")])])}),0)]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"app-details__section\"},[_c('h4',[_vm._v(_vm._s(_vm.t('settings', 'Interact')))]),_vm._v(\" \"),_c('div',{staticClass:\"app-details__interact\"},[_c('NcButton',{attrs:{\"disabled\":!_vm.app.bugs,\"href\":_vm.app.bugs ?? '#',\"aria-label\":_vm.t('settings', 'Report a bug'),\"title\":_vm.t('settings', 'Report a bug')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{attrs:{\"path\":_vm.mdiBugOutline}})]},proxy:true}])}),_vm._v(\" \"),_c('NcButton',{attrs:{\"disabled\":!_vm.app.bugs,\"href\":_vm.app.bugs ?? '#',\"aria-label\":_vm.t('settings', 'Request feature'),\"title\":_vm.t('settings', 'Request feature')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{attrs:{\"path\":_vm.mdiFeatureSearchOutline}})]},proxy:true}])}),_vm._v(\" \"),(_vm.app.appstoreData?.discussion)?_c('NcButton',{attrs:{\"href\":_vm.app.appstoreData.discussion,\"aria-label\":_vm.t('settings', 'Ask questions or discuss'),\"title\":_vm.t('settings', 'Ask questions or discuss')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{attrs:{\"path\":_vm.mdiTooltipQuestionOutline}})]},proxy:true}],null,false,88743630)}):_vm._e(),_vm._v(\" \"),(!_vm.app.internal)?_c('NcButton',{attrs:{\"href\":_vm.rateAppUrl,\"aria-label\":_vm.t('settings', 'Rate the app'),\"title\":_vm.t('settings', 'Rate')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{attrs:{\"path\":_vm.mdiStar}})]},proxy:true}],null,false,422450625)}):_vm._e()],1)]),_vm._v(\" \"),(_vm.app?.app_api)?_c('AppDeployOptionsModal',{attrs:{\"show\":_vm.showDeployOptionsModal,\"app\":_vm.app},on:{\"update:show\":function($event){_vm.showDeployOptionsModal=$event}}}):_vm._e(),_vm._v(\" \"),(_vm.app?.app_api)?_c('DaemonSelectionDialog',{attrs:{\"show\":_vm.showSelectDaemonModal,\"app\":_vm.app,\"deploy-options\":_vm.deployOptions},on:{\"update:show\":function($event){_vm.showSelectDaemonModal=$event}}}):_vm._e()],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDeployOptionsModal.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDeployOptionsModal.vue?vue&type=script&lang=js\"","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDeployOptionsModal.vue?vue&type=style&index=0&id=c83c3eca&prod&scoped=true&lang=css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDeployOptionsModal.vue?vue&type=style&index=0&id=c83c3eca&prod&scoped=true&lang=css\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppDeployOptionsModal.vue?vue&type=template&id=c83c3eca&scoped=true\"\nimport script from \"./AppDeployOptionsModal.vue?vue&type=script&lang=js\"\nexport * from \"./AppDeployOptionsModal.vue?vue&type=script&lang=js\"\nimport style0 from \"./AppDeployOptionsModal.vue?vue&type=style&index=0&id=c83c3eca&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"c83c3eca\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('NcDialog',{attrs:{\"open\":_vm.show,\"size\":\"normal\",\"name\":_vm.t('settings', 'Advanced deploy options')},on:{\"update:open\":function($event){return _vm.$emit('update:show', $event)}},scopedSlots:_vm._u([(!_vm.app.active && (_vm.app.canInstall || _vm.app.isCompatible) && _vm.configuredDeployOptions === null)?{key:\"actions\",fn:function(){return [_c('NcButton',{attrs:{\"title\":_vm.enableButtonTooltip,\"aria-label\":_vm.enableButtonTooltip,\"variant\":\"primary\",\"disabled\":!_vm.app.canInstall || _vm.installing || _vm.isLoading || !_vm.defaultDeployDaemonAccessible || _vm.isInitializing || _vm.isDeploying},on:{\"click\":function($event){$event.stopPropagation();return _vm.submitDeployOptions.apply(null, arguments)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.enableButtonText)+\"\\n\\t\\t\")])]},proxy:true}:null],null,true)},[_c('div',{staticClass:\"modal__content\"},[_c('p',{staticClass:\"deploy-option__hint\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.configuredDeployOptions === null ? _vm.t('settings', 'Edit ExApp deploy options before installation') : _vm.t('settings', 'Configured ExApp deploy options. Can be set only during installation'))+\".\\n\\t\\t\\t\"),(_vm.deployOptionsDocsUrl)?_c('a',{attrs:{\"href\":_vm.deployOptionsDocsUrl}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Learn more'))+\"\\n\\t\\t\\t\")]):_vm._e()]),_vm._v(\" \"),(_vm.environmentVariables.length > 0 || (_vm.configuredDeployOptions !== null && _vm.configuredDeployOptions.environment_variables.length > 0))?_c('h3',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Environment variables'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.configuredDeployOptions === null)?_vm._l((_vm.environmentVariables),function(envVar){return _c('div',{key:envVar.envName,staticClass:\"deploy-option\"},[_c('NcTextField',{attrs:{\"label\":envVar.displayName},model:{value:(_vm.deployOptions.environment_variables[envVar.envName]),callback:function ($$v) {_vm.$set(_vm.deployOptions.environment_variables, envVar.envName, $$v)},expression:\"deployOptions.environment_variables[envVar.envName]\"}}),_vm._v(\" \"),_c('p',{staticClass:\"deploy-option__hint\"},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(envVar.description)+\"\\n\\t\\t\\t\\t\")])],1)}):(Object.keys(_vm.configuredDeployOptions).length > 0)?_c('fieldset',{staticClass:\"envs\"},[_c('legend',{staticClass:\"deploy-option__hint\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'ExApp container environment variables'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_vm._l((_vm.configuredDeployOptions.environment_variables),function(value,key){return _c('NcTextField',{key:key,attrs:{\"label\":value.displayName ?? key,\"helper-text\":value.description,\"model-value\":value.value,\"readonly\":\"\"}})})],2):[_c('p',{staticClass:\"deploy-option__hint\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'No environment variables defined'))+\"\\n\\t\\t\\t\")])],_vm._v(\" \"),_c('h3',[_vm._v(_vm._s(_vm.t('settings', 'Mounts')))]),_vm._v(\" \"),(_vm.configuredDeployOptions === null)?[_c('p',{staticClass:\"deploy-option__hint\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Define host folder mounts to bind to the ExApp container'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcNoteCard',{attrs:{\"type\":\"info\",\"text\":_vm.t('settings', 'Must exist on the Deploy daemon host prior to installing the ExApp')}}),_vm._v(\" \"),_vm._l((_vm.deployOptions.mounts),function(mount){return _c('div',{key:mount.hostPath,staticClass:\"deploy-option\",staticStyle:{\"display\":\"flex\",\"align-items\":\"center\",\"justify-content\":\"space-between\",\"flex-direction\":\"row\"}},[_c('NcTextField',{attrs:{\"label\":_vm.t('settings', 'Host path')},model:{value:(mount.hostPath),callback:function ($$v) {_vm.$set(mount, \"hostPath\", $$v)},expression:\"mount.hostPath\"}}),_vm._v(\" \"),_c('NcTextField',{attrs:{\"label\":_vm.t('settings', 'Container path')},model:{value:(mount.containerPath),callback:function ($$v) {_vm.$set(mount, \"containerPath\", $$v)},expression:\"mount.containerPath\"}}),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{model:{value:(mount.readonly),callback:function ($$v) {_vm.$set(mount, \"readonly\", $$v)},expression:\"mount.readonly\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Read-only'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('NcButton',{staticStyle:{\"margin-top\":\"6px\"},attrs:{\"aria-label\":_vm.t('settings', 'Remove mount')},on:{\"click\":function($event){return _vm.removeMount(mount)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{attrs:{\"path\":_vm.mdiDeleteOutline}})]},proxy:true}],null,true)})],1)}),_vm._v(\" \"),(_vm.addingMount)?_c('div',{staticClass:\"deploy-option\"},[_c('h4',[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'New mount'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('div',{staticStyle:{\"display\":\"flex\",\"align-items\":\"center\",\"justify-content\":\"space-between\",\"flex-direction\":\"row\"}},[_c('NcTextField',{ref:\"newMountHostPath\",attrs:{\"label\":_vm.t('settings', 'Host path'),\"aria-label\":_vm.t('settings', 'Enter path to host folder')},model:{value:(_vm.newMountPoint.hostPath),callback:function ($$v) {_vm.$set(_vm.newMountPoint, \"hostPath\", $$v)},expression:\"newMountPoint.hostPath\"}}),_vm._v(\" \"),_c('NcTextField',{attrs:{\"label\":_vm.t('settings', 'Container path'),\"aria-label\":_vm.t('settings', 'Enter path to container folder')},model:{value:(_vm.newMountPoint.containerPath),callback:function ($$v) {_vm.$set(_vm.newMountPoint, \"containerPath\", $$v)},expression:\"newMountPoint.containerPath\"}}),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"aria-label\":_vm.t('settings', 'Toggle read-only mode')},model:{value:(_vm.newMountPoint.readonly),callback:function ($$v) {_vm.$set(_vm.newMountPoint, \"readonly\", $$v)},expression:\"newMountPoint.readonly\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Read-only'))+\"\\n\\t\\t\\t\\t\\t\")])],1),_vm._v(\" \"),_c('div',{staticStyle:{\"display\":\"flex\",\"align-items\":\"center\",\"margin-top\":\"4px\"}},[_c('NcButton',{attrs:{\"aria-label\":_vm.t('settings', 'Confirm adding new mount')},on:{\"click\":_vm.addMountPoint},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{attrs:{\"path\":_vm.mdiCheck}})]},proxy:true}],null,false,1018299955)},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Confirm'))+\"\\n\\t\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('NcButton',{staticStyle:{\"margin-left\":\"4px\"},attrs:{\"aria-label\":_vm.t('settings', 'Cancel adding mount')},on:{\"click\":_vm.cancelAddMountPoint},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{attrs:{\"path\":_vm.mdiClose}})]},proxy:true}],null,false,2764082467)},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Cancel'))+\"\\n\\t\\t\\t\\t\\t\")])],1)]):_vm._e(),_vm._v(\" \"),(!_vm.addingMount)?_c('NcButton',{staticStyle:{\"margin-top\":\"5px\"},attrs:{\"aria-label\":_vm.t('settings', 'Add mount')},on:{\"click\":_vm.startAddingMount},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{attrs:{\"path\":_vm.mdiPlus}})]},proxy:true}],null,false,103601839)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Add mount'))+\"\\n\\t\\t\\t\")]):_vm._e()]:(_vm.configuredDeployOptions.mounts.length > 0)?[_c('p',{staticClass:\"deploy-option__hint\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'ExApp container mounts'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_vm._l((_vm.configuredDeployOptions.mounts),function(mount){return _c('div',{key:mount.hostPath,staticClass:\"deploy-option\",staticStyle:{\"display\":\"flex\",\"align-items\":\"center\",\"justify-content\":\"space-between\",\"flex-direction\":\"row\"}},[_c('NcTextField',{attrs:{\"label\":_vm.t('settings', 'Host path'),\"readonly\":\"\"},model:{value:(mount.hostPath),callback:function ($$v) {_vm.$set(mount, \"hostPath\", $$v)},expression:\"mount.hostPath\"}}),_vm._v(\" \"),_c('NcTextField',{attrs:{\"label\":_vm.t('settings', 'Container path'),\"readonly\":\"\"},model:{value:(mount.containerPath),callback:function ($$v) {_vm.$set(mount, \"containerPath\", $$v)},expression:\"mount.containerPath\"}}),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"disabled\":\"\"},model:{value:(mount.readonly),callback:function ($$v) {_vm.$set(mount, \"readonly\", $$v)},expression:\"mount.readonly\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Read-only'))+\"\\n\\t\\t\\t\\t\")])],1)})]:_c('p',{staticClass:\"deploy-option__hint\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'No mounts defined'))+\"\\n\\t\\t\")])],2)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDetailsTab.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDetailsTab.vue?vue&type=script&lang=js\"","\n\n\n\n\n\n\n","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDetailsTab.vue?vue&type=style&index=0&id=f0515084&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDetailsTab.vue?vue&type=style&index=0&id=f0515084&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppDetailsTab.vue?vue&type=template&id=f0515084&scoped=true\"\nimport script from \"./AppDetailsTab.vue?vue&type=script&lang=js\"\nexport * from \"./AppDetailsTab.vue?vue&type=script&lang=js\"\nimport style0 from \"./AppDetailsTab.vue?vue&type=style&index=0&id=f0515084&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"f0515084\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppReleasesTab.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppReleasesTab.vue?vue&type=script&setup=true&lang=ts\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (_setup.hasChangelog)?_c(_setup.NcAppSidebarTab,{attrs:{\"id\":\"changelog\",\"name\":_setup.t('settings', 'Changelog'),\"order\":2},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.mdiClockFast,\"size\":24}})]},proxy:true}],null,false,1849836872)},[_vm._v(\" \"),_vm._l((_vm.app.releases),function(release){return _c('div',{key:release.version,staticClass:\"app-sidebar-tabs__release\"},[_c('h2',[_vm._v(_vm._s(release.version))]),_vm._v(\" \"),_c(_setup.Markdown,{staticClass:\"app-sidebar-tabs__release-text\",attrs:{\"text\":_setup.createChangelogFromRelease(release)}})],1)})],2):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppReleasesTab.vue?vue&type=style&index=0&id=69f0fc16&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppReleasesTab.vue?vue&type=style&index=0&id=69f0fc16&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppReleasesTab.vue?vue&type=template&id=69f0fc16&scoped=true\"\nimport script from \"./AppReleasesTab.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AppReleasesTab.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./AppReleasesTab.vue?vue&type=style&index=0&id=69f0fc16&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"69f0fc16\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppStoreSidebar.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppStoreSidebar.vue?vue&type=script&setup=true&lang=ts\"","import { mdiCog, mdiCogOutline } from '@mdi/js';\nimport { computed, ref, watchEffect } from 'vue';\nimport AppstoreCategoryIcons from '../constants/AppstoreCategoryIcons.ts';\nimport logger from '../logger.ts';\n/**\n * Get the app icon raw SVG for use with `NcIconSvgWrapper` (do never use without sanitizing)\n * It has a fallback to the categroy icon.\n *\n * @param app The app to get the icon for\n */\nexport function useAppIcon(app) {\n const appIcon = ref(null);\n /**\n * Fallback value if no app icon available\n */\n const categoryIcon = computed(() => {\n let path;\n if (app.value?.app_api) {\n // Use different default icon for ExApps (AppAPI)\n path = mdiCogOutline;\n }\n else {\n path = [app.value?.category ?? []].flat()\n .map((name) => AppstoreCategoryIcons[name])\n .filter((icon) => !!icon)\n .at(0)\n ?? (!app.value?.app_api ? mdiCog : mdiCogOutline);\n }\n return path ? `` : null;\n });\n watchEffect(async () => {\n // Note: Only variables until the first `await` will be watched!\n if (!app.value?.preview) {\n appIcon.value = categoryIcon.value;\n }\n else {\n appIcon.value = null;\n // Now try to load the real app icon\n try {\n const response = await window.fetch(app.value.preview);\n const blob = await response.blob();\n const rawSvg = await blob.text();\n appIcon.value = rawSvg.replaceAll(/fill=\"#(fff|ffffff)([a-z0-9]{1,2})?\"/ig, 'fill=\"currentColor\"');\n }\n catch (error) {\n appIcon.value = categoryIcon.value;\n logger.error('Could not load app icon', { error });\n }\n }\n });\n return {\n appIcon,\n };\n}\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppStoreSidebar.vue?vue&type=style&index=0&id=156b7c7b&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppStoreSidebar.vue?vue&type=style&index=0&id=156b7c7b&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppStoreSidebar.vue?vue&type=template&id=156b7c7b&scoped=true\"\nimport script from \"./AppStoreSidebar.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AppStoreSidebar.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./AppStoreSidebar.vue?vue&type=style&index=0&id=156b7c7b&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"156b7c7b\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c(_setup.NcAppNavigation,{attrs:{\"aria-label\":_setup.t('settings', 'Apps')},scopedSlots:_vm._u([{key:\"list\",fn:function(){return [(_setup.appstoreEnabled)?_c(_setup.NcAppNavigationItem,{attrs:{\"id\":\"app-category-discover\",\"to\":{ name: 'apps-category', params: { category: 'discover' } },\"name\":_setup.APPS_SECTION_ENUM.discover},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.APPSTORE_CATEGORY_ICONS.discover}})]},proxy:true}],null,false,1397544286)}):_vm._e(),_vm._v(\" \"),_c(_setup.NcAppNavigationItem,{attrs:{\"id\":\"app-category-installed\",\"to\":{ name: 'apps-category', params: { category: 'installed' } },\"name\":_setup.APPS_SECTION_ENUM.installed},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.APPSTORE_CATEGORY_ICONS.installed}})]},proxy:true}])}),_vm._v(\" \"),_c(_setup.NcAppNavigationItem,{attrs:{\"id\":\"app-category-enabled\",\"to\":{ name: 'apps-category', params: { category: 'enabled' } },\"name\":_setup.APPS_SECTION_ENUM.enabled},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.APPSTORE_CATEGORY_ICONS.enabled}})]},proxy:true}])}),_vm._v(\" \"),_c(_setup.NcAppNavigationItem,{attrs:{\"id\":\"app-category-disabled\",\"to\":{ name: 'apps-category', params: { category: 'disabled' } },\"name\":_setup.APPS_SECTION_ENUM.disabled},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.APPSTORE_CATEGORY_ICONS.disabled}})]},proxy:true}])}),_vm._v(\" \"),(_setup.store.updateCount > 0)?_c(_setup.NcAppNavigationItem,{attrs:{\"id\":\"app-category-updates\",\"to\":{ name: 'apps-category', params: { category: 'updates' } },\"name\":_setup.APPS_SECTION_ENUM.updates},scopedSlots:_vm._u([{key:\"counter\",fn:function(){return [_c(_setup.NcCounterBubble,[_vm._v(_vm._s(_setup.store.updateCount))])]},proxy:true},{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.APPSTORE_CATEGORY_ICONS.updates}})]},proxy:true}],null,false,3001044337)}):_vm._e(),_vm._v(\" \"),_c(_setup.NcAppNavigationItem,{attrs:{\"id\":\"app-category-your-bundles\",\"to\":{ name: 'apps-category', params: { category: 'app-bundles' } },\"name\":_setup.APPS_SECTION_ENUM['app-bundles']},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.APPSTORE_CATEGORY_ICONS.bundles}})]},proxy:true}])}),_vm._v(\" \"),_c(_setup.NcAppNavigationSpacer),_vm._v(\" \"),(_setup.appstoreEnabled && _setup.categoriesLoading)?_c('li',{staticClass:\"categories--loading\"},[_c(_setup.NcLoadingIcon,{attrs:{\"size\":20,\"aria-label\":_setup.t('settings', 'Loading categories')}})],1):(_setup.appstoreEnabled && !_setup.categoriesLoading)?[(_setup.isSubscribed)?_c(_setup.NcAppNavigationItem,{attrs:{\"id\":\"app-category-supported\",\"to\":{ name: 'apps-category', params: { category: 'supported' } },\"name\":_setup.APPS_SECTION_ENUM.supported},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.APPSTORE_CATEGORY_ICONS.supported}})]},proxy:true}],null,false,613663011)}):_vm._e(),_vm._v(\" \"),_c(_setup.NcAppNavigationItem,{attrs:{\"id\":\"app-category-featured\",\"to\":{ name: 'apps-category', params: { category: 'featured' } },\"name\":_setup.APPS_SECTION_ENUM.featured},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.APPSTORE_CATEGORY_ICONS.featured}})]},proxy:true}])}),_vm._v(\" \"),_vm._l((_setup.categories),function(category){return _c(_setup.NcAppNavigationItem,{key:category.id,attrs:{\"id\":`app-category-${category.id}`,\"name\":category.displayName,\"to\":{\n\t\t\t\t\tname: 'apps-category',\n\t\t\t\t\tparams: { category: category.id },\n\t\t\t\t}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":category.icon}})]},proxy:true}],null,true)})})]:_vm._e(),_vm._v(\" \"),_c(_setup.NcAppNavigationItem,{attrs:{\"id\":\"app-developer-docs\",\"name\":_setup.t('settings', 'Developer documentation ↗'),\"href\":_setup.developerDocsUrl}})]},proxy:true}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppStoreNavigation.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppStoreNavigation.vue?vue&type=script&setup=true&lang=ts\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppStoreNavigation.vue?vue&type=style&index=0&id=6d2cb244&prod&scoped=true&lang=css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppStoreNavigation.vue?vue&type=style&index=0&id=6d2cb244&prod&scoped=true&lang=css\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppStoreNavigation.vue?vue&type=template&id=6d2cb244&scoped=true\"\nimport script from \"./AppStoreNavigation.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AppStoreNavigation.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./AppStoreNavigation.vue?vue&type=style&index=0&id=6d2cb244&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6d2cb244\",\n null\n \n)\n\nexport default component.exports","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.app-sidebar-tabs__release h2[data-v-69f0fc16]{border-bottom:1px solid var(--color-border);font-size:24px}.app-sidebar-tabs__release-text[data-v-69f0fc16] h3{font-size:20px}.app-sidebar-tabs__release-text[data-v-69f0fc16] h4{font-size:17px}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/AppStoreSidebar/AppReleasesTab.vue\"],\"names\":[],\"mappings\":\"AAEC,+CACC,2CAAA,CACA,cAAA,CAKA,oDACC,cAAA,CAED,oDACC,cAAA\",\"sourcesContent\":[\"\\n.app-sidebar-tabs__release {\\n\\th2 {\\n\\t\\tborder-bottom: 1px solid var(--color-border);\\n\\t\\tfont-size: 24px;\\n\\t}\\n\\n\\t&-text {\\n\\t\\t// Overwrite changelog heading styles\\n\\t\\t:deep(h3) {\\n\\t\\t\\tfont-size: 20px;\\n\\t\\t}\\n\\t\\t:deep(h4) {\\n\\t\\t\\tfont-size: 17px;\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.app-level-badge[data-v-11da8cb3]{color:var(--color-text-maxcontrast);background-color:rgba(0,0,0,0);border:1px solid var(--color-text-maxcontrast);border-radius:var(--border-radius);display:flex;flex-direction:row;gap:6px;padding:3px 6px;width:fit-content}.app-level-badge--supported[data-v-11da8cb3]{background-color:var(--color-success);border-color:var(--color-border-success);color:var(--color-success-text)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/AppList/AppLevelBadge.vue\"],\"names\":[],\"mappings\":\"AACA,kCACC,mCAAA,CACA,8BAAA,CACA,8CAAA,CACA,kCAAA,CAEA,YAAA,CACA,kBAAA,CACA,OAAA,CACA,eAAA,CACA,iBAAA,CAEA,6CACC,qCAAA,CACA,wCAAA,CACA,+BAAA\",\"sourcesContent\":[\"\\n.app-level-badge {\\n\\tcolor: var(--color-text-maxcontrast);\\n\\tbackground-color: transparent;\\n\\tborder: 1px solid var(--color-text-maxcontrast);\\n\\tborder-radius: var(--border-radius);\\n\\n\\tdisplay: flex;\\n\\tflex-direction: row;\\n\\tgap: 6px;\\n\\tpadding: 3px 6px;\\n\\twidth: fit-content;\\n\\n\\t&--supported {\\n\\t\\tbackground-color: var(--color-success);\\n\\t\\tborder-color: var(--color-border-success);\\n\\t\\tcolor: var(--color-success-text);\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.app-discover[data-v-32ad4b6a]{max-width:1008px;margin-inline:auto;padding-inline:54px;padding-block-end:var(--default-clickable-area, 44px);display:flex;flex-direction:column;gap:var(--default-clickable-area, 44px)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/AppStoreDiscover/AppStoreDiscoverSection.vue\"],\"names\":[],\"mappings\":\"AACA,+BACC,gBAAA,CACA,kBAAA,CACA,mBAAA,CAEA,qDAAA,CAEA,YAAA,CACA,qBAAA,CACA,uCAAA\",\"sourcesContent\":[\"\\n.app-discover {\\n\\tmax-width: 1008px; /* 900px + 2x 54px padding for the carousel controls */\\n\\tmargin-inline: auto;\\n\\tpadding-inline: 54px;\\n\\t/* Padding required to make last element not bound to the bottom */\\n\\tpadding-block-end: var(--default-clickable-area, 44px);\\n\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\tgap: var(--default-clickable-area, 44px);\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.app-details[data-v-f0515084]{padding:20px}.app-details__actions-manage[data-v-f0515084]{display:flex;align-items:center}.app-details__actions-manage input[data-v-f0515084]{flex:0 1 auto;min-width:0;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.app-details__authors[data-v-f0515084]{color:var(--color-text-maxcontrast)}.app-details__section[data-v-f0515084]{margin-top:15px}.app-details__section h4[data-v-f0515084]{font-size:16px;font-weight:bold;margin-block-end:5px}.app-details__interact[data-v-f0515084]{display:flex;flex-direction:row;flex-wrap:wrap;gap:12px}.app-details__documentation a[data-v-f0515084]{text-decoration:underline}.app-details__documentation li[data-v-f0515084]{padding-inline-start:20px}.app-details__documentation li[data-v-f0515084]::before{width:5px;height:5px;border-radius:100%;background-color:var(--color-main-text);content:\"\";float:inline-start;margin-inline-start:-13px;position:relative;top:10px}.force[data-v-f0515084]{color:var(--color-text-error);border-color:var(--color-border-error);background:var(--color-main-background)}.force[data-v-f0515084]:hover,.force[data-v-f0515084]:active{color:var(--color-main-background);border-color:var(--color-border-error) !important;background:var(--color-error)}.missing-dependencies[data-v-f0515084]{list-style:initial;list-style-type:initial;list-style-position:inside}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/AppStoreSidebar/AppDetailsTab.vue\"],\"names\":[],\"mappings\":\"AACA,8BACC,YAAA,CAIC,8CAEC,YAAA,CACA,kBAAA,CACA,oDACC,aAAA,CACA,WAAA,CACA,sBAAA,CACA,kBAAA,CACA,eAAA,CAIH,uCACC,mCAAA,CAGD,uCACC,eAAA,CAEA,0CACC,cAAA,CACA,gBAAA,CACA,oBAAA,CAIF,wCACC,YAAA,CACA,kBAAA,CACA,cAAA,CACA,QAAA,CAIA,+CACC,yBAAA,CAED,gDACC,yBAAA,CAEA,wDACC,SAAA,CACA,UAAA,CACA,kBAAA,CACA,uCAAA,CACA,UAAA,CACA,kBAAA,CACA,yBAAA,CACA,iBAAA,CACA,QAAA,CAMJ,wBACC,6BAAA,CACA,sCAAA,CACA,uCAAA,CAGD,6DAEC,kCAAA,CACA,iDAAA,CACA,6BAAA,CAGD,uCACC,kBAAA,CACA,uBAAA,CACA,0BAAA\",\"sourcesContent\":[\"\\n.app-details {\\n\\tpadding: 20px;\\n\\n\\t&__actions {\\n\\t\\t// app management\\n\\t\\t&-manage {\\n\\t\\t\\t// if too many, shrink them and ellipsis\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tinput {\\n\\t\\t\\t\\tflex: 0 1 auto;\\n\\t\\t\\t\\tmin-width: 0;\\n\\t\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\t\\toverflow: hidden;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t&__authors {\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t}\\n\\n\\t&__section {\\n\\t\\tmargin-top: 15px;\\n\\n\\t\\th4 {\\n\\t\\t\\tfont-size: 16px;\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\tmargin-block-end: 5px;\\n\\t\\t}\\n\\t}\\n\\n\\t&__interact {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: row;\\n\\t\\tflex-wrap: wrap;\\n\\t\\tgap: 12px;\\n\\t}\\n\\n\\t&__documentation {\\n\\t\\ta {\\n\\t\\t\\ttext-decoration: underline;\\n\\t\\t}\\n\\t\\tli {\\n\\t\\t\\tpadding-inline-start: 20px;\\n\\n\\t\\t\\t&::before {\\n\\t\\t\\t\\twidth: 5px;\\n\\t\\t\\t\\theight: 5px;\\n\\t\\t\\t\\tborder-radius: 100%;\\n\\t\\t\\t\\tbackground-color: var(--color-main-text);\\n\\t\\t\\t\\tcontent: \\\"\\\";\\n\\t\\t\\t\\tfloat: inline-start;\\n\\t\\t\\t\\tmargin-inline-start: -13px;\\n\\t\\t\\t\\tposition: relative;\\n\\t\\t\\t\\ttop: 10px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\\n.force {\\n\\tcolor: var(--color-text-error);\\n\\tborder-color: var(--color-border-error);\\n\\tbackground: var(--color-main-background);\\n}\\n\\n.force:hover,\\n.force:active {\\n\\tcolor: var(--color-main-background);\\n\\tborder-color: var(--color-border-error) !important;\\n\\tbackground: var(--color-error);\\n}\\n\\n.missing-dependencies {\\n\\tlist-style: initial;\\n\\tlist-style-type: initial;\\n\\tlist-style-position: inside;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c(_setup.NcAppContent,{staticClass:\"app-settings-content\",attrs:{\"page-heading\":_setup.pageHeading,\"page-title\":_setup.pageTitle}},[_c('h2',{staticClass:\"app-settings-content__label\",domProps:{\"textContent\":_vm._s(_setup.viewLabel)}}),_vm._v(\" \"),(_setup.currentCategory === 'discover')?_c(_setup.AppStoreDiscoverSection):(_setup.isLoading)?_c(_setup.NcEmptyContent,{staticClass:\"empty-content__loading\",attrs:{\"name\":_setup.t('settings', 'Loading app list')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcLoadingIcon,{attrs:{\"size\":64}})]},proxy:true}])}):_c(_setup.AppList,{attrs:{\"category\":_setup.currentCategory}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/*\nHow it works:\n`this.#head` is an instance of `Node` which keeps track of its current value and nests another instance of `Node` that keeps the value that comes after it. When a value is provided to `.enqueue()`, the code needs to iterate through `this.#head`, going deeper and deeper to find the last value. However, iterating through every single item is slow. This problem is solved by saving a reference to the last value as `this.#tail` so that it can reference it to add a new value.\n*/\n\nclass Node {\n\tvalue;\n\tnext;\n\n\tconstructor(value) {\n\t\tthis.value = value;\n\t}\n}\n\nexport default class Queue {\n\t#head;\n\t#tail;\n\t#size;\n\n\tconstructor() {\n\t\tthis.clear();\n\t}\n\n\tenqueue(value) {\n\t\tconst node = new Node(value);\n\n\t\tif (this.#head) {\n\t\t\tthis.#tail.next = node;\n\t\t\tthis.#tail = node;\n\t\t} else {\n\t\t\tthis.#head = node;\n\t\t\tthis.#tail = node;\n\t\t}\n\n\t\tthis.#size++;\n\t}\n\n\tdequeue() {\n\t\tconst current = this.#head;\n\t\tif (!current) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.#head = this.#head.next;\n\t\tthis.#size--;\n\t\treturn current.value;\n\t}\n\n\tpeek() {\n\t\tif (!this.#head) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn this.#head.value;\n\n\t\t// TODO: Node.js 18.\n\t\t// return this.#head?.value;\n\t}\n\n\tclear() {\n\t\tthis.#head = undefined;\n\t\tthis.#tail = undefined;\n\t\tthis.#size = 0;\n\t}\n\n\tget size() {\n\t\treturn this.#size;\n\t}\n\n\t* [Symbol.iterator]() {\n\t\tlet current = this.#head;\n\n\t\twhile (current) {\n\t\t\tyield current.value;\n\t\t\tcurrent = current.next;\n\t\t}\n\t}\n\n\t* drain() {\n\t\twhile (this.#head) {\n\t\t\tyield this.dequeue();\n\t\t}\n\t}\n}\n","import Queue from 'yocto-queue';\n\nexport default function pLimit(concurrency) {\n\tvalidateConcurrency(concurrency);\n\n\tconst queue = new Queue();\n\tlet activeCount = 0;\n\n\tconst resumeNext = () => {\n\t\t// Process the next queued function if we're under the concurrency limit\n\t\tif (activeCount < concurrency && queue.size > 0) {\n\t\t\tactiveCount++;\n\t\t\tqueue.dequeue()();\n\t\t}\n\t};\n\n\tconst next = () => {\n\t\tactiveCount--;\n\t\tresumeNext();\n\t};\n\n\tconst run = async (function_, resolve, arguments_) => {\n\t\t// Execute the function and capture the result promise\n\t\tconst result = (async () => function_(...arguments_))();\n\n\t\t// Resolve immediately with the promise (don't wait for completion)\n\t\tresolve(result);\n\n\t\t// Wait for the function to complete (success or failure)\n\t\t// We catch errors here to prevent unhandled rejections,\n\t\t// but the original promise rejection is preserved for the caller\n\t\ttry {\n\t\t\tawait result;\n\t\t} catch {}\n\n\t\t// Decrement active count and process next queued function\n\t\tnext();\n\t};\n\n\tconst enqueue = (function_, resolve, arguments_) => {\n\t\t// Queue the internal resolve function instead of the run function\n\t\t// to preserve the asynchronous execution context.\n\t\tnew Promise(internalResolve => { // eslint-disable-line promise/param-names\n\t\t\tqueue.enqueue(internalResolve);\n\t\t}).then(run.bind(undefined, function_, resolve, arguments_)); // eslint-disable-line promise/prefer-await-to-then\n\n\t\t// Start processing immediately if we haven't reached the concurrency limit\n\t\tif (activeCount < concurrency) {\n\t\t\tresumeNext();\n\t\t}\n\t};\n\n\tconst generator = (function_, ...arguments_) => new Promise(resolve => {\n\t\tenqueue(function_, resolve, arguments_);\n\t});\n\n\tObject.defineProperties(generator, {\n\t\tactiveCount: {\n\t\t\tget: () => activeCount,\n\t\t},\n\t\tpendingCount: {\n\t\t\tget: () => queue.size,\n\t\t},\n\t\tclearQueue: {\n\t\t\tvalue() {\n\t\t\t\tqueue.clear();\n\t\t\t},\n\t\t},\n\t\tconcurrency: {\n\t\t\tget: () => concurrency,\n\n\t\t\tset(newConcurrency) {\n\t\t\t\tvalidateConcurrency(newConcurrency);\n\t\t\t\tconcurrency = newConcurrency;\n\n\t\t\t\tqueueMicrotask(() => {\n\t\t\t\t\t// eslint-disable-next-line no-unmodified-loop-condition\n\t\t\t\t\twhile (activeCount < concurrency && queue.size > 0) {\n\t\t\t\t\t\tresumeNext();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},\n\t\t},\n\t\tmap: {\n\t\t\tasync value(iterable, function_) {\n\t\t\t\tconst promises = Array.from(iterable, (value, index) => this(function_, value, index));\n\t\t\t\treturn Promise.all(promises);\n\t\t\t},\n\t\t},\n\t});\n\n\treturn generator;\n}\n\nexport function limitFunction(function_, options) {\n\tconst {concurrency} = options;\n\tconst limit = pLimit(concurrency);\n\n\treturn (...arguments_) => limit(() => function_(...arguments_));\n}\n\nfunction validateConcurrency(concurrency) {\n\tif (!((Number.isInteger(concurrency) || concurrency === Number.POSITIVE_INFINITY) && concurrency > 0)) {\n\t\tthrow new TypeError('Expected `concurrency` to be a number from 1 and up');\n\t}\n}\n","\n\n\n\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppList.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppList.vue?vue&type=script&lang=js\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppList.vue?vue&type=style&index=0&id=707dd976&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppList.vue?vue&type=style&index=0&id=707dd976&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppList.vue?vue&type=template&id=707dd976&scoped=true\"\nimport script from \"./AppList.vue?vue&type=script&lang=js\"\nexport * from \"./AppList.vue?vue&type=script&lang=js\"\nimport style0 from \"./AppList.vue?vue&type=style&index=0&id=707dd976&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"707dd976\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":\"app-content-inner\"}},[_c('div',{staticClass:\"apps-list\",class:{\n\t\t\t'apps-list--list-view': (_vm.useBundleView || _vm.useListView),\n\t\t\t'apps-list--store-view': _vm.useAppStoreView,\n\t\t},attrs:{\"id\":\"apps-list\"}},[(_vm.useListView)?[(_vm.showUpdateAll)?_c('div',{staticClass:\"apps-list__toolbar\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.n('settings', '%n app has an update available', '%n apps have an update available', _vm.counter))+\"\\n\\t\\t\\t\\t\"),(_vm.showUpdateAll)?_c('NcButton',{attrs:{\"id\":\"app-list-update-all\",\"variant\":\"primary\"},on:{\"click\":_vm.updateAll}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.n('settings', 'Update', 'Update all', _vm.counter))+\"\\n\\t\\t\\t\\t\")]):_vm._e()],1):_vm._e(),_vm._v(\" \"),(!_vm.showUpdateAll)?_c('div',{staticClass:\"apps-list__toolbar\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'All apps are up-to-date.'))+\"\\n\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),_c('TransitionGroup',{staticClass:\"apps-list__list-container\",attrs:{\"name\":\"apps-list\",\"tag\":\"table\"}},[_c('tr',{key:\"app-list-view-header\"},[_c('th',[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Icon')))])]),_vm._v(\" \"),_c('th',[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Name')))])]),_vm._v(\" \"),_c('th',[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Version')))])]),_vm._v(\" \"),_c('th',[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Level')))])]),_vm._v(\" \"),_c('th',[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Actions')))])])]),_vm._v(\" \"),_vm._l((_vm.apps),function(app){return _c('AppItem',{key:app.id,attrs:{\"app\":app,\"category\":_vm.category}})})],2)]:_vm._e(),_vm._v(\" \"),(_vm.useBundleView)?_c('table',{staticClass:\"apps-list__list-container\"},[_c('tr',{key:\"app-list-view-header\"},[_c('th',{attrs:{\"id\":\"app-table-col-icon\"}},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Icon')))])]),_vm._v(\" \"),_c('th',{attrs:{\"id\":\"app-table-col-name\"}},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Name')))])]),_vm._v(\" \"),_c('th',{attrs:{\"id\":\"app-table-col-version\"}},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Version')))])]),_vm._v(\" \"),_c('th',{attrs:{\"id\":\"app-table-col-level\"}},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Level')))])]),_vm._v(\" \"),_c('th',{attrs:{\"id\":\"app-table-col-actions\"}},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Actions')))])])]),_vm._v(\" \"),_vm._l((_vm.bundles),function(bundle){return [_c('tr',{key:bundle.id},[_c('th',{attrs:{\"id\":`app-table-rowgroup-${bundle.id}`,\"colspan\":\"5\",\"scope\":\"rowgroup\"}},[_c('div',{staticClass:\"apps-list__bundle-heading\"},[_c('span',{staticClass:\"apps-list__bundle-header\"},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\"+_vm._s(bundle.name)+\"\\n\\t\\t\\t\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('NcButton',{attrs:{\"variant\":\"secondary\"},on:{\"click\":function($event){return _vm.toggleBundle(bundle.id)}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', _vm.bundleToggleText(bundle.id)))+\"\\n\\t\\t\\t\\t\\t\\t\\t\")])],1)])]),_vm._v(\" \"),_vm._l((_vm.bundleApps(bundle.id)),function(app){return _c('AppItem',{key:bundle.id + app.id,attrs:{\"use-bundle-view\":true,\"headers\":`app-table-rowgroup-${bundle.id}`,\"app\":app,\"category\":_vm.category}})})]})],2):_vm._e(),_vm._v(\" \"),(_vm.useAppStoreView)?_c('ul',{staticClass:\"apps-list__store-container\"},_vm._l((_vm.apps),function(app){return _c('AppItem',{key:app.id,attrs:{\"app\":app,\"category\":_vm.category,\"list-view\":false}})}),1):_vm._e()],2),_vm._v(\" \"),_c('div',{staticClass:\"apps-list apps-list--list-view\",attrs:{\"id\":\"apps-list-search\"}},[_c('div',{staticClass:\"apps-list__list-container\"},[(_vm.search !== '' && _vm.searchApps.length > 0)?_c('table',{staticClass:\"apps-list__list-container\"},[_c('caption',{staticClass:\"apps-list__bundle-header\"},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Results from other categories'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('tr',{key:\"app-list-view-header\"},[_c('th',[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Icon')))])]),_vm._v(\" \"),_c('th',[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Name')))])]),_vm._v(\" \"),_c('th',[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Version')))])]),_vm._v(\" \"),_c('th',[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Level')))])]),_vm._v(\" \"),_c('th',[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Actions')))])])]),_vm._v(\" \"),_vm._l((_vm.searchApps),function(app){return _c('AppItem',{key:app.id,attrs:{\"app\":app,\"category\":_vm.category}})})],2):_vm._e()])]),_vm._v(\" \"),(_vm.search !== '' && !_vm.loading && _vm.searchApps.length === 0 && _vm.apps.length === 0)?_c('div',{staticClass:\"emptycontent emptycontent-search\",attrs:{\"id\":\"apps-list-empty\"}},[_c('div',{staticClass:\"icon-settings-dark\",attrs:{\"id\":\"app-list-empty-icon\"}}),_vm._v(\" \"),_c('h2',[_vm._v(_vm._s(_vm.t('settings', 'No apps found for your version')))])]):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"app-discover\"},[(_setup.hasError)?_c(_setup.NcEmptyContent,{attrs:{\"name\":_setup.t('settings', 'Nothing to show'),\"description\":_setup.t('settings', 'Could not load section content from app store.')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.mdiEyeOffOutline,\"size\":64}})]},proxy:true}],null,false,3626885458)}):(_setup.elements.length === 0)?_c(_setup.NcEmptyContent,{attrs:{\"name\":_setup.t('settings', 'Loading'),\"description\":_setup.t('settings', 'Fetching the latest news…')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcLoadingIcon,{attrs:{\"size\":64}})]},proxy:true}])}):_vm._l((_setup.elements),function(entry,index){return _c(_setup.getComponent(entry.type),_vm._b({key:entry.id ?? index,tag:\"component\"},'component',entry,false))})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * Helper to transform the JSON API results to proper frontend objects (app discover section elements)\n *\n * @param element The JSON API element to transform\n */\nexport function parseApiResponse(element) {\n const appElement = { ...element };\n if (appElement.date) {\n appElement.date = Date.parse(appElement.date);\n }\n if (appElement.expiryDate) {\n appElement.expiryDate = Date.parse(appElement.expiryDate);\n }\n if (appElement.type === 'post') {\n return appElement;\n }\n else if (appElement.type === 'showcase') {\n return appElement;\n }\n else if (appElement.type === 'carousel') {\n return appElement;\n }\n throw new Error(`Invalid argument, app discover element with type ${element.type ?? 'unknown'} is unknown`);\n}\n/**\n * Filter outdated or upcoming elements\n *\n * @param element Element to check\n */\nexport function filterElements(element) {\n const now = Date.now();\n // Element not yet published\n if (element.date && element.date > now) {\n return false;\n }\n // Element expired\n if (element.expiryDate && element.expiryDate < now) {\n return false;\n }\n return true;\n}\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppStoreDiscoverSection.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppStoreDiscoverSection.vue?vue&type=script&setup=true&lang=ts\"","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppStoreDiscoverSection.vue?vue&type=style&index=0&id=32ad4b6a&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppStoreDiscoverSection.vue?vue&type=style&index=0&id=32ad4b6a&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppStoreDiscoverSection.vue?vue&type=template&id=32ad4b6a&scoped=true\"\nimport script from \"./AppStoreDiscoverSection.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AppStoreDiscoverSection.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./AppStoreDiscoverSection.vue?vue&type=style&index=0&id=32ad4b6a&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"32ad4b6a\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppStore.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppStore.vue?vue&type=script&setup=true&lang=ts\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppStore.vue?vue&type=style&index=0&id=0105bd03&prod&scoped=true&lang=css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppStore.vue?vue&type=style&index=0&id=0105bd03&prod&scoped=true&lang=css\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppStore.vue?vue&type=template&id=0105bd03&scoped=true\"\nimport script from \"./AppStore.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AppStore.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./AppStore.vue?vue&type=style&index=0&id=0105bd03&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0105bd03\",\n null\n \n)\n\nexport default component.exports","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `\n.app-score__wrapper[data-v-0774afca] {\n\tdisplay: inline-flex;\n\tcolor: var(--color-favorite, #a08b00);\n> *[data-v-0774afca] {\n\t\tvertical-align: text-bottom;\n}\n}\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/AppList/AppScore.vue\"],\"names\":[],\"mappings\":\";AA0EA;CACA,oBAAA;CACA,qCAAA;AAEA;EACA,2BAAA;AACA;AACA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","/**\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport axios from '@nextcloud/axios';\nimport { showError, showInfo } from '@nextcloud/dialogs';\nimport { loadState } from '@nextcloud/initial-state';\nimport { translate as t } from '@nextcloud/l10n';\nimport { confirmPassword } from '@nextcloud/password-confirmation';\nimport { generateUrl } from '@nextcloud/router';\nimport { defineStore } from 'pinia';\nimport Vue from 'vue';\nimport logger from '../logger.ts';\nimport api from './api.js';\nexport const useAppApiStore = defineStore('app-api-apps', {\n state: () => ({\n apps: [],\n updateCount: loadState('settings', 'appstoreExAppUpdateCount', 0),\n loading: {},\n loadingList: false,\n statusUpdater: null,\n daemonAccessible: loadState('settings', 'defaultDaemonConfigAccessible', false),\n defaultDaemon: loadState('settings', 'defaultDaemonConfig', null),\n dockerDaemons: [],\n }),\n getters: {\n getLoading: (state) => (id) => state.loading[id] ?? false,\n getAllApps: (state) => state.apps,\n getUpdateCount: (state) => state.updateCount,\n getDaemonAccessible: (state) => state.daemonAccessible,\n getDefaultDaemon: (state) => state.defaultDaemon,\n getAppStatus: (state) => (appId) => state.apps.find((app) => app.id === appId)?.status || null,\n getStatusUpdater: (state) => state.statusUpdater,\n getInitializingOrDeployingApps: (state) => state.apps.filter((app) => app?.status?.action\n && (app?.status?.action === 'deploy' || app.status.action === 'init' || app.status.action === 'healthcheck')\n && app.status.type !== ''),\n },\n actions: {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n appsApiFailure(error) {\n showError(t('settings', 'An error occurred during the request. Unable to proceed.') + '
' + error.error.response.data.data.message, { isHTML: true });\n logger.error(error);\n },\n setLoading(id, value) {\n Vue.set(this.loading, id, value);\n },\n setError(appId, error) {\n const appIds = Array.isArray(appId) ? appId : [appId];\n appIds.forEach((_id) => {\n const app = this.apps.find((app) => app.id === _id);\n if (app) {\n app.error = error;\n }\n });\n },\n enableApp(appId, daemon, deployOptions) {\n this.setLoading(appId, true);\n this.setLoading('install', true);\n return confirmPassword().then(() => {\n return axios.post(generateUrl(`/apps/app_api/apps/enable/${appId}/${daemon.name}`), { deployOptions })\n .then((response) => {\n this.setLoading(appId, false);\n this.setLoading('install', false);\n const app = this.apps.find((app) => app.id === appId);\n if (app) {\n if (!app.installed) {\n app.installed = true;\n app.needsDownload = false;\n app.daemon = daemon;\n app.status = {\n type: 'install',\n action: 'deploy',\n init: 0,\n deploy: 0,\n };\n }\n app.active = true;\n app.canUnInstall = false;\n app.removable = true;\n app.error = '';\n }\n this.updateAppsStatus();\n return axios.get(generateUrl('apps/files'))\n .then(() => {\n if (response.data.update_required) {\n showInfo(t('settings', 'The app has been enabled but needs to be updated.'), {\n onClick: () => window.location.reload(),\n close: false,\n });\n setTimeout(() => {\n location.reload();\n }, 5000);\n }\n })\n .catch(() => {\n this.setError(appId, t('settings', 'Error: This app cannot be enabled because it makes the server unstable'));\n });\n })\n .catch((error) => {\n this.setLoading(appId, false);\n this.setLoading('install', false);\n this.setError(appId, error.response.data.data.message);\n this.appsApiFailure({ appId, error });\n });\n }).catch(() => {\n this.setLoading(appId, false);\n this.setLoading('install', false);\n });\n },\n forceEnableApp(appId) {\n this.setLoading(appId, true);\n this.setLoading('install', true);\n return confirmPassword().then(() => {\n return api.post(generateUrl('/apps/app_api/apps/force'), { appId })\n .then(() => {\n location.reload();\n })\n .catch((error) => {\n this.setLoading(appId, false);\n this.setLoading('install', false);\n this.setError(appId, error.response.data.data.message);\n this.appsApiFailure({ appId, error });\n });\n }).catch(() => {\n this.setLoading(appId, false);\n this.setLoading('install', false);\n });\n },\n disableApp(appId) {\n this.setLoading(appId, true);\n return confirmPassword().then(() => {\n return api.get(generateUrl(`apps/app_api/apps/disable/${appId}`))\n .then(() => {\n this.setLoading(appId, false);\n const app = this.apps.find((app) => app.id === appId);\n if (app) {\n app.active = false;\n if (app.removable) {\n app.canUnInstall = true;\n }\n }\n return true;\n })\n .catch((error) => {\n this.setLoading(appId, false);\n this.appsApiFailure({ appId, error });\n });\n }).catch(() => {\n this.setLoading(appId, false);\n });\n },\n uninstallApp(appId, removeData) {\n this.setLoading(appId, true);\n return confirmPassword().then(() => {\n return api.get(generateUrl(`/apps/app_api/apps/uninstall/${appId}?removeData=${removeData}`))\n .then(() => {\n this.setLoading(appId, false);\n const app = this.apps.find((app) => app.id === appId);\n if (app) {\n app.active = false;\n app.needsDownload = true;\n app.installed = false;\n app.canUnInstall = false;\n app.canInstall = true;\n app.daemon = null;\n app.status = {};\n if (app.update !== null) {\n this.updateCount--;\n }\n app.update = undefined;\n }\n return true;\n })\n .catch((error) => {\n this.setLoading(appId, false);\n this.appsApiFailure({ appId, error });\n });\n });\n },\n updateApp(appId) {\n this.setLoading(appId, true);\n this.setLoading('install', true);\n return confirmPassword().then(() => {\n return api.get(generateUrl(`/apps/app_api/apps/update/${appId}`))\n .then(() => {\n this.setLoading(appId, false);\n this.setLoading('install', false);\n const app = this.apps.find((app) => app.id === appId);\n if (app) {\n const version = app.update;\n app.update = undefined;\n app.version = version || app.version;\n app.status = {\n type: 'update',\n action: 'deploy',\n init: 0,\n deploy: 0,\n };\n app.error = '';\n }\n this.updateCount--;\n this.updateAppsStatus();\n return true;\n })\n .catch((error) => {\n this.setLoading(appId, false);\n this.setLoading('install', false);\n this.appsApiFailure({ appId, error });\n });\n }).catch(() => {\n this.setLoading(appId, false);\n this.setLoading('install', false);\n });\n },\n async fetchAllApps() {\n this.loadingList = true;\n try {\n const response = await api.get(generateUrl('/apps/app_api/apps/list'));\n this.apps = response.data.apps;\n this.loadingList = false;\n return true;\n }\n catch (error) {\n logger.error(error);\n showError(t('settings', 'An error occurred during the request. Unable to proceed.'));\n this.loadingList = false;\n }\n },\n async fetchAppStatus(appId) {\n return api.get(generateUrl(`/apps/app_api/apps/status/${appId}`))\n .then((response) => {\n const app = this.apps.find((app) => app.id === appId);\n if (app) {\n app.status = response.data;\n }\n const initializingOrDeployingApps = this.getInitializingOrDeployingApps;\n logger.debug('initializingOrDeployingApps after setAppStatus', { initializingOrDeployingApps });\n if (initializingOrDeployingApps.length === 0) {\n logger.debug('clearing interval');\n clearInterval(this.statusUpdater);\n this.statusUpdater = null;\n }\n if (Object.hasOwn(response.data, 'error')\n && response.data.error !== ''\n && initializingOrDeployingApps.length === 1) {\n clearInterval(this.statusUpdater);\n this.statusUpdater = null;\n }\n })\n .catch((error) => {\n this.appsApiFailure({ appId, error });\n this.apps = this.apps.filter((app) => app.id !== appId);\n this.updateAppsStatus();\n });\n },\n async fetchDockerDaemons() {\n try {\n const { data } = await axios.get(generateUrl('/apps/app_api/daemons'));\n this.defaultDaemon = data.daemons.find((daemon) => daemon.name === data.default_daemon_config);\n this.dockerDaemons = data.daemons.filter((daemon) => daemon.accepts_deploy_id === 'docker-install');\n }\n catch (error) {\n logger.error('[app-api-store] Failed to fetch Docker daemons', { error });\n return false;\n }\n return true;\n },\n updateAppsStatus() {\n clearInterval(this.statusUpdater);\n const initializingOrDeployingApps = this.getInitializingOrDeployingApps;\n if (initializingOrDeployingApps.length === 0) {\n return;\n }\n this.statusUpdater = setInterval(() => {\n const initializingOrDeployingApps = this.getInitializingOrDeployingApps;\n logger.debug('initializingOrDeployingApps', { initializingOrDeployingApps });\n initializingOrDeployingApps.forEach((app) => {\n this.fetchAppStatus(app.id);\n });\n }, 2000);\n },\n },\n});\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `\n.deploy-option[data-v-c83c3eca] {\n\tmargin: calc(var(--default-grid-baseline) * 4) 0;\n\tdisplay: flex;\n\tflex-direction: column;\n\talign-items: flex-start;\n&__hint[data-v-c83c3eca] {\n\t\tmargin-top: 4px;\n\t\tfont-size: 0.8em;\n\t\tcolor: var(--color-text-maxcontrast);\n}\n}\n.envs[data-v-c83c3eca] {\n\twidth: 100%;\n\toverflow: auto;\n\theight: 100%;\n\tmax-height: 300px;\nli[data-v-c83c3eca] {\n\t\tmargin: 10px 0;\n}\n}\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/AppStoreSidebar/AppDeployOptionsModal.vue\"],\"names\":[],\"mappings\":\";AA6TA;CACA,gDAAA;CACA,aAAA;CACA,sBAAA;CACA,uBAAA;AAEA;EACA,eAAA;EACA,gBAAA;EACA,oCAAA;AACA;AACA;AAEA;CACA,WAAA;CACA,cAAA;CACA,YAAA;CACA,iBAAA;AAEA;EACA,cAAA;AACA;AACA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('span',{staticClass:\"app-score__wrapper\",attrs:{\"role\":\"img\",\"aria-label\":_vm.title,\"title\":_vm.title}},[_vm._l((_vm.fullStars),function(index){return _c('NcIconSvgWrapper',{key:`full-star-${index}`,attrs:{\"path\":_vm.mdiStar,\"inline\":\"\"}})}),_vm._v(\" \"),(_vm.hasHalfStar)?_c('NcIconSvgWrapper',{attrs:{\"path\":_vm.mdiStarHalfFull,\"inline\":\"\"}}):_vm._e(),_vm._v(\" \"),_vm._l((_vm.emptyStars),function(index){return _c('NcIconSvgWrapper',{key:`empty-star-${index}`,attrs:{\"path\":_vm.mdiStarOutline,\"inline\":\"\"}})})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppScore.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppScore.vue?vue&type=script&lang=ts\"","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppScore.vue?vue&type=style&index=0&id=0774afca&prod&scoped=true&lang=css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppScore.vue?vue&type=style&index=0&id=0774afca&prod&scoped=true&lang=css\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppScore.vue?vue&type=template&id=0774afca&scoped=true\"\nimport script from \"./AppScore.vue?vue&type=script&lang=ts\"\nexport * from \"./AppScore.vue?vue&type=script&lang=ts\"\nimport style0 from \"./AppScore.vue?vue&type=style&index=0&id=0774afca&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0774afca\",\n null\n \n)\n\nexport default component.exports","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.app-description[data-v-1d5b4408]{padding:12px}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/AppStoreSidebar/AppDescriptionTab.vue\"],\"names\":[],\"mappings\":\"AACA,kCACC,YAAA\",\"sourcesContent\":[\"\\n.app-description {\\n\\tpadding: 12px;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c(_setup.NcDialog,{attrs:{\"open\":_vm.show,\"name\":_vm.t('settings', 'Choose Deploy Daemon for {appName}', { appName: _vm.app.name }),\"size\":\"normal\"},on:{\"update:open\":_setup.closeModal}},[_c(_setup.DaemonSelectionList,{attrs:{\"app\":_vm.app,\"deploy-options\":_vm.deployOptions},on:{\"close\":_setup.closeModal}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./FormatListBulleted.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./FormatListBulleted.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./FormatListBulleted.vue?vue&type=template&id=5c444520\"\nimport script from \"./FormatListBulleted.vue?vue&type=script&lang=js\"\nexport * from \"./FormatListBulleted.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon format-list-bulleted-icon\",attrs:{\"aria-hidden\":_vm.title ? null : 'true',\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M7,5H21V7H7V5M7,13V11H21V13H7M4,4.5A1.5,1.5 0 0,1 5.5,6A1.5,1.5 0 0,1 4,7.5A1.5,1.5 0 0,1 2.5,6A1.5,1.5 0 0,1 4,4.5M4,10.5A1.5,1.5 0 0,1 5.5,12A1.5,1.5 0 0,1 4,13.5A1.5,1.5 0 0,1 2.5,12A1.5,1.5 0 0,1 4,10.5M7,19V17H21V19H7M4,16.5A1.5,1.5 0 0,1 5.5,18A1.5,1.5 0 0,1 4,19.5A1.5,1.5 0 0,1 2.5,18A1.5,1.5 0 0,1 4,16.5Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('NcListItem',{attrs:{\"name\":_vm.itemTitle,\"details\":_vm.isDefault ? _vm.t('settings', 'Default') : '',\"force-display-actions\":true,\"counter-number\":_vm.daemon.exAppsCount,\"active\":_vm.isDefault,\"counter-type\":\"highlighted\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.selectDaemonAndInstall.apply(null, arguments)}},scopedSlots:_vm._u([{key:\"subname\",fn:function(){return [_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.daemon.accepts_deploy_id)+\"\\n\\t\")]},proxy:true}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DaemonSelectionEntry.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DaemonSelectionEntry.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./DaemonSelectionEntry.vue?vue&type=template&id=16f518b8\"\nimport script from \"./DaemonSelectionEntry.vue?vue&type=script&lang=js\"\nexport * from \"./DaemonSelectionEntry.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DaemonSelectionList.vue?vue&type=script&setup=true&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DaemonSelectionList.vue?vue&type=script&setup=true&lang=js\"","\n\n\n\n\n\n","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DaemonSelectionList.vue?vue&type=style&index=0&id=a31da1f4&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DaemonSelectionList.vue?vue&type=style&index=0&id=a31da1f4&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./DaemonSelectionList.vue?vue&type=template&id=a31da1f4&scoped=true\"\nimport script from \"./DaemonSelectionList.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./DaemonSelectionList.vue?vue&type=script&setup=true&lang=js\"\nimport style0 from \"./DaemonSelectionList.vue?vue&type=style&index=0&id=a31da1f4&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"a31da1f4\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"daemon-selection-list\"},[(_setup.dockerDaemons.length > 0)?_c('ul',{attrs:{\"aria-label\":_vm.t('settings', 'Registered Deploy daemons list')}},_vm._l((_setup.dockerDaemons),function(daemon){return _c(_setup.DaemonSelectionEntry,{key:daemon.id,attrs:{\"daemon\":daemon,\"is-default\":_setup.defaultDaemon.name === daemon.name,\"app\":_vm.app,\"deploy-options\":_vm.deployOptions},on:{\"close\":_setup.closeModal}})}),1):_c(_setup.NcEmptyContent,{staticClass:\"daemon-selection-list__empty-content\",attrs:{\"name\":_vm.t('settings', 'No Deploy daemons configured'),\"description\":_vm.t('settings', 'Register a custom one or setup from available templates')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.FormatListBullet,{attrs:{\"size\":20}})]},proxy:true},{key:\"action\",fn:function(){return [_c(_setup.NcButton,{attrs:{\"href\":_setup.appApiAdminPage}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Manage Deploy daemons'))+\"\\n\\t\\t\\t\")])]},proxy:true}])})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DaemonSelectionDialog.vue?vue&type=script&setup=true&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DaemonSelectionDialog.vue?vue&type=script&setup=true&lang=js\"","\n\n\n\n","import { render, staticRenderFns } from \"./DaemonSelectionDialog.vue?vue&type=template&id=02d5b285\"\nimport script from \"./DaemonSelectionDialog.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./DaemonSelectionDialog.vue?vue&type=script&setup=true&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/**\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { mdiAccountMultipleOutline, mdiAccountOutline, mdiArchiveOutline, mdiCheck, mdiClipboardFlowOutline, mdiClose, mdiCogOutline, mdiControllerClassicOutline, mdiCreationOutline, mdiDownload, mdiFileDocumentEdit, mdiFolder, mdiKeyOutline, mdiMagnify, mdiMonitorEye, mdiMultimedia, mdiOfficeBuildingOutline, mdiOpenInApp, mdiSecurity, mdiStar, mdiStarCircleOutline, mdiStarShootingOutline, mdiTools, mdiViewColumnOutline, } from '@mdi/js';\n/**\n * SVG paths used for appstore category icons\n */\nexport default Object.freeze({\n // system special categories\n discover: mdiStarCircleOutline,\n installed: mdiAccountOutline,\n enabled: mdiCheck,\n disabled: mdiClose,\n bundles: mdiArchiveOutline,\n supported: mdiStarShootingOutline,\n featured: mdiStar,\n updates: mdiDownload,\n // generic category\n ai: mdiCreationOutline,\n auth: mdiKeyOutline,\n customization: mdiCogOutline,\n dashboard: mdiViewColumnOutline,\n files: mdiFolder,\n games: mdiControllerClassicOutline,\n integration: mdiOpenInApp,\n monitoring: mdiMonitorEye,\n multimedia: mdiMultimedia,\n office: mdiFileDocumentEdit,\n organization: mdiOfficeBuildingOutline,\n search: mdiMagnify,\n security: mdiSecurity,\n social: mdiAccountMultipleOutline,\n tools: mdiTools,\n workflow: mdiClipboardFlowOutline,\n});\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*!\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */.app-item[data-v-50fa5285]{position:relative}.app-item[data-v-50fa5285]:hover{background-color:var(--color-background-dark)}.app-item--list-view[data-v-50fa5285]{--app-item-padding: calc(var(--default-grid-baseline) * 2);--app-item-height: calc(var(--default-clickable-area) + var(--app-item-padding) * 2)}.app-item--list-view.app-item--selected[data-v-50fa5285]{background-color:var(--color-background-dark)}.app-item--list-view>*[data-v-50fa5285]{vertical-align:middle;border-bottom:1px solid var(--color-border);padding:var(--app-item-padding);height:var(--app-item-height)}.app-item--list-view .app-image[data-v-50fa5285]{width:var(--default-clickable-area);height:auto;text-align:end}.app-item--list-view .app-image-icon svg[data-v-50fa5285],.app-item--list-view .app-image-icon .icon-settings-dark[data-v-50fa5285]{margin-top:5px;width:20px;height:20px;opacity:.5;background-size:cover;display:inline-block}.app-item--list-view .app-name[data-v-50fa5285]{padding:0 var(--app-item-padding)}.app-item--list-view .app-name--link[data-v-50fa5285]{height:var(--app-item-height);display:flex;align-items:center}.app-item--list-view .app-name--link[data-v-50fa5285]::after{content:\"\";position:absolute;inset-inline:0;height:var(--app-item-height)}.app-item--list-view .app-actions[data-v-50fa5285]{display:flex;gap:var(--app-item-padding);flex-wrap:wrap;justify-content:end}.app-item--list-view .app-actions .icon-loading-small[data-v-50fa5285]{display:inline-block;top:4px;margin-inline-end:10px}@media only screen and (max-width: 900px){.app-item--list-view .app-version[data-v-50fa5285],.app-item--list-view .app-level[data-v-50fa5285]{display:none}}@media only screen and (max-width: 512px){.app-item--list-view .app-actions[data-v-50fa5285]{display:none}}.app-item--store-view[data-v-50fa5285]{padding:30px}.app-item--store-view .app-image-icon .icon-settings-dark[data-v-50fa5285]{width:100%;height:150px;background-size:45px;opacity:.5}.app-item--store-view .app-image-icon svg[data-v-50fa5285]{position:absolute;bottom:43px;width:64px;height:64px;opacity:.1}.app-item--store-view .app-name[data-v-50fa5285]{margin:5px 0}.app-item--store-view .app-name--link[data-v-50fa5285]::after{content:\"\";position:absolute;inset-block:0;inset-inline:0}.app-item--store-view .app-actions[data-v-50fa5285]{margin:10px 0}@media only screen and (min-width: 1601px){.app-item--store-view[data-v-50fa5285]{width:25%}.app-item--store-view.app-item--with-sidebar[data-v-50fa5285]{width:33%}}@media only screen and (max-width: 1600px){.app-item--store-view[data-v-50fa5285]{width:25%}.app-item--store-view.app-item--with-sidebar[data-v-50fa5285]{width:33%}}@media only screen and (max-width: 1400px){.app-item--store-view[data-v-50fa5285]{width:33%}.app-item--store-view.app-item--with-sidebar[data-v-50fa5285]{width:50%}}@media only screen and (max-width: 900px){.app-item--store-view[data-v-50fa5285]{width:50%}.app-item--store-view.app-item--with-sidebar[data-v-50fa5285]{width:100%}}@media only screen and (max-width: 1024px){.app-item--store-view[data-v-50fa5285]{width:50%}}@media only screen and (max-width: 480px){.app-item--store-view[data-v-50fa5285]{width:100%}}.app-icon[data-v-50fa5285]{filter:var(--background-invert-if-bright)}.app-image[data-v-50fa5285]{position:relative;height:150px;opacity:1;overflow:hidden}.app-image img[data-v-50fa5285]{width:100%}.app-version[data-v-50fa5285]{color:var(--color-text-maxcontrast)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./core/css/variables.scss\",\"webpack://./apps/settings/src/components/AppList/AppItem.vue\"],\"names\":[],\"mappings\":\"AAEA;;;EAAA,CCEA,2BACC,iBAAA,CAEA,iCACC,6CAAA,CAGD,sCACC,0DAAA,CACA,oFAAA,CAEA,yDACC,6CAAA,CAGD,wCACC,qBAAA,CACA,2CAAA,CACA,+BAAA,CACA,6BAAA,CAGD,iDACC,mCAAA,CACA,WAAA,CACA,cAAA,CAGD,oIAEC,cAAA,CACA,UAAA,CACA,WAAA,CACA,UAAA,CACA,qBAAA,CACA,oBAAA,CAGD,gDACC,iCAAA,CAGD,sDACC,6BAAA,CACA,YAAA,CACA,kBAAA,CAMD,6DACC,UAAA,CACA,iBAAA,CACA,cAAA,CACA,6BAAA,CAGD,mDACC,YAAA,CACA,2BAAA,CACA,cAAA,CACA,mBAAA,CAEA,uEACC,oBAAA,CACA,OAAA,CACA,sBAAA,CAKF,0CACC,oGAEC,YAAA,CAAA,CAKF,0CACC,mDACC,YAAA,CAAA,CAKH,uCACC,YAAA,CAEA,2EACC,UAAA,CACA,YAAA,CACA,oBAAA,CACA,UAAA,CAGD,2DACC,iBAAA,CACA,WAAA,CAEA,UAAA,CACA,WAAA,CACA,UAAA,CAGD,iDACC,YAAA,CAGD,8DACC,UAAA,CACA,iBAAA,CACA,aAAA,CACA,cAAA,CAGD,oDACC,aAAA,CAGD,2CAlCD,uCAmCE,SAAA,CAEA,8DACC,SAAA,CAAA,CAIF,2CA1CD,uCA2CE,SAAA,CAEA,8DACC,SAAA,CAAA,CAIF,2CAlDD,uCAmDE,SAAA,CAEA,8DACC,SAAA,CAAA,CAIF,0CA1DD,uCA2DE,SAAA,CAEA,8DACC,UAAA,CAAA,CAIF,2CAlED,uCAmEE,SAAA,CAAA,CAGD,0CAtED,uCAuEE,UAAA,CAAA,CAKH,2BACC,yCAAA,CAGD,4BACC,iBAAA,CACA,YAAA,CACA,SAAA,CACA,eAAA,CAEA,gCACC,UAAA,CAIF,8BACC,mCAAA\",\"sourcesContent\":[\"@use 'sass:color';\\n\\n/*!\\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n// SCSS darken/lighten function override\\n@function nc-darken($color, $value) {\\n\\t@return color.adjust($color, $lightness: - $value, $space: hsl);\\n}\\n\\n@function nc-lighten($color, $value) {\\n\\t@return color.adjust($color, $lightness: $value, $space: hsl);\\n}\\n\\n// SCSS variables\\n// DEPRECATED, please use CSS4 vars\\n$color-main-text: #222 !default; // Not #000 for better readability\\n$color-main-background: #fff !default;\\n$color-main-background-translucent: rgba($color-main-background, .97) !default;\\n\\n// used for different active/hover/focus/disabled states\\n$color-background-hover: nc-darken($color-main-background, 4%) !default;\\n$color-background-dark: nc-darken($color-main-background, 7%) !default;\\n$color-background-darker: nc-darken($color-main-background, 14%) !default;\\n\\n$color-placeholder-light: nc-darken($color-main-background, 10%) !default;\\n$color-placeholder-dark: nc-darken($color-main-background, 20%) !default;\\n\\n$color-primary: #0082c9 !default;\\n$color-primary-hover: color.mix($color-primary, $color-main-background, 80%) !default;\\n\\n$color-primary-light: color.mix($color-primary, $color-main-background, 10%) !default;\\n$color-primary-light-text: $color-primary !default;\\n$color-primary-light-hover: color.mix($color-primary-light, $color-main-text, 95%) !default;\\n\\n$color-primary-text: #ffffff !default;\\n// do not use nc-darken/lighten in case of overriding because\\n// primary-text is independent of color-main-text\\n$color-primary-element-text-dark: color.adjust($color-primary-text, $lightness: -7%, $space: hsl) !default;\\n$color-primary-element: $color-primary !default;\\n$color-primary-element-hover: color.mix($color-primary-element, $color-main-background, 80%) !default;\\n$color-primary-element-light: color.adjust($color-primary-element, $lightness: 15%, $space: hsl) !default;\\n\\n$color-error: #e9322d;\\n$color-error-hover: color.mix($color-error, $color-main-background, 80%) !default;\\n$color-warning: #eca700;\\n$color-warning-hover: color.mix($color-warning, $color-main-background, 80%) !default;\\n$color-success: #46ba61;\\n$color-success-hover: color.mix($color-success, $color-main-background, 80%) !default;\\n// used for svg\\n$color-white: #fff;\\n$color-black: #000;\\n$color-yellow: #FC0;\\n\\n// rgb(118, 118, 118) / #767676\\n// min. color contrast for normal text on white background according to WCAG AA\\n// (Works as well: color: #000; opacity: 0.57;)\\n$color-text-maxcontrast: nc-lighten($color-main-text, 33%) !default;\\n\\n$image-logo: url('../img/logo/logo.svg?v=1') !default;\\n$image-login-background: url('../img/background.png?v=2') !default;\\n$image-logoheader: url('../img/logo/logo.svg?v=1') !default;\\n$image-favicon: url('../img/logo/logo.svg?v=1') !default;\\n\\n$color-loading-light: #ccc !default;\\n$color-loading-dark: #444 !default;\\n\\n$color-box-shadow: color.adjust(nc-darken($color-main-background, 70%), $alpha: -0.5, $space: hsl) !default;\\n\\n// light border like file table or app-content list\\n$color-border: nc-darken($color-main-background, 7%) !default;\\n// darker border like inputs or very visible elements\\n$color-border-dark: nc-darken($color-main-background, 14%) !default;\\n\\n$border-radius: 3px !default;\\n$border-radius-large: 10px !default;\\n// Pill-style button, value is large so big buttons also have correct roundness\\n$border-radius-pill: 100px !default;\\n\\n$font-face: system-ui, -apple-system, \\\"Segoe UI\\\", Roboto, Oxygen-Sans, Cantarell, Ubuntu, \\\"Helvetica Neue\\\", \\\"Noto Sans\\\", \\\"Liberation Sans\\\", Arial, sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\", \\\"Noto Color Emoji\\\" !default;\\n$default-font-size: 15px;\\n\\n$default-line-height: 24px;\\n\\n$animation-quick: 100ms;\\n$animation-slow: 300ms;\\n\\n// various structure data\\n$header-height: 50px;\\n$navigation-width: 300px;\\n$sidebar-min-width: 300px;\\n$sidebar-max-width: 500px;\\n$list-min-width: 200px;\\n$list-max-width: 300px;\\n$header-menu-item-height: 44px;\\n$header-menu-profile-item-height: 66px;\\n\\n// mobile. Keep in sync with core/js/js.js\\n$breakpoint-mobile: 1024px;\\n\",\"\\n@use '../../../../../core/css/variables.scss' as variables;\\n@use 'sass:math';\\n\\n.app-item {\\n\\tposition: relative;\\n\\n\\t&:hover {\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t}\\n\\n\\t&--list-view {\\n\\t\\t--app-item-padding: calc(var(--default-grid-baseline) * 2);\\n\\t\\t--app-item-height: calc(var(--default-clickable-area) + var(--app-item-padding) * 2);\\n\\n\\t\\t&.app-item--selected {\\n\\t\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\t}\\n\\n\\t\\t> * {\\n\\t\\t\\tvertical-align: middle;\\n\\t\\t\\tborder-bottom: 1px solid var(--color-border);\\n\\t\\t\\tpadding: var(--app-item-padding);\\n\\t\\t\\theight: var(--app-item-height);\\n\\t\\t}\\n\\n\\t\\t.app-image {\\n\\t\\t\\twidth: var(--default-clickable-area);\\n\\t\\t\\theight: auto;\\n\\t\\t\\ttext-align: end;\\n\\t\\t}\\n\\n\\t\\t.app-image-icon svg,\\n\\t\\t.app-image-icon .icon-settings-dark {\\n\\t\\t\\tmargin-top: 5px;\\n\\t\\t\\twidth: 20px;\\n\\t\\t\\theight: 20px;\\n\\t\\t\\topacity: .5;\\n\\t\\t\\tbackground-size: cover;\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t}\\n\\n\\t\\t.app-name {\\n\\t\\t\\tpadding: 0 var(--app-item-padding);\\n\\t\\t}\\n\\n\\t\\t.app-name--link {\\n\\t\\t\\theight: var(--app-item-height);\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t}\\n\\n\\t\\t// Note: because of Safari bug, we cannot position link overlay relative to the table row\\n\\t\\t// So we need to manually position it relative to the table container and cell\\n\\t\\t// See: https://bugs.webkit.org/show_bug.cgi?id=240961\\n\\t\\t.app-name--link::after {\\n\\t\\t\\tcontent: '';\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\tinset-inline: 0;\\n\\t\\t\\theight: var(--app-item-height);\\n\\t\\t}\\n\\n\\t\\t.app-actions {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tgap: var(--app-item-padding);\\n\\t\\t\\tflex-wrap: wrap;\\n\\t\\t\\tjustify-content: end;\\n\\n\\t\\t\\t.icon-loading-small {\\n\\t\\t\\t\\tdisplay: inline-block;\\n\\t\\t\\t\\ttop: 4px;\\n\\t\\t\\t\\tmargin-inline-end: 10px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t/* hide app version and level on narrower screens */\\n\\t\\t@media only screen and (max-width: 900px) {\\n\\t\\t\\t.app-version,\\n\\t\\t\\t.app-level {\\n\\t\\t\\t\\tdisplay: none;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t/* Hide actions on a small screen. Click on app opens fill-screen sidebar with the buttons */\\n\\t\\t@media only screen and (max-width: math.div(variables.$breakpoint-mobile, 2)) {\\n\\t\\t\\t.app-actions {\\n\\t\\t\\t\\tdisplay: none;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&--store-view {\\n\\t\\tpadding: 30px;\\n\\n\\t\\t.app-image-icon .icon-settings-dark {\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\theight: 150px;\\n\\t\\t\\tbackground-size: 45px;\\n\\t\\t\\topacity: 0.5;\\n\\t\\t}\\n\\n\\t\\t.app-image-icon svg {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\tbottom: 43px;\\n\\t\\t\\t/* position halfway vertically */\\n\\t\\t\\twidth: 64px;\\n\\t\\t\\theight: 64px;\\n\\t\\t\\topacity: .1;\\n\\t\\t}\\n\\n\\t\\t.app-name {\\n\\t\\t\\tmargin: 5px 0;\\n\\t\\t}\\n\\n\\t\\t.app-name--link::after {\\n\\t\\t\\tcontent: '';\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\tinset-block: 0;\\n\\t\\t\\tinset-inline: 0;\\n\\t\\t}\\n\\n\\t\\t.app-actions {\\n\\t\\t\\tmargin: 10px 0;\\n\\t\\t}\\n\\n\\t\\t@media only screen and (min-width: 1601px) {\\n\\t\\t\\twidth: 25%;\\n\\n\\t\\t\\t&.app-item--with-sidebar {\\n\\t\\t\\t\\twidth: 33%;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t@media only screen and (max-width: 1600px) {\\n\\t\\t\\twidth: 25%;\\n\\n\\t\\t\\t&.app-item--with-sidebar {\\n\\t\\t\\t\\twidth: 33%;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t@media only screen and (max-width: 1400px) {\\n\\t\\t\\twidth: 33%;\\n\\n\\t\\t\\t&.app-item--with-sidebar {\\n\\t\\t\\t\\twidth: 50%;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t@media only screen and (max-width: 900px) {\\n\\t\\t\\twidth: 50%;\\n\\n\\t\\t\\t&.app-item--with-sidebar {\\n\\t\\t\\t\\twidth: 100%;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t@media only screen and (max-width: variables.$breakpoint-mobile) {\\n\\t\\t\\twidth: 50%;\\n\\t\\t}\\n\\n\\t\\t@media only screen and (max-width: 480px) {\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\t}\\n}\\n\\n.app-icon {\\n\\tfilter: var(--background-invert-if-bright);\\n}\\n\\n.app-image {\\n\\tposition: relative;\\n\\theight: 150px;\\n\\topacity: 1;\\n\\toverflow: hidden;\\n\\n\\timg {\\n\\t\\twidth: 100%;\\n\\t}\\n}\\n\\n.app-version {\\n\\tcolor: var(--color-text-maxcontrast);\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `\n.empty-content__loading[data-v-0105bd03] {\n\theight: 100%;\n}\n.app-settings-content__label[data-v-0105bd03] {\n\tmargin-block-start: var(--app-navigation-padding);\n\tmargin-inline-start: calc(var(--default-clickable-area) + var(--app-navigation-padding) * 2);\n\tmin-height: var(--default-clickable-area);\n\tline-height: var(--default-clickable-area);\n\tvertical-align: center;\n}\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/views/AppStore.vue\"],\"names\":[],\"mappings\":\";AA2EA;CACA,YAAA;AACA;AAEA;CACA,iDAAA;CACA,4FAAA;CACA,yCAAA;CACA,0CAAA;CACA,sBAAA;AACA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","/**\n * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { translate as t } from '@nextcloud/l10n'\n\n/** Enum of verification constants, according to Apps */\nexport const APPS_SECTION_ENUM = Object.freeze({\n\tdiscover: t('settings', 'Discover'),\n\tinstalled: t('settings', 'Your apps'),\n\tenabled: t('settings', 'Active apps'),\n\tdisabled: t('settings', 'Disabled apps'),\n\tupdates: t('settings', 'Updates'),\n\t'app-bundles': t('settings', 'App bundles'),\n\tfeatured: t('settings', 'Featured apps'),\n\tsupported: t('settings', 'Supported apps'), // From subscription\n})\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (_setup.isSupported || _setup.isFeatured)?_c('span',{staticClass:\"app-level-badge\",class:{ 'app-level-badge--supported': _setup.isSupported },attrs:{\"title\":_setup.badgeTitle}},[_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.badgeIcon,\"size\":20,\"inline\":\"\"}}),_vm._v(\"\\n\\t\"+_vm._s(_setup.badgeText)+\"\\n\")],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppLevelBadge.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppLevelBadge.vue?vue&type=script&setup=true&lang=ts\"","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppLevelBadge.vue?vue&type=style&index=0&id=11da8cb3&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppLevelBadge.vue?vue&type=style&index=0&id=11da8cb3&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppLevelBadge.vue?vue&type=template&id=11da8cb3&scoped=true\"\nimport script from \"./AppLevelBadge.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AppLevelBadge.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./AppLevelBadge.vue?vue&type=style&index=0&id=11da8cb3&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"11da8cb3\",\n null\n \n)\n\nexport default component.exports","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.settings-markdown[data-v-62ec0d6b] a{text-decoration:underline}.settings-markdown[data-v-62ec0d6b] a::after{content:\"↗\";padding-inline:calc(var(--default-grid-baseline)/2)}.settings-markdown[data-v-62ec0d6b] pre{white-space:pre;overflow-x:auto;background-color:var(--color-background-dark);border-radius:var(--border-radius);padding:1em 1.3em;margin-bottom:1em}.settings-markdown[data-v-62ec0d6b] p code{background-color:var(--color-background-dark);border-radius:var(--border-radius);padding:.1em .3em}.settings-markdown[data-v-62ec0d6b] li{position:relative}.settings-markdown[data-v-62ec0d6b] ul,.settings-markdown[data-v-62ec0d6b] ol{padding-inline-start:10px;margin-inline-start:10px}.settings-markdown[data-v-62ec0d6b] ul li{list-style-type:disc}.settings-markdown[data-v-62ec0d6b] ul>li>ul>li{list-style-type:circle}.settings-markdown[data-v-62ec0d6b] ul>li>ul>li ul li{list-style-type:square}.settings-markdown[data-v-62ec0d6b] blockquote{padding-inline-start:1em;border-inline-start:4px solid var(--color-primary-element);color:var(--color-text-maxcontrast);margin-inline:0}`, \"\",{\"version\":3,\"sources\":[\"webpack://./Markdown.vue\",\"webpack://./apps/settings/src/components/Markdown.vue\"],\"names\":[],\"mappings\":\"AAAA,sCCEC,yBACC,CAAA,6CACA,WACC,CAAA,mDACA,CAAA,wCAIF,eACC,CAAA,eACA,CAAA,6CACA,CAAA,kCACA,CAAA,iBACA,CAAA,iBACA,CAAA,2CAGD,6CACC,CAAA,kCACA,CAAA,iBACA,CAAA,uCAGD,iBACC,CAAA,8EAGD,yBACC,CAAA,wBACA,CAAA,0CAGD,oBACC,CAAA,gDAGD,sBACC,CAAA,sDAGD,sBACC,CAAA,+CAGD,wBACC,CAAA,0DACA,CAAA,mCACA,CAAA,eACA\",\"sourcesContent\":[\".settings-markdown :deep a{text-decoration:underline}.settings-markdown :deep a::after{content:\\\"↗\\\";padding-inline:calc(var(--default-grid-baseline)/2)}.settings-markdown :deep pre{white-space:pre;overflow-x:auto;background-color:var(--color-background-dark);border-radius:var(--border-radius);padding:1em 1.3em;margin-bottom:1em}.settings-markdown :deep p code{background-color:var(--color-background-dark);border-radius:var(--border-radius);padding:.1em .3em}.settings-markdown :deep li{position:relative}.settings-markdown :deep ul,.settings-markdown :deep ol{padding-inline-start:10px;margin-inline-start:10px}.settings-markdown :deep ul li{list-style-type:disc}.settings-markdown :deep ul>li>ul>li{list-style-type:circle}.settings-markdown :deep ul>li>ul>li ul li{list-style-type:square}.settings-markdown :deep blockquote{padding-inline-start:1em;border-inline-start:4px solid var(--color-primary-element);color:var(--color-text-maxcontrast);margin-inline:0}\",\"\\n.settings-markdown :deep {\\n\\ta {\\n\\t\\ttext-decoration: underline;\\n\\t\\t&::after {\\n\\t\\t\\tcontent: '↗';\\n\\t\\t\\tpadding-inline: calc(var(--default-grid-baseline) / 2);\\n\\t\\t}\\n\\t}\\n\\n\\tpre {\\n\\t\\twhite-space: pre;\\n\\t\\toverflow-x: auto;\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tpadding: 1em 1.3em;\\n\\t\\tmargin-bottom: 1em;\\n\\t}\\n\\n\\tp code {\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tpadding: .1em .3em;\\n\\t}\\n\\n\\tli {\\n\\t\\tposition: relative;\\n\\t}\\n\\n\\tul, ol {\\n\\t\\tpadding-inline-start: 10px;\\n\\t\\tmargin-inline-start: 10px;\\n\\t}\\n\\n\\tul li {\\n\\t\\tlist-style-type: disc;\\n\\t}\\n\\n\\tul > li > ul > li {\\n\\t\\tlist-style-type: circle;\\n\\t}\\n\\n\\tul > li > ul > li ul li {\\n\\t\\tlist-style-type: square;\\n\\t}\\n\\n\\tblockquote {\\n\\t\\tpadding-inline-start: 1em;\\n\\t\\tborder-inline-start: 4px solid var(--color-primary-element);\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\tmargin-inline: 0;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c(_vm.listView ? 'tr' : (_vm.inline ? 'article' : 'li'),{tag:\"component\",staticClass:\"app-item\",class:{\n\t\t'app-item--list-view': _vm.listView,\n\t\t'app-item--store-view': !_vm.listView,\n\t\t'app-item--selected': _vm.isSelected,\n\t\t'app-item--with-sidebar': _vm.withSidebar,\n\t}},[_c(_vm.dataItemTag,{tag:\"component\",staticClass:\"app-image app-image-icon\",attrs:{\"headers\":_vm.getDataItemHeaders(`app-table-col-icon`)}},[(!_vm.app?.app_api && _vm.shouldDisplayDefaultIcon)?_c('div',{staticClass:\"icon-settings-dark\"}):(_vm.app.app_api && _vm.shouldDisplayDefaultIcon)?_c('NcIconSvgWrapper',{staticStyle:{\"min-width\":\"auto\",\"min-height\":\"auto\",\"height\":\"100%\"},attrs:{\"path\":_vm.mdiCogOutline,\"size\":_vm.listView ? 24 : 48}}):(_vm.listView && _vm.app.preview && !_vm.app.app_api)?_c('svg',{attrs:{\"width\":\"32\",\"height\":\"32\",\"viewBox\":\"0 0 32 32\"}},[_c('image',{staticClass:\"app-icon\",attrs:{\"x\":\"0\",\"y\":\"0\",\"width\":\"32\",\"height\":\"32\",\"preserveAspectRatio\":\"xMinYMin meet\",\"xlink:href\":_vm.app.preview}})]):_vm._e(),_vm._v(\" \"),(!_vm.listView && _vm.app.screenshot && _vm.screenshotLoaded)?_c('img',{attrs:{\"src\":_vm.app.screenshot,\"alt\":\"\"}}):_vm._e()],1),_vm._v(\" \"),_c(_vm.dataItemTag,{tag:\"component\",staticClass:\"app-name\",attrs:{\"headers\":_vm.getDataItemHeaders(`app-table-col-name`)}},[_c('router-link',{staticClass:\"app-name--link\",attrs:{\"to\":{\n\t\t\t\tname: 'apps-details',\n\t\t\t\tparams: {\n\t\t\t\t\tcategory: _vm.category,\n\t\t\t\t\tid: _vm.app.id,\n\t\t\t\t},\n\t\t\t},\"aria-label\":_vm.t('settings', 'Show details for {appName} app', { appName: _vm.app.name })}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.app.name)+\"\\n\\t\\t\")])],1),_vm._v(\" \"),(!_vm.listView)?_c(_vm.dataItemTag,{tag:\"component\",staticClass:\"app-summary\",attrs:{\"headers\":_vm.getDataItemHeaders(`app-version`)}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.app.summary)+\"\\n\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.listView)?_c(_vm.dataItemTag,{tag:\"component\",staticClass:\"app-version\",attrs:{\"headers\":_vm.getDataItemHeaders(`app-table-col-version`)}},[(_vm.app.version)?_c('span',[_vm._v(_vm._s(_vm.app.version))]):(_vm.app.appstoreData.releases[0].version)?_c('span',[_vm._v(_vm._s(_vm.app.appstoreData.releases[0].version))]):_vm._e()]):_vm._e(),_vm._v(\" \"),_c(_vm.dataItemTag,{tag:\"component\",staticClass:\"app-level\",attrs:{\"headers\":_vm.getDataItemHeaders(`app-table-col-level`)}},[_c('AppLevelBadge',{attrs:{\"level\":_vm.app.level}}),_vm._v(\" \"),(_vm.hasRating && !_vm.listView)?_c('AppScore',{attrs:{\"score\":_vm.app.score}}):_vm._e()],1),_vm._v(\" \"),(!_vm.inline)?_c(_vm.dataItemTag,{tag:\"component\",staticClass:\"app-actions\",attrs:{\"headers\":_vm.getDataItemHeaders(`app-table-col-actions`)}},[(_vm.app.error)?_c('div',{staticClass:\"warning\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.app.error)+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.isLoading || _vm.isInitializing)?_c('div',{staticClass:\"icon icon-loading-small\"}):_vm._e(),_vm._v(\" \"),(_vm.app.update)?_c('NcButton',{attrs:{\"variant\":\"primary\",\"disabled\":_vm.installing || _vm.isLoading || !_vm.defaultDeployDaemonAccessible || _vm.isManualInstall,\"title\":_vm.updateButtonText},on:{\"click\":function($event){$event.stopPropagation();return _vm.update(_vm.app.id)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Update to {update}', { update: _vm.app.update }))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.app.canUnInstall)?_c('NcButton',{staticClass:\"uninstall\",attrs:{\"variant\":\"tertiary\",\"disabled\":_vm.installing || _vm.isLoading},on:{\"click\":function($event){$event.stopPropagation();return _vm.remove(_vm.app.id)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Remove'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.app.active)?_c('NcButton',{attrs:{\"disabled\":_vm.installing || _vm.isLoading || _vm.isInitializing || _vm.isDeploying},on:{\"click\":function($event){$event.stopPropagation();return _vm.disable(_vm.app.id)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.disableButtonText)+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(!_vm.app.active && (_vm.app.canInstall || _vm.app.isCompatible))?_c('NcButton',{attrs:{\"title\":_vm.enableButtonTooltip,\"aria-label\":_vm.enableButtonTooltip,\"variant\":\"primary\",\"disabled\":!_vm.app.canInstall || _vm.installing || _vm.isLoading || !_vm.defaultDeployDaemonAccessible || _vm.isInitializing || _vm.isDeploying},on:{\"click\":function($event){$event.stopPropagation();return _vm.enableButtonAction.apply(null, arguments)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.enableButtonText)+\"\\n\\t\\t\")]):(!_vm.app.active)?_c('NcButton',{attrs:{\"title\":_vm.forceEnableButtonTooltip,\"aria-label\":_vm.forceEnableButtonTooltip,\"variant\":\"secondary\",\"disabled\":_vm.installing || _vm.isLoading || !_vm.defaultDeployDaemonAccessible},on:{\"click\":function($event){$event.stopPropagation();return _vm.forceEnable(_vm.app.id)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.forceEnableButtonText)+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.app?.app_api && _vm.showSelectDaemonModal)?_c('DaemonSelectionDialog',{attrs:{\"show\":_vm.showSelectDaemonModal,\"app\":_vm.app},on:{\"update:show\":function($event){_vm.showSelectDaemonModal=$event}}}):_vm._e()],1):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SvgFilterMixin.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SvgFilterMixin.vue?vue&type=script&lang=js\"","var render, staticRenderFns\nimport script from \"./SvgFilterMixin.vue?vue&type=script&lang=js\"\nexport * from \"./SvgFilterMixin.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppItem.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppItem.vue?vue&type=script&lang=js\"","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppItem.vue?vue&type=style&index=0&id=50fa5285&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppItem.vue?vue&type=style&index=0&id=50fa5285&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppItem.vue?vue&type=template&id=50fa5285&scoped=true\"\nimport script from \"./AppItem.vue?vue&type=script&lang=js\"\nexport * from \"./AppItem.vue?vue&type=script&lang=js\"\nimport style0 from \"./AppItem.vue?vue&type=style&index=0&id=50fa5285&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"50fa5285\",\n null\n \n)\n\nexport default component.exports"],"names":["showApiError","showError","t","useAppsStore","defineStore","state","apps","categories","updateCount","loadState","loading","loadingList","gettingCategoriesPromise","actions","loadCategories","force","this","length","data","axios","get","generateUrl","category","icon","APPSTORE_CATEGORY_ICONS","id","$patch","error","logger","loadApps","getCategoryById","categoryId","find","getAppById","appId","updateAppGroups","groups","app","___CSS_LOADER_EXPORT___","push","module","generateOcsUrl","then","ocs","meta","statuscode","emit","window","dispatchEvent","Event","productName","OC","theme","computed","appGroups","map","group","name","installing","app_api","appApiStore","getLoading","$store","getters","isLoading","isInitializing","status","action","isDeploying","isManualInstall","daemon","accepts_deploy_id","updateButtonText","version","update","enableButtonText","progress","deploy","init","needsDownload","disableButtonText","forceEnableButtonText","enableButtonTooltip","forceEnableButtonTooltip","base","defaultDeployDaemonAccessible","getDefaultDaemon","getDaemonAccessible","groupCheckedAppsData","mounted","methods","asyncFindGroup","query","dispatch","search","limit","offset","isLimitedToGroups","setGroupLimit","canLimitToGroups","types","includes","addGroupLimitation","groupArray","pop","concat","store","removeGroupLimitation","currentGroups","index","indexOf","splice","forceEnable","forceEnableApp","rebuildNavigation","catch","enable","deployOptions","enableApp","disable","disableApp","remove","removeData","uninstallApp","install","updateApp","Math","max","_defineComponent","__name","props","setup","__props","__sfc","mdiFileChart","NcIconSvgWrapper","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","_vm","_c","_self","_setup","_setupProxy","staticClass","attrs","_v","_s","display_name","_e","gpuSupport","ref","deploy_config","computeDevice","NcAppSidebarTab","scopedSlots","_u","key","fn","proxy","label","text","type","String","default","minHeading","Number","renderMarkdown","renderer","marked","Renderer","link","href","title","prot","decodeURIComponent","unescape","replace","toLowerCase","out","heading","depth","min","image","blockquote","dompurify","sanitize","trim","gfm","highlight","tables","breaks","pedantic","smartLists","smartypants","SAFE_FOR_JQUERY","ALLOWED_TAGS","domProps","mdiTextShort","Markdown","description","components","NcDialog","NcTextField","NcButton","NcNoteCard","NcCheckboxRadioSwitch","mixins","AppManagement","Object","required","show","Boolean","useAppApiStore","environmentVariables","releases","environment_variables","value","reduce","acc","envVar","envName","mounts","mdiPlus","mdiCheck","mdiClose","mdiDeleteOutline","addingMount","newMountPoint","hostPath","containerPath","readonly","addingPortBinding","configuredDeployOptions","deployOptionsDocsUrl","watch","newShow","fetchExAppDeployOptions","startAddingMount","$nextTick","$refs","newMountHostPath","focus","addMountPoint","cancelAddMountPoint","removeMount","mountToRemove","filter","mount","response","submitDeployOptions","fetchDockerDaemons","dockerDaemons","$emit","on","$event","active","canInstall","isCompatible","stopPropagation","apply","arguments","_l","displayName","model","callback","$$v","$set","expression","keys","staticStyle","NcDateTime","NcSelect","AppDeployOptionsModal","DaemonSelectionDialog","mdiBugOutline","mdiFeatureSearchOutline","mdiStar","mdiTextBoxOutline","mdiTooltipQuestionOutline","mdiToyBrickPlusOutline","showDeployOptionsModal","showSelectDaemonModal","lastModified","appstoreData","Date","parse","sort","at","appAuthors","authorName","xmlNode","Array","isArray","author","a","b","split","localeCompare","join","appstoreUrl","externalResources","resources","internal","website","documentation","user","admin","developer","appCategories","flat","rateAppUrl","getGroups","beforeUnmount","unsubscribe","subscribe","showSelectionModal","toggleRemoveData","enableButtonAction","directives","rawName","_i","$$a","$$el","target","$$c","checked","$$i","slice","slot","canUnInstall","click","missingMinOwnCloudVersion","missingMaxOwnCloudVersion","missingDependencies","dep","shipped","resource","bugs","discussion","hasChangelog","values","translations","some","changelog","createChangelogFromRelease","release","getLanguage","en","mdiClockFast","route","useRoute","router","useRouter","legacyStore","useStore","params","isAppApiEnabled","exApp","getAllApps","hasRating","ratingNumOverall","rating","ratingNumRecent","ratingRecent","ratingOverall","showSidebar","appIcon","categoryIcon","path","mdiCogOutline","AppstoreCategoryIcons","mdiCog","watchEffect","async","preview","fetch","blob","rawSvg","replaceAll","useAppIcon","licenseText","license","licence","toString","toUpperCase","activeTab","screenshotLoaded","hasScreenshot","screenshot","loadScreenshot","Image","onload","src","onMounted","hideAppDetails","NcAppSidebar","AppDaemonBadge","AppLevelBadge","AppScore","AppDeployDaemonTab","AppDescriptionTab","AppDetailsTab","AppReleasesTab","class","undefined","level","appstoreEnabled","developerDocsUrl","categoriesLoading","isSubscribed","onBeforeMount","NcAppNavigation","NcAppNavigationItem","NcAppNavigationSpacer","NcCounterBubble","NcLoadingIcon","APPS_SECTION_ENUM","discover","installed","enabled","disabled","updates","bundles","supported","featured","Node","constructor","_defineProperty","_head","WeakMap","_tail","_size","Queue","_classPrivateFieldInitSpec","clear","enqueue","_this$size","node","_classPrivateFieldGet","next","_classPrivateFieldSet","dequeue","_this$size3","current","peek","size","Symbol","iterator","drain","pLimit","concurrency","validateConcurrency","queue","activeCount","resumeNext","run","function_","resolve","arguments_","result","generator","Promise","internalResolve","bind","defineProperties","pendingCount","clearQueue","set","newConcurrency","queueMicrotask","iterable","promises","from","all","isInteger","POSITIVE_INFINITY","TypeError","AppItem","counter","hasPendingUpdate","showUpdateAll","useListView","exApps","natSortDiff","Util","naturalSortCompare","sortStringA","sortStringB","appstore","getAppBundles","bundle","bundleApps","bundleIds","searchApps","_app","useAppStoreView","useBundleView","allBundlesEnabled","bundleToggleText","beforeDestroy","setSearch","resetSearch","toggleBundle","disableBundle","enableBundle","Notification","updateAll","n","parseApiResponse","element","appElement","date","expiryDate","Error","filterElements","now","PostType","defineAsyncComponent","CarouselType","ShowcaseType","hasError","elements","shuffleArray","array","i","j","floor","random","info","shuffledElements","order","Infinity","getComponent","defineComponent","render","h","mdiEyeOffOutline","NcEmptyContent","entry","_b","tag","currentCategory","viewLabel","pageHeading","pageTitle","instance","getCurrentInstance","shouldRefetchCategories","fetchAllApps","updateAppsStatus","onBeforeUnmount","clearInterval","getStatusUpdater","NcAppContent","AppList","AppStoreDiscoverSection","statusUpdater","daemonAccessible","defaultDaemon","getUpdateCount","getAppStatus","getInitializingOrDeployingApps","appsApiFailure","message","isHTML","setLoading","Vue","setError","forEach","_id","confirmPassword","post","removable","update_required","showInfo","onClick","location","reload","close","setTimeout","api","fetchAppStatus","initializingOrDeployingApps","debug","hasOwn","daemons","default_daemon_config","setInterval","score","mdiStarHalfFull","mdiStarOutline","appScore","toFixed","fullStars","emptyStars","hasHalfStar","emits","fillColor","$attrs","NcListItem","isDefault","itemTitle","closeModal","selectDaemonAndInstall","exAppsCount","appApiAdminPage","DaemonSelectionEntry","FormatListBullet","appName","DaemonSelectionList","freeze","mdiStarCircleOutline","mdiAccountOutline","mdiArchiveOutline","mdiStarShootingOutline","mdiDownload","ai","mdiCreationOutline","auth","mdiKeyOutline","customization","dashboard","mdiViewColumnOutline","files","mdiFolder","games","mdiControllerClassicOutline","integration","mdiOpenInApp","monitoring","mdiMonitorEye","multimedia","mdiMultimedia","office","mdiFileDocumentEdit","organization","mdiOfficeBuildingOutline","mdiMagnify","security","mdiSecurity","social","mdiAccountMultipleOutline","tools","mdiTools","workflow","mdiClipboardFlowOutline","isSupported","isFeatured","badgeIcon","badgeText","badgeTitle","filterId","filterUrl","substring","SvgFilterMixin","listView","headers","inline","isSelected","scrolled","dataItemTag","withSidebar","$route","shouldDisplayDefaultIcon","watchers","prefix","content","getDataItemHeaders","columnName","summary"],"ignoreList":[],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"settings-apps-view-4529.js?v=d63fed4a010b79c3ad05","mappings":"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","sources":["webpack:///nextcloud/apps/settings/src/store/apps-store.ts","webpack:///nextcloud/apps/settings/src/components/AppAPI/DaemonSelectionList.vue?vue&type=style&index=0&id=a31da1f4&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/settings/src/views/AppStoreNavigation.vue?vue&type=style&index=0&id=6d2cb244&prod&scoped=true&lang=css","webpack:///nextcloud/apps/settings/src/components/AppStoreSidebar/AppDeployDaemonTab.vue?vue&type=style&index=0&id=28419269&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/settings/src/components/AppList/AppDaemonBadge.vue?vue&type=style&index=0&id=d2263fb4&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/settings/src/components/AppList.vue?vue&type=style&index=0&id=707dd976&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/settings/src/service/rebuild-navigation.js","webpack:///nextcloud/apps/settings/src/mixins/AppManagement.js","webpack:///nextcloud/apps/settings/src/views/AppStoreNavigation.vue","webpack:///nextcloud/apps/settings/src/views/AppStoreNavigation.vue?vue&type=script&setup=true&lang=ts","webpack://nextcloud/./apps/settings/src/views/AppStoreNavigation.vue?272c","webpack://nextcloud/./apps/settings/src/views/AppStoreNavigation.vue?6e6f","webpack:///nextcloud/apps/settings/src/components/AppStoreSidebar/AppReleasesTab.vue?vue&type=style&index=0&id=69f0fc16&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/settings/src/components/AppList/AppLevelBadge.vue?vue&type=style&index=0&id=11da8cb3&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/settings/src/components/AppStoreDiscover/AppStoreDiscoverSection.vue?vue&type=style&index=0&id=32ad4b6a&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/settings/src/views/AppStore.vue","webpack:///nextcloud/node_modules/yocto-queue/index.js","webpack:///nextcloud/node_modules/p-limit/index.js","webpack:///nextcloud/apps/settings/src/components/AppList.vue","webpack:///nextcloud/apps/settings/src/components/AppList.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/settings/src/components/AppList.vue?6f9f","webpack://nextcloud/./apps/settings/src/components/AppList.vue?8acf","webpack://nextcloud/./apps/settings/src/components/AppList.vue?ee21","webpack:///nextcloud/apps/settings/src/components/AppStoreDiscover/AppStoreDiscoverSection.vue","webpack:///nextcloud/apps/settings/src/utils/appDiscoverParser.ts","webpack:///nextcloud/apps/settings/src/components/AppStoreDiscover/AppStoreDiscoverSection.vue?vue&type=script&setup=true&lang=ts","webpack://nextcloud/./apps/settings/src/components/AppStoreDiscover/AppStoreDiscoverSection.vue?221c","webpack://nextcloud/./apps/settings/src/components/AppStoreDiscover/AppStoreDiscoverSection.vue?0759","webpack:///nextcloud/apps/settings/src/views/AppStore.vue?vue&type=script&setup=true&lang=ts","webpack://nextcloud/./apps/settings/src/views/AppStore.vue?61b9","webpack://nextcloud/./apps/settings/src/views/AppStore.vue?47b2","webpack:///nextcloud/apps/settings/src/components/AppList/AppScore.vue?vue&type=style&index=0&id=0774afca&prod&scoped=true&lang=css","webpack:///nextcloud/apps/settings/src/store/app-api-store.ts","webpack:///nextcloud/apps/settings/src/components/AppStoreSidebar/AppDeployOptionsModal.vue?vue&type=style&index=0&id=c83c3eca&prod&scoped=true&lang=css","webpack:///nextcloud/apps/settings/src/components/AppList/AppScore.vue","webpack:///nextcloud/apps/settings/src/components/AppList/AppScore.vue?vue&type=script&lang=ts","webpack://nextcloud/./apps/settings/src/components/AppList/AppScore.vue?851b","webpack://nextcloud/./apps/settings/src/components/AppList/AppScore.vue?26fd","webpack:///nextcloud/apps/settings/src/views/AppStoreSidebar.vue?vue&type=style&index=0&id=5c22e56b&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/settings/src/components/AppStoreSidebar/AppDescriptionTab.vue?vue&type=style&index=0&id=1d5b4408&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/settings/src/views/AppStoreSidebar.vue","webpack:///nextcloud/apps/settings/src/components/AppList/AppDaemonBadge.vue","webpack:///nextcloud/apps/settings/src/components/AppList/AppDaemonBadge.vue?vue&type=script&setup=true&lang=ts","webpack://nextcloud/./apps/settings/src/components/AppList/AppDaemonBadge.vue?4961","webpack://nextcloud/./apps/settings/src/components/AppList/AppDaemonBadge.vue?e75c","webpack:///nextcloud/apps/settings/src/components/AppStoreSidebar/AppDeployDaemonTab.vue","webpack:///nextcloud/apps/settings/src/components/AppStoreSidebar/AppDeployDaemonTab.vue?vue&type=script&setup=true&lang=ts","webpack://nextcloud/./apps/settings/src/components/AppStoreSidebar/AppDeployDaemonTab.vue?21a2","webpack://nextcloud/./apps/settings/src/components/AppStoreSidebar/AppDeployDaemonTab.vue?4b28","webpack:///nextcloud/apps/settings/src/components/AppStoreSidebar/AppDescriptionTab.vue","webpack:///nextcloud/apps/settings/src/components/Markdown.vue","webpack:///nextcloud/apps/settings/src/components/Markdown.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/settings/src/components/Markdown.vue?940d","webpack://nextcloud/./apps/settings/src/components/Markdown.vue?26cf","webpack://nextcloud/./apps/settings/src/components/Markdown.vue?d299","webpack:///nextcloud/apps/settings/src/components/AppStoreSidebar/AppDescriptionTab.vue?vue&type=script&setup=true&lang=ts","webpack://nextcloud/./apps/settings/src/components/AppStoreSidebar/AppDescriptionTab.vue?0380","webpack://nextcloud/./apps/settings/src/components/AppStoreSidebar/AppDescriptionTab.vue?311d","webpack://nextcloud/./apps/settings/src/components/AppStoreSidebar/AppDetailsTab.vue?9ed4","webpack:///nextcloud/apps/settings/src/components/AppStoreSidebar/AppDeployOptionsModal.vue","webpack:///nextcloud/apps/settings/src/components/AppStoreSidebar/AppDeployOptionsModal.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/settings/src/components/AppStoreSidebar/AppDeployOptionsModal.vue?d206","webpack://nextcloud/./apps/settings/src/components/AppStoreSidebar/AppDeployOptionsModal.vue?0709","webpack://nextcloud/./apps/settings/src/components/AppStoreSidebar/AppDeployOptionsModal.vue?4e6f","webpack:///nextcloud/apps/settings/src/components/AppStoreSidebar/AppDetailsTab.vue?vue&type=script&lang=js","webpack:///nextcloud/apps/settings/src/components/AppStoreSidebar/AppDetailsTab.vue","webpack://nextcloud/./apps/settings/src/components/AppStoreSidebar/AppDetailsTab.vue?6cde","webpack://nextcloud/./apps/settings/src/components/AppStoreSidebar/AppDetailsTab.vue?d4df","webpack:///nextcloud/apps/settings/src/components/AppStoreSidebar/AppReleasesTab.vue?vue&type=script&setup=true&lang=ts","webpack:///nextcloud/apps/settings/src/components/AppStoreSidebar/AppReleasesTab.vue","webpack://nextcloud/./apps/settings/src/components/AppStoreSidebar/AppReleasesTab.vue?55b0","webpack://nextcloud/./apps/settings/src/components/AppStoreSidebar/AppReleasesTab.vue?d492","webpack:///nextcloud/apps/settings/src/views/AppStoreSidebar.vue?vue&type=script&setup=true&lang=ts","webpack:///nextcloud/apps/settings/src/composables/useAppIcon.ts","webpack://nextcloud/./apps/settings/src/views/AppStoreSidebar.vue?780a","webpack://nextcloud/./apps/settings/src/views/AppStoreSidebar.vue?5373","webpack:///nextcloud/apps/settings/src/components/AppStoreSidebar/AppDetailsTab.vue?vue&type=style&index=0&id=158761c9&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/settings/src/components/AppAPI/DaemonSelectionDialog.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/FormatListBulleted.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/FormatListBulleted.vue?vue&type=script&lang=js","webpack://nextcloud/./node_modules/vue-material-design-icons/FormatListBulleted.vue?6c50","webpack:///nextcloud/node_modules/vue-material-design-icons/FormatListBulleted.vue?vue&type=template&id=5c444520","webpack://nextcloud/./apps/settings/src/components/AppAPI/DaemonSelectionEntry.vue?db35","webpack:///nextcloud/apps/settings/src/components/AppAPI/DaemonSelectionEntry.vue","webpack:///nextcloud/apps/settings/src/components/AppAPI/DaemonSelectionEntry.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/settings/src/components/AppAPI/DaemonSelectionEntry.vue?462d","webpack:///nextcloud/apps/settings/src/components/AppAPI/DaemonSelectionList.vue?vue&type=script&setup=true&lang=js","webpack:///nextcloud/DaemonSelectionList.vue","webpack://nextcloud/./apps/settings/src/components/AppAPI/DaemonSelectionList.vue?18bc","webpack://nextcloud/./apps/settings/src/components/AppAPI/DaemonSelectionList.vue?39f5","webpack:///nextcloud/apps/settings/src/components/AppAPI/DaemonSelectionList.vue","webpack:///nextcloud/apps/settings/src/components/AppAPI/DaemonSelectionDialog.vue?vue&type=script&setup=true&lang=js","webpack:///nextcloud/DaemonSelectionDialog.vue","webpack://nextcloud/./apps/settings/src/components/AppAPI/DaemonSelectionDialog.vue?7e45","webpack:///nextcloud/apps/settings/src/constants/AppstoreCategoryIcons.ts","webpack:///nextcloud/apps/settings/src/components/AppList/AppItem.vue?vue&type=style&index=0&id=50fa5285&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/settings/src/views/AppStore.vue?vue&type=style&index=0&id=0105bd03&prod&scoped=true&lang=css","webpack:///nextcloud/apps/settings/src/constants/AppsConstants.js","webpack:///nextcloud/apps/settings/src/components/AppList/AppLevelBadge.vue","webpack:///nextcloud/apps/settings/src/components/AppList/AppLevelBadge.vue?vue&type=script&setup=true&lang=ts","webpack://nextcloud/./apps/settings/src/components/AppList/AppLevelBadge.vue?6156","webpack://nextcloud/./apps/settings/src/components/AppList/AppLevelBadge.vue?74e8","webpack:///nextcloud/apps/settings/src/components/Markdown.vue?vue&type=style&index=0&id=62ec0d6b&prod&scoped=true&lang=scss","webpack://nextcloud/./apps/settings/src/components/AppList/AppItem.vue?af1e","webpack:///nextcloud/apps/settings/src/components/SvgFilterMixin.vue","webpack:///nextcloud/apps/settings/src/components/SvgFilterMixin.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/settings/src/components/SvgFilterMixin.vue?5bcd","webpack:///nextcloud/apps/settings/src/components/AppList/AppItem.vue","webpack:///nextcloud/apps/settings/src/components/AppList/AppItem.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/settings/src/components/AppList/AppItem.vue?a546","webpack://nextcloud/./apps/settings/src/components/AppList/AppItem.vue?a9a1"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport axios from '@nextcloud/axios';\nimport { showError } from '@nextcloud/dialogs';\nimport { loadState } from '@nextcloud/initial-state';\nimport { translate as t } from '@nextcloud/l10n';\nimport { generateUrl } from '@nextcloud/router';\nimport { defineStore } from 'pinia';\nimport APPSTORE_CATEGORY_ICONS from '../constants/AppstoreCategoryIcons.ts';\nimport logger from '../logger.ts';\nconst showApiError = () => showError(t('settings', 'An error occurred during the request. Unable to proceed.'));\nexport const useAppsStore = defineStore('settings-apps', {\n state: () => ({\n apps: [],\n categories: [],\n updateCount: loadState('settings', 'appstoreUpdateCount', 0),\n loading: {\n apps: false,\n categories: false,\n },\n loadingList: false,\n gettingCategoriesPromise: null,\n }),\n actions: {\n async loadCategories(force = false) {\n if (this.categories.length > 0 && !force) {\n return;\n }\n try {\n this.loading.categories = true;\n const { data: categories } = await axios.get(generateUrl('settings/apps/categories'));\n for (const category of categories) {\n category.icon = APPSTORE_CATEGORY_ICONS[category.id] ?? '';\n }\n this.$patch({\n categories,\n });\n }\n catch (error) {\n logger.error(error);\n showApiError();\n }\n finally {\n this.loading.categories = false;\n }\n },\n async loadApps(force = false) {\n if (this.apps.length > 0 && !force) {\n return;\n }\n try {\n this.loading.apps = true;\n const { data } = await axios.get(generateUrl('settings/apps/list'));\n this.$patch({\n apps: data.apps,\n });\n }\n catch (error) {\n logger.error(error);\n showApiError();\n }\n finally {\n this.loading.apps = false;\n }\n },\n getCategoryById(categoryId) {\n return this.categories.find(({ id }) => id === categoryId) ?? null;\n },\n getAppById(appId) {\n return this.apps.find(({ id }) => id === appId) ?? null;\n },\n updateAppGroups(appId, groups) {\n const app = this.apps.find(({ id }) => id === appId);\n if (app) {\n app.groups = [...groups];\n }\n },\n },\n});\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.daemon-selection-list[data-v-a31da1f4]{max-height:350px;overflow-y:scroll;padding:2rem}.daemon-selection-list__empty-content[data-v-a31da1f4]{margin-top:0;text-align:center}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/AppAPI/DaemonSelectionList.vue\"],\"names\":[],\"mappings\":\"AACA,wCACC,gBAAA,CACA,iBAAA,CACA,YAAA,CAEA,uDACC,YAAA,CACA,iBAAA\",\"sourcesContent\":[\"\\n.daemon-selection-list {\\n\\tmax-height: 350px;\\n\\toverflow-y: scroll;\\n\\tpadding: 2rem;\\n\\n\\t&__empty-content {\\n\\t\\tmargin-top: 0;\\n\\t\\ttext-align: center;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `\n/* The categories-loading indicator */\n.categories--loading[data-v-6d2cb244] {\n\tflex: 1;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n}\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/views/AppStoreNavigation.vue\"],\"names\":[],\"mappings\":\";AAkJA,qCAAA;AACA;CACA,OAAA;CACA,aAAA;CACA,mBAAA;CACA,uBAAA;AACA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.daemon[data-v-28419269]{padding:20px}.daemon h4[data-v-28419269]{font-weight:bold;margin:10px auto}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/AppStoreSidebar/AppDeployDaemonTab.vue\"],\"names\":[],\"mappings\":\"AACA,yBACE,YAAA,CAEA,4BACE,gBAAA,CACA,gBAAA\",\"sourcesContent\":[\"\\n.daemon {\\n padding: 20px;\\n\\n h4 {\\n font-weight: bold;\\n margin: 10px auto;\\n }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.app-daemon-badge[data-v-d2263fb4]{color:var(--color-text-maxcontrast);background-color:rgba(0,0,0,0);border:1px solid var(--color-text-maxcontrast);border-radius:var(--border-radius);display:flex;flex-direction:row;gap:6px;padding:3px 6px;width:fit-content}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/AppList/AppDaemonBadge.vue\"],\"names\":[],\"mappings\":\"AACA,mCACC,mCAAA,CACA,8BAAA,CACA,8CAAA,CACA,kCAAA,CAEA,YAAA,CACA,kBAAA,CACA,OAAA,CACA,eAAA,CACA,iBAAA\",\"sourcesContent\":[\"\\n.app-daemon-badge {\\n\\tcolor: var(--color-text-maxcontrast);\\n\\tbackground-color: transparent;\\n\\tborder: 1px solid var(--color-text-maxcontrast);\\n\\tborder-radius: var(--border-radius);\\n\\n\\tdisplay: flex;\\n\\tflex-direction: row;\\n\\tgap: 6px;\\n\\tpadding: 3px 6px;\\n\\twidth: fit-content;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.apps-list[data-v-707dd976]{display:flex;flex-wrap:wrap;align-content:flex-start}.apps-list--move[data-v-707dd976]{transition:transform 1s}.apps-list #app-list-update-all[data-v-707dd976]{margin-inline-start:10px}.apps-list__toolbar[data-v-707dd976]{height:60px;padding:8px;padding-inline-start:60px;width:100%;background-color:var(--color-main-background);position:sticky;top:0;z-index:1;display:flex;align-items:center}.apps-list--list-view[data-v-707dd976]{margin-bottom:100px;position:relative}.apps-list__list-container[data-v-707dd976]{width:100%}.apps-list__store-container[data-v-707dd976]{display:flex;flex-wrap:wrap}.apps-list__bundle-heading[data-v-707dd976]{display:flex;align-items:center;margin-block:20px;margin-inline:0 10px}.apps-list__bundle-header[data-v-707dd976]{color:var(--color-main-text);margin-block:0;margin-inline:50px 10px;font-weight:bold;font-size:20px;line-height:30px}#apps-list-search .app-item h2[data-v-707dd976]{margin-bottom:0}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/AppList.vue\"],\"names\":[],\"mappings\":\"AAIA,4BACC,YAAA,CACA,cAAA,CACA,wBAAA,CAGA,kCACC,uBAAA,CAGD,iDACC,wBAAA,CAGD,qCACC,WAjBe,CAkBf,WAnBgB,CAqBhB,yBApBe,CAqBf,UAAA,CACA,6CAAA,CACA,eAAA,CACA,KAAA,CACA,SAAA,CACA,YAAA,CACA,kBAAA,CAGD,uCACC,mBAAA,CAEA,iBAAA,CAGD,4CACC,UAAA,CAGD,6CACC,YAAA,CACA,cAAA,CAGD,4CACC,YAAA,CACA,kBAAA,CACA,iBAAA,CACA,oBAAA,CAGD,2CACC,4BAAA,CACA,cAAA,CACA,uBAAA,CACA,gBAAA,CACA,cAAA,CACA,gBAAA,CAMA,gDACC,eAAA\",\"sourcesContent\":[\"\\n$toolbar-padding: 8px;\\n$toolbar-height: 44px + $toolbar-padding * 2;\\n\\n.apps-list {\\n\\tdisplay: flex;\\n\\tflex-wrap: wrap;\\n\\talign-content: flex-start;\\n\\n\\t// For transition group\\n\\t&--move {\\n\\t\\ttransition: transform 1s;\\n\\t}\\n\\n\\t#app-list-update-all {\\n\\t\\tmargin-inline-start: 10px;\\n\\t}\\n\\n\\t&__toolbar {\\n\\t\\theight: $toolbar-height;\\n\\t\\tpadding: $toolbar-padding;\\n\\t\\t// Leave room for app-navigation-toggle\\n\\t\\tpadding-inline-start: $toolbar-height;\\n\\t\\twidth: 100%;\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t\\tposition: sticky;\\n\\t\\ttop: 0;\\n\\t\\tz-index: 1;\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t}\\n\\n\\t&--list-view {\\n\\t\\tmargin-bottom: 100px;\\n\\t\\t// For positioning link overlay on rows\\n\\t\\tposition: relative;\\n\\t}\\n\\n\\t&__list-container {\\n\\t\\twidth: 100%;\\n\\t}\\n\\n\\t&__store-container {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-wrap: wrap;\\n\\t}\\n\\n\\t&__bundle-heading {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tmargin-block: 20px;\\n\\t\\tmargin-inline: 0 10px;\\n\\t}\\n\\n\\t&__bundle-header {\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tmargin-block: 0;\\n\\t\\tmargin-inline: 50px 10px;\\n\\t\\tfont-weight: bold;\\n\\t\\tfont-size: 20px;\\n\\t\\tline-height: 30px;\\n\\t}\\n}\\n\\n#apps-list-search {\\n\\t.app-item {\\n\\t\\th2 {\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","/**\n * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport axios from '@nextcloud/axios'\nimport { emit } from '@nextcloud/event-bus'\nimport { generateOcsUrl } from '@nextcloud/router'\n\nexport default () => {\n\treturn axios.get(generateOcsUrl('core/navigation', 2) + '/apps?format=json')\n\t\t.then(({ data }) => {\n\t\t\tif (data.ocs.meta.statuscode !== 200) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\temit('nextcloud:app-menu.refresh', { apps: data.ocs.data })\n\t\t\twindow.dispatchEvent(new Event('resize'))\n\t\t})\n}\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { showError } from '@nextcloud/dialogs'\nimport rebuildNavigation from '../service/rebuild-navigation.js'\n\nconst productName = window.OC.theme.productName\n\nexport default {\n\tcomputed: {\n\t\tappGroups() {\n\t\t\treturn this.app.groups.map((group) => {\n\t\t\t\treturn { id: group, name: group }\n\t\t\t})\n\t\t},\n\t\tinstalling() {\n\t\t\tif (this.app?.app_api) {\n\t\t\t\treturn this.app && this?.appApiStore.getLoading('install') === true\n\t\t\t}\n\t\t\treturn this.$store.getters.loading('install')\n\t\t},\n\t\tisLoading() {\n\t\t\tif (this.app?.app_api) {\n\t\t\t\treturn this.app && this?.appApiStore.getLoading(this.app.id) === true\n\t\t\t}\n\t\t\treturn this.app && this.$store.getters.loading(this.app.id)\n\t\t},\n\t\tisInitializing() {\n\t\t\tif (this.app?.app_api) {\n\t\t\t\treturn this.app && (this.app?.status?.action === 'init' || this.app?.status?.action === 'healthcheck')\n\t\t\t}\n\t\t\treturn false\n\t\t},\n\t\tisDeploying() {\n\t\t\tif (this.app?.app_api) {\n\t\t\t\treturn this.app && this.app?.status?.action === 'deploy'\n\t\t\t}\n\t\t\treturn false\n\t\t},\n\t\tisManualInstall() {\n\t\t\tif (this.app?.app_api) {\n\t\t\t\treturn this.app?.daemon?.accepts_deploy_id === 'manual-install'\n\t\t\t}\n\t\t\treturn false\n\t\t},\n\t\tupdateButtonText() {\n\t\t\tif (this.app?.app_api && this.app?.daemon?.accepts_deploy_id === 'manual-install') {\n\t\t\t\treturn t('settings', 'Manually installed apps cannot be updated')\n\t\t\t}\n\t\t\treturn t('settings', 'Update to {version}', { version: this.app?.update })\n\t\t},\n\t\tenableButtonText() {\n\t\t\tif (this.app?.app_api) {\n\t\t\t\tif (this.app && this.app?.status?.action && this.app?.status?.action === 'deploy') {\n\t\t\t\t\treturn t('settings', '{progress}% Deploying …', { progress: this.app?.status?.deploy ?? 0 })\n\t\t\t\t}\n\t\t\t\tif (this.app && this.app?.status?.action && this.app?.status?.action === 'init') {\n\t\t\t\t\treturn t('settings', '{progress}% Initializing …', { progress: this.app?.status?.init ?? 0 })\n\t\t\t\t}\n\t\t\t\tif (this.app && this.app?.status?.action && this.app?.status?.action === 'healthcheck') {\n\t\t\t\t\treturn t('settings', 'Health checking')\n\t\t\t\t}\n\t\t\t\tif (this.app.needsDownload) {\n\t\t\t\t\treturn t('settings', 'Deploy and Enable')\n\t\t\t\t}\n\t\t\t\treturn t('settings', 'Enable')\n\t\t\t} else {\n\t\t\t\tif (this.app.needsDownload) {\n\t\t\t\t\treturn t('settings', 'Download and enable')\n\t\t\t\t}\n\t\t\t\treturn t('settings', 'Enable')\n\t\t\t}\n\t\t},\n\t\tdisableButtonText() {\n\t\t\tif (this.app?.app_api) {\n\t\t\t\tif (this.app && this.app?.status?.action && this.app?.status?.action === 'deploy') {\n\t\t\t\t\treturn t('settings', '{progress}% Deploying …', { progress: this.app?.status?.deploy })\n\t\t\t\t}\n\t\t\t\tif (this.app && this.app?.status?.action && this.app?.status?.action === 'init') {\n\t\t\t\t\treturn t('settings', '{progress}% Initializing …', { progress: this.app?.status?.init })\n\t\t\t\t}\n\t\t\t\tif (this.app && this.app?.status?.action && this.app?.status?.action === 'healthcheck') {\n\t\t\t\t\treturn t('settings', 'Health checking')\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn t('settings', 'Disable')\n\t\t},\n\t\tforceEnableButtonText() {\n\t\t\tif (this.app.needsDownload) {\n\t\t\t\treturn t('settings', 'Allow untested app')\n\t\t\t}\n\t\t\treturn t('settings', 'Allow untested app')\n\t\t},\n\t\tenableButtonTooltip() {\n\t\t\tif (!this.app?.app_api && this.app.needsDownload) {\n\t\t\t\treturn t('settings', 'The app will be downloaded from the App Store')\n\t\t\t}\n\t\t\treturn null\n\t\t},\n\t\tforceEnableButtonTooltip() {\n\t\t\tconst base = t('settings', 'This app is not marked as compatible with your {productName} version.', { productName })\n\t\t\t\t+ ' '\n\t\t\t\t+ t('settings', 'If you continue you will still be able to install the app. Note that the app might not work as expected.')\n\t\t\tif (this.app.needsDownload) {\n\t\t\t\treturn base + ' ' + t('settings', 'The app will be downloaded from the App Store')\n\t\t\t}\n\t\t\treturn base\n\t\t},\n\t\tdefaultDeployDaemonAccessible() {\n\t\t\tif (this.app?.app_api) {\n\t\t\t\tif (this.app?.daemon && this.app?.daemon?.accepts_deploy_id === 'manual-install') {\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t\tif (this.app?.daemon?.accepts_deploy_id === 'docker-install'\n\t\t\t\t\t&& this.appApiStore.getDefaultDaemon?.name === this.app?.daemon?.name) {\n\t\t\t\t\treturn this?.appApiStore.getDaemonAccessible === true\n\t\t\t\t}\n\t\t\t\treturn this?.appApiStore.getDaemonAccessible\n\t\t\t}\n\t\t\treturn true\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tgroupCheckedAppsData: false,\n\t\t}\n\t},\n\n\tmounted() {\n\t\tif (this.app && this.app.groups && this.app.groups.length > 0) {\n\t\t\tthis.groupCheckedAppsData = true\n\t\t}\n\t},\n\n\tmethods: {\n\t\tasyncFindGroup(query) {\n\t\t\treturn this.$store.dispatch('getGroups', { search: query, limit: 5, offset: 0 })\n\t\t},\n\t\tisLimitedToGroups() {\n\t\t\tif (this.app?.app_api) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\treturn this.app.groups.length || this.groupCheckedAppsData\n\t\t},\n\t\tsetGroupLimit() {\n\t\t\tif (this.app?.app_api) {\n\t\t\t\treturn // not supported for app_api apps\n\t\t\t}\n\t\t\tif (!this.groupCheckedAppsData) {\n\t\t\t\tthis.$store.dispatch('enableApp', { appId: this.app.id, groups: [] })\n\t\t\t}\n\t\t},\n\t\tcanLimitToGroups(app) {\n\t\t\tif ((app.types && app.types.includes('filesystem'))\n\t\t\t\t|| app.types.includes('prelogin')\n\t\t\t\t|| app.types.includes('authentication')\n\t\t\t\t|| app.types.includes('logging')\n\t\t\t\t|| app.types.includes('prevent_group_restriction')\n\t\t\t\t|| app?.app_api) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\treturn true\n\t\t},\n\t\taddGroupLimitation(groupArray) {\n\t\t\tif (this.app?.app_api) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tconst group = groupArray.pop()\n\t\t\tconst groups = this.app.groups.concat([]).concat([group.id])\n\n\t\t\tif (this.store && this.store.updateAppGroups) {\n\t\t\t\tthis.store.updateAppGroups(this.app.id, groups)\n\t\t\t}\n\n\t\t\tthis.$store.dispatch('enableApp', { appId: this.app.id, groups })\n\t\t},\n\t\tremoveGroupLimitation(group) {\n\t\t\tif (this.app?.app_api) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tconst currentGroups = this.app.groups.concat([])\n\t\t\tconst index = currentGroups.indexOf(group.id)\n\t\t\tif (index > -1) {\n\t\t\t\tcurrentGroups.splice(index, 1)\n\t\t\t}\n\n\t\t\tif (this.store && this.store.updateAppGroups) {\n\t\t\t\tthis.store.updateAppGroups(this.app.id, currentGroups)\n\t\t\t}\n\n\t\t\tif (currentGroups.length === 0) {\n\t\t\t\tthis.groupCheckedAppsData = false\n\t\t\t}\n\n\t\t\tthis.$store.dispatch('enableApp', { appId: this.app.id, groups: currentGroups })\n\t\t},\n\t\tforceEnable(appId) {\n\t\t\tif (this.app?.app_api) {\n\t\t\t\tthis.appApiStore.forceEnableApp(appId)\n\t\t\t\t\t.then(() => { rebuildNavigation() })\n\t\t\t\t\t.catch((error) => { showError(error) })\n\t\t\t} else {\n\t\t\t\tthis.$store.dispatch('forceEnableApp', { appId, groups: [] })\n\t\t\t\t\t.then(() => { rebuildNavigation() })\n\t\t\t\t\t.catch((error) => { showError(error) })\n\t\t\t}\n\t\t},\n\t\tenable(appId, daemon = null, deployOptions = {}) {\n\t\t\tif (this.app?.app_api) {\n\t\t\t\tthis.appApiStore.enableApp(appId, daemon, deployOptions)\n\t\t\t\t\t.then(() => { rebuildNavigation() })\n\t\t\t\t\t.catch((error) => { showError(error) })\n\t\t\t} else {\n\t\t\t\tthis.$store.dispatch('enableApp', { appId, groups: [] })\n\t\t\t\t\t.then(() => { rebuildNavigation() })\n\t\t\t\t\t.catch((error) => { showError(error) })\n\t\t\t}\n\t\t},\n\t\tdisable(appId) {\n\t\t\tif (this.app?.app_api) {\n\t\t\t\tthis.appApiStore.disableApp(appId)\n\t\t\t\t\t.then(() => { rebuildNavigation() })\n\t\t\t\t\t.catch((error) => { showError(error) })\n\t\t\t} else {\n\t\t\t\tthis.$store.dispatch('disableApp', { appId })\n\t\t\t\t\t.then(() => { rebuildNavigation() })\n\t\t\t\t\t.catch((error) => { showError(error) })\n\t\t\t}\n\t\t},\n\t\tasync remove(appId, removeData = false) {\n\t\t\ttry {\n\t\t\t\tif (this.app?.app_api) {\n\t\t\t\t\tawait this.appApiStore.uninstallApp(appId, removeData)\n\t\t\t\t} else {\n\t\t\t\t\tawait this.$store.dispatch('uninstallApp', { appId, removeData })\n\t\t\t\t}\n\t\t\t\tawait rebuildNavigation()\n\t\t\t} catch (error) {\n\t\t\t\tshowError(error)\n\t\t\t}\n\t\t},\n\t\tinstall(appId) {\n\t\t\tif (this.app?.app_api) {\n\t\t\t\tthis.appApiStore.enableApp(appId)\n\t\t\t\t\t.then(() => { rebuildNavigation() })\n\t\t\t\t\t.catch((error) => { showError(error) })\n\t\t\t} else {\n\t\t\t\tthis.$store.dispatch('enableApp', { appId })\n\t\t\t\t\t.then(() => { rebuildNavigation() })\n\t\t\t\t\t.catch((error) => { showError(error) })\n\t\t\t}\n\t\t},\n\t\tupdate(appId) {\n\t\t\tif (this.app?.app_api) {\n\t\t\t\tthis.appApiStore.updateApp(appId)\n\t\t\t\t\t.then(() => { rebuildNavigation() })\n\t\t\t\t\t.catch((error) => { showError(error) })\n\t\t\t} else {\n\t\t\t\tthis.$store.dispatch('updateApp', { appId })\n\t\t\t\t\t.catch((error) => { showError(error) })\n\t\t\t\t\t.then(() => {\n\t\t\t\t\t\trebuildNavigation()\n\t\t\t\t\t\tthis.store.updateCount = Math.max(this.store.updateCount - 1, 0)\n\t\t\t\t\t})\n\t\t\t}\n\t\t},\n\t},\n}\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c(_setup.NcAppNavigation,{attrs:{\"aria-label\":_setup.t('settings', 'Apps')},scopedSlots:_vm._u([{key:\"list\",fn:function(){return [(_setup.appstoreEnabled)?_c(_setup.NcAppNavigationItem,{attrs:{\"id\":\"app-category-discover\",\"to\":{ name: 'apps-category', params: { category: 'discover' } },\"name\":_setup.APPS_SECTION_ENUM.discover},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.APPSTORE_CATEGORY_ICONS.discover}})]},proxy:true}],null,false,1397544286)}):_vm._e(),_vm._v(\" \"),_c(_setup.NcAppNavigationItem,{attrs:{\"id\":\"app-category-installed\",\"to\":{ name: 'apps-category', params: { category: 'installed' } },\"name\":_setup.APPS_SECTION_ENUM.installed},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.APPSTORE_CATEGORY_ICONS.installed}})]},proxy:true}])}),_vm._v(\" \"),_c(_setup.NcAppNavigationItem,{attrs:{\"id\":\"app-category-enabled\",\"to\":{ name: 'apps-category', params: { category: 'enabled' } },\"name\":_setup.APPS_SECTION_ENUM.enabled},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.APPSTORE_CATEGORY_ICONS.enabled}})]},proxy:true}])}),_vm._v(\" \"),_c(_setup.NcAppNavigationItem,{attrs:{\"id\":\"app-category-disabled\",\"to\":{ name: 'apps-category', params: { category: 'disabled' } },\"name\":_setup.APPS_SECTION_ENUM.disabled},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.APPSTORE_CATEGORY_ICONS.disabled}})]},proxy:true}])}),_vm._v(\" \"),(_setup.store.updateCount > 0)?_c(_setup.NcAppNavigationItem,{attrs:{\"id\":\"app-category-updates\",\"to\":{ name: 'apps-category', params: { category: 'updates' } },\"name\":_setup.APPS_SECTION_ENUM.updates},scopedSlots:_vm._u([{key:\"counter\",fn:function(){return [_c(_setup.NcCounterBubble,[_vm._v(_vm._s(_setup.store.updateCount))])]},proxy:true},{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.APPSTORE_CATEGORY_ICONS.updates}})]},proxy:true}],null,false,3001044337)}):_vm._e(),_vm._v(\" \"),_c(_setup.NcAppNavigationItem,{attrs:{\"id\":\"app-category-your-bundles\",\"to\":{ name: 'apps-category', params: { category: 'app-bundles' } },\"name\":_setup.APPS_SECTION_ENUM['app-bundles']},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.APPSTORE_CATEGORY_ICONS.bundles}})]},proxy:true}])}),_vm._v(\" \"),_c(_setup.NcAppNavigationSpacer),_vm._v(\" \"),(_setup.appstoreEnabled && _setup.categoriesLoading)?_c('li',{staticClass:\"categories--loading\"},[_c(_setup.NcLoadingIcon,{attrs:{\"size\":20,\"aria-label\":_setup.t('settings', 'Loading categories')}})],1):(_setup.appstoreEnabled && !_setup.categoriesLoading)?[(_setup.isSubscribed)?_c(_setup.NcAppNavigationItem,{attrs:{\"id\":\"app-category-supported\",\"to\":{ name: 'apps-category', params: { category: 'supported' } },\"name\":_setup.APPS_SECTION_ENUM.supported},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.APPSTORE_CATEGORY_ICONS.supported}})]},proxy:true}],null,false,613663011)}):_vm._e(),_vm._v(\" \"),_c(_setup.NcAppNavigationItem,{attrs:{\"id\":\"app-category-featured\",\"to\":{ name: 'apps-category', params: { category: 'featured' } },\"name\":_setup.APPS_SECTION_ENUM.featured},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.APPSTORE_CATEGORY_ICONS.featured}})]},proxy:true}])}),_vm._v(\" \"),_vm._l((_setup.categories),function(category){return _c(_setup.NcAppNavigationItem,{key:category.id,attrs:{\"id\":`app-category-${category.id}`,\"name\":category.displayName,\"to\":{\n\t\t\t\t\tname: 'apps-category',\n\t\t\t\t\tparams: { category: category.id },\n\t\t\t\t}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":category.icon}})]},proxy:true}],null,true)})})]:_vm._e(),_vm._v(\" \"),_c(_setup.NcAppNavigationItem,{attrs:{\"id\":\"app-developer-docs\",\"name\":_setup.t('settings', 'Developer documentation ↗'),\"href\":_setup.developerDocsUrl}})]},proxy:true}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppStoreNavigation.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppStoreNavigation.vue?vue&type=script&setup=true&lang=ts\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppStoreNavigation.vue?vue&type=style&index=0&id=6d2cb244&prod&scoped=true&lang=css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppStoreNavigation.vue?vue&type=style&index=0&id=6d2cb244&prod&scoped=true&lang=css\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppStoreNavigation.vue?vue&type=template&id=6d2cb244&scoped=true\"\nimport script from \"./AppStoreNavigation.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AppStoreNavigation.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./AppStoreNavigation.vue?vue&type=style&index=0&id=6d2cb244&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6d2cb244\",\n null\n \n)\n\nexport default component.exports","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.app-sidebar-tabs__release h2[data-v-69f0fc16]{border-bottom:1px solid var(--color-border);font-size:24px}.app-sidebar-tabs__release-text[data-v-69f0fc16] h3{font-size:20px}.app-sidebar-tabs__release-text[data-v-69f0fc16] h4{font-size:17px}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/AppStoreSidebar/AppReleasesTab.vue\"],\"names\":[],\"mappings\":\"AAEC,+CACC,2CAAA,CACA,cAAA,CAKA,oDACC,cAAA,CAED,oDACC,cAAA\",\"sourcesContent\":[\"\\n.app-sidebar-tabs__release {\\n\\th2 {\\n\\t\\tborder-bottom: 1px solid var(--color-border);\\n\\t\\tfont-size: 24px;\\n\\t}\\n\\n\\t&-text {\\n\\t\\t// Overwrite changelog heading styles\\n\\t\\t:deep(h3) {\\n\\t\\t\\tfont-size: 20px;\\n\\t\\t}\\n\\t\\t:deep(h4) {\\n\\t\\t\\tfont-size: 17px;\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.app-level-badge[data-v-11da8cb3]{color:var(--color-text-maxcontrast);background-color:rgba(0,0,0,0);border:1px solid var(--color-text-maxcontrast);border-radius:var(--border-radius);display:flex;flex-direction:row;gap:6px;padding:3px 6px;width:fit-content}.app-level-badge--supported[data-v-11da8cb3]{background-color:var(--color-success);border-color:var(--color-border-success);color:var(--color-success-text)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/AppList/AppLevelBadge.vue\"],\"names\":[],\"mappings\":\"AACA,kCACC,mCAAA,CACA,8BAAA,CACA,8CAAA,CACA,kCAAA,CAEA,YAAA,CACA,kBAAA,CACA,OAAA,CACA,eAAA,CACA,iBAAA,CAEA,6CACC,qCAAA,CACA,wCAAA,CACA,+BAAA\",\"sourcesContent\":[\"\\n.app-level-badge {\\n\\tcolor: var(--color-text-maxcontrast);\\n\\tbackground-color: transparent;\\n\\tborder: 1px solid var(--color-text-maxcontrast);\\n\\tborder-radius: var(--border-radius);\\n\\n\\tdisplay: flex;\\n\\tflex-direction: row;\\n\\tgap: 6px;\\n\\tpadding: 3px 6px;\\n\\twidth: fit-content;\\n\\n\\t&--supported {\\n\\t\\tbackground-color: var(--color-success);\\n\\t\\tborder-color: var(--color-border-success);\\n\\t\\tcolor: var(--color-success-text);\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.app-discover[data-v-32ad4b6a]{max-width:1008px;margin-inline:auto;padding-inline:54px;padding-block-end:var(--default-clickable-area, 44px);display:flex;flex-direction:column;gap:var(--default-clickable-area, 44px)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/AppStoreDiscover/AppStoreDiscoverSection.vue\"],\"names\":[],\"mappings\":\"AACA,+BACC,gBAAA,CACA,kBAAA,CACA,mBAAA,CAEA,qDAAA,CAEA,YAAA,CACA,qBAAA,CACA,uCAAA\",\"sourcesContent\":[\"\\n.app-discover {\\n\\tmax-width: 1008px; /* 900px + 2x 54px padding for the carousel controls */\\n\\tmargin-inline: auto;\\n\\tpadding-inline: 54px;\\n\\t/* Padding required to make last element not bound to the bottom */\\n\\tpadding-block-end: var(--default-clickable-area, 44px);\\n\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\tgap: var(--default-clickable-area, 44px);\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c(_setup.NcAppContent,{staticClass:\"app-settings-content\",attrs:{\"page-heading\":_setup.pageHeading,\"page-title\":_setup.pageTitle}},[_c('h2',{staticClass:\"app-settings-content__label\",domProps:{\"textContent\":_vm._s(_setup.viewLabel)}}),_vm._v(\" \"),(_setup.currentCategory === 'discover')?_c(_setup.AppStoreDiscoverSection):(_setup.isLoading)?_c(_setup.NcEmptyContent,{staticClass:\"empty-content__loading\",attrs:{\"name\":_setup.t('settings', 'Loading app list')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcLoadingIcon,{attrs:{\"size\":64}})]},proxy:true}])}):_c(_setup.AppList,{attrs:{\"category\":_setup.currentCategory}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/*\nHow it works:\n`this.#head` is an instance of `Node` which keeps track of its current value and nests another instance of `Node` that keeps the value that comes after it. When a value is provided to `.enqueue()`, the code needs to iterate through `this.#head`, going deeper and deeper to find the last value. However, iterating through every single item is slow. This problem is solved by saving a reference to the last value as `this.#tail` so that it can reference it to add a new value.\n*/\n\nclass Node {\n\tvalue;\n\tnext;\n\n\tconstructor(value) {\n\t\tthis.value = value;\n\t}\n}\n\nexport default class Queue {\n\t#head;\n\t#tail;\n\t#size;\n\n\tconstructor() {\n\t\tthis.clear();\n\t}\n\n\tenqueue(value) {\n\t\tconst node = new Node(value);\n\n\t\tif (this.#head) {\n\t\t\tthis.#tail.next = node;\n\t\t\tthis.#tail = node;\n\t\t} else {\n\t\t\tthis.#head = node;\n\t\t\tthis.#tail = node;\n\t\t}\n\n\t\tthis.#size++;\n\t}\n\n\tdequeue() {\n\t\tconst current = this.#head;\n\t\tif (!current) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.#head = this.#head.next;\n\t\tthis.#size--;\n\t\treturn current.value;\n\t}\n\n\tpeek() {\n\t\tif (!this.#head) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn this.#head.value;\n\n\t\t// TODO: Node.js 18.\n\t\t// return this.#head?.value;\n\t}\n\n\tclear() {\n\t\tthis.#head = undefined;\n\t\tthis.#tail = undefined;\n\t\tthis.#size = 0;\n\t}\n\n\tget size() {\n\t\treturn this.#size;\n\t}\n\n\t* [Symbol.iterator]() {\n\t\tlet current = this.#head;\n\n\t\twhile (current) {\n\t\t\tyield current.value;\n\t\t\tcurrent = current.next;\n\t\t}\n\t}\n\n\t* drain() {\n\t\twhile (this.#head) {\n\t\t\tyield this.dequeue();\n\t\t}\n\t}\n}\n","import Queue from 'yocto-queue';\n\nexport default function pLimit(concurrency) {\n\tvalidateConcurrency(concurrency);\n\n\tconst queue = new Queue();\n\tlet activeCount = 0;\n\n\tconst resumeNext = () => {\n\t\t// Process the next queued function if we're under the concurrency limit\n\t\tif (activeCount < concurrency && queue.size > 0) {\n\t\t\tactiveCount++;\n\t\t\tqueue.dequeue()();\n\t\t}\n\t};\n\n\tconst next = () => {\n\t\tactiveCount--;\n\t\tresumeNext();\n\t};\n\n\tconst run = async (function_, resolve, arguments_) => {\n\t\t// Execute the function and capture the result promise\n\t\tconst result = (async () => function_(...arguments_))();\n\n\t\t// Resolve immediately with the promise (don't wait for completion)\n\t\tresolve(result);\n\n\t\t// Wait for the function to complete (success or failure)\n\t\t// We catch errors here to prevent unhandled rejections,\n\t\t// but the original promise rejection is preserved for the caller\n\t\ttry {\n\t\t\tawait result;\n\t\t} catch {}\n\n\t\t// Decrement active count and process next queued function\n\t\tnext();\n\t};\n\n\tconst enqueue = (function_, resolve, arguments_) => {\n\t\t// Queue the internal resolve function instead of the run function\n\t\t// to preserve the asynchronous execution context.\n\t\tnew Promise(internalResolve => { // eslint-disable-line promise/param-names\n\t\t\tqueue.enqueue(internalResolve);\n\t\t}).then(run.bind(undefined, function_, resolve, arguments_)); // eslint-disable-line promise/prefer-await-to-then\n\n\t\t// Start processing immediately if we haven't reached the concurrency limit\n\t\tif (activeCount < concurrency) {\n\t\t\tresumeNext();\n\t\t}\n\t};\n\n\tconst generator = (function_, ...arguments_) => new Promise(resolve => {\n\t\tenqueue(function_, resolve, arguments_);\n\t});\n\n\tObject.defineProperties(generator, {\n\t\tactiveCount: {\n\t\t\tget: () => activeCount,\n\t\t},\n\t\tpendingCount: {\n\t\t\tget: () => queue.size,\n\t\t},\n\t\tclearQueue: {\n\t\t\tvalue() {\n\t\t\t\tqueue.clear();\n\t\t\t},\n\t\t},\n\t\tconcurrency: {\n\t\t\tget: () => concurrency,\n\n\t\t\tset(newConcurrency) {\n\t\t\t\tvalidateConcurrency(newConcurrency);\n\t\t\t\tconcurrency = newConcurrency;\n\n\t\t\t\tqueueMicrotask(() => {\n\t\t\t\t\t// eslint-disable-next-line no-unmodified-loop-condition\n\t\t\t\t\twhile (activeCount < concurrency && queue.size > 0) {\n\t\t\t\t\t\tresumeNext();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},\n\t\t},\n\t\tmap: {\n\t\t\tasync value(iterable, function_) {\n\t\t\t\tconst promises = Array.from(iterable, (value, index) => this(function_, value, index));\n\t\t\t\treturn Promise.all(promises);\n\t\t\t},\n\t\t},\n\t});\n\n\treturn generator;\n}\n\nexport function limitFunction(function_, options) {\n\tconst {concurrency} = options;\n\tconst limit = pLimit(concurrency);\n\n\treturn (...arguments_) => limit(() => function_(...arguments_));\n}\n\nfunction validateConcurrency(concurrency) {\n\tif (!((Number.isInteger(concurrency) || concurrency === Number.POSITIVE_INFINITY) && concurrency > 0)) {\n\t\tthrow new TypeError('Expected `concurrency` to be a number from 1 and up');\n\t}\n}\n","\n\n\n\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppList.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppList.vue?vue&type=script&lang=js\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppList.vue?vue&type=style&index=0&id=707dd976&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppList.vue?vue&type=style&index=0&id=707dd976&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppList.vue?vue&type=template&id=707dd976&scoped=true\"\nimport script from \"./AppList.vue?vue&type=script&lang=js\"\nexport * from \"./AppList.vue?vue&type=script&lang=js\"\nimport style0 from \"./AppList.vue?vue&type=style&index=0&id=707dd976&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"707dd976\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":\"app-content-inner\"}},[_c('div',{staticClass:\"apps-list\",class:{\n\t\t\t'apps-list--list-view': (_vm.useBundleView || _vm.useListView),\n\t\t\t'apps-list--store-view': _vm.useAppStoreView,\n\t\t},attrs:{\"id\":\"apps-list\"}},[(_vm.useListView)?[(_vm.showUpdateAll)?_c('div',{staticClass:\"apps-list__toolbar\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.n('settings', '%n app has an update available', '%n apps have an update available', _vm.counter))+\"\\n\\t\\t\\t\\t\"),(_vm.showUpdateAll)?_c('NcButton',{attrs:{\"id\":\"app-list-update-all\",\"variant\":\"primary\"},on:{\"click\":_vm.updateAll}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.n('settings', 'Update', 'Update all', _vm.counter))+\"\\n\\t\\t\\t\\t\")]):_vm._e()],1):_vm._e(),_vm._v(\" \"),(!_vm.showUpdateAll)?_c('div',{staticClass:\"apps-list__toolbar\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'All apps are up-to-date.'))+\"\\n\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),_c('TransitionGroup',{staticClass:\"apps-list__list-container\",attrs:{\"name\":\"apps-list\",\"tag\":\"table\"}},[_c('tr',{key:\"app-list-view-header\"},[_c('th',[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Icon')))])]),_vm._v(\" \"),_c('th',[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Name')))])]),_vm._v(\" \"),_c('th',[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Version')))])]),_vm._v(\" \"),_c('th',[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Level')))])]),_vm._v(\" \"),_c('th',[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Actions')))])])]),_vm._v(\" \"),_vm._l((_vm.apps),function(app){return _c('AppItem',{key:app.id,attrs:{\"app\":app,\"category\":_vm.category}})})],2)]:_vm._e(),_vm._v(\" \"),(_vm.useBundleView)?_c('table',{staticClass:\"apps-list__list-container\"},[_c('tr',{key:\"app-list-view-header\"},[_c('th',{attrs:{\"id\":\"app-table-col-icon\"}},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Icon')))])]),_vm._v(\" \"),_c('th',{attrs:{\"id\":\"app-table-col-name\"}},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Name')))])]),_vm._v(\" \"),_c('th',{attrs:{\"id\":\"app-table-col-version\"}},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Version')))])]),_vm._v(\" \"),_c('th',{attrs:{\"id\":\"app-table-col-level\"}},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Level')))])]),_vm._v(\" \"),_c('th',{attrs:{\"id\":\"app-table-col-actions\"}},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Actions')))])])]),_vm._v(\" \"),_vm._l((_vm.bundles),function(bundle){return [_c('tr',{key:bundle.id},[_c('th',{attrs:{\"id\":`app-table-rowgroup-${bundle.id}`,\"colspan\":\"5\",\"scope\":\"rowgroup\"}},[_c('div',{staticClass:\"apps-list__bundle-heading\"},[_c('span',{staticClass:\"apps-list__bundle-header\"},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\"+_vm._s(bundle.name)+\"\\n\\t\\t\\t\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('NcButton',{attrs:{\"variant\":\"secondary\"},on:{\"click\":function($event){return _vm.toggleBundle(bundle.id)}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', _vm.bundleToggleText(bundle.id)))+\"\\n\\t\\t\\t\\t\\t\\t\\t\")])],1)])]),_vm._v(\" \"),_vm._l((_vm.bundleApps(bundle.id)),function(app){return _c('AppItem',{key:bundle.id + app.id,attrs:{\"use-bundle-view\":true,\"headers\":`app-table-rowgroup-${bundle.id}`,\"app\":app,\"category\":_vm.category}})})]})],2):_vm._e(),_vm._v(\" \"),(_vm.useAppStoreView)?_c('ul',{staticClass:\"apps-list__store-container\"},_vm._l((_vm.apps),function(app){return _c('AppItem',{key:app.id,attrs:{\"app\":app,\"category\":_vm.category,\"list-view\":false}})}),1):_vm._e()],2),_vm._v(\" \"),_c('div',{staticClass:\"apps-list apps-list--list-view\",attrs:{\"id\":\"apps-list-search\"}},[_c('div',{staticClass:\"apps-list__list-container\"},[(_vm.search !== '' && _vm.searchApps.length > 0)?_c('table',{staticClass:\"apps-list__list-container\"},[_c('caption',{staticClass:\"apps-list__bundle-header\"},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Results from other categories'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('tr',{key:\"app-list-view-header\"},[_c('th',[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Icon')))])]),_vm._v(\" \"),_c('th',[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Name')))])]),_vm._v(\" \"),_c('th',[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Version')))])]),_vm._v(\" \"),_c('th',[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Level')))])]),_vm._v(\" \"),_c('th',[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Actions')))])])]),_vm._v(\" \"),_vm._l((_vm.searchApps),function(app){return _c('AppItem',{key:app.id,attrs:{\"app\":app,\"category\":_vm.category}})})],2):_vm._e()])]),_vm._v(\" \"),(_vm.search !== '' && !_vm.loading && _vm.searchApps.length === 0 && _vm.apps.length === 0)?_c('div',{staticClass:\"emptycontent emptycontent-search\",attrs:{\"id\":\"apps-list-empty\"}},[_c('div',{staticClass:\"icon-settings-dark\",attrs:{\"id\":\"app-list-empty-icon\"}}),_vm._v(\" \"),_c('h2',[_vm._v(_vm._s(_vm.t('settings', 'No apps found for your version')))])]):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"app-discover\"},[(_setup.hasError)?_c(_setup.NcEmptyContent,{attrs:{\"name\":_setup.t('settings', 'Nothing to show'),\"description\":_setup.t('settings', 'Could not load section content from app store.')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.mdiEyeOffOutline,\"size\":64}})]},proxy:true}],null,false,3626885458)}):(_setup.elements.length === 0)?_c(_setup.NcEmptyContent,{attrs:{\"name\":_setup.t('settings', 'Loading'),\"description\":_setup.t('settings', 'Fetching the latest news…')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcLoadingIcon,{attrs:{\"size\":64}})]},proxy:true}])}):_vm._l((_setup.elements),function(entry,index){return _c(_setup.getComponent(entry.type),_vm._b({key:entry.id ?? index,tag:\"component\"},'component',entry,false))})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * Helper to transform the JSON API results to proper frontend objects (app discover section elements)\n *\n * @param element The JSON API element to transform\n */\nexport function parseApiResponse(element) {\n const appElement = { ...element };\n if (appElement.date) {\n appElement.date = Date.parse(appElement.date);\n }\n if (appElement.expiryDate) {\n appElement.expiryDate = Date.parse(appElement.expiryDate);\n }\n if (appElement.type === 'post') {\n return appElement;\n }\n else if (appElement.type === 'showcase') {\n return appElement;\n }\n else if (appElement.type === 'carousel') {\n return appElement;\n }\n throw new Error(`Invalid argument, app discover element with type ${element.type ?? 'unknown'} is unknown`);\n}\n/**\n * Filter outdated or upcoming elements\n *\n * @param element Element to check\n */\nexport function filterElements(element) {\n const now = Date.now();\n // Element not yet published\n if (element.date && element.date > now) {\n return false;\n }\n // Element expired\n if (element.expiryDate && element.expiryDate < now) {\n return false;\n }\n return true;\n}\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppStoreDiscoverSection.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppStoreDiscoverSection.vue?vue&type=script&setup=true&lang=ts\"","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppStoreDiscoverSection.vue?vue&type=style&index=0&id=32ad4b6a&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppStoreDiscoverSection.vue?vue&type=style&index=0&id=32ad4b6a&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppStoreDiscoverSection.vue?vue&type=template&id=32ad4b6a&scoped=true\"\nimport script from \"./AppStoreDiscoverSection.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AppStoreDiscoverSection.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./AppStoreDiscoverSection.vue?vue&type=style&index=0&id=32ad4b6a&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"32ad4b6a\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppStore.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppStore.vue?vue&type=script&setup=true&lang=ts\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppStore.vue?vue&type=style&index=0&id=0105bd03&prod&scoped=true&lang=css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppStore.vue?vue&type=style&index=0&id=0105bd03&prod&scoped=true&lang=css\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppStore.vue?vue&type=template&id=0105bd03&scoped=true\"\nimport script from \"./AppStore.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AppStore.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./AppStore.vue?vue&type=style&index=0&id=0105bd03&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0105bd03\",\n null\n \n)\n\nexport default component.exports","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `\n.app-score__wrapper[data-v-0774afca] {\n\tdisplay: inline-flex;\n\tcolor: var(--color-favorite, #a08b00);\n> *[data-v-0774afca] {\n\t\tvertical-align: text-bottom;\n}\n}\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/AppList/AppScore.vue\"],\"names\":[],\"mappings\":\";AA0EA;CACA,oBAAA;CACA,qCAAA;AAEA;EACA,2BAAA;AACA;AACA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","/**\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport axios from '@nextcloud/axios';\nimport { showError, showInfo } from '@nextcloud/dialogs';\nimport { loadState } from '@nextcloud/initial-state';\nimport { translate as t } from '@nextcloud/l10n';\nimport { confirmPassword } from '@nextcloud/password-confirmation';\nimport { generateUrl } from '@nextcloud/router';\nimport { defineStore } from 'pinia';\nimport Vue from 'vue';\nimport logger from '../logger.ts';\nimport api from './api.js';\nexport const useAppApiStore = defineStore('app-api-apps', {\n state: () => ({\n apps: [],\n updateCount: loadState('settings', 'appstoreExAppUpdateCount', 0),\n loading: {},\n loadingList: false,\n statusUpdater: null,\n daemonAccessible: loadState('settings', 'defaultDaemonConfigAccessible', false),\n defaultDaemon: loadState('settings', 'defaultDaemonConfig', null),\n dockerDaemons: [],\n }),\n getters: {\n getLoading: (state) => (id) => state.loading[id] ?? false,\n getAllApps: (state) => state.apps,\n getUpdateCount: (state) => state.updateCount,\n getDaemonAccessible: (state) => state.daemonAccessible,\n getDefaultDaemon: (state) => state.defaultDaemon,\n getAppStatus: (state) => (appId) => state.apps.find((app) => app.id === appId)?.status || null,\n getStatusUpdater: (state) => state.statusUpdater,\n getInitializingOrDeployingApps: (state) => state.apps.filter((app) => app?.status?.action\n && (app?.status?.action === 'deploy' || app.status.action === 'init' || app.status.action === 'healthcheck')\n && app.status.type !== ''),\n },\n actions: {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n appsApiFailure(error) {\n showError(t('settings', 'An error occurred during the request. Unable to proceed.') + '
' + error.error.response.data.data.message, { isHTML: true });\n logger.error(error);\n },\n setLoading(id, value) {\n Vue.set(this.loading, id, value);\n },\n setError(appId, error) {\n const appIds = Array.isArray(appId) ? appId : [appId];\n appIds.forEach((_id) => {\n const app = this.apps.find((app) => app.id === _id);\n if (app) {\n app.error = error;\n }\n });\n },\n enableApp(appId, daemon, deployOptions) {\n this.setLoading(appId, true);\n this.setLoading('install', true);\n return confirmPassword().then(() => {\n return axios.post(generateUrl(`/apps/app_api/apps/enable/${appId}/${daemon.name}`), { deployOptions })\n .then((response) => {\n this.setLoading(appId, false);\n this.setLoading('install', false);\n const app = this.apps.find((app) => app.id === appId);\n if (app) {\n if (!app.installed) {\n app.installed = true;\n app.needsDownload = false;\n app.daemon = daemon;\n app.status = {\n type: 'install',\n action: 'deploy',\n init: 0,\n deploy: 0,\n };\n }\n app.active = true;\n app.canUnInstall = false;\n app.removable = true;\n app.error = '';\n }\n this.updateAppsStatus();\n return axios.get(generateUrl('apps/files'))\n .then(() => {\n if (response.data.update_required) {\n showInfo(t('settings', 'The app has been enabled but needs to be updated.'), {\n onClick: () => window.location.reload(),\n close: false,\n });\n setTimeout(() => {\n location.reload();\n }, 5000);\n }\n })\n .catch(() => {\n this.setError(appId, t('settings', 'Error: This app cannot be enabled because it makes the server unstable'));\n });\n })\n .catch((error) => {\n this.setLoading(appId, false);\n this.setLoading('install', false);\n this.setError(appId, error.response.data.data.message);\n this.appsApiFailure({ appId, error });\n });\n }).catch(() => {\n this.setLoading(appId, false);\n this.setLoading('install', false);\n });\n },\n forceEnableApp(appId) {\n this.setLoading(appId, true);\n this.setLoading('install', true);\n return confirmPassword().then(() => {\n return api.post(generateUrl('/apps/app_api/apps/force'), { appId })\n .then(() => {\n location.reload();\n })\n .catch((error) => {\n this.setLoading(appId, false);\n this.setLoading('install', false);\n this.setError(appId, error.response.data.data.message);\n this.appsApiFailure({ appId, error });\n });\n }).catch(() => {\n this.setLoading(appId, false);\n this.setLoading('install', false);\n });\n },\n disableApp(appId) {\n this.setLoading(appId, true);\n return confirmPassword().then(() => {\n return api.get(generateUrl(`apps/app_api/apps/disable/${appId}`))\n .then(() => {\n this.setLoading(appId, false);\n const app = this.apps.find((app) => app.id === appId);\n if (app) {\n app.active = false;\n if (app.removable) {\n app.canUnInstall = true;\n }\n }\n return true;\n })\n .catch((error) => {\n this.setLoading(appId, false);\n this.appsApiFailure({ appId, error });\n });\n }).catch(() => {\n this.setLoading(appId, false);\n });\n },\n uninstallApp(appId, removeData) {\n this.setLoading(appId, true);\n return confirmPassword().then(() => {\n return api.get(generateUrl(`/apps/app_api/apps/uninstall/${appId}?removeData=${removeData}`))\n .then(() => {\n this.setLoading(appId, false);\n const app = this.apps.find((app) => app.id === appId);\n if (app) {\n app.active = false;\n app.needsDownload = true;\n app.installed = false;\n app.canUnInstall = false;\n app.canInstall = true;\n app.daemon = null;\n app.status = {};\n if (app.update !== null) {\n this.updateCount--;\n }\n app.update = undefined;\n }\n return true;\n })\n .catch((error) => {\n this.setLoading(appId, false);\n this.appsApiFailure({ appId, error });\n });\n });\n },\n updateApp(appId) {\n this.setLoading(appId, true);\n this.setLoading('install', true);\n return confirmPassword().then(() => {\n return api.get(generateUrl(`/apps/app_api/apps/update/${appId}`))\n .then(() => {\n this.setLoading(appId, false);\n this.setLoading('install', false);\n const app = this.apps.find((app) => app.id === appId);\n if (app) {\n const version = app.update;\n app.update = undefined;\n app.version = version || app.version;\n app.status = {\n type: 'update',\n action: 'deploy',\n init: 0,\n deploy: 0,\n };\n app.error = '';\n }\n this.updateCount--;\n this.updateAppsStatus();\n return true;\n })\n .catch((error) => {\n this.setLoading(appId, false);\n this.setLoading('install', false);\n this.appsApiFailure({ appId, error });\n });\n }).catch(() => {\n this.setLoading(appId, false);\n this.setLoading('install', false);\n });\n },\n async fetchAllApps() {\n this.loadingList = true;\n try {\n const response = await api.get(generateUrl('/apps/app_api/apps/list'));\n this.apps = response.data.apps;\n this.loadingList = false;\n return true;\n }\n catch (error) {\n logger.error(error);\n showError(t('settings', 'An error occurred during the request. Unable to proceed.'));\n this.loadingList = false;\n }\n },\n async fetchAppStatus(appId) {\n return api.get(generateUrl(`/apps/app_api/apps/status/${appId}`))\n .then((response) => {\n const app = this.apps.find((app) => app.id === appId);\n if (app) {\n app.status = response.data;\n }\n const initializingOrDeployingApps = this.getInitializingOrDeployingApps;\n logger.debug('initializingOrDeployingApps after setAppStatus', { initializingOrDeployingApps });\n if (initializingOrDeployingApps.length === 0) {\n logger.debug('clearing interval');\n clearInterval(this.statusUpdater);\n this.statusUpdater = null;\n }\n if (Object.hasOwn(response.data, 'error')\n && response.data.error !== ''\n && initializingOrDeployingApps.length === 1) {\n clearInterval(this.statusUpdater);\n this.statusUpdater = null;\n }\n })\n .catch((error) => {\n this.appsApiFailure({ appId, error });\n this.apps = this.apps.filter((app) => app.id !== appId);\n this.updateAppsStatus();\n });\n },\n async fetchDockerDaemons() {\n try {\n const { data } = await axios.get(generateUrl('/apps/app_api/daemons'));\n this.defaultDaemon = data.daemons.find((daemon) => daemon.name === data.default_daemon_config);\n this.dockerDaemons = data.daemons.filter((daemon) => daemon.accepts_deploy_id === 'docker-install');\n }\n catch (error) {\n logger.error('[app-api-store] Failed to fetch Docker daemons', { error });\n return false;\n }\n return true;\n },\n updateAppsStatus() {\n clearInterval(this.statusUpdater);\n const initializingOrDeployingApps = this.getInitializingOrDeployingApps;\n if (initializingOrDeployingApps.length === 0) {\n return;\n }\n this.statusUpdater = setInterval(() => {\n const initializingOrDeployingApps = this.getInitializingOrDeployingApps;\n logger.debug('initializingOrDeployingApps', { initializingOrDeployingApps });\n initializingOrDeployingApps.forEach((app) => {\n this.fetchAppStatus(app.id);\n });\n }, 2000);\n },\n },\n});\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `\n.deploy-option[data-v-c83c3eca] {\n\tmargin: calc(var(--default-grid-baseline) * 4) 0;\n\tdisplay: flex;\n\tflex-direction: column;\n\talign-items: flex-start;\n&__hint[data-v-c83c3eca] {\n\t\tmargin-top: 4px;\n\t\tfont-size: 0.8em;\n\t\tcolor: var(--color-text-maxcontrast);\n}\n}\n.envs[data-v-c83c3eca] {\n\twidth: 100%;\n\toverflow: auto;\n\theight: 100%;\n\tmax-height: 300px;\nli[data-v-c83c3eca] {\n\t\tmargin: 10px 0;\n}\n}\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/AppStoreSidebar/AppDeployOptionsModal.vue\"],\"names\":[],\"mappings\":\";AA6TA;CACA,gDAAA;CACA,aAAA;CACA,sBAAA;CACA,uBAAA;AAEA;EACA,eAAA;EACA,gBAAA;EACA,oCAAA;AACA;AACA;AAEA;CACA,WAAA;CACA,cAAA;CACA,YAAA;CACA,iBAAA;AAEA;EACA,cAAA;AACA;AACA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('span',{staticClass:\"app-score__wrapper\",attrs:{\"role\":\"img\",\"aria-label\":_vm.title,\"title\":_vm.title}},[_vm._l((_vm.fullStars),function(index){return _c('NcIconSvgWrapper',{key:`full-star-${index}`,attrs:{\"path\":_vm.mdiStar,\"inline\":\"\"}})}),_vm._v(\" \"),(_vm.hasHalfStar)?_c('NcIconSvgWrapper',{attrs:{\"path\":_vm.mdiStarHalfFull,\"inline\":\"\"}}):_vm._e(),_vm._v(\" \"),_vm._l((_vm.emptyStars),function(index){return _c('NcIconSvgWrapper',{key:`empty-star-${index}`,attrs:{\"path\":_vm.mdiStarOutline,\"inline\":\"\"}})})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppScore.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppScore.vue?vue&type=script&lang=ts\"","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppScore.vue?vue&type=style&index=0&id=0774afca&prod&scoped=true&lang=css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppScore.vue?vue&type=style&index=0&id=0774afca&prod&scoped=true&lang=css\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppScore.vue?vue&type=template&id=0774afca&scoped=true\"\nimport script from \"./AppScore.vue?vue&type=script&lang=ts\"\nexport * from \"./AppScore.vue?vue&type=script&lang=ts\"\nimport style0 from \"./AppScore.vue?vue&type=style&index=0&id=0774afca&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0774afca\",\n null\n \n)\n\nexport default component.exports","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.app-sidebar--with-screenshot[data-v-5c22e56b] .app-sidebar-header__figure{background-size:cover}.app-sidebar__fallback-icon[data-v-5c22e56b]{width:100%;height:100%}.app-sidebar__badges[data-v-5c22e56b]{display:flex;flex-direction:row;gap:12px}.app-sidebar__version[data-v-5c22e56b]{color:var(--color-text-maxcontrast)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/views/AppStoreSidebar.vue\"],\"names\":[],\"mappings\":\"AAIE,2EACC,qBAAA,CAIF,6CAEC,UAAA,CACA,WAAA,CAGD,sCACC,YAAA,CACA,kBAAA,CACA,QAAA,CAGD,uCACC,mCAAA\",\"sourcesContent\":[\"\\n.app-sidebar {\\n\\t// If a screenshot is available it should cover the whole figure\\n\\t&--with-screenshot {\\n\\t\\t:deep(.app-sidebar-header__figure) {\\n\\t\\t\\tbackground-size: cover;\\n\\t\\t}\\n\\t}\\n\\n\\t&__fallback-icon {\\n\\t\\t// both 100% to center the icon\\n\\t\\twidth: 100%;\\n\\t\\theight: 100%;\\n\\t}\\n\\n\\t&__badges {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: row;\\n\\t\\tgap: 12px;\\n\\t}\\n\\n\\t&__version {\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.app-description[data-v-1d5b4408]{padding:12px}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/AppStoreSidebar/AppDescriptionTab.vue\"],\"names\":[],\"mappings\":\"AACA,kCACC,YAAA\",\"sourcesContent\":[\"\\n.app-description {\\n\\tpadding: 12px;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (_setup.showSidebar)?_c(_setup.NcAppSidebar,{staticClass:\"app-sidebar\",class:{ 'app-sidebar--with-screenshot': _setup.hasScreenshot },attrs:{\"active\":_setup.activeTab,\"background\":_setup.hasScreenshot ? _setup.app.screenshot : undefined,\"compact\":!_setup.hasScreenshot,\"name\":_setup.app.name,\"title\":_setup.app.name,\"subname\":_setup.licenseText,\"subtitle\":_setup.licenseText},on:{\"update:active\":function($event){_setup.activeTab=$event},\"close\":_setup.hideAppDetails},scopedSlots:_vm._u([(!_setup.hasScreenshot)?{key:\"header\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{staticClass:\"app-sidebar__fallback-icon\",attrs:{\"svg\":_setup.appIcon ?? '',\"size\":64}})]},proxy:true}:null,{key:\"description\",fn:function(){return [_c('div',{staticClass:\"app-sidebar__badges\"},[_c(_setup.AppLevelBadge,{attrs:{\"level\":_setup.app.level}}),_vm._v(\" \"),(_setup.app.app_api && _setup.app.daemon)?_c(_setup.AppDaemonBadge,{attrs:{\"daemon\":_setup.app.daemon}}):_vm._e(),_vm._v(\" \"),(_setup.hasRating)?_c(_setup.AppScore,{attrs:{\"score\":_setup.rating}}):_vm._e()],1)]},proxy:true}],null,true)},[_vm._v(\" \"),_vm._v(\" \"),_c(_setup.AppDescriptionTab,{attrs:{\"app\":_setup.app}}),_vm._v(\" \"),_c(_setup.AppDetailsTab,{key:_setup.app.id,attrs:{\"app\":_setup.app}}),_vm._v(\" \"),_c(_setup.AppReleasesTab,{attrs:{\"app\":_setup.app}}),_vm._v(\" \"),_c(_setup.AppDeployDaemonTab,{attrs:{\"app\":_setup.app}})],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (_vm.daemon)?_c('span',{staticClass:\"app-daemon-badge\",attrs:{\"title\":_vm.daemon.name}},[_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.mdiFileChart,\"size\":20,\"inline\":\"\"}}),_vm._v(\"\\n\\t\"+_vm._s(_vm.daemon.display_name)+\"\\n\")],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDaemonBadge.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDaemonBadge.vue?vue&type=script&setup=true&lang=ts\"","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDaemonBadge.vue?vue&type=style&index=0&id=d2263fb4&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDaemonBadge.vue?vue&type=style&index=0&id=d2263fb4&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppDaemonBadge.vue?vue&type=template&id=d2263fb4&scoped=true\"\nimport script from \"./AppDaemonBadge.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AppDaemonBadge.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./AppDaemonBadge.vue?vue&type=style&index=0&id=d2263fb4&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"d2263fb4\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (_vm.app?.daemon)?_c(_setup.NcAppSidebarTab,{attrs:{\"id\":\"daemon\",\"name\":_vm.t('settings', 'Daemon'),\"order\":3},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.mdiFileChart,\"size\":24}})]},proxy:true}],null,false,1746493066)},[_vm._v(\" \"),_c('div',{staticClass:\"daemon\"},[_c('h4',[_vm._v(_vm._s(_vm.t('settings', 'Deploy Daemon')))]),_vm._v(\" \"),_c('p',[_c('b',[_vm._v(_vm._s(_vm.t('settings', 'Type')))]),_vm._v(\": \"+_vm._s(_vm.app?.daemon.accepts_deploy_id))]),_vm._v(\" \"),_c('p',[_c('b',[_vm._v(_vm._s(_vm.t('settings', 'Name')))]),_vm._v(\": \"+_vm._s(_vm.app?.daemon.name))]),_vm._v(\" \"),_c('p',[_c('b',[_vm._v(_vm._s(_vm.t('settings', 'Display Name')))]),_vm._v(\": \"+_vm._s(_vm.app?.daemon.display_name))]),_vm._v(\" \"),_c('p',[_c('b',[_vm._v(_vm._s(_vm.t('settings', 'GPUs support')))]),_vm._v(\": \"+_vm._s(_setup.gpuSupport))]),_vm._v(\" \"),_c('p',[_c('b',[_vm._v(_vm._s(_vm.t('settings', 'Compute device')))]),_vm._v(\": \"+_vm._s(_vm.app?.daemon?.deploy_config?.computeDevice?.label))])])]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDeployDaemonTab.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDeployDaemonTab.vue?vue&type=script&setup=true&lang=ts\"","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDeployDaemonTab.vue?vue&type=style&index=0&id=28419269&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDeployDaemonTab.vue?vue&type=style&index=0&id=28419269&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppDeployDaemonTab.vue?vue&type=template&id=28419269&scoped=true\"\nimport script from \"./AppDeployDaemonTab.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AppDeployDaemonTab.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./AppDeployDaemonTab.vue?vue&type=style&index=0&id=28419269&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"28419269\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c(_setup.NcAppSidebarTab,{attrs:{\"id\":\"desc\",\"name\":_setup.t('settings', 'Description'),\"order\":0},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.mdiTextShort}})]},proxy:true}])},[_vm._v(\" \"),_c('div',{staticClass:\"app-description\"},[_c(_setup.Markdown,{attrs:{\"text\":_vm.app.description,\"min-heading\":4}})],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Markdown.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Markdown.vue?vue&type=script&lang=js\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Markdown.vue?vue&type=style&index=0&id=62ec0d6b&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Markdown.vue?vue&type=style&index=0&id=62ec0d6b&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./Markdown.vue?vue&type=template&id=62ec0d6b&scoped=true\"\nimport script from \"./Markdown.vue?vue&type=script&lang=js\"\nexport * from \"./Markdown.vue?vue&type=script&lang=js\"\nimport style0 from \"./Markdown.vue?vue&type=style&index=0&id=62ec0d6b&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"62ec0d6b\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"settings-markdown\",domProps:{\"innerHTML\":_vm._s(_vm.renderMarkdown)}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDescriptionTab.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDescriptionTab.vue?vue&type=script&setup=true&lang=ts\"","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDescriptionTab.vue?vue&type=style&index=0&id=1d5b4408&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDescriptionTab.vue?vue&type=style&index=0&id=1d5b4408&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppDescriptionTab.vue?vue&type=template&id=1d5b4408&scoped=true\"\nimport script from \"./AppDescriptionTab.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AppDescriptionTab.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./AppDescriptionTab.vue?vue&type=style&index=0&id=1d5b4408&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1d5b4408\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('NcAppSidebarTab',{attrs:{\"id\":\"details\",\"name\":_vm.t('settings', 'Details'),\"order\":1},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{attrs:{\"path\":_vm.mdiTextBoxOutline}})]},proxy:true}])},[_vm._v(\" \"),_c('div',{staticClass:\"app-details\"},[_c('div',{staticClass:\"app-details__actions\"},[(_vm.app.active && _vm.canLimitToGroups(_vm.app))?_c('div',{staticClass:\"app-details__actions-groups\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.groupCheckedAppsData),expression:\"groupCheckedAppsData\"}],staticClass:\"groups-enable__checkbox checkbox\",attrs:{\"id\":`groups_enable_${_vm.app.id}`,\"type\":\"checkbox\"},domProps:{\"value\":_vm.app.id,\"checked\":Array.isArray(_vm.groupCheckedAppsData)?_vm._i(_vm.groupCheckedAppsData,_vm.app.id)>-1:(_vm.groupCheckedAppsData)},on:{\"change\":[function($event){var $$a=_vm.groupCheckedAppsData,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=_vm.app.id,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.groupCheckedAppsData=$$a.concat([$$v]))}else{$$i>-1&&(_vm.groupCheckedAppsData=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.groupCheckedAppsData=$$c}},_vm.setGroupLimit]}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":`groups_enable_${_vm.app.id}`}},[_vm._v(_vm._s(_vm.t('settings', 'Limit to groups')))]),_vm._v(\" \"),_c('input',{staticClass:\"group_select\",attrs:{\"type\":\"hidden\",\"title\":_vm.t('settings', 'All'),\"value\":\"\"}}),_vm._v(\" \"),_c('br'),_vm._v(\" \"),_c('label',{attrs:{\"for\":\"limitToGroups\"}},[_c('span',[_vm._v(_vm._s(_vm.t('settings', 'Limit app usage to groups')))])]),_vm._v(\" \"),(_vm.isLimitedToGroups(_vm.app))?_c('NcSelect',{attrs:{\"input-id\":\"limitToGroups\",\"options\":_vm.groups,\"model-value\":_vm.appGroups,\"limit\":5,\"label\":\"name\",\"multiple\":true,\"keep-open\":\"\"},on:{\"option:selected\":_vm.addGroupLimitation,\"option:deselected\":_vm.removeGroupLimitation,\"search\":_vm.asyncFindGroup}},[_c('span',{attrs:{\"slot\":\"noResult\"},slot:\"noResult\"},[_vm._v(_vm._s(_vm.t('settings', 'No results')))])]):_vm._e()],1):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"app-details__actions-manage\"},[(_vm.app.update)?_c('input',{staticClass:\"update primary\",attrs:{\"type\":\"button\",\"value\":_vm.t('settings', 'Update to {version}', { version: _vm.app.update }),\"disabled\":_vm.installing || _vm.isLoading || _vm.isManualInstall},on:{\"click\":function($event){return _vm.update(_vm.app.id)}}}):_vm._e(),_vm._v(\" \"),(_vm.app.canUnInstall)?_c('input',{staticClass:\"uninstall\",attrs:{\"type\":\"button\",\"value\":_vm.t('settings', 'Remove'),\"disabled\":_vm.installing || _vm.isLoading},on:{\"click\":function($event){return _vm.remove(_vm.app.id, _vm.removeData)}}}):_vm._e(),_vm._v(\" \"),(_vm.app.active)?_c('input',{staticClass:\"enable\",attrs:{\"type\":\"button\",\"value\":_vm.disableButtonText,\"disabled\":_vm.installing || _vm.isLoading || _vm.isInitializing || _vm.isDeploying},on:{\"click\":function($event){return _vm.disable(_vm.app.id)}}}):_vm._e(),_vm._v(\" \"),(!_vm.app.active && (_vm.app.canInstall || _vm.app.isCompatible))?_c('input',{staticClass:\"enable primary\",attrs:{\"title\":_vm.enableButtonTooltip,\"aria-label\":_vm.enableButtonTooltip,\"type\":\"button\",\"value\":_vm.enableButtonText,\"disabled\":!_vm.app.canInstall || _vm.installing || _vm.isLoading || !_vm.defaultDeployDaemonAccessible || _vm.isInitializing || _vm.isDeploying},on:{\"click\":_vm.enableButtonAction}}):(!_vm.app.active && !_vm.app.canInstall)?_c('input',{staticClass:\"enable force\",attrs:{\"title\":_vm.forceEnableButtonTooltip,\"aria-label\":_vm.forceEnableButtonTooltip,\"type\":\"button\",\"value\":_vm.forceEnableButtonText,\"disabled\":_vm.installing || _vm.isLoading},on:{\"click\":function($event){return _vm.forceEnable(_vm.app.id)}}}):_vm._e(),_vm._v(\" \"),(_vm.app?.app_api && (_vm.app.canInstall || _vm.app.isCompatible))?_c('NcButton',{attrs:{\"aria-label\":_vm.t('settings', 'Advanced deploy options'),\"variant\":\"secondary\"},on:{\"click\":() => _vm.showDeployOptionsModal = true},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{attrs:{\"path\":_vm.mdiToyBrickPlusOutline}})]},proxy:true}],null,false,973660380)},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Deploy options'))+\"\\n\\t\\t\\t\\t\")]):_vm._e()],1),_vm._v(\" \"),(!_vm.defaultDeployDaemonAccessible)?_c('p',{staticClass:\"warning\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Default Deploy daemon is not accessible'))+\"\\n\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.app.canUnInstall)?_c('NcCheckboxRadioSwitch',{attrs:{\"model-value\":_vm.removeData,\"disabled\":_vm.installing || _vm.isLoading || !_vm.defaultDeployDaemonAccessible},on:{\"update:modelValue\":_vm.toggleRemoveData}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Delete data on remove'))+\"\\n\\t\\t\\t\")]):_vm._e()],1),_vm._v(\" \"),_c('ul',{staticClass:\"app-details__dependencies\"},[(_vm.app.missingMinOwnCloudVersion)?_c('li',[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'This app has no minimum {productName} version assigned. This will be an error in the future.', { productName: _vm.productName }))+\"\\n\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.app.missingMaxOwnCloudVersion)?_c('li',[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'This app has no maximum {productName} version assigned. This will be an error in the future.', { productName: _vm.productName }))+\"\\n\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),(!_vm.app.canInstall)?_c('li',[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'This app cannot be installed because the following dependencies are not fulfilled:'))+\"\\n\\t\\t\\t\\t\"),_c('ul',{staticClass:\"missing-dependencies\"},_vm._l((_vm.app.missingDependencies),function(dep,index){return _c('li',{key:index},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(dep)+\"\\n\\t\\t\\t\\t\\t\")])}),0)]):_vm._e()]),_vm._v(\" \"),(_vm.lastModified && !_vm.app.shipped)?_c('div',{staticClass:\"app-details__section\"},[_c('h4',[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Latest updated'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcDateTime',{attrs:{\"timestamp\":_vm.lastModified}})],1):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"app-details__section\"},[_c('h4',[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Author'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('p',{staticClass:\"app-details__authors\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.appAuthors)+\"\\n\\t\\t\\t\")])]),_vm._v(\" \"),_c('div',{staticClass:\"app-details__section\"},[_c('h4',[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Categories'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.appCategories)+\"\\n\\t\\t\\t\")])]),_vm._v(\" \"),(_vm.externalResources.length > 0)?_c('div',{staticClass:\"app-details__section\"},[_c('h4',[_vm._v(_vm._s(_vm.t('settings', 'Resources')))]),_vm._v(\" \"),_c('ul',{staticClass:\"app-details__documentation\",attrs:{\"aria-label\":_vm.t('settings', 'Documentation')}},_vm._l((_vm.externalResources),function(resource){return _c('li',{key:resource.id},[_c('a',{staticClass:\"appslink\",attrs:{\"href\":resource.href,\"target\":\"_blank\",\"rel\":\"noreferrer noopener\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(resource.label)+\" ↗\\n\\t\\t\\t\\t\\t\")])])}),0)]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"app-details__section\"},[_c('h4',[_vm._v(_vm._s(_vm.t('settings', 'Interact')))]),_vm._v(\" \"),_c('div',{staticClass:\"app-details__interact\"},[_c('NcButton',{attrs:{\"disabled\":!_vm.app.bugs,\"href\":_vm.app.bugs ?? '#',\"aria-label\":_vm.t('settings', 'Report a bug'),\"title\":_vm.t('settings', 'Report a bug')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{attrs:{\"path\":_vm.mdiBugOutline}})]},proxy:true}])}),_vm._v(\" \"),_c('NcButton',{attrs:{\"disabled\":!_vm.app.bugs,\"href\":_vm.app.bugs ?? '#',\"aria-label\":_vm.t('settings', 'Request feature'),\"title\":_vm.t('settings', 'Request feature')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{attrs:{\"path\":_vm.mdiFeatureSearchOutline}})]},proxy:true}])}),_vm._v(\" \"),(_vm.app.appstoreData?.discussion)?_c('NcButton',{attrs:{\"href\":_vm.app.appstoreData.discussion,\"aria-label\":_vm.t('settings', 'Ask questions or discuss'),\"title\":_vm.t('settings', 'Ask questions or discuss')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{attrs:{\"path\":_vm.mdiTooltipQuestionOutline}})]},proxy:true}],null,false,88743630)}):_vm._e(),_vm._v(\" \"),(!_vm.app.internal)?_c('NcButton',{attrs:{\"href\":_vm.rateAppUrl,\"aria-label\":_vm.t('settings', 'Rate the app'),\"title\":_vm.t('settings', 'Rate')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{attrs:{\"path\":_vm.mdiStar}})]},proxy:true}],null,false,422450625)}):_vm._e()],1)]),_vm._v(\" \"),(_vm.app?.app_api)?_c('AppDeployOptionsModal',{attrs:{\"show\":_vm.showDeployOptionsModal,\"app\":_vm.app},on:{\"update:show\":function($event){_vm.showDeployOptionsModal=$event}}}):_vm._e(),_vm._v(\" \"),(_vm.app?.app_api)?_c('DaemonSelectionDialog',{attrs:{\"show\":_vm.showSelectDaemonModal,\"app\":_vm.app,\"deploy-options\":_vm.deployOptions},on:{\"update:show\":function($event){_vm.showSelectDaemonModal=$event}}}):_vm._e()],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDeployOptionsModal.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDeployOptionsModal.vue?vue&type=script&lang=js\"","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDeployOptionsModal.vue?vue&type=style&index=0&id=c83c3eca&prod&scoped=true&lang=css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDeployOptionsModal.vue?vue&type=style&index=0&id=c83c3eca&prod&scoped=true&lang=css\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppDeployOptionsModal.vue?vue&type=template&id=c83c3eca&scoped=true\"\nimport script from \"./AppDeployOptionsModal.vue?vue&type=script&lang=js\"\nexport * from \"./AppDeployOptionsModal.vue?vue&type=script&lang=js\"\nimport style0 from \"./AppDeployOptionsModal.vue?vue&type=style&index=0&id=c83c3eca&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"c83c3eca\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('NcDialog',{attrs:{\"open\":_vm.show,\"size\":\"normal\",\"name\":_vm.t('settings', 'Advanced deploy options')},on:{\"update:open\":function($event){return _vm.$emit('update:show', $event)}},scopedSlots:_vm._u([(!_vm.app.active && (_vm.app.canInstall || _vm.app.isCompatible) && _vm.configuredDeployOptions === null)?{key:\"actions\",fn:function(){return [_c('NcButton',{attrs:{\"title\":_vm.enableButtonTooltip,\"aria-label\":_vm.enableButtonTooltip,\"variant\":\"primary\",\"disabled\":!_vm.app.canInstall || _vm.installing || _vm.isLoading || !_vm.defaultDeployDaemonAccessible || _vm.isInitializing || _vm.isDeploying},on:{\"click\":function($event){$event.stopPropagation();return _vm.submitDeployOptions.apply(null, arguments)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.enableButtonText)+\"\\n\\t\\t\")])]},proxy:true}:null],null,true)},[_c('div',{staticClass:\"modal__content\"},[_c('p',{staticClass:\"deploy-option__hint\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.configuredDeployOptions === null ? _vm.t('settings', 'Edit ExApp deploy options before installation') : _vm.t('settings', 'Configured ExApp deploy options. Can be set only during installation'))+\".\\n\\t\\t\\t\"),(_vm.deployOptionsDocsUrl)?_c('a',{attrs:{\"href\":_vm.deployOptionsDocsUrl}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Learn more'))+\"\\n\\t\\t\\t\")]):_vm._e()]),_vm._v(\" \"),(_vm.environmentVariables.length > 0 || (_vm.configuredDeployOptions !== null && _vm.configuredDeployOptions.environment_variables.length > 0))?_c('h3',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Environment variables'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.configuredDeployOptions === null)?_vm._l((_vm.environmentVariables),function(envVar){return _c('div',{key:envVar.envName,staticClass:\"deploy-option\"},[_c('NcTextField',{attrs:{\"label\":envVar.displayName},model:{value:(_vm.deployOptions.environment_variables[envVar.envName]),callback:function ($$v) {_vm.$set(_vm.deployOptions.environment_variables, envVar.envName, $$v)},expression:\"deployOptions.environment_variables[envVar.envName]\"}}),_vm._v(\" \"),_c('p',{staticClass:\"deploy-option__hint\"},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(envVar.description)+\"\\n\\t\\t\\t\\t\")])],1)}):(Object.keys(_vm.configuredDeployOptions).length > 0)?_c('fieldset',{staticClass:\"envs\"},[_c('legend',{staticClass:\"deploy-option__hint\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'ExApp container environment variables'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_vm._l((_vm.configuredDeployOptions.environment_variables),function(value,key){return _c('NcTextField',{key:key,attrs:{\"label\":value.displayName ?? key,\"helper-text\":value.description,\"model-value\":value.value,\"readonly\":\"\"}})})],2):[_c('p',{staticClass:\"deploy-option__hint\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'No environment variables defined'))+\"\\n\\t\\t\\t\")])],_vm._v(\" \"),_c('h3',[_vm._v(_vm._s(_vm.t('settings', 'Mounts')))]),_vm._v(\" \"),(_vm.configuredDeployOptions === null)?[_c('p',{staticClass:\"deploy-option__hint\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Define host folder mounts to bind to the ExApp container'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcNoteCard',{attrs:{\"type\":\"info\",\"text\":_vm.t('settings', 'Must exist on the Deploy daemon host prior to installing the ExApp')}}),_vm._v(\" \"),_vm._l((_vm.deployOptions.mounts),function(mount){return _c('div',{key:mount.hostPath,staticClass:\"deploy-option\",staticStyle:{\"display\":\"flex\",\"align-items\":\"center\",\"justify-content\":\"space-between\",\"flex-direction\":\"row\"}},[_c('NcTextField',{attrs:{\"label\":_vm.t('settings', 'Host path')},model:{value:(mount.hostPath),callback:function ($$v) {_vm.$set(mount, \"hostPath\", $$v)},expression:\"mount.hostPath\"}}),_vm._v(\" \"),_c('NcTextField',{attrs:{\"label\":_vm.t('settings', 'Container path')},model:{value:(mount.containerPath),callback:function ($$v) {_vm.$set(mount, \"containerPath\", $$v)},expression:\"mount.containerPath\"}}),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{model:{value:(mount.readonly),callback:function ($$v) {_vm.$set(mount, \"readonly\", $$v)},expression:\"mount.readonly\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Read-only'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('NcButton',{staticStyle:{\"margin-top\":\"6px\"},attrs:{\"aria-label\":_vm.t('settings', 'Remove mount')},on:{\"click\":function($event){return _vm.removeMount(mount)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{attrs:{\"path\":_vm.mdiDeleteOutline}})]},proxy:true}],null,true)})],1)}),_vm._v(\" \"),(_vm.addingMount)?_c('div',{staticClass:\"deploy-option\"},[_c('h4',[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'New mount'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('div',{staticStyle:{\"display\":\"flex\",\"align-items\":\"center\",\"justify-content\":\"space-between\",\"flex-direction\":\"row\"}},[_c('NcTextField',{ref:\"newMountHostPath\",attrs:{\"label\":_vm.t('settings', 'Host path'),\"aria-label\":_vm.t('settings', 'Enter path to host folder')},model:{value:(_vm.newMountPoint.hostPath),callback:function ($$v) {_vm.$set(_vm.newMountPoint, \"hostPath\", $$v)},expression:\"newMountPoint.hostPath\"}}),_vm._v(\" \"),_c('NcTextField',{attrs:{\"label\":_vm.t('settings', 'Container path'),\"aria-label\":_vm.t('settings', 'Enter path to container folder')},model:{value:(_vm.newMountPoint.containerPath),callback:function ($$v) {_vm.$set(_vm.newMountPoint, \"containerPath\", $$v)},expression:\"newMountPoint.containerPath\"}}),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"aria-label\":_vm.t('settings', 'Toggle read-only mode')},model:{value:(_vm.newMountPoint.readonly),callback:function ($$v) {_vm.$set(_vm.newMountPoint, \"readonly\", $$v)},expression:\"newMountPoint.readonly\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Read-only'))+\"\\n\\t\\t\\t\\t\\t\")])],1),_vm._v(\" \"),_c('div',{staticStyle:{\"display\":\"flex\",\"align-items\":\"center\",\"margin-top\":\"4px\"}},[_c('NcButton',{attrs:{\"aria-label\":_vm.t('settings', 'Confirm adding new mount')},on:{\"click\":_vm.addMountPoint},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{attrs:{\"path\":_vm.mdiCheck}})]},proxy:true}],null,false,1018299955)},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Confirm'))+\"\\n\\t\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('NcButton',{staticStyle:{\"margin-left\":\"4px\"},attrs:{\"aria-label\":_vm.t('settings', 'Cancel adding mount')},on:{\"click\":_vm.cancelAddMountPoint},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{attrs:{\"path\":_vm.mdiClose}})]},proxy:true}],null,false,2764082467)},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Cancel'))+\"\\n\\t\\t\\t\\t\\t\")])],1)]):_vm._e(),_vm._v(\" \"),(!_vm.addingMount)?_c('NcButton',{staticStyle:{\"margin-top\":\"5px\"},attrs:{\"aria-label\":_vm.t('settings', 'Add mount')},on:{\"click\":_vm.startAddingMount},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{attrs:{\"path\":_vm.mdiPlus}})]},proxy:true}],null,false,103601839)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Add mount'))+\"\\n\\t\\t\\t\")]):_vm._e()]:(_vm.configuredDeployOptions.mounts.length > 0)?[_c('p',{staticClass:\"deploy-option__hint\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'ExApp container mounts'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_vm._l((_vm.configuredDeployOptions.mounts),function(mount){return _c('div',{key:mount.hostPath,staticClass:\"deploy-option\",staticStyle:{\"display\":\"flex\",\"align-items\":\"center\",\"justify-content\":\"space-between\",\"flex-direction\":\"row\"}},[_c('NcTextField',{attrs:{\"label\":_vm.t('settings', 'Host path'),\"readonly\":\"\"},model:{value:(mount.hostPath),callback:function ($$v) {_vm.$set(mount, \"hostPath\", $$v)},expression:\"mount.hostPath\"}}),_vm._v(\" \"),_c('NcTextField',{attrs:{\"label\":_vm.t('settings', 'Container path'),\"readonly\":\"\"},model:{value:(mount.containerPath),callback:function ($$v) {_vm.$set(mount, \"containerPath\", $$v)},expression:\"mount.containerPath\"}}),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"disabled\":\"\"},model:{value:(mount.readonly),callback:function ($$v) {_vm.$set(mount, \"readonly\", $$v)},expression:\"mount.readonly\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Read-only'))+\"\\n\\t\\t\\t\\t\")])],1)})]:_c('p',{staticClass:\"deploy-option__hint\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'No mounts defined'))+\"\\n\\t\\t\")])],2)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDetailsTab.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDetailsTab.vue?vue&type=script&lang=js\"","\n\n\n\n\n\n\n","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDetailsTab.vue?vue&type=style&index=0&id=158761c9&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDetailsTab.vue?vue&type=style&index=0&id=158761c9&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppDetailsTab.vue?vue&type=template&id=158761c9&scoped=true\"\nimport script from \"./AppDetailsTab.vue?vue&type=script&lang=js\"\nexport * from \"./AppDetailsTab.vue?vue&type=script&lang=js\"\nimport style0 from \"./AppDetailsTab.vue?vue&type=style&index=0&id=158761c9&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"158761c9\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppReleasesTab.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppReleasesTab.vue?vue&type=script&setup=true&lang=ts\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (_setup.hasChangelog)?_c(_setup.NcAppSidebarTab,{attrs:{\"id\":\"changelog\",\"name\":_setup.t('settings', 'Changelog'),\"order\":2},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.mdiClockFast,\"size\":24}})]},proxy:true}],null,false,1849836872)},[_vm._v(\" \"),_vm._l((_vm.app.releases),function(release){return _c('div',{key:release.version,staticClass:\"app-sidebar-tabs__release\"},[_c('h2',[_vm._v(_vm._s(release.version))]),_vm._v(\" \"),_c(_setup.Markdown,{staticClass:\"app-sidebar-tabs__release-text\",attrs:{\"text\":_setup.createChangelogFromRelease(release)}})],1)})],2):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppReleasesTab.vue?vue&type=style&index=0&id=69f0fc16&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppReleasesTab.vue?vue&type=style&index=0&id=69f0fc16&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppReleasesTab.vue?vue&type=template&id=69f0fc16&scoped=true\"\nimport script from \"./AppReleasesTab.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AppReleasesTab.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./AppReleasesTab.vue?vue&type=style&index=0&id=69f0fc16&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"69f0fc16\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppStoreSidebar.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppStoreSidebar.vue?vue&type=script&setup=true&lang=ts\"","import { mdiCog, mdiCogOutline } from '@mdi/js';\nimport { computed, ref, watchEffect } from 'vue';\nimport AppstoreCategoryIcons from '../constants/AppstoreCategoryIcons.ts';\nimport logger from '../logger.ts';\n/**\n * Get the app icon raw SVG for use with `NcIconSvgWrapper` (do never use without sanitizing)\n * It has a fallback to the categroy icon.\n *\n * @param app The app to get the icon for\n */\nexport function useAppIcon(app) {\n const appIcon = ref(null);\n /**\n * Fallback value if no app icon available\n */\n const categoryIcon = computed(() => {\n let path;\n if (app.value?.app_api) {\n // Use different default icon for ExApps (AppAPI)\n path = mdiCogOutline;\n }\n else {\n path = [app.value?.category ?? []].flat()\n .map((name) => AppstoreCategoryIcons[name])\n .filter((icon) => !!icon)\n .at(0)\n ?? (!app.value?.app_api ? mdiCog : mdiCogOutline);\n }\n return path ? `` : null;\n });\n watchEffect(async () => {\n // Note: Only variables until the first `await` will be watched!\n if (!app.value?.preview) {\n appIcon.value = categoryIcon.value;\n }\n else {\n appIcon.value = null;\n // Now try to load the real app icon\n try {\n const response = await window.fetch(app.value.preview);\n const blob = await response.blob();\n const rawSvg = await blob.text();\n appIcon.value = rawSvg.replaceAll(/fill=\"#(fff|ffffff)([a-z0-9]{1,2})?\"/ig, 'fill=\"currentColor\"');\n }\n catch (error) {\n appIcon.value = categoryIcon.value;\n logger.error('Could not load app icon', { error });\n }\n }\n });\n return {\n appIcon,\n };\n}\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppStoreSidebar.vue?vue&type=style&index=0&id=5c22e56b&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppStoreSidebar.vue?vue&type=style&index=0&id=5c22e56b&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppStoreSidebar.vue?vue&type=template&id=5c22e56b&scoped=true\"\nimport script from \"./AppStoreSidebar.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AppStoreSidebar.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./AppStoreSidebar.vue?vue&type=style&index=0&id=5c22e56b&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5c22e56b\",\n null\n \n)\n\nexport default component.exports","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.app-details[data-v-158761c9]{padding:20px}.app-details__actions-manage[data-v-158761c9]{display:flex;align-items:center}.app-details__actions-manage input[data-v-158761c9]{flex:0 1 auto;min-width:0;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.app-details__authors[data-v-158761c9]{color:var(--color-text-maxcontrast)}.app-details__section[data-v-158761c9]{margin-top:15px}.app-details__section h4[data-v-158761c9]{font-size:16px;font-weight:bold;margin-block-end:5px}.app-details__interact[data-v-158761c9]{display:flex;flex-direction:row;flex-wrap:wrap;gap:12px}.app-details__documentation a[data-v-158761c9]{text-decoration:underline}.app-details__documentation li[data-v-158761c9]{padding-inline-start:20px}.app-details__documentation li[data-v-158761c9]::before{width:5px;height:5px;border-radius:100%;background-color:var(--color-main-text);content:\"\";float:inline-start;margin-inline-start:-13px;position:relative;top:10px}.force[data-v-158761c9]{color:var(--color-text-error);border-color:var(--color-border-error);background:var(--color-main-background)}.force[data-v-158761c9]:hover,.force[data-v-158761c9]:active{color:var(--color-main-background);border-color:var(--color-border-error) !important;background:var(--color-error)}.missing-dependencies[data-v-158761c9]{list-style:initial;list-style-type:initial;list-style-position:inside}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/AppStoreSidebar/AppDetailsTab.vue\"],\"names\":[],\"mappings\":\"AACA,8BACC,YAAA,CAIC,8CAEC,YAAA,CACA,kBAAA,CACA,oDACC,aAAA,CACA,WAAA,CACA,sBAAA,CACA,kBAAA,CACA,eAAA,CAIH,uCACC,mCAAA,CAGD,uCACC,eAAA,CAEA,0CACC,cAAA,CACA,gBAAA,CACA,oBAAA,CAIF,wCACC,YAAA,CACA,kBAAA,CACA,cAAA,CACA,QAAA,CAIA,+CACC,yBAAA,CAED,gDACC,yBAAA,CAEA,wDACC,SAAA,CACA,UAAA,CACA,kBAAA,CACA,uCAAA,CACA,UAAA,CACA,kBAAA,CACA,yBAAA,CACA,iBAAA,CACA,QAAA,CAMJ,wBACC,6BAAA,CACA,sCAAA,CACA,uCAAA,CAGD,6DAEC,kCAAA,CACA,iDAAA,CACA,6BAAA,CAGD,uCACC,kBAAA,CACA,uBAAA,CACA,0BAAA\",\"sourcesContent\":[\"\\n.app-details {\\n\\tpadding: 20px;\\n\\n\\t&__actions {\\n\\t\\t// app management\\n\\t\\t&-manage {\\n\\t\\t\\t// if too many, shrink them and ellipsis\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tinput {\\n\\t\\t\\t\\tflex: 0 1 auto;\\n\\t\\t\\t\\tmin-width: 0;\\n\\t\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\t\\toverflow: hidden;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t&__authors {\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t}\\n\\n\\t&__section {\\n\\t\\tmargin-top: 15px;\\n\\n\\t\\th4 {\\n\\t\\t\\tfont-size: 16px;\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\tmargin-block-end: 5px;\\n\\t\\t}\\n\\t}\\n\\n\\t&__interact {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: row;\\n\\t\\tflex-wrap: wrap;\\n\\t\\tgap: 12px;\\n\\t}\\n\\n\\t&__documentation {\\n\\t\\ta {\\n\\t\\t\\ttext-decoration: underline;\\n\\t\\t}\\n\\t\\tli {\\n\\t\\t\\tpadding-inline-start: 20px;\\n\\n\\t\\t\\t&::before {\\n\\t\\t\\t\\twidth: 5px;\\n\\t\\t\\t\\theight: 5px;\\n\\t\\t\\t\\tborder-radius: 100%;\\n\\t\\t\\t\\tbackground-color: var(--color-main-text);\\n\\t\\t\\t\\tcontent: \\\"\\\";\\n\\t\\t\\t\\tfloat: inline-start;\\n\\t\\t\\t\\tmargin-inline-start: -13px;\\n\\t\\t\\t\\tposition: relative;\\n\\t\\t\\t\\ttop: 10px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\\n.force {\\n\\tcolor: var(--color-text-error);\\n\\tborder-color: var(--color-border-error);\\n\\tbackground: var(--color-main-background);\\n}\\n\\n.force:hover,\\n.force:active {\\n\\tcolor: var(--color-main-background);\\n\\tborder-color: var(--color-border-error) !important;\\n\\tbackground: var(--color-error);\\n}\\n\\n.missing-dependencies {\\n\\tlist-style: initial;\\n\\tlist-style-type: initial;\\n\\tlist-style-position: inside;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c(_setup.NcDialog,{attrs:{\"open\":_vm.show,\"name\":_vm.t('settings', 'Choose Deploy Daemon for {appName}', { appName: _vm.app.name }),\"size\":\"normal\"},on:{\"update:open\":_setup.closeModal}},[_c(_setup.DaemonSelectionList,{attrs:{\"app\":_vm.app,\"deploy-options\":_vm.deployOptions},on:{\"close\":_setup.closeModal}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./FormatListBulleted.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./FormatListBulleted.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./FormatListBulleted.vue?vue&type=template&id=5c444520\"\nimport script from \"./FormatListBulleted.vue?vue&type=script&lang=js\"\nexport * from \"./FormatListBulleted.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon format-list-bulleted-icon\",attrs:{\"aria-hidden\":_vm.title ? null : 'true',\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M7,5H21V7H7V5M7,13V11H21V13H7M4,4.5A1.5,1.5 0 0,1 5.5,6A1.5,1.5 0 0,1 4,7.5A1.5,1.5 0 0,1 2.5,6A1.5,1.5 0 0,1 4,4.5M4,10.5A1.5,1.5 0 0,1 5.5,12A1.5,1.5 0 0,1 4,13.5A1.5,1.5 0 0,1 2.5,12A1.5,1.5 0 0,1 4,10.5M7,19V17H21V19H7M4,16.5A1.5,1.5 0 0,1 5.5,18A1.5,1.5 0 0,1 4,19.5A1.5,1.5 0 0,1 2.5,18A1.5,1.5 0 0,1 4,16.5Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('NcListItem',{attrs:{\"name\":_vm.itemTitle,\"details\":_vm.isDefault ? _vm.t('settings', 'Default') : '',\"force-display-actions\":true,\"counter-number\":_vm.daemon.exAppsCount,\"active\":_vm.isDefault,\"counter-type\":\"highlighted\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.selectDaemonAndInstall.apply(null, arguments)}},scopedSlots:_vm._u([{key:\"subname\",fn:function(){return [_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.daemon.accepts_deploy_id)+\"\\n\\t\")]},proxy:true}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DaemonSelectionEntry.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DaemonSelectionEntry.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./DaemonSelectionEntry.vue?vue&type=template&id=16f518b8\"\nimport script from \"./DaemonSelectionEntry.vue?vue&type=script&lang=js\"\nexport * from \"./DaemonSelectionEntry.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DaemonSelectionList.vue?vue&type=script&setup=true&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DaemonSelectionList.vue?vue&type=script&setup=true&lang=js\"","\n\n\n\n\n\n","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DaemonSelectionList.vue?vue&type=style&index=0&id=a31da1f4&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DaemonSelectionList.vue?vue&type=style&index=0&id=a31da1f4&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./DaemonSelectionList.vue?vue&type=template&id=a31da1f4&scoped=true\"\nimport script from \"./DaemonSelectionList.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./DaemonSelectionList.vue?vue&type=script&setup=true&lang=js\"\nimport style0 from \"./DaemonSelectionList.vue?vue&type=style&index=0&id=a31da1f4&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"a31da1f4\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"daemon-selection-list\"},[(_setup.dockerDaemons.length > 0)?_c('ul',{attrs:{\"aria-label\":_vm.t('settings', 'Registered Deploy daemons list')}},_vm._l((_setup.dockerDaemons),function(daemon){return _c(_setup.DaemonSelectionEntry,{key:daemon.id,attrs:{\"daemon\":daemon,\"is-default\":_setup.defaultDaemon.name === daemon.name,\"app\":_vm.app,\"deploy-options\":_vm.deployOptions},on:{\"close\":_setup.closeModal}})}),1):_c(_setup.NcEmptyContent,{staticClass:\"daemon-selection-list__empty-content\",attrs:{\"name\":_vm.t('settings', 'No Deploy daemons configured'),\"description\":_vm.t('settings', 'Register a custom one or setup from available templates')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.FormatListBullet,{attrs:{\"size\":20}})]},proxy:true},{key:\"action\",fn:function(){return [_c(_setup.NcButton,{attrs:{\"href\":_setup.appApiAdminPage}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Manage Deploy daemons'))+\"\\n\\t\\t\\t\")])]},proxy:true}])})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DaemonSelectionDialog.vue?vue&type=script&setup=true&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DaemonSelectionDialog.vue?vue&type=script&setup=true&lang=js\"","\n\n\n\n","import { render, staticRenderFns } from \"./DaemonSelectionDialog.vue?vue&type=template&id=02d5b285\"\nimport script from \"./DaemonSelectionDialog.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./DaemonSelectionDialog.vue?vue&type=script&setup=true&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/**\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { mdiAccountMultipleOutline, mdiAccountOutline, mdiArchiveOutline, mdiCheck, mdiClipboardFlowOutline, mdiClose, mdiCogOutline, mdiControllerClassicOutline, mdiCreationOutline, mdiDownload, mdiFileDocumentEdit, mdiFolder, mdiKeyOutline, mdiMagnify, mdiMonitorEye, mdiMultimedia, mdiOfficeBuildingOutline, mdiOpenInApp, mdiSecurity, mdiStar, mdiStarCircleOutline, mdiStarShootingOutline, mdiTools, mdiViewColumnOutline, } from '@mdi/js';\n/**\n * SVG paths used for appstore category icons\n */\nexport default Object.freeze({\n // system special categories\n discover: mdiStarCircleOutline,\n installed: mdiAccountOutline,\n enabled: mdiCheck,\n disabled: mdiClose,\n bundles: mdiArchiveOutline,\n supported: mdiStarShootingOutline,\n featured: mdiStar,\n updates: mdiDownload,\n // generic category\n ai: mdiCreationOutline,\n auth: mdiKeyOutline,\n customization: mdiCogOutline,\n dashboard: mdiViewColumnOutline,\n files: mdiFolder,\n games: mdiControllerClassicOutline,\n integration: mdiOpenInApp,\n monitoring: mdiMonitorEye,\n multimedia: mdiMultimedia,\n office: mdiFileDocumentEdit,\n organization: mdiOfficeBuildingOutline,\n search: mdiMagnify,\n security: mdiSecurity,\n social: mdiAccountMultipleOutline,\n tools: mdiTools,\n workflow: mdiClipboardFlowOutline,\n});\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*!\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */.app-item[data-v-50fa5285]{position:relative}.app-item[data-v-50fa5285]:hover{background-color:var(--color-background-dark)}.app-item--list-view[data-v-50fa5285]{--app-item-padding: calc(var(--default-grid-baseline) * 2);--app-item-height: calc(var(--default-clickable-area) + var(--app-item-padding) * 2)}.app-item--list-view.app-item--selected[data-v-50fa5285]{background-color:var(--color-background-dark)}.app-item--list-view>*[data-v-50fa5285]{vertical-align:middle;border-bottom:1px solid var(--color-border);padding:var(--app-item-padding);height:var(--app-item-height)}.app-item--list-view .app-image[data-v-50fa5285]{width:var(--default-clickable-area);height:auto;text-align:end}.app-item--list-view .app-image-icon svg[data-v-50fa5285],.app-item--list-view .app-image-icon .icon-settings-dark[data-v-50fa5285]{margin-top:5px;width:20px;height:20px;opacity:.5;background-size:cover;display:inline-block}.app-item--list-view .app-name[data-v-50fa5285]{padding:0 var(--app-item-padding)}.app-item--list-view .app-name--link[data-v-50fa5285]{height:var(--app-item-height);display:flex;align-items:center}.app-item--list-view .app-name--link[data-v-50fa5285]::after{content:\"\";position:absolute;inset-inline:0;height:var(--app-item-height)}.app-item--list-view .app-actions[data-v-50fa5285]{display:flex;gap:var(--app-item-padding);flex-wrap:wrap;justify-content:end}.app-item--list-view .app-actions .icon-loading-small[data-v-50fa5285]{display:inline-block;top:4px;margin-inline-end:10px}@media only screen and (max-width: 900px){.app-item--list-view .app-version[data-v-50fa5285],.app-item--list-view .app-level[data-v-50fa5285]{display:none}}@media only screen and (max-width: 512px){.app-item--list-view .app-actions[data-v-50fa5285]{display:none}}.app-item--store-view[data-v-50fa5285]{padding:30px}.app-item--store-view .app-image-icon .icon-settings-dark[data-v-50fa5285]{width:100%;height:150px;background-size:45px;opacity:.5}.app-item--store-view .app-image-icon svg[data-v-50fa5285]{position:absolute;bottom:43px;width:64px;height:64px;opacity:.1}.app-item--store-view .app-name[data-v-50fa5285]{margin:5px 0}.app-item--store-view .app-name--link[data-v-50fa5285]::after{content:\"\";position:absolute;inset-block:0;inset-inline:0}.app-item--store-view .app-actions[data-v-50fa5285]{margin:10px 0}@media only screen and (min-width: 1601px){.app-item--store-view[data-v-50fa5285]{width:25%}.app-item--store-view.app-item--with-sidebar[data-v-50fa5285]{width:33%}}@media only screen and (max-width: 1600px){.app-item--store-view[data-v-50fa5285]{width:25%}.app-item--store-view.app-item--with-sidebar[data-v-50fa5285]{width:33%}}@media only screen and (max-width: 1400px){.app-item--store-view[data-v-50fa5285]{width:33%}.app-item--store-view.app-item--with-sidebar[data-v-50fa5285]{width:50%}}@media only screen and (max-width: 900px){.app-item--store-view[data-v-50fa5285]{width:50%}.app-item--store-view.app-item--with-sidebar[data-v-50fa5285]{width:100%}}@media only screen and (max-width: 1024px){.app-item--store-view[data-v-50fa5285]{width:50%}}@media only screen and (max-width: 480px){.app-item--store-view[data-v-50fa5285]{width:100%}}.app-icon[data-v-50fa5285]{filter:var(--background-invert-if-bright)}.app-image[data-v-50fa5285]{position:relative;height:150px;opacity:1;overflow:hidden}.app-image img[data-v-50fa5285]{width:100%}.app-version[data-v-50fa5285]{color:var(--color-text-maxcontrast)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./core/css/variables.scss\",\"webpack://./apps/settings/src/components/AppList/AppItem.vue\"],\"names\":[],\"mappings\":\"AAEA;;;EAAA,CCEA,2BACC,iBAAA,CAEA,iCACC,6CAAA,CAGD,sCACC,0DAAA,CACA,oFAAA,CAEA,yDACC,6CAAA,CAGD,wCACC,qBAAA,CACA,2CAAA,CACA,+BAAA,CACA,6BAAA,CAGD,iDACC,mCAAA,CACA,WAAA,CACA,cAAA,CAGD,oIAEC,cAAA,CACA,UAAA,CACA,WAAA,CACA,UAAA,CACA,qBAAA,CACA,oBAAA,CAGD,gDACC,iCAAA,CAGD,sDACC,6BAAA,CACA,YAAA,CACA,kBAAA,CAMD,6DACC,UAAA,CACA,iBAAA,CACA,cAAA,CACA,6BAAA,CAGD,mDACC,YAAA,CACA,2BAAA,CACA,cAAA,CACA,mBAAA,CAEA,uEACC,oBAAA,CACA,OAAA,CACA,sBAAA,CAKF,0CACC,oGAEC,YAAA,CAAA,CAKF,0CACC,mDACC,YAAA,CAAA,CAKH,uCACC,YAAA,CAEA,2EACC,UAAA,CACA,YAAA,CACA,oBAAA,CACA,UAAA,CAGD,2DACC,iBAAA,CACA,WAAA,CAEA,UAAA,CACA,WAAA,CACA,UAAA,CAGD,iDACC,YAAA,CAGD,8DACC,UAAA,CACA,iBAAA,CACA,aAAA,CACA,cAAA,CAGD,oDACC,aAAA,CAGD,2CAlCD,uCAmCE,SAAA,CAEA,8DACC,SAAA,CAAA,CAIF,2CA1CD,uCA2CE,SAAA,CAEA,8DACC,SAAA,CAAA,CAIF,2CAlDD,uCAmDE,SAAA,CAEA,8DACC,SAAA,CAAA,CAIF,0CA1DD,uCA2DE,SAAA,CAEA,8DACC,UAAA,CAAA,CAIF,2CAlED,uCAmEE,SAAA,CAAA,CAGD,0CAtED,uCAuEE,UAAA,CAAA,CAKH,2BACC,yCAAA,CAGD,4BACC,iBAAA,CACA,YAAA,CACA,SAAA,CACA,eAAA,CAEA,gCACC,UAAA,CAIF,8BACC,mCAAA\",\"sourcesContent\":[\"@use 'sass:color';\\n\\n/*!\\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n// SCSS darken/lighten function override\\n@function nc-darken($color, $value) {\\n\\t@return color.adjust($color, $lightness: - $value, $space: hsl);\\n}\\n\\n@function nc-lighten($color, $value) {\\n\\t@return color.adjust($color, $lightness: $value, $space: hsl);\\n}\\n\\n// SCSS variables\\n// DEPRECATED, please use CSS4 vars\\n$color-main-text: #222 !default; // Not #000 for better readability\\n$color-main-background: #fff !default;\\n$color-main-background-translucent: rgba($color-main-background, .97) !default;\\n\\n// used for different active/hover/focus/disabled states\\n$color-background-hover: nc-darken($color-main-background, 4%) !default;\\n$color-background-dark: nc-darken($color-main-background, 7%) !default;\\n$color-background-darker: nc-darken($color-main-background, 14%) !default;\\n\\n$color-placeholder-light: nc-darken($color-main-background, 10%) !default;\\n$color-placeholder-dark: nc-darken($color-main-background, 20%) !default;\\n\\n$color-primary: #0082c9 !default;\\n$color-primary-hover: color.mix($color-primary, $color-main-background, 80%) !default;\\n\\n$color-primary-light: color.mix($color-primary, $color-main-background, 10%) !default;\\n$color-primary-light-text: $color-primary !default;\\n$color-primary-light-hover: color.mix($color-primary-light, $color-main-text, 95%) !default;\\n\\n$color-primary-text: #ffffff !default;\\n// do not use nc-darken/lighten in case of overriding because\\n// primary-text is independent of color-main-text\\n$color-primary-element-text-dark: color.adjust($color-primary-text, $lightness: -7%, $space: hsl) !default;\\n$color-primary-element: $color-primary !default;\\n$color-primary-element-hover: color.mix($color-primary-element, $color-main-background, 80%) !default;\\n$color-primary-element-light: color.adjust($color-primary-element, $lightness: 15%, $space: hsl) !default;\\n\\n$color-error: #e9322d;\\n$color-error-hover: color.mix($color-error, $color-main-background, 80%) !default;\\n$color-warning: #eca700;\\n$color-warning-hover: color.mix($color-warning, $color-main-background, 80%) !default;\\n$color-success: #46ba61;\\n$color-success-hover: color.mix($color-success, $color-main-background, 80%) !default;\\n// used for svg\\n$color-white: #fff;\\n$color-black: #000;\\n$color-yellow: #FC0;\\n\\n// rgb(118, 118, 118) / #767676\\n// min. color contrast for normal text on white background according to WCAG AA\\n// (Works as well: color: #000; opacity: 0.57;)\\n$color-text-maxcontrast: nc-lighten($color-main-text, 33%) !default;\\n\\n$image-logo: url('../img/logo/logo.svg?v=1') !default;\\n$image-login-background: url('../img/background.png?v=2') !default;\\n$image-logoheader: url('../img/logo/logo.svg?v=1') !default;\\n$image-favicon: url('../img/logo/logo.svg?v=1') !default;\\n\\n$color-loading-light: #ccc !default;\\n$color-loading-dark: #444 !default;\\n\\n$color-box-shadow: color.adjust(nc-darken($color-main-background, 70%), $alpha: -0.5, $space: hsl) !default;\\n\\n// light border like file table or app-content list\\n$color-border: nc-darken($color-main-background, 7%) !default;\\n// darker border like inputs or very visible elements\\n$color-border-dark: nc-darken($color-main-background, 14%) !default;\\n\\n$border-radius: 3px !default;\\n$border-radius-large: 10px !default;\\n// Pill-style button, value is large so big buttons also have correct roundness\\n$border-radius-pill: 100px !default;\\n\\n$font-face: system-ui, -apple-system, \\\"Segoe UI\\\", Roboto, Oxygen-Sans, Cantarell, Ubuntu, \\\"Helvetica Neue\\\", \\\"Noto Sans\\\", \\\"Liberation Sans\\\", Arial, sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\", \\\"Noto Color Emoji\\\" !default;\\n$default-font-size: 15px;\\n\\n$default-line-height: 24px;\\n\\n$animation-quick: 100ms;\\n$animation-slow: 300ms;\\n\\n// various structure data\\n$header-height: 50px;\\n$navigation-width: 300px;\\n$sidebar-min-width: 300px;\\n$sidebar-max-width: 500px;\\n$list-min-width: 200px;\\n$list-max-width: 300px;\\n$header-menu-item-height: 44px;\\n$header-menu-profile-item-height: 66px;\\n\\n// mobile. Keep in sync with core/js/js.js\\n$breakpoint-mobile: 1024px;\\n\",\"\\n@use '../../../../../core/css/variables.scss' as variables;\\n@use 'sass:math';\\n\\n.app-item {\\n\\tposition: relative;\\n\\n\\t&:hover {\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t}\\n\\n\\t&--list-view {\\n\\t\\t--app-item-padding: calc(var(--default-grid-baseline) * 2);\\n\\t\\t--app-item-height: calc(var(--default-clickable-area) + var(--app-item-padding) * 2);\\n\\n\\t\\t&.app-item--selected {\\n\\t\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\t}\\n\\n\\t\\t> * {\\n\\t\\t\\tvertical-align: middle;\\n\\t\\t\\tborder-bottom: 1px solid var(--color-border);\\n\\t\\t\\tpadding: var(--app-item-padding);\\n\\t\\t\\theight: var(--app-item-height);\\n\\t\\t}\\n\\n\\t\\t.app-image {\\n\\t\\t\\twidth: var(--default-clickable-area);\\n\\t\\t\\theight: auto;\\n\\t\\t\\ttext-align: end;\\n\\t\\t}\\n\\n\\t\\t.app-image-icon svg,\\n\\t\\t.app-image-icon .icon-settings-dark {\\n\\t\\t\\tmargin-top: 5px;\\n\\t\\t\\twidth: 20px;\\n\\t\\t\\theight: 20px;\\n\\t\\t\\topacity: .5;\\n\\t\\t\\tbackground-size: cover;\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t}\\n\\n\\t\\t.app-name {\\n\\t\\t\\tpadding: 0 var(--app-item-padding);\\n\\t\\t}\\n\\n\\t\\t.app-name--link {\\n\\t\\t\\theight: var(--app-item-height);\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t}\\n\\n\\t\\t// Note: because of Safari bug, we cannot position link overlay relative to the table row\\n\\t\\t// So we need to manually position it relative to the table container and cell\\n\\t\\t// See: https://bugs.webkit.org/show_bug.cgi?id=240961\\n\\t\\t.app-name--link::after {\\n\\t\\t\\tcontent: '';\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\tinset-inline: 0;\\n\\t\\t\\theight: var(--app-item-height);\\n\\t\\t}\\n\\n\\t\\t.app-actions {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tgap: var(--app-item-padding);\\n\\t\\t\\tflex-wrap: wrap;\\n\\t\\t\\tjustify-content: end;\\n\\n\\t\\t\\t.icon-loading-small {\\n\\t\\t\\t\\tdisplay: inline-block;\\n\\t\\t\\t\\ttop: 4px;\\n\\t\\t\\t\\tmargin-inline-end: 10px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t/* hide app version and level on narrower screens */\\n\\t\\t@media only screen and (max-width: 900px) {\\n\\t\\t\\t.app-version,\\n\\t\\t\\t.app-level {\\n\\t\\t\\t\\tdisplay: none;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t/* Hide actions on a small screen. Click on app opens fill-screen sidebar with the buttons */\\n\\t\\t@media only screen and (max-width: math.div(variables.$breakpoint-mobile, 2)) {\\n\\t\\t\\t.app-actions {\\n\\t\\t\\t\\tdisplay: none;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&--store-view {\\n\\t\\tpadding: 30px;\\n\\n\\t\\t.app-image-icon .icon-settings-dark {\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\theight: 150px;\\n\\t\\t\\tbackground-size: 45px;\\n\\t\\t\\topacity: 0.5;\\n\\t\\t}\\n\\n\\t\\t.app-image-icon svg {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\tbottom: 43px;\\n\\t\\t\\t/* position halfway vertically */\\n\\t\\t\\twidth: 64px;\\n\\t\\t\\theight: 64px;\\n\\t\\t\\topacity: .1;\\n\\t\\t}\\n\\n\\t\\t.app-name {\\n\\t\\t\\tmargin: 5px 0;\\n\\t\\t}\\n\\n\\t\\t.app-name--link::after {\\n\\t\\t\\tcontent: '';\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\tinset-block: 0;\\n\\t\\t\\tinset-inline: 0;\\n\\t\\t}\\n\\n\\t\\t.app-actions {\\n\\t\\t\\tmargin: 10px 0;\\n\\t\\t}\\n\\n\\t\\t@media only screen and (min-width: 1601px) {\\n\\t\\t\\twidth: 25%;\\n\\n\\t\\t\\t&.app-item--with-sidebar {\\n\\t\\t\\t\\twidth: 33%;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t@media only screen and (max-width: 1600px) {\\n\\t\\t\\twidth: 25%;\\n\\n\\t\\t\\t&.app-item--with-sidebar {\\n\\t\\t\\t\\twidth: 33%;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t@media only screen and (max-width: 1400px) {\\n\\t\\t\\twidth: 33%;\\n\\n\\t\\t\\t&.app-item--with-sidebar {\\n\\t\\t\\t\\twidth: 50%;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t@media only screen and (max-width: 900px) {\\n\\t\\t\\twidth: 50%;\\n\\n\\t\\t\\t&.app-item--with-sidebar {\\n\\t\\t\\t\\twidth: 100%;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t@media only screen and (max-width: variables.$breakpoint-mobile) {\\n\\t\\t\\twidth: 50%;\\n\\t\\t}\\n\\n\\t\\t@media only screen and (max-width: 480px) {\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\t}\\n}\\n\\n.app-icon {\\n\\tfilter: var(--background-invert-if-bright);\\n}\\n\\n.app-image {\\n\\tposition: relative;\\n\\theight: 150px;\\n\\topacity: 1;\\n\\toverflow: hidden;\\n\\n\\timg {\\n\\t\\twidth: 100%;\\n\\t}\\n}\\n\\n.app-version {\\n\\tcolor: var(--color-text-maxcontrast);\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `\n.empty-content__loading[data-v-0105bd03] {\n\theight: 100%;\n}\n.app-settings-content__label[data-v-0105bd03] {\n\tmargin-block-start: var(--app-navigation-padding);\n\tmargin-inline-start: calc(var(--default-clickable-area) + var(--app-navigation-padding) * 2);\n\tmin-height: var(--default-clickable-area);\n\tline-height: var(--default-clickable-area);\n\tvertical-align: center;\n}\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/views/AppStore.vue\"],\"names\":[],\"mappings\":\";AA2EA;CACA,YAAA;AACA;AAEA;CACA,iDAAA;CACA,4FAAA;CACA,yCAAA;CACA,0CAAA;CACA,sBAAA;AACA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","/**\n * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { translate as t } from '@nextcloud/l10n'\n\n/** Enum of verification constants, according to Apps */\nexport const APPS_SECTION_ENUM = Object.freeze({\n\tdiscover: t('settings', 'Discover'),\n\tinstalled: t('settings', 'Your apps'),\n\tenabled: t('settings', 'Active apps'),\n\tdisabled: t('settings', 'Disabled apps'),\n\tupdates: t('settings', 'Updates'),\n\t'app-bundles': t('settings', 'App bundles'),\n\tfeatured: t('settings', 'Featured apps'),\n\tsupported: t('settings', 'Supported apps'), // From subscription\n})\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (_setup.isSupported || _setup.isFeatured)?_c('span',{staticClass:\"app-level-badge\",class:{ 'app-level-badge--supported': _setup.isSupported },attrs:{\"title\":_setup.badgeTitle}},[_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.badgeIcon,\"size\":20,\"inline\":\"\"}}),_vm._v(\"\\n\\t\"+_vm._s(_setup.badgeText)+\"\\n\")],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppLevelBadge.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppLevelBadge.vue?vue&type=script&setup=true&lang=ts\"","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppLevelBadge.vue?vue&type=style&index=0&id=11da8cb3&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppLevelBadge.vue?vue&type=style&index=0&id=11da8cb3&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppLevelBadge.vue?vue&type=template&id=11da8cb3&scoped=true\"\nimport script from \"./AppLevelBadge.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AppLevelBadge.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./AppLevelBadge.vue?vue&type=style&index=0&id=11da8cb3&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"11da8cb3\",\n null\n \n)\n\nexport default component.exports","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.settings-markdown[data-v-62ec0d6b] a{text-decoration:underline}.settings-markdown[data-v-62ec0d6b] a::after{content:\"↗\";padding-inline:calc(var(--default-grid-baseline)/2)}.settings-markdown[data-v-62ec0d6b] pre{white-space:pre;overflow-x:auto;background-color:var(--color-background-dark);border-radius:var(--border-radius);padding:1em 1.3em;margin-bottom:1em}.settings-markdown[data-v-62ec0d6b] p code{background-color:var(--color-background-dark);border-radius:var(--border-radius);padding:.1em .3em}.settings-markdown[data-v-62ec0d6b] li{position:relative}.settings-markdown[data-v-62ec0d6b] ul,.settings-markdown[data-v-62ec0d6b] ol{padding-inline-start:10px;margin-inline-start:10px}.settings-markdown[data-v-62ec0d6b] ul li{list-style-type:disc}.settings-markdown[data-v-62ec0d6b] ul>li>ul>li{list-style-type:circle}.settings-markdown[data-v-62ec0d6b] ul>li>ul>li ul li{list-style-type:square}.settings-markdown[data-v-62ec0d6b] blockquote{padding-inline-start:1em;border-inline-start:4px solid var(--color-primary-element);color:var(--color-text-maxcontrast);margin-inline:0}`, \"\",{\"version\":3,\"sources\":[\"webpack://./Markdown.vue\",\"webpack://./apps/settings/src/components/Markdown.vue\"],\"names\":[],\"mappings\":\"AAAA,sCCEC,yBACC,CAAA,6CACA,WACC,CAAA,mDACA,CAAA,wCAIF,eACC,CAAA,eACA,CAAA,6CACA,CAAA,kCACA,CAAA,iBACA,CAAA,iBACA,CAAA,2CAGD,6CACC,CAAA,kCACA,CAAA,iBACA,CAAA,uCAGD,iBACC,CAAA,8EAGD,yBACC,CAAA,wBACA,CAAA,0CAGD,oBACC,CAAA,gDAGD,sBACC,CAAA,sDAGD,sBACC,CAAA,+CAGD,wBACC,CAAA,0DACA,CAAA,mCACA,CAAA,eACA\",\"sourcesContent\":[\".settings-markdown :deep a{text-decoration:underline}.settings-markdown :deep a::after{content:\\\"↗\\\";padding-inline:calc(var(--default-grid-baseline)/2)}.settings-markdown :deep pre{white-space:pre;overflow-x:auto;background-color:var(--color-background-dark);border-radius:var(--border-radius);padding:1em 1.3em;margin-bottom:1em}.settings-markdown :deep p code{background-color:var(--color-background-dark);border-radius:var(--border-radius);padding:.1em .3em}.settings-markdown :deep li{position:relative}.settings-markdown :deep ul,.settings-markdown :deep ol{padding-inline-start:10px;margin-inline-start:10px}.settings-markdown :deep ul li{list-style-type:disc}.settings-markdown :deep ul>li>ul>li{list-style-type:circle}.settings-markdown :deep ul>li>ul>li ul li{list-style-type:square}.settings-markdown :deep blockquote{padding-inline-start:1em;border-inline-start:4px solid var(--color-primary-element);color:var(--color-text-maxcontrast);margin-inline:0}\",\"\\n.settings-markdown :deep {\\n\\ta {\\n\\t\\ttext-decoration: underline;\\n\\t\\t&::after {\\n\\t\\t\\tcontent: '↗';\\n\\t\\t\\tpadding-inline: calc(var(--default-grid-baseline) / 2);\\n\\t\\t}\\n\\t}\\n\\n\\tpre {\\n\\t\\twhite-space: pre;\\n\\t\\toverflow-x: auto;\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tpadding: 1em 1.3em;\\n\\t\\tmargin-bottom: 1em;\\n\\t}\\n\\n\\tp code {\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tpadding: .1em .3em;\\n\\t}\\n\\n\\tli {\\n\\t\\tposition: relative;\\n\\t}\\n\\n\\tul, ol {\\n\\t\\tpadding-inline-start: 10px;\\n\\t\\tmargin-inline-start: 10px;\\n\\t}\\n\\n\\tul li {\\n\\t\\tlist-style-type: disc;\\n\\t}\\n\\n\\tul > li > ul > li {\\n\\t\\tlist-style-type: circle;\\n\\t}\\n\\n\\tul > li > ul > li ul li {\\n\\t\\tlist-style-type: square;\\n\\t}\\n\\n\\tblockquote {\\n\\t\\tpadding-inline-start: 1em;\\n\\t\\tborder-inline-start: 4px solid var(--color-primary-element);\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\tmargin-inline: 0;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c(_vm.listView ? 'tr' : (_vm.inline ? 'article' : 'li'),{tag:\"component\",staticClass:\"app-item\",class:{\n\t\t'app-item--list-view': _vm.listView,\n\t\t'app-item--store-view': !_vm.listView,\n\t\t'app-item--selected': _vm.isSelected,\n\t\t'app-item--with-sidebar': _vm.withSidebar,\n\t}},[_c(_vm.dataItemTag,{tag:\"component\",staticClass:\"app-image app-image-icon\",attrs:{\"headers\":_vm.getDataItemHeaders(`app-table-col-icon`)}},[(!_vm.app?.app_api && _vm.shouldDisplayDefaultIcon)?_c('div',{staticClass:\"icon-settings-dark\"}):(_vm.app.app_api && _vm.shouldDisplayDefaultIcon)?_c('NcIconSvgWrapper',{staticStyle:{\"min-width\":\"auto\",\"min-height\":\"auto\",\"height\":\"100%\"},attrs:{\"path\":_vm.mdiCogOutline,\"size\":_vm.listView ? 24 : 48}}):(_vm.listView && _vm.app.preview && !_vm.app.app_api)?_c('svg',{attrs:{\"width\":\"32\",\"height\":\"32\",\"viewBox\":\"0 0 32 32\"}},[_c('image',{staticClass:\"app-icon\",attrs:{\"x\":\"0\",\"y\":\"0\",\"width\":\"32\",\"height\":\"32\",\"preserveAspectRatio\":\"xMinYMin meet\",\"xlink:href\":_vm.app.preview}})]):_vm._e(),_vm._v(\" \"),(!_vm.listView && _vm.app.screenshot && _vm.screenshotLoaded)?_c('img',{attrs:{\"src\":_vm.app.screenshot,\"alt\":\"\"}}):_vm._e()],1),_vm._v(\" \"),_c(_vm.dataItemTag,{tag:\"component\",staticClass:\"app-name\",attrs:{\"headers\":_vm.getDataItemHeaders(`app-table-col-name`)}},[_c('router-link',{staticClass:\"app-name--link\",attrs:{\"to\":{\n\t\t\t\tname: 'apps-details',\n\t\t\t\tparams: {\n\t\t\t\t\tcategory: _vm.category,\n\t\t\t\t\tid: _vm.app.id,\n\t\t\t\t},\n\t\t\t},\"aria-label\":_vm.t('settings', 'Show details for {appName} app', { appName: _vm.app.name })}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.app.name)+\"\\n\\t\\t\")])],1),_vm._v(\" \"),(!_vm.listView)?_c(_vm.dataItemTag,{tag:\"component\",staticClass:\"app-summary\",attrs:{\"headers\":_vm.getDataItemHeaders(`app-version`)}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.app.summary)+\"\\n\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.listView)?_c(_vm.dataItemTag,{tag:\"component\",staticClass:\"app-version\",attrs:{\"headers\":_vm.getDataItemHeaders(`app-table-col-version`)}},[(_vm.app.version)?_c('span',[_vm._v(_vm._s(_vm.app.version))]):(_vm.app.appstoreData.releases[0].version)?_c('span',[_vm._v(_vm._s(_vm.app.appstoreData.releases[0].version))]):_vm._e()]):_vm._e(),_vm._v(\" \"),_c(_vm.dataItemTag,{tag:\"component\",staticClass:\"app-level\",attrs:{\"headers\":_vm.getDataItemHeaders(`app-table-col-level`)}},[_c('AppLevelBadge',{attrs:{\"level\":_vm.app.level}}),_vm._v(\" \"),(_vm.hasRating && !_vm.listView)?_c('AppScore',{attrs:{\"score\":_vm.app.score}}):_vm._e()],1),_vm._v(\" \"),(!_vm.inline)?_c(_vm.dataItemTag,{tag:\"component\",staticClass:\"app-actions\",attrs:{\"headers\":_vm.getDataItemHeaders(`app-table-col-actions`)}},[(_vm.app.error)?_c('div',{staticClass:\"warning\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.app.error)+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.isLoading || _vm.isInitializing)?_c('div',{staticClass:\"icon icon-loading-small\"}):_vm._e(),_vm._v(\" \"),(_vm.app.update)?_c('NcButton',{attrs:{\"variant\":\"primary\",\"disabled\":_vm.installing || _vm.isLoading || !_vm.defaultDeployDaemonAccessible || _vm.isManualInstall,\"title\":_vm.updateButtonText},on:{\"click\":function($event){$event.stopPropagation();return _vm.update(_vm.app.id)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Update to {update}', { update: _vm.app.update }))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.app.canUnInstall)?_c('NcButton',{staticClass:\"uninstall\",attrs:{\"variant\":\"tertiary\",\"disabled\":_vm.installing || _vm.isLoading},on:{\"click\":function($event){$event.stopPropagation();return _vm.remove(_vm.app.id)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Remove'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.app.active)?_c('NcButton',{attrs:{\"disabled\":_vm.installing || _vm.isLoading || _vm.isInitializing || _vm.isDeploying},on:{\"click\":function($event){$event.stopPropagation();return _vm.disable(_vm.app.id)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.disableButtonText)+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(!_vm.app.active && (_vm.app.canInstall || _vm.app.isCompatible))?_c('NcButton',{attrs:{\"title\":_vm.enableButtonTooltip,\"aria-label\":_vm.enableButtonTooltip,\"variant\":\"primary\",\"disabled\":!_vm.app.canInstall || _vm.installing || _vm.isLoading || !_vm.defaultDeployDaemonAccessible || _vm.isInitializing || _vm.isDeploying},on:{\"click\":function($event){$event.stopPropagation();return _vm.enableButtonAction.apply(null, arguments)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.enableButtonText)+\"\\n\\t\\t\")]):(!_vm.app.active)?_c('NcButton',{attrs:{\"title\":_vm.forceEnableButtonTooltip,\"aria-label\":_vm.forceEnableButtonTooltip,\"variant\":\"secondary\",\"disabled\":_vm.installing || _vm.isLoading || !_vm.defaultDeployDaemonAccessible},on:{\"click\":function($event){$event.stopPropagation();return _vm.forceEnable(_vm.app.id)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.forceEnableButtonText)+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.app?.app_api && _vm.showSelectDaemonModal)?_c('DaemonSelectionDialog',{attrs:{\"show\":_vm.showSelectDaemonModal,\"app\":_vm.app},on:{\"update:show\":function($event){_vm.showSelectDaemonModal=$event}}}):_vm._e()],1):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SvgFilterMixin.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SvgFilterMixin.vue?vue&type=script&lang=js\"","var render, staticRenderFns\nimport script from \"./SvgFilterMixin.vue?vue&type=script&lang=js\"\nexport * from \"./SvgFilterMixin.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppItem.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppItem.vue?vue&type=script&lang=js\"","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppItem.vue?vue&type=style&index=0&id=50fa5285&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppItem.vue?vue&type=style&index=0&id=50fa5285&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppItem.vue?vue&type=template&id=50fa5285&scoped=true\"\nimport script from \"./AppItem.vue?vue&type=script&lang=js\"\nexport * from \"./AppItem.vue?vue&type=script&lang=js\"\nimport style0 from \"./AppItem.vue?vue&type=style&index=0&id=50fa5285&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"50fa5285\",\n null\n \n)\n\nexport default component.exports"],"names":["showApiError","showError","t","useAppsStore","defineStore","state","apps","categories","updateCount","loadState","loading","loadingList","gettingCategoriesPromise","actions","loadCategories","force","this","length","data","axios","get","generateUrl","category","icon","APPSTORE_CATEGORY_ICONS","id","$patch","error","logger","loadApps","getCategoryById","categoryId","find","getAppById","appId","updateAppGroups","groups","app","___CSS_LOADER_EXPORT___","push","module","generateOcsUrl","then","ocs","meta","statuscode","emit","window","dispatchEvent","Event","productName","OC","theme","computed","appGroups","map","group","name","installing","app_api","appApiStore","getLoading","$store","getters","isLoading","isInitializing","status","action","isDeploying","isManualInstall","daemon","accepts_deploy_id","updateButtonText","version","update","enableButtonText","progress","deploy","init","needsDownload","disableButtonText","forceEnableButtonText","enableButtonTooltip","forceEnableButtonTooltip","base","defaultDeployDaemonAccessible","getDefaultDaemon","getDaemonAccessible","groupCheckedAppsData","mounted","methods","asyncFindGroup","query","dispatch","search","limit","offset","isLimitedToGroups","setGroupLimit","canLimitToGroups","types","includes","addGroupLimitation","groupArray","pop","concat","store","removeGroupLimitation","currentGroups","index","indexOf","splice","forceEnable","forceEnableApp","rebuildNavigation","catch","enable","deployOptions","enableApp","disable","disableApp","remove","removeData","uninstallApp","install","updateApp","Math","max","_defineComponent","__name","setup","__props","appstoreEnabled","developerDocsUrl","categoriesLoading","isSubscribed","undefined","level","onBeforeMount","__sfc","NcAppNavigation","NcAppNavigationItem","NcAppNavigationSpacer","NcCounterBubble","NcIconSvgWrapper","NcLoadingIcon","APPS_SECTION_ENUM","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","_vm","_c","_self","_setup","_setupProxy","attrs","scopedSlots","_u","key","fn","params","discover","proxy","_e","_v","installed","enabled","disabled","updates","_s","bundles","staticClass","supported","featured","_l","displayName","Node","constructor","value","_defineProperty","_head","WeakMap","_tail","_size","Queue","_classPrivateFieldInitSpec","clear","enqueue","_this$size","node","_classPrivateFieldGet","next","_classPrivateFieldSet","dequeue","_this$size3","current","peek","size","Symbol","iterator","drain","pLimit","concurrency","validateConcurrency","queue","activeCount","resumeNext","run","async","function_","resolve","arguments_","result","generator","Promise","internalResolve","bind","Object","defineProperties","pendingCount","clearQueue","set","newConcurrency","queueMicrotask","iterable","promises","Array","from","all","Number","isInteger","POSITIVE_INFINITY","TypeError","components","AppItem","NcButton","mixins","AppManagement","props","type","String","required","useAppApiStore","counter","filter","hasPendingUpdate","showUpdateAll","useListView","exApps","isAppApiEnabled","getAllApps","toLowerCase","sort","a","b","natSortDiff","Util","naturalSortCompare","sortStringA","active","sortStringB","appstore","getAppBundles","bundle","bundleApps","bundleIds","searchApps","_app","useAppStoreView","useBundleView","allBundlesEnabled","bundleToggleText","beforeDestroy","unsubscribe","setSearch","resetSearch","subscribe","toggleBundle","disableBundle","enableBundle","Notification","show","updateAll","class","n","on","$event","parseApiResponse","element","appElement","date","Date","parse","expiryDate","Error","filterElements","now","PostType","defineAsyncComponent","CarouselType","ShowcaseType","hasError","ref","elements","shuffleArray","array","i","j","floor","random","info","shuffledElements","order","Infinity","getComponent","defineComponent","render","h","mdiEyeOffOutline","NcEmptyContent","entry","_b","tag","route","useRoute","currentCategory","viewLabel","pageHeading","pageTitle","instance","getCurrentInstance","shouldRefetchCategories","fetchAllApps","updateAppsStatus","onBeforeUnmount","clearInterval","getStatusUpdater","NcAppContent","AppList","AppStoreDiscoverSection","domProps","statusUpdater","daemonAccessible","defaultDaemon","dockerDaemons","getUpdateCount","getAppStatus","getInitializingOrDeployingApps","appsApiFailure","response","message","isHTML","setLoading","Vue","setError","isArray","forEach","_id","confirmPassword","post","canUnInstall","removable","update_required","showInfo","onClick","location","reload","close","setTimeout","api","canInstall","fetchAppStatus","initializingOrDeployingApps","debug","hasOwn","fetchDockerDaemons","daemons","default_daemon_config","setInterval","score","mdiStar","mdiStarHalfFull","mdiStarOutline","title","appScore","toFixed","fullStars","emptyStars","min","hasHalfStar","mdiFileChart","display_name","gpuSupport","deploy_config","computeDevice","NcAppSidebarTab","label","text","default","minHeading","renderMarkdown","renderer","marked","Renderer","link","href","prot","decodeURIComponent","unescape","replace","out","heading","depth","image","blockquote","dompurify","sanitize","trim","gfm","highlight","tables","breaks","pedantic","smartLists","smartypants","SAFE_FOR_JQUERY","ALLOWED_TAGS","mdiTextShort","Markdown","description","NcDialog","NcTextField","NcNoteCard","NcCheckboxRadioSwitch","Boolean","environmentVariables","releases","environment_variables","reduce","acc","envVar","envName","mounts","mdiPlus","mdiCheck","mdiClose","mdiDeleteOutline","addingMount","newMountPoint","hostPath","containerPath","readonly","addingPortBinding","configuredDeployOptions","deployOptionsDocsUrl","watch","newShow","fetchExAppDeployOptions","startAddingMount","$nextTick","$refs","newMountHostPath","focus","addMountPoint","cancelAddMountPoint","removeMount","mountToRemove","mount","submitDeployOptions","$emit","isCompatible","stopPropagation","apply","arguments","model","callback","$$v","$set","expression","keys","staticStyle","NcDateTime","NcSelect","AppDeployOptionsModal","DaemonSelectionDialog","mdiBugOutline","mdiFeatureSearchOutline","mdiTextBoxOutline","mdiTooltipQuestionOutline","mdiToyBrickPlusOutline","showDeployOptionsModal","showSelectDaemonModal","lastModified","appstoreData","at","appAuthors","authorName","xmlNode","author","split","localeCompare","join","appstoreUrl","externalResources","resources","internal","website","documentation","user","admin","developer","appCategories","flat","rateAppUrl","getGroups","beforeUnmount","showSelectionModal","toggleRemoveData","enableButtonAction","directives","rawName","_i","$$a","$$el","target","$$c","checked","$$i","slice","slot","click","missingMinOwnCloudVersion","missingMaxOwnCloudVersion","missingDependencies","dep","shipped","resource","bugs","discussion","hasChangelog","values","translations","some","changelog","createChangelogFromRelease","release","getLanguage","en","mdiClockFast","router","useRouter","legacyStore","useStore","exApp","hasRating","ratingNumOverall","rating","ratingNumRecent","ratingRecent","ratingOverall","showSidebar","appIcon","categoryIcon","path","mdiCogOutline","AppstoreCategoryIcons","mdiCog","watchEffect","preview","fetch","blob","rawSvg","replaceAll","useAppIcon","licenseText","license","licence","toString","toUpperCase","activeTab","screenshotLoaded","hasScreenshot","screenshot","loadScreenshot","Image","onload","src","onMounted","hideAppDetails","NcAppSidebar","AppDaemonBadge","AppLevelBadge","AppScore","AppDeployDaemonTab","AppDescriptionTab","AppDetailsTab","AppReleasesTab","emits","fillColor","$attrs","NcListItem","isDefault","itemTitle","closeModal","selectDaemonAndInstall","exAppsCount","appApiAdminPage","DaemonSelectionEntry","FormatListBullet","appName","DaemonSelectionList","freeze","mdiStarCircleOutline","mdiAccountOutline","mdiArchiveOutline","mdiStarShootingOutline","mdiDownload","ai","mdiCreationOutline","auth","mdiKeyOutline","customization","dashboard","mdiViewColumnOutline","files","mdiFolder","games","mdiControllerClassicOutline","integration","mdiOpenInApp","monitoring","mdiMonitorEye","multimedia","mdiMultimedia","office","mdiFileDocumentEdit","organization","mdiOfficeBuildingOutline","mdiMagnify","security","mdiSecurity","social","mdiAccountMultipleOutline","tools","mdiTools","workflow","mdiClipboardFlowOutline","isSupported","isFeatured","badgeIcon","badgeText","badgeTitle","filterId","filterUrl","substring","SvgFilterMixin","listView","headers","inline","isSelected","scrolled","dataItemTag","withSidebar","$route","shouldDisplayDefaultIcon","watchers","prefix","content","getDataItemHeaders","columnName","summary"],"ignoreList":[],"sourceRoot":""} \ No newline at end of file diff --git a/dist/settings-vue-settings-apps-users-management.js b/dist/settings-vue-settings-apps-users-management.js index 0d79c493c1416..278cfef078083 100644 --- a/dist/settings-vue-settings-apps-users-management.js +++ b/dist/settings-vue-settings-apps-users-management.js @@ -1,2 +1,2 @@ -(()=>{var e,r,n,i={2404:(e,t,r)=>{var n=r(60270);e.exports=function(e,t){return n(e,t)}},6028:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});var n=r(19051),i=r(47176);function o(e){return e.replace(/\/$/,"")}const s={requireAdmin:()=>(0,i.C5)(),get:(e,t)=>n.Ay.get(o(e),t),post:(e,t)=>n.Ay.post(o(e),t),patch:(e,t)=>n.Ay.patch(o(e),t),put:(e,t)=>n.Ay.put(o(e),t),delete:(e,t)=>n.Ay.delete(o(e),{params:t})}},14744:(e,r,n)=>{"use strict";n.d(r,{P:()=>x});var i=n(85168),o=n(95353),s=n(36620),a=n(19051),c=n(81222),u=n(63814),p=n(85471),l=n(6028);const d={apps:[],bundles:(0,c.C)("settings","appstoreBundles",[]),categories:[],updateCount:(0,c.C)("settings","appstoreUpdateCount",0),loading:{},gettingCategoriesPromise:null,appApiEnabled:(0,c.C)("settings","appApiEnabled",!1)},f={APPS_API_FAILURE(e,r){(0,i.Qg)(t("settings","An error occurred during the request. Unable to proceed.")+"
"+r.error.response.data.data.message,{isHTML:!0}),s.A.error("An error occurred during the request. Unable to proceed.",{state:e,error:r})},initCategories(e,{categories:t,updateCount:r}){e.categories=t,e.updateCount=r},updateCategories(e,t){e.gettingCategoriesPromise=t},setUpdateCount(e,t){e.updateCount=t},addCategory(e,t){e.categories.push(t)},appendCategories(e,t){e.categories=t},setAllApps(e,t){e.apps=t},setError(e,{appId:t,error:r}){Array.isArray(t)||(t=[t]),t.forEach(t=>{e.apps.find(e=>e.id===t).error=r})},clearError(e,{appId:t}){e.apps.find(e=>e.id===t).error=null},enableApp(e,{appId:t,groups:r}){const n=e.apps.find(e=>e.id===t);n.active=!0,p.Ay.set(n,"groups",[...r]),"app_api"===n.id&&(e.appApiEnabled=!0)},setInstallState(e,{appId:t,canInstall:r}){const n=e.apps.find(e=>e.id===t);n&&(n.canInstall=!0===r)},disableApp(e,t){const r=e.apps.find(e=>e.id===t);r.active=!1,r.groups=[],r.removable&&(r.canUnInstall=!0),"app_api"===r.id&&(e.appApiEnabled=!1)},uninstallApp(e,t){e.apps.find(e=>e.id===t).active=!1,e.apps.find(e=>e.id===t).groups=[],e.apps.find(e=>e.id===t).needsDownload=!0,e.apps.find(e=>e.id===t).installed=!1,e.apps.find(e=>e.id===t).canUnInstall=!1,e.apps.find(e=>e.id===t).canInstall=!0,"app_api"===t&&(e.appApiEnabled=!1)},updateApp(e,t){const r=e.apps.find(e=>e.id===t),n=r.update;r.update=null,r.version=n,e.updateCount--},resetApps(e){e.apps=[]},reset(e){e.apps=[],e.categories=[],e.updateCount=0},startLoading(e,t){Array.isArray(t)?t.forEach(t=>{p.Ay.set(e.loading,t,!0)}):p.Ay.set(e.loading,t,!0)},stopLoading(e,t){Array.isArray(t)?t.forEach(t=>{p.Ay.set(e.loading,t,!1)}):p.Ay.set(e.loading,t,!1)}},h={enableApp(e,{appId:r,groups:n}){let o;return o=Array.isArray(r)?r:[r],l.A.requireAdmin().then(()=>{e.commit("startLoading",o),e.commit("startLoading","install");const s={};return o.forEach(t=>{const r=e.state.apps.find(e=>e.id===t);r&&(s[t]={active:r.active,groups:[...r.groups||[]]},e.commit("enableApp",{appId:t,groups:n}))}),l.A.post((0,u.Jv)("settings/apps/enable"),{appIds:o,groups:n}).then(n=>(e.commit("stopLoading",o),e.commit("stopLoading","install"),a.Ay.get((0,u.Jv)("apps/files/")).then(()=>{n.data.update_required&&((0,i.cf)(t("settings","The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds."),{onClick:()=>window.location.reload(),close:!1}),setTimeout(function(){location.reload()},5e3))}).catch(()=>{Array.isArray(r)||((0,i.Qg)(t("settings","Error: This app cannot be enabled because it makes the server unstable")),e.commit("setError",{appId:o,error:t("settings","Error: This app cannot be enabled because it makes the server unstable")}),e.dispatch("disableApp",{appId:r}))}))).catch(t=>{e.commit("stopLoading",o),e.commit("stopLoading","install"),o.forEach(t=>{s[t]&&(e.commit("enableApp",{appId:t,groups:s[t].groups}),s[t].active||e.commit("disableApp",t))}),e.commit("setError",{appId:o,error:t.response.data.data.message}),e.commit("APPS_API_FAILURE",{appId:r,error:t})})}).catch(t=>e.commit("API_FAILURE",{appId:r,error:t}))},forceEnableApp(e,{appId:t}){let r;return r=Array.isArray(t)?t:[t],l.A.requireAdmin().then(()=>(e.commit("startLoading",r),e.commit("startLoading","install"),l.A.post((0,u.Jv)("settings/apps/force"),{appId:t}).then(()=>{e.commit("setInstallState",{appId:t,canInstall:!0})}).catch(n=>{e.commit("stopLoading",r),e.commit("stopLoading","install"),e.commit("setError",{appId:r,error:n.response.data.data.message}),e.commit("APPS_API_FAILURE",{appId:t,error:n})}).finally(()=>{e.commit("stopLoading",r),e.commit("stopLoading","install")}))).catch(r=>e.commit("API_FAILURE",{appId:t,error:r}))},disableApp(e,{appId:t}){let r;return r=Array.isArray(t)?t:[t],l.A.requireAdmin().then(()=>(e.commit("startLoading",r),l.A.post((0,u.Jv)("settings/apps/disable"),{appIds:r}).then(()=>(e.commit("stopLoading",r),r.forEach(t=>{e.commit("disableApp",t)}),!0)).catch(n=>{e.commit("stopLoading",r),e.commit("APPS_API_FAILURE",{appId:t,error:n})}))).catch(r=>e.commit("API_FAILURE",{appId:t,error:r}))},uninstallApp:(e,{appId:t})=>l.A.requireAdmin().then(()=>(e.commit("startLoading",t),l.A.get((0,u.Jv)(`settings/apps/uninstall/${t}`)).then(()=>(e.commit("stopLoading",t),e.commit("uninstallApp",t),!0)).catch(r=>{e.commit("stopLoading",t),e.commit("APPS_API_FAILURE",{appId:t,error:r})}))).catch(r=>e.commit("API_FAILURE",{appId:t,error:r})),updateApp:(e,{appId:t})=>l.A.requireAdmin().then(()=>(e.commit("startLoading",t),e.commit("startLoading","install"),l.A.get((0,u.Jv)(`settings/apps/update/${t}`)).then(()=>(e.commit("stopLoading","install"),e.commit("stopLoading",t),e.commit("updateApp",t),!0)).catch(r=>{e.commit("stopLoading",t),e.commit("stopLoading","install"),e.commit("APPS_API_FAILURE",{appId:t,error:r})}))).catch(r=>e.commit("API_FAILURE",{appId:t,error:r})),getAllApps:e=>(e.commit("startLoading","list"),l.A.get((0,u.Jv)("settings/apps/list")).then(t=>(e.commit("setAllApps",t.data.apps),e.commit("stopLoading","list"),!0)).catch(t=>e.commit("API_FAILURE",t))),async getCategories(e,{shouldRefetchCategories:t=!1}={}){if(t||!e.state.gettingCategoriesPromise){e.commit("startLoading","categories");try{const t=l.A.get((0,u.Jv)("settings/apps/categories"));e.commit("updateCategories",t);const r=await t;return r.data.length>0?(e.commit("appendCategories",r.data),e.commit("stopLoading","categories"),!0):(e.commit("stopLoading","categories"),!1)}catch(t){e.commit("API_FAILURE",t)}}return e.state.gettingCategoriesPromise}},m={state:d,mutations:f,getters:{isAppApiEnabled:e=>e.appApiEnabled,loading:e=>function(t){return e.loading[t]},getCategories:e=>e.categories,getAllApps:e=>e.apps,getAppBundles:e=>e.bundles,getUpdateCount:e=>e.updateCount,getCategoryById:e=>t=>e.categories.find(e=>e.id===t)},actions:h},g={state:{},mutations:{},getters:{},actions:{setAppConfig:(e,{app:t,key:r,value:n})=>l.A.requireAdmin().then(()=>l.A.post((0,u.KT)("apps/provisioning_api/api/v1/config/apps/{app}/{key}",{app:t,key:r}),{value:n}).catch(e=>{throw e})).catch(i=>e.commit("API_FAILURE",{app:t,key:r,value:n,error:i}))}},v={serverData:(0,c.C)("settings","usersSettings",{})},E={setServerData(e,t){e.serverData=t}},b={state:v,mutations:E,getters:{getServerData:e=>e.serverData},actions:{}};var _=n(80474),y=n(87485),A=n(35810),T=n(15916),I=n(53334);const O=Intl.Collator([(0,I.Z0)(),(0,I.lO)()],{numeric:!0,usage:"sort"}),w=(0,c.C)("settings","usersSettings",{}),N=(0,_.c0)("settings").persist(!0).build(),C={id:"",name:"",usercount:0,disabled:0,canAdd:!0,canRemove:!0},L={users:[],groups:[...w.getSubAdminGroups??[],...w.systemGroups??[]],orderBy:w.sortGroups??T.q.UserCount,minPasswordLength:0,usersOffset:0,usersLimit:25,disabledUsersOffset:0,disabledUsersLimit:25,userCount:w.userCount??0,showConfig:{showStoragePath:"true"===N.getItem("account_settings__showStoragePath"),showUserBackend:"true"===N.getItem("account_settings__showUserBackend"),showFirstLogin:"true"===N.getItem("account_settings__showFirstLogin"),showLastLogin:"true"===N.getItem("account_settings__showLastLogin"),showNewUserForm:"true"===N.getItem("account_settings__showNewUserForm"),showLanguages:"true"===N.getItem("account_settings__showLanguages")}},S={appendUsers(e,t){const r=e.users.map(({id:e})=>e),n=Object.values(t).filter(({id:e})=>!r.includes(e)),i=e.users.concat(n);e.usersOffset+=e.usersLimit,e.users=i},updateDisabledUsers(e){e.disabledUsersOffset+=e.disabledUsersLimit},setPasswordPolicyMinLength(e,t){e.minPasswordLength=""!==t?t:0},addGroup(e,t){try{if(void 0!==e.groups.find(e=>e.id===t.id))return;const r={...C,...t};e.groups.unshift(r)}catch(e){s.A.error("Cannt create group",{error:e})}},renameGroup(e,{gid:t,displayName:r}){const n=e.groups.findIndex(e=>e.id===t);if(n>=0){const t=e.groups[n];t.name=r,e.groups.splice(n,1,t)}},removeGroup(e,t){const r=e.groups.findIndex(e=>e.id===t);r>=0&&e.groups.splice(r,1)},addUserGroup(e,{userid:t,gid:r}){const n=e.groups.find(e=>e.id===r),i=e.users.find(e=>e.id===t);n&&i.enabled&&e.userCount>0&&n.usercount++,i.groups.push(r)},removeUserGroup(e,{userid:t,gid:r}){const n=e.groups.find(e=>e.id===r),i=e.users.find(e=>e.id===t);n&&i.enabled&&e.userCount>0&&n.usercount--;const o=i.groups;o.splice(o.indexOf(r),1)},addUserSubAdmin(e,{userid:t,gid:r}){e.users.find(e=>e.id===t).subadmin.push(r)},removeUserSubAdmin(e,{userid:t,gid:r}){const n=e.users.find(e=>e.id===t).subadmin;n.splice(n.indexOf(r),1)},deleteUser(e,t){const r=e.users.findIndex(e=>e.id===t);this.commit("updateUserCounts",{user:e.users[r],actionType:"remove"}),e.users.splice(r,1)},addUserData(e,t){const r=t.data.ocs.data;e.users.unshift(r),this.commit("updateUserCounts",{user:r,actionType:"create"})},enableDisableUser(e,{userid:t,enabled:r}){const n=e.users.find(e=>e.id===t);n.enabled=r,this.commit("updateUserCounts",{user:n,actionType:r?"enable":"disable"})},updateUserCounts(e,{user:t,actionType:r}){if(0===e.userCount)return;const n=e.groups.find(e=>"__nc_internal_recent"===e.id),i=e.groups.find(e=>"disabled"===e.id);switch(r){case"enable":case"disable":i.usercount+=t.enabled?-1:1,n.usercount+=t.enabled?1:-1,e.userCount+=t.enabled?1:-1,t.groups.forEach(r=>{const n=e.groups.find(e=>e.id===r);n&&(n.disabled+=t.enabled?-1:1)});break;case"create":n.usercount++,e.userCount++,t.groups.forEach(t=>{const r=e.groups.find(e=>e.id===t);r&&r.usercount++});break;case"remove":t.enabled?(n.usercount--,e.userCount--,t.groups.forEach(t=>{const r=e.groups.find(e=>e.id===t);r?r.usercount--:s.A.warn("User group "+t+" does not exist during user removal")})):(i.usercount--,t.groups.forEach(t=>{const r=e.groups.find(e=>e.id===t);r&&r.disabled--}));break;default:s.A.error(`Unknown action type in updateUserCounts: '${r}'`)}},setUserData(e,{userid:t,key:r,value:n}){if("quota"===r){const i=(0,A.lT)(n,!0);e.users.find(e=>e.id===t)[r][r]=null!==i?i:n}else e.users.find(e=>e.id===t)[r]=n},resetUsers(e){e.users=[],e.usersOffset=0,e.disabledUsersOffset=0},resetGroups(e){e.groups=[...w.getSubAdminGroups??[],...w.systemGroups??[]]},setShowConfig(e,{key:t,value:r}){N.setItem(`account_settings__${t}`,JSON.stringify(r)),e.showConfig[t]=r},setGroupSorting(e,r){const n=e.orderBy;e.orderBy=r,a.Ay.post((0,u.Jv)("/settings/users/preferences/group.sortBy"),{value:String(r)}).catch(r=>{e.orderBy=n,(0,i.Qg)(t("settings","Could not set group sorting")),s.A.error(r)})}},R={getUsers:e=>e.users,getGroups:e=>e.groups,getSubAdminGroups:()=>w.subAdminGroups??[],getSortedGroups(e){const t=[...e.groups];return e.orderBy===T.q.UserCount?t.sort((e,t)=>{const r=e.usercount-e.disabled,n=t.usercount-t.disabled;return rO.compare(e.name,t.name))},getGroupSorting:e=>e.orderBy,getPasswordPolicyMinLength:e=>e.minPasswordLength,getUsersOffset:e=>e.usersOffset,getUsersLimit:e=>e.usersLimit,getDisabledUsersOffset:e=>e.disabledUsersOffset,getDisabledUsersLimit:e=>e.disabledUsersLimit,getUserCount:e=>e.userCount,getShowConfig:e=>e.showConfig},P=a.Ay.CancelToken;let D=null;const $={state:L,mutations:S,getters:R,actions:{searchUsers:(e,{offset:t,limit:r,search:n})=>(n="string"==typeof n?n:"",l.A.get((0,u.KT)("cloud/users/details?offset={offset}&limit={limit}&search={search}",{offset:t,limit:r,search:n})).catch(t=>{a.Ay.isCancel(t)||e.commit("API_FAILURE",t)})),getUser:(e,t)=>l.A.get((0,u.KT)(`cloud/users/${t}`)).catch(t=>{a.Ay.isCancel(t)||e.commit("API_FAILURE",t)}),getUsers:(e,{offset:t,limit:r,search:n,group:i})=>(D&&D.cancel("Operation canceled by another search request."),D=P.source(),n=(n="string"==typeof n?n:"").replace(/in:[^\s]+/g,"").trim(),""!==(i="string"==typeof i?i:"")?l.A.get((0,u.KT)("cloud/groups/{group}/users/details?offset={offset}&limit={limit}&search={search}",{group:encodeURIComponent(i),offset:t,limit:r,search:n}),{cancelToken:D.token}).then(t=>{const r=Object.keys(t.data.ocs.data.users).length;return r>0&&e.commit("appendUsers",t.data.ocs.data.users),r}).catch(t=>{a.Ay.isCancel(t)||e.commit("API_FAILURE",t)}):l.A.get((0,u.KT)("cloud/users/details?offset={offset}&limit={limit}&search={search}",{offset:t,limit:r,search:n}),{cancelToken:D.token}).then(t=>{const r=Object.keys(t.data.ocs.data.users).length;return r>0&&e.commit("appendUsers",t.data.ocs.data.users),r}).catch(t=>{a.Ay.isCancel(t)||e.commit("API_FAILURE",t)})),async getRecentUsers(e,{offset:t,limit:r,search:n}){const i=(0,u.KT)("cloud/users/recent?offset={offset}&limit={limit}&search={search}",{offset:t,limit:r,search:n});try{const t=await l.A.get(i),r=Object.keys(t.data.ocs.data.users).length;return r>0&&e.commit("appendUsers",t.data.ocs.data.users),r}catch(t){e.commit("API_FAILURE",t)}},async getDisabledUsers(e,{offset:t,limit:r,search:n}){const i=(0,u.KT)("cloud/users/disabled?offset={offset}&limit={limit}&search={search}",{offset:t,limit:r,search:n});try{const t=await l.A.get(i),r=Object.keys(t.data.ocs.data.users).length;return r>0&&(e.commit("appendUsers",t.data.ocs.data.users),e.commit("updateDisabledUsers",t.data.ocs.data.users)),r}catch(t){e.commit("API_FAILURE",t)}},getGroups(e,{offset:t,limit:r,search:n}){n="string"==typeof n?n:"";const i=-1===r?"":`&limit=${r}`;return l.A.get((0,u.KT)("cloud/groups?offset={offset}&search={search}",{offset:t,search:n})+i).then(t=>Object.keys(t.data.ocs.data.groups).length>0&&(t.data.ocs.data.groups.forEach(function(t){e.commit("addGroup",{id:t,name:t})}),!0)).catch(t=>e.commit("API_FAILURE",t))},getUsersFromList:(e,{offset:t,limit:r,search:n})=>(n="string"==typeof n?n:"",l.A.get((0,u.KT)("cloud/users/details?offset={offset}&limit={limit}&search={search}",{offset:t,limit:r,search:n})).then(t=>Object.keys(t.data.ocs.data.users).length>0&&(e.commit("appendUsers",t.data.ocs.data.users),!0)).catch(t=>e.commit("API_FAILURE",t))),getUsersFromGroup:(e,{groupid:t,offset:r,limit:n})=>l.A.get((0,u.KT)("cloud/users/{groupId}/details?offset={offset}&limit={limit}",{groupId:encodeURIComponent(t),offset:r,limit:n})).then(t=>e.commit("getUsersFromList",t.data.ocs.data.users)).catch(t=>e.commit("API_FAILURE",t)),getPasswordPolicyMinLength:e=>!(!(0,y.F)().password_policy||!(0,y.F)().password_policy.minLength)&&(e.commit("setPasswordPolicyMinLength",(0,y.F)().password_policy.minLength),(0,y.F)().password_policy.minLength),addGroup:(e,t)=>l.A.requireAdmin().then(()=>l.A.post((0,u.KT)("cloud/groups"),{groupid:t}).then(()=>(e.commit("addGroup",{id:t,name:t}),{gid:t,displayName:t})).catch(e=>{throw e})).catch(r=>{throw e.commit("API_FAILURE",{gid:t,error:r}),r}),renameGroup:(e,{groupid:t,displayName:r})=>l.A.requireAdmin().then(()=>l.A.put((0,u.KT)("cloud/groups/{groupId}",{groupId:encodeURIComponent(t)}),{key:"displayname",value:r}).then(()=>(e.commit("renameGroup",{gid:t,displayName:r}),{groupid:t,displayName:r})).catch(e=>{throw e})).catch(r=>{throw e.commit("API_FAILURE",{groupid:t,error:r}),r}),removeGroup:(e,t)=>l.A.requireAdmin().then(()=>l.A.delete((0,u.KT)("cloud/groups/{groupId}",{groupId:encodeURIComponent(t)})).then(()=>e.commit("removeGroup",t)).catch(e=>{throw e})).catch(r=>e.commit("API_FAILURE",{gid:t,error:r})),addUserGroup:(e,{userid:t,gid:r})=>l.A.requireAdmin().then(()=>l.A.post((0,u.KT)("cloud/users/{userid}/groups",{userid:t}),{groupid:r}).then(()=>e.commit("addUserGroup",{userid:t,gid:r})).catch(e=>{throw e})).catch(r=>e.commit("API_FAILURE",{userid:t,error:r})),removeUserGroup:(e,{userid:t,gid:r})=>l.A.requireAdmin().then(()=>l.A.delete((0,u.KT)("cloud/users/{userid}/groups",{userid:t}),{groupid:r}).then(()=>e.commit("removeUserGroup",{userid:t,gid:r})).catch(e=>{throw e})).catch(r=>{throw e.commit("API_FAILURE",{userid:t,error:r}),r}),addUserSubAdmin:(e,{userid:t,gid:r})=>l.A.requireAdmin().then(()=>l.A.post((0,u.KT)("cloud/users/{userid}/subadmins",{userid:t}),{groupid:r}).then(()=>e.commit("addUserSubAdmin",{userid:t,gid:r})).catch(e=>{throw e})).catch(r=>e.commit("API_FAILURE",{userid:t,error:r})),removeUserSubAdmin:(e,{userid:t,gid:r})=>l.A.requireAdmin().then(()=>l.A.delete((0,u.KT)("cloud/users/{userid}/subadmins",{userid:t}),{groupid:r}).then(()=>e.commit("removeUserSubAdmin",{userid:t,gid:r})).catch(e=>{throw e})).catch(r=>e.commit("API_FAILURE",{userid:t,error:r})),async wipeUserDevices(e,t){try{return await l.A.requireAdmin(),await l.A.post((0,u.KT)("cloud/users/{userid}/wipe",{userid:t}))}catch(r){return e.commit("API_FAILURE",{userid:t,error:r}),Promise.reject(new Error("Failed to wipe user devices"))}},deleteUser:(e,t)=>l.A.requireAdmin().then(()=>l.A.delete((0,u.KT)("cloud/users/{userid}",{userid:t})).then(()=>e.commit("deleteUser",t)).catch(e=>{throw e})).catch(r=>e.commit("API_FAILURE",{userid:t,error:r})),addUser:({commit:e,dispatch:t},{userid:r,password:n,displayName:i,email:o,groups:s,subadmin:a,quota:c,language:p,manager:d})=>l.A.requireAdmin().then(()=>l.A.post((0,u.KT)("cloud/users"),{userid:r,password:n,displayName:i,email:o,groups:s,subadmin:a,quota:c,language:p,manager:d}).then(e=>t("addUserData",r||e.data.ocs.data.id)).catch(e=>{throw e})).catch(t=>{throw e("API_FAILURE",{userid:r,error:t}),t}),addUserData:(e,t)=>l.A.requireAdmin().then(()=>l.A.get((0,u.KT)("cloud/users/{userid}",{userid:t})).then(t=>e.commit("addUserData",t)).catch(e=>{throw e})).catch(r=>e.commit("API_FAILURE",{userid:t,error:r})),enableDisableUser(e,{userid:t,enabled:r=!0}){const n=r?"enable":"disable";return l.A.requireAdmin().then(()=>l.A.put((0,u.KT)("cloud/users/{userid}/{userStatus}",{userid:t,userStatus:n})).then(()=>e.commit("enableDisableUser",{userid:t,enabled:r})).catch(e=>{throw e})).catch(r=>e.commit("API_FAILURE",{userid:t,error:r}))},async setUserData(e,{userid:t,key:r,value:n}){if(!["email","language","quota","displayname","password","manager"].includes(r))throw new Error("Invalid request data");if(""===n&&!["email","displayname","manager"].includes(r))throw new Error("Value cannot be empty for this field");try{return await l.A.requireAdmin(),await l.A.put((0,u.KT)("cloud/users/{userid}",{userid:t}),{key:r,value:n}),e.commit("setUserData",{userid:t,key:r,value:n})}catch(r){throw e.commit("API_FAILURE",{userid:t,error:r}),r}},sendWelcomeMail:(e,t)=>l.A.requireAdmin().then(()=>l.A.post((0,u.KT)("cloud/users/{userid}/welcome",{userid:t})).then(()=>!0).catch(e=>{throw e})).catch(r=>e.commit("API_FAILURE",{userid:t,error:r}))}},U={API_FAILURE(e,r){try{const e=r.error.response.data.ocs.meta.message;(0,i.Qg)(t("settings","An error occurred during the request. Unable to proceed.")+"
"+e,{isHTML:!0})}catch{(0,i.Qg)(t("settings","An error occurred during the request. Unable to proceed."))}s.A.error("An error occurred during the request.",{state:e,error:r})}};let F=null;function x(){return null===F&&(F=new o.il({modules:{users:$,apps:m,settings:b,oc:g},strict:!1,mutations:U})),F}},14974:e=>{e.exports=function(e,t){if(("constructor"!==t||"function"!=typeof e[t])&&"__proto__"!=t)return e[t]}},15340:()=>{},15916:(e,t,r)=>{"use strict";var n;r.d(t,{q:()=>n}),function(e){e[e.UserCount=1]="UserCount",e[e.GroupName=2]="GroupName"}(n||(n={}))},20999:(e,t,r)=>{var n=r(69302),i=r(36800);e.exports=function(e){return n(function(t,r){var n=-1,o=r.length,s=o>1?r[o-1]:void 0,a=o>2?r[2]:void 0;for(s=e.length>3&&"function"==typeof s?(o--,s):void 0,a&&i(r[0],r[1],a)&&(s=o<3?void 0:s,o=1),t=Object(t);++n{"use strict";var n=r(21777),i=r(53334),o=r(10810);function s(e){return s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},s(e)}function a(e){var t=function(e){if("object"!=s(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=s(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==s(t)?t:t+""}function c(e,t,r){return(t=a(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function u(e,t){for(var r=0;r=0)return 1;return 0}(),d=p&&window.Promise?function(e){var t=!1;return function(){t||(t=!0,window.Promise.resolve().then(function(){t=!1,e()}))}}:function(e){var t=!1;return function(){t||(t=!0,setTimeout(function(){t=!1,e()},l))}};function f(e){return e&&"[object Function]"==={}.toString.call(e)}function h(e,t){if(1!==e.nodeType)return[];var r=e.ownerDocument.defaultView.getComputedStyle(e,null);return t?r[t]:r}function m(e){return"HTML"===e.nodeName?e:e.parentNode||e.host}function g(e){if(!e)return document.body;switch(e.nodeName){case"HTML":case"BODY":return e.ownerDocument.body;case"#document":return e.body}var t=h(e),r=t.overflow,n=t.overflowX,i=t.overflowY;return/(auto|scroll|overlay)/.test(r+i+n)?e:g(m(e))}function v(e){return e&&e.referenceNode?e.referenceNode:e}var E=p&&!(!window.MSInputMethodContext||!document.documentMode),b=p&&/MSIE 10/.test(navigator.userAgent);function _(e){return 11===e?E:10===e?b:E||b}function y(e){if(!e)return document.documentElement;for(var t=_(10)?document.body:null,r=e.offsetParent||null;r===t&&e.nextElementSibling;)r=(e=e.nextElementSibling).offsetParent;var n=r&&r.nodeName;return n&&"BODY"!==n&&"HTML"!==n?-1!==["TH","TD","TABLE"].indexOf(r.nodeName)&&"static"===h(r,"position")?y(r):r:e?e.ownerDocument.documentElement:document.documentElement}function A(e){return null!==e.parentNode?A(e.parentNode):e}function T(e,t){if(!(e&&e.nodeType&&t&&t.nodeType))return document.documentElement;var r=e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_FOLLOWING,n=r?e:t,i=r?t:e,o=document.createRange();o.setStart(n,0),o.setEnd(i,0);var s,a,c=o.commonAncestorContainer;if(e!==c&&t!==c||n.contains(i))return"BODY"===(a=(s=c).nodeName)||"HTML"!==a&&y(s.firstElementChild)!==s?y(c):c;var u=A(e);return u.host?T(u.host,t):T(e,A(t).host)}function I(e){var t="top"===(arguments.length>1&&void 0!==arguments[1]?arguments[1]:"top")?"scrollTop":"scrollLeft",r=e.nodeName;if("BODY"===r||"HTML"===r){var n=e.ownerDocument.documentElement;return(e.ownerDocument.scrollingElement||n)[t]}return e[t]}function O(e,t){var r="x"===t?"Left":"Top",n="Left"===r?"Right":"Bottom";return parseFloat(e["border"+r+"Width"])+parseFloat(e["border"+n+"Width"])}function w(e,t,r,n){return Math.max(t["offset"+e],t["scroll"+e],r["client"+e],r["offset"+e],r["scroll"+e],_(10)?parseInt(r["offset"+e])+parseInt(n["margin"+("Height"===e?"Top":"Left")])+parseInt(n["margin"+("Height"===e?"Bottom":"Right")]):0)}function N(e){var t=e.body,r=e.documentElement,n=_(10)&&getComputedStyle(r);return{height:w("Height",t,r,n),width:w("Width",t,r,n)}}var C=function(){function e(e,t){for(var r=0;r2&&void 0!==arguments[2]&&arguments[2],n=_(10),i="HTML"===t.nodeName,o=P(e),s=P(t),a=g(e),c=h(t),u=parseFloat(c.borderTopWidth),p=parseFloat(c.borderLeftWidth);r&&i&&(s.top=Math.max(s.top,0),s.left=Math.max(s.left,0));var l=R({top:o.top-s.top-u,left:o.left-s.left-p,width:o.width,height:o.height});if(l.marginTop=0,l.marginLeft=0,!n&&i){var d=parseFloat(c.marginTop),f=parseFloat(c.marginLeft);l.top-=u-d,l.bottom-=u-d,l.left-=p-f,l.right-=p-f,l.marginTop=d,l.marginLeft=f}return(n&&!r?t.contains(a):t===a&&"BODY"!==a.nodeName)&&(l=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=I(t,"top"),i=I(t,"left"),o=r?-1:1;return e.top+=n*o,e.bottom+=n*o,e.left+=i*o,e.right+=i*o,e}(l,t)),l}function $(e){var t=e.nodeName;if("BODY"===t||"HTML"===t)return!1;if("fixed"===h(e,"position"))return!0;var r=m(e);return!!r&&$(r)}function U(e){if(!e||!e.parentElement||_())return document.documentElement;for(var t=e.parentElement;t&&"none"===h(t,"transform");)t=t.parentElement;return t||document.documentElement}function F(e,t,r,n){var i=arguments.length>4&&void 0!==arguments[4]&&arguments[4],o={top:0,left:0},s=i?U(e):T(e,v(t));if("viewport"===n)o=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=e.ownerDocument.documentElement,n=D(e,r),i=Math.max(r.clientWidth,window.innerWidth||0),o=Math.max(r.clientHeight,window.innerHeight||0),s=t?0:I(r),a=t?0:I(r,"left");return R({top:s-n.top+n.marginTop,left:a-n.left+n.marginLeft,width:i,height:o})}(s,i);else{var a=void 0;"scrollParent"===n?"BODY"===(a=g(m(t))).nodeName&&(a=e.ownerDocument.documentElement):a="window"===n?e.ownerDocument.documentElement:n;var c=D(a,s,i);if("HTML"!==a.nodeName||$(s))o=c;else{var u=N(e.ownerDocument),p=u.height,l=u.width;o.top+=c.top-c.marginTop,o.bottom=p+c.top,o.left+=c.left-c.marginLeft,o.right=l+c.left}}var d="number"==typeof(r=r||0);return o.left+=d?r:r.left||0,o.top+=d?r:r.top||0,o.right-=d?r:r.right||0,o.bottom-=d?r:r.bottom||0,o}function x(e,t,r,n,i){var o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;if(-1===e.indexOf("auto"))return e;var s=F(r,n,o,i),a={top:{width:s.width,height:t.top-s.top},right:{width:s.right-t.right,height:s.height},bottom:{width:s.width,height:s.bottom-t.bottom},left:{width:t.left-s.left,height:s.height}},c=Object.keys(a).map(function(e){return S({key:e},a[e],{area:(t=a[e],t.width*t.height)});var t}).sort(function(e,t){return t.area-e.area}),u=c.filter(function(e){var t=e.width,n=e.height;return t>=r.clientWidth&&n>=r.clientHeight}),p=u.length>0?u[0].key:c[0].key,l=e.split("-")[1];return p+(l?"-"+l:"")}function M(e,t,r){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;return D(r,n?U(t):T(t,v(r)),n)}function k(e){var t=e.ownerDocument.defaultView.getComputedStyle(e),r=parseFloat(t.marginTop||0)+parseFloat(t.marginBottom||0),n=parseFloat(t.marginLeft||0)+parseFloat(t.marginRight||0);return{width:e.offsetWidth+n,height:e.offsetHeight+r}}function j(e){var t={left:"right",right:"left",bottom:"top",top:"bottom"};return e.replace(/left|right|bottom|top/g,function(e){return t[e]})}function G(e,t,r){r=r.split("-")[0];var n=k(e),i={width:n.width,height:n.height},o=-1!==["right","left"].indexOf(r),s=o?"top":"left",a=o?"left":"top",c=o?"height":"width",u=o?"width":"height";return i[s]=t[s]+t[c]/2-n[c]/2,i[a]=r===a?t[a]-n[u]:t[j(a)],i}function B(e,t){return Array.prototype.find?e.find(t):e.filter(t)[0]}function H(e,t,r){return(void 0===r?e:e.slice(0,function(e,t,r){if(Array.prototype.findIndex)return e.findIndex(function(e){return e[t]===r});var n=B(e,function(e){return e[t]===r});return e.indexOf(n)}(e,"name",r))).forEach(function(e){e.function&&console.warn("`modifier.function` is deprecated, use `modifier.fn`!");var r=e.function||e.fn;e.enabled&&f(r)&&(t.offsets.popper=R(t.offsets.popper),t.offsets.reference=R(t.offsets.reference),t=r(t,e))}),t}function V(){if(!this.state.isDestroyed){var e={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:!1,offsets:{}};e.offsets.reference=M(this.state,this.popper,this.reference,this.options.positionFixed),e.placement=x(this.options.placement,e.offsets.reference,this.popper,this.reference,this.options.modifiers.flip.boundariesElement,this.options.modifiers.flip.padding),e.originalPlacement=e.placement,e.positionFixed=this.options.positionFixed,e.offsets.popper=G(this.popper,e.offsets.reference,e.placement),e.offsets.popper.position=this.options.positionFixed?"fixed":"absolute",e=H(this.modifiers,e),this.state.isCreated?this.options.onUpdate(e):(this.state.isCreated=!0,this.options.onCreate(e))}}function q(e,t){return e.some(function(e){var r=e.name;return e.enabled&&r===t})}function X(e){for(var t=[!1,"ms","Webkit","Moz","O"],r=e.charAt(0).toUpperCase()+e.slice(1),n=0;n1&&void 0!==arguments[1]&&arguments[1],r=ie.indexOf(e),n=ie.slice(r+1).concat(ie.slice(0,r));return t?n.reverse():n}var se={shift:{order:100,enabled:!0,fn:function(e){var t=e.placement,r=t.split("-")[0],n=t.split("-")[1];if(n){var i=e.offsets,o=i.reference,s=i.popper,a=-1!==["bottom","top"].indexOf(r),c=a?"left":"top",u=a?"width":"height",p={start:L({},c,o[c]),end:L({},c,o[c]+o[u]-s[u])};e.offsets.popper=S({},s,p[n])}return e}},offset:{order:200,enabled:!0,fn:function(e,t){var r,n=t.offset,i=e.placement,o=e.offsets,s=o.popper,a=o.reference,c=i.split("-")[0];return r=Z(+n)?[+n,0]:function(e,t,r,n){var i=[0,0],o=-1!==["right","left"].indexOf(n),s=e.split(/(\+|\-)/).map(function(e){return e.trim()}),a=s.indexOf(B(s,function(e){return-1!==e.search(/,|\s/)}));s[a]&&-1===s[a].indexOf(",")&&console.warn("Offsets separated by white space(s) are deprecated, use a comma (,) instead.");var c=/\s*,\s*|\s+/,u=-1!==a?[s.slice(0,a).concat([s[a].split(c)[0]]),[s[a].split(c)[1]].concat(s.slice(a+1))]:[s];return(u=u.map(function(e,n){var i=(1===n?!o:o)?"height":"width",s=!1;return e.reduce(function(e,t){return""===e[e.length-1]&&-1!==["+","-"].indexOf(t)?(e[e.length-1]=t,s=!0,e):s?(e[e.length-1]+=t,s=!1,e):e.concat(t)},[]).map(function(e){return function(e,t,r,n){var i=e.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),o=+i[1],s=i[2];return o?0===s.indexOf("%")?R("%p"===s?r:n)[t]/100*o:"vh"===s||"vw"===s?("vh"===s?Math.max(document.documentElement.clientHeight,window.innerHeight||0):Math.max(document.documentElement.clientWidth,window.innerWidth||0))/100*o:o:e}(e,i,t,r)})})).forEach(function(e,t){e.forEach(function(r,n){Z(r)&&(i[t]+=r*("-"===e[n-1]?-1:1))})}),i}(n,s,a,c),"left"===c?(s.top+=r[0],s.left-=r[1]):"right"===c?(s.top+=r[0],s.left+=r[1]):"top"===c?(s.left+=r[0],s.top-=r[1]):"bottom"===c&&(s.left+=r[0],s.top+=r[1]),e.popper=s,e},offset:0},preventOverflow:{order:300,enabled:!0,fn:function(e,t){var r=t.boundariesElement||y(e.instance.popper);e.instance.reference===r&&(r=y(r));var n=X("transform"),i=e.instance.popper.style,o=i.top,s=i.left,a=i[n];i.top="",i.left="",i[n]="";var c=F(e.instance.popper,e.instance.reference,t.padding,r,e.positionFixed);i.top=o,i.left=s,i[n]=a,t.boundaries=c;var u=t.priority,p=e.offsets.popper,l={primary:function(e){var r=p[e];return p[e]c[e]&&!t.escapeWithReference&&(n=Math.min(p[r],c[e]-("right"===e?p.width:p.height))),L({},r,n)}};return u.forEach(function(e){var t=-1!==["left","top"].indexOf(e)?"primary":"secondary";p=S({},p,l[t](e))}),e.offsets.popper=p,e},priority:["left","right","top","bottom"],padding:5,boundariesElement:"scrollParent"},keepTogether:{order:400,enabled:!0,fn:function(e){var t=e.offsets,r=t.popper,n=t.reference,i=e.placement.split("-")[0],o=Math.floor,s=-1!==["top","bottom"].indexOf(i),a=s?"right":"bottom",c=s?"left":"top",u=s?"width":"height";return r[a]o(n[a])&&(e.offsets.popper[c]=o(n[a])),e}},arrow:{order:500,enabled:!0,fn:function(e,t){var r;if(!re(e.instance.modifiers,"arrow","keepTogether"))return e;var n=t.element;if("string"==typeof n){if(!(n=e.instance.popper.querySelector(n)))return e}else if(!e.instance.popper.contains(n))return console.warn("WARNING: `arrow.element` must be child of its popper element!"),e;var i=e.placement.split("-")[0],o=e.offsets,s=o.popper,a=o.reference,c=-1!==["left","right"].indexOf(i),u=c?"height":"width",p=c?"Top":"Left",l=p.toLowerCase(),d=c?"left":"top",f=c?"bottom":"right",m=k(n)[u];a[f]-ms[f]&&(e.offsets.popper[l]+=a[l]+m-s[f]),e.offsets.popper=R(e.offsets.popper);var g=a[l]+a[u]/2-m/2,v=h(e.instance.popper),E=parseFloat(v["margin"+p]),b=parseFloat(v["border"+p+"Width"]),_=g-e.offsets.popper[l]-E-b;return _=Math.max(Math.min(s[u]-m,_),0),e.arrowElement=n,e.offsets.arrow=(L(r={},l,Math.round(_)),L(r,d,""),r),e},element:"[x-arrow]"},flip:{order:600,enabled:!0,fn:function(e,t){if(q(e.instance.modifiers,"inner"))return e;if(e.flipped&&e.placement===e.originalPlacement)return e;var r=F(e.instance.popper,e.instance.reference,t.padding,t.boundariesElement,e.positionFixed),n=e.placement.split("-")[0],i=j(n),o=e.placement.split("-")[1]||"",s=[];switch(t.behavior){case"flip":s=[n,i];break;case"clockwise":s=oe(n);break;case"counterclockwise":s=oe(n,!0);break;default:s=t.behavior}return s.forEach(function(a,c){if(n!==a||s.length===c+1)return e;n=e.placement.split("-")[0],i=j(n);var u=e.offsets.popper,p=e.offsets.reference,l=Math.floor,d="left"===n&&l(u.right)>l(p.left)||"right"===n&&l(u.left)l(p.top)||"bottom"===n&&l(u.top)l(r.right),m=l(u.top)l(r.bottom),v="left"===n&&f||"right"===n&&h||"top"===n&&m||"bottom"===n&&g,E=-1!==["top","bottom"].indexOf(n),b=!!t.flipVariations&&(E&&"start"===o&&f||E&&"end"===o&&h||!E&&"start"===o&&m||!E&&"end"===o&&g),_=!!t.flipVariationsByContent&&(E&&"start"===o&&h||E&&"end"===o&&f||!E&&"start"===o&&g||!E&&"end"===o&&m),y=b||_;(d||v||y)&&(e.flipped=!0,(d||v)&&(n=s[c+1]),y&&(o=function(e){return"end"===e?"start":"start"===e?"end":e}(o)),e.placement=n+(o?"-"+o:""),e.offsets.popper=S({},e.offsets.popper,G(e.instance.popper,e.offsets.reference,e.placement)),e=H(e.instance.modifiers,e,"flip"))}),e},behavior:"flip",padding:5,boundariesElement:"viewport",flipVariations:!1,flipVariationsByContent:!1},inner:{order:700,enabled:!1,fn:function(e){var t=e.placement,r=t.split("-")[0],n=e.offsets,i=n.popper,o=n.reference,s=-1!==["left","right"].indexOf(r),a=-1===["top","left"].indexOf(r);return i[s?"left":"top"]=o[r]-(a?i[s?"width":"height"]:0),e.placement=j(t),e.offsets.popper=R(i),e}},hide:{order:800,enabled:!0,fn:function(e){if(!re(e.instance.modifiers,"hide","preventOverflow"))return e;var t=e.offsets.reference,r=B(e.instance.modifiers,function(e){return"preventOverflow"===e.name}).boundaries;if(t.bottomr.right||t.top>r.bottom||t.right2&&void 0!==arguments[2]?arguments[2]:{};!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.scheduleUpdate=function(){return requestAnimationFrame(n.update)},this.update=d(this.update.bind(this)),this.options=S({},e.Defaults,i),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=t&&t.jquery?t[0]:t,this.popper=r&&r.jquery?r[0]:r,this.options.modifiers={},Object.keys(S({},e.Defaults.modifiers,i.modifiers)).forEach(function(t){n.options.modifiers[t]=S({},e.Defaults.modifiers[t]||{},i.modifiers?i.modifiers[t]:{})}),this.modifiers=Object.keys(this.options.modifiers).map(function(e){return S({name:e},n.options.modifiers[e])}).sort(function(e,t){return e.order-t.order}),this.modifiers.forEach(function(e){e.enabled&&f(e.onLoad)&&e.onLoad(n.reference,n.popper,n.options,e,n.state)}),this.update();var o=this.options.eventsEnabled;o&&this.enableEventListeners(),this.state.eventsEnabled=o}return C(e,[{key:"update",value:function(){return V.call(this)}},{key:"destroy",value:function(){return W.call(this)}},{key:"enableEventListeners",value:function(){return Q.call(this)}},{key:"disableEventListeners",value:function(){return J.call(this)}}]),e}();ce.Utils=("undefined"!=typeof window?window:globalThis).PopperUtils,ce.placements=ne,ce.Defaults=ae;const ue=ce;var pe,le=r(2404),de=r.n(le);function fe(){fe.init||(fe.init=!0,pe=-1!==function(){var e=window.navigator.userAgent,t=e.indexOf("MSIE ");if(t>0)return parseInt(e.substring(t+5,e.indexOf(".",t)),10);if(e.indexOf("Trident/")>0){var r=e.indexOf("rv:");return parseInt(e.substring(r+3,e.indexOf(".",r)),10)}var n=e.indexOf("Edge/");return n>0?parseInt(e.substring(n+5,e.indexOf(".",n)),10):-1}())}function he(e,t,r,n,i,o,s,a,c,u){"boolean"!=typeof s&&(c=a,a=s,s=!1);var p,l="function"==typeof r?r.options:r;if(e&&e.render&&(l.render=e.render,l.staticRenderFns=e.staticRenderFns,l._compiled=!0,i&&(l.functional=!0)),n&&(l._scopeId=n),o?(p=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),t&&t.call(this,c(e)),e&&e._registeredComponents&&e._registeredComponents.add(o)},l._ssrRegister=p):t&&(p=s?function(e){t.call(this,u(e,this.$root.$options.shadowRoot))}:function(e){t.call(this,a(e))}),p)if(l.functional){var d=l.render;l.render=function(e,t){return p.call(t),d(e,t)}}else{var f=l.beforeCreate;l.beforeCreate=f?[].concat(f,p):[p]}return r}var me={name:"ResizeObserver",props:{emitOnMount:{type:Boolean,default:!1},ignoreWidth:{type:Boolean,default:!1},ignoreHeight:{type:Boolean,default:!1}},mounted:function(){var e=this;fe(),this.$nextTick(function(){e._w=e.$el.offsetWidth,e._h=e.$el.offsetHeight,e.emitOnMount&&e.emitSize()});var t=document.createElement("object");this._resizeObject=t,t.setAttribute("aria-hidden","true"),t.setAttribute("tabindex",-1),t.onload=this.addResizeHandlers,t.type="text/html",pe&&this.$el.appendChild(t),t.data="about:blank",pe||this.$el.appendChild(t)},beforeDestroy:function(){this.removeResizeHandlers()},methods:{compareAndNotify:function(){(!this.ignoreWidth&&this._w!==this.$el.offsetWidth||!this.ignoreHeight&&this._h!==this.$el.offsetHeight)&&(this._w=this.$el.offsetWidth,this._h=this.$el.offsetHeight,this.emitSize())},emitSize:function(){this.$emit("notify",{width:this._w,height:this._h})},addResizeHandlers:function(){this._resizeObject.contentDocument.defaultView.addEventListener("resize",this.compareAndNotify),this.compareAndNotify()},removeResizeHandlers:function(){this._resizeObject&&this._resizeObject.onload&&(!pe&&this._resizeObject.contentDocument&&this._resizeObject.contentDocument.defaultView.removeEventListener("resize",this.compareAndNotify),this.$el.removeChild(this._resizeObject),this._resizeObject.onload=null,this._resizeObject=null)}}},ge=function(){var e=this.$createElement;return(this._self._c||e)("div",{staticClass:"resize-observer",attrs:{tabindex:"-1"}})};ge._withStripped=!0;var ve=he({render:ge,staticRenderFns:[]},void 0,me,"data-v-8859cc6c",!1,void 0,!1,void 0,void 0,void 0),Ee={version:"1.0.1",install:function(e){e.component("resize-observer",ve),e.component("ResizeObserver",ve)}},be=null;"undefined"!=typeof window?be=window.Vue:"undefined"!=typeof globalThis&&(be=globalThis.Vue),be&&be.use(Ee);var _e=r(55364),ye=r.n(_e),Ae=function(){};function Te(e){return"string"==typeof e&&(e=e.split(" ")),e}function Ie(e,t){var r,n=Te(t);r=e.className instanceof Ae?Te(e.className.baseVal):Te(e.className),n.forEach(function(e){-1===r.indexOf(e)&&r.push(e)}),e instanceof SVGElement?e.setAttribute("class",r.join(" ")):e.className=r.join(" ")}function Oe(e,t){var r,n=Te(t);r=e.className instanceof Ae?Te(e.className.baseVal):Te(e.className),n.forEach(function(e){var t=r.indexOf(e);-1!==t&&r.splice(t,1)}),e instanceof SVGElement?e.setAttribute("class",r.join(" ")):e.className=r.join(" ")}"undefined"!=typeof window&&(Ae=window.SVGAnimatedString);var we=!1;if("undefined"!=typeof window){we=!1;try{var Ne=Object.defineProperty({},"passive",{get:function(){we=!0}});window.addEventListener("test",null,Ne)}catch(e){}}function Ce(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function Le(e){for(var t=1;t
',trigger:"hover focus",offset:0},Re=[],Pe=function(){function e(t,r){var n=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),c(this,"_events",[]),c(this,"_setTooltipNodeEvent",function(e,t,r,i){var o=e.relatedreference||e.toElement||e.relatedTarget;return!!n._tooltipNode.contains(o)&&(n._tooltipNode.addEventListener(e.type,function r(o){var s=o.relatedreference||o.toElement||o.relatedTarget;n._tooltipNode.removeEventListener(e.type,r),t.contains(s)||n._scheduleHide(t,i.delay,i,o)}),!0)}),r=Le(Le({},Se),r),t.jquery&&(t=t[0]),this.show=this.show.bind(this),this.hide=this.hide.bind(this),this.reference=t,this.options=r,this._isOpen=!1,this._init()}return t=e,(r=[{key:"show",value:function(){this._show(this.reference,this.options)}},{key:"hide",value:function(){this._hide()}},{key:"dispose",value:function(){this._dispose()}},{key:"toggle",value:function(){return this._isOpen?this.hide():this.show()}},{key:"setClasses",value:function(e){this._classes=e}},{key:"setContent",value:function(e){this.options.title=e,this._tooltipNode&&this._setContent(e,this.options)}},{key:"setOptions",value:function(e){var t=!1,r=e&&e.classes||He.options.defaultClass;de()(this._classes,r)||(this.setClasses(r),t=!0),e=Me(e);var n=!1,i=!1;for(var o in this.options.offset===e.offset&&this.options.placement===e.placement||(n=!0),(this.options.template!==e.template||this.options.trigger!==e.trigger||this.options.container!==e.container||t)&&(i=!0),e)this.options[o]=e[o];if(this._tooltipNode)if(i){var s=this._isOpen;this.dispose(),this._init(),s&&this.show()}else n&&this.popperInstance.update()}},{key:"_init",value:function(){var e="string"==typeof this.options.trigger?this.options.trigger.split(" "):[];this._isDisposed=!1,this._enableDocumentTouch=-1===e.indexOf("manual"),e=e.filter(function(e){return-1!==["click","hover","focus"].indexOf(e)}),this._setEventListeners(this.reference,e,this.options),this.$_originalTitle=this.reference.getAttribute("title"),this.reference.removeAttribute("title"),this.reference.setAttribute("data-original-title",this.$_originalTitle)}},{key:"_create",value:function(e,t){var r=this,n=window.document.createElement("div");n.innerHTML=t.trim();var i=n.childNodes[0];return i.id=this.options.ariaId||"tooltip_".concat(Math.random().toString(36).substr(2,10)),i.setAttribute("aria-hidden","true"),this.options.autoHide&&-1!==this.options.trigger.indexOf("hover")&&(i.addEventListener("mouseenter",function(t){return r._scheduleHide(e,r.options.delay,r.options,t)}),i.addEventListener("click",function(t){return r._scheduleHide(e,r.options.delay,r.options,t)})),i}},{key:"_setContent",value:function(e,t){var r=this;this.asyncContent=!1,this._applyContent(e,t).then(function(){r.popperInstance&&r.popperInstance.update()})}},{key:"_applyContent",value:function(e,t){var r=this;return new Promise(function(n,i){var o=t.html,s=r._tooltipNode;if(s){var a=s.querySelector(r.options.innerSelector);if(1===e.nodeType){if(o){for(;a.firstChild;)a.removeChild(a.firstChild);a.appendChild(e)}}else{if("function"==typeof e){var c=e();return void(c&&"function"==typeof c.then?(r.asyncContent=!0,t.loadingClass&&Ie(s,t.loadingClass),t.loadingContent&&r._applyContent(t.loadingContent,t),c.then(function(e){return t.loadingClass&&Oe(s,t.loadingClass),r._applyContent(e,t)}).then(n).catch(i)):r._applyContent(c,t).then(n).catch(i))}o?a.innerHTML=e:a.innerText=e}n()}})}},{key:"_show",value:function(e,t){if(!t||"string"!=typeof t.container||document.querySelector(t.container)){clearTimeout(this._disposeTimer),delete(t=Object.assign({},t)).offset;var r=!0;this._tooltipNode&&(Ie(this._tooltipNode,this._classes),r=!1);var n=this._ensureShown(e,t);return r&&this._tooltipNode&&Ie(this._tooltipNode,this._classes),Ie(e,["v-tooltip-open"]),n}}},{key:"_ensureShown",value:function(e,t){var r=this;if(this._isOpen)return this;if(this._isOpen=!0,Re.push(this),this._tooltipNode)return this._tooltipNode.style.display="",this._tooltipNode.setAttribute("aria-hidden","false"),this.popperInstance.enableEventListeners(),this.popperInstance.update(),this.asyncContent&&this._setContent(t.title,t),this;var n=e.getAttribute("title")||t.title;if(!n)return this;var i=this._create(e,t.template);this._tooltipNode=i,e.setAttribute("aria-describedby",i.id);var o=this._findContainer(t.container,e);this._append(i,o);var s=Le(Le({},t.popperOptions),{},{placement:t.placement});return s.modifiers=Le(Le({},s.modifiers),{},{arrow:{element:this.options.arrowSelector}}),t.boundariesElement&&(s.modifiers.preventOverflow={boundariesElement:t.boundariesElement}),this.popperInstance=new ue(e,i,s),this._setContent(n,t),requestAnimationFrame(function(){!r._isDisposed&&r.popperInstance?(r.popperInstance.update(),requestAnimationFrame(function(){r._isDisposed?r.dispose():r._isOpen&&i.setAttribute("aria-hidden","false")})):r.dispose()}),this}},{key:"_noLongerOpen",value:function(){var e=Re.indexOf(this);-1!==e&&Re.splice(e,1)}},{key:"_hide",value:function(){var e=this;if(!this._isOpen)return this;this._isOpen=!1,this._noLongerOpen(),this._tooltipNode.style.display="none",this._tooltipNode.setAttribute("aria-hidden","true"),this.popperInstance&&this.popperInstance.disableEventListeners(),clearTimeout(this._disposeTimer);var t=He.options.disposeTimeout;return null!==t&&(this._disposeTimer=setTimeout(function(){e._tooltipNode&&(e._tooltipNode.removeEventListener("mouseenter",e.hide),e._tooltipNode.removeEventListener("click",e.hide),e._removeTooltipNode())},t)),Oe(this.reference,["v-tooltip-open"]),this}},{key:"_removeTooltipNode",value:function(){if(this._tooltipNode){var e=this._tooltipNode.parentNode;e&&(e.removeChild(this._tooltipNode),this.reference.removeAttribute("aria-describedby")),this._tooltipNode=null}}},{key:"_dispose",value:function(){var e=this;return this._isDisposed=!0,this.reference.removeAttribute("data-original-title"),this.$_originalTitle&&this.reference.setAttribute("title",this.$_originalTitle),this._events.forEach(function(t){var r=t.func,n=t.event;e.reference.removeEventListener(n,r)}),this._events=[],this._tooltipNode?(this._hide(),this._tooltipNode.removeEventListener("mouseenter",this.hide),this._tooltipNode.removeEventListener("click",this.hide),this.popperInstance.destroy(),this.popperInstance.options.removeOnDestroy||this._removeTooltipNode()):this._noLongerOpen(),this}},{key:"_findContainer",value:function(e,t){return"string"==typeof e?e=window.document.querySelector(e):!1===e&&(e=t.parentNode),e}},{key:"_append",value:function(e,t){t.appendChild(e)}},{key:"_setEventListeners",value:function(e,t,r){var n=this,i=[],o=[];t.forEach(function(e){switch(e){case"hover":i.push("mouseenter"),o.push("mouseleave"),n.options.hideOnTargetClick&&o.push("click");break;case"focus":i.push("focus"),o.push("blur"),n.options.hideOnTargetClick&&o.push("click");break;case"click":i.push("click"),o.push("click")}}),i.forEach(function(t){var i=function(t){!0!==n._isOpen&&(t.usedByTooltip=!0,n._scheduleShow(e,r.delay,r,t))};n._events.push({event:t,func:i}),e.addEventListener(t,i)}),o.forEach(function(t){var i=function(t){!0!==t.usedByTooltip&&n._scheduleHide(e,r.delay,r,t)};n._events.push({event:t,func:i}),e.addEventListener(t,i)})}},{key:"_onDocumentTouch",value:function(e){this._enableDocumentTouch&&this._scheduleHide(this.reference,this.options.delay,this.options,e)}},{key:"_scheduleShow",value:function(e,t,r){var n=this,i=t&&t.show||t||0;clearTimeout(this._scheduleTimer),this._scheduleTimer=window.setTimeout(function(){return n._show(e,r)},i)}},{key:"_scheduleHide",value:function(e,t,r,n){var i=this,o=t&&t.hide||t||0;clearTimeout(this._scheduleTimer),this._scheduleTimer=window.setTimeout(function(){if(!1!==i._isOpen&&i._tooltipNode.ownerDocument.body.contains(i._tooltipNode)){if("mouseleave"===n.type&&i._setTooltipNodeEvent(n,e,t,r))return;i._hide(e,r)}},o)}}])&&u(t.prototype,r),Object.defineProperty(t,"prototype",{writable:!1}),e;var t,r}();function De(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function $e(e){for(var t=1;t
',defaultArrowSelector:".tooltip-arrow, .tooltip__arrow",defaultInnerSelector:".tooltip-inner, .tooltip__inner",defaultDelay:0,defaultTrigger:"hover focus",defaultOffset:0,defaultContainer:"body",defaultBoundariesElement:void 0,defaultPopperOptions:{},defaultLoadingClass:"tooltip-loading",defaultLoadingContent:"...",autoHide:!0,defaultHideOnTargetClick:!0,disposeTimeout:5e3,popover:{defaultPlacement:"bottom",defaultClass:"vue-popover-theme",defaultBaseClass:"tooltip popover",defaultWrapperClass:"wrapper",defaultInnerClass:"tooltip-inner popover-inner",defaultArrowClass:"tooltip-arrow popover-arrow",defaultOpenClass:"open",defaultDelay:0,defaultTrigger:"click",defaultOffset:0,defaultContainer:"body",defaultBoundariesElement:void 0,defaultPopperOptions:{},defaultAutoHide:!0,defaultHandleResize:!0}};function Me(e){var t={placement:void 0!==e.placement?e.placement:He.options.defaultPlacement,delay:void 0!==e.delay?e.delay:He.options.defaultDelay,html:void 0!==e.html?e.html:He.options.defaultHtml,template:void 0!==e.template?e.template:He.options.defaultTemplate,arrowSelector:void 0!==e.arrowSelector?e.arrowSelector:He.options.defaultArrowSelector,innerSelector:void 0!==e.innerSelector?e.innerSelector:He.options.defaultInnerSelector,trigger:void 0!==e.trigger?e.trigger:He.options.defaultTrigger,offset:void 0!==e.offset?e.offset:He.options.defaultOffset,container:void 0!==e.container?e.container:He.options.defaultContainer,boundariesElement:void 0!==e.boundariesElement?e.boundariesElement:He.options.defaultBoundariesElement,autoHide:void 0!==e.autoHide?e.autoHide:He.options.autoHide,hideOnTargetClick:void 0!==e.hideOnTargetClick?e.hideOnTargetClick:He.options.defaultHideOnTargetClick,loadingClass:void 0!==e.loadingClass?e.loadingClass:He.options.defaultLoadingClass,loadingContent:void 0!==e.loadingContent?e.loadingContent:He.options.defaultLoadingContent,popperOptions:$e({},void 0!==e.popperOptions?e.popperOptions:He.options.defaultPopperOptions)};if(t.offset){var r=s(t.offset),n=t.offset;("number"===r||"string"===r&&-1===n.indexOf(","))&&(n="0, ".concat(n)),t.popperOptions.modifiers||(t.popperOptions.modifiers={}),t.popperOptions.modifiers.offset={offset:n}}return t.trigger&&-1!==t.trigger.indexOf("click")&&(t.hideOnTargetClick=!1),t}function ke(e,t){for(var r=e.placement,n=0;n2&&void 0!==arguments[2]?arguments[2]:{},n=je(t),i=void 0!==t.classes?t.classes:He.options.defaultClass,o=$e({title:n},Me($e($e({},"object"===s(t)?t:{}),{},{placement:ke(t,r)}))),a=e._tooltip=new Pe(e,o);a.setClasses(i),a._vueEl=e;var c=void 0!==t.targetClasses?t.targetClasses:He.options.defaultTargetClass;return e._tooltipTargetClasses=c,Ie(e,c),a}(e,r,i),void 0!==r.show&&r.show!==e._tooltipOldShow&&(e._tooltipOldShow=r.show,r.show?n.show():n.hide())):Ge(e)}var He={options:xe,bind:Be,update:Be,unbind:function(e){Ge(e)}};function Ve(e){e.addEventListener("click",Xe),e.addEventListener("touchstart",We,!!we&&{passive:!0})}function qe(e){e.removeEventListener("click",Xe),e.removeEventListener("touchstart",We),e.removeEventListener("touchend",ze),e.removeEventListener("touchcancel",Ye)}function Xe(e){var t=e.currentTarget;e.closePopover=!t.$_vclosepopover_touch,e.closeAllPopover=t.$_closePopoverModifiers&&!!t.$_closePopoverModifiers.all}function We(e){if(1===e.changedTouches.length){var t=e.currentTarget;t.$_vclosepopover_touch=!0;var r=e.changedTouches[0];t.$_vclosepopover_touchPoint=r,t.addEventListener("touchend",ze),t.addEventListener("touchcancel",Ye)}}function ze(e){var t=e.currentTarget;if(t.$_vclosepopover_touch=!1,1===e.changedTouches.length){var r=e.changedTouches[0],n=t.$_vclosepopover_touchPoint;e.closePopover=Math.abs(r.screenY-n.screenY)<20&&Math.abs(r.screenX-n.screenX)<20,e.closeAllPopover=t.$_closePopoverModifiers&&!!t.$_closePopoverModifiers.all}}function Ye(e){e.currentTarget.$_vclosepopover_touch=!1}var Ke={bind:function(e,t){var r=t.value,n=t.modifiers;e.$_closePopoverModifiers=n,(void 0===r||r)&&Ve(e)},update:function(e,t){var r=t.value,n=t.oldValue,i=t.modifiers;e.$_closePopoverModifiers=i,r!==n&&(void 0===r||r?Ve(e):qe(e))},unbind:function(e){qe(e)}};function Qe(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function Je(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{},r=t.event;t.skipDelay;var n=t.force;!(void 0!==n&&n)&&this.disabled||(this.$_scheduleShow(r),this.$emit("show")),this.$emit("update:open",!0),this.$_beingShowed=!0,requestAnimationFrame(function(){e.$_beingShowed=!1})},hide:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.event;e.skipDelay,this.$_scheduleHide(t),this.$emit("hide"),this.$emit("update:open",!1)},dispose:function(){if(this.$_isDisposed=!0,this.$_removeEventListeners(),this.hide({skipDelay:!0}),this.popperInstance&&(this.popperInstance.destroy(),!this.popperInstance.options.removeOnDestroy)){var e=this.$refs.popover;e.parentNode&&e.parentNode.removeChild(e)}this.$_mounted=!1,this.popperInstance=null,this.isOpen=!1,this.$emit("dispose")},$_init:function(){-1===this.trigger.indexOf("manual")&&this.$_addEventListeners()},$_show:function(){var e=this,t=this.$refs.trigger,r=this.$refs.popover;if(clearTimeout(this.$_disposeTimer),!this.isOpen){if(this.popperInstance&&(this.isOpen=!0,this.popperInstance.enableEventListeners(),this.popperInstance.scheduleUpdate()),!this.$_mounted){var n=this.$_findContainer(this.container,t);if(!n)return void console.warn("No container for popover",this);n.appendChild(r),this.$_mounted=!0,this.isOpen=!1,this.popperInstance&&requestAnimationFrame(function(){e.hidden||(e.isOpen=!0)})}if(!this.popperInstance){var i=Je(Je({},this.popperOptions),{},{placement:this.placement});if(i.modifiers=Je(Je({},i.modifiers),{},{arrow:Je(Je({},i.modifiers&&i.modifiers.arrow),{},{element:this.$refs.arrow})}),this.offset){var o=this.$_getOffset();i.modifiers.offset=Je(Je({},i.modifiers&&i.modifiers.offset),{},{offset:o})}this.boundariesElement&&(i.modifiers.preventOverflow=Je(Je({},i.modifiers&&i.modifiers.preventOverflow),{},{boundariesElement:this.boundariesElement})),this.popperInstance=new ue(t,r,i),requestAnimationFrame(function(){if(e.hidden)return e.hidden=!1,void e.$_hide();!e.$_isDisposed&&e.popperInstance?(e.popperInstance.scheduleUpdate(),requestAnimationFrame(function(){if(e.hidden)return e.hidden=!1,void e.$_hide();e.$_isDisposed?e.dispose():e.isOpen=!0})):e.dispose()})}var s=this.openGroup;if(s)for(var a,c=0;c1&&void 0!==arguments[1]&&arguments[1];if(clearTimeout(this.$_scheduleTimer),e)this.$_show();else{var t=parseInt(this.delay&&this.delay.show||this.delay||0);this.$_scheduleTimer=setTimeout(this.$_show.bind(this),t)}},$_scheduleHide:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(clearTimeout(this.$_scheduleTimer),r)this.$_hide();else{var n=parseInt(this.delay&&this.delay.hide||this.delay||0);this.$_scheduleTimer=setTimeout(function(){if(e.isOpen){if(t&&"mouseleave"===t.type&&e.$_setTooltipNodeEvent(t))return;e.$_hide()}},n)}},$_setTooltipNodeEvent:function(e){var t=this,r=this.$refs.trigger,n=this.$refs.popover,i=e.relatedreference||e.toElement||e.relatedTarget;return!!n.contains(i)&&(n.addEventListener(e.type,function i(o){var s=o.relatedreference||o.toElement||o.relatedTarget;n.removeEventListener(e.type,i),r.contains(s)||t.hide({event:o})}),!0)},$_removeEventListeners:function(){var e=this.$refs.trigger;this.$_events.forEach(function(t){var r=t.func,n=t.event;e.removeEventListener(n,r)}),this.$_events=[]},$_updatePopper:function(e){this.popperInstance&&(e(),this.isOpen&&this.popperInstance.scheduleUpdate())},$_restartPopper:function(){if(this.popperInstance){var e=this.isOpen;this.dispose(),this.$_isDisposed=!1,this.$_init(),e&&this.show({skipDelay:!0,force:!0})}},$_handleGlobalClose:function(e){var t=this,r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.$_beingShowed||(this.hide({event:e}),e.closePopover?this.$emit("close-directive"):this.$emit("auto-hide"),r&&(this.$_preventOpen=!0,setTimeout(function(){t.$_preventOpen=!1},300)))},$_handleResize:function(){this.isOpen&&this.popperInstance&&(this.popperInstance.scheduleUpdate(),this.$emit("resize"))}}};function it(e){for(var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=function(r){var n=tt[r];if(n.$refs.popover){var i=n.$refs.popover.contains(e.target);requestAnimationFrame(function(){(e.closeAllPopover||e.closePopover&&i||n.autoHide&&!i)&&n.$_handleGlobalClose(e,t)})}},n=0;n1&&void 0!==arguments[1]?arguments[1]:{};if(!e.installed){e.installed=!0;var n={};ye()(n,xe,r),ut.options=n,He.options=n,t.directive("tooltip",He),t.directive("close-popover",Ke),t.component("VPopover",ct)}},get enabled(){return Ue.enabled},set enabled(e){Ue.enabled=e}},pt=null;"undefined"!=typeof window?pt=window.Vue:"undefined"!=typeof globalThis&&(pt=globalThis.Vue),pt&&pt.use(ut);const lt=ut;var dt=r(85471),ft=r(95353),ht=r(58723),mt=r(22378);const gt=(0,dt.pM)({__name:"SettingsApp",setup:e=>({__sfc:!0,NcContent:mt.A})}),vt=(0,r(14486).A)(gt,function(){var e=this,t=e._self._c;return t(e._self._setupProxy.NcContent,{attrs:{"app-name":"settings"}},[t("router-view",{attrs:{name:"navigation"}}),e._v(" "),t("router-view"),e._v(" "),t("router-view",{attrs:{name:"sidebar"}})],1)},[],!1,null,null,null).exports;var Et=r(63814),bt=r(40173);const _t=[{name:"users",path:"/:index(index.php/)?settings/users",components:{default:()=>Promise.all([r.e(4208),r.e(2562),r.e(8091),r.e(8639),r.e(4811),r.e(3239)]).then(r.bind(r,6243)),navigation:()=>Promise.all([r.e(4208),r.e(2562),r.e(8091),r.e(8639),r.e(4811),r.e(3239)]).then(r.bind(r,94469))},props:!0,children:[{path:":selectedGroup",name:"group"}]},{path:"/:index(index.php/)?settings/apps",name:"apps",redirect:{name:"apps-category",params:{category:(0,r(81222).C)("settings","appstoreEnabled",!0)?"discover":"installed"}},components:{default:()=>Promise.all([r.e(4208),r.e(2562),r.e(4529)]).then(r.bind(r,55689)),navigation:()=>Promise.all([r.e(4208),r.e(2562),r.e(4529)]).then(r.bind(r,31437)),sidebar:()=>Promise.all([r.e(4208),r.e(2562),r.e(4529)]).then(r.bind(r,30427))},children:[{path:":category",name:"apps-category",children:[{path:":id",name:"apps-details"}]}]}];dt.Ay.use(bt.Ay);const yt=new bt.Ay({mode:"history",base:(0,Et.Jv)(""),linkActiveClass:"active",routes:_t});var At=r(14744);r.nc=(0,n.aV)(),dt.Ay.prototype.t=i.t,dt.Ay.prototype.n=i.n,dt.Ay.use(o.R2),dt.Ay.use(lt,{defaultHtml:!1}),dt.Ay.use(ft.Ay);const Tt=(0,At.P)();(0,ht.O)(Tt,yt);const It=(0,o.Ey)();new dt.Ay({router:yt,store:Tt,pinia:It,render:e=>e(vt),el:"#content"})},35810:(e,t,r)=>{"use strict";r.d(t,{lT:()=>D,v7:()=>P}),r(92958);var n,i,o,s,a=r(380),c=r(83141),u=(r(43627),r(53334)),p=r(65606),l=r(62045).hp;function d(){if(i)return n;i=1;const e="object"==typeof p&&p.env&&p.env.NODE_DEBUG&&/\bsemver\b/i.test(p.env.NODE_DEBUG)?(...e)=>console.error("SEMVER",...e):()=>{};return n=e}function f(){if(s)return o;s=1;const e=Number.MAX_SAFE_INTEGER||9007199254740991;return o={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:16,MAX_SAFE_BUILD_LENGTH:250,MAX_SAFE_INTEGER:e,RELEASE_TYPES:["major","premajor","minor","preminor","patch","prepatch","prerelease"],SEMVER_SPEC_VERSION:"2.0.0",FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}}var h,m,g,v,E,b,_,y,A,T,I,O,w,N={exports:{}};function C(){if(_)return b;_=1;const e=d(),{MAX_LENGTH:t,MAX_SAFE_INTEGER:r}=f(),{safeRe:n,t:i}=(h||(h=1,function(e,t){const{MAX_SAFE_COMPONENT_LENGTH:r,MAX_SAFE_BUILD_LENGTH:n,MAX_LENGTH:i}=f(),o=d(),s=(t=e.exports={}).re=[],a=t.safeRe=[],c=t.src=[],u=t.safeSrc=[],p=t.t={};let l=0;const h="[a-zA-Z0-9-]",m=[["\\s",1],["\\d",i],[h,n]],g=(e,t,r)=>{const n=(e=>{for(const[t,r]of m)e=e.split(`${t}*`).join(`${t}{0,${r}}`).split(`${t}+`).join(`${t}{1,${r}}`);return e})(t),i=l++;o(e,i,t),p[e]=i,c[i]=t,u[i]=n,s[i]=new RegExp(t,r?"g":void 0),a[i]=new RegExp(n,r?"g":void 0)};g("NUMERICIDENTIFIER","0|[1-9]\\d*"),g("NUMERICIDENTIFIERLOOSE","\\d+"),g("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${h}*`),g("MAINVERSION",`(${c[p.NUMERICIDENTIFIER]})\\.(${c[p.NUMERICIDENTIFIER]})\\.(${c[p.NUMERICIDENTIFIER]})`),g("MAINVERSIONLOOSE",`(${c[p.NUMERICIDENTIFIERLOOSE]})\\.(${c[p.NUMERICIDENTIFIERLOOSE]})\\.(${c[p.NUMERICIDENTIFIERLOOSE]})`),g("PRERELEASEIDENTIFIER",`(?:${c[p.NONNUMERICIDENTIFIER]}|${c[p.NUMERICIDENTIFIER]})`),g("PRERELEASEIDENTIFIERLOOSE",`(?:${c[p.NONNUMERICIDENTIFIER]}|${c[p.NUMERICIDENTIFIERLOOSE]})`),g("PRERELEASE",`(?:-(${c[p.PRERELEASEIDENTIFIER]}(?:\\.${c[p.PRERELEASEIDENTIFIER]})*))`),g("PRERELEASELOOSE",`(?:-?(${c[p.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${c[p.PRERELEASEIDENTIFIERLOOSE]})*))`),g("BUILDIDENTIFIER",`${h}+`),g("BUILD",`(?:\\+(${c[p.BUILDIDENTIFIER]}(?:\\.${c[p.BUILDIDENTIFIER]})*))`),g("FULLPLAIN",`v?${c[p.MAINVERSION]}${c[p.PRERELEASE]}?${c[p.BUILD]}?`),g("FULL",`^${c[p.FULLPLAIN]}$`),g("LOOSEPLAIN",`[v=\\s]*${c[p.MAINVERSIONLOOSE]}${c[p.PRERELEASELOOSE]}?${c[p.BUILD]}?`),g("LOOSE",`^${c[p.LOOSEPLAIN]}$`),g("GTLT","((?:<|>)?=?)"),g("XRANGEIDENTIFIERLOOSE",`${c[p.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),g("XRANGEIDENTIFIER",`${c[p.NUMERICIDENTIFIER]}|x|X|\\*`),g("XRANGEPLAIN",`[v=\\s]*(${c[p.XRANGEIDENTIFIER]})(?:\\.(${c[p.XRANGEIDENTIFIER]})(?:\\.(${c[p.XRANGEIDENTIFIER]})(?:${c[p.PRERELEASE]})?${c[p.BUILD]}?)?)?`),g("XRANGEPLAINLOOSE",`[v=\\s]*(${c[p.XRANGEIDENTIFIERLOOSE]})(?:\\.(${c[p.XRANGEIDENTIFIERLOOSE]})(?:\\.(${c[p.XRANGEIDENTIFIERLOOSE]})(?:${c[p.PRERELEASELOOSE]})?${c[p.BUILD]}?)?)?`),g("XRANGE",`^${c[p.GTLT]}\\s*${c[p.XRANGEPLAIN]}$`),g("XRANGELOOSE",`^${c[p.GTLT]}\\s*${c[p.XRANGEPLAINLOOSE]}$`),g("COERCEPLAIN",`(^|[^\\d])(\\d{1,${r}})(?:\\.(\\d{1,${r}}))?(?:\\.(\\d{1,${r}}))?`),g("COERCE",`${c[p.COERCEPLAIN]}(?:$|[^\\d])`),g("COERCEFULL",c[p.COERCEPLAIN]+`(?:${c[p.PRERELEASE]})?(?:${c[p.BUILD]})?(?:$|[^\\d])`),g("COERCERTL",c[p.COERCE],!0),g("COERCERTLFULL",c[p.COERCEFULL],!0),g("LONETILDE","(?:~>?)"),g("TILDETRIM",`(\\s*)${c[p.LONETILDE]}\\s+`,!0),t.tildeTrimReplace="$1~",g("TILDE",`^${c[p.LONETILDE]}${c[p.XRANGEPLAIN]}$`),g("TILDELOOSE",`^${c[p.LONETILDE]}${c[p.XRANGEPLAINLOOSE]}$`),g("LONECARET","(?:\\^)"),g("CARETTRIM",`(\\s*)${c[p.LONECARET]}\\s+`,!0),t.caretTrimReplace="$1^",g("CARET",`^${c[p.LONECARET]}${c[p.XRANGEPLAIN]}$`),g("CARETLOOSE",`^${c[p.LONECARET]}${c[p.XRANGEPLAINLOOSE]}$`),g("COMPARATORLOOSE",`^${c[p.GTLT]}\\s*(${c[p.LOOSEPLAIN]})$|^$`),g("COMPARATOR",`^${c[p.GTLT]}\\s*(${c[p.FULLPLAIN]})$|^$`),g("COMPARATORTRIM",`(\\s*)${c[p.GTLT]}\\s*(${c[p.LOOSEPLAIN]}|${c[p.XRANGEPLAIN]})`,!0),t.comparatorTrimReplace="$1$2$3",g("HYPHENRANGE",`^\\s*(${c[p.XRANGEPLAIN]})\\s+-\\s+(${c[p.XRANGEPLAIN]})\\s*$`),g("HYPHENRANGELOOSE",`^\\s*(${c[p.XRANGEPLAINLOOSE]})\\s+-\\s+(${c[p.XRANGEPLAINLOOSE]})\\s*$`),g("STAR","(<|>)?=?\\s*\\*"),g("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),g("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")}(N,N.exports)),N.exports),o=function(){if(g)return m;g=1;const e=Object.freeze({loose:!0}),t=Object.freeze({});return m=r=>r?"object"!=typeof r?e:r:t}(),{compareIdentifiers:s}=function(){if(E)return v;E=1;const e=/^[0-9]+$/,t=(t,r)=>{if("number"==typeof t&&"number"==typeof r)return t===r?0:tt(r,e)}}();class a{constructor(s,c){if(c=o(c),s instanceof a){if(s.loose===!!c.loose&&s.includePrerelease===!!c.includePrerelease)return s;s=s.version}else if("string"!=typeof s)throw new TypeError(`Invalid version. Must be a string. Got type "${typeof s}".`);if(s.length>t)throw new TypeError(`version is longer than ${t} characters`);e("SemVer",s,c),this.options=c,this.loose=!!c.loose,this.includePrerelease=!!c.includePrerelease;const u=s.trim().match(c.loose?n[i.LOOSE]:n[i.FULL]);if(!u)throw new TypeError(`Invalid Version: ${s}`);if(this.raw=s,this.major=+u[1],this.minor=+u[2],this.patch=+u[3],this.major>r||this.major<0)throw new TypeError("Invalid major version");if(this.minor>r||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>r||this.patch<0)throw new TypeError("Invalid patch version");u[4]?this.prerelease=u[4].split(".").map(e=>{if(/^[0-9]+$/.test(e)){const t=+e;if(t>=0&&te.major?1:this.minore.minor?1:this.patche.patch?1:0}comparePre(t){if(t instanceof a||(t=new a(t,this.options)),this.prerelease.length&&!t.prerelease.length)return-1;if(!this.prerelease.length&&t.prerelease.length)return 1;if(!this.prerelease.length&&!t.prerelease.length)return 0;let r=0;do{const n=this.prerelease[r],i=t.prerelease[r];if(e("prerelease compare",r,n,i),void 0===n&&void 0===i)return 0;if(void 0===i)return 1;if(void 0===n)return-1;if(n!==i)return s(n,i)}while(++r)}compareBuild(t){t instanceof a||(t=new a(t,this.options));let r=0;do{const n=this.build[r],i=t.build[r];if(e("build compare",r,n,i),void 0===n&&void 0===i)return 0;if(void 0===i)return 1;if(void 0===n)return-1;if(n!==i)return s(n,i)}while(++r)}inc(e,t,r){if(e.startsWith("pre")){if(!t&&!1===r)throw new Error("invalid increment argument: identifier is empty");if(t){const e=`-${t}`.match(this.options.loose?n[i.PRERELEASELOOSE]:n[i.PRERELEASE]);if(!e||e[1]!==t)throw new Error(`invalid identifier: ${t}`)}}switch(e){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",t,r);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",t,r);break;case"prepatch":this.prerelease.length=0,this.inc("patch",t,r),this.inc("pre",t,r);break;case"prerelease":0===this.prerelease.length&&this.inc("patch",t,r),this.inc("pre",t,r);break;case"release":if(0===this.prerelease.length)throw new Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case"major":0===this.minor&&0===this.patch&&0!==this.prerelease.length||this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":0===this.patch&&0!==this.prerelease.length||this.minor++,this.patch=0,this.prerelease=[];break;case"patch":0===this.prerelease.length&&this.patch++,this.prerelease=[];break;case"pre":{const e=Number(r)?1:0;if(0===this.prerelease.length)this.prerelease=[e];else{let n=this.prerelease.length;for(;--n>=0;)"number"==typeof this.prerelease[n]&&(this.prerelease[n]++,n=-2);if(-1===n){if(t===this.prerelease.join(".")&&!1===r)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(e)}}if(t){let n=[t,e];!1===r&&(n=[t]),0===s(this.prerelease[0],t)?isNaN(this.prerelease[1])&&(this.prerelease=n):this.prerelease=n}break}default:throw new Error(`invalid increment argument: ${e}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}}return b=a}!function(){if(A)return y;A=1;const e=C();y=(t,r)=>new e(t,r).major}(),function(){if(w)return O;w=1;const e=function(){if(I)return T;I=1;const e=C();return T=(t,r,n=!1)=>{if(t instanceof e)return t;try{return new e(t,r)}catch(e){if(!n)return null;throw e}}}();O=(t,r)=>{const n=e(t,r);return n?n.version:null}}(),a.m;var L;L||(L=1,function(e){e.parser=function(e,t){return new n(e,t)},e.SAXParser=n,e.SAXStream=o,e.createStream=function(e,t){return new o(e,t)},e.MAX_BUFFER_LENGTH=65536;var t,r=["comment","sgmlDecl","textNode","tagName","doctype","procInstName","procInstBody","entity","attribName","attribValue","cdata","script"];function n(t,i){if(!(this instanceof n))return new n(t,i);var o=this;!function(e){for(var t=0,n=r.length;t"===o?(C(n,"onsgmldeclaration",n.sgmlDecl),n.sgmlDecl="",n.state=O.TEXT):E(o)?(n.state=O.SGML_DECL_QUOTED,n.sgmlDecl+=o):n.sgmlDecl+=o;continue;case O.SGML_DECL_QUOTED:o===n.q&&(n.state=O.SGML_DECL,n.q=""),n.sgmlDecl+=o;continue;case O.DOCTYPE:">"===o?(n.state=O.TEXT,C(n,"ondoctype",n.doctype),n.doctype=!0):(n.doctype+=o,"["===o?n.state=O.DOCTYPE_DTD:E(o)&&(n.state=O.DOCTYPE_QUOTED,n.q=o));continue;case O.DOCTYPE_QUOTED:n.doctype+=o,o===n.q&&(n.q="",n.state=O.DOCTYPE);continue;case O.DOCTYPE_DTD:"]"===o?(n.doctype+=o,n.state=O.DOCTYPE):"<"===o?(n.state=O.OPEN_WAKA,n.startTagPosition=n.position):E(o)?(n.doctype+=o,n.state=O.DOCTYPE_DTD_QUOTED,n.q=o):n.doctype+=o;continue;case O.DOCTYPE_DTD_QUOTED:n.doctype+=o,o===n.q&&(n.state=O.DOCTYPE_DTD,n.q="");continue;case O.COMMENT:"-"===o?n.state=O.COMMENT_ENDING:n.comment+=o;continue;case O.COMMENT_ENDING:"-"===o?(n.state=O.COMMENT_ENDED,n.comment=S(n.opt,n.comment),n.comment&&C(n,"oncomment",n.comment),n.comment=""):(n.comment+="-"+o,n.state=O.COMMENT);continue;case O.COMMENT_ENDED:">"!==o?(D(n,"Malformed comment"),n.comment+="--"+o,n.state=O.COMMENT):n.doctype&&!0!==n.doctype?n.state=O.DOCTYPE_DTD:n.state=O.TEXT;continue;case O.CDATA:"]"===o?n.state=O.CDATA_ENDING:n.cdata+=o;continue;case O.CDATA_ENDING:"]"===o?n.state=O.CDATA_ENDING_2:(n.cdata+="]"+o,n.state=O.CDATA);continue;case O.CDATA_ENDING_2:">"===o?(n.cdata&&C(n,"oncdata",n.cdata),C(n,"onclosecdata"),n.cdata="",n.state=O.TEXT):"]"===o?n.cdata+="]":(n.cdata+="]]"+o,n.state=O.CDATA);continue;case O.PROC_INST:"?"===o?n.state=O.PROC_INST_ENDING:v(o)?n.state=O.PROC_INST_BODY:n.procInstName+=o;continue;case O.PROC_INST_BODY:if(!n.procInstBody&&v(o))continue;"?"===o?n.state=O.PROC_INST_ENDING:n.procInstBody+=o;continue;case O.PROC_INST_ENDING:">"===o?(C(n,"onprocessinginstruction",{name:n.procInstName,body:n.procInstBody}),n.procInstName=n.procInstBody="",n.state=O.TEXT):(n.procInstBody+="?"+o,n.state=O.PROC_INST_BODY);continue;case O.OPEN_TAG:_(h,o)?n.tagName+=o:($(n),">"===o?x(n):"/"===o?n.state=O.OPEN_TAG_SLASH:(v(o)||D(n,"Invalid character in tag name"),n.state=O.ATTRIB));continue;case O.OPEN_TAG_SLASH:">"===o?(x(n,!0),M(n)):(D(n,"Forward-slash in opening tag not followed by >"),n.state=O.ATTRIB);continue;case O.ATTRIB:if(v(o))continue;">"===o?x(n):"/"===o?n.state=O.OPEN_TAG_SLASH:_(f,o)?(n.attribName=o,n.attribValue="",n.state=O.ATTRIB_NAME):D(n,"Invalid attribute name");continue;case O.ATTRIB_NAME:"="===o?n.state=O.ATTRIB_VALUE:">"===o?(D(n,"Attribute without value"),n.attribValue=n.attribName,F(n),x(n)):v(o)?n.state=O.ATTRIB_NAME_SAW_WHITE:_(h,o)?n.attribName+=o:D(n,"Invalid attribute name");continue;case O.ATTRIB_NAME_SAW_WHITE:if("="===o)n.state=O.ATTRIB_VALUE;else{if(v(o))continue;D(n,"Attribute without value"),n.tag.attributes[n.attribName]="",n.attribValue="",C(n,"onattribute",{name:n.attribName,value:""}),n.attribName="",">"===o?x(n):_(f,o)?(n.attribName=o,n.state=O.ATTRIB_NAME):(D(n,"Invalid attribute name"),n.state=O.ATTRIB)}continue;case O.ATTRIB_VALUE:if(v(o))continue;E(o)?(n.q=o,n.state=O.ATTRIB_VALUE_QUOTED):(n.opt.unquotedAttributeValues||R(n,"Unquoted attribute value"),n.state=O.ATTRIB_VALUE_UNQUOTED,n.attribValue=o);continue;case O.ATTRIB_VALUE_QUOTED:if(o!==n.q){"&"===o?n.state=O.ATTRIB_VALUE_ENTITY_Q:n.attribValue+=o;continue}F(n),n.q="",n.state=O.ATTRIB_VALUE_CLOSED;continue;case O.ATTRIB_VALUE_CLOSED:v(o)?n.state=O.ATTRIB:">"===o?x(n):"/"===o?n.state=O.OPEN_TAG_SLASH:_(f,o)?(D(n,"No whitespace between attributes"),n.attribName=o,n.attribValue="",n.state=O.ATTRIB_NAME):D(n,"Invalid attribute name");continue;case O.ATTRIB_VALUE_UNQUOTED:if(!b(o)){"&"===o?n.state=O.ATTRIB_VALUE_ENTITY_U:n.attribValue+=o;continue}F(n),">"===o?x(n):n.state=O.ATTRIB;continue;case O.CLOSE_TAG:if(n.tagName)">"===o?M(n):_(h,o)?n.tagName+=o:n.script?(n.script+=""===o?M(n):D(n,"Invalid characters in closing tag");continue;case O.TEXT_ENTITY:case O.ATTRIB_VALUE_ENTITY_Q:case O.ATTRIB_VALUE_ENTITY_U:var p,l;switch(n.state){case O.TEXT_ENTITY:p=O.TEXT,l="textNode";break;case O.ATTRIB_VALUE_ENTITY_Q:p=O.ATTRIB_VALUE_QUOTED,l="attribValue";break;case O.ATTRIB_VALUE_ENTITY_U:p=O.ATTRIB_VALUE_UNQUOTED,l="attribValue"}if(";"===o){var d=k(n);n.opt.unparsedEntities&&!Object.values(e.XML_ENTITIES).includes(d)?(n.entity="",n.state=p,n.write(d)):(n[l]+=d,n.entity="",n.state=p)}else _(n.entity.length?g:m,o)?n.entity+=o:(D(n,"Invalid character in entity name"),n[l]+="&"+n.entity+o,n.entity="",n.state=p);continue;default:throw new Error(n,"Unknown state: "+n.state)}return n.position>=n.bufferCheckPosition&&function(t){for(var n=Math.max(e.MAX_BUFFER_LENGTH,10),i=0,o=0,s=r.length;on)switch(r[o]){case"textNode":L(t);break;case"cdata":C(t,"oncdata",t.cdata),t.cdata="";break;case"script":C(t,"onscript",t.script),t.script="";break;default:R(t,"Max buffer length exceeded: "+r[o])}i=Math.max(i,a)}var c=e.MAX_BUFFER_LENGTH-i;t.bufferCheckPosition=c+t.position}(n),n},resume:function(){return this.error=null,this},close:function(){return this.write(null)},flush:function(){var e;L(e=this),""!==e.cdata&&(C(e,"oncdata",e.cdata),e.cdata=""),""!==e.script&&(C(e,"onscript",e.script),e.script="")}};try{t=require("stream").Stream}catch(e){t=function(){}}t||(t=function(){});var i=e.EVENTS.filter(function(e){return"error"!==e&&"end"!==e});function o(e,r){if(!(this instanceof o))return new o(e,r);t.apply(this),this._parser=new n(e,r),this.writable=!0,this.readable=!0;var s=this;this._parser.onend=function(){s.emit("end")},this._parser.onerror=function(e){s.emit("error",e),s._parser.error=null},this._decoder=null,i.forEach(function(e){Object.defineProperty(s,"on"+e,{get:function(){return s._parser["on"+e]},set:function(t){if(!t)return s.removeAllListeners(e),s._parser["on"+e]=t,t;s.on(e,t)},enumerable:!0,configurable:!1})})}o.prototype=Object.create(t.prototype,{constructor:{value:o}}),o.prototype.write=function(e){if("function"==typeof l&&"function"==typeof l.isBuffer&&l.isBuffer(e)){if(!this._decoder){var t=c.I;this._decoder=new t("utf8")}e=this._decoder.write(e)}return this._parser.write(e.toString()),this.emit("data",e),!0},o.prototype.end=function(e){return e&&e.length&&this.write(e),this._parser.end(),!0},o.prototype.on=function(e,r){var n=this;return n._parser["on"+e]||-1===i.indexOf(e)||(n._parser["on"+e]=function(){var t=1===arguments.length?[arguments[0]]:Array.apply(null,arguments);t.splice(0,0,e),n.emit.apply(n,t)}),t.prototype.on.call(n,e,r)};var s="[CDATA[",a="DOCTYPE",u="http://www.w3.org/XML/1998/namespace",p="http://www.w3.org/2000/xmlns/",d={xml:u,xmlns:p},f=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,h=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/,m=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,g=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/;function v(e){return" "===e||"\n"===e||"\r"===e||"\t"===e}function E(e){return'"'===e||"'"===e}function b(e){return">"===e||v(e)}function _(e,t){return e.test(t)}function y(e,t){return!_(e,t)}var A,T,I,O=0;for(var w in e.STATE={BEGIN:O++,BEGIN_WHITESPACE:O++,TEXT:O++,TEXT_ENTITY:O++,OPEN_WAKA:O++,SGML_DECL:O++,SGML_DECL_QUOTED:O++,DOCTYPE:O++,DOCTYPE_QUOTED:O++,DOCTYPE_DTD:O++,DOCTYPE_DTD_QUOTED:O++,COMMENT_STARTING:O++,COMMENT:O++,COMMENT_ENDING:O++,COMMENT_ENDED:O++,CDATA:O++,CDATA_ENDING:O++,CDATA_ENDING_2:O++,PROC_INST:O++,PROC_INST_BODY:O++,PROC_INST_ENDING:O++,OPEN_TAG:O++,OPEN_TAG_SLASH:O++,ATTRIB:O++,ATTRIB_NAME:O++,ATTRIB_NAME_SAW_WHITE:O++,ATTRIB_VALUE:O++,ATTRIB_VALUE_QUOTED:O++,ATTRIB_VALUE_CLOSED:O++,ATTRIB_VALUE_UNQUOTED:O++,ATTRIB_VALUE_ENTITY_Q:O++,ATTRIB_VALUE_ENTITY_U:O++,CLOSE_TAG:O++,CLOSE_TAG_SAW_WHITE:O++,SCRIPT:O++,SCRIPT_ENDING:O++},e.XML_ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'"},e.ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'",AElig:198,Aacute:193,Acirc:194,Agrave:192,Aring:197,Atilde:195,Auml:196,Ccedil:199,ETH:208,Eacute:201,Ecirc:202,Egrave:200,Euml:203,Iacute:205,Icirc:206,Igrave:204,Iuml:207,Ntilde:209,Oacute:211,Ocirc:212,Ograve:210,Oslash:216,Otilde:213,Ouml:214,THORN:222,Uacute:218,Ucirc:219,Ugrave:217,Uuml:220,Yacute:221,aacute:225,acirc:226,aelig:230,agrave:224,aring:229,atilde:227,auml:228,ccedil:231,eacute:233,ecirc:234,egrave:232,eth:240,euml:235,iacute:237,icirc:238,igrave:236,iuml:239,ntilde:241,oacute:243,ocirc:244,ograve:242,oslash:248,otilde:245,ouml:246,szlig:223,thorn:254,uacute:250,ucirc:251,ugrave:249,uuml:252,yacute:253,yuml:255,copy:169,reg:174,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,ordf:170,laquo:171,not:172,shy:173,macr:175,deg:176,plusmn:177,sup1:185,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,times:215,divide:247,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,fnof:402,circ:710,tilde:732,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,oline:8254,frasl:8260,euro:8364,image:8465,weierp:8472,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,int:8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830},Object.keys(e.ENTITIES).forEach(function(t){var r=e.ENTITIES[t],n="number"==typeof r?String.fromCharCode(r):r;e.ENTITIES[t]=n}),e.STATE)e.STATE[e.STATE[w]]=w;function N(e,t,r){e[t]&&e[t](r)}function C(e,t,r){e.textNode&&L(e),N(e,t,r)}function L(e){e.textNode=S(e.opt,e.textNode),e.textNode&&N(e,"ontext",e.textNode),e.textNode=""}function S(e,t){return e.trim&&(t=t.trim()),e.normalize&&(t=t.replace(/\s+/g," ")),t}function R(e,t){return L(e),e.trackPosition&&(t+="\nLine: "+e.line+"\nColumn: "+e.column+"\nChar: "+e.c),t=new Error(t),e.error=t,N(e,"onerror",t),e}function P(e){return e.sawRoot&&!e.closedRoot&&D(e,"Unclosed root tag"),e.state!==O.BEGIN&&e.state!==O.BEGIN_WHITESPACE&&e.state!==O.TEXT&&R(e,"Unexpected end"),L(e),e.c="",e.closed=!0,N(e,"onend"),n.call(e,e.strict,e.opt),e}function D(e,t){if("object"!=typeof e||!(e instanceof n))throw new Error("bad call to strictFail");e.strict&&R(e,t)}function $(e){e.strict||(e.tagName=e.tagName[e.looseCase]());var t=e.tags[e.tags.length-1]||e,r=e.tag={name:e.tagName,attributes:{}};e.opt.xmlns&&(r.ns=t.ns),e.attribList.length=0,C(e,"onopentagstart",r)}function U(e,t){var r=e.indexOf(":")<0?["",e]:e.split(":"),n=r[0],i=r[1];return t&&"xmlns"===e&&(n="xmlns",i=""),{prefix:n,local:i}}function F(e){if(e.strict||(e.attribName=e.attribName[e.looseCase]()),-1!==e.attribList.indexOf(e.attribName)||e.tag.attributes.hasOwnProperty(e.attribName))e.attribName=e.attribValue="";else{if(e.opt.xmlns){var t=U(e.attribName,!0),r=t.prefix,n=t.local;if("xmlns"===r)if("xml"===n&&e.attribValue!==u)D(e,"xml: prefix must be bound to "+u+"\nActual: "+e.attribValue);else if("xmlns"===n&&e.attribValue!==p)D(e,"xmlns: prefix must be bound to "+p+"\nActual: "+e.attribValue);else{var i=e.tag,o=e.tags[e.tags.length-1]||e;i.ns===o.ns&&(i.ns=Object.create(o.ns)),i.ns[n]=e.attribValue}e.attribList.push([e.attribName,e.attribValue])}else e.tag.attributes[e.attribName]=e.attribValue,C(e,"onattribute",{name:e.attribName,value:e.attribValue});e.attribName=e.attribValue=""}}function x(e,t){if(e.opt.xmlns){var r=e.tag,n=U(e.tagName);r.prefix=n.prefix,r.local=n.local,r.uri=r.ns[n.prefix]||"",r.prefix&&!r.uri&&(D(e,"Unbound namespace prefix: "+JSON.stringify(e.tagName)),r.uri=n.prefix);var i=e.tags[e.tags.length-1]||e;r.ns&&i.ns!==r.ns&&Object.keys(r.ns).forEach(function(t){C(e,"onopennamespace",{prefix:t,uri:r.ns[t]})});for(var o=0,s=e.attribList.length;o",e.tagName="",void(e.state=O.SCRIPT);C(e,"onscript",e.script),e.script=""}var t=e.tags.length,r=e.tagName;e.strict||(r=r[e.looseCase]());for(var n=r;t--&&e.tags[t].name!==n;)D(e,"Unexpected close tag");if(t<0)return D(e,"Unmatched closing tag: "+e.tagName),e.textNode+="",void(e.state=O.TEXT);e.tagName=r;for(var i=e.tags.length;i-- >t;){var o=e.tag=e.tags.pop();e.tagName=e.tag.name,C(e,"onclosetag",e.tagName);var s={};for(var a in o.ns)s[a]=o.ns[a];var c=e.tags[e.tags.length-1]||e;e.opt.xmlns&&o.ns!==c.ns&&Object.keys(o.ns).forEach(function(t){var r=o.ns[t];C(e,"onclosenamespace",{prefix:t,uri:r})})}0===t&&(e.closedRoot=!0),e.tagName=e.attribValue=e.attribName="",e.attribList.length=0,e.state=O.TEXT}function k(e){var t,r=e.entity,n=r.toLowerCase(),i="";return e.ENTITIES[r]?e.ENTITIES[r]:e.ENTITIES[n]?e.ENTITIES[n]:("#"===(r=n).charAt(0)&&("x"===r.charAt(1)?(r=r.slice(2),i=(t=parseInt(r,16)).toString(16)):(r=r.slice(1),i=(t=parseInt(r,10)).toString(10))),r=r.replace(/^0+/,""),isNaN(t)||i.toLowerCase()!==r?(D(e,"Invalid character entity"),"&"+e.entity+";"):String.fromCodePoint(t))}function j(e,t){"<"===t?(e.state=O.OPEN_WAKA,e.startTagPosition=e.position):v(t)||(D(e,"Non-whitespace before first tag."),e.textNode=t,e.state=O.TEXT)}function G(e,t){var r="";return t1114111||T(s)!==s)throw RangeError("Invalid code point: "+s);s<=65535?r.push(s):(e=55296+((s-=65536)>>10),t=s%1024+56320,r.push(e,t)),(n+1===i||r.length>16384)&&(o+=A.apply(null,r),r.length=0)}return o},Object.defineProperty?Object.defineProperty(String,"fromCodePoint",{value:I,configurable:!0,writable:!0}):String.fromCodePoint=I)}({})),Error;const S=["B","KB","MB","GB","TB","PB"],R=["B","KiB","MiB","GiB","TiB","PiB"];function P(e,t=!1,r=!1,n=!1){r=r&&!n,"string"==typeof e&&(e=Number(e));let i=e>0?Math.floor(Math.log(e)/Math.log(n?1e3:1024)):0;i=Math.min((r?R.length:S.length)-1,i);const o=r?R[i]:S[i];let s=(e/Math.pow(n?1e3:1024,i)).toFixed(1);return!0===t&&0===i?("0.0"!==s?"< 1 ":"0 ")+(r?R[1]:S[1]):(s=i<2?parseFloat(s).toFixed(0):parseFloat(s).toLocaleString((0,u.lO)()),s+" "+o)}function D(e,t=!1){try{e=`${e}`.toLocaleLowerCase().replaceAll(/\s+/g,"").replaceAll(",",".")}catch(e){return null}const r=e.match(/^([0-9]*(\.[0-9]*)?)([kmgtp]?)(i?)b?$/);if(null===r||"."===r[1]||""===r[1])return null;const n=`${r[1]}`,i="i"===r[4]||t?1024:1e3;return Math.round(Number.parseFloat(n)*i**{"":0,k:1,m:2,g:3,t:4,p:5,e:6}[r[3]])}},36620:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=(0,r(35947).YK)().setApp("settings").detectUser().build()},42824:(e,t,r)=>{var n=r(87805),i=r(93290),o=r(71961),s=r(23007),a=r(35529),c=r(72428),u=r(56449),p=r(83693),l=r(3656),d=r(1882),f=r(23805),h=r(11331),m=r(37167),g=r(14974),v=r(69884);e.exports=function(e,t,r,E,b,_,y){var A=g(e,r),T=g(t,r),I=y.get(T);if(I)n(e,r,I);else{var O=_?_(A,T,r+"",e,t,y):void 0,w=void 0===O;if(w){var N=u(T),C=!N&&l(T),L=!N&&!C&&m(T);O=T,N||C||L?u(A)?O=A:p(A)?O=s(A):C?(w=!1,O=i(T,!0)):L?(w=!1,O=o(T,!0)):O=[]:h(T)||c(T)?(O=A,c(A)?O=v(A):f(A)&&!d(A)||(O=a(T))):w=!1}w&&(y.set(T,O),b(O,T,E,_,y),y.delete(T)),n(e,r,O)}}},47790:()=>{},51069:()=>{},55364:(e,t,r)=>{var n=r(85250),i=r(20999)(function(e,t,r){n(e,t,r)});e.exports=i},58723:(e,t)=>{function r(e,t){var n={name:e.name,path:e.path,hash:e.hash,query:e.query,params:e.params,fullPath:e.fullPath,meta:e.meta};return t&&(n.from=r(t)),Object.freeze(n)}t.O=function(e,t,n){var i=(n||{}).moduleName||"route";e.registerModule(i,{namespaced:!0,state:r(t.currentRoute),mutations:{ROUTE_CHANGED:function(t,n){e.state[i]=r(n.to,n.from)}}});var o,s=!1,a=e.watch(function(e){return e[i]},function(e){var r=e.fullPath;r!==o&&(null!=o&&(s=!0,t.push(e)),o=r)},{sync:!0}),c=t.afterEach(function(t,r){s?s=!1:(o=t.fullPath,e.commit(i+"/ROUTE_CHANGED",{to:t,from:r}))});return function(){null!=c&&c(),null!=a&&a(),e.unregisterModule(i)}}},63779:()=>{},64688:()=>{},66089:()=>{},69884:(e,t,r)=>{var n=r(21791),i=r(37241);e.exports=function(e){return n(e,i(e))}},73776:()=>{},77199:()=>{},77965:()=>{},78982:()=>{},79368:()=>{},79838:()=>{},83693:(e,t,r)=>{var n=r(64894),i=r(40346);e.exports=function(e){return i(e)&&n(e)}},85250:(e,t,r)=>{var n=r(37217),i=r(87805),o=r(86649),s=r(42824),a=r(23805),c=r(37241),u=r(14974);e.exports=function e(t,r,p,l,d){t!==r&&o(r,function(o,c){if(d||(d=new n),a(o))s(t,r,c,p,e,l,d);else{var f=l?l(u(t,c),o,c+"",t,r,d):void 0;void 0===f&&(f=o),i(t,c,f)}},c)}},87805:(e,t,r)=>{var n=r(43360),i=r(75288);e.exports=function(e,t,r){(void 0!==r&&!i(e[t],r)||void 0===r&&!(t in e))&&n(e,t,r)}},95353:(e,t,r)=>{"use strict";r.d(t,{Ay:()=>P,il:()=>d});var n=("undefined"!=typeof window?window:"undefined"!=typeof globalThis?globalThis:{}).__VUE_DEVTOOLS_GLOBAL_HOOK__;function i(e,t){if(void 0===t&&(t=[]),null===e||"object"!=typeof e)return e;var r,n=(r=function(t){return t.original===e},t.filter(r)[0]);if(n)return n.copy;var o=Array.isArray(e)?[]:{};return t.push({original:e,copy:o}),Object.keys(e).forEach(function(r){o[r]=i(e[r],t)}),o}function o(e,t){Object.keys(e).forEach(function(r){return t(e[r],r)})}function s(e){return null!==e&&"object"==typeof e}var a=function(e,t){this.runtime=t,this._children=Object.create(null),this._rawModule=e;var r=e.state;this.state=("function"==typeof r?r():r)||{}},c={namespaced:{configurable:!0}};c.namespaced.get=function(){return!!this._rawModule.namespaced},a.prototype.addChild=function(e,t){this._children[e]=t},a.prototype.removeChild=function(e){delete this._children[e]},a.prototype.getChild=function(e){return this._children[e]},a.prototype.hasChild=function(e){return e in this._children},a.prototype.update=function(e){this._rawModule.namespaced=e.namespaced,e.actions&&(this._rawModule.actions=e.actions),e.mutations&&(this._rawModule.mutations=e.mutations),e.getters&&(this._rawModule.getters=e.getters)},a.prototype.forEachChild=function(e){o(this._children,e)},a.prototype.forEachGetter=function(e){this._rawModule.getters&&o(this._rawModule.getters,e)},a.prototype.forEachAction=function(e){this._rawModule.actions&&o(this._rawModule.actions,e)},a.prototype.forEachMutation=function(e){this._rawModule.mutations&&o(this._rawModule.mutations,e)},Object.defineProperties(a.prototype,c);var u,p=function(e){this.register([],e,!1)};function l(e,t,r){if(t.update(r),r.modules)for(var n in r.modules){if(!t.getChild(n))return;l(e.concat(n),t.getChild(n),r.modules[n])}}p.prototype.get=function(e){return e.reduce(function(e,t){return e.getChild(t)},this.root)},p.prototype.getNamespace=function(e){var t=this.root;return e.reduce(function(e,r){return e+((t=t.getChild(r)).namespaced?r+"/":"")},"")},p.prototype.update=function(e){l([],this.root,e)},p.prototype.register=function(e,t,r){var n=this;void 0===r&&(r=!0);var i=new a(t,r);0===e.length?this.root=i:this.get(e.slice(0,-1)).addChild(e[e.length-1],i),t.modules&&o(t.modules,function(t,i){n.register(e.concat(i),t,r)})},p.prototype.unregister=function(e){var t=this.get(e.slice(0,-1)),r=e[e.length-1],n=t.getChild(r);n&&n.runtime&&t.removeChild(r)},p.prototype.isRegistered=function(e){var t=this.get(e.slice(0,-1)),r=e[e.length-1];return!!t&&t.hasChild(r)};var d=function(e){var t=this;void 0===e&&(e={}),!u&&"undefined"!=typeof window&&window.Vue&&_(window.Vue);var r=e.plugins;void 0===r&&(r=[]);var i=e.strict;void 0===i&&(i=!1),this._committing=!1,this._actions=Object.create(null),this._actionSubscribers=[],this._mutations=Object.create(null),this._wrappedGetters=Object.create(null),this._modules=new p(e),this._modulesNamespaceMap=Object.create(null),this._subscribers=[],this._watcherVM=new u,this._makeLocalGettersCache=Object.create(null);var o=this,s=this.dispatch,a=this.commit;this.dispatch=function(e,t){return s.call(o,e,t)},this.commit=function(e,t,r){return a.call(o,e,t,r)},this.strict=i;var c=this._modules.root.state;v(this,c,[],this._modules.root),g(this,c),r.forEach(function(e){return e(t)}),(void 0!==e.devtools?e.devtools:u.config.devtools)&&function(e){n&&(e._devtoolHook=n,n.emit("vuex:init",e),n.on("vuex:travel-to-state",function(t){e.replaceState(t)}),e.subscribe(function(e,t){n.emit("vuex:mutation",e,t)},{prepend:!0}),e.subscribeAction(function(e,t){n.emit("vuex:action",e,t)},{prepend:!0}))}(this)},f={state:{configurable:!0}};function h(e,t,r){return t.indexOf(e)<0&&(r&&r.prepend?t.unshift(e):t.push(e)),function(){var r=t.indexOf(e);r>-1&&t.splice(r,1)}}function m(e,t){e._actions=Object.create(null),e._mutations=Object.create(null),e._wrappedGetters=Object.create(null),e._modulesNamespaceMap=Object.create(null);var r=e.state;v(e,r,[],e._modules.root,!0),g(e,r,t)}function g(e,t,r){var n=e._vm;e.getters={},e._makeLocalGettersCache=Object.create(null);var i=e._wrappedGetters,s={};o(i,function(t,r){s[r]=function(e,t){return function(){return e(t)}}(t,e),Object.defineProperty(e.getters,r,{get:function(){return e._vm[r]},enumerable:!0})});var a=u.config.silent;u.config.silent=!0,e._vm=new u({data:{$$state:t},computed:s}),u.config.silent=a,e.strict&&function(e){e._vm.$watch(function(){return this._data.$$state},function(){},{deep:!0,sync:!0})}(e),n&&(r&&e._withCommit(function(){n._data.$$state=null}),u.nextTick(function(){return n.$destroy()}))}function v(e,t,r,n,i){var o=!r.length,s=e._modules.getNamespace(r);if(n.namespaced&&(e._modulesNamespaceMap[s],e._modulesNamespaceMap[s]=n),!o&&!i){var a=E(t,r.slice(0,-1)),c=r[r.length-1];e._withCommit(function(){u.set(a,c,n.state)})}var p=n.context=function(e,t,r){var n=""===t,i={dispatch:n?e.dispatch:function(r,n,i){var o=b(r,n,i),s=o.payload,a=o.options,c=o.type;return a&&a.root||(c=t+c),e.dispatch(c,s)},commit:n?e.commit:function(r,n,i){var o=b(r,n,i),s=o.payload,a=o.options,c=o.type;a&&a.root||(c=t+c),e.commit(c,s,a)}};return Object.defineProperties(i,{getters:{get:n?function(){return e.getters}:function(){return function(e,t){if(!e._makeLocalGettersCache[t]){var r={},n=t.length;Object.keys(e.getters).forEach(function(i){if(i.slice(0,n)===t){var o=i.slice(n);Object.defineProperty(r,o,{get:function(){return e.getters[i]},enumerable:!0})}}),e._makeLocalGettersCache[t]=r}return e._makeLocalGettersCache[t]}(e,t)}},state:{get:function(){return E(e.state,r)}}}),i}(e,s,r);n.forEachMutation(function(t,r){!function(e,t,r,n){(e._mutations[t]||(e._mutations[t]=[])).push(function(t){r.call(e,n.state,t)})}(e,s+r,t,p)}),n.forEachAction(function(t,r){var n=t.root?r:s+r,i=t.handler||t;!function(e,t,r,n){(e._actions[t]||(e._actions[t]=[])).push(function(t){var i,o=r.call(e,{dispatch:n.dispatch,commit:n.commit,getters:n.getters,state:n.state,rootGetters:e.getters,rootState:e.state},t);return(i=o)&&"function"==typeof i.then||(o=Promise.resolve(o)),e._devtoolHook?o.catch(function(t){throw e._devtoolHook.emit("vuex:error",t),t}):o})}(e,n,i,p)}),n.forEachGetter(function(t,r){!function(e,t,r,n){e._wrappedGetters[t]||(e._wrappedGetters[t]=function(e){return r(n.state,n.getters,e.state,e.getters)})}(e,s+r,t,p)}),n.forEachChild(function(n,o){v(e,t,r.concat(o),n,i)})}function E(e,t){return t.reduce(function(e,t){return e[t]},e)}function b(e,t,r){return s(e)&&e.type&&(r=t,t=e,e=e.type),{type:e,payload:t,options:r}}function _(e){u&&e===u||function(e){if(Number(e.version.split(".")[0])>=2)e.mixin({beforeCreate:r});else{var t=e.prototype._init;e.prototype._init=function(e){void 0===e&&(e={}),e.init=e.init?[r].concat(e.init):r,t.call(this,e)}}function r(){var e=this.$options;e.store?this.$store="function"==typeof e.store?e.store():e.store:e.parent&&e.parent.$store&&(this.$store=e.parent.$store)}}(u=e)}f.state.get=function(){return this._vm._data.$$state},f.state.set=function(e){},d.prototype.commit=function(e,t,r){var n=this,i=b(e,t,r),o=i.type,s=i.payload,a=(i.options,{type:o,payload:s}),c=this._mutations[o];c&&(this._withCommit(function(){c.forEach(function(e){e(s)})}),this._subscribers.slice().forEach(function(e){return e(a,n.state)}))},d.prototype.dispatch=function(e,t){var r=this,n=b(e,t),i=n.type,o=n.payload,s={type:i,payload:o},a=this._actions[i];if(a){try{this._actionSubscribers.slice().filter(function(e){return e.before}).forEach(function(e){return e.before(s,r.state)})}catch(e){}var c=a.length>1?Promise.all(a.map(function(e){return e(o)})):a[0](o);return new Promise(function(e,t){c.then(function(t){try{r._actionSubscribers.filter(function(e){return e.after}).forEach(function(e){return e.after(s,r.state)})}catch(e){}e(t)},function(e){try{r._actionSubscribers.filter(function(e){return e.error}).forEach(function(t){return t.error(s,r.state,e)})}catch(e){}t(e)})})}},d.prototype.subscribe=function(e,t){return h(e,this._subscribers,t)},d.prototype.subscribeAction=function(e,t){return h("function"==typeof e?{before:e}:e,this._actionSubscribers,t)},d.prototype.watch=function(e,t,r){var n=this;return this._watcherVM.$watch(function(){return e(n.state,n.getters)},t,r)},d.prototype.replaceState=function(e){var t=this;this._withCommit(function(){t._vm._data.$$state=e})},d.prototype.registerModule=function(e,t,r){void 0===r&&(r={}),"string"==typeof e&&(e=[e]),this._modules.register(e,t),v(this,this.state,e,this._modules.get(e),r.preserveState),g(this,this.state)},d.prototype.unregisterModule=function(e){var t=this;"string"==typeof e&&(e=[e]),this._modules.unregister(e),this._withCommit(function(){var r=E(t.state,e.slice(0,-1));u.delete(r,e[e.length-1])}),m(this)},d.prototype.hasModule=function(e){return"string"==typeof e&&(e=[e]),this._modules.isRegistered(e)},d.prototype.hotUpdate=function(e){this._modules.update(e),m(this,!0)},d.prototype._withCommit=function(e){var t=this._committing;this._committing=!0,e(),this._committing=t},Object.defineProperties(d.prototype,f);var y=w(function(e,t){var r={};return O(t).forEach(function(t){var n=t.key,i=t.val;r[n]=function(){var t=this.$store.state,r=this.$store.getters;if(e){var n=N(this.$store,0,e);if(!n)return;t=n.context.state,r=n.context.getters}return"function"==typeof i?i.call(this,t,r):t[i]},r[n].vuex=!0}),r}),A=w(function(e,t){var r={};return O(t).forEach(function(t){var n=t.key,i=t.val;r[n]=function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];var n=this.$store.commit;if(e){var o=N(this.$store,0,e);if(!o)return;n=o.context.commit}return"function"==typeof i?i.apply(this,[n].concat(t)):n.apply(this.$store,[i].concat(t))}}),r}),T=w(function(e,t){var r={};return O(t).forEach(function(t){var n=t.key,i=t.val;i=e+i,r[n]=function(){if(!e||N(this.$store,0,e))return this.$store.getters[i]},r[n].vuex=!0}),r}),I=w(function(e,t){var r={};return O(t).forEach(function(t){var n=t.key,i=t.val;r[n]=function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];var n=this.$store.dispatch;if(e){var o=N(this.$store,0,e);if(!o)return;n=o.context.dispatch}return"function"==typeof i?i.apply(this,[n].concat(t)):n.apply(this.$store,[i].concat(t))}}),r});function O(e){return function(e){return Array.isArray(e)||s(e)}(e)?Array.isArray(e)?e.map(function(e){return{key:e,val:e}}):Object.keys(e).map(function(t){return{key:t,val:e[t]}}):[]}function w(e){return function(t,r){return"string"!=typeof t?(r=t,t=""):"/"!==t.charAt(t.length-1)&&(t+="/"),e(t,r)}}function N(e,t,r){return e._modulesNamespaceMap[r]}function C(e,t,r){var n=r?e.groupCollapsed:e.group;try{n.call(e,t)}catch(r){e.log(t)}}function L(e){try{e.groupEnd()}catch(t){e.log("—— log end ——")}}function S(){var e=new Date;return" @ "+R(e.getHours(),2)+":"+R(e.getMinutes(),2)+":"+R(e.getSeconds(),2)+"."+R(e.getMilliseconds(),3)}function R(e,t){return r=t-e.toString().length,new Array(r+1).join("0")+e;var r}const P={Store:d,install:_,version:"3.6.2",mapState:y,mapMutations:A,mapGetters:T,mapActions:I,createNamespacedHelpers:function(e){return{mapState:y.bind(null,e),mapGetters:T.bind(null,e),mapMutations:A.bind(null,e),mapActions:I.bind(null,e)}},createLogger:function(e){void 0===e&&(e={});var t=e.collapsed;void 0===t&&(t=!0);var r=e.filter;void 0===r&&(r=function(e,t,r){return!0});var n=e.transformer;void 0===n&&(n=function(e){return e});var o=e.mutationTransformer;void 0===o&&(o=function(e){return e});var s=e.actionFilter;void 0===s&&(s=function(e,t){return!0});var a=e.actionTransformer;void 0===a&&(a=function(e){return e});var c=e.logMutations;void 0===c&&(c=!0);var u=e.logActions;void 0===u&&(u=!0);var p=e.logger;return void 0===p&&(p=console),function(e){var l=i(e.state);void 0!==p&&(c&&e.subscribe(function(e,s){var a=i(s);if(r(e,l,a)){var c=S(),u=o(e),d="mutation "+e.type+c;C(p,d,t),p.log("%c prev state","color: #9E9E9E; font-weight: bold",n(l)),p.log("%c mutation","color: #03A9F4; font-weight: bold",u),p.log("%c next state","color: #4CAF50; font-weight: bold",n(a)),L(p)}l=a}),u&&e.subscribeAction(function(e,r){if(s(e,r)){var n=S(),i=a(e),o="action "+e.type+n;C(p,o,t),p.log("%c action","color: #03A9F4; font-weight: bold",i),L(p)}}))}}}}},o={};function s(e){var t=o[e];if(void 0!==t)return t.exports;var r=o[e]={id:e,loaded:!1,exports:{}};return i[e].call(r.exports,r,r.exports,s),r.loaded=!0,r.exports}s.m=i,e=[],s.O=(t,r,n,i)=>{if(!r){var o=1/0;for(p=0;p=i)&&Object.keys(s.O).every(e=>s.O[e](r[c]))?r.splice(c--,1):(a=!1,i0&&e[p-1][2]>i;p--)e[p]=e[p-1];e[p]=[r,n,i]},s.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return s.d(t,{a:t}),t},s.d=(e,t)=>{for(var r in t)s.o(t,r)&&!s.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},s.f={},s.e=e=>Promise.all(Object.keys(s.f).reduce((t,r)=>(s.f[r](e,t),t),[])),s.u=e=>(({3239:"settings-users",4529:"settings-apps-view"}[e]||e)+"-"+e+".js?v="+{249:"6b0fd254ff15906e6d9b",594:"2c86902dfae9a5006399",620:"1faa6454ab9a6286ffeb",2391:"908fc68e4bc9b878c937",2562:"3284a1d9338b3c95e900",2880:"96ff2de012f3b8c1e3a4",3239:"9d64c7dcd483bb31a3a2",4325:"11e9d860db6a9bc25aac",4529:"4ee00d07681f200b0eb7",4811:"046df5943fbb69dfc8f8",5862:"d020c05f13d21afee82a",7145:"d9c518ca34bfdbd7ff70",7591:"ff8b66e786bd6c24daa7",8091:"e6cbb3ee29cdc3e100a8",8339:"6cdca71a6b3b2d7bef33",8639:"061a3b0a444f32e73c0d",9381:"8167d7f60132025d7829"}[e]),s.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r={},n="nextcloud-ui-legacy:",s.l=(e,t,i,o)=>{if(r[e])r[e].push(t);else{var a,c;if(void 0!==i)for(var u=document.getElementsByTagName("script"),p=0;p{a.onerror=a.onload=null,clearTimeout(f);var i=r[e];if(delete r[e],a.parentNode&&a.parentNode.removeChild(a),i&&i.forEach(e=>e(n)),t)return t(n)},f=setTimeout(d.bind(null,void 0,{type:"timeout",target:a}),12e4);a.onerror=d.bind(null,a.onerror),a.onload=d.bind(null,a.onload),c&&document.head.appendChild(a)}},s.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},s.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),s.j=2689,(()=>{var e;globalThis.importScripts&&(e=globalThis.location+"");var t=globalThis.document;if(!e&&t&&(t.currentScript&&"SCRIPT"===t.currentScript.tagName.toUpperCase()&&(e=t.currentScript.src),!e)){var r=t.getElementsByTagName("script");if(r.length)for(var n=r.length-1;n>-1&&(!e||!/^http(s?):/.test(e));)e=r[n--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),s.p=e})(),(()=>{s.b="undefined"!=typeof document&&document.baseURI||self.location.href;var e={2689:0};s.f.j=(t,r)=>{var n=s.o(e,t)?e[t]:void 0;if(0!==n)if(n)r.push(n[2]);else{var i=new Promise((r,i)=>n=e[t]=[r,i]);r.push(n[2]=i);var o=s.p+s.u(t),a=new Error;s.l(o,r=>{if(s.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var i=r&&("load"===r.type?"missing":r.type),o=r&&r.target&&r.target.src;a.message="Loading chunk "+t+" failed.\n("+i+": "+o+")",a.name="ChunkLoadError",a.type=i,a.request=o,n[1](a)}},"chunk-"+t,t)}},s.O.j=t=>0===e[t];var t=(t,r)=>{var n,i,[o,a,c]=r,u=0;if(o.some(t=>0!==e[t])){for(n in a)s.o(a,n)&&(s.m[n]=a[n]);if(c)var p=c(s)}for(t&&t(r);us(31960));a=s.O(a)})(); -//# sourceMappingURL=settings-vue-settings-apps-users-management.js.map?v=f4bcab385af47c59cbe8 \ No newline at end of file +(()=>{var e,r,n,i={2404:(e,t,r)=>{var n=r(60270);e.exports=function(e,t){return n(e,t)}},6028:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});var n=r(19051),i=r(47176);function o(e){return e.replace(/\/$/,"")}const s={requireAdmin:()=>(0,i.C5)(),get:(e,t)=>n.Ay.get(o(e),t),post:(e,t)=>n.Ay.post(o(e),t),patch:(e,t)=>n.Ay.patch(o(e),t),put:(e,t)=>n.Ay.put(o(e),t),delete:(e,t)=>n.Ay.delete(o(e),{params:t})}},14744:(e,r,n)=>{"use strict";n.d(r,{P:()=>x});var i=n(85168),o=n(95353),s=n(36620),a=n(19051),c=n(81222),u=n(63814),p=n(85471),l=n(6028);const d={apps:[],bundles:(0,c.C)("settings","appstoreBundles",[]),categories:[],updateCount:(0,c.C)("settings","appstoreUpdateCount",0),loading:{},gettingCategoriesPromise:null,appApiEnabled:(0,c.C)("settings","appApiEnabled",!1)},f={APPS_API_FAILURE(e,r){(0,i.Qg)(t("settings","An error occurred during the request. Unable to proceed.")+"
"+r.error.response.data.data.message,{isHTML:!0}),s.A.error("An error occurred during the request. Unable to proceed.",{state:e,error:r})},initCategories(e,{categories:t,updateCount:r}){e.categories=t,e.updateCount=r},updateCategories(e,t){e.gettingCategoriesPromise=t},setUpdateCount(e,t){e.updateCount=t},addCategory(e,t){e.categories.push(t)},appendCategories(e,t){e.categories=t},setAllApps(e,t){e.apps=t},setError(e,{appId:t,error:r}){Array.isArray(t)||(t=[t]),t.forEach(t=>{e.apps.find(e=>e.id===t).error=r})},clearError(e,{appId:t}){e.apps.find(e=>e.id===t).error=null},enableApp(e,{appId:t,groups:r}){const n=e.apps.find(e=>e.id===t);n.active=!0,p.Ay.set(n,"groups",[...r]),"app_api"===n.id&&(e.appApiEnabled=!0)},setInstallState(e,{appId:t,canInstall:r}){const n=e.apps.find(e=>e.id===t);n&&(n.canInstall=!0===r)},disableApp(e,t){const r=e.apps.find(e=>e.id===t);r.active=!1,r.groups=[],r.removable&&(r.canUnInstall=!0),"app_api"===r.id&&(e.appApiEnabled=!1)},uninstallApp(e,t){e.apps.find(e=>e.id===t).active=!1,e.apps.find(e=>e.id===t).groups=[],e.apps.find(e=>e.id===t).needsDownload=!0,e.apps.find(e=>e.id===t).installed=!1,e.apps.find(e=>e.id===t).canUnInstall=!1,e.apps.find(e=>e.id===t).canInstall=!0,"app_api"===t&&(e.appApiEnabled=!1)},updateApp(e,t){const r=e.apps.find(e=>e.id===t),n=r.update;r.update=null,r.version=n,e.updateCount--},resetApps(e){e.apps=[]},reset(e){e.apps=[],e.categories=[],e.updateCount=0},startLoading(e,t){Array.isArray(t)?t.forEach(t=>{p.Ay.set(e.loading,t,!0)}):p.Ay.set(e.loading,t,!0)},stopLoading(e,t){Array.isArray(t)?t.forEach(t=>{p.Ay.set(e.loading,t,!1)}):p.Ay.set(e.loading,t,!1)}},h={enableApp(e,{appId:r,groups:n}){let o;return o=Array.isArray(r)?r:[r],l.A.requireAdmin().then(()=>{e.commit("startLoading",o),e.commit("startLoading","install");const s={};return o.forEach(t=>{const r=e.state.apps.find(e=>e.id===t);r&&(s[t]={active:r.active,groups:[...r.groups||[]]},e.commit("enableApp",{appId:t,groups:n}))}),l.A.post((0,u.Jv)("settings/apps/enable"),{appIds:o,groups:n}).then(n=>(e.commit("stopLoading",o),e.commit("stopLoading","install"),a.Ay.get((0,u.Jv)("apps/files/")).then(()=>{n.data.update_required&&((0,i.cf)(t("settings","The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds."),{onClick:()=>window.location.reload(),close:!1}),setTimeout(function(){location.reload()},5e3))}).catch(()=>{Array.isArray(r)||((0,i.Qg)(t("settings","Error: This app cannot be enabled because it makes the server unstable")),e.commit("setError",{appId:o,error:t("settings","Error: This app cannot be enabled because it makes the server unstable")}),e.dispatch("disableApp",{appId:r}))}))).catch(t=>{e.commit("stopLoading",o),e.commit("stopLoading","install"),o.forEach(t=>{s[t]&&(e.commit("enableApp",{appId:t,groups:s[t].groups}),s[t].active||e.commit("disableApp",t))}),e.commit("setError",{appId:o,error:t.response.data.data.message}),e.commit("APPS_API_FAILURE",{appId:r,error:t})})}).catch(t=>e.commit("API_FAILURE",{appId:r,error:t}))},forceEnableApp(e,{appId:t}){let r;return r=Array.isArray(t)?t:[t],l.A.requireAdmin().then(()=>(e.commit("startLoading",r),e.commit("startLoading","install"),l.A.post((0,u.Jv)("settings/apps/force"),{appId:t}).then(()=>{e.commit("setInstallState",{appId:t,canInstall:!0})}).catch(n=>{e.commit("stopLoading",r),e.commit("stopLoading","install"),e.commit("setError",{appId:r,error:n.response.data.data.message}),e.commit("APPS_API_FAILURE",{appId:t,error:n})}).finally(()=>{e.commit("stopLoading",r),e.commit("stopLoading","install")}))).catch(r=>e.commit("API_FAILURE",{appId:t,error:r}))},disableApp(e,{appId:t}){let r;return r=Array.isArray(t)?t:[t],l.A.requireAdmin().then(()=>(e.commit("startLoading",r),l.A.post((0,u.Jv)("settings/apps/disable"),{appIds:r}).then(()=>(e.commit("stopLoading",r),r.forEach(t=>{e.commit("disableApp",t)}),!0)).catch(n=>{e.commit("stopLoading",r),e.commit("APPS_API_FAILURE",{appId:t,error:n})}))).catch(r=>e.commit("API_FAILURE",{appId:t,error:r}))},uninstallApp:(e,{appId:t})=>l.A.requireAdmin().then(()=>(e.commit("startLoading",t),l.A.get((0,u.Jv)(`settings/apps/uninstall/${t}`)).then(()=>(e.commit("stopLoading",t),e.commit("uninstallApp",t),!0)).catch(r=>{e.commit("stopLoading",t),e.commit("APPS_API_FAILURE",{appId:t,error:r})}))).catch(r=>e.commit("API_FAILURE",{appId:t,error:r})),updateApp:(e,{appId:t})=>l.A.requireAdmin().then(()=>(e.commit("startLoading",t),e.commit("startLoading","install"),l.A.get((0,u.Jv)(`settings/apps/update/${t}`)).then(()=>(e.commit("stopLoading","install"),e.commit("stopLoading",t),e.commit("updateApp",t),!0)).catch(r=>{e.commit("stopLoading",t),e.commit("stopLoading","install"),e.commit("APPS_API_FAILURE",{appId:t,error:r})}))).catch(r=>e.commit("API_FAILURE",{appId:t,error:r})),getAllApps:e=>(e.commit("startLoading","list"),l.A.get((0,u.Jv)("settings/apps/list")).then(t=>(e.commit("setAllApps",t.data.apps),e.commit("stopLoading","list"),!0)).catch(t=>e.commit("API_FAILURE",t))),async getCategories(e,{shouldRefetchCategories:t=!1}={}){if(t||!e.state.gettingCategoriesPromise){e.commit("startLoading","categories");try{const t=l.A.get((0,u.Jv)("settings/apps/categories"));e.commit("updateCategories",t);const r=await t;return r.data.length>0?(e.commit("appendCategories",r.data),e.commit("stopLoading","categories"),!0):(e.commit("stopLoading","categories"),!1)}catch(t){e.commit("API_FAILURE",t)}}return e.state.gettingCategoriesPromise}},m={state:d,mutations:f,getters:{isAppApiEnabled:e=>e.appApiEnabled,loading:e=>function(t){return e.loading[t]},getCategories:e=>e.categories,getAllApps:e=>e.apps,getAppBundles:e=>e.bundles,getUpdateCount:e=>e.updateCount,getCategoryById:e=>t=>e.categories.find(e=>e.id===t)},actions:h},g={state:{},mutations:{},getters:{},actions:{setAppConfig:(e,{app:t,key:r,value:n})=>l.A.requireAdmin().then(()=>l.A.post((0,u.KT)("apps/provisioning_api/api/v1/config/apps/{app}/{key}",{app:t,key:r}),{value:n}).catch(e=>{throw e})).catch(i=>e.commit("API_FAILURE",{app:t,key:r,value:n,error:i}))}},v={serverData:(0,c.C)("settings","usersSettings",{})},E={setServerData(e,t){e.serverData=t}},b={state:v,mutations:E,getters:{getServerData:e=>e.serverData},actions:{}};var _=n(80474),y=n(87485),A=n(35810),T=n(15916),I=n(53334);const O=Intl.Collator([(0,I.Z0)(),(0,I.lO)()],{numeric:!0,usage:"sort"}),w=(0,c.C)("settings","usersSettings",{}),N=(0,_.c0)("settings").persist(!0).build(),C={id:"",name:"",usercount:0,disabled:0,canAdd:!0,canRemove:!0},L={users:[],groups:[...w.getSubAdminGroups??[],...w.systemGroups??[]],orderBy:w.sortGroups??T.q.UserCount,minPasswordLength:0,usersOffset:0,usersLimit:25,disabledUsersOffset:0,disabledUsersLimit:25,userCount:w.userCount??0,showConfig:{showStoragePath:"true"===N.getItem("account_settings__showStoragePath"),showUserBackend:"true"===N.getItem("account_settings__showUserBackend"),showFirstLogin:"true"===N.getItem("account_settings__showFirstLogin"),showLastLogin:"true"===N.getItem("account_settings__showLastLogin"),showNewUserForm:"true"===N.getItem("account_settings__showNewUserForm"),showLanguages:"true"===N.getItem("account_settings__showLanguages")}},S={appendUsers(e,t){const r=e.users.map(({id:e})=>e),n=Object.values(t).filter(({id:e})=>!r.includes(e)),i=e.users.concat(n);e.usersOffset+=e.usersLimit,e.users=i},updateDisabledUsers(e){e.disabledUsersOffset+=e.disabledUsersLimit},setPasswordPolicyMinLength(e,t){e.minPasswordLength=""!==t?t:0},addGroup(e,t){try{if(void 0!==e.groups.find(e=>e.id===t.id))return;const r={...C,...t};e.groups.unshift(r)}catch(e){s.A.error("Cannt create group",{error:e})}},renameGroup(e,{gid:t,displayName:r}){const n=e.groups.findIndex(e=>e.id===t);if(n>=0){const t=e.groups[n];t.name=r,e.groups.splice(n,1,t)}},removeGroup(e,t){const r=e.groups.findIndex(e=>e.id===t);r>=0&&e.groups.splice(r,1)},addUserGroup(e,{userid:t,gid:r}){const n=e.groups.find(e=>e.id===r),i=e.users.find(e=>e.id===t);n&&i.enabled&&e.userCount>0&&n.usercount++,i.groups.push(r)},removeUserGroup(e,{userid:t,gid:r}){const n=e.groups.find(e=>e.id===r),i=e.users.find(e=>e.id===t);n&&i.enabled&&e.userCount>0&&n.usercount--;const o=i.groups;o.splice(o.indexOf(r),1)},addUserSubAdmin(e,{userid:t,gid:r}){e.users.find(e=>e.id===t).subadmin.push(r)},removeUserSubAdmin(e,{userid:t,gid:r}){const n=e.users.find(e=>e.id===t).subadmin;n.splice(n.indexOf(r),1)},deleteUser(e,t){const r=e.users.findIndex(e=>e.id===t);this.commit("updateUserCounts",{user:e.users[r],actionType:"remove"}),e.users.splice(r,1)},addUserData(e,t){const r=t.data.ocs.data;e.users.unshift(r),this.commit("updateUserCounts",{user:r,actionType:"create"})},enableDisableUser(e,{userid:t,enabled:r}){const n=e.users.find(e=>e.id===t);n.enabled=r,this.commit("updateUserCounts",{user:n,actionType:r?"enable":"disable"})},updateUserCounts(e,{user:t,actionType:r}){if(0===e.userCount)return;const n=e.groups.find(e=>"__nc_internal_recent"===e.id),i=e.groups.find(e=>"disabled"===e.id);switch(r){case"enable":case"disable":i.usercount+=t.enabled?-1:1,n.usercount+=t.enabled?1:-1,e.userCount+=t.enabled?1:-1,t.groups.forEach(r=>{const n=e.groups.find(e=>e.id===r);n&&(n.disabled+=t.enabled?-1:1)});break;case"create":n.usercount++,e.userCount++,t.groups.forEach(t=>{const r=e.groups.find(e=>e.id===t);r&&r.usercount++});break;case"remove":t.enabled?(n.usercount--,e.userCount--,t.groups.forEach(t=>{const r=e.groups.find(e=>e.id===t);r?r.usercount--:s.A.warn("User group "+t+" does not exist during user removal")})):(i.usercount--,t.groups.forEach(t=>{const r=e.groups.find(e=>e.id===t);r&&r.disabled--}));break;default:s.A.error(`Unknown action type in updateUserCounts: '${r}'`)}},setUserData(e,{userid:t,key:r,value:n}){if("quota"===r){const i=(0,A.lT)(n,!0);e.users.find(e=>e.id===t)[r][r]=null!==i?i:n}else e.users.find(e=>e.id===t)[r]=n},resetUsers(e){e.users=[],e.usersOffset=0,e.disabledUsersOffset=0},resetGroups(e){e.groups=[...w.getSubAdminGroups??[],...w.systemGroups??[]]},setShowConfig(e,{key:t,value:r}){N.setItem(`account_settings__${t}`,JSON.stringify(r)),e.showConfig[t]=r},setGroupSorting(e,r){const n=e.orderBy;e.orderBy=r,a.Ay.post((0,u.Jv)("/settings/users/preferences/group.sortBy"),{value:String(r)}).catch(r=>{e.orderBy=n,(0,i.Qg)(t("settings","Could not set group sorting")),s.A.error(r)})}},R={getUsers:e=>e.users,getGroups:e=>e.groups,getSubAdminGroups:()=>w.subAdminGroups??[],getSortedGroups(e){const t=[...e.groups];return e.orderBy===T.q.UserCount?t.sort((e,t)=>{const r=e.usercount-e.disabled,n=t.usercount-t.disabled;return rO.compare(e.name,t.name))},getGroupSorting:e=>e.orderBy,getPasswordPolicyMinLength:e=>e.minPasswordLength,getUsersOffset:e=>e.usersOffset,getUsersLimit:e=>e.usersLimit,getDisabledUsersOffset:e=>e.disabledUsersOffset,getDisabledUsersLimit:e=>e.disabledUsersLimit,getUserCount:e=>e.userCount,getShowConfig:e=>e.showConfig},P=a.Ay.CancelToken;let D=null;const $={state:L,mutations:S,getters:R,actions:{searchUsers:(e,{offset:t,limit:r,search:n})=>(n="string"==typeof n?n:"",l.A.get((0,u.KT)("cloud/users/details?offset={offset}&limit={limit}&search={search}",{offset:t,limit:r,search:n})).catch(t=>{a.Ay.isCancel(t)||e.commit("API_FAILURE",t)})),getUser:(e,t)=>l.A.get((0,u.KT)(`cloud/users/${t}`)).catch(t=>{a.Ay.isCancel(t)||e.commit("API_FAILURE",t)}),getUsers:(e,{offset:t,limit:r,search:n,group:i})=>(D&&D.cancel("Operation canceled by another search request."),D=P.source(),n=(n="string"==typeof n?n:"").replace(/in:[^\s]+/g,"").trim(),""!==(i="string"==typeof i?i:"")?l.A.get((0,u.KT)("cloud/groups/{group}/users/details?offset={offset}&limit={limit}&search={search}",{group:encodeURIComponent(i),offset:t,limit:r,search:n}),{cancelToken:D.token}).then(t=>{const r=Object.keys(t.data.ocs.data.users).length;return r>0&&e.commit("appendUsers",t.data.ocs.data.users),r}).catch(t=>{a.Ay.isCancel(t)||e.commit("API_FAILURE",t)}):l.A.get((0,u.KT)("cloud/users/details?offset={offset}&limit={limit}&search={search}",{offset:t,limit:r,search:n}),{cancelToken:D.token}).then(t=>{const r=Object.keys(t.data.ocs.data.users).length;return r>0&&e.commit("appendUsers",t.data.ocs.data.users),r}).catch(t=>{a.Ay.isCancel(t)||e.commit("API_FAILURE",t)})),async getRecentUsers(e,{offset:t,limit:r,search:n}){const i=(0,u.KT)("cloud/users/recent?offset={offset}&limit={limit}&search={search}",{offset:t,limit:r,search:n});try{const t=await l.A.get(i),r=Object.keys(t.data.ocs.data.users).length;return r>0&&e.commit("appendUsers",t.data.ocs.data.users),r}catch(t){e.commit("API_FAILURE",t)}},async getDisabledUsers(e,{offset:t,limit:r,search:n}){const i=(0,u.KT)("cloud/users/disabled?offset={offset}&limit={limit}&search={search}",{offset:t,limit:r,search:n});try{const t=await l.A.get(i),r=Object.keys(t.data.ocs.data.users).length;return r>0&&(e.commit("appendUsers",t.data.ocs.data.users),e.commit("updateDisabledUsers",t.data.ocs.data.users)),r}catch(t){e.commit("API_FAILURE",t)}},getGroups(e,{offset:t,limit:r,search:n}){n="string"==typeof n?n:"";const i=-1===r?"":`&limit=${r}`;return l.A.get((0,u.KT)("cloud/groups?offset={offset}&search={search}",{offset:t,search:n})+i).then(t=>Object.keys(t.data.ocs.data.groups).length>0&&(t.data.ocs.data.groups.forEach(function(t){e.commit("addGroup",{id:t,name:t})}),!0)).catch(t=>e.commit("API_FAILURE",t))},getUsersFromList:(e,{offset:t,limit:r,search:n})=>(n="string"==typeof n?n:"",l.A.get((0,u.KT)("cloud/users/details?offset={offset}&limit={limit}&search={search}",{offset:t,limit:r,search:n})).then(t=>Object.keys(t.data.ocs.data.users).length>0&&(e.commit("appendUsers",t.data.ocs.data.users),!0)).catch(t=>e.commit("API_FAILURE",t))),getUsersFromGroup:(e,{groupid:t,offset:r,limit:n})=>l.A.get((0,u.KT)("cloud/users/{groupId}/details?offset={offset}&limit={limit}",{groupId:encodeURIComponent(t),offset:r,limit:n})).then(t=>e.commit("getUsersFromList",t.data.ocs.data.users)).catch(t=>e.commit("API_FAILURE",t)),getPasswordPolicyMinLength:e=>!(!(0,y.F)().password_policy||!(0,y.F)().password_policy.minLength)&&(e.commit("setPasswordPolicyMinLength",(0,y.F)().password_policy.minLength),(0,y.F)().password_policy.minLength),addGroup:(e,t)=>l.A.requireAdmin().then(()=>l.A.post((0,u.KT)("cloud/groups"),{groupid:t}).then(()=>(e.commit("addGroup",{id:t,name:t}),{gid:t,displayName:t})).catch(e=>{throw e})).catch(r=>{throw e.commit("API_FAILURE",{gid:t,error:r}),r}),renameGroup:(e,{groupid:t,displayName:r})=>l.A.requireAdmin().then(()=>l.A.put((0,u.KT)("cloud/groups/{groupId}",{groupId:encodeURIComponent(t)}),{key:"displayname",value:r}).then(()=>(e.commit("renameGroup",{gid:t,displayName:r}),{groupid:t,displayName:r})).catch(e=>{throw e})).catch(r=>{throw e.commit("API_FAILURE",{groupid:t,error:r}),r}),removeGroup:(e,t)=>l.A.requireAdmin().then(()=>l.A.delete((0,u.KT)("cloud/groups/{groupId}",{groupId:encodeURIComponent(t)})).then(()=>e.commit("removeGroup",t)).catch(e=>{throw e})).catch(r=>e.commit("API_FAILURE",{gid:t,error:r})),addUserGroup:(e,{userid:t,gid:r})=>l.A.requireAdmin().then(()=>l.A.post((0,u.KT)("cloud/users/{userid}/groups",{userid:t}),{groupid:r}).then(()=>e.commit("addUserGroup",{userid:t,gid:r})).catch(e=>{throw e})).catch(r=>e.commit("API_FAILURE",{userid:t,error:r})),removeUserGroup:(e,{userid:t,gid:r})=>l.A.requireAdmin().then(()=>l.A.delete((0,u.KT)("cloud/users/{userid}/groups",{userid:t}),{groupid:r}).then(()=>e.commit("removeUserGroup",{userid:t,gid:r})).catch(e=>{throw e})).catch(r=>{throw e.commit("API_FAILURE",{userid:t,error:r}),r}),addUserSubAdmin:(e,{userid:t,gid:r})=>l.A.requireAdmin().then(()=>l.A.post((0,u.KT)("cloud/users/{userid}/subadmins",{userid:t}),{groupid:r}).then(()=>e.commit("addUserSubAdmin",{userid:t,gid:r})).catch(e=>{throw e})).catch(r=>e.commit("API_FAILURE",{userid:t,error:r})),removeUserSubAdmin:(e,{userid:t,gid:r})=>l.A.requireAdmin().then(()=>l.A.delete((0,u.KT)("cloud/users/{userid}/subadmins",{userid:t}),{groupid:r}).then(()=>e.commit("removeUserSubAdmin",{userid:t,gid:r})).catch(e=>{throw e})).catch(r=>e.commit("API_FAILURE",{userid:t,error:r})),async wipeUserDevices(e,t){try{return await l.A.requireAdmin(),await l.A.post((0,u.KT)("cloud/users/{userid}/wipe",{userid:t}))}catch(r){return e.commit("API_FAILURE",{userid:t,error:r}),Promise.reject(new Error("Failed to wipe user devices"))}},deleteUser:(e,t)=>l.A.requireAdmin().then(()=>l.A.delete((0,u.KT)("cloud/users/{userid}",{userid:t})).then(()=>e.commit("deleteUser",t)).catch(e=>{throw e})).catch(r=>e.commit("API_FAILURE",{userid:t,error:r})),addUser:({commit:e,dispatch:t},{userid:r,password:n,displayName:i,email:o,groups:s,subadmin:a,quota:c,language:p,manager:d})=>l.A.requireAdmin().then(()=>l.A.post((0,u.KT)("cloud/users"),{userid:r,password:n,displayName:i,email:o,groups:s,subadmin:a,quota:c,language:p,manager:d}).then(e=>t("addUserData",r||e.data.ocs.data.id)).catch(e=>{throw e})).catch(t=>{throw e("API_FAILURE",{userid:r,error:t}),t}),addUserData:(e,t)=>l.A.requireAdmin().then(()=>l.A.get((0,u.KT)("cloud/users/{userid}",{userid:t})).then(t=>e.commit("addUserData",t)).catch(e=>{throw e})).catch(r=>e.commit("API_FAILURE",{userid:t,error:r})),enableDisableUser(e,{userid:t,enabled:r=!0}){const n=r?"enable":"disable";return l.A.requireAdmin().then(()=>l.A.put((0,u.KT)("cloud/users/{userid}/{userStatus}",{userid:t,userStatus:n})).then(()=>e.commit("enableDisableUser",{userid:t,enabled:r})).catch(e=>{throw e})).catch(r=>e.commit("API_FAILURE",{userid:t,error:r}))},async setUserData(e,{userid:t,key:r,value:n}){if(!["email","language","quota","displayname","password","manager"].includes(r))throw new Error("Invalid request data");if(""===n&&!["email","displayname","manager"].includes(r))throw new Error("Value cannot be empty for this field");try{return await l.A.requireAdmin(),await l.A.put((0,u.KT)("cloud/users/{userid}",{userid:t}),{key:r,value:n}),e.commit("setUserData",{userid:t,key:r,value:n})}catch(r){throw e.commit("API_FAILURE",{userid:t,error:r}),r}},sendWelcomeMail:(e,t)=>l.A.requireAdmin().then(()=>l.A.post((0,u.KT)("cloud/users/{userid}/welcome",{userid:t})).then(()=>!0).catch(e=>{throw e})).catch(r=>e.commit("API_FAILURE",{userid:t,error:r}))}},U={API_FAILURE(e,r){try{const e=r.error.response.data.ocs.meta.message;(0,i.Qg)(t("settings","An error occurred during the request. Unable to proceed.")+"
"+e,{isHTML:!0})}catch{(0,i.Qg)(t("settings","An error occurred during the request. Unable to proceed."))}s.A.error("An error occurred during the request.",{state:e,error:r})}};let F=null;function x(){return null===F&&(F=new o.il({modules:{users:$,apps:m,settings:b,oc:g},strict:!1,mutations:U})),F}},14974:e=>{e.exports=function(e,t){if(("constructor"!==t||"function"!=typeof e[t])&&"__proto__"!=t)return e[t]}},15340:()=>{},15916:(e,t,r)=>{"use strict";var n;r.d(t,{q:()=>n}),function(e){e[e.UserCount=1]="UserCount",e[e.GroupName=2]="GroupName"}(n||(n={}))},20999:(e,t,r)=>{var n=r(69302),i=r(36800);e.exports=function(e){return n(function(t,r){var n=-1,o=r.length,s=o>1?r[o-1]:void 0,a=o>2?r[2]:void 0;for(s=e.length>3&&"function"==typeof s?(o--,s):void 0,a&&i(r[0],r[1],a)&&(s=o<3?void 0:s,o=1),t=Object(t);++n{"use strict";var n=r(21777),i=r(53334),o=r(10810);function s(e){return s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},s(e)}function a(e){var t=function(e){if("object"!=s(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=s(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==s(t)?t:t+""}function c(e,t,r){return(t=a(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function u(e,t){for(var r=0;r=0)return 1;return 0}(),d=p&&window.Promise?function(e){var t=!1;return function(){t||(t=!0,window.Promise.resolve().then(function(){t=!1,e()}))}}:function(e){var t=!1;return function(){t||(t=!0,setTimeout(function(){t=!1,e()},l))}};function f(e){return e&&"[object Function]"==={}.toString.call(e)}function h(e,t){if(1!==e.nodeType)return[];var r=e.ownerDocument.defaultView.getComputedStyle(e,null);return t?r[t]:r}function m(e){return"HTML"===e.nodeName?e:e.parentNode||e.host}function g(e){if(!e)return document.body;switch(e.nodeName){case"HTML":case"BODY":return e.ownerDocument.body;case"#document":return e.body}var t=h(e),r=t.overflow,n=t.overflowX,i=t.overflowY;return/(auto|scroll|overlay)/.test(r+i+n)?e:g(m(e))}function v(e){return e&&e.referenceNode?e.referenceNode:e}var E=p&&!(!window.MSInputMethodContext||!document.documentMode),b=p&&/MSIE 10/.test(navigator.userAgent);function _(e){return 11===e?E:10===e?b:E||b}function y(e){if(!e)return document.documentElement;for(var t=_(10)?document.body:null,r=e.offsetParent||null;r===t&&e.nextElementSibling;)r=(e=e.nextElementSibling).offsetParent;var n=r&&r.nodeName;return n&&"BODY"!==n&&"HTML"!==n?-1!==["TH","TD","TABLE"].indexOf(r.nodeName)&&"static"===h(r,"position")?y(r):r:e?e.ownerDocument.documentElement:document.documentElement}function A(e){return null!==e.parentNode?A(e.parentNode):e}function T(e,t){if(!(e&&e.nodeType&&t&&t.nodeType))return document.documentElement;var r=e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_FOLLOWING,n=r?e:t,i=r?t:e,o=document.createRange();o.setStart(n,0),o.setEnd(i,0);var s,a,c=o.commonAncestorContainer;if(e!==c&&t!==c||n.contains(i))return"BODY"===(a=(s=c).nodeName)||"HTML"!==a&&y(s.firstElementChild)!==s?y(c):c;var u=A(e);return u.host?T(u.host,t):T(e,A(t).host)}function I(e){var t="top"===(arguments.length>1&&void 0!==arguments[1]?arguments[1]:"top")?"scrollTop":"scrollLeft",r=e.nodeName;if("BODY"===r||"HTML"===r){var n=e.ownerDocument.documentElement;return(e.ownerDocument.scrollingElement||n)[t]}return e[t]}function O(e,t){var r="x"===t?"Left":"Top",n="Left"===r?"Right":"Bottom";return parseFloat(e["border"+r+"Width"])+parseFloat(e["border"+n+"Width"])}function w(e,t,r,n){return Math.max(t["offset"+e],t["scroll"+e],r["client"+e],r["offset"+e],r["scroll"+e],_(10)?parseInt(r["offset"+e])+parseInt(n["margin"+("Height"===e?"Top":"Left")])+parseInt(n["margin"+("Height"===e?"Bottom":"Right")]):0)}function N(e){var t=e.body,r=e.documentElement,n=_(10)&&getComputedStyle(r);return{height:w("Height",t,r,n),width:w("Width",t,r,n)}}var C=function(){function e(e,t){for(var r=0;r2&&void 0!==arguments[2]&&arguments[2],n=_(10),i="HTML"===t.nodeName,o=P(e),s=P(t),a=g(e),c=h(t),u=parseFloat(c.borderTopWidth),p=parseFloat(c.borderLeftWidth);r&&i&&(s.top=Math.max(s.top,0),s.left=Math.max(s.left,0));var l=R({top:o.top-s.top-u,left:o.left-s.left-p,width:o.width,height:o.height});if(l.marginTop=0,l.marginLeft=0,!n&&i){var d=parseFloat(c.marginTop),f=parseFloat(c.marginLeft);l.top-=u-d,l.bottom-=u-d,l.left-=p-f,l.right-=p-f,l.marginTop=d,l.marginLeft=f}return(n&&!r?t.contains(a):t===a&&"BODY"!==a.nodeName)&&(l=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=I(t,"top"),i=I(t,"left"),o=r?-1:1;return e.top+=n*o,e.bottom+=n*o,e.left+=i*o,e.right+=i*o,e}(l,t)),l}function $(e){var t=e.nodeName;if("BODY"===t||"HTML"===t)return!1;if("fixed"===h(e,"position"))return!0;var r=m(e);return!!r&&$(r)}function U(e){if(!e||!e.parentElement||_())return document.documentElement;for(var t=e.parentElement;t&&"none"===h(t,"transform");)t=t.parentElement;return t||document.documentElement}function F(e,t,r,n){var i=arguments.length>4&&void 0!==arguments[4]&&arguments[4],o={top:0,left:0},s=i?U(e):T(e,v(t));if("viewport"===n)o=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=e.ownerDocument.documentElement,n=D(e,r),i=Math.max(r.clientWidth,window.innerWidth||0),o=Math.max(r.clientHeight,window.innerHeight||0),s=t?0:I(r),a=t?0:I(r,"left");return R({top:s-n.top+n.marginTop,left:a-n.left+n.marginLeft,width:i,height:o})}(s,i);else{var a=void 0;"scrollParent"===n?"BODY"===(a=g(m(t))).nodeName&&(a=e.ownerDocument.documentElement):a="window"===n?e.ownerDocument.documentElement:n;var c=D(a,s,i);if("HTML"!==a.nodeName||$(s))o=c;else{var u=N(e.ownerDocument),p=u.height,l=u.width;o.top+=c.top-c.marginTop,o.bottom=p+c.top,o.left+=c.left-c.marginLeft,o.right=l+c.left}}var d="number"==typeof(r=r||0);return o.left+=d?r:r.left||0,o.top+=d?r:r.top||0,o.right-=d?r:r.right||0,o.bottom-=d?r:r.bottom||0,o}function x(e,t,r,n,i){var o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;if(-1===e.indexOf("auto"))return e;var s=F(r,n,o,i),a={top:{width:s.width,height:t.top-s.top},right:{width:s.right-t.right,height:s.height},bottom:{width:s.width,height:s.bottom-t.bottom},left:{width:t.left-s.left,height:s.height}},c=Object.keys(a).map(function(e){return S({key:e},a[e],{area:(t=a[e],t.width*t.height)});var t}).sort(function(e,t){return t.area-e.area}),u=c.filter(function(e){var t=e.width,n=e.height;return t>=r.clientWidth&&n>=r.clientHeight}),p=u.length>0?u[0].key:c[0].key,l=e.split("-")[1];return p+(l?"-"+l:"")}function M(e,t,r){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;return D(r,n?U(t):T(t,v(r)),n)}function k(e){var t=e.ownerDocument.defaultView.getComputedStyle(e),r=parseFloat(t.marginTop||0)+parseFloat(t.marginBottom||0),n=parseFloat(t.marginLeft||0)+parseFloat(t.marginRight||0);return{width:e.offsetWidth+n,height:e.offsetHeight+r}}function j(e){var t={left:"right",right:"left",bottom:"top",top:"bottom"};return e.replace(/left|right|bottom|top/g,function(e){return t[e]})}function G(e,t,r){r=r.split("-")[0];var n=k(e),i={width:n.width,height:n.height},o=-1!==["right","left"].indexOf(r),s=o?"top":"left",a=o?"left":"top",c=o?"height":"width",u=o?"width":"height";return i[s]=t[s]+t[c]/2-n[c]/2,i[a]=r===a?t[a]-n[u]:t[j(a)],i}function B(e,t){return Array.prototype.find?e.find(t):e.filter(t)[0]}function H(e,t,r){return(void 0===r?e:e.slice(0,function(e,t,r){if(Array.prototype.findIndex)return e.findIndex(function(e){return e[t]===r});var n=B(e,function(e){return e[t]===r});return e.indexOf(n)}(e,"name",r))).forEach(function(e){e.function&&console.warn("`modifier.function` is deprecated, use `modifier.fn`!");var r=e.function||e.fn;e.enabled&&f(r)&&(t.offsets.popper=R(t.offsets.popper),t.offsets.reference=R(t.offsets.reference),t=r(t,e))}),t}function V(){if(!this.state.isDestroyed){var e={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:!1,offsets:{}};e.offsets.reference=M(this.state,this.popper,this.reference,this.options.positionFixed),e.placement=x(this.options.placement,e.offsets.reference,this.popper,this.reference,this.options.modifiers.flip.boundariesElement,this.options.modifiers.flip.padding),e.originalPlacement=e.placement,e.positionFixed=this.options.positionFixed,e.offsets.popper=G(this.popper,e.offsets.reference,e.placement),e.offsets.popper.position=this.options.positionFixed?"fixed":"absolute",e=H(this.modifiers,e),this.state.isCreated?this.options.onUpdate(e):(this.state.isCreated=!0,this.options.onCreate(e))}}function q(e,t){return e.some(function(e){var r=e.name;return e.enabled&&r===t})}function X(e){for(var t=[!1,"ms","Webkit","Moz","O"],r=e.charAt(0).toUpperCase()+e.slice(1),n=0;n1&&void 0!==arguments[1]&&arguments[1],r=ie.indexOf(e),n=ie.slice(r+1).concat(ie.slice(0,r));return t?n.reverse():n}var se={shift:{order:100,enabled:!0,fn:function(e){var t=e.placement,r=t.split("-")[0],n=t.split("-")[1];if(n){var i=e.offsets,o=i.reference,s=i.popper,a=-1!==["bottom","top"].indexOf(r),c=a?"left":"top",u=a?"width":"height",p={start:L({},c,o[c]),end:L({},c,o[c]+o[u]-s[u])};e.offsets.popper=S({},s,p[n])}return e}},offset:{order:200,enabled:!0,fn:function(e,t){var r,n=t.offset,i=e.placement,o=e.offsets,s=o.popper,a=o.reference,c=i.split("-")[0];return r=Z(+n)?[+n,0]:function(e,t,r,n){var i=[0,0],o=-1!==["right","left"].indexOf(n),s=e.split(/(\+|\-)/).map(function(e){return e.trim()}),a=s.indexOf(B(s,function(e){return-1!==e.search(/,|\s/)}));s[a]&&-1===s[a].indexOf(",")&&console.warn("Offsets separated by white space(s) are deprecated, use a comma (,) instead.");var c=/\s*,\s*|\s+/,u=-1!==a?[s.slice(0,a).concat([s[a].split(c)[0]]),[s[a].split(c)[1]].concat(s.slice(a+1))]:[s];return(u=u.map(function(e,n){var i=(1===n?!o:o)?"height":"width",s=!1;return e.reduce(function(e,t){return""===e[e.length-1]&&-1!==["+","-"].indexOf(t)?(e[e.length-1]=t,s=!0,e):s?(e[e.length-1]+=t,s=!1,e):e.concat(t)},[]).map(function(e){return function(e,t,r,n){var i=e.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),o=+i[1],s=i[2];return o?0===s.indexOf("%")?R("%p"===s?r:n)[t]/100*o:"vh"===s||"vw"===s?("vh"===s?Math.max(document.documentElement.clientHeight,window.innerHeight||0):Math.max(document.documentElement.clientWidth,window.innerWidth||0))/100*o:o:e}(e,i,t,r)})})).forEach(function(e,t){e.forEach(function(r,n){Z(r)&&(i[t]+=r*("-"===e[n-1]?-1:1))})}),i}(n,s,a,c),"left"===c?(s.top+=r[0],s.left-=r[1]):"right"===c?(s.top+=r[0],s.left+=r[1]):"top"===c?(s.left+=r[0],s.top-=r[1]):"bottom"===c&&(s.left+=r[0],s.top+=r[1]),e.popper=s,e},offset:0},preventOverflow:{order:300,enabled:!0,fn:function(e,t){var r=t.boundariesElement||y(e.instance.popper);e.instance.reference===r&&(r=y(r));var n=X("transform"),i=e.instance.popper.style,o=i.top,s=i.left,a=i[n];i.top="",i.left="",i[n]="";var c=F(e.instance.popper,e.instance.reference,t.padding,r,e.positionFixed);i.top=o,i.left=s,i[n]=a,t.boundaries=c;var u=t.priority,p=e.offsets.popper,l={primary:function(e){var r=p[e];return p[e]c[e]&&!t.escapeWithReference&&(n=Math.min(p[r],c[e]-("right"===e?p.width:p.height))),L({},r,n)}};return u.forEach(function(e){var t=-1!==["left","top"].indexOf(e)?"primary":"secondary";p=S({},p,l[t](e))}),e.offsets.popper=p,e},priority:["left","right","top","bottom"],padding:5,boundariesElement:"scrollParent"},keepTogether:{order:400,enabled:!0,fn:function(e){var t=e.offsets,r=t.popper,n=t.reference,i=e.placement.split("-")[0],o=Math.floor,s=-1!==["top","bottom"].indexOf(i),a=s?"right":"bottom",c=s?"left":"top",u=s?"width":"height";return r[a]o(n[a])&&(e.offsets.popper[c]=o(n[a])),e}},arrow:{order:500,enabled:!0,fn:function(e,t){var r;if(!re(e.instance.modifiers,"arrow","keepTogether"))return e;var n=t.element;if("string"==typeof n){if(!(n=e.instance.popper.querySelector(n)))return e}else if(!e.instance.popper.contains(n))return console.warn("WARNING: `arrow.element` must be child of its popper element!"),e;var i=e.placement.split("-")[0],o=e.offsets,s=o.popper,a=o.reference,c=-1!==["left","right"].indexOf(i),u=c?"height":"width",p=c?"Top":"Left",l=p.toLowerCase(),d=c?"left":"top",f=c?"bottom":"right",m=k(n)[u];a[f]-ms[f]&&(e.offsets.popper[l]+=a[l]+m-s[f]),e.offsets.popper=R(e.offsets.popper);var g=a[l]+a[u]/2-m/2,v=h(e.instance.popper),E=parseFloat(v["margin"+p]),b=parseFloat(v["border"+p+"Width"]),_=g-e.offsets.popper[l]-E-b;return _=Math.max(Math.min(s[u]-m,_),0),e.arrowElement=n,e.offsets.arrow=(L(r={},l,Math.round(_)),L(r,d,""),r),e},element:"[x-arrow]"},flip:{order:600,enabled:!0,fn:function(e,t){if(q(e.instance.modifiers,"inner"))return e;if(e.flipped&&e.placement===e.originalPlacement)return e;var r=F(e.instance.popper,e.instance.reference,t.padding,t.boundariesElement,e.positionFixed),n=e.placement.split("-")[0],i=j(n),o=e.placement.split("-")[1]||"",s=[];switch(t.behavior){case"flip":s=[n,i];break;case"clockwise":s=oe(n);break;case"counterclockwise":s=oe(n,!0);break;default:s=t.behavior}return s.forEach(function(a,c){if(n!==a||s.length===c+1)return e;n=e.placement.split("-")[0],i=j(n);var u=e.offsets.popper,p=e.offsets.reference,l=Math.floor,d="left"===n&&l(u.right)>l(p.left)||"right"===n&&l(u.left)l(p.top)||"bottom"===n&&l(u.top)l(r.right),m=l(u.top)l(r.bottom),v="left"===n&&f||"right"===n&&h||"top"===n&&m||"bottom"===n&&g,E=-1!==["top","bottom"].indexOf(n),b=!!t.flipVariations&&(E&&"start"===o&&f||E&&"end"===o&&h||!E&&"start"===o&&m||!E&&"end"===o&&g),_=!!t.flipVariationsByContent&&(E&&"start"===o&&h||E&&"end"===o&&f||!E&&"start"===o&&g||!E&&"end"===o&&m),y=b||_;(d||v||y)&&(e.flipped=!0,(d||v)&&(n=s[c+1]),y&&(o=function(e){return"end"===e?"start":"start"===e?"end":e}(o)),e.placement=n+(o?"-"+o:""),e.offsets.popper=S({},e.offsets.popper,G(e.instance.popper,e.offsets.reference,e.placement)),e=H(e.instance.modifiers,e,"flip"))}),e},behavior:"flip",padding:5,boundariesElement:"viewport",flipVariations:!1,flipVariationsByContent:!1},inner:{order:700,enabled:!1,fn:function(e){var t=e.placement,r=t.split("-")[0],n=e.offsets,i=n.popper,o=n.reference,s=-1!==["left","right"].indexOf(r),a=-1===["top","left"].indexOf(r);return i[s?"left":"top"]=o[r]-(a?i[s?"width":"height"]:0),e.placement=j(t),e.offsets.popper=R(i),e}},hide:{order:800,enabled:!0,fn:function(e){if(!re(e.instance.modifiers,"hide","preventOverflow"))return e;var t=e.offsets.reference,r=B(e.instance.modifiers,function(e){return"preventOverflow"===e.name}).boundaries;if(t.bottomr.right||t.top>r.bottom||t.right2&&void 0!==arguments[2]?arguments[2]:{};!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.scheduleUpdate=function(){return requestAnimationFrame(n.update)},this.update=d(this.update.bind(this)),this.options=S({},e.Defaults,i),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=t&&t.jquery?t[0]:t,this.popper=r&&r.jquery?r[0]:r,this.options.modifiers={},Object.keys(S({},e.Defaults.modifiers,i.modifiers)).forEach(function(t){n.options.modifiers[t]=S({},e.Defaults.modifiers[t]||{},i.modifiers?i.modifiers[t]:{})}),this.modifiers=Object.keys(this.options.modifiers).map(function(e){return S({name:e},n.options.modifiers[e])}).sort(function(e,t){return e.order-t.order}),this.modifiers.forEach(function(e){e.enabled&&f(e.onLoad)&&e.onLoad(n.reference,n.popper,n.options,e,n.state)}),this.update();var o=this.options.eventsEnabled;o&&this.enableEventListeners(),this.state.eventsEnabled=o}return C(e,[{key:"update",value:function(){return V.call(this)}},{key:"destroy",value:function(){return W.call(this)}},{key:"enableEventListeners",value:function(){return Q.call(this)}},{key:"disableEventListeners",value:function(){return J.call(this)}}]),e}();ce.Utils=("undefined"!=typeof window?window:globalThis).PopperUtils,ce.placements=ne,ce.Defaults=ae;const ue=ce;var pe,le=r(2404),de=r.n(le);function fe(){fe.init||(fe.init=!0,pe=-1!==function(){var e=window.navigator.userAgent,t=e.indexOf("MSIE ");if(t>0)return parseInt(e.substring(t+5,e.indexOf(".",t)),10);if(e.indexOf("Trident/")>0){var r=e.indexOf("rv:");return parseInt(e.substring(r+3,e.indexOf(".",r)),10)}var n=e.indexOf("Edge/");return n>0?parseInt(e.substring(n+5,e.indexOf(".",n)),10):-1}())}function he(e,t,r,n,i,o,s,a,c,u){"boolean"!=typeof s&&(c=a,a=s,s=!1);var p,l="function"==typeof r?r.options:r;if(e&&e.render&&(l.render=e.render,l.staticRenderFns=e.staticRenderFns,l._compiled=!0,i&&(l.functional=!0)),n&&(l._scopeId=n),o?(p=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),t&&t.call(this,c(e)),e&&e._registeredComponents&&e._registeredComponents.add(o)},l._ssrRegister=p):t&&(p=s?function(e){t.call(this,u(e,this.$root.$options.shadowRoot))}:function(e){t.call(this,a(e))}),p)if(l.functional){var d=l.render;l.render=function(e,t){return p.call(t),d(e,t)}}else{var f=l.beforeCreate;l.beforeCreate=f?[].concat(f,p):[p]}return r}var me={name:"ResizeObserver",props:{emitOnMount:{type:Boolean,default:!1},ignoreWidth:{type:Boolean,default:!1},ignoreHeight:{type:Boolean,default:!1}},mounted:function(){var e=this;fe(),this.$nextTick(function(){e._w=e.$el.offsetWidth,e._h=e.$el.offsetHeight,e.emitOnMount&&e.emitSize()});var t=document.createElement("object");this._resizeObject=t,t.setAttribute("aria-hidden","true"),t.setAttribute("tabindex",-1),t.onload=this.addResizeHandlers,t.type="text/html",pe&&this.$el.appendChild(t),t.data="about:blank",pe||this.$el.appendChild(t)},beforeDestroy:function(){this.removeResizeHandlers()},methods:{compareAndNotify:function(){(!this.ignoreWidth&&this._w!==this.$el.offsetWidth||!this.ignoreHeight&&this._h!==this.$el.offsetHeight)&&(this._w=this.$el.offsetWidth,this._h=this.$el.offsetHeight,this.emitSize())},emitSize:function(){this.$emit("notify",{width:this._w,height:this._h})},addResizeHandlers:function(){this._resizeObject.contentDocument.defaultView.addEventListener("resize",this.compareAndNotify),this.compareAndNotify()},removeResizeHandlers:function(){this._resizeObject&&this._resizeObject.onload&&(!pe&&this._resizeObject.contentDocument&&this._resizeObject.contentDocument.defaultView.removeEventListener("resize",this.compareAndNotify),this.$el.removeChild(this._resizeObject),this._resizeObject.onload=null,this._resizeObject=null)}}},ge=function(){var e=this.$createElement;return(this._self._c||e)("div",{staticClass:"resize-observer",attrs:{tabindex:"-1"}})};ge._withStripped=!0;var ve=he({render:ge,staticRenderFns:[]},void 0,me,"data-v-8859cc6c",!1,void 0,!1,void 0,void 0,void 0),Ee={version:"1.0.1",install:function(e){e.component("resize-observer",ve),e.component("ResizeObserver",ve)}},be=null;"undefined"!=typeof window?be=window.Vue:"undefined"!=typeof globalThis&&(be=globalThis.Vue),be&&be.use(Ee);var _e=r(55364),ye=r.n(_e),Ae=function(){};function Te(e){return"string"==typeof e&&(e=e.split(" ")),e}function Ie(e,t){var r,n=Te(t);r=e.className instanceof Ae?Te(e.className.baseVal):Te(e.className),n.forEach(function(e){-1===r.indexOf(e)&&r.push(e)}),e instanceof SVGElement?e.setAttribute("class",r.join(" ")):e.className=r.join(" ")}function Oe(e,t){var r,n=Te(t);r=e.className instanceof Ae?Te(e.className.baseVal):Te(e.className),n.forEach(function(e){var t=r.indexOf(e);-1!==t&&r.splice(t,1)}),e instanceof SVGElement?e.setAttribute("class",r.join(" ")):e.className=r.join(" ")}"undefined"!=typeof window&&(Ae=window.SVGAnimatedString);var we=!1;if("undefined"!=typeof window){we=!1;try{var Ne=Object.defineProperty({},"passive",{get:function(){we=!0}});window.addEventListener("test",null,Ne)}catch(e){}}function Ce(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function Le(e){for(var t=1;t
',trigger:"hover focus",offset:0},Re=[],Pe=function(){function e(t,r){var n=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),c(this,"_events",[]),c(this,"_setTooltipNodeEvent",function(e,t,r,i){var o=e.relatedreference||e.toElement||e.relatedTarget;return!!n._tooltipNode.contains(o)&&(n._tooltipNode.addEventListener(e.type,function r(o){var s=o.relatedreference||o.toElement||o.relatedTarget;n._tooltipNode.removeEventListener(e.type,r),t.contains(s)||n._scheduleHide(t,i.delay,i,o)}),!0)}),r=Le(Le({},Se),r),t.jquery&&(t=t[0]),this.show=this.show.bind(this),this.hide=this.hide.bind(this),this.reference=t,this.options=r,this._isOpen=!1,this._init()}return t=e,(r=[{key:"show",value:function(){this._show(this.reference,this.options)}},{key:"hide",value:function(){this._hide()}},{key:"dispose",value:function(){this._dispose()}},{key:"toggle",value:function(){return this._isOpen?this.hide():this.show()}},{key:"setClasses",value:function(e){this._classes=e}},{key:"setContent",value:function(e){this.options.title=e,this._tooltipNode&&this._setContent(e,this.options)}},{key:"setOptions",value:function(e){var t=!1,r=e&&e.classes||He.options.defaultClass;de()(this._classes,r)||(this.setClasses(r),t=!0),e=Me(e);var n=!1,i=!1;for(var o in this.options.offset===e.offset&&this.options.placement===e.placement||(n=!0),(this.options.template!==e.template||this.options.trigger!==e.trigger||this.options.container!==e.container||t)&&(i=!0),e)this.options[o]=e[o];if(this._tooltipNode)if(i){var s=this._isOpen;this.dispose(),this._init(),s&&this.show()}else n&&this.popperInstance.update()}},{key:"_init",value:function(){var e="string"==typeof this.options.trigger?this.options.trigger.split(" "):[];this._isDisposed=!1,this._enableDocumentTouch=-1===e.indexOf("manual"),e=e.filter(function(e){return-1!==["click","hover","focus"].indexOf(e)}),this._setEventListeners(this.reference,e,this.options),this.$_originalTitle=this.reference.getAttribute("title"),this.reference.removeAttribute("title"),this.reference.setAttribute("data-original-title",this.$_originalTitle)}},{key:"_create",value:function(e,t){var r=this,n=window.document.createElement("div");n.innerHTML=t.trim();var i=n.childNodes[0];return i.id=this.options.ariaId||"tooltip_".concat(Math.random().toString(36).substr(2,10)),i.setAttribute("aria-hidden","true"),this.options.autoHide&&-1!==this.options.trigger.indexOf("hover")&&(i.addEventListener("mouseenter",function(t){return r._scheduleHide(e,r.options.delay,r.options,t)}),i.addEventListener("click",function(t){return r._scheduleHide(e,r.options.delay,r.options,t)})),i}},{key:"_setContent",value:function(e,t){var r=this;this.asyncContent=!1,this._applyContent(e,t).then(function(){r.popperInstance&&r.popperInstance.update()})}},{key:"_applyContent",value:function(e,t){var r=this;return new Promise(function(n,i){var o=t.html,s=r._tooltipNode;if(s){var a=s.querySelector(r.options.innerSelector);if(1===e.nodeType){if(o){for(;a.firstChild;)a.removeChild(a.firstChild);a.appendChild(e)}}else{if("function"==typeof e){var c=e();return void(c&&"function"==typeof c.then?(r.asyncContent=!0,t.loadingClass&&Ie(s,t.loadingClass),t.loadingContent&&r._applyContent(t.loadingContent,t),c.then(function(e){return t.loadingClass&&Oe(s,t.loadingClass),r._applyContent(e,t)}).then(n).catch(i)):r._applyContent(c,t).then(n).catch(i))}o?a.innerHTML=e:a.innerText=e}n()}})}},{key:"_show",value:function(e,t){if(!t||"string"!=typeof t.container||document.querySelector(t.container)){clearTimeout(this._disposeTimer),delete(t=Object.assign({},t)).offset;var r=!0;this._tooltipNode&&(Ie(this._tooltipNode,this._classes),r=!1);var n=this._ensureShown(e,t);return r&&this._tooltipNode&&Ie(this._tooltipNode,this._classes),Ie(e,["v-tooltip-open"]),n}}},{key:"_ensureShown",value:function(e,t){var r=this;if(this._isOpen)return this;if(this._isOpen=!0,Re.push(this),this._tooltipNode)return this._tooltipNode.style.display="",this._tooltipNode.setAttribute("aria-hidden","false"),this.popperInstance.enableEventListeners(),this.popperInstance.update(),this.asyncContent&&this._setContent(t.title,t),this;var n=e.getAttribute("title")||t.title;if(!n)return this;var i=this._create(e,t.template);this._tooltipNode=i,e.setAttribute("aria-describedby",i.id);var o=this._findContainer(t.container,e);this._append(i,o);var s=Le(Le({},t.popperOptions),{},{placement:t.placement});return s.modifiers=Le(Le({},s.modifiers),{},{arrow:{element:this.options.arrowSelector}}),t.boundariesElement&&(s.modifiers.preventOverflow={boundariesElement:t.boundariesElement}),this.popperInstance=new ue(e,i,s),this._setContent(n,t),requestAnimationFrame(function(){!r._isDisposed&&r.popperInstance?(r.popperInstance.update(),requestAnimationFrame(function(){r._isDisposed?r.dispose():r._isOpen&&i.setAttribute("aria-hidden","false")})):r.dispose()}),this}},{key:"_noLongerOpen",value:function(){var e=Re.indexOf(this);-1!==e&&Re.splice(e,1)}},{key:"_hide",value:function(){var e=this;if(!this._isOpen)return this;this._isOpen=!1,this._noLongerOpen(),this._tooltipNode.style.display="none",this._tooltipNode.setAttribute("aria-hidden","true"),this.popperInstance&&this.popperInstance.disableEventListeners(),clearTimeout(this._disposeTimer);var t=He.options.disposeTimeout;return null!==t&&(this._disposeTimer=setTimeout(function(){e._tooltipNode&&(e._tooltipNode.removeEventListener("mouseenter",e.hide),e._tooltipNode.removeEventListener("click",e.hide),e._removeTooltipNode())},t)),Oe(this.reference,["v-tooltip-open"]),this}},{key:"_removeTooltipNode",value:function(){if(this._tooltipNode){var e=this._tooltipNode.parentNode;e&&(e.removeChild(this._tooltipNode),this.reference.removeAttribute("aria-describedby")),this._tooltipNode=null}}},{key:"_dispose",value:function(){var e=this;return this._isDisposed=!0,this.reference.removeAttribute("data-original-title"),this.$_originalTitle&&this.reference.setAttribute("title",this.$_originalTitle),this._events.forEach(function(t){var r=t.func,n=t.event;e.reference.removeEventListener(n,r)}),this._events=[],this._tooltipNode?(this._hide(),this._tooltipNode.removeEventListener("mouseenter",this.hide),this._tooltipNode.removeEventListener("click",this.hide),this.popperInstance.destroy(),this.popperInstance.options.removeOnDestroy||this._removeTooltipNode()):this._noLongerOpen(),this}},{key:"_findContainer",value:function(e,t){return"string"==typeof e?e=window.document.querySelector(e):!1===e&&(e=t.parentNode),e}},{key:"_append",value:function(e,t){t.appendChild(e)}},{key:"_setEventListeners",value:function(e,t,r){var n=this,i=[],o=[];t.forEach(function(e){switch(e){case"hover":i.push("mouseenter"),o.push("mouseleave"),n.options.hideOnTargetClick&&o.push("click");break;case"focus":i.push("focus"),o.push("blur"),n.options.hideOnTargetClick&&o.push("click");break;case"click":i.push("click"),o.push("click")}}),i.forEach(function(t){var i=function(t){!0!==n._isOpen&&(t.usedByTooltip=!0,n._scheduleShow(e,r.delay,r,t))};n._events.push({event:t,func:i}),e.addEventListener(t,i)}),o.forEach(function(t){var i=function(t){!0!==t.usedByTooltip&&n._scheduleHide(e,r.delay,r,t)};n._events.push({event:t,func:i}),e.addEventListener(t,i)})}},{key:"_onDocumentTouch",value:function(e){this._enableDocumentTouch&&this._scheduleHide(this.reference,this.options.delay,this.options,e)}},{key:"_scheduleShow",value:function(e,t,r){var n=this,i=t&&t.show||t||0;clearTimeout(this._scheduleTimer),this._scheduleTimer=window.setTimeout(function(){return n._show(e,r)},i)}},{key:"_scheduleHide",value:function(e,t,r,n){var i=this,o=t&&t.hide||t||0;clearTimeout(this._scheduleTimer),this._scheduleTimer=window.setTimeout(function(){if(!1!==i._isOpen&&i._tooltipNode.ownerDocument.body.contains(i._tooltipNode)){if("mouseleave"===n.type&&i._setTooltipNodeEvent(n,e,t,r))return;i._hide(e,r)}},o)}}])&&u(t.prototype,r),Object.defineProperty(t,"prototype",{writable:!1}),e;var t,r}();function De(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function $e(e){for(var t=1;t
',defaultArrowSelector:".tooltip-arrow, .tooltip__arrow",defaultInnerSelector:".tooltip-inner, .tooltip__inner",defaultDelay:0,defaultTrigger:"hover focus",defaultOffset:0,defaultContainer:"body",defaultBoundariesElement:void 0,defaultPopperOptions:{},defaultLoadingClass:"tooltip-loading",defaultLoadingContent:"...",autoHide:!0,defaultHideOnTargetClick:!0,disposeTimeout:5e3,popover:{defaultPlacement:"bottom",defaultClass:"vue-popover-theme",defaultBaseClass:"tooltip popover",defaultWrapperClass:"wrapper",defaultInnerClass:"tooltip-inner popover-inner",defaultArrowClass:"tooltip-arrow popover-arrow",defaultOpenClass:"open",defaultDelay:0,defaultTrigger:"click",defaultOffset:0,defaultContainer:"body",defaultBoundariesElement:void 0,defaultPopperOptions:{},defaultAutoHide:!0,defaultHandleResize:!0}};function Me(e){var t={placement:void 0!==e.placement?e.placement:He.options.defaultPlacement,delay:void 0!==e.delay?e.delay:He.options.defaultDelay,html:void 0!==e.html?e.html:He.options.defaultHtml,template:void 0!==e.template?e.template:He.options.defaultTemplate,arrowSelector:void 0!==e.arrowSelector?e.arrowSelector:He.options.defaultArrowSelector,innerSelector:void 0!==e.innerSelector?e.innerSelector:He.options.defaultInnerSelector,trigger:void 0!==e.trigger?e.trigger:He.options.defaultTrigger,offset:void 0!==e.offset?e.offset:He.options.defaultOffset,container:void 0!==e.container?e.container:He.options.defaultContainer,boundariesElement:void 0!==e.boundariesElement?e.boundariesElement:He.options.defaultBoundariesElement,autoHide:void 0!==e.autoHide?e.autoHide:He.options.autoHide,hideOnTargetClick:void 0!==e.hideOnTargetClick?e.hideOnTargetClick:He.options.defaultHideOnTargetClick,loadingClass:void 0!==e.loadingClass?e.loadingClass:He.options.defaultLoadingClass,loadingContent:void 0!==e.loadingContent?e.loadingContent:He.options.defaultLoadingContent,popperOptions:$e({},void 0!==e.popperOptions?e.popperOptions:He.options.defaultPopperOptions)};if(t.offset){var r=s(t.offset),n=t.offset;("number"===r||"string"===r&&-1===n.indexOf(","))&&(n="0, ".concat(n)),t.popperOptions.modifiers||(t.popperOptions.modifiers={}),t.popperOptions.modifiers.offset={offset:n}}return t.trigger&&-1!==t.trigger.indexOf("click")&&(t.hideOnTargetClick=!1),t}function ke(e,t){for(var r=e.placement,n=0;n2&&void 0!==arguments[2]?arguments[2]:{},n=je(t),i=void 0!==t.classes?t.classes:He.options.defaultClass,o=$e({title:n},Me($e($e({},"object"===s(t)?t:{}),{},{placement:ke(t,r)}))),a=e._tooltip=new Pe(e,o);a.setClasses(i),a._vueEl=e;var c=void 0!==t.targetClasses?t.targetClasses:He.options.defaultTargetClass;return e._tooltipTargetClasses=c,Ie(e,c),a}(e,r,i),void 0!==r.show&&r.show!==e._tooltipOldShow&&(e._tooltipOldShow=r.show,r.show?n.show():n.hide())):Ge(e)}var He={options:xe,bind:Be,update:Be,unbind:function(e){Ge(e)}};function Ve(e){e.addEventListener("click",Xe),e.addEventListener("touchstart",We,!!we&&{passive:!0})}function qe(e){e.removeEventListener("click",Xe),e.removeEventListener("touchstart",We),e.removeEventListener("touchend",ze),e.removeEventListener("touchcancel",Ye)}function Xe(e){var t=e.currentTarget;e.closePopover=!t.$_vclosepopover_touch,e.closeAllPopover=t.$_closePopoverModifiers&&!!t.$_closePopoverModifiers.all}function We(e){if(1===e.changedTouches.length){var t=e.currentTarget;t.$_vclosepopover_touch=!0;var r=e.changedTouches[0];t.$_vclosepopover_touchPoint=r,t.addEventListener("touchend",ze),t.addEventListener("touchcancel",Ye)}}function ze(e){var t=e.currentTarget;if(t.$_vclosepopover_touch=!1,1===e.changedTouches.length){var r=e.changedTouches[0],n=t.$_vclosepopover_touchPoint;e.closePopover=Math.abs(r.screenY-n.screenY)<20&&Math.abs(r.screenX-n.screenX)<20,e.closeAllPopover=t.$_closePopoverModifiers&&!!t.$_closePopoverModifiers.all}}function Ye(e){e.currentTarget.$_vclosepopover_touch=!1}var Ke={bind:function(e,t){var r=t.value,n=t.modifiers;e.$_closePopoverModifiers=n,(void 0===r||r)&&Ve(e)},update:function(e,t){var r=t.value,n=t.oldValue,i=t.modifiers;e.$_closePopoverModifiers=i,r!==n&&(void 0===r||r?Ve(e):qe(e))},unbind:function(e){qe(e)}};function Qe(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function Je(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{},r=t.event;t.skipDelay;var n=t.force;!(void 0!==n&&n)&&this.disabled||(this.$_scheduleShow(r),this.$emit("show")),this.$emit("update:open",!0),this.$_beingShowed=!0,requestAnimationFrame(function(){e.$_beingShowed=!1})},hide:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.event;e.skipDelay,this.$_scheduleHide(t),this.$emit("hide"),this.$emit("update:open",!1)},dispose:function(){if(this.$_isDisposed=!0,this.$_removeEventListeners(),this.hide({skipDelay:!0}),this.popperInstance&&(this.popperInstance.destroy(),!this.popperInstance.options.removeOnDestroy)){var e=this.$refs.popover;e.parentNode&&e.parentNode.removeChild(e)}this.$_mounted=!1,this.popperInstance=null,this.isOpen=!1,this.$emit("dispose")},$_init:function(){-1===this.trigger.indexOf("manual")&&this.$_addEventListeners()},$_show:function(){var e=this,t=this.$refs.trigger,r=this.$refs.popover;if(clearTimeout(this.$_disposeTimer),!this.isOpen){if(this.popperInstance&&(this.isOpen=!0,this.popperInstance.enableEventListeners(),this.popperInstance.scheduleUpdate()),!this.$_mounted){var n=this.$_findContainer(this.container,t);if(!n)return void console.warn("No container for popover",this);n.appendChild(r),this.$_mounted=!0,this.isOpen=!1,this.popperInstance&&requestAnimationFrame(function(){e.hidden||(e.isOpen=!0)})}if(!this.popperInstance){var i=Je(Je({},this.popperOptions),{},{placement:this.placement});if(i.modifiers=Je(Je({},i.modifiers),{},{arrow:Je(Je({},i.modifiers&&i.modifiers.arrow),{},{element:this.$refs.arrow})}),this.offset){var o=this.$_getOffset();i.modifiers.offset=Je(Je({},i.modifiers&&i.modifiers.offset),{},{offset:o})}this.boundariesElement&&(i.modifiers.preventOverflow=Je(Je({},i.modifiers&&i.modifiers.preventOverflow),{},{boundariesElement:this.boundariesElement})),this.popperInstance=new ue(t,r,i),requestAnimationFrame(function(){if(e.hidden)return e.hidden=!1,void e.$_hide();!e.$_isDisposed&&e.popperInstance?(e.popperInstance.scheduleUpdate(),requestAnimationFrame(function(){if(e.hidden)return e.hidden=!1,void e.$_hide();e.$_isDisposed?e.dispose():e.isOpen=!0})):e.dispose()})}var s=this.openGroup;if(s)for(var a,c=0;c1&&void 0!==arguments[1]&&arguments[1];if(clearTimeout(this.$_scheduleTimer),e)this.$_show();else{var t=parseInt(this.delay&&this.delay.show||this.delay||0);this.$_scheduleTimer=setTimeout(this.$_show.bind(this),t)}},$_scheduleHide:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(clearTimeout(this.$_scheduleTimer),r)this.$_hide();else{var n=parseInt(this.delay&&this.delay.hide||this.delay||0);this.$_scheduleTimer=setTimeout(function(){if(e.isOpen){if(t&&"mouseleave"===t.type&&e.$_setTooltipNodeEvent(t))return;e.$_hide()}},n)}},$_setTooltipNodeEvent:function(e){var t=this,r=this.$refs.trigger,n=this.$refs.popover,i=e.relatedreference||e.toElement||e.relatedTarget;return!!n.contains(i)&&(n.addEventListener(e.type,function i(o){var s=o.relatedreference||o.toElement||o.relatedTarget;n.removeEventListener(e.type,i),r.contains(s)||t.hide({event:o})}),!0)},$_removeEventListeners:function(){var e=this.$refs.trigger;this.$_events.forEach(function(t){var r=t.func,n=t.event;e.removeEventListener(n,r)}),this.$_events=[]},$_updatePopper:function(e){this.popperInstance&&(e(),this.isOpen&&this.popperInstance.scheduleUpdate())},$_restartPopper:function(){if(this.popperInstance){var e=this.isOpen;this.dispose(),this.$_isDisposed=!1,this.$_init(),e&&this.show({skipDelay:!0,force:!0})}},$_handleGlobalClose:function(e){var t=this,r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.$_beingShowed||(this.hide({event:e}),e.closePopover?this.$emit("close-directive"):this.$emit("auto-hide"),r&&(this.$_preventOpen=!0,setTimeout(function(){t.$_preventOpen=!1},300)))},$_handleResize:function(){this.isOpen&&this.popperInstance&&(this.popperInstance.scheduleUpdate(),this.$emit("resize"))}}};function it(e){for(var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=function(r){var n=tt[r];if(n.$refs.popover){var i=n.$refs.popover.contains(e.target);requestAnimationFrame(function(){(e.closeAllPopover||e.closePopover&&i||n.autoHide&&!i)&&n.$_handleGlobalClose(e,t)})}},n=0;n1&&void 0!==arguments[1]?arguments[1]:{};if(!e.installed){e.installed=!0;var n={};ye()(n,xe,r),ut.options=n,He.options=n,t.directive("tooltip",He),t.directive("close-popover",Ke),t.component("VPopover",ct)}},get enabled(){return Ue.enabled},set enabled(e){Ue.enabled=e}},pt=null;"undefined"!=typeof window?pt=window.Vue:"undefined"!=typeof globalThis&&(pt=globalThis.Vue),pt&&pt.use(ut);const lt=ut;var dt=r(85471),ft=r(95353),ht=r(58723),mt=r(22378);const gt=(0,dt.pM)({__name:"SettingsApp",setup:e=>({__sfc:!0,NcContent:mt.A})}),vt=(0,r(14486).A)(gt,function(){var e=this,t=e._self._c;return t(e._self._setupProxy.NcContent,{attrs:{"app-name":"settings"}},[t("router-view",{attrs:{name:"navigation"}}),e._v(" "),t("router-view"),e._v(" "),t("router-view",{attrs:{name:"sidebar"}})],1)},[],!1,null,null,null).exports;var Et=r(63814),bt=r(40173);const _t=[{name:"users",path:"/:index(index.php/)?settings/users",components:{default:()=>Promise.all([r.e(4208),r.e(2562),r.e(8091),r.e(8639),r.e(4811),r.e(3239)]).then(r.bind(r,6243)),navigation:()=>Promise.all([r.e(4208),r.e(2562),r.e(8091),r.e(8639),r.e(4811),r.e(3239)]).then(r.bind(r,94469))},props:!0,children:[{path:":selectedGroup",name:"group"}]},{path:"/:index(index.php/)?settings/apps",name:"apps",redirect:{name:"apps-category",params:{category:(0,r(81222).C)("settings","appstoreEnabled",!0)?"discover":"installed"}},components:{default:()=>Promise.all([r.e(4208),r.e(2562),r.e(4529)]).then(r.bind(r,55689)),navigation:()=>Promise.all([r.e(4208),r.e(2562),r.e(4529)]).then(r.bind(r,31437)),sidebar:()=>Promise.all([r.e(4208),r.e(2562),r.e(4529)]).then(r.bind(r,75612))},children:[{path:":category",name:"apps-category",children:[{path:":id",name:"apps-details"}]}]}];dt.Ay.use(bt.Ay);const yt=new bt.Ay({mode:"history",base:(0,Et.Jv)(""),linkActiveClass:"active",routes:_t});var At=r(14744);r.nc=(0,n.aV)(),dt.Ay.prototype.t=i.t,dt.Ay.prototype.n=i.n,dt.Ay.use(o.R2),dt.Ay.use(lt,{defaultHtml:!1}),dt.Ay.use(ft.Ay);const Tt=(0,At.P)();(0,ht.O)(Tt,yt);const It=(0,o.Ey)();new dt.Ay({router:yt,store:Tt,pinia:It,render:e=>e(vt),el:"#content"})},35810:(e,t,r)=>{"use strict";r.d(t,{lT:()=>D,v7:()=>P}),r(92958);var n,i,o,s,a=r(380),c=r(83141),u=(r(43627),r(53334)),p=r(65606),l=r(62045).hp;function d(){if(i)return n;i=1;const e="object"==typeof p&&p.env&&p.env.NODE_DEBUG&&/\bsemver\b/i.test(p.env.NODE_DEBUG)?(...e)=>console.error("SEMVER",...e):()=>{};return n=e}function f(){if(s)return o;s=1;const e=Number.MAX_SAFE_INTEGER||9007199254740991;return o={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:16,MAX_SAFE_BUILD_LENGTH:250,MAX_SAFE_INTEGER:e,RELEASE_TYPES:["major","premajor","minor","preminor","patch","prepatch","prerelease"],SEMVER_SPEC_VERSION:"2.0.0",FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}}var h,m,g,v,E,b,_,y,A,T,I,O,w,N={exports:{}};function C(){if(_)return b;_=1;const e=d(),{MAX_LENGTH:t,MAX_SAFE_INTEGER:r}=f(),{safeRe:n,t:i}=(h||(h=1,function(e,t){const{MAX_SAFE_COMPONENT_LENGTH:r,MAX_SAFE_BUILD_LENGTH:n,MAX_LENGTH:i}=f(),o=d(),s=(t=e.exports={}).re=[],a=t.safeRe=[],c=t.src=[],u=t.safeSrc=[],p=t.t={};let l=0;const h="[a-zA-Z0-9-]",m=[["\\s",1],["\\d",i],[h,n]],g=(e,t,r)=>{const n=(e=>{for(const[t,r]of m)e=e.split(`${t}*`).join(`${t}{0,${r}}`).split(`${t}+`).join(`${t}{1,${r}}`);return e})(t),i=l++;o(e,i,t),p[e]=i,c[i]=t,u[i]=n,s[i]=new RegExp(t,r?"g":void 0),a[i]=new RegExp(n,r?"g":void 0)};g("NUMERICIDENTIFIER","0|[1-9]\\d*"),g("NUMERICIDENTIFIERLOOSE","\\d+"),g("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${h}*`),g("MAINVERSION",`(${c[p.NUMERICIDENTIFIER]})\\.(${c[p.NUMERICIDENTIFIER]})\\.(${c[p.NUMERICIDENTIFIER]})`),g("MAINVERSIONLOOSE",`(${c[p.NUMERICIDENTIFIERLOOSE]})\\.(${c[p.NUMERICIDENTIFIERLOOSE]})\\.(${c[p.NUMERICIDENTIFIERLOOSE]})`),g("PRERELEASEIDENTIFIER",`(?:${c[p.NONNUMERICIDENTIFIER]}|${c[p.NUMERICIDENTIFIER]})`),g("PRERELEASEIDENTIFIERLOOSE",`(?:${c[p.NONNUMERICIDENTIFIER]}|${c[p.NUMERICIDENTIFIERLOOSE]})`),g("PRERELEASE",`(?:-(${c[p.PRERELEASEIDENTIFIER]}(?:\\.${c[p.PRERELEASEIDENTIFIER]})*))`),g("PRERELEASELOOSE",`(?:-?(${c[p.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${c[p.PRERELEASEIDENTIFIERLOOSE]})*))`),g("BUILDIDENTIFIER",`${h}+`),g("BUILD",`(?:\\+(${c[p.BUILDIDENTIFIER]}(?:\\.${c[p.BUILDIDENTIFIER]})*))`),g("FULLPLAIN",`v?${c[p.MAINVERSION]}${c[p.PRERELEASE]}?${c[p.BUILD]}?`),g("FULL",`^${c[p.FULLPLAIN]}$`),g("LOOSEPLAIN",`[v=\\s]*${c[p.MAINVERSIONLOOSE]}${c[p.PRERELEASELOOSE]}?${c[p.BUILD]}?`),g("LOOSE",`^${c[p.LOOSEPLAIN]}$`),g("GTLT","((?:<|>)?=?)"),g("XRANGEIDENTIFIERLOOSE",`${c[p.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),g("XRANGEIDENTIFIER",`${c[p.NUMERICIDENTIFIER]}|x|X|\\*`),g("XRANGEPLAIN",`[v=\\s]*(${c[p.XRANGEIDENTIFIER]})(?:\\.(${c[p.XRANGEIDENTIFIER]})(?:\\.(${c[p.XRANGEIDENTIFIER]})(?:${c[p.PRERELEASE]})?${c[p.BUILD]}?)?)?`),g("XRANGEPLAINLOOSE",`[v=\\s]*(${c[p.XRANGEIDENTIFIERLOOSE]})(?:\\.(${c[p.XRANGEIDENTIFIERLOOSE]})(?:\\.(${c[p.XRANGEIDENTIFIERLOOSE]})(?:${c[p.PRERELEASELOOSE]})?${c[p.BUILD]}?)?)?`),g("XRANGE",`^${c[p.GTLT]}\\s*${c[p.XRANGEPLAIN]}$`),g("XRANGELOOSE",`^${c[p.GTLT]}\\s*${c[p.XRANGEPLAINLOOSE]}$`),g("COERCEPLAIN",`(^|[^\\d])(\\d{1,${r}})(?:\\.(\\d{1,${r}}))?(?:\\.(\\d{1,${r}}))?`),g("COERCE",`${c[p.COERCEPLAIN]}(?:$|[^\\d])`),g("COERCEFULL",c[p.COERCEPLAIN]+`(?:${c[p.PRERELEASE]})?(?:${c[p.BUILD]})?(?:$|[^\\d])`),g("COERCERTL",c[p.COERCE],!0),g("COERCERTLFULL",c[p.COERCEFULL],!0),g("LONETILDE","(?:~>?)"),g("TILDETRIM",`(\\s*)${c[p.LONETILDE]}\\s+`,!0),t.tildeTrimReplace="$1~",g("TILDE",`^${c[p.LONETILDE]}${c[p.XRANGEPLAIN]}$`),g("TILDELOOSE",`^${c[p.LONETILDE]}${c[p.XRANGEPLAINLOOSE]}$`),g("LONECARET","(?:\\^)"),g("CARETTRIM",`(\\s*)${c[p.LONECARET]}\\s+`,!0),t.caretTrimReplace="$1^",g("CARET",`^${c[p.LONECARET]}${c[p.XRANGEPLAIN]}$`),g("CARETLOOSE",`^${c[p.LONECARET]}${c[p.XRANGEPLAINLOOSE]}$`),g("COMPARATORLOOSE",`^${c[p.GTLT]}\\s*(${c[p.LOOSEPLAIN]})$|^$`),g("COMPARATOR",`^${c[p.GTLT]}\\s*(${c[p.FULLPLAIN]})$|^$`),g("COMPARATORTRIM",`(\\s*)${c[p.GTLT]}\\s*(${c[p.LOOSEPLAIN]}|${c[p.XRANGEPLAIN]})`,!0),t.comparatorTrimReplace="$1$2$3",g("HYPHENRANGE",`^\\s*(${c[p.XRANGEPLAIN]})\\s+-\\s+(${c[p.XRANGEPLAIN]})\\s*$`),g("HYPHENRANGELOOSE",`^\\s*(${c[p.XRANGEPLAINLOOSE]})\\s+-\\s+(${c[p.XRANGEPLAINLOOSE]})\\s*$`),g("STAR","(<|>)?=?\\s*\\*"),g("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),g("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")}(N,N.exports)),N.exports),o=function(){if(g)return m;g=1;const e=Object.freeze({loose:!0}),t=Object.freeze({});return m=r=>r?"object"!=typeof r?e:r:t}(),{compareIdentifiers:s}=function(){if(E)return v;E=1;const e=/^[0-9]+$/,t=(t,r)=>{if("number"==typeof t&&"number"==typeof r)return t===r?0:tt(r,e)}}();class a{constructor(s,c){if(c=o(c),s instanceof a){if(s.loose===!!c.loose&&s.includePrerelease===!!c.includePrerelease)return s;s=s.version}else if("string"!=typeof s)throw new TypeError(`Invalid version. Must be a string. Got type "${typeof s}".`);if(s.length>t)throw new TypeError(`version is longer than ${t} characters`);e("SemVer",s,c),this.options=c,this.loose=!!c.loose,this.includePrerelease=!!c.includePrerelease;const u=s.trim().match(c.loose?n[i.LOOSE]:n[i.FULL]);if(!u)throw new TypeError(`Invalid Version: ${s}`);if(this.raw=s,this.major=+u[1],this.minor=+u[2],this.patch=+u[3],this.major>r||this.major<0)throw new TypeError("Invalid major version");if(this.minor>r||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>r||this.patch<0)throw new TypeError("Invalid patch version");u[4]?this.prerelease=u[4].split(".").map(e=>{if(/^[0-9]+$/.test(e)){const t=+e;if(t>=0&&te.major?1:this.minore.minor?1:this.patche.patch?1:0}comparePre(t){if(t instanceof a||(t=new a(t,this.options)),this.prerelease.length&&!t.prerelease.length)return-1;if(!this.prerelease.length&&t.prerelease.length)return 1;if(!this.prerelease.length&&!t.prerelease.length)return 0;let r=0;do{const n=this.prerelease[r],i=t.prerelease[r];if(e("prerelease compare",r,n,i),void 0===n&&void 0===i)return 0;if(void 0===i)return 1;if(void 0===n)return-1;if(n!==i)return s(n,i)}while(++r)}compareBuild(t){t instanceof a||(t=new a(t,this.options));let r=0;do{const n=this.build[r],i=t.build[r];if(e("build compare",r,n,i),void 0===n&&void 0===i)return 0;if(void 0===i)return 1;if(void 0===n)return-1;if(n!==i)return s(n,i)}while(++r)}inc(e,t,r){if(e.startsWith("pre")){if(!t&&!1===r)throw new Error("invalid increment argument: identifier is empty");if(t){const e=`-${t}`.match(this.options.loose?n[i.PRERELEASELOOSE]:n[i.PRERELEASE]);if(!e||e[1]!==t)throw new Error(`invalid identifier: ${t}`)}}switch(e){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",t,r);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",t,r);break;case"prepatch":this.prerelease.length=0,this.inc("patch",t,r),this.inc("pre",t,r);break;case"prerelease":0===this.prerelease.length&&this.inc("patch",t,r),this.inc("pre",t,r);break;case"release":if(0===this.prerelease.length)throw new Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case"major":0===this.minor&&0===this.patch&&0!==this.prerelease.length||this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":0===this.patch&&0!==this.prerelease.length||this.minor++,this.patch=0,this.prerelease=[];break;case"patch":0===this.prerelease.length&&this.patch++,this.prerelease=[];break;case"pre":{const e=Number(r)?1:0;if(0===this.prerelease.length)this.prerelease=[e];else{let n=this.prerelease.length;for(;--n>=0;)"number"==typeof this.prerelease[n]&&(this.prerelease[n]++,n=-2);if(-1===n){if(t===this.prerelease.join(".")&&!1===r)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(e)}}if(t){let n=[t,e];!1===r&&(n=[t]),0===s(this.prerelease[0],t)?isNaN(this.prerelease[1])&&(this.prerelease=n):this.prerelease=n}break}default:throw new Error(`invalid increment argument: ${e}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}}return b=a}!function(){if(A)return y;A=1;const e=C();y=(t,r)=>new e(t,r).major}(),function(){if(w)return O;w=1;const e=function(){if(I)return T;I=1;const e=C();return T=(t,r,n=!1)=>{if(t instanceof e)return t;try{return new e(t,r)}catch(e){if(!n)return null;throw e}}}();O=(t,r)=>{const n=e(t,r);return n?n.version:null}}(),a.m;var L;L||(L=1,function(e){e.parser=function(e,t){return new n(e,t)},e.SAXParser=n,e.SAXStream=o,e.createStream=function(e,t){return new o(e,t)},e.MAX_BUFFER_LENGTH=65536;var t,r=["comment","sgmlDecl","textNode","tagName","doctype","procInstName","procInstBody","entity","attribName","attribValue","cdata","script"];function n(t,i){if(!(this instanceof n))return new n(t,i);var o=this;!function(e){for(var t=0,n=r.length;t"===o?(C(n,"onsgmldeclaration",n.sgmlDecl),n.sgmlDecl="",n.state=O.TEXT):E(o)?(n.state=O.SGML_DECL_QUOTED,n.sgmlDecl+=o):n.sgmlDecl+=o;continue;case O.SGML_DECL_QUOTED:o===n.q&&(n.state=O.SGML_DECL,n.q=""),n.sgmlDecl+=o;continue;case O.DOCTYPE:">"===o?(n.state=O.TEXT,C(n,"ondoctype",n.doctype),n.doctype=!0):(n.doctype+=o,"["===o?n.state=O.DOCTYPE_DTD:E(o)&&(n.state=O.DOCTYPE_QUOTED,n.q=o));continue;case O.DOCTYPE_QUOTED:n.doctype+=o,o===n.q&&(n.q="",n.state=O.DOCTYPE);continue;case O.DOCTYPE_DTD:"]"===o?(n.doctype+=o,n.state=O.DOCTYPE):"<"===o?(n.state=O.OPEN_WAKA,n.startTagPosition=n.position):E(o)?(n.doctype+=o,n.state=O.DOCTYPE_DTD_QUOTED,n.q=o):n.doctype+=o;continue;case O.DOCTYPE_DTD_QUOTED:n.doctype+=o,o===n.q&&(n.state=O.DOCTYPE_DTD,n.q="");continue;case O.COMMENT:"-"===o?n.state=O.COMMENT_ENDING:n.comment+=o;continue;case O.COMMENT_ENDING:"-"===o?(n.state=O.COMMENT_ENDED,n.comment=S(n.opt,n.comment),n.comment&&C(n,"oncomment",n.comment),n.comment=""):(n.comment+="-"+o,n.state=O.COMMENT);continue;case O.COMMENT_ENDED:">"!==o?(D(n,"Malformed comment"),n.comment+="--"+o,n.state=O.COMMENT):n.doctype&&!0!==n.doctype?n.state=O.DOCTYPE_DTD:n.state=O.TEXT;continue;case O.CDATA:"]"===o?n.state=O.CDATA_ENDING:n.cdata+=o;continue;case O.CDATA_ENDING:"]"===o?n.state=O.CDATA_ENDING_2:(n.cdata+="]"+o,n.state=O.CDATA);continue;case O.CDATA_ENDING_2:">"===o?(n.cdata&&C(n,"oncdata",n.cdata),C(n,"onclosecdata"),n.cdata="",n.state=O.TEXT):"]"===o?n.cdata+="]":(n.cdata+="]]"+o,n.state=O.CDATA);continue;case O.PROC_INST:"?"===o?n.state=O.PROC_INST_ENDING:v(o)?n.state=O.PROC_INST_BODY:n.procInstName+=o;continue;case O.PROC_INST_BODY:if(!n.procInstBody&&v(o))continue;"?"===o?n.state=O.PROC_INST_ENDING:n.procInstBody+=o;continue;case O.PROC_INST_ENDING:">"===o?(C(n,"onprocessinginstruction",{name:n.procInstName,body:n.procInstBody}),n.procInstName=n.procInstBody="",n.state=O.TEXT):(n.procInstBody+="?"+o,n.state=O.PROC_INST_BODY);continue;case O.OPEN_TAG:_(h,o)?n.tagName+=o:($(n),">"===o?x(n):"/"===o?n.state=O.OPEN_TAG_SLASH:(v(o)||D(n,"Invalid character in tag name"),n.state=O.ATTRIB));continue;case O.OPEN_TAG_SLASH:">"===o?(x(n,!0),M(n)):(D(n,"Forward-slash in opening tag not followed by >"),n.state=O.ATTRIB);continue;case O.ATTRIB:if(v(o))continue;">"===o?x(n):"/"===o?n.state=O.OPEN_TAG_SLASH:_(f,o)?(n.attribName=o,n.attribValue="",n.state=O.ATTRIB_NAME):D(n,"Invalid attribute name");continue;case O.ATTRIB_NAME:"="===o?n.state=O.ATTRIB_VALUE:">"===o?(D(n,"Attribute without value"),n.attribValue=n.attribName,F(n),x(n)):v(o)?n.state=O.ATTRIB_NAME_SAW_WHITE:_(h,o)?n.attribName+=o:D(n,"Invalid attribute name");continue;case O.ATTRIB_NAME_SAW_WHITE:if("="===o)n.state=O.ATTRIB_VALUE;else{if(v(o))continue;D(n,"Attribute without value"),n.tag.attributes[n.attribName]="",n.attribValue="",C(n,"onattribute",{name:n.attribName,value:""}),n.attribName="",">"===o?x(n):_(f,o)?(n.attribName=o,n.state=O.ATTRIB_NAME):(D(n,"Invalid attribute name"),n.state=O.ATTRIB)}continue;case O.ATTRIB_VALUE:if(v(o))continue;E(o)?(n.q=o,n.state=O.ATTRIB_VALUE_QUOTED):(n.opt.unquotedAttributeValues||R(n,"Unquoted attribute value"),n.state=O.ATTRIB_VALUE_UNQUOTED,n.attribValue=o);continue;case O.ATTRIB_VALUE_QUOTED:if(o!==n.q){"&"===o?n.state=O.ATTRIB_VALUE_ENTITY_Q:n.attribValue+=o;continue}F(n),n.q="",n.state=O.ATTRIB_VALUE_CLOSED;continue;case O.ATTRIB_VALUE_CLOSED:v(o)?n.state=O.ATTRIB:">"===o?x(n):"/"===o?n.state=O.OPEN_TAG_SLASH:_(f,o)?(D(n,"No whitespace between attributes"),n.attribName=o,n.attribValue="",n.state=O.ATTRIB_NAME):D(n,"Invalid attribute name");continue;case O.ATTRIB_VALUE_UNQUOTED:if(!b(o)){"&"===o?n.state=O.ATTRIB_VALUE_ENTITY_U:n.attribValue+=o;continue}F(n),">"===o?x(n):n.state=O.ATTRIB;continue;case O.CLOSE_TAG:if(n.tagName)">"===o?M(n):_(h,o)?n.tagName+=o:n.script?(n.script+=""===o?M(n):D(n,"Invalid characters in closing tag");continue;case O.TEXT_ENTITY:case O.ATTRIB_VALUE_ENTITY_Q:case O.ATTRIB_VALUE_ENTITY_U:var p,l;switch(n.state){case O.TEXT_ENTITY:p=O.TEXT,l="textNode";break;case O.ATTRIB_VALUE_ENTITY_Q:p=O.ATTRIB_VALUE_QUOTED,l="attribValue";break;case O.ATTRIB_VALUE_ENTITY_U:p=O.ATTRIB_VALUE_UNQUOTED,l="attribValue"}if(";"===o){var d=k(n);n.opt.unparsedEntities&&!Object.values(e.XML_ENTITIES).includes(d)?(n.entity="",n.state=p,n.write(d)):(n[l]+=d,n.entity="",n.state=p)}else _(n.entity.length?g:m,o)?n.entity+=o:(D(n,"Invalid character in entity name"),n[l]+="&"+n.entity+o,n.entity="",n.state=p);continue;default:throw new Error(n,"Unknown state: "+n.state)}return n.position>=n.bufferCheckPosition&&function(t){for(var n=Math.max(e.MAX_BUFFER_LENGTH,10),i=0,o=0,s=r.length;on)switch(r[o]){case"textNode":L(t);break;case"cdata":C(t,"oncdata",t.cdata),t.cdata="";break;case"script":C(t,"onscript",t.script),t.script="";break;default:R(t,"Max buffer length exceeded: "+r[o])}i=Math.max(i,a)}var c=e.MAX_BUFFER_LENGTH-i;t.bufferCheckPosition=c+t.position}(n),n},resume:function(){return this.error=null,this},close:function(){return this.write(null)},flush:function(){var e;L(e=this),""!==e.cdata&&(C(e,"oncdata",e.cdata),e.cdata=""),""!==e.script&&(C(e,"onscript",e.script),e.script="")}};try{t=require("stream").Stream}catch(e){t=function(){}}t||(t=function(){});var i=e.EVENTS.filter(function(e){return"error"!==e&&"end"!==e});function o(e,r){if(!(this instanceof o))return new o(e,r);t.apply(this),this._parser=new n(e,r),this.writable=!0,this.readable=!0;var s=this;this._parser.onend=function(){s.emit("end")},this._parser.onerror=function(e){s.emit("error",e),s._parser.error=null},this._decoder=null,i.forEach(function(e){Object.defineProperty(s,"on"+e,{get:function(){return s._parser["on"+e]},set:function(t){if(!t)return s.removeAllListeners(e),s._parser["on"+e]=t,t;s.on(e,t)},enumerable:!0,configurable:!1})})}o.prototype=Object.create(t.prototype,{constructor:{value:o}}),o.prototype.write=function(e){if("function"==typeof l&&"function"==typeof l.isBuffer&&l.isBuffer(e)){if(!this._decoder){var t=c.I;this._decoder=new t("utf8")}e=this._decoder.write(e)}return this._parser.write(e.toString()),this.emit("data",e),!0},o.prototype.end=function(e){return e&&e.length&&this.write(e),this._parser.end(),!0},o.prototype.on=function(e,r){var n=this;return n._parser["on"+e]||-1===i.indexOf(e)||(n._parser["on"+e]=function(){var t=1===arguments.length?[arguments[0]]:Array.apply(null,arguments);t.splice(0,0,e),n.emit.apply(n,t)}),t.prototype.on.call(n,e,r)};var s="[CDATA[",a="DOCTYPE",u="http://www.w3.org/XML/1998/namespace",p="http://www.w3.org/2000/xmlns/",d={xml:u,xmlns:p},f=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,h=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/,m=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,g=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/;function v(e){return" "===e||"\n"===e||"\r"===e||"\t"===e}function E(e){return'"'===e||"'"===e}function b(e){return">"===e||v(e)}function _(e,t){return e.test(t)}function y(e,t){return!_(e,t)}var A,T,I,O=0;for(var w in e.STATE={BEGIN:O++,BEGIN_WHITESPACE:O++,TEXT:O++,TEXT_ENTITY:O++,OPEN_WAKA:O++,SGML_DECL:O++,SGML_DECL_QUOTED:O++,DOCTYPE:O++,DOCTYPE_QUOTED:O++,DOCTYPE_DTD:O++,DOCTYPE_DTD_QUOTED:O++,COMMENT_STARTING:O++,COMMENT:O++,COMMENT_ENDING:O++,COMMENT_ENDED:O++,CDATA:O++,CDATA_ENDING:O++,CDATA_ENDING_2:O++,PROC_INST:O++,PROC_INST_BODY:O++,PROC_INST_ENDING:O++,OPEN_TAG:O++,OPEN_TAG_SLASH:O++,ATTRIB:O++,ATTRIB_NAME:O++,ATTRIB_NAME_SAW_WHITE:O++,ATTRIB_VALUE:O++,ATTRIB_VALUE_QUOTED:O++,ATTRIB_VALUE_CLOSED:O++,ATTRIB_VALUE_UNQUOTED:O++,ATTRIB_VALUE_ENTITY_Q:O++,ATTRIB_VALUE_ENTITY_U:O++,CLOSE_TAG:O++,CLOSE_TAG_SAW_WHITE:O++,SCRIPT:O++,SCRIPT_ENDING:O++},e.XML_ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'"},e.ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'",AElig:198,Aacute:193,Acirc:194,Agrave:192,Aring:197,Atilde:195,Auml:196,Ccedil:199,ETH:208,Eacute:201,Ecirc:202,Egrave:200,Euml:203,Iacute:205,Icirc:206,Igrave:204,Iuml:207,Ntilde:209,Oacute:211,Ocirc:212,Ograve:210,Oslash:216,Otilde:213,Ouml:214,THORN:222,Uacute:218,Ucirc:219,Ugrave:217,Uuml:220,Yacute:221,aacute:225,acirc:226,aelig:230,agrave:224,aring:229,atilde:227,auml:228,ccedil:231,eacute:233,ecirc:234,egrave:232,eth:240,euml:235,iacute:237,icirc:238,igrave:236,iuml:239,ntilde:241,oacute:243,ocirc:244,ograve:242,oslash:248,otilde:245,ouml:246,szlig:223,thorn:254,uacute:250,ucirc:251,ugrave:249,uuml:252,yacute:253,yuml:255,copy:169,reg:174,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,ordf:170,laquo:171,not:172,shy:173,macr:175,deg:176,plusmn:177,sup1:185,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,times:215,divide:247,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,fnof:402,circ:710,tilde:732,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,oline:8254,frasl:8260,euro:8364,image:8465,weierp:8472,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,int:8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830},Object.keys(e.ENTITIES).forEach(function(t){var r=e.ENTITIES[t],n="number"==typeof r?String.fromCharCode(r):r;e.ENTITIES[t]=n}),e.STATE)e.STATE[e.STATE[w]]=w;function N(e,t,r){e[t]&&e[t](r)}function C(e,t,r){e.textNode&&L(e),N(e,t,r)}function L(e){e.textNode=S(e.opt,e.textNode),e.textNode&&N(e,"ontext",e.textNode),e.textNode=""}function S(e,t){return e.trim&&(t=t.trim()),e.normalize&&(t=t.replace(/\s+/g," ")),t}function R(e,t){return L(e),e.trackPosition&&(t+="\nLine: "+e.line+"\nColumn: "+e.column+"\nChar: "+e.c),t=new Error(t),e.error=t,N(e,"onerror",t),e}function P(e){return e.sawRoot&&!e.closedRoot&&D(e,"Unclosed root tag"),e.state!==O.BEGIN&&e.state!==O.BEGIN_WHITESPACE&&e.state!==O.TEXT&&R(e,"Unexpected end"),L(e),e.c="",e.closed=!0,N(e,"onend"),n.call(e,e.strict,e.opt),e}function D(e,t){if("object"!=typeof e||!(e instanceof n))throw new Error("bad call to strictFail");e.strict&&R(e,t)}function $(e){e.strict||(e.tagName=e.tagName[e.looseCase]());var t=e.tags[e.tags.length-1]||e,r=e.tag={name:e.tagName,attributes:{}};e.opt.xmlns&&(r.ns=t.ns),e.attribList.length=0,C(e,"onopentagstart",r)}function U(e,t){var r=e.indexOf(":")<0?["",e]:e.split(":"),n=r[0],i=r[1];return t&&"xmlns"===e&&(n="xmlns",i=""),{prefix:n,local:i}}function F(e){if(e.strict||(e.attribName=e.attribName[e.looseCase]()),-1!==e.attribList.indexOf(e.attribName)||e.tag.attributes.hasOwnProperty(e.attribName))e.attribName=e.attribValue="";else{if(e.opt.xmlns){var t=U(e.attribName,!0),r=t.prefix,n=t.local;if("xmlns"===r)if("xml"===n&&e.attribValue!==u)D(e,"xml: prefix must be bound to "+u+"\nActual: "+e.attribValue);else if("xmlns"===n&&e.attribValue!==p)D(e,"xmlns: prefix must be bound to "+p+"\nActual: "+e.attribValue);else{var i=e.tag,o=e.tags[e.tags.length-1]||e;i.ns===o.ns&&(i.ns=Object.create(o.ns)),i.ns[n]=e.attribValue}e.attribList.push([e.attribName,e.attribValue])}else e.tag.attributes[e.attribName]=e.attribValue,C(e,"onattribute",{name:e.attribName,value:e.attribValue});e.attribName=e.attribValue=""}}function x(e,t){if(e.opt.xmlns){var r=e.tag,n=U(e.tagName);r.prefix=n.prefix,r.local=n.local,r.uri=r.ns[n.prefix]||"",r.prefix&&!r.uri&&(D(e,"Unbound namespace prefix: "+JSON.stringify(e.tagName)),r.uri=n.prefix);var i=e.tags[e.tags.length-1]||e;r.ns&&i.ns!==r.ns&&Object.keys(r.ns).forEach(function(t){C(e,"onopennamespace",{prefix:t,uri:r.ns[t]})});for(var o=0,s=e.attribList.length;o",e.tagName="",void(e.state=O.SCRIPT);C(e,"onscript",e.script),e.script=""}var t=e.tags.length,r=e.tagName;e.strict||(r=r[e.looseCase]());for(var n=r;t--&&e.tags[t].name!==n;)D(e,"Unexpected close tag");if(t<0)return D(e,"Unmatched closing tag: "+e.tagName),e.textNode+="",void(e.state=O.TEXT);e.tagName=r;for(var i=e.tags.length;i-- >t;){var o=e.tag=e.tags.pop();e.tagName=e.tag.name,C(e,"onclosetag",e.tagName);var s={};for(var a in o.ns)s[a]=o.ns[a];var c=e.tags[e.tags.length-1]||e;e.opt.xmlns&&o.ns!==c.ns&&Object.keys(o.ns).forEach(function(t){var r=o.ns[t];C(e,"onclosenamespace",{prefix:t,uri:r})})}0===t&&(e.closedRoot=!0),e.tagName=e.attribValue=e.attribName="",e.attribList.length=0,e.state=O.TEXT}function k(e){var t,r=e.entity,n=r.toLowerCase(),i="";return e.ENTITIES[r]?e.ENTITIES[r]:e.ENTITIES[n]?e.ENTITIES[n]:("#"===(r=n).charAt(0)&&("x"===r.charAt(1)?(r=r.slice(2),i=(t=parseInt(r,16)).toString(16)):(r=r.slice(1),i=(t=parseInt(r,10)).toString(10))),r=r.replace(/^0+/,""),isNaN(t)||i.toLowerCase()!==r?(D(e,"Invalid character entity"),"&"+e.entity+";"):String.fromCodePoint(t))}function j(e,t){"<"===t?(e.state=O.OPEN_WAKA,e.startTagPosition=e.position):v(t)||(D(e,"Non-whitespace before first tag."),e.textNode=t,e.state=O.TEXT)}function G(e,t){var r="";return t1114111||T(s)!==s)throw RangeError("Invalid code point: "+s);s<=65535?r.push(s):(e=55296+((s-=65536)>>10),t=s%1024+56320,r.push(e,t)),(n+1===i||r.length>16384)&&(o+=A.apply(null,r),r.length=0)}return o},Object.defineProperty?Object.defineProperty(String,"fromCodePoint",{value:I,configurable:!0,writable:!0}):String.fromCodePoint=I)}({})),Error;const S=["B","KB","MB","GB","TB","PB"],R=["B","KiB","MiB","GiB","TiB","PiB"];function P(e,t=!1,r=!1,n=!1){r=r&&!n,"string"==typeof e&&(e=Number(e));let i=e>0?Math.floor(Math.log(e)/Math.log(n?1e3:1024)):0;i=Math.min((r?R.length:S.length)-1,i);const o=r?R[i]:S[i];let s=(e/Math.pow(n?1e3:1024,i)).toFixed(1);return!0===t&&0===i?("0.0"!==s?"< 1 ":"0 ")+(r?R[1]:S[1]):(s=i<2?parseFloat(s).toFixed(0):parseFloat(s).toLocaleString((0,u.lO)()),s+" "+o)}function D(e,t=!1){try{e=`${e}`.toLocaleLowerCase().replaceAll(/\s+/g,"").replaceAll(",",".")}catch(e){return null}const r=e.match(/^([0-9]*(\.[0-9]*)?)([kmgtp]?)(i?)b?$/);if(null===r||"."===r[1]||""===r[1])return null;const n=`${r[1]}`,i="i"===r[4]||t?1024:1e3;return Math.round(Number.parseFloat(n)*i**{"":0,k:1,m:2,g:3,t:4,p:5,e:6}[r[3]])}},36620:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});const n=(0,r(35947).YK)().setApp("settings").detectUser().build()},42824:(e,t,r)=>{var n=r(87805),i=r(93290),o=r(71961),s=r(23007),a=r(35529),c=r(72428),u=r(56449),p=r(83693),l=r(3656),d=r(1882),f=r(23805),h=r(11331),m=r(37167),g=r(14974),v=r(69884);e.exports=function(e,t,r,E,b,_,y){var A=g(e,r),T=g(t,r),I=y.get(T);if(I)n(e,r,I);else{var O=_?_(A,T,r+"",e,t,y):void 0,w=void 0===O;if(w){var N=u(T),C=!N&&l(T),L=!N&&!C&&m(T);O=T,N||C||L?u(A)?O=A:p(A)?O=s(A):C?(w=!1,O=i(T,!0)):L?(w=!1,O=o(T,!0)):O=[]:h(T)||c(T)?(O=A,c(A)?O=v(A):f(A)&&!d(A)||(O=a(T))):w=!1}w&&(y.set(T,O),b(O,T,E,_,y),y.delete(T)),n(e,r,O)}}},47790:()=>{},51069:()=>{},55364:(e,t,r)=>{var n=r(85250),i=r(20999)(function(e,t,r){n(e,t,r)});e.exports=i},58723:(e,t)=>{function r(e,t){var n={name:e.name,path:e.path,hash:e.hash,query:e.query,params:e.params,fullPath:e.fullPath,meta:e.meta};return t&&(n.from=r(t)),Object.freeze(n)}t.O=function(e,t,n){var i=(n||{}).moduleName||"route";e.registerModule(i,{namespaced:!0,state:r(t.currentRoute),mutations:{ROUTE_CHANGED:function(t,n){e.state[i]=r(n.to,n.from)}}});var o,s=!1,a=e.watch(function(e){return e[i]},function(e){var r=e.fullPath;r!==o&&(null!=o&&(s=!0,t.push(e)),o=r)},{sync:!0}),c=t.afterEach(function(t,r){s?s=!1:(o=t.fullPath,e.commit(i+"/ROUTE_CHANGED",{to:t,from:r}))});return function(){null!=c&&c(),null!=a&&a(),e.unregisterModule(i)}}},63779:()=>{},64688:()=>{},66089:()=>{},69884:(e,t,r)=>{var n=r(21791),i=r(37241);e.exports=function(e){return n(e,i(e))}},73776:()=>{},77199:()=>{},77965:()=>{},78982:()=>{},79368:()=>{},79838:()=>{},83693:(e,t,r)=>{var n=r(64894),i=r(40346);e.exports=function(e){return i(e)&&n(e)}},85250:(e,t,r)=>{var n=r(37217),i=r(87805),o=r(86649),s=r(42824),a=r(23805),c=r(37241),u=r(14974);e.exports=function e(t,r,p,l,d){t!==r&&o(r,function(o,c){if(d||(d=new n),a(o))s(t,r,c,p,e,l,d);else{var f=l?l(u(t,c),o,c+"",t,r,d):void 0;void 0===f&&(f=o),i(t,c,f)}},c)}},87805:(e,t,r)=>{var n=r(43360),i=r(75288);e.exports=function(e,t,r){(void 0!==r&&!i(e[t],r)||void 0===r&&!(t in e))&&n(e,t,r)}},95353:(e,t,r)=>{"use strict";r.d(t,{Ay:()=>P,il:()=>d});var n=("undefined"!=typeof window?window:"undefined"!=typeof globalThis?globalThis:{}).__VUE_DEVTOOLS_GLOBAL_HOOK__;function i(e,t){if(void 0===t&&(t=[]),null===e||"object"!=typeof e)return e;var r,n=(r=function(t){return t.original===e},t.filter(r)[0]);if(n)return n.copy;var o=Array.isArray(e)?[]:{};return t.push({original:e,copy:o}),Object.keys(e).forEach(function(r){o[r]=i(e[r],t)}),o}function o(e,t){Object.keys(e).forEach(function(r){return t(e[r],r)})}function s(e){return null!==e&&"object"==typeof e}var a=function(e,t){this.runtime=t,this._children=Object.create(null),this._rawModule=e;var r=e.state;this.state=("function"==typeof r?r():r)||{}},c={namespaced:{configurable:!0}};c.namespaced.get=function(){return!!this._rawModule.namespaced},a.prototype.addChild=function(e,t){this._children[e]=t},a.prototype.removeChild=function(e){delete this._children[e]},a.prototype.getChild=function(e){return this._children[e]},a.prototype.hasChild=function(e){return e in this._children},a.prototype.update=function(e){this._rawModule.namespaced=e.namespaced,e.actions&&(this._rawModule.actions=e.actions),e.mutations&&(this._rawModule.mutations=e.mutations),e.getters&&(this._rawModule.getters=e.getters)},a.prototype.forEachChild=function(e){o(this._children,e)},a.prototype.forEachGetter=function(e){this._rawModule.getters&&o(this._rawModule.getters,e)},a.prototype.forEachAction=function(e){this._rawModule.actions&&o(this._rawModule.actions,e)},a.prototype.forEachMutation=function(e){this._rawModule.mutations&&o(this._rawModule.mutations,e)},Object.defineProperties(a.prototype,c);var u,p=function(e){this.register([],e,!1)};function l(e,t,r){if(t.update(r),r.modules)for(var n in r.modules){if(!t.getChild(n))return;l(e.concat(n),t.getChild(n),r.modules[n])}}p.prototype.get=function(e){return e.reduce(function(e,t){return e.getChild(t)},this.root)},p.prototype.getNamespace=function(e){var t=this.root;return e.reduce(function(e,r){return e+((t=t.getChild(r)).namespaced?r+"/":"")},"")},p.prototype.update=function(e){l([],this.root,e)},p.prototype.register=function(e,t,r){var n=this;void 0===r&&(r=!0);var i=new a(t,r);0===e.length?this.root=i:this.get(e.slice(0,-1)).addChild(e[e.length-1],i),t.modules&&o(t.modules,function(t,i){n.register(e.concat(i),t,r)})},p.prototype.unregister=function(e){var t=this.get(e.slice(0,-1)),r=e[e.length-1],n=t.getChild(r);n&&n.runtime&&t.removeChild(r)},p.prototype.isRegistered=function(e){var t=this.get(e.slice(0,-1)),r=e[e.length-1];return!!t&&t.hasChild(r)};var d=function(e){var t=this;void 0===e&&(e={}),!u&&"undefined"!=typeof window&&window.Vue&&_(window.Vue);var r=e.plugins;void 0===r&&(r=[]);var i=e.strict;void 0===i&&(i=!1),this._committing=!1,this._actions=Object.create(null),this._actionSubscribers=[],this._mutations=Object.create(null),this._wrappedGetters=Object.create(null),this._modules=new p(e),this._modulesNamespaceMap=Object.create(null),this._subscribers=[],this._watcherVM=new u,this._makeLocalGettersCache=Object.create(null);var o=this,s=this.dispatch,a=this.commit;this.dispatch=function(e,t){return s.call(o,e,t)},this.commit=function(e,t,r){return a.call(o,e,t,r)},this.strict=i;var c=this._modules.root.state;v(this,c,[],this._modules.root),g(this,c),r.forEach(function(e){return e(t)}),(void 0!==e.devtools?e.devtools:u.config.devtools)&&function(e){n&&(e._devtoolHook=n,n.emit("vuex:init",e),n.on("vuex:travel-to-state",function(t){e.replaceState(t)}),e.subscribe(function(e,t){n.emit("vuex:mutation",e,t)},{prepend:!0}),e.subscribeAction(function(e,t){n.emit("vuex:action",e,t)},{prepend:!0}))}(this)},f={state:{configurable:!0}};function h(e,t,r){return t.indexOf(e)<0&&(r&&r.prepend?t.unshift(e):t.push(e)),function(){var r=t.indexOf(e);r>-1&&t.splice(r,1)}}function m(e,t){e._actions=Object.create(null),e._mutations=Object.create(null),e._wrappedGetters=Object.create(null),e._modulesNamespaceMap=Object.create(null);var r=e.state;v(e,r,[],e._modules.root,!0),g(e,r,t)}function g(e,t,r){var n=e._vm;e.getters={},e._makeLocalGettersCache=Object.create(null);var i=e._wrappedGetters,s={};o(i,function(t,r){s[r]=function(e,t){return function(){return e(t)}}(t,e),Object.defineProperty(e.getters,r,{get:function(){return e._vm[r]},enumerable:!0})});var a=u.config.silent;u.config.silent=!0,e._vm=new u({data:{$$state:t},computed:s}),u.config.silent=a,e.strict&&function(e){e._vm.$watch(function(){return this._data.$$state},function(){},{deep:!0,sync:!0})}(e),n&&(r&&e._withCommit(function(){n._data.$$state=null}),u.nextTick(function(){return n.$destroy()}))}function v(e,t,r,n,i){var o=!r.length,s=e._modules.getNamespace(r);if(n.namespaced&&(e._modulesNamespaceMap[s],e._modulesNamespaceMap[s]=n),!o&&!i){var a=E(t,r.slice(0,-1)),c=r[r.length-1];e._withCommit(function(){u.set(a,c,n.state)})}var p=n.context=function(e,t,r){var n=""===t,i={dispatch:n?e.dispatch:function(r,n,i){var o=b(r,n,i),s=o.payload,a=o.options,c=o.type;return a&&a.root||(c=t+c),e.dispatch(c,s)},commit:n?e.commit:function(r,n,i){var o=b(r,n,i),s=o.payload,a=o.options,c=o.type;a&&a.root||(c=t+c),e.commit(c,s,a)}};return Object.defineProperties(i,{getters:{get:n?function(){return e.getters}:function(){return function(e,t){if(!e._makeLocalGettersCache[t]){var r={},n=t.length;Object.keys(e.getters).forEach(function(i){if(i.slice(0,n)===t){var o=i.slice(n);Object.defineProperty(r,o,{get:function(){return e.getters[i]},enumerable:!0})}}),e._makeLocalGettersCache[t]=r}return e._makeLocalGettersCache[t]}(e,t)}},state:{get:function(){return E(e.state,r)}}}),i}(e,s,r);n.forEachMutation(function(t,r){!function(e,t,r,n){(e._mutations[t]||(e._mutations[t]=[])).push(function(t){r.call(e,n.state,t)})}(e,s+r,t,p)}),n.forEachAction(function(t,r){var n=t.root?r:s+r,i=t.handler||t;!function(e,t,r,n){(e._actions[t]||(e._actions[t]=[])).push(function(t){var i,o=r.call(e,{dispatch:n.dispatch,commit:n.commit,getters:n.getters,state:n.state,rootGetters:e.getters,rootState:e.state},t);return(i=o)&&"function"==typeof i.then||(o=Promise.resolve(o)),e._devtoolHook?o.catch(function(t){throw e._devtoolHook.emit("vuex:error",t),t}):o})}(e,n,i,p)}),n.forEachGetter(function(t,r){!function(e,t,r,n){e._wrappedGetters[t]||(e._wrappedGetters[t]=function(e){return r(n.state,n.getters,e.state,e.getters)})}(e,s+r,t,p)}),n.forEachChild(function(n,o){v(e,t,r.concat(o),n,i)})}function E(e,t){return t.reduce(function(e,t){return e[t]},e)}function b(e,t,r){return s(e)&&e.type&&(r=t,t=e,e=e.type),{type:e,payload:t,options:r}}function _(e){u&&e===u||function(e){if(Number(e.version.split(".")[0])>=2)e.mixin({beforeCreate:r});else{var t=e.prototype._init;e.prototype._init=function(e){void 0===e&&(e={}),e.init=e.init?[r].concat(e.init):r,t.call(this,e)}}function r(){var e=this.$options;e.store?this.$store="function"==typeof e.store?e.store():e.store:e.parent&&e.parent.$store&&(this.$store=e.parent.$store)}}(u=e)}f.state.get=function(){return this._vm._data.$$state},f.state.set=function(e){},d.prototype.commit=function(e,t,r){var n=this,i=b(e,t,r),o=i.type,s=i.payload,a=(i.options,{type:o,payload:s}),c=this._mutations[o];c&&(this._withCommit(function(){c.forEach(function(e){e(s)})}),this._subscribers.slice().forEach(function(e){return e(a,n.state)}))},d.prototype.dispatch=function(e,t){var r=this,n=b(e,t),i=n.type,o=n.payload,s={type:i,payload:o},a=this._actions[i];if(a){try{this._actionSubscribers.slice().filter(function(e){return e.before}).forEach(function(e){return e.before(s,r.state)})}catch(e){}var c=a.length>1?Promise.all(a.map(function(e){return e(o)})):a[0](o);return new Promise(function(e,t){c.then(function(t){try{r._actionSubscribers.filter(function(e){return e.after}).forEach(function(e){return e.after(s,r.state)})}catch(e){}e(t)},function(e){try{r._actionSubscribers.filter(function(e){return e.error}).forEach(function(t){return t.error(s,r.state,e)})}catch(e){}t(e)})})}},d.prototype.subscribe=function(e,t){return h(e,this._subscribers,t)},d.prototype.subscribeAction=function(e,t){return h("function"==typeof e?{before:e}:e,this._actionSubscribers,t)},d.prototype.watch=function(e,t,r){var n=this;return this._watcherVM.$watch(function(){return e(n.state,n.getters)},t,r)},d.prototype.replaceState=function(e){var t=this;this._withCommit(function(){t._vm._data.$$state=e})},d.prototype.registerModule=function(e,t,r){void 0===r&&(r={}),"string"==typeof e&&(e=[e]),this._modules.register(e,t),v(this,this.state,e,this._modules.get(e),r.preserveState),g(this,this.state)},d.prototype.unregisterModule=function(e){var t=this;"string"==typeof e&&(e=[e]),this._modules.unregister(e),this._withCommit(function(){var r=E(t.state,e.slice(0,-1));u.delete(r,e[e.length-1])}),m(this)},d.prototype.hasModule=function(e){return"string"==typeof e&&(e=[e]),this._modules.isRegistered(e)},d.prototype.hotUpdate=function(e){this._modules.update(e),m(this,!0)},d.prototype._withCommit=function(e){var t=this._committing;this._committing=!0,e(),this._committing=t},Object.defineProperties(d.prototype,f);var y=w(function(e,t){var r={};return O(t).forEach(function(t){var n=t.key,i=t.val;r[n]=function(){var t=this.$store.state,r=this.$store.getters;if(e){var n=N(this.$store,0,e);if(!n)return;t=n.context.state,r=n.context.getters}return"function"==typeof i?i.call(this,t,r):t[i]},r[n].vuex=!0}),r}),A=w(function(e,t){var r={};return O(t).forEach(function(t){var n=t.key,i=t.val;r[n]=function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];var n=this.$store.commit;if(e){var o=N(this.$store,0,e);if(!o)return;n=o.context.commit}return"function"==typeof i?i.apply(this,[n].concat(t)):n.apply(this.$store,[i].concat(t))}}),r}),T=w(function(e,t){var r={};return O(t).forEach(function(t){var n=t.key,i=t.val;i=e+i,r[n]=function(){if(!e||N(this.$store,0,e))return this.$store.getters[i]},r[n].vuex=!0}),r}),I=w(function(e,t){var r={};return O(t).forEach(function(t){var n=t.key,i=t.val;r[n]=function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];var n=this.$store.dispatch;if(e){var o=N(this.$store,0,e);if(!o)return;n=o.context.dispatch}return"function"==typeof i?i.apply(this,[n].concat(t)):n.apply(this.$store,[i].concat(t))}}),r});function O(e){return function(e){return Array.isArray(e)||s(e)}(e)?Array.isArray(e)?e.map(function(e){return{key:e,val:e}}):Object.keys(e).map(function(t){return{key:t,val:e[t]}}):[]}function w(e){return function(t,r){return"string"!=typeof t?(r=t,t=""):"/"!==t.charAt(t.length-1)&&(t+="/"),e(t,r)}}function N(e,t,r){return e._modulesNamespaceMap[r]}function C(e,t,r){var n=r?e.groupCollapsed:e.group;try{n.call(e,t)}catch(r){e.log(t)}}function L(e){try{e.groupEnd()}catch(t){e.log("—— log end ——")}}function S(){var e=new Date;return" @ "+R(e.getHours(),2)+":"+R(e.getMinutes(),2)+":"+R(e.getSeconds(),2)+"."+R(e.getMilliseconds(),3)}function R(e,t){return r=t-e.toString().length,new Array(r+1).join("0")+e;var r}const P={Store:d,install:_,version:"3.6.2",mapState:y,mapMutations:A,mapGetters:T,mapActions:I,createNamespacedHelpers:function(e){return{mapState:y.bind(null,e),mapGetters:T.bind(null,e),mapMutations:A.bind(null,e),mapActions:I.bind(null,e)}},createLogger:function(e){void 0===e&&(e={});var t=e.collapsed;void 0===t&&(t=!0);var r=e.filter;void 0===r&&(r=function(e,t,r){return!0});var n=e.transformer;void 0===n&&(n=function(e){return e});var o=e.mutationTransformer;void 0===o&&(o=function(e){return e});var s=e.actionFilter;void 0===s&&(s=function(e,t){return!0});var a=e.actionTransformer;void 0===a&&(a=function(e){return e});var c=e.logMutations;void 0===c&&(c=!0);var u=e.logActions;void 0===u&&(u=!0);var p=e.logger;return void 0===p&&(p=console),function(e){var l=i(e.state);void 0!==p&&(c&&e.subscribe(function(e,s){var a=i(s);if(r(e,l,a)){var c=S(),u=o(e),d="mutation "+e.type+c;C(p,d,t),p.log("%c prev state","color: #9E9E9E; font-weight: bold",n(l)),p.log("%c mutation","color: #03A9F4; font-weight: bold",u),p.log("%c next state","color: #4CAF50; font-weight: bold",n(a)),L(p)}l=a}),u&&e.subscribeAction(function(e,r){if(s(e,r)){var n=S(),i=a(e),o="action "+e.type+n;C(p,o,t),p.log("%c action","color: #03A9F4; font-weight: bold",i),L(p)}}))}}}}},o={};function s(e){var t=o[e];if(void 0!==t)return t.exports;var r=o[e]={id:e,loaded:!1,exports:{}};return i[e].call(r.exports,r,r.exports,s),r.loaded=!0,r.exports}s.m=i,e=[],s.O=(t,r,n,i)=>{if(!r){var o=1/0;for(p=0;p=i)&&Object.keys(s.O).every(e=>s.O[e](r[c]))?r.splice(c--,1):(a=!1,i0&&e[p-1][2]>i;p--)e[p]=e[p-1];e[p]=[r,n,i]},s.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return s.d(t,{a:t}),t},s.d=(e,t)=>{for(var r in t)s.o(t,r)&&!s.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},s.f={},s.e=e=>Promise.all(Object.keys(s.f).reduce((t,r)=>(s.f[r](e,t),t),[])),s.u=e=>(({3239:"settings-users",4529:"settings-apps-view"}[e]||e)+"-"+e+".js?v="+{249:"6b0fd254ff15906e6d9b",594:"2c86902dfae9a5006399",620:"1faa6454ab9a6286ffeb",2391:"908fc68e4bc9b878c937",2562:"3284a1d9338b3c95e900",2880:"96ff2de012f3b8c1e3a4",3239:"9d64c7dcd483bb31a3a2",4325:"11e9d860db6a9bc25aac",4529:"d63fed4a010b79c3ad05",4811:"046df5943fbb69dfc8f8",5862:"d020c05f13d21afee82a",7145:"d9c518ca34bfdbd7ff70",7591:"ff8b66e786bd6c24daa7",8091:"e6cbb3ee29cdc3e100a8",8339:"6cdca71a6b3b2d7bef33",8639:"061a3b0a444f32e73c0d",9381:"8167d7f60132025d7829"}[e]),s.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r={},n="nextcloud-ui-legacy:",s.l=(e,t,i,o)=>{if(r[e])r[e].push(t);else{var a,c;if(void 0!==i)for(var u=document.getElementsByTagName("script"),p=0;p{a.onerror=a.onload=null,clearTimeout(f);var i=r[e];if(delete r[e],a.parentNode&&a.parentNode.removeChild(a),i&&i.forEach(e=>e(n)),t)return t(n)},f=setTimeout(d.bind(null,void 0,{type:"timeout",target:a}),12e4);a.onerror=d.bind(null,a.onerror),a.onload=d.bind(null,a.onload),c&&document.head.appendChild(a)}},s.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},s.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),s.j=2689,(()=>{var e;globalThis.importScripts&&(e=globalThis.location+"");var t=globalThis.document;if(!e&&t&&(t.currentScript&&"SCRIPT"===t.currentScript.tagName.toUpperCase()&&(e=t.currentScript.src),!e)){var r=t.getElementsByTagName("script");if(r.length)for(var n=r.length-1;n>-1&&(!e||!/^http(s?):/.test(e));)e=r[n--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),s.p=e})(),(()=>{s.b="undefined"!=typeof document&&document.baseURI||self.location.href;var e={2689:0};s.f.j=(t,r)=>{var n=s.o(e,t)?e[t]:void 0;if(0!==n)if(n)r.push(n[2]);else{var i=new Promise((r,i)=>n=e[t]=[r,i]);r.push(n[2]=i);var o=s.p+s.u(t),a=new Error;s.l(o,r=>{if(s.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var i=r&&("load"===r.type?"missing":r.type),o=r&&r.target&&r.target.src;a.message="Loading chunk "+t+" failed.\n("+i+": "+o+")",a.name="ChunkLoadError",a.type=i,a.request=o,n[1](a)}},"chunk-"+t,t)}},s.O.j=t=>0===e[t];var t=(t,r)=>{var n,i,[o,a,c]=r,u=0;if(o.some(t=>0!==e[t])){for(n in a)s.o(a,n)&&(s.m[n]=a[n]);if(c)var p=c(s)}for(t&&t(r);us(31960));a=s.O(a)})(); +//# sourceMappingURL=settings-vue-settings-apps-users-management.js.map?v=45888ffea3b09cca3c31 \ No newline at end of file diff --git a/dist/settings-vue-settings-apps-users-management.js.map b/dist/settings-vue-settings-apps-users-management.js.map index d8c91f628e096..d2f6581123aec 100644 --- a/dist/settings-vue-settings-apps-users-management.js.map +++ b/dist/settings-vue-settings-apps-users-management.js.map @@ -1 +1 @@ -{"version":3,"file":"settings-vue-settings-apps-users-management.js?v=f4bcab385af47c59cbe8","mappings":"UAAIA,ECAAC,EACAC,E,kBCDJ,IAAIC,EAAc,EAAQ,OAkC1BC,EAAOC,QAJP,SAAiBC,EAAOC,GACtB,OAAOJ,EAAYG,EAAOC,EAC5B,C,yECrBA,SAASC,EAASC,GACjB,OAAOA,EAAIC,QAAQ,MAAO,GAC3B,CAEA,SAiCCC,aAAYA,KACJC,EAAAA,EAAAA,MAERC,IAAGA,CAACJ,EAAKK,IACDC,EAAAA,GAAMF,IAAIL,EAASC,GAAMK,GAEjCE,KAAIA,CAACP,EAAKQ,IACFF,EAAAA,GAAMC,KAAKR,EAASC,GAAMQ,GAElCC,MAAKA,CAACT,EAAKQ,IACHF,EAAAA,GAAMG,MAAMV,EAASC,GAAMQ,GAEnCE,IAAGA,CAACV,EAAKQ,IACDF,EAAAA,GAAMI,IAAIX,EAASC,GAAMQ,GAEjCG,OAAMA,CAACX,EAAKQ,IACJF,EAAAA,GAAMK,OAAOZ,EAASC,GAAM,CAAEY,OAAQJ,I,2ICnD/C,MAAMK,EAAQ,CACbC,KAAM,GACNC,SAASC,EAAAA,EAAAA,GAAU,WAAY,kBAAmB,IAClDC,WAAY,GACZC,aAAaF,EAAAA,EAAAA,GAAU,WAAY,sBAAuB,GAC1DG,QAAS,CAAC,EACVC,yBAA0B,KAC1BC,eAAeL,EAAAA,EAAAA,GAAU,WAAY,iBAAiB,IAGjDM,EAAY,CAEjBC,gBAAAA,CAAiBV,EAAOW,IACvBC,EAAAA,EAAAA,IAAUC,EAAE,WAAY,4DAA8D,OAASF,EAAMA,MAAMG,SAASnB,KAAKA,KAAKoB,QAAS,CAAEC,QAAQ,IACjJC,EAAAA,EAAON,MAAM,2DAA4D,CAAEX,QAAOW,SACnF,EAEAO,cAAAA,CAAelB,GAAO,WAAEI,EAAU,YAAEC,IACnCL,EAAMI,WAAaA,EACnBJ,EAAMK,YAAcA,CACrB,EAEAc,gBAAAA,CAAiBnB,EAAOoB,GACvBpB,EAAMO,yBAA2Ba,CAClC,EAEAC,cAAAA,CAAerB,EAAOK,GACrBL,EAAMK,YAAcA,CACrB,EAEAiB,WAAAA,CAAYtB,EAAOuB,GAClBvB,EAAMI,WAAWoB,KAAKD,EACvB,EAEAE,gBAAAA,CAAiBzB,EAAO0B,GAEvB1B,EAAMI,WAAasB,CACpB,EAEAC,UAAAA,CAAW3B,EAAOC,GACjBD,EAAMC,KAAOA,CACd,EAEA2B,QAAAA,CAAS5B,GAAO,MAAE6B,EAAK,MAAElB,IACnBmB,MAAMC,QAAQF,KAClBA,EAAQ,CAACA,IAEVA,EAAMG,QAASC,IACFjC,EAAMC,KAAKiC,KAAMC,GAAQA,EAAIC,KAAOH,GAC5CtB,MAAQA,GAEd,EAEA0B,UAAAA,CAAWrC,GAAO,MAAE6B,IACP7B,EAAMC,KAAKiC,KAAMC,GAAQA,EAAIC,KAAOP,GAC5ClB,MAAQ,IACb,EAEA2B,SAAAA,CAAUtC,GAAO,MAAE6B,EAAK,OAAEU,IACzB,MAAMJ,EAAMnC,EAAMC,KAAKiC,KAAMC,GAAQA,EAAIC,KAAOP,GAChDM,EAAIK,QAAS,EACbC,EAAAA,GAAAA,IAAQN,EAAK,SAAU,IAAII,IACZ,YAAXJ,EAAIC,KACPpC,EAAMQ,eAAgB,EAExB,EAEAkC,eAAAA,CAAgB1C,GAAO,MAAE6B,EAAK,WAAEc,IAC/B,MAAMR,EAAMnC,EAAMC,KAAKiC,KAAMC,GAAQA,EAAIC,KAAOP,GAC5CM,IACHA,EAAIQ,YAA4B,IAAfA,EAEnB,EAEAC,UAAAA,CAAW5C,EAAO6B,GACjB,MAAMM,EAAMnC,EAAMC,KAAKiC,KAAMC,GAAQA,EAAIC,KAAOP,GAChDM,EAAIK,QAAS,EACbL,EAAII,OAAS,GACTJ,EAAIU,YACPV,EAAIW,cAAe,GAEL,YAAXX,EAAIC,KACPpC,EAAMQ,eAAgB,EAExB,EAEAuC,YAAAA,CAAa/C,EAAO6B,GACnB7B,EAAMC,KAAKiC,KAAMC,GAAQA,EAAIC,KAAOP,GAAOW,QAAS,EACpDxC,EAAMC,KAAKiC,KAAMC,GAAQA,EAAIC,KAAOP,GAAOU,OAAS,GACpDvC,EAAMC,KAAKiC,KAAMC,GAAQA,EAAIC,KAAOP,GAAOmB,eAAgB,EAC3DhD,EAAMC,KAAKiC,KAAMC,GAAQA,EAAIC,KAAOP,GAAOoB,WAAY,EACvDjD,EAAMC,KAAKiC,KAAMC,GAAQA,EAAIC,KAAOP,GAAOiB,cAAe,EAC1D9C,EAAMC,KAAKiC,KAAMC,GAAQA,EAAIC,KAAOP,GAAOc,YAAa,EAC1C,YAAVd,IACH7B,EAAMQ,eAAgB,EAExB,EAEA0C,SAAAA,CAAUlD,EAAO6B,GAChB,MAAMM,EAAMnC,EAAMC,KAAKiC,KAAMC,GAAQA,EAAIC,KAAOP,GAC1CsB,EAAUhB,EAAIiB,OACpBjB,EAAIiB,OAAS,KACbjB,EAAIgB,QAAUA,EACdnD,EAAMK,aACP,EAEAgD,SAAAA,CAAUrD,GACTA,EAAMC,KAAO,EACd,EACAqD,KAAAA,CAAMtD,GACLA,EAAMC,KAAO,GACbD,EAAMI,WAAa,GACnBJ,EAAMK,YAAc,CACrB,EACAkD,YAAAA,CAAavD,EAAOoC,GACfN,MAAMC,QAAQK,GACjBA,EAAGJ,QAASC,IACXQ,EAAAA,GAAAA,IAAQzC,EAAMM,QAAS2B,GAAK,KAG7BQ,EAAAA,GAAAA,IAAQzC,EAAMM,QAAS8B,GAAI,EAE7B,EACAoB,WAAAA,CAAYxD,EAAOoC,GACdN,MAAMC,QAAQK,GACjBA,EAAGJ,QAASC,IACXQ,EAAAA,GAAAA,IAAQzC,EAAMM,QAAS2B,GAAK,KAG7BQ,EAAAA,GAAAA,IAAQzC,EAAMM,QAAS8B,GAAI,EAE7B,GA6BKqB,EAAU,CAEfnB,SAAAA,CAAUoB,GAAS,MAAE7B,EAAK,OAAEU,IAC3B,IAAItC,EAMJ,OAJCA,EADG6B,MAAMC,QAAQF,GACVA,EAEA,CAACA,GAEF8B,EAAAA,EAAItE,eAAeuE,KAAK,KAC9BF,EAAQG,OAAO,eAAgB5D,GAC/ByD,EAAQG,OAAO,eAAgB,WAE/B,MAAMC,EAAgB,CAAC,EAYvB,OAXA7D,EAAK+B,QAAS+B,IACb,MAAM5B,EAAMuB,EAAQ1D,MAAMC,KAAKiC,KAAMC,GAAQA,EAAIC,KAAO2B,GACpD5B,IACH2B,EAAcC,GAAU,CACvBvB,OAAQL,EAAIK,OACZD,OAAQ,IAAKJ,EAAII,QAAU,KAE5BmB,EAAQG,OAAO,YAAa,CAAEhC,MAAOkC,EAAQxB,cAIxCoB,EAAAA,EAAIjE,MAAKsE,EAAAA,EAAAA,IAAY,wBAAyB,CAAEC,OAAQhE,EAAMsC,WACnEqB,KAAM9C,IACN4C,EAAQG,OAAO,cAAe5D,GAC9ByD,EAAQG,OAAO,cAAe,WAGvBpE,EAAAA,GAAMF,KAAIyE,EAAAA,EAAAA,IAAY,gBAC3BJ,KAAK,KACD9C,EAASnB,KAAKuE,mBACjBC,EAAAA,EAAAA,IACCtD,EACC,WACA,6GAED,CACCuD,QAASA,IAAMC,OAAOC,SAASC,SAC/BC,OAAO,IAITC,WAAW,WACVH,SAASC,QACV,EAAG,QAGJG,MAAM,KACD5C,MAAMC,QAAQF,MAClBjB,EAAAA,EAAAA,IAAUC,EAAE,WAAY,2EACxB6C,EAAQG,OAAO,WAAY,CAC1BhC,MAAO5B,EACPU,MAAOE,EAAE,WAAY,4EAEtB6C,EAAQiB,SAAS,aAAc,CAAE9C,eAIpC6C,MAAO/D,IACP+C,EAAQG,OAAO,cAAe5D,GAC9ByD,EAAQG,OAAO,cAAe,WAE9B5D,EAAK+B,QAAS+B,IACTD,EAAcC,KACjBL,EAAQG,OAAO,YAAa,CAC3BhC,MAAOkC,EACPxB,OAAQuB,EAAcC,GAAQxB,SAE1BuB,EAAcC,GAAQvB,QAC1BkB,EAAQG,OAAO,aAAcE,MAKhCL,EAAQG,OAAO,WAAY,CAC1BhC,MAAO5B,EACPU,MAAOA,EAAMG,SAASnB,KAAKA,KAAKoB,UAEjC2C,EAAQG,OAAO,mBAAoB,CAAEhC,QAAOlB,cAE5C+D,MAAO/D,GAAU+C,EAAQG,OAAO,cAAe,CAAEhC,QAAOlB,UAC5D,EACAiE,cAAAA,CAAelB,GAAS,MAAE7B,IACzB,IAAI5B,EAMJ,OAJCA,EADG6B,MAAMC,QAAQF,GACVA,EAEA,CAACA,GAEF8B,EAAAA,EAAItE,eAAeuE,KAAK,KAC9BF,EAAQG,OAAO,eAAgB5D,GAC/ByD,EAAQG,OAAO,eAAgB,WACxBF,EAAAA,EAAIjE,MAAKsE,EAAAA,EAAAA,IAAY,uBAAwB,CAAEnC,UACpD+B,KAAK,KACLF,EAAQG,OAAO,kBAAmB,CAAEhC,QAAOc,YAAY,MAEvD+B,MAAO/D,IACP+C,EAAQG,OAAO,cAAe5D,GAC9ByD,EAAQG,OAAO,cAAe,WAC9BH,EAAQG,OAAO,WAAY,CAC1BhC,MAAO5B,EACPU,MAAOA,EAAMG,SAASnB,KAAKA,KAAKoB,UAEjC2C,EAAQG,OAAO,mBAAoB,CAAEhC,QAAOlB,YAE5CkE,QAAQ,KACRnB,EAAQG,OAAO,cAAe5D,GAC9ByD,EAAQG,OAAO,cAAe,eAE9Ba,MAAO/D,GAAU+C,EAAQG,OAAO,cAAe,CAAEhC,QAAOlB,UAC5D,EACAiC,UAAAA,CAAWc,GAAS,MAAE7B,IACrB,IAAI5B,EAMJ,OAJCA,EADG6B,MAAMC,QAAQF,GACVA,EAEA,CAACA,GAEF8B,EAAAA,EAAItE,eAAeuE,KAAK,KAC9BF,EAAQG,OAAO,eAAgB5D,GACxB0D,EAAAA,EAAIjE,MAAKsE,EAAAA,EAAAA,IAAY,yBAA0B,CAAEC,OAAQhE,IAC9D2D,KAAK,KACLF,EAAQG,OAAO,cAAe5D,GAC9BA,EAAK+B,QAAS+B,IACbL,EAAQG,OAAO,aAAcE,MAEvB,IAEPW,MAAO/D,IACP+C,EAAQG,OAAO,cAAe5D,GAC9ByD,EAAQG,OAAO,mBAAoB,CAAEhC,QAAOlB,cAE5C+D,MAAO/D,GAAU+C,EAAQG,OAAO,cAAe,CAAEhC,QAAOlB,UAC5D,EACAoC,aAAYA,CAACW,GAAS,MAAE7B,KAChB8B,EAAAA,EAAItE,eAAeuE,KAAK,KAC9BF,EAAQG,OAAO,eAAgBhC,GACxB8B,EAAAA,EAAIpE,KAAIyE,EAAAA,EAAAA,IAAY,2BAA2BnC,MACpD+B,KAAK,KACLF,EAAQG,OAAO,cAAehC,GAC9B6B,EAAQG,OAAO,eAAgBhC,IACxB,IAEP6C,MAAO/D,IACP+C,EAAQG,OAAO,cAAehC,GAC9B6B,EAAQG,OAAO,mBAAoB,CAAEhC,QAAOlB,cAE5C+D,MAAO/D,GAAU+C,EAAQG,OAAO,cAAe,CAAEhC,QAAOlB,WAG5DuC,UAASA,CAACQ,GAAS,MAAE7B,KACb8B,EAAAA,EAAItE,eAAeuE,KAAK,KAC9BF,EAAQG,OAAO,eAAgBhC,GAC/B6B,EAAQG,OAAO,eAAgB,WACxBF,EAAAA,EAAIpE,KAAIyE,EAAAA,EAAAA,IAAY,wBAAwBnC,MACjD+B,KAAK,KACLF,EAAQG,OAAO,cAAe,WAC9BH,EAAQG,OAAO,cAAehC,GAC9B6B,EAAQG,OAAO,YAAahC,IACrB,IAEP6C,MAAO/D,IACP+C,EAAQG,OAAO,cAAehC,GAC9B6B,EAAQG,OAAO,cAAe,WAC9BH,EAAQG,OAAO,mBAAoB,CAAEhC,QAAOlB,cAE5C+D,MAAO/D,GAAU+C,EAAQG,OAAO,cAAe,CAAEhC,QAAOlB,WAG5DmE,WAAWpB,IACVA,EAAQG,OAAO,eAAgB,QACxBF,EAAAA,EAAIpE,KAAIyE,EAAAA,EAAAA,IAAY,uBACzBJ,KAAM9C,IACN4C,EAAQG,OAAO,aAAc/C,EAASnB,KAAKM,MAC3CyD,EAAQG,OAAO,cAAe,SACvB,IAEPa,MAAO/D,GAAU+C,EAAQG,OAAO,cAAelD,KAGlD,mBAAMoE,CAAcrB,GAAS,wBAAEsB,GAA0B,GAAU,CAAC,GACnE,GAAIA,IAA4BtB,EAAQ1D,MAAMO,yBAA0B,CACvEmD,EAAQG,OAAO,eAAgB,cAC/B,IACC,MAAMzC,EAAoBuC,EAAAA,EAAIpE,KAAIyE,EAAAA,EAAAA,IAAY,6BAC9CN,EAAQG,OAAO,mBAAoBzC,GACnC,MAAM6D,QAAkC7D,EACxC,OAAI6D,EAA0BtF,KAAKuF,OAAS,GAC3CxB,EAAQG,OAAO,mBAAoBoB,EAA0BtF,MAC7D+D,EAAQG,OAAO,cAAe,eACvB,IAERH,EAAQG,OAAO,cAAe,eACvB,EACR,CAAE,MAAOlD,GACR+C,EAAQG,OAAO,cAAelD,EAC/B,CACD,CACA,OAAO+C,EAAQ1D,MAAMO,wBACtB,GAID,GAAiBP,QAAOS,YAAW0E,QAxOnB,CACfC,gBAAgBpF,GACRA,EAAMQ,cAEdF,QAAQN,GACA,SAASoC,GACf,OAAOpC,EAAMM,QAAQ8B,EACtB,EAED2C,cAAc/E,GACNA,EAAMI,WAEd0E,WAAW9E,GACHA,EAAMC,KAEdoF,cAAcrF,GACNA,EAAME,QAEdoF,eAAetF,GACPA,EAAMK,YAEdkF,gBAAkBvF,GAAWwF,GACrBxF,EAAMI,WAAW8B,KAAMX,GAAaA,EAASa,KAAOoD,IAkNjB/B,WC7V5C,GAAiBzD,MAtBH,CAAC,EAsBSS,UArBN,CAAC,EAqBgB0E,QApBnB,CAAC,EAoB2B1B,QAnB5B,CAWfgC,aAAYA,CAAC/B,GAAS,IAAEvB,EAAG,IAAEuD,EAAG,MAAE1G,KAC1B2E,EAAAA,EAAItE,eAAeuE,KAAK,IACvBD,EAAAA,EAAIjE,MAAKiG,EAAAA,EAAAA,IAAe,uDAAwD,CAAExD,MAAKuD,QAAQ,CAAE1G,UACtG0F,MAAO/D,IAAY,MAAMA,KACzB+D,MAAO/D,GAAU+C,EAAQG,OAAO,cAAe,CAAE1B,MAAKuD,MAAK1G,QAAO2B,aCnBjEX,EAAQ,CACb4F,YAAYzF,EAAAA,EAAAA,GAAU,WAAY,gBAAiB,CAAC,IAE/CM,EAAY,CACjBoF,aAAAA,CAAc7F,EAAOL,GACpBK,EAAM4F,WAAajG,CACpB,GASD,GAAiBK,MAAK,EAAES,UAAS,EAAE0E,QAPnB,CACfW,cAAc9F,GACNA,EAAM4F,YAK6BnC,QAF5B,CAAC,G,2DCfV,MAAMsC,EAAkBC,KAAKC,SAAS,EAACC,EAAAA,EAAAA,OAAeC,EAAAA,EAAAA,OAAuB,CAChFC,SAAS,EACTC,MAAO,SCULC,GAAgBnG,EAAAA,EAAAA,GAAU,WAAY,gBAAiB,CAAC,GAExDoG,GAAeC,EAAAA,EAAAA,IAAW,YAAYC,SAAQ,GAAMC,QAEpDC,EAIE,CACNvE,GAAI,GACJwE,KAAM,GACNC,UAAW,EACXC,SAAU,EACVC,QAAQ,EACRC,WAAW,GAIPhH,EAAQ,CACbiH,MAAO,GACP1E,OAAQ,IACH+D,EAAcY,mBAAqB,MACnCZ,EAAca,cAAgB,IAEnCC,QAASd,EAAce,YAAcC,EAAAA,EAAaC,UAClDC,kBAAmB,EACnBC,YAAa,EACbC,WAAY,GACZC,oBAAqB,EACrBC,mBAAoB,GACpBC,UAAWvB,EAAcuB,WAAa,EACtCC,WAAY,CACXC,gBAA+E,SAA9DxB,EAAayB,QAAQ,qCACtCC,gBAA+E,SAA9D1B,EAAayB,QAAQ,qCACtCE,eAA6E,SAA7D3B,EAAayB,QAAQ,oCACrCG,cAA2E,SAA5D5B,EAAayB,QAAQ,mCACpCI,gBAA+E,SAA9D7B,EAAayB,QAAQ,qCACtCK,cAA2E,SAA5D9B,EAAayB,QAAQ,qCAIhCvH,EAAY,CACjB6H,WAAAA,CAAYtI,EAAOuI,GAClB,MAAMC,EAAgBxI,EAAMiH,MAAMwB,IAAI,EAAGrG,QAASA,GAC5CsG,EAAWC,OAAOC,OAAOL,GAC7BM,OAAO,EAAGzG,SAAUoG,EAAcM,SAAS1G,IAEvC6E,EAAQjH,EAAMiH,MAAM8B,OAAOL,GACjC1I,EAAMyH,aAAezH,EAAM0H,WAC3B1H,EAAMiH,MAAQA,CACf,EACA+B,mBAAAA,CAAoBhJ,GACnBA,EAAM2H,qBAAuB3H,EAAM4H,kBACpC,EACAqB,0BAAAA,CAA2BjJ,EAAOkF,GACjClF,EAAMwH,kBAA+B,KAAXtC,EAAgBA,EAAS,CACpD,EAKAgE,QAAAA,CAASlJ,EAAOmJ,GACf,IACC,QAAsE,IAA3DnJ,EAAMuC,OAAOL,KAAMkH,GAAUA,EAAMhH,KAAO+G,EAAS/G,IAC7D,OAGD,MAAMgH,EAAQ,IAAKzC,KAAmBwC,GACtCnJ,EAAMuC,OAAO8G,QAAQD,EACtB,CAAE,MAAOzI,GACRM,EAAAA,EAAON,MAAM,qBAAsB,CAAEA,SACtC,CACD,EACA2I,WAAAA,CAAYtJ,GAAO,IAAEuJ,EAAG,YAAEC,IACzB,MAAMC,EAAazJ,EAAMuC,OAAOmH,UAAWC,GAAgBA,EAAYvH,KAAOmH,GAC9E,GAAIE,GAAc,EAAG,CACpB,MAAMG,EAAe5J,EAAMuC,OAAOkH,GAClCG,EAAahD,KAAO4C,EACpBxJ,EAAMuC,OAAOsH,OAAOJ,EAAY,EAAGG,EACpC,CACD,EACAE,WAAAA,CAAY9J,EAAOuJ,GAClB,MAAME,EAAazJ,EAAMuC,OAAOmH,UAAWC,GAAgBA,EAAYvH,KAAOmH,GAC1EE,GAAc,GACjBzJ,EAAMuC,OAAOsH,OAAOJ,EAAY,EAElC,EACAM,YAAAA,CAAa/J,GAAO,OAAEgK,EAAM,IAAET,IAC7B,MAAMH,EAAQpJ,EAAMuC,OAAOL,KAAMyH,GAAgBA,EAAYvH,KAAOmH,GAC9DU,EAAOjK,EAAMiH,MAAM/E,KAAM+H,GAASA,EAAK7H,KAAO4H,GAEhDZ,GAASa,EAAKC,SAAWlK,EAAM6H,UAAY,GAC9CuB,EAAMvC,YAEQoD,EAAK1H,OACbf,KAAK+H,EACb,EACAY,eAAAA,CAAgBnK,GAAO,OAAEgK,EAAM,IAAET,IAChC,MAAMH,EAAQpJ,EAAMuC,OAAOL,KAAMyH,GAAgBA,EAAYvH,KAAOmH,GAC9DU,EAAOjK,EAAMiH,MAAM/E,KAAM+H,GAASA,EAAK7H,KAAO4H,GAEhDZ,GAASa,EAAKC,SAAWlK,EAAM6H,UAAY,GAC9CuB,EAAMvC,YAEP,MAAMtE,EAAS0H,EAAK1H,OACpBA,EAAOsH,OAAOtH,EAAO6H,QAAQb,GAAM,EACpC,EACAc,eAAAA,CAAgBrK,GAAO,OAAEgK,EAAM,IAAET,IACjBvJ,EAAMiH,MAAM/E,KAAM+H,GAASA,EAAK7H,KAAO4H,GAAQM,SACvD9I,KAAK+H,EACb,EACAgB,kBAAAA,CAAmBvK,GAAO,OAAEgK,EAAM,IAAET,IACnC,MAAMhH,EAASvC,EAAMiH,MAAM/E,KAAM+H,GAASA,EAAK7H,KAAO4H,GAAQM,SAC9D/H,EAAOsH,OAAOtH,EAAO6H,QAAQb,GAAM,EACpC,EACAiB,UAAAA,CAAWxK,EAAOgK,GACjB,MAAMS,EAAYzK,EAAMiH,MAAMyC,UAAWO,GAASA,EAAK7H,KAAO4H,GAC9DU,KAAK7G,OAAO,mBAAoB,CAAEoG,KAAMjK,EAAMiH,MAAMwD,GAAYE,WAAY,WAC5E3K,EAAMiH,MAAM4C,OAAOY,EAAW,EAC/B,EACAG,WAAAA,CAAY5K,EAAOc,GAClB,MAAMmJ,EAAOnJ,EAASnB,KAAKkL,IAAIlL,KAC/BK,EAAMiH,MAAMoC,QAAQY,GACpBS,KAAK7G,OAAO,mBAAoB,CAAEoG,OAAMU,WAAY,UACrD,EACAG,iBAAAA,CAAkB9K,GAAO,OAAEgK,EAAM,QAAEE,IAClC,MAAMD,EAAOjK,EAAMiH,MAAM/E,KAAM+H,GAASA,EAAK7H,KAAO4H,GACpDC,EAAKC,QAAUA,EACfQ,KAAK7G,OAAO,mBAAoB,CAAEoG,OAAMU,WAAYT,EAAU,SAAW,WAC1E,EAEAa,gBAAAA,CAAiB/K,GAAO,KAAEiK,EAAI,WAAEU,IAE/B,GAAwB,IAApB3K,EAAM6H,UACT,OAGD,MAAMmD,EAAchL,EAAMuC,OAAOL,KAAMkH,GAAuB,yBAAbA,EAAMhH,IACjD6I,EAAgBjL,EAAMuC,OAAOL,KAAMkH,GAAuB,aAAbA,EAAMhH,IACzD,OAAQuI,GACP,IAAK,SACL,IAAK,UACJM,EAAcpE,WAAaoD,EAAKC,SAAW,EAAI,EAC/Cc,EAAYnE,WAAaoD,EAAKC,QAAU,GAAK,EAC7ClK,EAAM6H,WAAaoC,EAAKC,QAAU,GAAK,EACvCD,EAAK1H,OAAOP,QAASkJ,IACpB,MAAM9B,EAAQpJ,EAAMuC,OAAOL,KAAMyH,GAAgBA,EAAYvH,KAAO8I,GAC/D9B,IAGLA,EAAMtC,UAAYmD,EAAKC,SAAW,EAAI,KAEvC,MACD,IAAK,SACJc,EAAYnE,YACZ7G,EAAM6H,YAENoC,EAAK1H,OAAOP,QAASkJ,IACpB,MAAM9B,EAAQpJ,EAAMuC,OAAOL,KAAMyH,GAAgBA,EAAYvH,KAAO8I,GAC/D9B,GAGLA,EAAMvC,cAEP,MACD,IAAK,SACAoD,EAAKC,SACRc,EAAYnE,YACZ7G,EAAM6H,YACNoC,EAAK1H,OAAOP,QAASkJ,IACpB,MAAM9B,EAAQpJ,EAAMuC,OAAOL,KAAMyH,GAAgBA,EAAYvH,KAAO8I,GAC/D9B,EAILA,EAAMvC,YAHL5F,EAAAA,EAAOkK,KAAK,cAAgBD,EAAY,2CAM1CD,EAAcpE,YACdoD,EAAK1H,OAAOP,QAASkJ,IACpB,MAAM9B,EAAQpJ,EAAMuC,OAAOL,KAAMyH,GAAgBA,EAAYvH,KAAO8I,GAC/D9B,GAGLA,EAAMtC,cAGR,MACD,QACC7F,EAAAA,EAAON,MAAM,6CAA6CgK,MAG7D,EACAS,WAAAA,CAAYpL,GAAO,OAAEgK,EAAM,IAAEtE,EAAG,MAAE1G,IACjC,GAAY,UAAR0G,EAAiB,CACpB,MAAM2F,GAAaC,EAAAA,EAAAA,IAActM,GAAO,GACxCgB,EAAMiH,MAAM/E,KAAM+H,GAASA,EAAK7H,KAAO4H,GAAQtE,GAAKA,GAAsB,OAAf2F,EAAsBA,EAAarM,CAC/F,MACCgB,EAAMiH,MAAM/E,KAAM+H,GAASA,EAAK7H,KAAO4H,GAAQtE,GAAO1G,CAExD,EAOAuM,UAAAA,CAAWvL,GACVA,EAAMiH,MAAQ,GACdjH,EAAMyH,YAAc,EACpBzH,EAAM2H,oBAAsB,CAC7B,EAOA6D,WAAAA,CAAYxL,GACXA,EAAMuC,OAAS,IACV+D,EAAcY,mBAAqB,MACnCZ,EAAca,cAAgB,GAEpC,EAEAsE,aAAAA,CAAczL,GAAO,IAAE0F,EAAG,MAAE1G,IAC3BuH,EAAamF,QAAQ,qBAAqBhG,IAAOiG,KAAKC,UAAU5M,IAChEgB,EAAM8H,WAAWpC,GAAO1G,CACzB,EAEA6M,eAAAA,CAAgB7L,EAAO8L,GACtB,MAAMC,EAAW/L,EAAMoH,QACvBpH,EAAMoH,QAAU0E,EAGhBrM,EAAAA,GAAMC,MACLsE,EAAAA,EAAAA,IAAY,4CACZ,CACChF,MAAOgN,OAAOF,KAEdpH,MAAO/D,IACRX,EAAMoH,QAAU2E,GAChBnL,EAAAA,EAAAA,IAAUC,EAAE,WAAY,gCACxBI,EAAAA,EAAON,MAAMA,IAEf,GAGKwE,EAAU,CACf8G,SAASjM,GACDA,EAAMiH,MAEdiF,UAAUlM,GACFA,EAAMuC,OAEd2E,kBAAiBA,IACTZ,EAAc6F,gBAAkB,GAGxCC,eAAAA,CAAgBpM,GACf,MAAMuC,EAAS,IAAIvC,EAAMuC,QACzB,OAAIvC,EAAMoH,UAAYE,EAAAA,EAAaC,UAC3BhF,EAAO8J,KAAK,CAACC,EAAGC,KACtB,MAAMC,EAAOF,EAAEzF,UAAYyF,EAAExF,SACvB2F,EAAOF,EAAE1F,UAAY0F,EAAEzF,SAC7B,OAAQ0F,EAAOC,EAAQ,EAAKA,EAAOD,GAAQ,EAAIzG,EAAgB2G,QAAQJ,EAAE1F,KAAM2F,EAAE3F,QAG3ErE,EAAO8J,KAAK,CAACC,EAAGC,IAAMxG,EAAgB2G,QAAQJ,EAAE1F,KAAM2F,EAAE3F,MAEjE,EACA+F,gBAAgB3M,GACRA,EAAMoH,QAEdwF,2BAA2B5M,GACnBA,EAAMwH,kBAEdqF,eAAe7M,GACPA,EAAMyH,YAEdqF,cAAc9M,GACNA,EAAM0H,WAEdqF,uBAAuB/M,GACfA,EAAM2H,oBAEdqF,sBAAsBhN,GACdA,EAAM4H,mBAEdqF,aAAajN,GACLA,EAAM6H,UAEdqF,cAAclN,GACNA,EAAM8H,YAITqF,EAAc1N,EAAAA,GAAM0N,YAC1B,IAAIC,EAA4B,KAEhC,MAweA,GAAiBpN,MAAK,EAAES,UAAS,EAAE0E,QAAO,EAAE1B,QAxe5B,CAYf4J,YAAWA,CAAC3J,GAAS,OAAE4J,EAAM,MAAEC,EAAK,OAAEC,MACrCA,EAA2B,iBAAXA,EAAsBA,EAAS,GAExC7J,EAAAA,EAAIpE,KAAIoG,EAAAA,EAAAA,IAAe,oEAAqE,CAAE2H,SAAQC,QAAOC,YAAW9I,MAAO/D,IAChIlB,EAAAA,GAAAA,SAAekB,IACnB+C,EAAQG,OAAO,cAAelD,MAYjC8M,QAAOA,CAAC/J,EAASgK,IACT/J,EAAAA,EAAIpE,KAAIoG,EAAAA,EAAAA,IAAe,eAAe+H,MAAWhJ,MAAO/D,IACzDlB,EAAAA,GAAAA,SAAekB,IACnB+C,EAAQG,OAAO,cAAelD,KAgBjCsL,SAAQA,CAACvI,GAAS,OAAE4J,EAAM,MAAEC,EAAK,OAAEC,EAAM,MAAEpE,MACtCgE,GACHA,EAA0BO,OAAO,iDAElCP,EAA4BD,EAAYS,SAQxCJ,GAPAA,EAA2B,iBAAXA,EAAsBA,EAAS,IAO/BpO,QAAQ,aAAc,IAAIyO,OAG5B,MADdzE,EAAyB,iBAAVA,EAAqBA,EAAQ,IAEpCzF,EAAAA,EAAIpE,KAAIoG,EAAAA,EAAAA,IAAe,mFAAoF,CAAEyD,MAAO0E,mBAAmB1E,GAAQkE,SAAQC,QAAOC,WAAW,CAC/KO,YAAaX,EAA0BY,QAEtCpK,KAAM9C,IACN,MAAMmN,EAAatF,OAAOuF,KAAKpN,EAASnB,KAAKkL,IAAIlL,KAAKsH,OAAO/B,OAI7D,OAHI+I,EAAa,GAChBvK,EAAQG,OAAO,cAAe/C,EAASnB,KAAKkL,IAAIlL,KAAKsH,OAE/CgH,IAEPvJ,MAAO/D,IACFlB,EAAAA,GAAAA,SAAekB,IACnB+C,EAAQG,OAAO,cAAelD,KAK3BgD,EAAAA,EAAIpE,KAAIoG,EAAAA,EAAAA,IAAe,oEAAqE,CAAE2H,SAAQC,QAAOC,WAAW,CAC9HO,YAAaX,EAA0BY,QAEtCpK,KAAM9C,IACN,MAAMmN,EAAatF,OAAOuF,KAAKpN,EAASnB,KAAKkL,IAAIlL,KAAKsH,OAAO/B,OAI7D,OAHI+I,EAAa,GAChBvK,EAAQG,OAAO,cAAe/C,EAASnB,KAAKkL,IAAIlL,KAAKsH,OAE/CgH,IAEPvJ,MAAO/D,IACFlB,EAAAA,GAAAA,SAAekB,IACnB+C,EAAQG,OAAO,cAAelD,MAelC,oBAAMwN,CAAezK,GAAS,OAAE4J,EAAM,MAAEC,EAAK,OAAEC,IAC9C,MAAMrO,GAAMwG,EAAAA,EAAAA,IAAe,mEAAoE,CAAE2H,SAAQC,QAAOC,WAChH,IACC,MAAM1M,QAAiB6C,EAAAA,EAAIpE,IAAIJ,GACzB8O,EAAatF,OAAOuF,KAAKpN,EAASnB,KAAKkL,IAAIlL,KAAKsH,OAAO/B,OAI7D,OAHI+I,EAAa,GAChBvK,EAAQG,OAAO,cAAe/C,EAASnB,KAAKkL,IAAIlL,KAAKsH,OAE/CgH,CACR,CAAE,MAAOtN,GACR+C,EAAQG,OAAO,cAAelD,EAC/B,CACD,EAYA,sBAAMyN,CAAiB1K,GAAS,OAAE4J,EAAM,MAAEC,EAAK,OAAEC,IAChD,MAAMrO,GAAMwG,EAAAA,EAAAA,IAAe,qEAAsE,CAAE2H,SAAQC,QAAOC,WAClH,IACC,MAAM1M,QAAiB6C,EAAAA,EAAIpE,IAAIJ,GACzB8O,EAAatF,OAAOuF,KAAKpN,EAASnB,KAAKkL,IAAIlL,KAAKsH,OAAO/B,OAK7D,OAJI+I,EAAa,IAChBvK,EAAQG,OAAO,cAAe/C,EAASnB,KAAKkL,IAAIlL,KAAKsH,OACrDvD,EAAQG,OAAO,sBAAuB/C,EAASnB,KAAKkL,IAAIlL,KAAKsH,QAEvDgH,CACR,CAAE,MAAOtN,GACR+C,EAAQG,OAAO,cAAelD,EAC/B,CACD,EAEAuL,SAAAA,CAAUxI,GAAS,OAAE4J,EAAM,MAAEC,EAAK,OAAEC,IACnCA,EAA2B,iBAAXA,EAAsBA,EAAS,GAC/C,MAAMa,GAAwB,IAAXd,EAAe,GAAK,UAAUA,IACjD,OAAO5J,EAAAA,EAAIpE,KAAIoG,EAAAA,EAAAA,IAAe,+CAAgD,CAAE2H,SAAQE,WAAYa,GAClGzK,KAAM9C,GACF6H,OAAOuF,KAAKpN,EAASnB,KAAKkL,IAAIlL,KAAK4C,QAAQ2C,OAAS,IACvDpE,EAASnB,KAAKkL,IAAIlL,KAAK4C,OAAOP,QAAQ,SAASoH,GAC9C1F,EAAQG,OAAO,WAAY,CAAEzB,GAAIgH,EAAOxC,KAAMwC,GAC/C,IACO,IAIR1E,MAAO/D,GAAU+C,EAAQG,OAAO,cAAelD,GAClD,EAYA2N,iBAAgBA,CAAC5K,GAAS,OAAE4J,EAAM,MAAEC,EAAK,OAAEC,MAC1CA,EAA2B,iBAAXA,EAAsBA,EAAS,GACxC7J,EAAAA,EAAIpE,KAAIoG,EAAAA,EAAAA,IAAe,oEAAqE,CAAE2H,SAAQC,QAAOC,YAClH5J,KAAM9C,GACF6H,OAAOuF,KAAKpN,EAASnB,KAAKkL,IAAIlL,KAAKsH,OAAO/B,OAAS,IACtDxB,EAAQG,OAAO,cAAe/C,EAASnB,KAAKkL,IAAIlL,KAAKsH,QAC9C,IAIRvC,MAAO/D,GAAU+C,EAAQG,OAAO,cAAelD,KAalD4N,kBAAiBA,CAAC7K,GAAS,QAAE8K,EAAO,OAAElB,EAAM,MAAEC,KACtC5J,EAAAA,EAAIpE,KAAIoG,EAAAA,EAAAA,IAAe,8DAA+D,CAAE8I,QAASX,mBAAmBU,GAAUlB,SAAQC,WAC3I3J,KAAM9C,GAAa4C,EAAQG,OAAO,mBAAoB/C,EAASnB,KAAKkL,IAAIlL,KAAKsH,QAC7EvC,MAAO/D,GAAU+C,EAAQG,OAAO,cAAelD,IAGlDiM,2BAA2BlJ,OACtBgL,EAAAA,EAAAA,KAAkBC,mBAAmBD,EAAAA,EAAAA,KAAkBC,gBAAgBC,aAC1ElL,EAAQG,OAAO,8BAA8B6K,EAAAA,EAAAA,KAAkBC,gBAAgBC,YACxEF,EAAAA,EAAAA,KAAkBC,gBAAgBC,WAY3C1F,SAAQA,CAACxF,EAAS6F,IACV5F,EAAAA,EAAItE,eAAeuE,KAAK,IACvBD,EAAAA,EAAIjE,MAAKiG,EAAAA,EAAAA,IAAe,gBAAiB,CAAE6I,QAASjF,IACzD3F,KAAK,KACLF,EAAQG,OAAO,WAAY,CAAEzB,GAAImH,EAAK3C,KAAM2C,IACrC,CAAEA,MAAKC,YAAaD,KAE3B7E,MAAO/D,IAAY,MAAMA,KACzB+D,MAAO/D,IAIT,MAHA+C,EAAQG,OAAO,cAAe,CAAE0F,MAAK5I,UAG/BA,IAYR2I,YAAWA,CAAC5F,GAAS,QAAE8K,EAAO,YAAEhF,KACxB7F,EAAAA,EAAItE,eAAeuE,KAAK,IACvBD,EAAAA,EAAI9D,KAAI8F,EAAAA,EAAAA,IAAe,yBAA0B,CAAE8I,QAASX,mBAAmBU,KAAa,CAAE9I,IAAK,cAAe1G,MAAOwK,IAC9H5F,KAAK,KACLF,EAAQG,OAAO,cAAe,CAAE0F,IAAKiF,EAAShF,gBACvC,CAAEgF,UAAShF,iBAElB9E,MAAO/D,IAAY,MAAMA,KACzB+D,MAAO/D,IAIT,MAHA+C,EAAQG,OAAO,cAAe,CAAE2K,UAAS7N,UAGnCA,IAWRmJ,YAAWA,CAACpG,EAAS6F,IACb5F,EAAAA,EAAItE,eAAeuE,KAAK,IACvBD,EAAAA,EAAI7D,QAAO6F,EAAAA,EAAAA,IAAe,yBAA0B,CAAE8I,QAASX,mBAAmBvE,MACvF3F,KAAK,IAAMF,EAAQG,OAAO,cAAe0F,IACzC7E,MAAO/D,IAAY,MAAMA,KACzB+D,MAAO/D,GAAU+C,EAAQG,OAAO,cAAe,CAAE0F,MAAK5I,WAY1DoJ,aAAYA,CAACrG,GAAS,OAAEsG,EAAM,IAAET,KACxB5F,EAAAA,EAAItE,eAAeuE,KAAK,IACvBD,EAAAA,EAAIjE,MAAKiG,EAAAA,EAAAA,IAAe,8BAA+B,CAAEqE,WAAW,CAAEwE,QAASjF,IACpF3F,KAAK,IAAMF,EAAQG,OAAO,eAAgB,CAAEmG,SAAQT,SACpD7E,MAAO/D,IAAY,MAAMA,KACzB+D,MAAO/D,GAAU+C,EAAQG,OAAO,cAAe,CAAEmG,SAAQrJ,WAY7DwJ,gBAAeA,CAACzG,GAAS,OAAEsG,EAAM,IAAET,KAC3B5F,EAAAA,EAAItE,eAAeuE,KAAK,IACvBD,EAAAA,EAAI7D,QAAO6F,EAAAA,EAAAA,IAAe,8BAA+B,CAAEqE,WAAW,CAAEwE,QAASjF,IACtF3F,KAAK,IAAMF,EAAQG,OAAO,kBAAmB,CAAEmG,SAAQT,SACvD7E,MAAO/D,IAAY,MAAMA,KACzB+D,MAAO/D,IAIT,MAHA+C,EAAQG,OAAO,cAAe,CAAEmG,SAAQrJ,UAGlCA,IAaR0J,gBAAeA,CAAC3G,GAAS,OAAEsG,EAAM,IAAET,KAC3B5F,EAAAA,EAAItE,eAAeuE,KAAK,IACvBD,EAAAA,EAAIjE,MAAKiG,EAAAA,EAAAA,IAAe,iCAAkC,CAAEqE,WAAW,CAAEwE,QAASjF,IACvF3F,KAAK,IAAMF,EAAQG,OAAO,kBAAmB,CAAEmG,SAAQT,SACvD7E,MAAO/D,IAAY,MAAMA,KACzB+D,MAAO/D,GAAU+C,EAAQG,OAAO,cAAe,CAAEmG,SAAQrJ,WAY7D4J,mBAAkBA,CAAC7G,GAAS,OAAEsG,EAAM,IAAET,KAC9B5F,EAAAA,EAAItE,eAAeuE,KAAK,IACvBD,EAAAA,EAAI7D,QAAO6F,EAAAA,EAAAA,IAAe,iCAAkC,CAAEqE,WAAW,CAAEwE,QAASjF,IACzF3F,KAAK,IAAMF,EAAQG,OAAO,qBAAsB,CAAEmG,SAAQT,SAC1D7E,MAAO/D,IAAY,MAAMA,KACzB+D,MAAO/D,GAAU+C,EAAQG,OAAO,cAAe,CAAEmG,SAAQrJ,WAU7D,qBAAMkO,CAAgBnL,EAASsG,GAC9B,IAEC,aADMrG,EAAAA,EAAItE,qBACGsE,EAAAA,EAAIjE,MAAKiG,EAAAA,EAAAA,IAAe,4BAA6B,CAAEqE,WACrE,CAAE,MAAOrJ,GAER,OADA+C,EAAQG,OAAO,cAAe,CAAEmG,SAAQrJ,UACjCmO,QAAQC,OAAO,IAAIC,MAAM,+BACjC,CACD,EASAxE,WAAUA,CAAC9G,EAASsG,IACZrG,EAAAA,EAAItE,eAAeuE,KAAK,IACvBD,EAAAA,EAAI7D,QAAO6F,EAAAA,EAAAA,IAAe,uBAAwB,CAAEqE,YACzDpG,KAAK,IAAMF,EAAQG,OAAO,aAAcmG,IACxCtF,MAAO/D,IAAY,MAAMA,KACzB+D,MAAO/D,GAAU+C,EAAQG,OAAO,cAAe,CAAEmG,SAAQrJ,WAqB7DsO,QAAOA,EAAC,OAAEpL,EAAM,SAAEc,IAAY,OAAEqF,EAAM,SAAEkF,EAAQ,YAAE1F,EAAW,MAAE2F,EAAK,OAAE5M,EAAM,SAAE+H,EAAQ,MAAE8E,EAAK,SAAEC,EAAQ,QAAEC,KACjG3L,EAAAA,EAAItE,eAAeuE,KAAK,IACvBD,EAAAA,EAAIjE,MAAKiG,EAAAA,EAAAA,IAAe,eAAgB,CAAEqE,SAAQkF,WAAU1F,cAAa2F,QAAO5M,SAAQ+H,WAAU8E,QAAOC,WAAUC,YACxH1L,KAAM9C,GAAa6D,EAAS,cAAeqF,GAAUlJ,EAASnB,KAAKkL,IAAIlL,KAAKyC,KAC5EsC,MAAO/D,IAAY,MAAMA,KACzB+D,MAAO/D,IAET,MADAkD,EAAO,cAAe,CAAEmG,SAAQrJ,UAC1BA,IAWRiK,YAAWA,CAAClH,EAASsG,IACbrG,EAAAA,EAAItE,eAAeuE,KAAK,IACvBD,EAAAA,EAAIpE,KAAIoG,EAAAA,EAAAA,IAAe,uBAAwB,CAAEqE,YACtDpG,KAAM9C,GAAa4C,EAAQG,OAAO,cAAe/C,IACjD4D,MAAO/D,IAAY,MAAMA,KACzB+D,MAAO/D,GAAU+C,EAAQG,OAAO,cAAe,CAAEmG,SAAQrJ,WAY7DmK,iBAAAA,CAAkBpH,GAAS,OAAEsG,EAAM,QAAEE,GAAU,IAC9C,MAAMqF,EAAarF,EAAU,SAAW,UACxC,OAAOvG,EAAAA,EAAItE,eAAeuE,KAAK,IACvBD,EAAAA,EAAI9D,KAAI8F,EAAAA,EAAAA,IAAe,oCAAqC,CAAEqE,SAAQuF,gBAC3E3L,KAAK,IAAMF,EAAQG,OAAO,oBAAqB,CAAEmG,SAAQE,aACzDxF,MAAO/D,IAAY,MAAMA,KACzB+D,MAAO/D,GAAU+C,EAAQG,OAAO,cAAe,CAAEmG,SAAQrJ,UAC7D,EAYA,iBAAMyK,CAAY1H,GAAS,OAAEsG,EAAM,IAAEtE,EAAG,MAAE1G,IAIzC,IAFkB,CAAC,QAAS,WAAY,QAAS,cAAe,WAAY,WAE7D8J,SAASpD,GACvB,MAAM,IAAIsJ,MAAM,wBAIjB,GAAc,KAAVhQ,IARiB,CAAC,QAAS,cAAe,WAQZ8J,SAASpD,GAC1C,MAAM,IAAIsJ,MAAM,wCAGjB,IAGC,aAFMrL,EAAAA,EAAItE,qBACJsE,EAAAA,EAAI9D,KAAI8F,EAAAA,EAAAA,IAAe,uBAAwB,CAAEqE,WAAW,CAAEtE,MAAK1G,UAClE0E,EAAQG,OAAO,cAAe,CAAEmG,SAAQtE,MAAK1G,SACrD,CAAE,MAAO2B,GAER,MADA+C,EAAQG,OAAO,cAAe,CAAEmG,SAAQrJ,UAClCA,CACP,CACD,EASA6O,gBAAeA,CAAC9L,EAASsG,IACjBrG,EAAAA,EAAItE,eAAeuE,KAAK,IACvBD,EAAAA,EAAIjE,MAAKiG,EAAAA,EAAAA,IAAe,+BAAgC,CAAEqE,YAC/DpG,KAAK,KAAM,GACXc,MAAO/D,IAAY,MAAMA,KACzB+D,MAAO/D,GAAU+C,EAAQG,OAAO,cAAe,CAAEmG,SAAQrJ,aCpxBxDF,EAAY,CACjBgP,WAAAA,CAAYzP,EAAOW,GAClB,IACC,MAAMI,EAAUJ,EAAMA,MAAMG,SAASnB,KAAKkL,IAAI6E,KAAK3O,SACnDH,EAAAA,EAAAA,IAAUC,EAAE,WAAY,4DAA8D,OAASE,EAAS,CAAEC,QAAQ,GACnH,CAAE,OACDJ,EAAAA,EAAAA,IAAUC,EAAE,WAAY,4DACzB,CACAI,EAAAA,EAAON,MAAM,wCAAyC,CAAEX,QAAOW,SAChE,GAGD,IAAIgP,EAAQ,KAKL,SAASC,IAaf,OAZc,OAAVD,IACHA,EAAQ,IAAIE,EAAAA,GAAM,CACjBC,QAAS,CACR7I,MAAK,EACLhH,KAAI,EACJ8P,SAAQ,EACRC,GAAEA,GAEHC,QAAQ,EACRxP,UAASA,KAGJkP,CACR,C,YCxBA7Q,EAAOC,QAZP,SAAiBmR,EAAQxK,GACvB,IAAY,gBAARA,GAAgD,mBAAhBwK,EAAOxK,KAIhC,aAAPA,EAIJ,OAAOwK,EAAOxK,EAChB,C,4CCXO,IAAI4B,E,iBACX,SAAWA,GACPA,EAAaA,EAAwB,UAAI,GAAK,YAC9CA,EAAaA,EAAwB,UAAI,GAAK,WACjD,CAHD,CAGGA,IAAiBA,EAAe,CAAC,G,kBCXpC,IAAI6I,EAAW,EAAQ,OACnBC,EAAiB,EAAQ,OAmC7BtR,EAAOC,QA1BP,SAAwBsR,GACtB,OAAOF,EAAS,SAASD,EAAQI,GAC/B,IAAIC,GAAS,EACTrL,EAASoL,EAAQpL,OACjBsL,EAAatL,EAAS,EAAIoL,EAAQpL,EAAS,QAAKuL,EAChDC,EAAQxL,EAAS,EAAIoL,EAAQ,QAAKG,EAWtC,IATAD,EAAcH,EAASnL,OAAS,GAA0B,mBAAdsL,GACvCtL,IAAUsL,QACXC,EAEAC,GAASN,EAAeE,EAAQ,GAAIA,EAAQ,GAAII,KAClDF,EAAatL,EAAS,OAAIuL,EAAYD,EACtCtL,EAAS,GAEXgL,EAASvH,OAAOuH,KACPK,EAAQrL,GAAQ,CACvB,IAAI0I,EAAS0C,EAAQC,GACjB3C,GACFyC,EAASH,EAAQtC,EAAQ2C,EAAOC,EAEpC,CACA,OAAON,CACT,EACF,C,oEClCA,SAASS,EAAQC,GAGf,OAAOD,EAAU,mBAAqBE,QAAU,iBAAmBA,OAAOC,SAAW,SAAUF,GAC7F,cAAcA,CAChB,EAAI,SAAUA,GACZ,OAAOA,GAAK,mBAAqBC,QAAUD,EAAEG,cAAgBF,QAAUD,IAAMC,OAAOG,UAAY,gBAAkBJ,CACpH,EAAGD,EAAQC,EACb,CCNA,SAASK,EAAcpQ,GACrB,IAAIqQ,ECFN,SAAqBrQ,GACnB,GAAI,UAAY8P,EAAQ9P,KAAOA,EAAG,OAAOA,EACzC,IAAIsQ,EAAItQ,EAAEgQ,OAAOO,aACjB,QAAI,IAAWD,EAAG,CAChB,IAAID,EAAIC,EAAEE,KAAKxQ,EAAGyQ,UAClB,GAAI,UAAYX,EAAQO,GAAI,OAAOA,EACnC,MAAM,IAAIK,UAAU,+CACtB,CACA,OAAyBvF,OAAiBnL,EAC5C,CDPUuQ,CAAYvQ,GACpB,MAAO,UAAY8P,EAAQO,GAAKA,EAAIA,EAAI,EAC1C,CEJA,SAASM,EAAgBL,EAAGG,EAAGzQ,GAC7B,OAAQyQ,EAAIL,EAAcK,MAAOH,EAAIxI,OAAO8I,eAAeN,EAAGG,EAAG,CAC/DtS,MAAO6B,EACP6Q,YAAY,EACZC,cAAc,EACdC,UAAU,IACPT,EAAEG,GAAKzQ,EAAGsQ,CACjB,CCPA,SAASU,EAAkBV,EAAGG,GAC5B,IAAK,IAAIzQ,EAAI,EAAGA,EAAIyQ,EAAEpM,OAAQrE,IAAK,CACjC,IAAI+P,EAAIU,EAAEzQ,GACV+P,EAAEc,WAAad,EAAEc,aAAc,EAAId,EAAEe,cAAe,EAAI,UAAWf,IAAMA,EAAEgB,UAAW,GAAKjJ,OAAO8I,eAAeN,EAAGF,EAAcL,EAAElL,KAAMkL,EAC5I,CACF,CCkBA,IAAIkB,EAA8B,oBAAXzN,QAA8C,oBAAb0N,UAAiD,oBAAdC,UAEvFC,EAAkB,WAEpB,IADA,IAAIC,EAAwB,CAAC,OAAQ,UAAW,WACvChB,EAAI,EAAGA,EAAIgB,EAAsBhN,OAAQgM,GAAK,EACrD,GAAIY,GAAaE,UAAUG,UAAU/H,QAAQ8H,EAAsBhB,KAAO,EACxE,OAAO,EAGX,OAAO,CACT,CARsB,GAgDlBkB,EAXqBN,GAAazN,OAAOyK,QA3B7C,SAA2BuD,GACzB,IAAIC,GAAS,EACb,OAAO,WACDA,IAGJA,GAAS,EACTjO,OAAOyK,QAAQyD,UAAU3O,KAAK,WAC5B0O,GAAS,EACTD,GACF,GACF,CACF,EAEA,SAAsBA,GACpB,IAAIG,GAAY,EAChB,OAAO,WACAA,IACHA,GAAY,EACZ/N,WAAW,WACT+N,GAAY,EACZH,GACF,EAAGJ,GAEP,CACF,EAsBA,SAASQ,EAAWC,GAElB,OAAOA,GAA8D,sBADvD,CAAC,EACmBC,SAAStB,KAAKqB,EAClD,CASA,SAASE,EAAyBC,EAASC,GACzC,GAAyB,IAArBD,EAAQE,SACV,MAAO,GAGT,IACIC,EADSH,EAAQI,cAAcC,YAClBC,iBAAiBN,EAAS,MAC3C,OAAOC,EAAWE,EAAIF,GAAYE,CACpC,CASA,SAASI,EAAcP,GACrB,MAAyB,SAArBA,EAAQQ,SACHR,EAEFA,EAAQS,YAAcT,EAAQU,IACvC,CASA,SAASC,EAAgBX,GAEvB,IAAKA,EACH,OAAOd,SAAS0B,KAGlB,OAAQZ,EAAQQ,UACd,IAAK,OACL,IAAK,OACH,OAAOR,EAAQI,cAAcQ,KAC/B,IAAK,YACH,OAAOZ,EAAQY,KAKnB,IAAIC,EAAwBd,EAAyBC,GACjDc,EAAWD,EAAsBC,SACjCC,EAAYF,EAAsBE,UAClCC,EAAYH,EAAsBG,UAEtC,MAAI,wBAAwBC,KAAKH,EAAWE,EAAYD,GAC/Cf,EAGFW,EAAgBJ,EAAcP,GACvC,CASA,SAASkB,EAAiBC,GACxB,OAAOA,GAAaA,EAAUC,cAAgBD,EAAUC,cAAgBD,CAC1E,CAEA,IAAIE,EAASpC,MAAgBzN,OAAO8P,uBAAwBpC,SAASqC,cACjEC,EAASvC,GAAa,UAAUgC,KAAK9B,UAAUG,WASnD,SAASmC,EAAKnR,GACZ,OAAgB,KAAZA,EACK+Q,EAEO,KAAZ/Q,EACKkR,EAEFH,GAAUG,CACnB,CASA,SAASE,EAAgB1B,GACvB,IAAKA,EACH,OAAOd,SAASyC,gBAQlB,IALA,IAAIC,EAAiBH,EAAK,IAAMvC,SAAS0B,KAAO,KAG5CiB,EAAe7B,EAAQ6B,cAAgB,KAEpCA,IAAiBD,GAAkB5B,EAAQ8B,oBAChDD,GAAgB7B,EAAUA,EAAQ8B,oBAAoBD,aAGxD,IAAIrB,EAAWqB,GAAgBA,EAAarB,SAE5C,OAAKA,GAAyB,SAAbA,GAAoC,SAAbA,GAMsB,IAA1D,CAAC,KAAM,KAAM,SAASjJ,QAAQsK,EAAarB,WAA2E,WAAvDT,EAAyB8B,EAAc,YACjGH,EAAgBG,GAGlBA,EATE7B,EAAUA,EAAQI,cAAcuB,gBAAkBzC,SAASyC,eAUtE,CAkBA,SAASI,EAAQC,GACf,OAAwB,OAApBA,EAAKvB,WACAsB,EAAQC,EAAKvB,YAGfuB,CACT,CAUA,SAASC,EAAuBC,EAAUC,GAExC,KAAKD,GAAaA,EAAShC,UAAaiC,GAAaA,EAASjC,UAC5D,OAAOhB,SAASyC,gBAIlB,IAAIS,EAAQF,EAASG,wBAAwBF,GAAYG,KAAKC,4BAC1DC,EAAQJ,EAAQF,EAAWC,EAC3BM,EAAML,EAAQD,EAAWD,EAGzBQ,EAAQxD,SAASyD,cACrBD,EAAME,SAASJ,EAAO,GACtBE,EAAMG,OAAOJ,EAAK,GAClB,IA/CyBzC,EACrBQ,EA8CAsC,EAA0BJ,EAAMI,wBAIpC,GAAIZ,IAAaY,GAA2BX,IAAaW,GAA2BN,EAAMO,SAASN,GACjG,MAjDe,UAFbjC,GADqBR,EAoDD8C,GAnDDtC,WAKH,SAAbA,GAAuBkB,EAAgB1B,EAAQgD,qBAAuBhD,EAkDpE0B,EAAgBoB,GAHdA,EAOX,IAAIG,EAAelB,EAAQG,GAC3B,OAAIe,EAAavC,KACRuB,EAAuBgB,EAAavC,KAAMyB,GAE1CF,EAAuBC,EAAUH,EAAQI,GAAUzB,KAE9D,CAUA,SAASwC,EAAUlD,GACjB,IAEImD,EAAqB,SAFdC,UAAU/Q,OAAS,QAAsBuL,IAAjBwF,UAAU,GAAmBA,UAAU,GAAK,OAE9C,YAAc,aAC3C5C,EAAWR,EAAQQ,SAEvB,GAAiB,SAAbA,GAAoC,SAAbA,EAAqB,CAC9C,IAAI6C,EAAOrD,EAAQI,cAAcuB,gBAEjC,OADuB3B,EAAQI,cAAckD,kBAAoBD,GACzCF,EAC1B,CAEA,OAAOnD,EAAQmD,EACjB,CAkCA,SAASI,EAAeC,EAAQC,GAC9B,IAAIC,EAAiB,MAATD,EAAe,OAAS,MAChCE,EAAkB,SAAVD,EAAmB,QAAU,SAEzC,OAAOE,WAAWJ,EAAO,SAAWE,EAAQ,UAAYE,WAAWJ,EAAO,SAAWG,EAAQ,SAC/F,CAEA,SAASE,EAAQJ,EAAM7C,EAAMyC,EAAMS,GACjC,OAAOC,KAAKC,IAAIpD,EAAK,SAAW6C,GAAO7C,EAAK,SAAW6C,GAAOJ,EAAK,SAAWI,GAAOJ,EAAK,SAAWI,GAAOJ,EAAK,SAAWI,GAAOhC,EAAK,IAAMwC,SAASZ,EAAK,SAAWI,IAASQ,SAASH,EAAc,UAAqB,WAATL,EAAoB,MAAQ,UAAYQ,SAASH,EAAc,UAAqB,WAATL,EAAoB,SAAW,WAAa,EAC5U,CAEA,SAASS,EAAehF,GACtB,IAAI0B,EAAO1B,EAAS0B,KAChByC,EAAOnE,EAASyC,gBAChBmC,EAAgBrC,EAAK,KAAOnB,iBAAiB+C,GAEjD,MAAO,CACLc,OAAQN,EAAQ,SAAUjD,EAAMyC,EAAMS,GACtCM,MAAOP,EAAQ,QAASjD,EAAMyC,EAAMS,GAExC,CAEA,IAMIO,EAAc,WAChB,SAASC,EAAiBC,EAAQC,GAChC,IAAK,IAAInG,EAAI,EAAGA,EAAImG,EAAMnS,OAAQgM,IAAK,CACrC,IAAIoG,EAAaD,EAAMnG,GACvBoG,EAAW5F,WAAa4F,EAAW5F,aAAc,EACjD4F,EAAW3F,cAAe,EACtB,UAAW2F,IAAYA,EAAW1F,UAAW,GACjDjJ,OAAO8I,eAAe2F,EAAQE,EAAW5R,IAAK4R,EAChD,CACF,CAEA,OAAO,SAAUC,EAAaC,EAAYC,GAGxC,OAFID,GAAYL,EAAiBI,EAAYvG,UAAWwG,GACpDC,GAAaN,EAAiBI,EAAaE,GACxCF,CACT,CACF,CAhBkB,GAsBd9F,EAAiB,SAAUiG,EAAKhS,EAAK1G,GAYvC,OAXI0G,KAAOgS,EACT/O,OAAO8I,eAAeiG,EAAKhS,EAAK,CAC9B1G,MAAOA,EACP0S,YAAY,EACZC,cAAc,EACdC,UAAU,IAGZ8F,EAAIhS,GAAO1G,EAGN0Y,CACT,EAEIC,EAAWhP,OAAOiP,QAAU,SAAUR,GACxC,IAAK,IAAIlG,EAAI,EAAGA,EAAI+E,UAAU/Q,OAAQgM,IAAK,CACzC,IAAItD,EAASqI,UAAU/E,GAEvB,IAAK,IAAIxL,KAAOkI,EACVjF,OAAOqI,UAAU6G,eAAexG,KAAKzD,EAAQlI,KAC/C0R,EAAO1R,GAAOkI,EAAOlI,GAG3B,CAEA,OAAO0R,CACT,EASA,SAASU,EAAcC,GACrB,OAAOJ,EAAS,CAAC,EAAGI,EAAS,CAC3BC,MAAOD,EAAQE,KAAOF,EAAQd,MAC9BiB,OAAQH,EAAQI,IAAMJ,EAAQf,QAElC,CASA,SAASoB,EAAsBvF,GAC7B,IAAIwF,EAAO,CAAC,EAKZ,IACE,GAAI/D,EAAK,IAAK,CACZ+D,EAAOxF,EAAQuF,wBACf,IAAIE,EAAYvC,EAAUlD,EAAS,OAC/B0F,EAAaxC,EAAUlD,EAAS,QACpCwF,EAAKF,KAAOG,EACZD,EAAKJ,MAAQM,EACbF,EAAKH,QAAUI,EACfD,EAAKL,OAASO,CAChB,MACEF,EAAOxF,EAAQuF,uBAEnB,CAAE,MAAOjH,GAAI,CAEb,IAAIqH,EAAS,CACXP,KAAMI,EAAKJ,KACXE,IAAKE,EAAKF,IACVlB,MAAOoB,EAAKL,MAAQK,EAAKJ,KACzBjB,OAAQqB,EAAKH,OAASG,EAAKF,KAIzBM,EAA6B,SAArB5F,EAAQQ,SAAsB0D,EAAelE,EAAQI,eAAiB,CAAC,EAC/EgE,EAAQwB,EAAMxB,OAASpE,EAAQ6F,aAAeF,EAAOvB,MACrDD,EAASyB,EAAMzB,QAAUnE,EAAQ8F,cAAgBH,EAAOxB,OAExD4B,EAAiB/F,EAAQgG,YAAc5B,EACvC6B,EAAgBjG,EAAQkG,aAAe/B,EAI3C,GAAI4B,GAAkBE,EAAe,CACnC,IAAIzC,EAASzD,EAAyBC,GACtC+F,GAAkBxC,EAAeC,EAAQ,KACzCyC,GAAiB1C,EAAeC,EAAQ,KAExCmC,EAAOvB,OAAS2B,EAChBJ,EAAOxB,QAAU8B,CACnB,CAEA,OAAOhB,EAAcU,EACvB,CAEA,SAASQ,EAAqCC,EAAUC,GACtD,IAAIC,EAAgBlD,UAAU/Q,OAAS,QAAsBuL,IAAjBwF,UAAU,IAAmBA,UAAU,GAE/E5B,EAASC,EAAK,IACdtT,EAA6B,SAApBkY,EAAO7F,SAChB+F,EAAehB,EAAsBa,GACrCI,EAAajB,EAAsBc,GACnCI,EAAe9F,EAAgByF,GAE/B5C,EAASzD,EAAyBsG,GAClCK,EAAiB9C,WAAWJ,EAAOkD,gBACnCC,EAAkB/C,WAAWJ,EAAOmD,iBAGpCL,GAAiBnY,IACnBqY,EAAWlB,IAAMvB,KAAKC,IAAIwC,EAAWlB,IAAK,GAC1CkB,EAAWpB,KAAOrB,KAAKC,IAAIwC,EAAWpB,KAAM,IAE9C,IAAIF,EAAUD,EAAc,CAC1BK,IAAKiB,EAAajB,IAAMkB,EAAWlB,IAAMoB,EACzCtB,KAAMmB,EAAanB,KAAOoB,EAAWpB,KAAOuB,EAC5CvC,MAAOmC,EAAanC,MACpBD,OAAQoC,EAAapC,SASvB,GAPAe,EAAQ0B,UAAY,EACpB1B,EAAQ2B,WAAa,GAMhBrF,GAAUrT,EAAQ,CACrB,IAAIyY,EAAYhD,WAAWJ,EAAOoD,WAC9BC,EAAajD,WAAWJ,EAAOqD,YAEnC3B,EAAQI,KAAOoB,EAAiBE,EAChC1B,EAAQG,QAAUqB,EAAiBE,EACnC1B,EAAQE,MAAQuB,EAAkBE,EAClC3B,EAAQC,OAASwB,EAAkBE,EAGnC3B,EAAQ0B,UAAYA,EACpB1B,EAAQ2B,WAAaA,CACvB,CAMA,OAJIrF,IAAW8E,EAAgBD,EAAOtD,SAAS0D,GAAgBJ,IAAWI,GAA0C,SAA1BA,EAAajG,YACrG0E,EA1NJ,SAAuBM,EAAMxF,GAC3B,IAAI8G,EAAW1D,UAAU/Q,OAAS,QAAsBuL,IAAjBwF,UAAU,IAAmBA,UAAU,GAE1EqC,EAAYvC,EAAUlD,EAAS,OAC/B0F,EAAaxC,EAAUlD,EAAS,QAChC+G,EAAWD,GAAY,EAAI,EAK/B,OAJAtB,EAAKF,KAAOG,EAAYsB,EACxBvB,EAAKH,QAAUI,EAAYsB,EAC3BvB,EAAKJ,MAAQM,EAAaqB,EAC1BvB,EAAKL,OAASO,EAAaqB,EACpBvB,CACT,CA+McwB,CAAc9B,EAASmB,IAG5BnB,CACT,CA+BA,SAAS+B,EAAQjH,GACf,IAAIQ,EAAWR,EAAQQ,SACvB,GAAiB,SAAbA,GAAoC,SAAbA,EACzB,OAAO,EAET,GAAsD,UAAlDT,EAAyBC,EAAS,YACpC,OAAO,EAET,IAAIS,EAAaF,EAAcP,GAC/B,QAAKS,GAGEwG,EAAQxG,EACjB,CAUA,SAASyG,EAA6BlH,GAEpC,IAAKA,IAAYA,EAAQmH,eAAiB1F,IACxC,OAAOvC,SAASyC,gBAGlB,IADA,IAAIyF,EAAKpH,EAAQmH,cACVC,GAAoD,SAA9CrH,EAAyBqH,EAAI,cACxCA,EAAKA,EAAGD,cAEV,OAAOC,GAAMlI,SAASyC,eACxB,CAaA,SAAS0F,EAAcC,EAAQnG,EAAWoG,EAASC,GACjD,IAAIlB,EAAgBlD,UAAU/Q,OAAS,QAAsBuL,IAAjBwF,UAAU,IAAmBA,UAAU,GAI/EqE,EAAa,CAAEnC,IAAK,EAAGF,KAAM,GAC7BvD,EAAeyE,EAAgBY,EAA6BI,GAAUrF,EAAuBqF,EAAQpG,EAAiBC,IAG1H,GAA0B,aAAtBqG,EACFC,EArFJ,SAAuDzH,GACrD,IAAI0H,EAAgBtE,UAAU/Q,OAAS,QAAsBuL,IAAjBwF,UAAU,IAAmBA,UAAU,GAE/EC,EAAOrD,EAAQI,cAAcuB,gBAC7BgG,EAAiBxB,EAAqCnG,EAASqD,GAC/De,EAAQL,KAAKC,IAAIX,EAAKwC,YAAarU,OAAOoW,YAAc,GACxDzD,EAASJ,KAAKC,IAAIX,EAAKyC,aAActU,OAAOqW,aAAe,GAE3DpC,EAAaiC,EAAkC,EAAlBxE,EAAUG,GACvCqC,EAAcgC,EAA0C,EAA1BxE,EAAUG,EAAM,QASlD,OAAO4B,EAPM,CACXK,IAAKG,EAAYkC,EAAerC,IAAMqC,EAAef,UACrDxB,KAAMM,EAAaiC,EAAevC,KAAOuC,EAAed,WACxDzC,MAAOA,EACPD,OAAQA,GAIZ,CAkEiB2D,CAA8CjG,EAAcyE,OACpE,CAEL,IAAIyB,OAAiB,EACK,iBAAtBP,EAE8B,UADhCO,EAAiBpH,EAAgBJ,EAAcY,KAC5BX,WACjBuH,EAAiBT,EAAOlH,cAAcuB,iBAGxCoG,EAD+B,WAAtBP,EACQF,EAAOlH,cAAcuB,gBAErB6F,EAGnB,IAAItC,EAAUiB,EAAqC4B,EAAgBlG,EAAcyE,GAGjF,GAAgC,SAA5ByB,EAAevH,UAAwByG,EAAQpF,GAWjD4F,EAAavC,MAXmD,CAChE,IAAI8C,EAAkB9D,EAAeoD,EAAOlH,eACxC+D,EAAS6D,EAAgB7D,OACzBC,EAAQ4D,EAAgB5D,MAE5BqD,EAAWnC,KAAOJ,EAAQI,IAAMJ,EAAQ0B,UACxCa,EAAWpC,OAASlB,EAASe,EAAQI,IACrCmC,EAAWrC,MAAQF,EAAQE,KAAOF,EAAQ2B,WAC1CY,EAAWtC,MAAQf,EAAQc,EAAQE,IACrC,CAIF,CAIA,IAAI6C,EAAqC,iBADzCV,EAAUA,GAAW,GAOrB,OALAE,EAAWrC,MAAQ6C,EAAkBV,EAAUA,EAAQnC,MAAQ,EAC/DqC,EAAWnC,KAAO2C,EAAkBV,EAAUA,EAAQjC,KAAO,EAC7DmC,EAAWtC,OAAS8C,EAAkBV,EAAUA,EAAQpC,OAAS,EACjEsC,EAAWpC,QAAU4C,EAAkBV,EAAUA,EAAQlC,QAAU,EAE5DoC,CACT,CAkBA,SAASS,EAAqBC,EAAWC,EAASd,EAAQnG,EAAWqG,GACnE,IAAID,EAAUnE,UAAU/Q,OAAS,QAAsBuL,IAAjBwF,UAAU,GAAmBA,UAAU,GAAK,EAElF,IAAmC,IAA/B+E,EAAU5Q,QAAQ,QACpB,OAAO4Q,EAGT,IAAIV,EAAaJ,EAAcC,EAAQnG,EAAWoG,EAASC,GAEvDa,EAAQ,CACV/C,IAAK,CACHlB,MAAOqD,EAAWrD,MAClBD,OAAQiE,EAAQ9C,IAAMmC,EAAWnC,KAEnCH,MAAO,CACLf,MAAOqD,EAAWtC,MAAQiD,EAAQjD,MAClChB,OAAQsD,EAAWtD,QAErBkB,OAAQ,CACNjB,MAAOqD,EAAWrD,MAClBD,OAAQsD,EAAWpC,OAAS+C,EAAQ/C,QAEtCD,KAAM,CACJhB,MAAOgE,EAAQhD,KAAOqC,EAAWrC,KACjCjB,OAAQsD,EAAWtD,SAInBmE,EAAcxS,OAAOuF,KAAKgN,GAAOzS,IAAI,SAAU/C,GACjD,OAAOiS,EAAS,CACdjS,IAAKA,GACJwV,EAAMxV,GAAM,CACb0V,MAhDWC,EAgDGH,EAAMxV,GA/CZ2V,EAAKpE,MACJoE,EAAKrE,UAFpB,IAAiBqE,CAkDf,GAAGhP,KAAK,SAAUC,EAAGC,GACnB,OAAOA,EAAE6O,KAAO9O,EAAE8O,IACpB,GAEIE,EAAgBH,EAAYtS,OAAO,SAAU0S,GAC/C,IAAItE,EAAQsE,EAAMtE,MACdD,EAASuE,EAAMvE,OACnB,OAAOC,GAASkD,EAAOzB,aAAe1B,GAAUmD,EAAOxB,YACzD,GAEI6C,EAAoBF,EAAcpW,OAAS,EAAIoW,EAAc,GAAG5V,IAAMyV,EAAY,GAAGzV,IAErF+V,EAAYT,EAAUU,MAAM,KAAK,GAErC,OAAOF,GAAqBC,EAAY,IAAMA,EAAY,GAC5D,CAYA,SAASE,EAAoB3b,EAAOma,EAAQnG,GAC1C,IAAImF,EAAgBlD,UAAU/Q,OAAS,QAAsBuL,IAAjBwF,UAAU,GAAmBA,UAAU,GAAK,KAGxF,OAAO+C,EAAqChF,EADnBmF,EAAgBY,EAA6BI,GAAUrF,EAAuBqF,EAAQpG,EAAiBC,IACrDmF,EAC7E,CASA,SAASyC,EAAc/I,GACrB,IACIwD,EADSxD,EAAQI,cAAcC,YACfC,iBAAiBN,GACjCgJ,EAAIpF,WAAWJ,EAAOoD,WAAa,GAAKhD,WAAWJ,EAAOyF,cAAgB,GAC1EC,EAAItF,WAAWJ,EAAOqD,YAAc,GAAKjD,WAAWJ,EAAO2F,aAAe,GAK9E,MAJa,CACX/E,MAAOpE,EAAQgG,YAAckD,EAC7B/E,OAAQnE,EAAQkG,aAAe8C,EAGnC,CASA,SAASI,EAAqBjB,GAC5B,IAAIkB,EAAO,CAAEjE,KAAM,QAASD,MAAO,OAAQE,OAAQ,MAAOC,IAAK,UAC/D,OAAO6C,EAAU5b,QAAQ,yBAA0B,SAAU+c,GAC3D,OAAOD,EAAKC,EACd,EACF,CAYA,SAASC,EAAiBjC,EAAQkC,EAAkBrB,GAClDA,EAAYA,EAAUU,MAAM,KAAK,GAGjC,IAAIY,EAAaV,EAAczB,GAG3BoC,EAAgB,CAClBtF,MAAOqF,EAAWrF,MAClBD,OAAQsF,EAAWtF,QAIjBwF,GAAoD,IAA1C,CAAC,QAAS,QAAQpS,QAAQ4Q,GACpCyB,EAAWD,EAAU,MAAQ,OAC7BE,EAAgBF,EAAU,OAAS,MACnCG,EAAcH,EAAU,SAAW,QACnCI,EAAwBJ,EAAqB,QAAX,SAStC,OAPAD,EAAcE,GAAYJ,EAAiBI,GAAYJ,EAAiBM,GAAe,EAAIL,EAAWK,GAAe,EAEnHJ,EAAcG,GADZ1B,IAAc0B,EACeL,EAAiBK,GAAiBJ,EAAWM,GAE7CP,EAAiBJ,EAAqBS,IAGhEH,CACT,CAWA,SAASra,EAAK2a,EAAKC,GAEjB,OAAIhb,MAAMkP,UAAU9O,KACX2a,EAAI3a,KAAK4a,GAIXD,EAAIhU,OAAOiU,GAAO,EAC3B,CAoCA,SAASC,EAAaC,EAAWrd,EAAMsd,GAoBrC,YAnB8BxM,IAATwM,EAAqBD,EAAYA,EAAUE,MAAM,EA1BxE,SAAmBL,EAAKM,EAAMne,GAE5B,GAAI8C,MAAMkP,UAAUtH,UAClB,OAAOmT,EAAInT,UAAU,SAAU0T,GAC7B,OAAOA,EAAID,KAAUne,CACvB,GAIF,IAAIqe,EAAQnb,EAAK2a,EAAK,SAAUnF,GAC9B,OAAOA,EAAIyF,KAAUne,CACvB,GACA,OAAO6d,EAAIzS,QAAQiT,EACrB,CAa2E3T,CAAUsT,EAAW,OAAQC,KAEvFjb,QAAQ,SAAU4X,GAC3BA,EAAmB,UAErB0D,QAAQnS,KAAK,yDAEf,IAAIkH,EAAKuH,EAAmB,UAAKA,EAASvH,GACtCuH,EAAS1P,SAAWuI,EAAWJ,KAIjC1S,EAAKoY,QAAQoC,OAASrC,EAAcnY,EAAKoY,QAAQoC,QACjDxa,EAAKoY,QAAQ/D,UAAY8D,EAAcnY,EAAKoY,QAAQ/D,WAEpDrU,EAAO0S,EAAG1S,EAAMia,GAEpB,GAEOja,CACT,CASA,SAASyD,IAEP,IAAIsH,KAAK1K,MAAMud,YAAf,CAIA,IAAI5d,EAAO,CACT6d,SAAU9S,KACV2L,OAAQ,CAAC,EACToH,YAAa,CAAC,EACdC,WAAY,CAAC,EACbC,SAAS,EACT5F,QAAS,CAAC,GAIZpY,EAAKoY,QAAQ/D,UAAY2H,EAAoBjR,KAAK1K,MAAO0K,KAAKyP,OAAQzP,KAAKsJ,UAAWtJ,KAAKlL,QAAQoe,eAKnGje,EAAKqb,UAAYD,EAAqBrQ,KAAKlL,QAAQwb,UAAWrb,EAAKoY,QAAQ/D,UAAWtJ,KAAKyP,OAAQzP,KAAKsJ,UAAWtJ,KAAKlL,QAAQwd,UAAUa,KAAKxD,kBAAmB3P,KAAKlL,QAAQwd,UAAUa,KAAKzD,SAG9Lza,EAAKme,kBAAoBne,EAAKqb,UAE9Brb,EAAKie,cAAgBlT,KAAKlL,QAAQoe,cAGlCje,EAAKoY,QAAQoC,OAASiC,EAAiB1R,KAAKyP,OAAQxa,EAAKoY,QAAQ/D,UAAWrU,EAAKqb,WAEjFrb,EAAKoY,QAAQoC,OAAO4D,SAAWrT,KAAKlL,QAAQoe,cAAgB,QAAU,WAGtEje,EAAOod,EAAarS,KAAKsS,UAAWrd,GAI/B+K,KAAK1K,MAAMge,UAIdtT,KAAKlL,QAAQye,SAASte,IAHtB+K,KAAK1K,MAAMge,WAAY,EACvBtT,KAAKlL,QAAQ0e,SAASve,GApCxB,CAwCF,CAQA,SAASwe,EAAkBnB,EAAWoB,GACpC,OAAOpB,EAAUqB,KAAK,SAAUhD,GAC9B,IAAIzU,EAAOyU,EAAKzU,KAEhB,OADcyU,EAAKnR,SACDtD,IAASwX,CAC7B,EACF,CASA,SAASE,EAAyBxL,GAIhC,IAHA,IAAIyL,EAAW,EAAC,EAAO,KAAM,SAAU,MAAO,KAC1CC,EAAY1L,EAAS2L,OAAO,GAAGC,cAAgB5L,EAASoK,MAAM,GAEzDhM,EAAI,EAAGA,EAAIqN,EAASrZ,OAAQgM,IAAK,CACxC,IAAIyN,EAASJ,EAASrN,GAClB0N,EAAUD,EAAS,GAAKA,EAASH,EAAY1L,EACjD,QAA4C,IAAjCf,SAAS0B,KAAKoL,MAAMD,GAC7B,OAAOA,CAEX,CACA,OAAO,IACT,CAOA,SAASE,IAsBP,OArBApU,KAAK1K,MAAMud,aAAc,EAGrBY,EAAkBzT,KAAKsS,UAAW,gBACpCtS,KAAKyP,OAAO4E,gBAAgB,eAC5BrU,KAAKyP,OAAO0E,MAAMd,SAAW,GAC7BrT,KAAKyP,OAAO0E,MAAM1G,IAAM,GACxBzN,KAAKyP,OAAO0E,MAAM5G,KAAO,GACzBvN,KAAKyP,OAAO0E,MAAM7G,MAAQ,GAC1BtN,KAAKyP,OAAO0E,MAAM3G,OAAS,GAC3BxN,KAAKyP,OAAO0E,MAAMG,WAAa,GAC/BtU,KAAKyP,OAAO0E,MAAMP,EAAyB,cAAgB,IAG7D5T,KAAKuU,wBAIDvU,KAAKlL,QAAQ0f,iBACfxU,KAAKyP,OAAO7G,WAAW6L,YAAYzU,KAAKyP,QAEnCzP,IACT,CAOA,SAAS0U,EAAUvM,GACjB,IAAII,EAAgBJ,EAAQI,cAC5B,OAAOA,EAAgBA,EAAcC,YAAc7O,MACrD,CAEA,SAASgb,EAAsB/F,EAAcgG,EAAOC,EAAUC,GAC5D,IAAIC,EAAmC,SAA1BnG,EAAajG,SACtB+D,EAASqI,EAASnG,EAAarG,cAAcC,YAAcoG,EAC/DlC,EAAOsI,iBAAiBJ,EAAOC,EAAU,CAAEI,SAAS,IAE/CF,GACHJ,EAAsB7L,EAAgB4D,EAAO9D,YAAagM,EAAOC,EAAUC,GAE7EA,EAAche,KAAK4V,EACrB,CAQA,SAASwI,EAAoB5L,EAAWxU,EAASQ,EAAO6f,GAEtD7f,EAAM6f,YAAcA,EACpBT,EAAUpL,GAAW0L,iBAAiB,SAAU1f,EAAM6f,YAAa,CAAEF,SAAS,IAG9E,IAAIG,EAAgBtM,EAAgBQ,GAKpC,OAJAqL,EAAsBS,EAAe,SAAU9f,EAAM6f,YAAa7f,EAAMwf,eACxExf,EAAM8f,cAAgBA,EACtB9f,EAAM+f,eAAgB,EAEf/f,CACT,CAQA,SAASggB,IACFtV,KAAK1K,MAAM+f,gBACdrV,KAAK1K,MAAQ4f,EAAoBlV,KAAKsJ,UAAWtJ,KAAKlL,QAASkL,KAAK1K,MAAO0K,KAAKuV,gBAEpF,CAgCA,SAAShB,IACHvU,KAAK1K,MAAM+f,gBACbG,qBAAqBxV,KAAKuV,gBAC1BvV,KAAK1K,MA3BT,SAA8BgU,EAAWhU,GAcvC,OAZAof,EAAUpL,GAAWmM,oBAAoB,SAAUngB,EAAM6f,aAGzD7f,EAAMwf,cAAcxd,QAAQ,SAAUoV,GACpCA,EAAO+I,oBAAoB,SAAUngB,EAAM6f,YAC7C,GAGA7f,EAAM6f,YAAc,KACpB7f,EAAMwf,cAAgB,GACtBxf,EAAM8f,cAAgB,KACtB9f,EAAM+f,eAAgB,EACf/f,CACT,CAYiBogB,CAAqB1V,KAAKsJ,UAAWtJ,KAAK1K,OAE3D,CASA,SAASqgB,EAAUC,GACjB,MAAa,KAANA,IAAaC,MAAM9J,WAAW6J,KAAOE,SAASF,EACvD,CAUA,SAASG,GAAU5N,EAASwD,GAC1B1N,OAAOuF,KAAKmI,GAAQrU,QAAQ,SAAUmb,GACpC,IAAIuD,EAAO,IAEkE,IAAzE,CAAC,QAAS,SAAU,MAAO,QAAS,SAAU,QAAQtW,QAAQ+S,IAAgBkD,EAAUhK,EAAO8G,MACjGuD,EAAO,MAET7N,EAAQgM,MAAM1B,GAAQ9G,EAAO8G,GAAQuD,CACvC,EACF,CA8HA,IAAIC,GAAY7O,GAAa,WAAWgC,KAAK9B,UAAUG,WA8GvD,SAASyO,GAAmB5D,EAAW6D,EAAgBC,GACrD,IAAIC,EAAa7e,EAAK8a,EAAW,SAAU3B,GAEzC,OADWA,EAAKzU,OACAia,CAClB,GAEIG,IAAeD,GAAc/D,EAAUqB,KAAK,SAAUzE,GACxD,OAAOA,EAAShT,OAASka,GAAiBlH,EAAS1P,SAAW0P,EAAS3E,MAAQ8L,EAAW9L,KAC5F,GAEA,IAAK+L,EAAY,CACf,IAAIC,EAAc,IAAMJ,EAAiB,IACrCK,EAAY,IAAMJ,EAAgB,IACtCxD,QAAQnS,KAAK+V,EAAY,4BAA8BD,EAAc,4DAA8DA,EAAc,IACnJ,CACA,OAAOD,CACT,CAmIA,IAAIG,GAAa,CAAC,aAAc,OAAQ,WAAY,YAAa,MAAO,UAAW,cAAe,QAAS,YAAa,aAAc,SAAU,eAAgB,WAAY,OAAQ,cAGhLC,GAAkBD,GAAWjE,MAAM,GAYvC,SAASmE,GAAUrG,GACjB,IAAIsG,EAAUrL,UAAU/Q,OAAS,QAAsBuL,IAAjBwF,UAAU,IAAmBA,UAAU,GAEzE1F,EAAQ6Q,GAAgBhX,QAAQ4Q,GAChC6B,EAAMuE,GAAgBlE,MAAM3M,EAAQ,GAAGxH,OAAOqY,GAAgBlE,MAAM,EAAG3M,IAC3E,OAAO+Q,EAAUzE,EAAI0E,UAAY1E,CACnC,CAifA,IAAIG,GAAY,CASdwE,MAAO,CAELvM,MAAO,IAEP/K,SAAS,EAETmI,GA9HJ,SAAe1S,GACb,IAAIqb,EAAYrb,EAAKqb,UACjByG,EAAgBzG,EAAUU,MAAM,KAAK,GACrCgG,EAAiB1G,EAAUU,MAAM,KAAK,GAG1C,GAAIgG,EAAgB,CAClB,IAAIC,EAAgBhiB,EAAKoY,QACrB/D,EAAY2N,EAAc3N,UAC1BmG,EAASwH,EAAcxH,OAEvByH,GAA2D,IAA9C,CAAC,SAAU,OAAOxX,QAAQqX,GACvCI,EAAOD,EAAa,OAAS,MAC7BjF,EAAciF,EAAa,QAAU,SAErCE,EAAe,CACjBzM,MAAO5D,EAAe,CAAC,EAAGoQ,EAAM7N,EAAU6N,IAC1CvM,IAAK7D,EAAe,CAAC,EAAGoQ,EAAM7N,EAAU6N,GAAQ7N,EAAU2I,GAAexC,EAAOwC,KAGlFhd,EAAKoY,QAAQoC,OAASxC,EAAS,CAAC,EAAGwC,EAAQ2H,EAAaJ,GAC1D,CAEA,OAAO/hB,CACT,GA+IE2N,OAAQ,CAEN2H,MAAO,IAEP/K,SAAS,EAETmI,GA7RJ,SAAgB1S,EAAM0b,GACpB,IAQItD,EARAzK,EAAS+N,EAAK/N,OACd0N,EAAYrb,EAAKqb,UACjB2G,EAAgBhiB,EAAKoY,QACrBoC,EAASwH,EAAcxH,OACvBnG,EAAY2N,EAAc3N,UAE1ByN,EAAgBzG,EAAUU,MAAM,KAAK,GAwBzC,OApBE3D,EADEsI,GAAW/S,GACH,EAAEA,EAAQ,GAvFxB,SAAqBA,EAAQiP,EAAeF,EAAkBoF,GAC5D,IAAI1J,EAAU,CAAC,EAAG,GAKdgK,GAA0D,IAA9C,CAAC,QAAS,QAAQ3X,QAAQqX,GAItCO,EAAY1U,EAAOoO,MAAM,WAAWjT,IAAI,SAAUwZ,GACpD,OAAOA,EAAKpU,MACd,GAIIqU,EAAUF,EAAU5X,QAAQlI,EAAK8f,EAAW,SAAUC,GACxD,OAAgC,IAAzBA,EAAKzU,OAAO,OACrB,IAEIwU,EAAUE,KAAiD,IAArCF,EAAUE,GAAS9X,QAAQ,MACnDkT,QAAQnS,KAAK,gFAKf,IAAIgX,EAAa,cACbC,GAAmB,IAAbF,EAAiB,CAACF,EAAU9E,MAAM,EAAGgF,GAASnZ,OAAO,CAACiZ,EAAUE,GAASxG,MAAMyG,GAAY,KAAM,CAACH,EAAUE,GAASxG,MAAMyG,GAAY,IAAIpZ,OAAOiZ,EAAU9E,MAAMgF,EAAU,KAAO,CAACF,GAqC9L,OAlCAI,EAAMA,EAAI3Z,IAAI,SAAU4Z,EAAI9R,GAE1B,IAAIoM,GAAyB,IAAVpM,GAAewR,EAAYA,GAAa,SAAW,QAClEO,GAAoB,EACxB,OAAOD,EAGNE,OAAO,SAAUjW,EAAGC,GACnB,MAAwB,KAApBD,EAAEA,EAAEpH,OAAS,KAAwC,IAA3B,CAAC,IAAK,KAAKkF,QAAQmC,IAC/CD,EAAEA,EAAEpH,OAAS,GAAKqH,EAClB+V,GAAoB,EACbhW,GACEgW,GACThW,EAAEA,EAAEpH,OAAS,IAAMqH,EACnB+V,GAAoB,EACbhW,GAEAA,EAAEvD,OAAOwD,EAEpB,EAAG,IAEF9D,IAAI,SAAU+Z,GACb,OAxGN,SAAiBA,EAAK7F,EAAaJ,EAAeF,GAEhD,IAAIX,EAAQ8G,EAAInF,MAAM,6BAClBre,GAAS0c,EAAM,GACfgF,EAAOhF,EAAM,GAGjB,OAAK1c,EAIqB,IAAtB0hB,EAAKtW,QAAQ,KAYJ0N,EATJ,OADC4I,EAEMnE,EAKAF,GAIFM,GAAe,IAAM3d,EACf,OAAT0hB,GAA0B,OAATA,GAGb,OAATA,EACK9J,KAAKC,IAAI9E,SAASyC,gBAAgBmE,aAActU,OAAOqW,aAAe,GAEtE9D,KAAKC,IAAI9E,SAASyC,gBAAgBkE,YAAarU,OAAOoW,YAAc,IAE/D,IAAMzb,EAIbA,EA7BAwjB,CA+BX,CAiEaC,CAAQD,EAAK7F,EAAaJ,EAAeF,EAClD,EACF,IAGIra,QAAQ,SAAUqgB,EAAI9R,GACxB8R,EAAGrgB,QAAQ,SAAUigB,EAAMS,GACrBrC,EAAU4B,KACZlK,EAAQxH,IAAU0R,GAA2B,MAAnBI,EAAGK,EAAS,IAAc,EAAI,GAE5D,EACF,GACO3K,CACT,CAwBc4K,CAAYrV,EAAQ6M,EAAQnG,EAAWyN,GAG7B,SAAlBA,GACFtH,EAAOhC,KAAOJ,EAAQ,GACtBoC,EAAOlC,MAAQF,EAAQ,IACI,UAAlB0J,GACTtH,EAAOhC,KAAOJ,EAAQ,GACtBoC,EAAOlC,MAAQF,EAAQ,IACI,QAAlB0J,GACTtH,EAAOlC,MAAQF,EAAQ,GACvBoC,EAAOhC,KAAOJ,EAAQ,IACK,WAAlB0J,IACTtH,EAAOlC,MAAQF,EAAQ,GACvBoC,EAAOhC,KAAOJ,EAAQ,IAGxBpY,EAAKwa,OAASA,EACPxa,CACT,EAiQI2N,OAAQ,GAoBVsV,gBAAiB,CAEf3N,MAAO,IAEP/K,SAAS,EAETmI,GAlRJ,SAAyB1S,EAAMH,GAC7B,IAAI6a,EAAoB7a,EAAQ6a,mBAAqB9F,EAAgB5U,EAAK6d,SAASrD,QAK/Exa,EAAK6d,SAASxJ,YAAcqG,IAC9BA,EAAoB9F,EAAgB8F,IAMtC,IAAIwI,EAAgBvE,EAAyB,aACzCwE,EAAenjB,EAAK6d,SAASrD,OAAO0E,MACpC1G,EAAM2K,EAAa3K,IACnBF,EAAO6K,EAAa7K,KACpB8K,EAAYD,EAAaD,GAE7BC,EAAa3K,IAAM,GACnB2K,EAAa7K,KAAO,GACpB6K,EAAaD,GAAiB,GAE9B,IAAIvI,EAAaJ,EAAcva,EAAK6d,SAASrD,OAAQxa,EAAK6d,SAASxJ,UAAWxU,EAAQ4a,QAASC,EAAmB1a,EAAKie,eAIvHkF,EAAa3K,IAAMA,EACnB2K,EAAa7K,KAAOA,EACpB6K,EAAaD,GAAiBE,EAE9BvjB,EAAQ8a,WAAaA,EAErB,IAAIrF,EAAQzV,EAAQwjB,SAChB7I,EAASxa,EAAKoY,QAAQoC,OAEtB2C,EAAQ,CACVmG,QAAS,SAAiBjI,GACxB,IAAIhc,EAAQmb,EAAOa,GAInB,OAHIb,EAAOa,GAAaV,EAAWU,KAAexb,EAAQ0jB,sBACxDlkB,EAAQ4X,KAAKC,IAAIsD,EAAOa,GAAYV,EAAWU,KAE1CvJ,EAAe,CAAC,EAAGuJ,EAAWhc,EACvC,EACAmkB,UAAW,SAAmBnI,GAC5B,IAAIyB,EAAyB,UAAdzB,EAAwB,OAAS,MAC5Chc,EAAQmb,EAAOsC,GAInB,OAHItC,EAAOa,GAAaV,EAAWU,KAAexb,EAAQ0jB,sBACxDlkB,EAAQ4X,KAAKwM,IAAIjJ,EAAOsC,GAAWnC,EAAWU,IAA4B,UAAdA,EAAwBb,EAAOlD,MAAQkD,EAAOnD,UAErGvF,EAAe,CAAC,EAAGgL,EAAUzd,EACtC,GAUF,OAPAiW,EAAMjT,QAAQ,SAAUgZ,GACtB,IAAI6G,GAA+C,IAAxC,CAAC,OAAQ,OAAOzX,QAAQ4Q,GAAoB,UAAY,YACnEb,EAASxC,EAAS,CAAC,EAAGwC,EAAQ2C,EAAM+E,GAAM7G,GAC5C,GAEArb,EAAKoY,QAAQoC,OAASA,EAEfxa,CACT,EA0NIqjB,SAAU,CAAC,OAAQ,QAAS,MAAO,UAOnC5I,QAAS,EAMTC,kBAAmB,gBAYrBgJ,aAAc,CAEZpO,MAAO,IAEP/K,SAAS,EAETmI,GAlgBJ,SAAsB1S,GACpB,IAAIgiB,EAAgBhiB,EAAKoY,QACrBoC,EAASwH,EAAcxH,OACvBnG,EAAY2N,EAAc3N,UAE1BgH,EAAYrb,EAAKqb,UAAUU,MAAM,KAAK,GACtC4H,EAAQ1M,KAAK0M,MACb1B,GAAuD,IAA1C,CAAC,MAAO,UAAUxX,QAAQ4Q,GACvC6G,EAAOD,EAAa,QAAU,SAC9B2B,EAAS3B,EAAa,OAAS,MAC/BjF,EAAciF,EAAa,QAAU,SASzC,OAPIzH,EAAO0H,GAAQyB,EAAMtP,EAAUuP,MACjC5jB,EAAKoY,QAAQoC,OAAOoJ,GAAUD,EAAMtP,EAAUuP,IAAWpJ,EAAOwC,IAE9DxC,EAAOoJ,GAAUD,EAAMtP,EAAU6N,MACnCliB,EAAKoY,QAAQoC,OAAOoJ,GAAUD,EAAMtP,EAAU6N,KAGzCliB,CACT,GA2fE6jB,MAAO,CAELvO,MAAO,IAEP/K,SAAS,EAETmI,GApxBJ,SAAe1S,EAAMH,GACnB,IAAIikB,EAGJ,IAAK7C,GAAmBjhB,EAAK6d,SAASR,UAAW,QAAS,gBACxD,OAAOrd,EAGT,IAAI+jB,EAAelkB,EAAQqT,QAG3B,GAA4B,iBAAjB6Q,GAIT,KAHAA,EAAe/jB,EAAK6d,SAASrD,OAAOwJ,cAAcD,IAIhD,OAAO/jB,OAKT,IAAKA,EAAK6d,SAASrD,OAAOvE,SAAS8N,GAEjC,OADApG,QAAQnS,KAAK,iEACNxL,EAIX,IAAIqb,EAAYrb,EAAKqb,UAAUU,MAAM,KAAK,GACtCiG,EAAgBhiB,EAAKoY,QACrBoC,EAASwH,EAAcxH,OACvBnG,EAAY2N,EAAc3N,UAE1B4N,GAAuD,IAA1C,CAAC,OAAQ,SAASxX,QAAQ4Q,GAEvC4I,EAAMhC,EAAa,SAAW,QAC9BiC,EAAkBjC,EAAa,MAAQ,OACvCC,EAAOgC,EAAgBC,cACvBC,EAAUnC,EAAa,OAAS,MAChC2B,EAAS3B,EAAa,SAAW,QACjCoC,EAAmBpI,EAAc8H,GAAcE,GAQ/C5P,EAAUuP,GAAUS,EAAmB7J,EAAO0H,KAChDliB,EAAKoY,QAAQoC,OAAO0H,IAAS1H,EAAO0H,IAAS7N,EAAUuP,GAAUS,IAG/DhQ,EAAU6N,GAAQmC,EAAmB7J,EAAOoJ,KAC9C5jB,EAAKoY,QAAQoC,OAAO0H,IAAS7N,EAAU6N,GAAQmC,EAAmB7J,EAAOoJ,IAE3E5jB,EAAKoY,QAAQoC,OAASrC,EAAcnY,EAAKoY,QAAQoC,QAGjD,IAAI8J,EAASjQ,EAAU6N,GAAQ7N,EAAU4P,GAAO,EAAII,EAAmB,EAInEhR,EAAMJ,EAAyBjT,EAAK6d,SAASrD,QAC7C+J,EAAmBzN,WAAWzD,EAAI,SAAW6Q,IAC7CM,EAAmB1N,WAAWzD,EAAI,SAAW6Q,EAAkB,UAC/DO,EAAYH,EAAStkB,EAAKoY,QAAQoC,OAAO0H,GAAQqC,EAAmBC,EAQxE,OALAC,EAAYxN,KAAKC,IAAID,KAAKwM,IAAIjJ,EAAOyJ,GAAOI,EAAkBI,GAAY,GAE1EzkB,EAAK+jB,aAAeA,EACpB/jB,EAAKoY,QAAQyL,OAAmC/R,EAA1BgS,EAAsB,CAAC,EAAuC5B,EAAMjL,KAAKyN,MAAMD,IAAa3S,EAAegS,EAAqBM,EAAS,IAAKN,GAE7J9jB,CACT,EA6sBIkT,QAAS,aAcXgL,KAAM,CAEJ5I,MAAO,IAEP/K,SAAS,EAETmI,GA5oBJ,SAAc1S,EAAMH,GAElB,GAAI2e,EAAkBxe,EAAK6d,SAASR,UAAW,SAC7C,OAAOrd,EAGT,GAAIA,EAAKge,SAAWhe,EAAKqb,YAAcrb,EAAKme,kBAE1C,OAAOne,EAGT,IAAI2a,EAAaJ,EAAcva,EAAK6d,SAASrD,OAAQxa,EAAK6d,SAASxJ,UAAWxU,EAAQ4a,QAAS5a,EAAQ6a,kBAAmB1a,EAAKie,eAE3H5C,EAAYrb,EAAKqb,UAAUU,MAAM,KAAK,GACtC4I,EAAoBrI,EAAqBjB,GACzCS,EAAY9b,EAAKqb,UAAUU,MAAM,KAAK,IAAM,GAE5C6I,EAAY,GAEhB,OAAQ/kB,EAAQglB,UACd,IAhCI,OAiCFD,EAAY,CAACvJ,EAAWsJ,GACxB,MACF,IAlCS,YAmCPC,EAAYlD,GAAUrG,GACtB,MACF,IApCgB,mBAqCduJ,EAAYlD,GAAUrG,GAAW,GACjC,MACF,QACEuJ,EAAY/kB,EAAQglB,SAyDxB,OAtDAD,EAAUviB,QAAQ,SAAUyiB,EAAMlU,GAChC,GAAIyK,IAAcyJ,GAAQF,EAAUrf,SAAWqL,EAAQ,EACrD,OAAO5Q,EAGTqb,EAAYrb,EAAKqb,UAAUU,MAAM,KAAK,GACtC4I,EAAoBrI,EAAqBjB,GAEzC,IAAIuB,EAAgB5c,EAAKoY,QAAQoC,OAC7BuK,EAAa/kB,EAAKoY,QAAQ/D,UAG1BsP,EAAQ1M,KAAK0M,MACbqB,EAA4B,SAAd3J,GAAwBsI,EAAM/G,EAAcvE,OAASsL,EAAMoB,EAAWzM,OAAuB,UAAd+C,GAAyBsI,EAAM/G,EAActE,MAAQqL,EAAMoB,EAAW1M,QAAwB,QAAdgD,GAAuBsI,EAAM/G,EAAcrE,QAAUoL,EAAMoB,EAAWvM,MAAsB,WAAd6C,GAA0BsI,EAAM/G,EAAcpE,KAAOmL,EAAMoB,EAAWxM,QAEjU0M,EAAgBtB,EAAM/G,EAActE,MAAQqL,EAAMhJ,EAAWrC,MAC7D4M,EAAiBvB,EAAM/G,EAAcvE,OAASsL,EAAMhJ,EAAWtC,OAC/D8M,EAAexB,EAAM/G,EAAcpE,KAAOmL,EAAMhJ,EAAWnC,KAC3D4M,EAAkBzB,EAAM/G,EAAcrE,QAAUoL,EAAMhJ,EAAWpC,QAEjE8M,EAAoC,SAAdhK,GAAwB4J,GAA+B,UAAd5J,GAAyB6J,GAAgC,QAAd7J,GAAuB8J,GAA8B,WAAd9J,GAA0B+J,EAG3KnD,GAAuD,IAA1C,CAAC,MAAO,UAAUxX,QAAQ4Q,GAGvCiK,IAA0BzlB,EAAQ0lB,iBAAmBtD,GAA4B,UAAdnG,GAAyBmJ,GAAiBhD,GAA4B,QAAdnG,GAAuBoJ,IAAmBjD,GAA4B,UAAdnG,GAAyBqJ,IAAiBlD,GAA4B,QAAdnG,GAAuBsJ,GAGlQI,IAA8B3lB,EAAQ4lB,0BAA4BxD,GAA4B,UAAdnG,GAAyBoJ,GAAkBjD,GAA4B,QAAdnG,GAAuBmJ,IAAkBhD,GAA4B,UAAdnG,GAAyBsJ,IAAoBnD,GAA4B,QAAdnG,GAAuBqJ,GAElRO,EAAmBJ,GAAyBE,GAE5CR,GAAeK,GAAuBK,KAExC1lB,EAAKge,SAAU,GAEXgH,GAAeK,KACjBhK,EAAYuJ,EAAUhU,EAAQ,IAG5B8U,IACF5J,EAvJR,SAA8BA,GAC5B,MAAkB,QAAdA,EACK,QACgB,UAAdA,EACF,MAEFA,CACT,CAgJoB6J,CAAqB7J,IAGnC9b,EAAKqb,UAAYA,GAAaS,EAAY,IAAMA,EAAY,IAI5D9b,EAAKoY,QAAQoC,OAASxC,EAAS,CAAC,EAAGhY,EAAKoY,QAAQoC,OAAQiC,EAAiBzc,EAAK6d,SAASrD,OAAQxa,EAAKoY,QAAQ/D,UAAWrU,EAAKqb,YAE5Hrb,EAAOod,EAAapd,EAAK6d,SAASR,UAAWrd,EAAM,QAEvD,GACOA,CACT,EA2jBI6kB,SAAU,OAKVpK,QAAS,EAOTC,kBAAmB,WAQnB6K,gBAAgB,EAQhBE,yBAAyB,GAU3BG,MAAO,CAELtQ,MAAO,IAEP/K,SAAS,EAETmI,GArQJ,SAAe1S,GACb,IAAIqb,EAAYrb,EAAKqb,UACjByG,EAAgBzG,EAAUU,MAAM,KAAK,GACrCiG,EAAgBhiB,EAAKoY,QACrBoC,EAASwH,EAAcxH,OACvBnG,EAAY2N,EAAc3N,UAE1BwI,GAAwD,IAA9C,CAAC,OAAQ,SAASpS,QAAQqX,GAEpC+D,GAA6D,IAA5C,CAAC,MAAO,QAAQpb,QAAQqX,GAO7C,OALAtH,EAAOqC,EAAU,OAAS,OAASxI,EAAUyN,IAAkB+D,EAAiBrL,EAAOqC,EAAU,QAAU,UAAY,GAEvH7c,EAAKqb,UAAYiB,EAAqBjB,GACtCrb,EAAKoY,QAAQoC,OAASrC,EAAcqC,GAE7Bxa,CACT,GAiQE8lB,KAAM,CAEJxQ,MAAO,IAEP/K,SAAS,EAETmI,GA9TJ,SAAc1S,GACZ,IAAKihB,GAAmBjhB,EAAK6d,SAASR,UAAW,OAAQ,mBACvD,OAAOrd,EAGT,IAAIsb,EAAUtb,EAAKoY,QAAQ/D,UACvB0R,EAAQxjB,EAAKvC,EAAK6d,SAASR,UAAW,SAAUpD,GAClD,MAAyB,oBAAlBA,EAAShT,IAClB,GAAG0T,WAEH,GAAIW,EAAQ/C,OAASwN,EAAMvN,KAAO8C,EAAQhD,KAAOyN,EAAM1N,OAASiD,EAAQ9C,IAAMuN,EAAMxN,QAAU+C,EAAQjD,MAAQ0N,EAAMzN,KAAM,CAExH,IAAkB,IAAdtY,EAAK8lB,KACP,OAAO9lB,EAGTA,EAAK8lB,MAAO,EACZ9lB,EAAK+d,WAAW,uBAAyB,EAC3C,KAAO,CAEL,IAAkB,IAAd/d,EAAK8lB,KACP,OAAO9lB,EAGTA,EAAK8lB,MAAO,EACZ9lB,EAAK+d,WAAW,wBAAyB,CAC3C,CAEA,OAAO/d,CACT,GAmTEgmB,aAAc,CAEZ1Q,MAAO,IAEP/K,SAAS,EAETmI,GAtgCJ,SAAsB1S,EAAMH,GAC1B,IAAIqc,EAAIrc,EAAQqc,EACZE,EAAIvc,EAAQuc,EACZ5B,EAASxa,EAAKoY,QAAQoC,OAItByL,EAA8B1jB,EAAKvC,EAAK6d,SAASR,UAAW,SAAUpD,GACxE,MAAyB,eAAlBA,EAAShT,IAClB,GAAGif,qBACiCpV,IAAhCmV,GACFtI,QAAQnS,KAAK,iIAEf,IA6BI8M,EACAE,EA9BA0N,OAAkDpV,IAAhCmV,EAA4CA,EAA8BpmB,EAAQqmB,gBAEpGnR,EAAeH,EAAgB5U,EAAK6d,SAASrD,QAC7C2L,EAAmB1N,EAAsB1D,GAGzC2B,EAAS,CACX0H,SAAU5D,EAAO4D,UAGfhG,EA9DN,SAA2BpY,EAAMomB,GAC/B,IAAIpE,EAAgBhiB,EAAKoY,QACrBoC,EAASwH,EAAcxH,OACvBnG,EAAY2N,EAAc3N,UAC1BqQ,EAAQzN,KAAKyN,MACbf,EAAQ1M,KAAK0M,MAEb0C,EAAU,SAAiBC,GAC7B,OAAOA,CACT,EAEIC,EAAiB7B,EAAMrQ,EAAUiD,OACjCkP,EAAc9B,EAAMlK,EAAOlD,OAE3B2K,GAA4D,IAA/C,CAAC,OAAQ,SAASxX,QAAQzK,EAAKqb,WAC5CoL,GAA+C,IAAjCzmB,EAAKqb,UAAU5Q,QAAQ,KAIrCic,EAAuBN,EAAwBnE,GAAcwE,GAH3CF,EAAiB,GAAMC,EAAc,EAGuC9B,EAAQf,EAAjE0C,EACrCM,EAAqBP,EAAwB1B,EAAV2B,EAEvC,MAAO,CACL/N,KAAMoO,EANWH,EAAiB,GAAM,GAAKC,EAAc,GAAM,IAMtBC,GAAeL,EAAc5L,EAAOlC,KAAO,EAAIkC,EAAOlC,MACjGE,IAAKmO,EAAkBnM,EAAOhC,KAC9BD,OAAQoO,EAAkBnM,EAAOjC,QACjCF,MAAOqO,EAAoBlM,EAAOnC,OAEtC,CAkCgBuO,CAAkB5mB,EAAM0E,OAAOmiB,iBAAmB,IAAM7F,IAElEpK,EAAc,WAANsF,EAAiB,MAAQ,SACjCrF,EAAc,UAANuF,EAAgB,OAAS,QAKjC0K,EAAmBnI,EAAyB,aAiChD,GAhBInG,EAJU,WAAV5B,EAG4B,SAA1B7B,EAAarB,UACRqB,EAAaiE,aAAeZ,EAAQG,QAEpC4N,EAAiB9O,OAASe,EAAQG,OAGrCH,EAAQI,IAIZF,EAFU,UAAVzB,EAC4B,SAA1B9B,EAAarB,UACPqB,EAAagE,YAAcX,EAAQC,OAEnC8N,EAAiB7O,MAAQc,EAAQC,MAGpCD,EAAQE,KAEb4N,GAAmBY,EACrBpQ,EAAOoQ,GAAoB,eAAiBxO,EAAO,OAASE,EAAM,SAClE9B,EAAOE,GAAS,EAChBF,EAAOG,GAAS,EAChBH,EAAO2I,WAAa,gBACf,CAEL,IAAI0H,EAAsB,WAAVnQ,GAAsB,EAAI,EACtCoQ,EAAuB,UAAVnQ,GAAqB,EAAI,EAC1CH,EAAOE,GAAS4B,EAAMuO,EACtBrQ,EAAOG,GAASyB,EAAO0O,EACvBtQ,EAAO2I,WAAazI,EAAQ,KAAOC,CACrC,CAGA,IAAIkH,EAAa,CACf,cAAe/d,EAAKqb,WAQtB,OAJArb,EAAK+d,WAAa/F,EAAS,CAAC,EAAG+F,EAAY/d,EAAK+d,YAChD/d,EAAK0W,OAASsB,EAAS,CAAC,EAAGtB,EAAQ1W,EAAK0W,QACxC1W,EAAK8d,YAAc9F,EAAS,CAAC,EAAGhY,EAAKoY,QAAQyL,MAAO7jB,EAAK8d,aAElD9d,CACT,EAm7BIkmB,iBAAiB,EAMjBhK,EAAG,SAMHE,EAAG,SAkBL6K,WAAY,CAEV3R,MAAO,IAEP/K,SAAS,EAETmI,GAzpCJ,SAAoB1S,GApBpB,IAAuBkT,EAAS6K,EAoC9B,OAXA+C,GAAU9gB,EAAK6d,SAASrD,OAAQxa,EAAK0W,QAzBhBxD,EA6BPlT,EAAK6d,SAASrD,OA7BEuD,EA6BM/d,EAAK+d,WA5BzC/U,OAAOuF,KAAKwP,GAAY1b,QAAQ,SAAUmb,IAE1B,IADFO,EAAWP,GAErBtK,EAAQgU,aAAa1J,EAAMO,EAAWP,IAEtCtK,EAAQkM,gBAAgB5B,EAE5B,GAwBIxd,EAAK+jB,cAAgB/a,OAAOuF,KAAKvO,EAAK8d,aAAavY,QACrDub,GAAU9gB,EAAK+jB,aAAc/jB,EAAK8d,aAG7B9d,CACT,EA0oCImnB,OA9nCJ,SAA0B9S,EAAWmG,EAAQ3a,EAASunB,EAAiB/mB,GAErE,IAAIqc,EAAmBV,EAAoB3b,EAAOma,EAAQnG,EAAWxU,EAAQoe,eAKzE5C,EAAYD,EAAqBvb,EAAQwb,UAAWqB,EAAkBlC,EAAQnG,EAAWxU,EAAQwd,UAAUa,KAAKxD,kBAAmB7a,EAAQwd,UAAUa,KAAKzD,SAQ9J,OANAD,EAAO0M,aAAa,cAAe7L,GAInCyF,GAAUtG,EAAQ,CAAE4D,SAAUve,EAAQoe,cAAgB,QAAU,aAEzDpe,CACT,EAqnCIqmB,qBAAiBpV,IAuCjBuW,GAAW,CAKbhM,UAAW,SAMX4C,eAAe,EAMfmC,eAAe,EAOfb,iBAAiB,EAQjBhB,SAAU,WAAqB,EAU/BD,SAAU,WAAqB,EAO/BjB,UAAWA,IAeTiK,GAAS,WASX,SAASA,EAAOjT,EAAWmG,GACzB,IAAI+M,EAAQxc,KAERlL,EAAUyW,UAAU/Q,OAAS,QAAsBuL,IAAjBwF,UAAU,GAAmBA,UAAU,GAAK,CAAC,GA3jElE,SAAUuH,EAAUjG,GACvC,KAAMiG,aAAoBjG,GACxB,MAAM,IAAIhG,UAAU,oCAExB,CAwjEI4V,CAAezc,KAAMuc,GAErBvc,KAAKuV,eAAiB,WACpB,OAAOmH,sBAAsBF,EAAM9jB,OACrC,EAGAsH,KAAKtH,OAASgP,EAAS1H,KAAKtH,OAAOikB,KAAK3c,OAGxCA,KAAKlL,QAAUmY,EAAS,CAAC,EAAGsP,EAAOD,SAAUxnB,GAG7CkL,KAAK1K,MAAQ,CACXud,aAAa,EACbS,WAAW,EACXwB,cAAe,IAIjB9U,KAAKsJ,UAAYA,GAAaA,EAAUsT,OAAStT,EAAU,GAAKA,EAChEtJ,KAAKyP,OAASA,GAAUA,EAAOmN,OAASnN,EAAO,GAAKA,EAGpDzP,KAAKlL,QAAQwd,UAAY,CAAC,EAC1BrU,OAAOuF,KAAKyJ,EAAS,CAAC,EAAGsP,EAAOD,SAAShK,UAAWxd,EAAQwd,YAAYhb,QAAQ,SAAU4E,GACxFsgB,EAAM1nB,QAAQwd,UAAUpW,GAAQ+Q,EAAS,CAAC,EAAGsP,EAAOD,SAAShK,UAAUpW,IAAS,CAAC,EAAGpH,EAAQwd,UAAYxd,EAAQwd,UAAUpW,GAAQ,CAAC,EACrI,GAGA8D,KAAKsS,UAAYrU,OAAOuF,KAAKxD,KAAKlL,QAAQwd,WAAWvU,IAAI,SAAU7B,GACjE,OAAO+Q,EAAS,CACd/Q,KAAMA,GACLsgB,EAAM1nB,QAAQwd,UAAUpW,GAC7B,GAECyF,KAAK,SAAUC,EAAGC,GACjB,OAAOD,EAAE2I,MAAQ1I,EAAE0I,KACrB,GAMAvK,KAAKsS,UAAUhb,QAAQ,SAAU+kB,GAC3BA,EAAgB7c,SAAWuI,EAAWsU,EAAgBD,SACxDC,EAAgBD,OAAOI,EAAMlT,UAAWkT,EAAM/M,OAAQ+M,EAAM1nB,QAASunB,EAAiBG,EAAMlnB,MAEhG,GAGA0K,KAAKtH,SAEL,IAAI2c,EAAgBrV,KAAKlL,QAAQugB,cAC7BA,GAEFrV,KAAKsV,uBAGPtV,KAAK1K,MAAM+f,cAAgBA,CAC7B,CAoDA,OA9CA7I,EAAY+P,EAAQ,CAAC,CACnBvhB,IAAK,SACL1G,MAAO,WACL,OAAOoE,EAAOiO,KAAK3G,KACrB,GACC,CACDhF,IAAK,UACL1G,MAAO,WACL,OAAO8f,EAAQzN,KAAK3G,KACtB,GACC,CACDhF,IAAK,uBACL1G,MAAO,WACL,OAAOghB,EAAqB3O,KAAK3G,KACnC,GACC,CACDhF,IAAK,wBACL1G,MAAO,WACL,OAAOigB,EAAsB5N,KAAK3G,KACpC,KA2BKuc,CACT,CA9Ha,GAqJbA,GAAOM,OAA2B,oBAAXljB,OAAyBA,OAAS,YAAQmjB,YACjEP,GAAO9F,WAAaA,GACpB8F,GAAOD,SAAWA,GAElB,Y,ICzhFI,G,sBAEJ,SAASS,KACFA,GAAWC,OACdD,GAAWC,MAAO,EAClB,IAAyC,IAlC7C,WACE,IAAIC,EAAKtjB,OAAO2N,UAAUG,UACtByV,EAAOD,EAAGvd,QAAQ,SAEtB,GAAIwd,EAAO,EAET,OAAO9Q,SAAS6Q,EAAGE,UAAUD,EAAO,EAAGD,EAAGvd,QAAQ,IAAKwd,IAAQ,IAKjE,GAFcD,EAAGvd,QAAQ,YAEX,EAAG,CAEf,IAAI0d,EAAKH,EAAGvd,QAAQ,OACpB,OAAO0M,SAAS6Q,EAAGE,UAAUC,EAAK,EAAGH,EAAGvd,QAAQ,IAAK0d,IAAM,GAC7D,CAEA,IAAIC,EAAOJ,EAAGvd,QAAQ,SAEtB,OAAI2d,EAAO,EAEFjR,SAAS6Q,EAAGE,UAAUE,EAAO,EAAGJ,EAAGvd,QAAQ,IAAK2d,IAAQ,KAIzD,CACV,CAQWC,GAEX,CAmFA,SAASC,GAAmBC,EAAUrJ,EAAOsJ,EAAQC,EAASC,EAAsBC,EAElFC,EAAYC,EAAgBC,EAAmBC,GACrB,kBAAfH,IACTE,EAAoBD,EACpBA,EAAiBD,EACjBA,GAAa,GAIf,IAiBII,EAjBAnpB,EAA4B,mBAAX2oB,EAAwBA,EAAO3oB,QAAU2oB,EAsD9D,GApDID,GAAYA,EAASU,SACvBppB,EAAQopB,OAASV,EAASU,OAC1BppB,EAAQqpB,gBAAkBX,EAASW,gBACnCrpB,EAAQspB,WAAY,EAEhBT,IACF7oB,EAAQupB,YAAa,IAKrBX,IACF5oB,EAAQwpB,SAAWZ,GAKjBE,GAEFK,EAAO,SAAcjlB,IAEnBA,EAAUA,GACVgH,KAAKue,QAAUve,KAAKue,OAAOC,YAC3Bxe,KAAKwO,QAAUxO,KAAKwO,OAAO+P,QAAUve,KAAKwO,OAAO+P,OAAOC,aAGT,oBAAxBC,sBACrBzlB,EAAUylB,qBAIRtK,GACFA,EAAMxN,KAAK3G,KAAM+d,EAAkB/kB,IAIjCA,GAAWA,EAAQ0lB,uBACrB1lB,EAAQ0lB,sBAAsBC,IAAIf,EAEtC,EAIA9oB,EAAQ8pB,aAAeX,GACd9J,IACT8J,EAAOJ,EAAa,SAAU7kB,GAC5Bmb,EAAMxN,KAAK3G,KAAMge,EAAqBhlB,EAASgH,KAAK6e,MAAMC,SAASC,YACrE,EAAI,SAAU/lB,GACZmb,EAAMxN,KAAK3G,KAAM8d,EAAe9kB,GAClC,GAGEilB,EACF,GAAInpB,EAAQupB,WAAY,CAEtB,IAAIW,EAAiBlqB,EAAQopB,OAE7BppB,EAAQopB,OAAS,SAAkCe,EAAGjmB,GAEpD,OADAilB,EAAKtX,KAAK3N,GACHgmB,EAAeC,EAAGjmB,EAC3B,CACF,KAAO,CAEL,IAAIkmB,EAAWpqB,EAAQqqB,aACvBrqB,EAAQqqB,aAAeD,EAAW,GAAG7gB,OAAO6gB,EAAUjB,GAAQ,CAACA,EACjE,CAGF,OAAOR,CACT,CAGA,IAAI2B,GArKS,CACXljB,KAAM,iBACNyQ,MAAO,CACL0S,YAAa,CACXC,KAAMC,QACNC,SAAS,GAEXC,YAAa,CACXH,KAAMC,QACNC,SAAS,GAEXE,aAAc,CACZJ,KAAMC,QACNC,SAAS,IAGbG,QAAS,WACP,IAAInD,EAAQxc,KAEZ+c,KACA/c,KAAK4f,UAAU,WACbpD,EAAMqD,GAAKrD,EAAMsD,IAAI3R,YACrBqO,EAAMuD,GAAKvD,EAAMsD,IAAIzR,aAEjBmO,EAAM6C,aACR7C,EAAMwD,UAEV,GACA,IAAIxa,EAAS6B,SAAS4Y,cAAc,UACpCjgB,KAAKkgB,cAAgB1a,EACrBA,EAAO2W,aAAa,cAAe,QACnC3W,EAAO2W,aAAa,YAAa,GACjC3W,EAAO2a,OAASngB,KAAKogB,kBACrB5a,EAAO8Z,KAAO,YAEV,IACFtf,KAAK8f,IAAIO,YAAY7a,GAGvBA,EAAOvQ,KAAO,cAET,IACH+K,KAAK8f,IAAIO,YAAY7a,EAEzB,EACA8a,cAAe,WACbtgB,KAAKugB,sBACP,EACAC,QAAS,CACPC,iBAAkB,aACXzgB,KAAKyf,aAAezf,KAAK6f,KAAO7f,KAAK8f,IAAI3R,cAAgBnO,KAAK0f,cAAgB1f,KAAK+f,KAAO/f,KAAK8f,IAAIzR,gBACtGrO,KAAK6f,GAAK7f,KAAK8f,IAAI3R,YACnBnO,KAAK+f,GAAK/f,KAAK8f,IAAIzR,aACnBrO,KAAKggB,WAET,EACAA,SAAU,WACRhgB,KAAK0gB,MAAM,SAAU,CACnBnU,MAAOvM,KAAK6f,GACZvT,OAAQtM,KAAK+f,IAEjB,EACAK,kBAAmB,WACjBpgB,KAAKkgB,cAAcS,gBAAgBnY,YAAYwM,iBAAiB,SAAUhV,KAAKygB,kBAE/EzgB,KAAKygB,kBACP,EACAF,qBAAsB,WAChBvgB,KAAKkgB,eAAiBlgB,KAAKkgB,cAAcC,UACtC,IAAQngB,KAAKkgB,cAAcS,iBAC9B3gB,KAAKkgB,cAAcS,gBAAgBnY,YAAYiN,oBAAoB,SAAUzV,KAAKygB,kBAGpFzgB,KAAK8f,IAAIrL,YAAYzU,KAAKkgB,eAC1BlgB,KAAKkgB,cAAcC,OAAS,KAC5BngB,KAAKkgB,cAAgB,KAEzB,IA2FAU,GAAiB,WACnB,IAEIb,EAFM/f,KAEG6gB,eAIb,OANU7gB,KAIG8gB,MAAMC,IAAMhB,GAEf,MAAO,CACfiB,YAAa,kBACbC,MAAO,CACLC,SAAU,OAGhB,EAGAN,GAAeO,eAAgB,EAG/B,IAgBIC,GAAiC7D,GAAmB,CACtDW,OAAQ0C,GACRzC,gBAtB4B,SAIFpY,EAmBFqZ,GAhBH,mBAMc,OAHLrZ,GAauF,OAAOA,OAAWA,OAAWA,GAQhJ,GAAS,CAEXtN,QAAS,QACT4oB,QATF,SAAiBtpB,GAEfA,EAAIupB,UAAU,kBAAmBF,IACjCrpB,EAAIupB,UAAU,iBAAkBF,GAClC,GAQIG,GAAY,KAEM,oBAAX5nB,OACT4nB,GAAY5nB,OAAO5B,IACQ,oBAAX,aAChBwpB,GAAY,WAAOxpB,KAGjBwpB,IACFA,GAAUC,IAAI,I,2BClQZC,GAAoB,WAA8B,EAMtD,SAASC,GAAeptB,GAKtB,MAJqB,iBAAVA,IACTA,EAAQA,EAAM0c,MAAM,MAGf1c,CACT,CASA,SAASqtB,GAAWpS,EAAIqS,GACtB,IACIC,EADAC,EAAaJ,GAAeE,GAI9BC,EADEtS,EAAGwS,qBAAqBN,GACdC,GAAenS,EAAGwS,UAAUC,SAE5BN,GAAenS,EAAGwS,WAGhCD,EAAWxqB,QAAQ,SAAU2qB,IACU,IAAjCJ,EAAUniB,QAAQuiB,IACpBJ,EAAU/qB,KAAKmrB,EAEnB,GAEI1S,aAAc2S,WAChB3S,EAAG4M,aAAa,QAAS0F,EAAUM,KAAK,MAExC5S,EAAGwS,UAAYF,EAAUM,KAAK,IAElC,CASA,SAASC,GAAc7S,EAAIqS,GACzB,IACIC,EADAC,EAAaJ,GAAeE,GAI9BC,EADEtS,EAAGwS,qBAAqBN,GACdC,GAAenS,EAAGwS,UAAUC,SAE5BN,GAAenS,EAAGwS,WAGhCD,EAAWxqB,QAAQ,SAAU2qB,GAC3B,IAAIpc,EAAQgc,EAAUniB,QAAQuiB,IAEf,IAAXpc,GACFgc,EAAU1iB,OAAO0G,EAAO,EAE5B,GAEI0J,aAAc2S,WAChB3S,EAAG4M,aAAa,QAAS0F,EAAUM,KAAK,MAExC5S,EAAGwS,UAAYF,EAAUM,KAAK,IAElC,CAxEsB,oBAAXxoB,SACT8nB,GAAoB9nB,OAAO8nB,mBAwE7B,IAAIY,IAAkB,EAEtB,GAAsB,oBAAX1oB,OAAwB,CACjC0oB,IAAkB,EAElB,IACE,IAAIC,GAAOrkB,OAAO8I,eAAe,CAAC,EAAG,UAAW,CAC9ClS,IAAK,WACHwtB,IAAkB,CACpB,IAEF1oB,OAAOqb,iBAAiB,OAAQ,KAAMsN,GACxC,CAAE,MAAO7b,GAAI,CACf,CAEA,SAAS8b,GAAU/c,EAAQgd,GAAkB,IAAIhf,EAAOvF,OAAOuF,KAAKgC,GAAS,GAAIvH,OAAOwkB,sBAAuB,CAAE,IAAIC,EAAUzkB,OAAOwkB,sBAAsBjd,GAAagd,IAAgBE,EAAUA,EAAQvkB,OAAO,SAAUwkB,GAAO,OAAO1kB,OAAO2kB,yBAAyBpd,EAAQmd,GAAK3b,UAAY,IAAIxD,EAAK1M,KAAK+rB,MAAMrf,EAAMkf,EAAU,CAAE,OAAOlf,CAAM,CAEtV,SAASsf,GAAgBpW,GAAU,IAAK,IAAIlG,EAAI,EAAGA,EAAI+E,UAAU/Q,OAAQgM,IAAK,CAAE,IAAItD,EAAyB,MAAhBqI,UAAU/E,GAAa+E,UAAU/E,GAAK,CAAC,EAAOA,EAAI,EAAK+b,GAAUtkB,OAAOiF,IAAS,GAAM5L,QAAQ,SAAU0D,GAAO8L,EAAgB4F,EAAQ1R,EAAKkI,EAAOlI,GAAO,GAAeiD,OAAO8kB,0BAA6B9kB,OAAOwO,iBAAiBC,EAAQzO,OAAO8kB,0BAA0B7f,IAAmBqf,GAAUtkB,OAAOiF,IAAS5L,QAAQ,SAAU0D,GAAOiD,OAAO8I,eAAe2F,EAAQ1R,EAAKiD,OAAO2kB,yBAAyB1f,EAAQlI,GAAO,EAAM,CAAE,OAAO0R,CAAQ,CAC3hB,IAAIsW,GAAkB,CACpBC,WAAW,EACXC,MAAO,EACP1X,MAAM,EACN8E,UAAW,MACX6S,MAAO,GACP3F,SAAU,+GACV4F,QAAS,cACTxgB,OAAQ,GAENygB,GAAe,GAEfC,GAAuB,WAmCzB,SAASA,EAAQC,EAAYC,GAC3B,IAAIhH,EAAQxc,MCtJhB,SAAyB4B,EAAGgU,GAC1B,KAAMhU,aAAagU,GAAI,MAAM,IAAI/O,UAAU,oCAC7C,CDsJI4c,CAAgBzjB,KAAMsjB,GAEtBxc,EAAgB9G,KAAM,UAAW,IAEjC8G,EAAgB9G,KAAM,uBAAwB,SAAU0jB,EAAKpa,EAAW4Z,EAAOpuB,GAC7E,IAAI6uB,EAAmBD,EAAIC,kBAAoBD,EAAIE,WAAaF,EAAIG,cAcpE,QAAIrH,EAAMsH,aAAa5Y,SAASyY,KAE9BnH,EAAMsH,aAAa9O,iBAAiB0O,EAAIpE,KAd3B,SAASzK,EAASkP,GAC/B,IAAIC,EAAoBD,EAAKJ,kBAAoBI,EAAKH,WAAaG,EAAKF,cAExErH,EAAMsH,aAAarO,oBAAoBiO,EAAIpE,KAAMzK,GAG5CvL,EAAU4B,SAAS8Y,IAEtBxH,EAAMyH,cAAc3a,EAAWxU,EAAQouB,MAAOpuB,EAASivB,EAE3D,IAMS,EAIX,GAGAP,EAAWV,GAAgBA,GAAgB,CAAC,EAAGE,IAAkBQ,GACjED,EAAW3G,SAAW2G,EAAaA,EAAW,IAC9CvjB,KAAKkkB,KAAOlkB,KAAKkkB,KAAKvH,KAAK3c,MAC3BA,KAAK+a,KAAO/a,KAAK+a,KAAK4B,KAAK3c,MAE3BA,KAAKsJ,UAAYia,EACjBvjB,KAAKlL,QAAU0uB,EAEfxjB,KAAKmkB,SAAU,EAEfnkB,KAAKokB,OACP,CAolBA,OH9wBoB3d,EGsMP6c,GHtMU1c,EGsMD,CAAC,CACrB5L,IAAK,OACL1G,MAAO,WACL0L,KAAKqkB,MAAMrkB,KAAKsJ,UAAWtJ,KAAKlL,QAClC,GAOC,CACDkG,IAAK,OACL1G,MAAO,WACL0L,KAAKskB,OACP,GAOC,CACDtpB,IAAK,UACL1G,MAAO,WACL0L,KAAKukB,UACP,GAOC,CACDvpB,IAAK,SACL1G,MAAO,WACL,OAAI0L,KAAKmkB,QACAnkB,KAAK+a,OAEL/a,KAAKkkB,MAEhB,GACC,CACDlpB,IAAK,aACL1G,MAAO,SAAoBstB,GACzB5hB,KAAKwkB,SAAW5C,CAClB,GACC,CACD5mB,IAAK,aACL1G,MAAO,SAAoBmwB,GACzBzkB,KAAKlL,QAAQquB,MAAQsB,EAEjBzkB,KAAK8jB,cACP9jB,KAAK0kB,YAAYD,EAASzkB,KAAKlL,QAEnC,GACC,CACDkG,IAAK,aACL1G,MAAO,SAAoBQ,GACzB,IAAI6vB,GAAiB,EACjB/C,EAAU9sB,GAAWA,EAAQ8sB,SAAWgD,GAAU9vB,QAAQ+vB,aAEzDC,KAAQ9kB,KAAKwkB,SAAU5C,KAC1B5hB,KAAK+kB,WAAWnD,GAChB+C,GAAiB,GAGnB7vB,EAAUkwB,GAAWlwB,GACrB,IAAImwB,GAAmB,EACnBC,GAAc,EAUlB,IAAK,IAAIlqB,KARLgF,KAAKlL,QAAQ8N,SAAW9N,EAAQ8N,QAAU5C,KAAKlL,QAAQwb,YAAcxb,EAAQwb,YAC/E2U,GAAmB,IAGjBjlB,KAAKlL,QAAQ0oB,WAAa1oB,EAAQ0oB,UAAYxd,KAAKlL,QAAQsuB,UAAYtuB,EAAQsuB,SAAWpjB,KAAKlL,QAAQmuB,YAAcnuB,EAAQmuB,WAAa0B,KAC5IO,GAAc,GAGApwB,EACdkL,KAAKlL,QAAQkG,GAAOlG,EAAQkG,GAG9B,GAAIgF,KAAK8jB,aACP,GAAIoB,EAAa,CACf,IAAIC,EAASnlB,KAAKmkB,QAClBnkB,KAAKolB,UAELplB,KAAKokB,QAEDe,GACFnlB,KAAKkkB,MAET,MAAWe,GACTjlB,KAAKqlB,eAAe3sB,QAG1B,GAIC,CACDsC,IAAK,QACL1G,MAAO,WAEL,IAAIgxB,EAAyC,iBAAzBtlB,KAAKlL,QAAQsuB,QAAuBpjB,KAAKlL,QAAQsuB,QAAQpS,MAAM,KAAO,GAC1FhR,KAAKulB,aAAc,EACnBvlB,KAAKwlB,sBAAqD,IAA9BF,EAAO5lB,QAAQ,UAC3C4lB,EAASA,EAAOnnB,OAAO,SAAUilB,GAC/B,OAAyD,IAAlD,CAAC,QAAS,QAAS,SAAS1jB,QAAQ0jB,EAC7C,GAEApjB,KAAKylB,mBAAmBzlB,KAAKsJ,UAAWgc,EAAQtlB,KAAKlL,SAGrDkL,KAAK0lB,gBAAkB1lB,KAAKsJ,UAAUqc,aAAa,SACnD3lB,KAAKsJ,UAAU+K,gBAAgB,SAC/BrU,KAAKsJ,UAAU6S,aAAa,sBAAuBnc,KAAK0lB,gBAC1D,GAYC,CACD1qB,IAAK,UACL1G,MAAO,SAAiBgV,EAAWkU,GACjC,IAAIoI,EAAS5lB,KAGT6lB,EAAmBlsB,OAAO0N,SAAS4Y,cAAc,OACrD4F,EAAiBC,UAAYtI,EAASra,OACtC,IAAI4iB,EAAcF,EAAiBG,WAAW,GAkB9C,OAhBAD,EAAYruB,GAAKsI,KAAKlL,QAAQmxB,QAAU,WAAW5nB,OAAO6N,KAAKga,SAASje,SAAS,IAAIke,OAAO,EAAG,KAI/FJ,EAAY5J,aAAa,cAAe,QAEpCnc,KAAKlL,QAAQsxB,WAAuD,IAA3CpmB,KAAKlL,QAAQsuB,QAAQ1jB,QAAQ,WACxDqmB,EAAY/Q,iBAAiB,aAAc,SAAU0O,GACnD,OAAOkC,EAAO3B,cAAc3a,EAAWsc,EAAO9wB,QAAQouB,MAAO0C,EAAO9wB,QAAS4uB,EAC/E,GACAqC,EAAY/Q,iBAAiB,QAAS,SAAU0O,GAC9C,OAAOkC,EAAO3B,cAAc3a,EAAWsc,EAAO9wB,QAAQouB,MAAO0C,EAAO9wB,QAAS4uB,EAC/E,IAIKqC,CACT,GACC,CACD/qB,IAAK,cACL1G,MAAO,SAAqBmwB,EAAS3vB,GACnC,IAAIuxB,EAASrmB,KAEbA,KAAKsmB,cAAe,EAEpBtmB,KAAKumB,cAAc9B,EAAS3vB,GAASoE,KAAK,WACnCmtB,EAAOhB,gBAEZgB,EAAOhB,eAAe3sB,QACxB,EACF,GACC,CACDsC,IAAK,gBACL1G,MAAO,SAAuB6uB,EAAOruB,GACnC,IAAI0xB,EAASxmB,KAEb,OAAO,IAAIoE,QAAQ,SAAUyD,EAASxD,GACpC,IAAIoiB,EAAY3xB,EAAQ0W,KACpBkb,EAAWF,EAAO1C,aACtB,GAAK4C,EAAL,CACA,IAAIC,EAAYD,EAASzN,cAAcuN,EAAO1xB,QAAQ8xB,eAEtD,GAAuB,IAAnBzD,EAAM9a,UAER,GAAIoe,EAAW,CACb,KAAOE,EAAUE,YACfF,EAAUlS,YAAYkS,EAAUE,YAGlCF,EAAUtG,YAAY8C,EACxB,MACK,IAAqB,mBAAVA,EAAsB,CAEtC,IAAIrV,EAASqV,IAkBb,YAhBIrV,GAAiC,mBAAhBA,EAAO5U,MAC1BstB,EAAOF,cAAe,EACtBxxB,EAAQgyB,cAAgBnF,GAAW+E,EAAU5xB,EAAQgyB,cAEjDhyB,EAAQiyB,gBACVP,EAAOD,cAAczxB,EAAQiyB,eAAgBjyB,GAG/CgZ,EAAO5U,KAAK,SAAU8tB,GAEpB,OADAlyB,EAAQgyB,cAAgB1E,GAAcsE,EAAU5xB,EAAQgyB,cACjDN,EAAOD,cAAcS,EAAalyB,EAC3C,GAAGoE,KAAK2O,GAAS7N,MAAMqK,IAEvBmiB,EAAOD,cAAczY,EAAQhZ,GAASoE,KAAK2O,GAAS7N,MAAMqK,GAI9D,CAEEoiB,EAAYE,EAAUb,UAAY3C,EAAQwD,EAAUM,UAAY9D,CAClE,CAEAtb,GAtCqB,CAuCvB,EACF,GACC,CACD7M,IAAK,QACL1G,MAAO,SAAegV,EAAWxU,GAC/B,IAAIA,GAAwC,iBAAtBA,EAAQmuB,WACZ5b,SAAS4R,cAAcnkB,EAAQmuB,WADjD,CAKAiE,aAAalnB,KAAKmnB,sBAClBryB,EAAUmJ,OAAOiP,OAAO,CAAC,EAAGpY,IACb8N,OACf,IAAIwkB,GAAgB,EAEhBpnB,KAAK8jB,eACPnC,GAAW3hB,KAAK8jB,aAAc9jB,KAAKwkB,UACnC4C,GAAgB,GAGlB,IAAItZ,EAAS9N,KAAKqnB,aAAa/d,EAAWxU,GAO1C,OALIsyB,GAAiBpnB,KAAK8jB,cACxBnC,GAAW3hB,KAAK8jB,aAAc9jB,KAAKwkB,UAGrC7C,GAAWrY,EAAW,CAAC,mBAChBwE,CAnBP,CAoBF,GACC,CACD9S,IAAK,eACL1G,MAAO,SAAsBgV,EAAWxU,GACtC,IAAIwyB,EAAStnB,KAGb,GAAIA,KAAKmkB,QACP,OAAOnkB,KAMT,GAHAA,KAAKmkB,SAAU,EACfd,GAAavsB,KAAKkJ,MAEdA,KAAK8jB,aAYP,OAXA9jB,KAAK8jB,aAAa3P,MAAMoT,QAAU,GAElCvnB,KAAK8jB,aAAa3H,aAAa,cAAe,SAE9Cnc,KAAKqlB,eAAe/P,uBACpBtV,KAAKqlB,eAAe3sB,SAEhBsH,KAAKsmB,cACPtmB,KAAK0kB,YAAY5vB,EAAQquB,MAAOruB,GAG3BkL,KAIT,IAAImjB,EAAQ7Z,EAAUqc,aAAa,UAAY7wB,EAAQquB,MAEvD,IAAKA,EACH,OAAOnjB,KAIT,IAAI+lB,EAAc/lB,KAAKwnB,QAAQle,EAAWxU,EAAQ0oB,UAElDxd,KAAK8jB,aAAeiC,EAEpBzc,EAAU6S,aAAa,mBAAoB4J,EAAYruB,IAEvD,IAAIurB,EAAYjjB,KAAKynB,eAAe3yB,EAAQmuB,UAAW3Z,GAEvDtJ,KAAK0nB,QAAQ3B,EAAa9C,GAE1B,IAAI0E,EAAgB7E,GAAgBA,GAAgB,CAAC,EAAGhuB,EAAQ6yB,eAAgB,CAAC,EAAG,CAClFrX,UAAWxb,EAAQwb,YAoCrB,OAjCAqX,EAAcrV,UAAYwQ,GAAgBA,GAAgB,CAAC,EAAG6E,EAAcrV,WAAY,CAAC,EAAG,CAC1FwG,MAAO,CACL3Q,QAASnI,KAAKlL,QAAQ8yB,iBAItB9yB,EAAQ6a,oBACVgY,EAAcrV,UAAU4F,gBAAkB,CACxCvI,kBAAmB7a,EAAQ6a,oBAI/B3P,KAAKqlB,eAAiB,IAAI9I,GAAOjT,EAAWyc,EAAa4B,GAEzD3nB,KAAK0kB,YAAYvB,EAAOruB,GAGxB4nB,sBAAsB,YACf4K,EAAO/B,aAAe+B,EAAOjC,gBAChCiC,EAAOjC,eAAe3sB,SAGtBgkB,sBAAsB,WACf4K,EAAO/B,YAGV+B,EAAOlC,UAFPkC,EAAOnD,SAAW4B,EAAY5J,aAAa,cAAe,QAI9D,IAEAmL,EAAOlC,SAEX,GACOplB,IACT,GACC,CACDhF,IAAK,gBACL1G,MAAO,WACL,IAAIuR,EAAQwd,GAAa3jB,QAAQM,OAElB,IAAX6F,GACFwd,GAAalkB,OAAO0G,EAAO,EAE/B,GACC,CACD7K,IAAK,QACL1G,MAAO,WAGL,IAAIuzB,EAAS7nB,KAGb,IAAKA,KAAKmkB,QACR,OAAOnkB,KAGTA,KAAKmkB,SAAU,EAEfnkB,KAAK8nB,gBAGL9nB,KAAK8jB,aAAa3P,MAAMoT,QAAU,OAElCvnB,KAAK8jB,aAAa3H,aAAa,cAAe,QAE1Cnc,KAAKqlB,gBACPrlB,KAAKqlB,eAAe9Q,wBAGtB2S,aAAalnB,KAAKmnB,eAClB,IAAIY,EAAcnD,GAAU9vB,QAAQkzB,eAgBpC,OAdoB,OAAhBD,IACF/nB,KAAKmnB,cAAgBptB,WAAW,WAC1B8tB,EAAO/D,eACT+D,EAAO/D,aAAarO,oBAAoB,aAAcoS,EAAO9M,MAE7D8M,EAAO/D,aAAarO,oBAAoB,QAASoS,EAAO9M,MAGxD8M,EAAOI,qBAEX,EAAGF,IAGL3F,GAAcpiB,KAAKsJ,UAAW,CAAC,mBACxBtJ,IACT,GACC,CACDhF,IAAK,qBACL1G,MAAO,WACL,GAAK0L,KAAK8jB,aAAV,CACA,IAAIlb,EAAa5I,KAAK8jB,aAAalb,WAE/BA,IACFA,EAAW6L,YAAYzU,KAAK8jB,cAC5B9jB,KAAKsJ,UAAU+K,gBAAgB,qBAGjCrU,KAAK8jB,aAAe,IARU,CAShC,GACC,CACD9oB,IAAK,WACL1G,MAAO,WACL,IAAI4zB,EAASloB,KAoCb,OAlCAA,KAAKulB,aAAc,EACnBvlB,KAAKsJ,UAAU+K,gBAAgB,uBAE3BrU,KAAK0lB,iBACP1lB,KAAKsJ,UAAU6S,aAAa,QAASnc,KAAK0lB,iBAI5C1lB,KAAKmoB,QAAQ7wB,QAAQ,SAAUqZ,GAC7B,IAAIyX,EAAOzX,EAAKyX,KACZxT,EAAQjE,EAAKiE,MAEjBsT,EAAO5e,UAAUmM,oBAAoBb,EAAOwT,EAC9C,GAEApoB,KAAKmoB,QAAU,GAEXnoB,KAAK8jB,cACP9jB,KAAKskB,QAELtkB,KAAK8jB,aAAarO,oBAAoB,aAAczV,KAAK+a,MAEzD/a,KAAK8jB,aAAarO,oBAAoB,QAASzV,KAAK+a,MAGpD/a,KAAKqlB,eAAejR,UAEfpU,KAAKqlB,eAAevwB,QAAQ0f,iBAC/BxU,KAAKioB,sBAGPjoB,KAAK8nB,gBAGA9nB,IACT,GACC,CACDhF,IAAK,iBACL1G,MAAO,SAAwB2uB,EAAW3Z,GASxC,MAPyB,iBAAd2Z,EACTA,EAAYtpB,OAAO0N,SAAS4R,cAAcgK,IACnB,IAAdA,IAETA,EAAY3Z,EAAUV,YAGjBqa,CACT,GASC,CACDjoB,IAAK,UACL1G,MAAO,SAAiByxB,EAAa9C,GACnCA,EAAU5C,YAAY0F,EACxB,GACC,CACD/qB,IAAK,qBACL1G,MAAO,SAA4BgV,EAAWgc,EAAQxwB,GACpD,IAAIuzB,EAASroB,KAETsoB,EAAe,GACfC,EAAiB,GACrBjD,EAAOhuB,QAAQ,SAAUsd,GACvB,OAAQA,GACN,IAAK,QACH0T,EAAaxxB,KAAK,cAClByxB,EAAezxB,KAAK,cAChBuxB,EAAOvzB,QAAQ0zB,mBAAmBD,EAAezxB,KAAK,SAC1D,MAEF,IAAK,QACHwxB,EAAaxxB,KAAK,SAClByxB,EAAezxB,KAAK,QAChBuxB,EAAOvzB,QAAQ0zB,mBAAmBD,EAAezxB,KAAK,SAC1D,MAEF,IAAK,QACHwxB,EAAaxxB,KAAK,SAClByxB,EAAezxB,KAAK,SAG1B,GAEAwxB,EAAahxB,QAAQ,SAAUsd,GAC7B,IAAIwT,EAAO,SAAc1E,IACA,IAAnB2E,EAAOlE,UAIXT,EAAI+E,eAAgB,EAEpBJ,EAAOK,cAAcpf,EAAWxU,EAAQouB,MAAOpuB,EAAS4uB,GAC1D,EAEA2E,EAAOF,QAAQrxB,KAAK,CAClB8d,MAAOA,EACPwT,KAAMA,IAGR9e,EAAU0L,iBAAiBJ,EAAOwT,EACpC,GAEAG,EAAejxB,QAAQ,SAAUsd,GAC/B,IAAIwT,EAAO,SAAc1E,IACG,IAAtBA,EAAI+E,eAIRJ,EAAOpE,cAAc3a,EAAWxU,EAAQouB,MAAOpuB,EAAS4uB,EAC1D,EAEA2E,EAAOF,QAAQrxB,KAAK,CAClB8d,MAAOA,EACPwT,KAAMA,IAGR9e,EAAU0L,iBAAiBJ,EAAOwT,EACpC,EACF,GACC,CACDptB,IAAK,mBACL1G,MAAO,SAA0BsgB,GAC3B5U,KAAKwlB,sBACPxlB,KAAKikB,cAAcjkB,KAAKsJ,UAAWtJ,KAAKlL,QAAQouB,MAAOljB,KAAKlL,QAAS8f,EAEzE,GACC,CACD5Z,IAAK,gBACL1G,MAAO,SAAuBgV,EAAW4Z,EAAOpuB,GAG9C,IAAI6zB,EAAS3oB,KAGT4oB,EAAgB1F,GAASA,EAAMgB,MAAQhB,GAAS,EACpDgE,aAAalnB,KAAK6oB,gBAClB7oB,KAAK6oB,eAAiBlvB,OAAOI,WAAW,WACtC,OAAO4uB,EAAOtE,MAAM/a,EAAWxU,EACjC,EAAG8zB,EACL,GACC,CACD5tB,IAAK,gBACL1G,MAAO,SAAuBgV,EAAW4Z,EAAOpuB,EAAS4uB,GACvD,IAAIoF,EAAU9oB,KAGV4oB,EAAgB1F,GAASA,EAAMnI,MAAQmI,GAAS,EACpDgE,aAAalnB,KAAK6oB,gBAClB7oB,KAAK6oB,eAAiBlvB,OAAOI,WAAW,WACtC,IAAwB,IAApB+uB,EAAQ3E,SAIP2E,EAAQhF,aAAavb,cAAcQ,KAAKmC,SAAS4d,EAAQhF,cAA9D,CAMA,GAAiB,eAAbJ,EAAIpE,MACMwJ,EAAQC,qBAAqBrF,EAAKpa,EAAW4Z,EAAOpuB,GAK9D,OAIJg0B,EAAQxE,MAAMhb,EAAWxU,EAdzB,CAeF,EAAG8zB,EACL,MH1wBUzhB,EAAkBV,EAAEH,UAAWM,GAAkC3I,OAAO8I,eAAeN,EAAG,YAAa,CACjHS,UAAU,IG4wBLoc,EH9wBT,IAAsB7c,EAAGG,CG+wBzB,CApqB2B,GAgsB3B,SAASoiB,GAAUxjB,EAAQgd,GAAkB,IAAIhf,EAAOvF,OAAOuF,KAAKgC,GAAS,GAAIvH,OAAOwkB,sBAAuB,CAAE,IAAIC,EAAUzkB,OAAOwkB,sBAAsBjd,GAAagd,IAAgBE,EAAUA,EAAQvkB,OAAO,SAAUwkB,GAAO,OAAO1kB,OAAO2kB,yBAAyBpd,EAAQmd,GAAK3b,UAAY,IAAIxD,EAAK1M,KAAK+rB,MAAMrf,EAAMkf,EAAU,CAAE,OAAOlf,CAAM,CAEtV,SAASylB,GAAgBvc,GAAU,IAAK,IAAIlG,EAAI,EAAGA,EAAI+E,UAAU/Q,OAAQgM,IAAK,CAAE,IAAItD,EAAyB,MAAhBqI,UAAU/E,GAAa+E,UAAU/E,GAAK,CAAC,EAAOA,EAAI,EAAKwiB,GAAU/qB,OAAOiF,IAAS,GAAM5L,QAAQ,SAAU0D,GAAO8L,EAAgB4F,EAAQ1R,EAAKkI,EAAOlI,GAAO,GAAeiD,OAAO8kB,0BAA6B9kB,OAAOwO,iBAAiBC,EAAQzO,OAAO8kB,0BAA0B7f,IAAmB8lB,GAAU/qB,OAAOiF,IAAS5L,QAAQ,SAAU0D,GAAOiD,OAAO8I,eAAe2F,EAAQ1R,EAAKiD,OAAO2kB,yBAAyB1f,EAAQlI,GAAO,EAAM,CAAE,OAAO0R,CAAQ,CA5BngB,oBAAbrF,UACTA,SAAS2N,iBAAiB,aAAc,SAAUJ,GAChD,IAAK,IAAIpO,EAAI,EAAGA,EAAI6c,GAAa7oB,OAAQgM,IACvC6c,GAAa7c,GAAG0iB,iBAAiBtU,EAErC,GAAGyN,IAAkB,CACnBpN,SAAS,EACTkU,SAAS,IAsBb,IAAI7zB,GAAQ,CACVkK,SAAS,GAEP4pB,GAAY,CAAC,MAAO,YAAa,UAAW,QAAS,cAAe,YAAa,SAAU,eAAgB,aAAc,OAAQ,aAAc,YAC/IC,GAAiB,CAEnBC,iBAAkB,MAElBzE,aAAc,oBAEd0E,mBAAoB,cAEpBC,aAAa,EAIbC,gBAAiB,+GAEjBC,qBAAsB,kCAEtBC,qBAAsB,kCAEtBC,aAAc,EAEdC,eAAgB,cAEhBC,cAAe,EAEfC,iBAAkB,OAClBC,8BAA0BjkB,EAC1BkkB,qBAAsB,CAAC,EAEvBC,oBAAqB,kBAErBC,sBAAuB,MAEvB/D,UAAU,EAEVgE,0BAA0B,EAE1BpC,eAAgB,IAEhBqC,QAAS,CACPf,iBAAkB,SAElBzE,aAAc,oBAEdyF,iBAAkB,kBAElBC,oBAAqB,UAErBC,kBAAmB,8BAEnBC,kBAAmB,8BAEnBC,iBAAkB,OAClBd,aAAc,EACdC,eAAgB,QAChBC,cAAe,EACfC,iBAAkB,OAClBC,8BAA0BjkB,EAC1BkkB,qBAAsB,CAAC,EAEvBU,iBAAiB,EAEjBC,qBAAqB,IAGzB,SAAS5F,GAAWlwB,GAClB,IAAIgZ,EAAS,CACXwC,eAAwC,IAAtBxb,EAAQwb,UAA4Bxb,EAAQwb,UAAYsU,GAAU9vB,QAAQw0B,iBAC5FpG,WAAgC,IAAlBpuB,EAAQouB,MAAwBpuB,EAAQouB,MAAQ0B,GAAU9vB,QAAQ80B,aAChFpe,UAA8B,IAAjB1W,EAAQ0W,KAAuB1W,EAAQ0W,KAAOoZ,GAAU9vB,QAAQ00B,YAC7EhM,cAAsC,IAArB1oB,EAAQ0oB,SAA2B1oB,EAAQ0oB,SAAWoH,GAAU9vB,QAAQ20B,gBACzF7B,mBAAgD,IAA1B9yB,EAAQ8yB,cAAgC9yB,EAAQ8yB,cAAgBhD,GAAU9vB,QAAQ40B,qBACxG9C,mBAAgD,IAA1B9xB,EAAQ8xB,cAAgC9xB,EAAQ8xB,cAAgBhC,GAAU9vB,QAAQ60B,qBACxGvG,aAAoC,IAApBtuB,EAAQsuB,QAA0BtuB,EAAQsuB,QAAUwB,GAAU9vB,QAAQ+0B,eACtFjnB,YAAkC,IAAnB9N,EAAQ8N,OAAyB9N,EAAQ8N,OAASgiB,GAAU9vB,QAAQg1B,cACnF7G,eAAwC,IAAtBnuB,EAAQmuB,UAA4BnuB,EAAQmuB,UAAY2B,GAAU9vB,QAAQi1B,iBAC5Fpa,uBAAwD,IAA9B7a,EAAQ6a,kBAAoC7a,EAAQ6a,kBAAoBiV,GAAU9vB,QAAQk1B,yBACpH5D,cAAsC,IAArBtxB,EAAQsxB,SAA2BtxB,EAAQsxB,SAAWxB,GAAU9vB,QAAQsxB,SACzFoC,uBAAwD,IAA9B1zB,EAAQ0zB,kBAAoC1zB,EAAQ0zB,kBAAoB5D,GAAU9vB,QAAQs1B,yBACpHtD,kBAA8C,IAAzBhyB,EAAQgyB,aAA+BhyB,EAAQgyB,aAAelC,GAAU9vB,QAAQo1B,oBACrGnD,oBAAkD,IAA3BjyB,EAAQiyB,eAAiCjyB,EAAQiyB,eAAiBnC,GAAU9vB,QAAQq1B,sBAC3GxC,cAAesB,GAAgB,CAAC,OAAoC,IAA1Bn0B,EAAQ6yB,cAAgC7yB,EAAQ6yB,cAAgB/C,GAAU9vB,QAAQm1B,uBAG9H,GAAInc,EAAOlL,OAAQ,CACjB,IAAIioB,EAAe5kB,EAAQ6H,EAAOlL,QAE9BA,EAASkL,EAAOlL,QAEC,WAAjBioB,GAA8C,WAAjBA,IAAsD,IAAzBjoB,EAAOlD,QAAQ,QAC3EkD,EAAS,MAAMvE,OAAOuE,IAGnBkL,EAAO6Z,cAAcrV,YACxBxE,EAAO6Z,cAAcrV,UAAY,CAAC,GAGpCxE,EAAO6Z,cAAcrV,UAAU1P,OAAS,CACtCA,OAAQA,EAEZ,CAMA,OAJIkL,EAAOsV,UAAgD,IAArCtV,EAAOsV,QAAQ1jB,QAAQ,WAC3CoO,EAAO0a,mBAAoB,GAGtB1a,CACT,CACA,SAASgd,GAAax2B,EAAOge,GAG3B,IAFA,IAAIhC,EAAYhc,EAAMgc,UAEb9J,EAAI,EAAGA,EAAI4iB,GAAU5uB,OAAQgM,IAAK,CACzC,IAAIukB,EAAM3B,GAAU5iB,GAEhB8L,EAAUyY,KACZza,EAAYya,EAEhB,CAEA,OAAOza,CACT,CACA,SAAS0a,GAAW12B,GAClB,IAAIgrB,EAAOrZ,EAAQ3R,GAEnB,MAAa,WAATgrB,EACKhrB,KACEA,GAAkB,WAATgrB,IACXhrB,EAAMmwB,OAIjB,CAqBA,SAASwG,GAAe1b,GAClBA,EAAG2b,WACL3b,EAAG2b,SAAS9F,iBAEL7V,EAAG2b,gBACH3b,EAAG4b,iBAGR5b,EAAG6b,wBACLhJ,GAAc7S,EAAIA,EAAG6b,8BACd7b,EAAG6b,sBAEd,CACA,SAASzO,GAAKpN,EAAIoB,GAChB,IAAIrc,EAAQqc,EAAKrc,MACbqc,EAAKtP,SACL,IAMEgqB,EANE/Y,EAAY3B,EAAK2B,UACrBmS,EAAUuG,GAAW12B,GAEpBmwB,GAAYnvB,GAAMkK,SAKjB+P,EAAG2b,WACLG,EAAU9b,EAAG2b,UAELI,WAAW7G,GAEnB4G,EAAQE,WAAWtC,GAAgBA,GAAgB,CAAC,EAAG30B,GAAQ,CAAC,EAAG,CACjEgc,UAAWwa,GAAax2B,EAAOge,OAGjC+Y,EArDN,SAAuB9b,EAAIjb,GACzB,IAAIge,EAAY/G,UAAU/Q,OAAS,QAAsBuL,IAAjBwF,UAAU,GAAmBA,UAAU,GAAK,CAAC,EACjFkZ,EAAUuG,GAAW12B,GACrBstB,OAAmC,IAAlBttB,EAAMstB,QAA0BttB,EAAMstB,QAAUgD,GAAU9vB,QAAQ+vB,aAEnFvC,EAAO2G,GAAgB,CACzB9F,MAAOsB,GACNO,GAAWiE,GAAgBA,GAAgB,CAAC,EAAsB,WAAnBhjB,EAAQ3R,GAAsBA,EAAQ,CAAC,GAAI,CAAC,EAAG,CAC/Fgc,UAAWwa,GAAax2B,EAAOge,OAG7B+Y,EAAU9b,EAAG2b,SAAW,IAAI5H,GAAQ/T,EAAI+S,GAC5C+I,EAAQtG,WAAWnD,GACnByJ,EAAQG,OAASjc,EAEjB,IAAIkc,OAA+C,IAAxBn3B,EAAMm3B,cAAgCn3B,EAAMm3B,cAAgB7G,GAAU9vB,QAAQy0B,mBAGzG,OAFAha,EAAG6b,sBAAwBK,EAC3B9J,GAAWpS,EAAIkc,GACRJ,CACT,CAkCgBK,CAAcnc,EAAIjb,EAAOge,QAIX,IAAfhe,EAAM4vB,MAAwB5vB,EAAM4vB,OAAS3U,EAAG4b,kBACzD5b,EAAG4b,gBAAkB72B,EAAM4vB,KAC3B5vB,EAAM4vB,KAAOmH,EAAQnH,OAASmH,EAAQtQ,SAnBxCkQ,GAAe1b,EAsBnB,CACA,IAAIqV,GAAY,CACd9vB,QAASu0B,GACT1M,KAAMA,GACNjkB,OAAQikB,GACRgP,OAAQ,SAAgBpc,GACtB0b,GAAe1b,EACjB,GAGF,SAASqc,GAAarc,GACpBA,EAAGyF,iBAAiB,QAAStb,IAC7B6V,EAAGyF,iBAAiB,aAAc6W,KAAcxJ,IAAkB,CAChEpN,SAAS,GAEb,CAEA,SAAS6W,GAAgBvc,GACvBA,EAAGkG,oBAAoB,QAAS/b,IAChC6V,EAAGkG,oBAAoB,aAAcoW,IACrCtc,EAAGkG,oBAAoB,WAAYsW,IACnCxc,EAAGkG,oBAAoB,cAAeuW,GACxC,CAEA,SAAStyB,GAAQkb,GACf,IAAIrF,EAAKqF,EAAMqX,cACfrX,EAAMsX,cAAgB3c,EAAG4c,sBACzBvX,EAAMwX,gBAAkB7c,EAAG8c,2BAA6B9c,EAAG8c,wBAAwBC,GACrF,CAEA,SAAST,GAAajX,GACpB,GAAoC,IAAhCA,EAAM2X,eAAe/xB,OAAc,CACrC,IAAI+U,EAAKqF,EAAMqX,cACf1c,EAAG4c,uBAAwB,EAC3B,IAAIK,EAAQ5X,EAAM2X,eAAe,GACjChd,EAAGkd,2BAA6BD,EAChCjd,EAAGyF,iBAAiB,WAAY+W,IAChCxc,EAAGyF,iBAAiB,cAAegX,GACrC,CACF,CAEA,SAASD,GAAWnX,GAClB,IAAIrF,EAAKqF,EAAMqX,cAGf,GAFA1c,EAAG4c,uBAAwB,EAES,IAAhCvX,EAAM2X,eAAe/xB,OAAc,CACrC,IAAIgyB,EAAQ5X,EAAM2X,eAAe,GAC7BG,EAAand,EAAGkd,2BACpB7X,EAAMsX,aAAehgB,KAAKygB,IAAIH,EAAMI,QAAUF,EAAWE,SAAW,IAAM1gB,KAAKygB,IAAIH,EAAMK,QAAUH,EAAWG,SAAW,GACzHjY,EAAMwX,gBAAkB7c,EAAG8c,2BAA6B9c,EAAG8c,wBAAwBC,GACrF,CACF,CAEA,SAASN,GAAcpX,GACZA,EAAMqX,cACZE,uBAAwB,CAC7B,CAEA,IAAIW,GAAgB,CAClBnQ,KAAM,SAAcpN,EAAIoB,GACtB,IAAIrc,EAAQqc,EAAKrc,MACbge,EAAY3B,EAAK2B,UACrB/C,EAAG8c,wBAA0B/Z,QAER,IAAVhe,GAAyBA,IAClCs3B,GAAarc,EAEjB,EACA7W,OAAQ,SAAgB6W,EAAIsB,GAC1B,IAAIvc,EAAQuc,EAAMvc,MACd+M,EAAWwP,EAAMxP,SACjBiR,EAAYzB,EAAMyB,UACtB/C,EAAG8c,wBAA0B/Z,EAEzBhe,IAAU+M,SACS,IAAV/M,GAAyBA,EAClCs3B,GAAarc,GAEbuc,GAAgBvc,GAGtB,EACAoc,OAAQ,SAAgBpc,GACtBuc,GAAgBvc,EAClB,GAGF,SAASwd,GAAQvnB,EAAQgd,GAAkB,IAAIhf,EAAOvF,OAAOuF,KAAKgC,GAAS,GAAIvH,OAAOwkB,sBAAuB,CAAE,IAAIC,EAAUzkB,OAAOwkB,sBAAsBjd,GAAagd,IAAgBE,EAAUA,EAAQvkB,OAAO,SAAUwkB,GAAO,OAAO1kB,OAAO2kB,yBAAyBpd,EAAQmd,GAAK3b,UAAY,IAAIxD,EAAK1M,KAAK+rB,MAAMrf,EAAMkf,EAAU,CAAE,OAAOlf,CAAM,CAEpV,SAASwpB,GAActgB,GAAU,IAAK,IAAIlG,EAAI,EAAGA,EAAI+E,UAAU/Q,OAAQgM,IAAK,CAAE,IAAItD,EAAyB,MAAhBqI,UAAU/E,GAAa+E,UAAU/E,GAAK,CAAC,EAAOA,EAAI,EAAKumB,GAAQ9uB,OAAOiF,IAAS,GAAM5L,QAAQ,SAAU0D,GAAO8L,EAAgB4F,EAAQ1R,EAAKkI,EAAOlI,GAAO,GAAeiD,OAAO8kB,0BAA6B9kB,OAAOwO,iBAAiBC,EAAQzO,OAAO8kB,0BAA0B7f,IAAmB6pB,GAAQ9uB,OAAOiF,IAAS5L,QAAQ,SAAU0D,GAAOiD,OAAO8I,eAAe2F,EAAQ1R,EAAKiD,OAAO2kB,yBAAyB1f,EAAQlI,GAAO,EAAM,CAAE,OAAO0R,CAAQ,CAErhB,SAASugB,GAAWjyB,GAClB,IAAI1G,EAAQswB,GAAU9vB,QAAQu1B,QAAQrvB,GAEtC,YAAqB,IAAV1G,EACFswB,GAAU9vB,QAAQkG,GAGpB1G,CACT,CAEA,IAAI44B,IAAQ,EAEU,oBAAXvzB,QAA+C,oBAAd2N,YAC1C4lB,GAAQ,mBAAmB9jB,KAAK9B,UAAUG,aAAe9N,OAAOwzB,UAGlE,IAAIC,GAAe,GAEfC,GAAU,WAAoB,EAEZ,oBAAX1zB,SACT0zB,GAAU1zB,OAAO0zB,SAGnB,IAAI5P,GAAS,CACXvhB,KAAM,WACNoxB,WAAY,CACVC,eAAgBA,IAElB5gB,MAAO,CACL6gB,KAAM,CACJlO,KAAMC,QACNC,SAAS,GAEXpjB,SAAU,CACRkjB,KAAMC,QACNC,SAAS,GAEXlP,UAAW,CACTgP,KAAMhe,OACNke,QAAS,WACP,OAAOyN,GAAW,mBACpB,GAEF/J,MAAO,CACL5D,KAAM,CAAChe,OAAQmsB,OAAQxvB,QACvBuhB,QAAS,WACP,OAAOyN,GAAW,eACpB,GAEFrqB,OAAQ,CACN0c,KAAM,CAAChe,OAAQmsB,QACfjO,QAAS,WACP,OAAOyN,GAAW,gBACpB,GAEF7J,QAAS,CACP9D,KAAMhe,OACNke,QAAS,WACP,OAAOyN,GAAW,iBACpB,GAEFhK,UAAW,CACT3D,KAAM,CAAChe,OAAQrD,OAAQovB,GAAS9N,SAChCC,QAAS,WACP,OAAOyN,GAAW,mBACpB,GAEFtd,kBAAmB,CACjB2P,KAAM,CAAChe,OAAQ+rB,IACf7N,QAAS,WACP,OAAOyN,GAAW,2BACpB,GAEFtF,cAAe,CACbrI,KAAMrhB,OACNuhB,QAAS,WACP,OAAOyN,GAAW,uBACpB,GAEFS,aAAc,CACZpO,KAAM,CAAChe,OAAQlK,OACfooB,QAAS,WACP,OAAOyN,GAAW,eACpB,GAEFU,iBAAkB,CAChBrO,KAAM,CAAChe,OAAQlK,OACfooB,QAAS,WACP,OAAOoF,GAAU9vB,QAAQu1B,QAAQC,gBACnC,GAEFsD,kBAAmB,CACjBtO,KAAM,CAAChe,OAAQlK,OACfooB,QAAS,WACP,OAAOoF,GAAU9vB,QAAQu1B,QAAQG,iBACnC,GAEFqD,oBAAqB,CACnBvO,KAAM,CAAChe,OAAQlK,OACfooB,QAAS,WACP,OAAOoF,GAAU9vB,QAAQu1B,QAAQE,mBACnC,GAEFuD,kBAAmB,CACjBxO,KAAM,CAAChe,OAAQlK,OACfooB,QAAS,WACP,OAAOoF,GAAU9vB,QAAQu1B,QAAQI,iBACnC,GAEFrE,SAAU,CACR9G,KAAMC,QACNC,QAAS,WACP,OAAOoF,GAAU9vB,QAAQu1B,QAAQM,eACnC,GAEFoD,aAAc,CACZzO,KAAMC,QACNC,QAAS,WACP,OAAOoF,GAAU9vB,QAAQu1B,QAAQO,mBACnC,GAEFoD,UAAW,CACT1O,KAAMhe,OACNke,QAAS,MAEXyO,UAAW,CACT3O,KAAM,CAAChe,OAAQlK,OACfooB,QAAS,WACP,OAAOoF,GAAU9vB,QAAQu1B,QAAQK,gBACnC,GAEFzE,OAAQ,CACNzG,QAAS,OAGbvqB,KAAM,WACJ,MAAO,CACLkwB,QAAQ,EACRztB,GAAIwU,KAAKga,SAASje,SAAS,IAAIke,OAAO,EAAG,IAE7C,EACA+H,SAAU,CACRC,SAAU,WACR,OAAOrnB,EAAgB,CAAC,EAAG9G,KAAKiuB,UAAWjuB,KAAKmlB,OAClD,EACAiJ,UAAW,WACT,MAAO,WAAW/vB,OAAsB,MAAf2B,KAAKimB,OAAiBjmB,KAAKimB,OAASjmB,KAAKtI,GACpE,GAEF22B,MAAO,CACLb,KAAM,SAAcc,GACdA,EACFtuB,KAAKkkB,OAELlkB,KAAK+a,MAET,EACA3e,SAAU,SAAkBkyB,EAAKC,GAC3BD,IAAQC,IACND,EACFtuB,KAAK+a,OACI/a,KAAKwtB,MACdxtB,KAAKkkB,OAGX,EACAjB,UAAW,SAAmBqL,GAC5B,GAAItuB,KAAKmlB,QAAUnlB,KAAKqlB,eAAgB,CACtC,IAAImJ,EAAcxuB,KAAKyuB,MAAMpE,QACzB/gB,EAAYtJ,KAAKyuB,MAAMrL,QACvBH,EAAYjjB,KAAK0uB,gBAAgB1uB,KAAKijB,UAAW3Z,GAErD,IAAK2Z,EAEH,YADArQ,QAAQnS,KAAK,2BAA4BT,MAI3CijB,EAAU5C,YAAYmO,GACtBxuB,KAAKqlB,eAAe9P,gBACtB,CACF,EACA6N,QAAS,SAAiBkL,GACxBtuB,KAAK2uB,yBACL3uB,KAAK4uB,qBACP,EACAte,UAAW,SAAmBge,GAC5B,IAAI9R,EAAQxc,KAEZA,KAAK6uB,eAAe,WAClBrS,EAAM6I,eAAevwB,QAAQwb,UAAYge,CAC3C,EACF,EACA1rB,OAAQ,kBACR+M,kBAAmB,kBACnBgY,cAAe,CACbmH,QAAS,kBACTC,MAAM,IAGVC,QAAS,WACPhvB,KAAKivB,cAAe,EACpBjvB,KAAKkvB,WAAY,EACjBlvB,KAAKmvB,SAAW,GAChBnvB,KAAKovB,eAAgB,CACvB,EACAzP,QAAS,WACP,IAAI6O,EAAcxuB,KAAKyuB,MAAMpE,QAC7BmE,EAAY5lB,YAAc4lB,EAAY5lB,WAAW6L,YAAY+Z,GAC7DxuB,KAAKqvB,SAEDrvB,KAAKwtB,MACPxtB,KAAKkkB,MAET,EACAoL,YAAa,WACXtvB,KAAK+a,MACP,EACAuF,cAAe,WACbtgB,KAAKolB,SACP,EACA5E,QAAS,CACP0D,KAAM,WACJ,IAAI0B,EAAS5lB,KAET6Q,EAAQtF,UAAU/Q,OAAS,QAAsBuL,IAAjBwF,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAC7EqJ,EAAQ/D,EAAM+D,MACd/D,EAAM0e,UACN,IAAIC,EAAc3e,EAAM4e,aACA,IAAhBD,GAAiCA,IAE/BxvB,KAAK5D,WACjB4D,KAAK0vB,eAAe9a,GACpB5U,KAAK0gB,MAAM,SAGb1gB,KAAK0gB,MAAM,eAAe,GAC1B1gB,KAAK2vB,eAAgB,EACrBjT,sBAAsB,WACpBkJ,EAAO+J,eAAgB,CACzB,EACF,EACA5U,KAAM,WACJ,IAAI6U,EAAQrkB,UAAU/Q,OAAS,QAAsBuL,IAAjBwF,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAC7EqJ,EAAQgb,EAAMhb,MACdgb,EAAML,UAEVvvB,KAAK6vB,eAAejb,GACpB5U,KAAK0gB,MAAM,QACX1gB,KAAK0gB,MAAM,eAAe,EAC5B,EACA0E,QAAS,WAOP,GANAplB,KAAKivB,cAAe,EACpBjvB,KAAK2uB,yBACL3uB,KAAK+a,KAAK,CACRwU,WAAW,IAGTvvB,KAAKqlB,iBACPrlB,KAAKqlB,eAAejR,WAEfpU,KAAKqlB,eAAevwB,QAAQ0f,iBAAiB,CAChD,IAAIga,EAAcxuB,KAAKyuB,MAAMpE,QAC7BmE,EAAY5lB,YAAc4lB,EAAY5lB,WAAW6L,YAAY+Z,EAC/D,CAGFxuB,KAAKkvB,WAAY,EACjBlvB,KAAKqlB,eAAiB,KACtBrlB,KAAKmlB,QAAS,EACdnlB,KAAK0gB,MAAM,UACb,EACA2O,OAAQ,YACkC,IAApCrvB,KAAKojB,QAAQ1jB,QAAQ,WACvBM,KAAK4uB,qBAET,EACAkB,OAAQ,WACN,IAAIzJ,EAASrmB,KAETsJ,EAAYtJ,KAAKyuB,MAAMrL,QACvBoL,EAAcxuB,KAAKyuB,MAAMpE,QAG7B,GAFAnD,aAAalnB,KAAK+vB,iBAEd/vB,KAAKmlB,OAAT,CAWA,GANInlB,KAAKqlB,iBACPrlB,KAAKmlB,QAAS,EACdnlB,KAAKqlB,eAAe/P,uBACpBtV,KAAKqlB,eAAe9P,mBAGjBvV,KAAKkvB,UAAW,CACnB,IAAIjM,EAAYjjB,KAAK0uB,gBAAgB1uB,KAAKijB,UAAW3Z,GAErD,IAAK2Z,EAEH,YADArQ,QAAQnS,KAAK,2BAA4BT,MAI3CijB,EAAU5C,YAAYmO,GACtBxuB,KAAKkvB,WAAY,EACjBlvB,KAAKmlB,QAAS,EAEVnlB,KAAKqlB,gBACP3I,sBAAsB,WACf2J,EAAO2J,SACV3J,EAAOlB,QAAS,EAEpB,EAEJ,CAEA,IAAKnlB,KAAKqlB,eAAgB,CACxB,IAAIsC,EAAgBqF,GAAcA,GAAc,CAAC,EAAGhtB,KAAK2nB,eAAgB,CAAC,EAAG,CAC3ErX,UAAWtQ,KAAKsQ,YASlB,GANAqX,EAAcrV,UAAY0a,GAAcA,GAAc,CAAC,EAAGrF,EAAcrV,WAAY,CAAC,EAAG,CACtFwG,MAAOkU,GAAcA,GAAc,CAAC,EAAGrF,EAAcrV,WAAaqV,EAAcrV,UAAUwG,OAAQ,CAAC,EAAG,CACpG3Q,QAASnI,KAAKyuB,MAAM3V,UAIpB9Y,KAAK4C,OAAQ,CACf,IAAIA,EAAS5C,KAAKiwB,cAClBtI,EAAcrV,UAAU1P,OAASoqB,GAAcA,GAAc,CAAC,EAAGrF,EAAcrV,WAAaqV,EAAcrV,UAAU1P,QAAS,CAAC,EAAG,CAC/HA,OAAQA,GAEZ,CAEI5C,KAAK2P,oBACPgY,EAAcrV,UAAU4F,gBAAkB8U,GAAcA,GAAc,CAAC,EAAGrF,EAAcrV,WAAaqV,EAAcrV,UAAU4F,iBAAkB,CAAC,EAAG,CACjJvI,kBAAmB3P,KAAK2P,qBAI5B3P,KAAKqlB,eAAiB,IAAI9I,GAAOjT,EAAWklB,EAAa7G,GAEzDjL,sBAAsB,WACpB,GAAI2J,EAAO2J,OAKT,OAJA3J,EAAO2J,QAAS,OAEhB3J,EAAO6J,UAKJ7J,EAAO4I,cAAgB5I,EAAOhB,gBACjCgB,EAAOhB,eAAe9P,iBAGtBmH,sBAAsB,WACpB,GAAI2J,EAAO2J,OAKT,OAJA3J,EAAO2J,QAAS,OAEhB3J,EAAO6J,SAKJ7J,EAAO4I,aAGV5I,EAAOjB,UAFPiB,EAAOlB,QAAS,CAIpB,IAEAkB,EAAOjB,SAEX,EACF,CAEA,IAAI4I,EAAYhuB,KAAKguB,UAErB,GAAIA,EAGF,IAFA,IAAI3D,EAEK7jB,EAAI,EAAGA,EAAI4mB,GAAa5yB,OAAQgM,KACvC6jB,EAAU+C,GAAa5mB,IAEXwnB,YAAcA,IACxB3D,EAAQtP,OACRsP,EAAQ3J,MAAM,gBAKpB0M,GAAat2B,KAAKkJ,MAClBA,KAAK0gB,MAAM,aA1GX,CA2GF,EACAwP,OAAQ,WACN,IAAI1J,EAASxmB,KAGb,GAAKA,KAAKmlB,OAAV,CAIA,IAAItf,EAAQunB,GAAa1tB,QAAQM,OAElB,IAAX6F,GACFunB,GAAajuB,OAAO0G,EAAO,GAG7B7F,KAAKmlB,QAAS,EAEVnlB,KAAKqlB,gBACPrlB,KAAKqlB,eAAe9Q,wBAGtB2S,aAAalnB,KAAK+vB,gBAClB,IAAIhI,EAAcnD,GAAU9vB,QAAQu1B,QAAQrC,gBAAkBpD,GAAU9vB,QAAQkzB,eAE5D,OAAhBD,IACF/nB,KAAK+vB,eAAiBh2B,WAAW,WAC/B,IAAIy0B,EAAchI,EAAOiI,MAAMpE,QAE3BmE,IAEFA,EAAY5lB,YAAc4lB,EAAY5lB,WAAW6L,YAAY+Z,GAC7DhI,EAAO0I,WAAY,EAEvB,EAAGnH,IAGL/nB,KAAK0gB,MAAM,aA7BX,CA8BF,EACAgO,gBAAiB,SAAyBzL,EAAW3Z,GASnD,MAPyB,iBAAd2Z,EACTA,EAAYtpB,OAAO0N,SAAS4R,cAAcgK,IACnB,IAAdA,IAETA,EAAY3Z,EAAUV,YAGjBqa,CACT,EACAgN,YAAa,WACX,IAAIpF,EAAe5kB,EAAQjG,KAAK4C,QAE5BA,EAAS5C,KAAK4C,OAMlB,OAJqB,WAAjBioB,GAA8C,WAAjBA,IAAsD,IAAzBjoB,EAAOlD,QAAQ,QAC3EkD,EAAS,MAAMvE,OAAOuE,IAGjBA,CACT,EACAgsB,oBAAqB,WACnB,IAAItH,EAAStnB,KAETsJ,EAAYtJ,KAAKyuB,MAAMrL,QACvBkF,EAAe,GACfC,EAAiB,IACgB,iBAAjBvoB,KAAKojB,QAAuBpjB,KAAKojB,QAAQpS,MAAM,KAAK7S,OAAO,SAAUilB,GACvF,OAAyD,IAAlD,CAAC,QAAS,QAAS,SAAS1jB,QAAQ0jB,EAC7C,GAAK,IACE9rB,QAAQ,SAAUsd,GACvB,OAAQA,GACN,IAAK,QACH0T,EAAaxxB,KAAK,cAClByxB,EAAezxB,KAAK,cACpB,MAEF,IAAK,QACHwxB,EAAaxxB,KAAK,SAClByxB,EAAezxB,KAAK,QACpB,MAEF,IAAK,QACHwxB,EAAaxxB,KAAK,SAClByxB,EAAezxB,KAAK,SAG1B,GAEAwxB,EAAahxB,QAAQ,SAAUsd,GAC7B,IAAIwT,EAAO,SAAcxT,GACnB0S,EAAOnC,SAIXvQ,EAAM6T,eAAgB,GACrBnB,EAAO8H,eAAiB9H,EAAOpD,KAAK,CACnCtP,MAAOA,IAET0S,EAAO0I,QAAS,EAClB,EAEA1I,EAAO6H,SAASr4B,KAAK,CACnB8d,MAAOA,EACPwT,KAAMA,IAGR9e,EAAU0L,iBAAiBJ,EAAOwT,EACpC,GAEAG,EAAejxB,QAAQ,SAAUsd,GAC/B,IAAIwT,EAAO,SAAcxT,GACnBA,EAAM6T,gBAIVnB,EAAOvM,KAAK,CACVnG,MAAOA,IAGT0S,EAAO0I,QAAS,EAClB,EAEA1I,EAAO6H,SAASr4B,KAAK,CACnB8d,MAAOA,EACPwT,KAAMA,IAGR9e,EAAU0L,iBAAiBJ,EAAOwT,EACpC,EACF,EACAsH,eAAgB,WACd,IAAIH,EAAYhkB,UAAU/Q,OAAS,QAAsBuL,IAAjBwF,UAAU,IAAmBA,UAAU,GAG/E,GAFA2b,aAAalnB,KAAKmwB,iBAEdZ,EACFvvB,KAAK8vB,aACA,CAEL,IAAIlH,EAAgBxc,SAASpM,KAAKkjB,OAASljB,KAAKkjB,MAAMgB,MAAQlkB,KAAKkjB,OAAS,GAC5EljB,KAAKmwB,gBAAkBp2B,WAAWiG,KAAK8vB,OAAOnT,KAAK3c,MAAO4oB,EAC5D,CACF,EACAiH,eAAgB,WACd,IAAIhI,EAAS7nB,KAET4U,EAAQrJ,UAAU/Q,OAAS,QAAsBuL,IAAjBwF,UAAU,GAAmBA,UAAU,GAAK,KAC5EgkB,EAAYhkB,UAAU/Q,OAAS,QAAsBuL,IAAjBwF,UAAU,IAAmBA,UAAU,GAG/E,GAFA2b,aAAalnB,KAAKmwB,iBAEdZ,EACFvvB,KAAKkwB,aACA,CAEL,IAAItH,EAAgBxc,SAASpM,KAAKkjB,OAASljB,KAAKkjB,MAAMnI,MAAQ/a,KAAKkjB,OAAS,GAC5EljB,KAAKmwB,gBAAkBp2B,WAAW,WAChC,GAAK8tB,EAAO1C,OAAZ,CAMA,GAAIvQ,GAAwB,eAAfA,EAAM0K,MACLuI,EAAOuI,sBAAsBxb,GAKvC,OAIJiT,EAAOqI,QAdP,CAeF,EAAGtH,EACL,CACF,EACAwH,sBAAuB,SAA+Bxb,GACpD,IAAIsT,EAASloB,KAETsJ,EAAYtJ,KAAKyuB,MAAMrL,QACvBoL,EAAcxuB,KAAKyuB,MAAMpE,QACzB1G,EAAmB/O,EAAM+O,kBAAoB/O,EAAMgP,WAAahP,EAAMiP,cAe1E,QAAI2K,EAAYtjB,SAASyY,KAEvB6K,EAAYxZ,iBAAiBJ,EAAM0K,KAftB,SAASzK,EAASwb,GAC/B,IAAIrM,EAAoBqM,EAAO1M,kBAAoB0M,EAAOzM,WAAayM,EAAOxM,cAE9E2K,EAAY/Y,oBAAoBb,EAAM0K,KAAMzK,GAEvCvL,EAAU4B,SAAS8Y,IAEtBkE,EAAOnN,KAAK,CACVnG,MAAOyb,GAGb,IAKS,EAIX,EACA1B,uBAAwB,WACtB,IAAIrlB,EAAYtJ,KAAKyuB,MAAMrL,QAC3BpjB,KAAKmvB,SAAS73B,QAAQ,SAAUg5B,GAC9B,IAAIlI,EAAOkI,EAAMlI,KACbxT,EAAQ0b,EAAM1b,MAClBtL,EAAUmM,oBAAoBb,EAAOwT,EACvC,GACApoB,KAAKmvB,SAAW,EAClB,EACAN,eAAgB,SAAwB0B,GAClCvwB,KAAKqlB,iBACPkL,IACIvwB,KAAKmlB,QAAQnlB,KAAKqlB,eAAe9P,iBAEzC,EACAib,gBAAiB,WACf,GAAIxwB,KAAKqlB,eAAgB,CACvB,IAAIF,EAASnlB,KAAKmlB,OAClBnlB,KAAKolB,UACLplB,KAAKivB,cAAe,EACpBjvB,KAAKqvB,SAEDlK,GACFnlB,KAAKkkB,KAAK,CACRqL,WAAW,EACXE,OAAO,GAGb,CACF,EACAgB,oBAAqB,SAA6B7b,GAChD,IAAIyT,EAASroB,KAETwsB,EAAQjhB,UAAU/Q,OAAS,QAAsBuL,IAAjBwF,UAAU,IAAmBA,UAAU,GACvEvL,KAAK2vB,gBACT3vB,KAAK+a,KAAK,CACRnG,MAAOA,IAGLA,EAAMsX,aACRlsB,KAAK0gB,MAAM,mBAEX1gB,KAAK0gB,MAAM,aAGT8L,IACFxsB,KAAKovB,eAAgB,EACrBr1B,WAAW,WACTsuB,EAAO+G,eAAgB,CACzB,EAAG,MAEP,EACAsB,eAAgB,WACV1wB,KAAKmlB,QAAUnlB,KAAKqlB,iBACtBrlB,KAAKqlB,eAAe9P,iBACpBvV,KAAK0gB,MAAM,UAEf,IAuBJ,SAASiQ,GAAkB/b,GAiBzB,IAhBA,IAAI4X,EAAQjhB,UAAU/Q,OAAS,QAAsBuL,IAAjBwF,UAAU,IAAmBA,UAAU,GAEvEqlB,EAAQ,SAAepqB,GACzB,IAAI6jB,EAAU+C,GAAa5mB,GAE3B,GAAI6jB,EAAQoE,MAAMpE,QAAS,CACzB,IAAInf,EAAWmf,EAAQoE,MAAMpE,QAAQnf,SAAS0J,EAAMlI,QACpDgQ,sBAAsB,YAChB9H,EAAMwX,iBAAmBxX,EAAMsX,cAAgBhhB,GAAYmf,EAAQjE,WAAalb,IAClFmf,EAAQoG,oBAAoB7b,EAAO4X,EAEvC,EACF,CACF,EAGShmB,EAAI,EAAGA,EAAI4mB,GAAa5yB,OAAQgM,IACvCoqB,EAAMpqB,EAEV,CAEA,SAAS+W,GAAmBC,EAAUrJ,EAAOsJ,EAAQC,EAASC,EAAsBC,EAAoCC,EAAYC,EAAgBC,EAAmBC,GACzI,kBAAfH,IACPE,EAAoBD,EACpBA,EAAiBD,EACjBA,GAAa,GAGjB,MAAM/oB,EAA4B,mBAAX2oB,EAAwBA,EAAO3oB,QAAU2oB,EAehE,IAAIQ,EAmCJ,GAhDIT,GAAYA,EAASU,SACrBppB,EAAQopB,OAASV,EAASU,OAC1BppB,EAAQqpB,gBAAkBX,EAASW,gBACnCrpB,EAAQspB,WAAY,EAEhBT,IACA7oB,EAAQupB,YAAa,IAIzBX,IACA5oB,EAAQwpB,SAAWZ,GAGnBE,GAEAK,EAAO,SAAUjlB,IAEbA,EACIA,GACKgH,KAAKue,QAAUve,KAAKue,OAAOC,YAC3Bxe,KAAKwO,QAAUxO,KAAKwO,OAAO+P,QAAUve,KAAKwO,OAAO+P,OAAOC,aAElB,oBAAxBC,sBACnBzlB,EAAUylB,qBAGVtK,GACAA,EAAMxN,KAAK3G,KAAM+d,EAAkB/kB,IAGnCA,GAAWA,EAAQ0lB,uBACnB1lB,EAAQ0lB,sBAAsBC,IAAIf,EAE1C,EAGA9oB,EAAQ8pB,aAAeX,GAElB9J,IACL8J,EAAOJ,EACD,SAAU7kB,GACRmb,EAAMxN,KAAK3G,KAAMge,EAAqBhlB,EAASgH,KAAK6e,MAAMC,SAASC,YACvE,EACE,SAAU/lB,GACRmb,EAAMxN,KAAK3G,KAAM8d,EAAe9kB,GACpC,GAEJilB,EACA,GAAInpB,EAAQupB,WAAY,CAEpB,MAAMW,EAAiBlqB,EAAQopB,OAC/BppB,EAAQopB,OAAS,SAAkCe,EAAGjmB,GAElD,OADAilB,EAAKtX,KAAK3N,GACHgmB,EAAeC,EAAGjmB,EAC7B,CACJ,KACK,CAED,MAAMkmB,EAAWpqB,EAAQqqB,aACzBrqB,EAAQqqB,aAAeD,EAAW,GAAG7gB,OAAO6gB,EAAUjB,GAAQ,CAACA,EACnE,CAEJ,OAAOR,CACX,CAlHwB,oBAAbpW,UAA8C,oBAAX1N,SACxCuzB,GACF7lB,SAAS2N,iBAAiB,WAa9B,SAA8BJ,GAC5B+b,GAAkB/b,GAAO,EAC3B,GAfgEyN,IAAkB,CAC5EpN,SAAS,EACTkU,SAAS,IAGXxvB,OAAOqb,iBAAiB,QAI5B,SAA2BJ,GACzB+b,GAAkB/b,EACpB,GANwD,IA8GxD,IAAIwK,GAAiB3B,GAGjBmD,GAAiB,WACnB,IAAIiQ,EAAM7wB,KAEN+f,EAAK8Q,EAAIhQ,eAETE,EAAK8P,EAAI/P,MAAMC,IAAMhB,EAEzB,OAAOgB,EAAG,MAAO,CACfC,YAAa,YACb8P,MAAOD,EAAI1C,UACV,CAACpN,EAAG,MAAO,CACZgQ,IAAK,UACL/P,YAAa,UACbgQ,YAAa,CACXzJ,QAAS,gBAEXtG,MAAO,CACL,mBAAoB4P,EAAI1L,OAAS0L,EAAIzC,eAAYroB,EACjDmb,UAA4C,IAAlC2P,EAAIzN,QAAQ1jB,QAAQ,SAAkB,OAAIqG,IAErD,CAAC8qB,EAAII,GAAG,YAAa,GAAIJ,EAAIK,GAAG,KAAMnQ,EAAG,MAAO,CACjDgQ,IAAK,UACLD,MAAO,CAACD,EAAIlD,iBAAkBkD,EAAInD,aAAcmD,EAAI1C,UACpDha,MAAO,CACLgd,WAAYN,EAAI1L,OAAS,UAAY,UAEvClE,MAAO,CACLvpB,GAAIm5B,EAAIzC,UACR,cAAeyC,EAAI1L,OAAS,QAAU,OACtCjE,SAAU2P,EAAIzK,SAAW,OAAIrgB,GAE/BqrB,GAAI,CACFC,MAAO,SAAeC,GACpB,IAAKA,EAAOhS,KAAK5f,QAAQ,QAAUmxB,EAAIU,GAAGD,EAAOE,QAAS,MAAO,GAAIF,EAAOt2B,IAAK,CAAC,MAAO,WACvF,OAAO,KAGT61B,EAAIzK,UAAYyK,EAAI9V,MACtB,IAED,CAACgG,EAAG,MAAO,CACZ+P,MAAOD,EAAIhD,qBACV,CAAC9M,EAAG,MAAO,CACZgQ,IAAK,QACLD,MAAOD,EAAIjD,kBACXoD,YAAa,CACX3d,SAAU,aAEX,CAAC0N,EAAG,MAAO,CAAC8P,EAAII,GAAG,UAAW,KAAM,CACrC9L,OAAQ0L,EAAI1L,UACT,GAAI0L,EAAIK,GAAG,KAAML,EAAI9C,aAAehN,EAAG,iBAAkB,CAC5DqQ,GAAI,CACFK,OAAQZ,EAAIH,kBAEXG,EAAIa,MAAO,GAAIb,EAAIK,GAAG,KAAMnQ,EAAG,MAAO,CACzCgQ,IAAK,QACLD,MAAOD,EAAI/C,yBAEf,EAGAlN,GAAeO,eAAgB,EAG/B,IAgBIC,GAAiC7D,GAAmB,CACtDW,OAAQ0C,GACRzC,gBAtB4B,SAIFpY,EAmBFqZ,QAhBHrZ,GAMc,OAHLA,GAauF,OAAOA,OAAWA,OAAWA,IAEpJ,SAAqBuC,EAAKyoB,QACX,IAARA,IAAiBA,EAAM,CAAC,GAC7B,IAAIY,EAAWZ,EAAIY,SAEnB,GAAKrpB,GAA2B,oBAAbjB,SAAnB,CAEA,IAAIuqB,EAAOvqB,SAASuqB,MAAQvqB,SAASwqB,qBAAqB,QAAQ,GAC9D1d,EAAQ9M,SAAS4Y,cAAc,SACnC9L,EAAMmL,KAAO,WAEI,QAAbqS,GACEC,EAAK/K,WACP+K,EAAKE,aAAa3d,EAAOyd,EAAK/K,YAKhC+K,EAAKvR,YAAYlM,GAGfA,EAAM4d,WACR5d,EAAM4d,WAAWC,QAAU1pB,EAE3B6L,EAAMkM,YAAYhZ,SAAS4qB,eAAe3pB,GAnBW,CAqBzD,CAGA4pB,CADe,wWAef,IAGIC,GAAS,CACX9Q,QAhBF,SAASA,EAAQtpB,GACf,IAAIjD,EAAUyW,UAAU/Q,OAAS,QAAsBuL,IAAjBwF,UAAU,GAAmBA,UAAU,GAAK,CAAC,EACnF,IAAI8V,EAAQ9oB,UAAZ,CACA8oB,EAAQ9oB,WAAY,EACpB,IAAI65B,EAAe,CAAC,EACpBC,KAAMD,EAAc/I,GAAgBv0B,GACpCq9B,GAAOr9B,QAAUs9B,EACjBxN,GAAU9vB,QAAUs9B,EACpBr6B,EAAI6sB,UAAU,UAAWA,IACzB7sB,EAAI6sB,UAAU,gBAAiBkI,IAC/B/0B,EAAIupB,UAAU,WAAYF,GARG,CAS/B,EAOE,WAAI5hB,GACF,OAAOlK,GAAMkK,OACf,EAEA,WAAIA,CAAQlL,GACVgB,GAAMkK,QAAUlL,CAClB,GAIEitB,GAAY,KAEM,oBAAX5nB,OACT4nB,GAAY5nB,OAAO5B,IACQ,oBAAXu6B,aAChB/Q,GAAY+Q,WAAOv6B,KAGjBwpB,IACFA,GAAUC,IAAI2Q,IAGhB,Y,oDEv/DA,MCFsQ,IDEzOI,EAAAA,GAAAA,IAAiB,CAC1CC,OAAQ,cACRC,MAAMC,IACK,CAAEC,OAAO,EAAMC,UAASA,GAAAA,MEavC,IAXgB,E,SAAA,GACd,GFRW,WAAkB,IAAI/B,EAAI7wB,KAAK+gB,EAAG8P,EAAI/P,MAAMC,GAAgC,OAAOA,EAA7B8P,EAAI/P,MAAM+R,YAA6BD,UAAU,CAAC3R,MAAM,CAAC,WAAW,aAAa,CAACF,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,gBAAgB4P,EAAIK,GAAG,KAAKnQ,EAAG,eAAe8P,EAAIK,GAAG,KAAKnQ,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,cAAc,EAC7R,EACsB,IESpB,EACA,KACA,KACA,M,oCCbF,MAmDA,GA5Ce,CACX,CACI/kB,KAAM,QACN42B,KAAM,qCACNxF,WAAY,CACR9N,QAPWuT,IAAM,gGAQjBC,WAPqBC,IAAM,kGAS/BtmB,OAAO,EACP4B,SAAU,CACN,CACIukB,KAAM,iBACN52B,KAAM,WAIlB,CACI42B,KAAM,oCACN52B,KAAM,OACNg3B,SAAU,CACNh3B,KAAM,gBACN7G,OAAQ,CACJwB,UA7BQpB,E,SAAAA,GAAU,WAAY,mBAAmB,GA6BrB,WAAa,cAGjD63B,WAAY,CACR9N,QA/BK2T,IAAM,mEAgCXH,WA/BeI,IAAM,mEAgCrBC,QA/BYC,IAAM,oEAiCtB/kB,SAAU,CACN,CACIukB,KAAM,YACN52B,KAAM,gBACNqS,SAAU,CACN,CACIukB,KAAM,MACN52B,KAAM,qBCrC9BnE,GAAAA,GAAIypB,IAAI+R,GAAAA,IACR,MAQA,GARe,IAAIA,GAAAA,GAAO,CACtBC,KAAM,UAGNC,MAAMn6B,EAAAA,GAAAA,IAAY,IAClBo6B,gBAAiB,SACjBC,OAAMA,K,gBCAVC,EAAAA,IAAoBC,EAAAA,EAAAA,MAEpB97B,GAAAA,GAAIuO,UAAUnQ,EAAIA,EAAAA,EAClB4B,GAAAA,GAAIuO,UAAUsP,EAAIA,EAAAA,EAClB7d,GAAAA,GAAIypB,IAAIsS,EAAAA,IACR/7B,GAAAA,GAAIypB,IAAIuS,GAAgB,CAAEvK,aAAa,IACvCzxB,GAAAA,GAAIypB,IAAIwS,GAAAA,IACR,MAAM/uB,IAAQC,EAAAA,GAAAA,MACd+uB,EAAAA,GAAAA,GAAKhvB,GAAOivB,IACZ,MAAMC,IAAQC,EAAAA,EAAAA,MACd,IAAmBr8B,GAAAA,GAAI,CACnBm8B,OAAM,GACNjvB,MAAK,GACLkvB,MAAK,GACLjW,OAASe,GAAMA,EAAEoV,IACjB9kB,GAAI,Y,uECqKJ+kB,EACAC,EASAC,EACAC,E,mEATJ,SAASC,IACP,GAAIH,EAAkB,OAAOD,EAC7BC,EAAmB,EACnB,MAAMI,EAA2B,iBAAZC,GAAwBA,EAAQC,KAAOD,EAAQC,IAAIC,YAAc,cAAc1rB,KAAKwrB,EAAQC,IAAIC,YAAc,IAAIC,IAASniB,QAAQ3c,MAAM,YAAa8+B,GAAQ,OAGnL,OADAT,EAAUK,CAEZ,CAGA,SAASK,IACP,GAAIP,EAAsB,OAAOD,EACjCC,EAAuB,EACvB,MAEMQ,EAAmBxH,OAAOwH,kBAChC,iBAsBA,OAVAT,EAAY,CACVU,WAfiB,IAgBjBC,0BAbgC,GAchCC,sBAb4BF,IAc5BD,mBACAI,cAdoB,CACpB,QACA,WACA,QACA,WACA,QACA,WACA,cAQAC,oBArB0B,QAsB1BC,wBAAyB,EACzBC,WAAY,EAGhB,CACA,IACIC,EAyFAC,EACAC,EAkBAC,EACAC,EAwBAC,EACAC,EAsRAC,EACAC,EAWAC,EACAC,EAqBAC,EACAC,EAhcAC,EAAK,CAAEjiC,QAAS,CAAC,GAwIrB,SAASkiC,IACP,GAAIR,EAAmB,OAAOD,EAC9BC,EAAoB,EACpB,MAAMpB,EAAQD,KACR,WAAEQ,EAAU,iBAAED,GAAqBD,KACjCwB,OAAQC,EAAG,EAAEtgC,IA1IjBs/B,IACJA,EAAgB,EAChB,SAAUrhC,EAAQC,GAChB,MAAM,0BACJ8gC,EAAyB,sBACzBC,EAAqB,WACrBF,GACEF,IACEL,EAAQD,IAER+B,GADNpiC,EAAUD,EAAOC,QAAU,CAAC,GACRiiC,GAAK,GACnBE,EAASniC,EAAQmiC,OAAS,GAC1BE,EAAMriC,EAAQqiC,IAAM,GACpBC,EAAUtiC,EAAQsiC,QAAU,GAC5BxgC,EAAI9B,EAAQ8B,EAAI,CAAC,EACvB,IAAIygC,EAAI,EACR,MAAMC,EAAmB,eACnBC,EAAwB,CAC5B,CAAC,MAAO,GACR,CAAC,MAAO5B,GACR,CAAC2B,EAAkBzB,IAQf2B,EAAc,CAAC76B,EAAM5H,EAAO0iC,KAChC,MAAMC,EAPc,CAAC3iC,IACrB,IAAK,MAAOgP,EAAO6I,KAAQ2qB,EACzBxiC,EAAQA,EAAM0c,MAAM,GAAG1N,MAAU6e,KAAK,GAAG7e,OAAW6I,MAAQ6E,MAAM,GAAG1N,MAAU6e,KAAK,GAAG7e,OAAW6I,MAEpG,OAAO7X,GAGM4iC,CAAc5iC,GACrBuR,EAAQ+wB,IACdjC,EAAMz4B,EAAM2J,EAAOvR,GACnB6B,EAAE+F,GAAQ2J,EACV6wB,EAAI7wB,GAASvR,EACbqiC,EAAQ9wB,GAASoxB,EACjBR,EAAI5wB,GAAS,IAAIsxB,OAAO7iC,EAAO0iC,EAAW,SAAM,GAChDR,EAAO3wB,GAAS,IAAIsxB,OAAOF,EAAMD,EAAW,SAAM,IAEpDD,EAAY,oBAAqB,eACjCA,EAAY,yBAA0B,QACtCA,EAAY,uBAAwB,gBAAgBF,MACpDE,EAAY,cAAe,IAAIL,EAAIvgC,EAAEihC,0BAA0BV,EAAIvgC,EAAEihC,0BAA0BV,EAAIvgC,EAAEihC,uBACrGL,EAAY,mBAAoB,IAAIL,EAAIvgC,EAAEkhC,+BAA+BX,EAAIvgC,EAAEkhC,+BAA+BX,EAAIvgC,EAAEkhC,4BACpHN,EAAY,uBAAwB,MAAML,EAAIvgC,EAAEmhC,yBAAyBZ,EAAIvgC,EAAEihC,uBAC/EL,EAAY,4BAA6B,MAAML,EAAIvgC,EAAEmhC,yBAAyBZ,EAAIvgC,EAAEkhC,4BACpFN,EAAY,aAAc,QAAQL,EAAIvgC,EAAEohC,8BAA8Bb,EAAIvgC,EAAEohC,6BAC5ER,EAAY,kBAAmB,SAASL,EAAIvgC,EAAEqhC,mCAAmCd,EAAIvgC,EAAEqhC,kCACvFT,EAAY,kBAAmB,GAAGF,MAClCE,EAAY,QAAS,UAAUL,EAAIvgC,EAAEshC,yBAAyBf,EAAIvgC,EAAEshC,wBACpEV,EAAY,YAAa,KAAKL,EAAIvgC,EAAEuhC,eAAehB,EAAIvgC,EAAEwhC,eAAejB,EAAIvgC,EAAEyhC,WAC9Eb,EAAY,OAAQ,IAAIL,EAAIvgC,EAAE0hC,eAC9Bd,EAAY,aAAc,WAAWL,EAAIvgC,EAAE2hC,oBAAoBpB,EAAIvgC,EAAE4hC,oBAAoBrB,EAAIvgC,EAAEyhC,WAC/Fb,EAAY,QAAS,IAAIL,EAAIvgC,EAAE6hC,gBAC/BjB,EAAY,OAAQ,gBACpBA,EAAY,wBAAyB,GAAGL,EAAIvgC,EAAEkhC,mCAC9CN,EAAY,mBAAoB,GAAGL,EAAIvgC,EAAEihC,8BACzCL,EAAY,cAAe,YAAYL,EAAIvgC,EAAE8hC,4BAA4BvB,EAAIvgC,EAAE8hC,4BAA4BvB,EAAIvgC,EAAE8hC,wBAAwBvB,EAAIvgC,EAAEwhC,gBAAgBjB,EAAIvgC,EAAEyhC,eACrKb,EAAY,mBAAoB,YAAYL,EAAIvgC,EAAE+hC,iCAAiCxB,EAAIvgC,EAAE+hC,iCAAiCxB,EAAIvgC,EAAE+hC,6BAA6BxB,EAAIvgC,EAAE4hC,qBAAqBrB,EAAIvgC,EAAEyhC,eAC9Lb,EAAY,SAAU,IAAIL,EAAIvgC,EAAEgiC,YAAYzB,EAAIvgC,EAAEiiC,iBAClDrB,EAAY,cAAe,IAAIL,EAAIvgC,EAAEgiC,YAAYzB,EAAIvgC,EAAEkiC,sBACvDtB,EAAY,cAAe,oBAAyB5B,mBAA2CA,qBAA6CA,SAC5I4B,EAAY,SAAU,GAAGL,EAAIvgC,EAAEmiC,4BAC/BvB,EAAY,aAAcL,EAAIvgC,EAAEmiC,aAAe,MAAM5B,EAAIvgC,EAAEwhC,mBAAmBjB,EAAIvgC,EAAEyhC,wBACpFb,EAAY,YAAaL,EAAIvgC,EAAEoiC,SAAS,GACxCxB,EAAY,gBAAiBL,EAAIvgC,EAAEqiC,aAAa,GAChDzB,EAAY,YAAa,WACzBA,EAAY,YAAa,SAASL,EAAIvgC,EAAEsiC,kBAAkB,GAC1DpkC,EAAQqkC,iBAAmB,MAC3B3B,EAAY,QAAS,IAAIL,EAAIvgC,EAAEsiC,aAAa/B,EAAIvgC,EAAEiiC,iBAClDrB,EAAY,aAAc,IAAIL,EAAIvgC,EAAEsiC,aAAa/B,EAAIvgC,EAAEkiC,sBACvDtB,EAAY,YAAa,WACzBA,EAAY,YAAa,SAASL,EAAIvgC,EAAEwiC,kBAAkB,GAC1DtkC,EAAQukC,iBAAmB,MAC3B7B,EAAY,QAAS,IAAIL,EAAIvgC,EAAEwiC,aAAajC,EAAIvgC,EAAEiiC,iBAClDrB,EAAY,aAAc,IAAIL,EAAIvgC,EAAEwiC,aAAajC,EAAIvgC,EAAEkiC,sBACvDtB,EAAY,kBAAmB,IAAIL,EAAIvgC,EAAEgiC,aAAazB,EAAIvgC,EAAE6hC,oBAC5DjB,EAAY,aAAc,IAAIL,EAAIvgC,EAAEgiC,aAAazB,EAAIvgC,EAAE0hC,mBACvDd,EAAY,iBAAkB,SAASL,EAAIvgC,EAAEgiC,aAAazB,EAAIvgC,EAAE6hC,eAAetB,EAAIvgC,EAAEiiC,iBAAiB,GACtG/jC,EAAQwkC,sBAAwB,SAChC9B,EAAY,cAAe,SAASL,EAAIvgC,EAAEiiC,0BAA0B1B,EAAIvgC,EAAEiiC,sBAC1ErB,EAAY,mBAAoB,SAASL,EAAIvgC,EAAEkiC,+BAA+B3B,EAAIvgC,EAAEkiC,2BACpFtB,EAAY,OAAQ,mBACpBA,EAAY,OAAQ,6BACpBA,EAAY,UAAW,8BACxB,CAlFD,CAkFGT,EAAIA,EAAGjiC,UApFgBiiC,EAAGjiC,SA2IvBykC,EAlDR,WACE,GAAInD,EAAyB,OAAOD,EACpCC,EAA0B,EAC1B,MAAMoD,EAAc96B,OAAO+6B,OAAO,CAAEC,OAAO,IACrCC,EAAYj7B,OAAO+6B,OAAO,CAAC,GAWjC,OADAtD,EATsB5gC,GACfA,EAGkB,iBAAZA,EACFikC,EAEFjkC,EALEokC,CASb,CAkCuBC,IACf,mBAAEC,GAhCV,WACE,GAAIvD,EAAwB,OAAOD,EACnCC,EAAyB,EACzB,MAAMn6B,EAAU,WACV09B,EAAqB,CAACC,EAAIC,KAC9B,GAAkB,iBAAPD,GAAiC,iBAAPC,EACnC,OAAOD,IAAOC,EAAK,EAAID,EAAKC,GAAM,EAAI,EAExC,MAAMC,EAAO79B,EAAQ0N,KAAKiwB,GACpBG,EAAO99B,EAAQ0N,KAAKkwB,GAK1B,OAJIC,GAAQC,IACVH,GAAMA,EACNC,GAAMA,GAEDD,IAAOC,EAAK,EAAIC,IAASC,GAAQ,EAAIA,IAASD,EAAO,EAAIF,EAAKC,GAAM,EAAI,GAOjF,OAJA1D,EAAc,CACZwD,qBACAK,oBAH0B,CAACJ,EAAIC,IAAOF,EAAmBE,EAAID,GAMjE,CAUiCK,GAC/B,MAAMC,EACJ,WAAAtzB,CAAY5N,EAAS3D,GAEnB,GADAA,EAAUgkC,EAAahkC,GACnB2D,aAAmBkhC,EAAQ,CAC7B,GAAIlhC,EAAQwgC,UAAYnkC,EAAQmkC,OAASxgC,EAAQmhC,sBAAwB9kC,EAAQ8kC,kBAC/E,OAAOnhC,EAEPA,EAAUA,EAAQA,OAEtB,MAAO,GAAuB,iBAAZA,EAChB,MAAM,IAAIoO,UAAU,uDAAuDpO,OAE7E,GAAIA,EAAQ+B,OAAS06B,EACnB,MAAM,IAAIruB,UACR,0BAA0BquB,gBAG9BP,EAAM,SAAUl8B,EAAS3D,GACzBkL,KAAKlL,QAAUA,EACfkL,KAAKi5B,QAAUnkC,EAAQmkC,MACvBj5B,KAAK45B,oBAAsB9kC,EAAQ8kC,kBACnC,MAAMC,EAAIphC,EAAQ0K,OAAOwP,MAAM7d,EAAQmkC,MAAQxC,EAAItgC,EAAE2jC,OAASrD,EAAItgC,EAAE4jC,OACpE,IAAKF,EACH,MAAM,IAAIhzB,UAAU,oBAAoBpO,KAM1C,GAJAuH,KAAKg6B,IAAMvhC,EACXuH,KAAKi6B,OAASJ,EAAE,GAChB75B,KAAKk6B,OAASL,EAAE,GAChB75B,KAAK9K,OAAS2kC,EAAE,GACZ75B,KAAKi6B,MAAQhF,GAAoBj1B,KAAKi6B,MAAQ,EAChD,MAAM,IAAIpzB,UAAU,yBAEtB,GAAI7G,KAAKk6B,MAAQjF,GAAoBj1B,KAAKk6B,MAAQ,EAChD,MAAM,IAAIrzB,UAAU,yBAEtB,GAAI7G,KAAK9K,MAAQ+/B,GAAoBj1B,KAAK9K,MAAQ,EAChD,MAAM,IAAI2R,UAAU,yBAEjBgzB,EAAE,GAGL75B,KAAKm6B,WAAaN,EAAE,GAAG7oB,MAAM,KAAKjT,IAAKrG,IACrC,GAAI,WAAW0R,KAAK1R,GAAK,CACvB,MAAM0iC,GAAO1iC,EACb,GAAI0iC,GAAO,GAAKA,EAAMnF,EACpB,OAAOmF,CAEX,CACA,OAAO1iC,IATTsI,KAAKm6B,WAAa,GAYpBn6B,KAAKhE,MAAQ69B,EAAE,GAAKA,EAAE,GAAG7oB,MAAM,KAAO,GACtChR,KAAKq6B,QACP,CACA,MAAAA,GAKE,OAJAr6B,KAAKvH,QAAU,GAAGuH,KAAKi6B,SAASj6B,KAAKk6B,SAASl6B,KAAK9K,QAC/C8K,KAAKm6B,WAAW3/B,SAClBwF,KAAKvH,SAAW,IAAIuH,KAAKm6B,WAAWhY,KAAK,QAEpCniB,KAAKvH,OACd,CACA,QAAAwP,GACE,OAAOjI,KAAKvH,OACd,CACA,OAAAuJ,CAAQzN,GAEN,GADAogC,EAAM,iBAAkB30B,KAAKvH,QAASuH,KAAKlL,QAASP,KAC9CA,aAAiBolC,GAAS,CAC9B,GAAqB,iBAAVplC,GAAsBA,IAAUyL,KAAKvH,QAC9C,OAAO,EAETlE,EAAQ,IAAIolC,EAAOplC,EAAOyL,KAAKlL,QACjC,CACA,OAAIP,EAAMkE,UAAYuH,KAAKvH,QAClB,EAEFuH,KAAKs6B,YAAY/lC,IAAUyL,KAAKu6B,WAAWhmC,EACpD,CACA,WAAA+lC,CAAY/lC,GAIV,OAHMA,aAAiBolC,IACrBplC,EAAQ,IAAIolC,EAAOplC,EAAOyL,KAAKlL,UAE7BkL,KAAKi6B,MAAQ1lC,EAAM0lC,OACb,EAENj6B,KAAKi6B,MAAQ1lC,EAAM0lC,MACd,EAELj6B,KAAKk6B,MAAQ3lC,EAAM2lC,OACb,EAENl6B,KAAKk6B,MAAQ3lC,EAAM2lC,MACd,EAELl6B,KAAK9K,MAAQX,EAAMW,OACb,EAEN8K,KAAK9K,MAAQX,EAAMW,MACd,EAEF,CACT,CACA,UAAAqlC,CAAWhmC,GAIT,GAHMA,aAAiBolC,IACrBplC,EAAQ,IAAIolC,EAAOplC,EAAOyL,KAAKlL,UAE7BkL,KAAKm6B,WAAW3/B,SAAWjG,EAAM4lC,WAAW3/B,OAC9C,OAAQ,EACH,IAAKwF,KAAKm6B,WAAW3/B,QAAUjG,EAAM4lC,WAAW3/B,OACrD,OAAO,EACF,IAAKwF,KAAKm6B,WAAW3/B,SAAWjG,EAAM4lC,WAAW3/B,OACtD,OAAO,EAET,IAAIgM,EAAI,EACR,EAAG,CACD,MAAM6yB,EAAKr5B,KAAKm6B,WAAW3zB,GACrB8yB,EAAK/kC,EAAM4lC,WAAW3zB,GAE5B,GADAmuB,EAAM,qBAAsBnuB,EAAG6yB,EAAIC,QACxB,IAAPD,QAAwB,IAAPC,EACnB,OAAO,EACF,QAAW,IAAPA,EACT,OAAO,EACF,QAAW,IAAPD,EACT,OAAQ,EACH,GAAIA,IAAOC,EAGhB,OAAOF,EAAmBC,EAAIC,EAElC,SAAW9yB,EACb,CACA,YAAAg0B,CAAajmC,GACLA,aAAiBolC,IACrBplC,EAAQ,IAAIolC,EAAOplC,EAAOyL,KAAKlL,UAEjC,IAAI0R,EAAI,EACR,EAAG,CACD,MAAM6yB,EAAKr5B,KAAKhE,MAAMwK,GAChB8yB,EAAK/kC,EAAMyH,MAAMwK,GAEvB,GADAmuB,EAAM,gBAAiBnuB,EAAG6yB,EAAIC,QACnB,IAAPD,QAAwB,IAAPC,EACnB,OAAO,EACF,QAAW,IAAPA,EACT,OAAO,EACF,QAAW,IAAPD,EACT,OAAQ,EACH,GAAIA,IAAOC,EAGhB,OAAOF,EAAmBC,EAAIC,EAElC,SAAW9yB,EACb,CAGA,GAAAi0B,CAAIC,EAASC,EAAYC,GACvB,GAAIF,EAAQG,WAAW,OAAQ,CAC7B,IAAKF,IAAiC,IAAnBC,EACjB,MAAM,IAAIt2B,MAAM,mDAElB,GAAIq2B,EAAY,CACd,MAAMhoB,EAAQ,IAAIgoB,IAAahoB,MAAM3S,KAAKlL,QAAQmkC,MAAQxC,EAAItgC,EAAE4hC,iBAAmBtB,EAAItgC,EAAEwhC,aACzF,IAAKhlB,GAASA,EAAM,KAAOgoB,EACzB,MAAM,IAAIr2B,MAAM,uBAAuBq2B,IAE3C,CACF,CACA,OAAQD,GACN,IAAK,WACH16B,KAAKm6B,WAAW3/B,OAAS,EACzBwF,KAAK9K,MAAQ,EACb8K,KAAKk6B,MAAQ,EACbl6B,KAAKi6B,QACLj6B,KAAKy6B,IAAI,MAAOE,EAAYC,GAC5B,MACF,IAAK,WACH56B,KAAKm6B,WAAW3/B,OAAS,EACzBwF,KAAK9K,MAAQ,EACb8K,KAAKk6B,QACLl6B,KAAKy6B,IAAI,MAAOE,EAAYC,GAC5B,MACF,IAAK,WACH56B,KAAKm6B,WAAW3/B,OAAS,EACzBwF,KAAKy6B,IAAI,QAASE,EAAYC,GAC9B56B,KAAKy6B,IAAI,MAAOE,EAAYC,GAC5B,MAGF,IAAK,aAC4B,IAA3B56B,KAAKm6B,WAAW3/B,QAClBwF,KAAKy6B,IAAI,QAASE,EAAYC,GAEhC56B,KAAKy6B,IAAI,MAAOE,EAAYC,GAC5B,MACF,IAAK,UACH,GAA+B,IAA3B56B,KAAKm6B,WAAW3/B,OAClB,MAAM,IAAI8J,MAAM,WAAWtE,KAAKg6B,2BAElCh6B,KAAKm6B,WAAW3/B,OAAS,EACzB,MACF,IAAK,QACgB,IAAfwF,KAAKk6B,OAA8B,IAAfl6B,KAAK9K,OAA0C,IAA3B8K,KAAKm6B,WAAW3/B,QAC1DwF,KAAKi6B,QAEPj6B,KAAKk6B,MAAQ,EACbl6B,KAAK9K,MAAQ,EACb8K,KAAKm6B,WAAa,GAClB,MACF,IAAK,QACgB,IAAfn6B,KAAK9K,OAA0C,IAA3B8K,KAAKm6B,WAAW3/B,QACtCwF,KAAKk6B,QAEPl6B,KAAK9K,MAAQ,EACb8K,KAAKm6B,WAAa,GAClB,MACF,IAAK,QAC4B,IAA3Bn6B,KAAKm6B,WAAW3/B,QAClBwF,KAAK9K,QAEP8K,KAAKm6B,WAAa,GAClB,MAGF,IAAK,MAAO,CACV,MAAM1G,EAAOhG,OAAOmN,GAAkB,EAAI,EAC1C,GAA+B,IAA3B56B,KAAKm6B,WAAW3/B,OAClBwF,KAAKm6B,WAAa,CAAC1G,OACd,CACL,IAAIjtB,EAAIxG,KAAKm6B,WAAW3/B,OACxB,OAASgM,GAAK,GACsB,iBAAvBxG,KAAKm6B,WAAW3zB,KACzBxG,KAAKm6B,WAAW3zB,KAChBA,GAAK,GAGT,IAAW,IAAPA,EAAU,CACZ,GAAIm0B,IAAe36B,KAAKm6B,WAAWhY,KAAK,OAA2B,IAAnByY,EAC9C,MAAM,IAAIt2B,MAAM,yDAElBtE,KAAKm6B,WAAWrjC,KAAK28B,EACvB,CACF,CACA,GAAIkH,EAAY,CACd,IAAIR,EAAa,CAACQ,EAAYlH,IACP,IAAnBmH,IACFT,EAAa,CAACQ,IAE2C,IAAvDvB,EAAmBp5B,KAAKm6B,WAAW,GAAIQ,GACrC9kB,MAAM7V,KAAKm6B,WAAW,MACxBn6B,KAAKm6B,WAAaA,GAGpBn6B,KAAKm6B,WAAaA,CAEtB,CACA,KACF,CACA,QACE,MAAM,IAAI71B,MAAM,+BAA+Bo2B,KAMnD,OAJA16B,KAAKg6B,IAAMh6B,KAAKq6B,SACZr6B,KAAKhE,MAAMxB,SACbwF,KAAKg6B,KAAO,IAAIh6B,KAAKhE,MAAMmmB,KAAK,QAE3BniB,IACT,EAGF,OADA81B,EAAS6D,CAEX,EAGA,WACE,GAAI1D,EAAkB,OAAOD,EAC7BC,EAAmB,EACnB,MAAM0D,EAASpD,IAEfP,EADe,CAACqD,EAAIJ,IAAU,IAAIU,EAAON,EAAIJ,GAAOgB,KAGtD,CACmBa,GA0BnB,WACE,GAAIzE,EAAkB,OAAOD,EAC7BC,EAAmB,EACnB,MAAM0E,EAzBR,WACE,GAAI5E,EAAkB,OAAOD,EAC7BC,EAAmB,EACnB,MAAMwD,EAASpD,IAef,OADAL,EAbc,CAACz9B,EAAS3D,EAASkmC,GAAc,KAC7C,GAAIviC,aAAmBkhC,EACrB,OAAOlhC,EAET,IACE,OAAO,IAAIkhC,EAAOlhC,EAAS3D,EAC7B,CAAE,MAAOmmC,GACP,IAAKD,EACH,OAAO,KAET,MAAMC,CACR,EAIJ,CAMgBC,GAKd9E,EAJe,CAAC39B,EAAS3D,KACvB,MAAMymB,EAAIwf,EAAMtiC,EAAS3D,GACzB,OAAOymB,EAAIA,EAAE9iB,QAAU,KAI3B,CACmB0iC,GAwGU,IAiM7B,IACIC,EAEEA,IACJA,EAAiB,EAEf,SAAUC,GACRA,EAAKC,OAAS,SAAS/1B,EAAQg2B,GAC7B,OAAO,IAAIC,EAAUj2B,EAAQg2B,EAC/B,EACAF,EAAKG,UAAYA,EACjBH,EAAKI,UAAYA,EACjBJ,EAAKK,aA2JL,SAAsBn2B,EAAQg2B,GAC5B,OAAO,IAAIE,EAAUl2B,EAAQg2B,EAC/B,EA5JAF,EAAKM,kBAAoB,MACzB,IA6IIC,EA7IAC,EAAU,CACZ,UACA,WACA,WACA,UACA,UACA,eACA,eACA,SACA,aACA,cACA,QACA,UAsBF,SAASL,EAAUj2B,EAAQg2B,GACzB,KAAMv7B,gBAAgBw7B,GACpB,OAAO,IAAIA,EAAUj2B,EAAQg2B,GAE/B,IAAID,EAASt7B,MAuEf,SAAsBs7B,GACpB,IAAK,IAAI90B,EAAI,EAAGs1B,EAAID,EAAQrhC,OAAQgM,EAAIs1B,EAAGt1B,IACzC80B,EAAOO,EAAQr1B,IAAM,EAEzB,CA1EEu1B,CAAaT,GACbA,EAAOU,EAAIV,EAAOW,EAAI,GACtBX,EAAOY,oBAAsBb,EAAKM,kBAClCL,EAAOC,IAAMA,GAAO,CAAC,EACrBD,EAAOC,IAAIY,UAAYb,EAAOC,IAAIY,WAAab,EAAOC,IAAIa,cAC1Dd,EAAOe,UAAYf,EAAOC,IAAIY,UAAY,cAAgB,cAC1Db,EAAOgB,KAAO,GACdhB,EAAOiB,OAASjB,EAAOkB,WAAalB,EAAOmB,SAAU,EACrDnB,EAAOoB,IAAMpB,EAAOrlC,MAAQ,KAC5BqlC,EAAO/1B,SAAWA,EAClB+1B,EAAOqB,YAAcp3B,IAAU+1B,EAAOC,IAAIoB,UAC1CrB,EAAOhmC,MAAQsnC,EAAEC,MACjBvB,EAAOwB,eAAiBxB,EAAOC,IAAIuB,eACnCxB,EAAOyB,SAAWzB,EAAOwB,eAAiB7+B,OAAO++B,OAAO3B,EAAK4B,cAAgBh/B,OAAO++B,OAAO3B,EAAK0B,UAChGzB,EAAO4B,WAAa,GAChB5B,EAAOC,IAAI4B,QACb7B,EAAO8B,GAAKn/B,OAAO++B,OAAOK,SAEe,IAAvC/B,EAAOC,IAAI+B,0BACbhC,EAAOC,IAAI+B,yBAA2B/3B,GAExC+1B,EAAOiC,eAAwC,IAAxBjC,EAAOC,IAAIloB,SAC9BioB,EAAOiC,gBACTjC,EAAOjoB,SAAWioB,EAAOkC,KAAOlC,EAAOmC,OAAS,GAElDC,EAAMpC,EAAQ,UAChB,CAnDAD,EAAKsC,OAAS,CACZ,OACA,wBACA,kBACA,UACA,UACA,eACA,YACA,UACA,WACA,YACA,QACA,aACA,QACA,MACA,QACA,SACA,gBACA,kBAkCG1/B,OAAO++B,SACV/+B,OAAO++B,OAAS,SAAS92B,GACvB,SAAS03B,IACT,CAGA,OAFAA,EAAEt3B,UAAYJ,EACH,IAAI03B,CAEjB,GAEG3/B,OAAOuF,OACVvF,OAAOuF,KAAO,SAAS0C,GACrB,IAAImzB,EAAK,GACT,IAAK,IAAI7yB,KAAKN,EAAOA,EAAEiH,eAAe3G,IAAI6yB,EAAGviC,KAAK0P,GAClD,OAAO6yB,CACT,GA6CFmC,EAAUl1B,UAAY,CACpBsE,IAAK,WACHA,EAAI5K,KACN,EACA69B,MAwuBF,SAAeC,GACb,IAAIxC,EAASt7B,KACb,GAAIA,KAAK/J,MACP,MAAM+J,KAAK/J,MAEb,GAAIqlC,EAAOiB,OACT,OAAOtmC,EACLqlC,EACA,wDAGJ,GAAc,OAAVwC,EACF,OAAOlzB,EAAI0wB,GAEQ,iBAAVwC,IACTA,EAAQA,EAAM71B,YAIhB,IAFA,IAAIzB,EAAI,EACJu3B,EAAK,GAEPA,EAAKhqB,EAAO+pB,EAAOt3B,KACnB80B,EAAOW,EAAI8B,EACNA,GAYL,OATIzC,EAAOiC,gBACTjC,EAAOjoB,WACI,OAAP0qB,GACFzC,EAAOkC,OACPlC,EAAOmC,OAAS,GAEhBnC,EAAOmC,UAGHnC,EAAOhmC,OACb,KAAKsnC,EAAEC,MAEL,GADAvB,EAAOhmC,MAAQsnC,EAAEoB,iBACN,WAAPD,EACF,SAEFE,EAAgB3C,EAAQyC,GACxB,SACF,KAAKnB,EAAEoB,iBACLC,EAAgB3C,EAAQyC,GACxB,SACF,KAAKnB,EAAEsB,KACL,GAAI5C,EAAOmB,UAAYnB,EAAOkB,WAAY,CAExC,IADA,IAAI2B,EAAS33B,EAAI,EACVu3B,GAAa,MAAPA,GAAqB,MAAPA,IACzBA,EAAKhqB,EAAO+pB,EAAOt3B,OACT80B,EAAOiC,gBACfjC,EAAOjoB,WACI,OAAP0qB,GACFzC,EAAOkC,OACPlC,EAAOmC,OAAS,GAEhBnC,EAAOmC,UAIbnC,EAAO8C,UAAYN,EAAM3gB,UAAUghB,EAAQ33B,EAAI,EACjD,CACW,MAAPu3B,GAAgBzC,EAAOmB,SAAWnB,EAAOkB,aAAelB,EAAO/1B,QAI5D84B,EAAaN,IAASzC,EAAOmB,UAAWnB,EAAOkB,YAClD8B,EAAWhD,EAAQ,mCAEV,MAAPyC,EACFzC,EAAOhmC,MAAQsnC,EAAE2B,YAEjBjD,EAAO8C,UAAYL,IATrBzC,EAAOhmC,MAAQsnC,EAAE4B,UACjBlD,EAAOmD,iBAAmBnD,EAAOjoB,UAWnC,SACF,KAAKupB,EAAE8B,OACM,MAAPX,EACFzC,EAAOhmC,MAAQsnC,EAAE+B,cAEjBrD,EAAO7d,QAAUsgB,EAEnB,SACF,KAAKnB,EAAE+B,cACM,MAAPZ,EACFzC,EAAOhmC,MAAQsnC,EAAEgC,WAEjBtD,EAAO7d,QAAU,IAAMsgB,EACvBzC,EAAOhmC,MAAQsnC,EAAE8B,QAEnB,SACF,KAAK9B,EAAE4B,UACL,GAAW,MAAPT,EACFzC,EAAOhmC,MAAQsnC,EAAEiC,UACjBvD,EAAOwD,SAAW,QACb,GAAIT,EAAaN,SACnB,GAAIgB,EAAQC,EAAWjB,GAC1BzC,EAAOhmC,MAAQsnC,EAAEqC,SACjB3D,EAAO4D,QAAUnB,OACZ,GAAW,MAAPA,EACTzC,EAAOhmC,MAAQsnC,EAAEgC,UACjBtD,EAAO4D,QAAU,QACZ,GAAW,MAAPnB,EACTzC,EAAOhmC,MAAQsnC,EAAEuC,UACjB7D,EAAO8D,aAAe9D,EAAO+D,aAAe,OACvC,CAEL,GADAf,EAAWhD,EAAQ,eACfA,EAAOmD,iBAAmB,EAAInD,EAAOjoB,SAAU,CACjD,IAAIisB,EAAMhE,EAAOjoB,SAAWioB,EAAOmD,iBACnCV,EAAK,IAAI3mC,MAAMkoC,GAAKnd,KAAK,KAAO4b,CAClC,CACAzC,EAAO8C,UAAY,IAAML,EACzBzC,EAAOhmC,MAAQsnC,EAAEsB,IACnB,CACA,SACF,KAAKtB,EAAEiC,UACL,GAAIvD,EAAOwD,SAAWf,IAAO,KAAM,CACjCzC,EAAOhmC,MAAQsnC,EAAE2C,QACjBjE,EAAOkE,QAAU,GACjBlE,EAAOwD,SAAW,GAClB,QACF,CACIxD,EAAOmE,UAA8B,IAAnBnE,EAAOmE,SAAoBnE,EAAOwD,UACtDxD,EAAOhmC,MAAQsnC,EAAE8C,YACjBpE,EAAOmE,SAAW,KAAOnE,EAAOwD,SAAWf,EAC3CzC,EAAOwD,SAAW,KACRxD,EAAOwD,SAAWf,GAAI/pB,gBAAkB2rB,GAClDC,EAAStE,EAAQ,eACjBA,EAAOhmC,MAAQsnC,EAAE+C,MACjBrE,EAAOwD,SAAW,GAClBxD,EAAOuE,MAAQ,KACLvE,EAAOwD,SAAWf,GAAI/pB,gBAAkB8rB,GAClDxE,EAAOhmC,MAAQsnC,EAAEkD,SACbxE,EAAOmE,SAAWnE,EAAOmB,UAC3B6B,EACEhD,EACA,+CAGJA,EAAOmE,QAAU,GACjBnE,EAAOwD,SAAW,IACF,MAAPf,GACT6B,EAAStE,EAAQ,oBAAqBA,EAAOwD,UAC7CxD,EAAOwD,SAAW,GAClBxD,EAAOhmC,MAAQsnC,EAAEsB,MACR6B,EAAQhC,IACjBzC,EAAOhmC,MAAQsnC,EAAEoD,iBACjB1E,EAAOwD,UAAYf,GAEnBzC,EAAOwD,UAAYf,EAErB,SACF,KAAKnB,EAAEoD,iBACDjC,IAAOzC,EAAOU,IAChBV,EAAOhmC,MAAQsnC,EAAEiC,UACjBvD,EAAOU,EAAI,IAEbV,EAAOwD,UAAYf,EACnB,SACF,KAAKnB,EAAEkD,QACM,MAAP/B,GACFzC,EAAOhmC,MAAQsnC,EAAEsB,KACjB0B,EAAStE,EAAQ,YAAaA,EAAOmE,SACrCnE,EAAOmE,SAAU,IAEjBnE,EAAOmE,SAAW1B,EACP,MAAPA,EACFzC,EAAOhmC,MAAQsnC,EAAE8C,YACRK,EAAQhC,KACjBzC,EAAOhmC,MAAQsnC,EAAEqD,eACjB3E,EAAOU,EAAI+B,IAGf,SACF,KAAKnB,EAAEqD,eACL3E,EAAOmE,SAAW1B,EACdA,IAAOzC,EAAOU,IAChBV,EAAOU,EAAI,GACXV,EAAOhmC,MAAQsnC,EAAEkD,SAEnB,SACF,KAAKlD,EAAE8C,YACM,MAAP3B,GACFzC,EAAOmE,SAAW1B,EAClBzC,EAAOhmC,MAAQsnC,EAAEkD,SACD,MAAP/B,GACTzC,EAAOhmC,MAAQsnC,EAAE4B,UACjBlD,EAAOmD,iBAAmBnD,EAAOjoB,UACxB0sB,EAAQhC,IACjBzC,EAAOmE,SAAW1B,EAClBzC,EAAOhmC,MAAQsnC,EAAEsD,mBACjB5E,EAAOU,EAAI+B,GAEXzC,EAAOmE,SAAW1B,EAEpB,SACF,KAAKnB,EAAEsD,mBACL5E,EAAOmE,SAAW1B,EACdA,IAAOzC,EAAOU,IAChBV,EAAOhmC,MAAQsnC,EAAE8C,YACjBpE,EAAOU,EAAI,IAEb,SACF,KAAKY,EAAE2C,QACM,MAAPxB,EACFzC,EAAOhmC,MAAQsnC,EAAEuD,eAEjB7E,EAAOkE,SAAWzB,EAEpB,SACF,KAAKnB,EAAEuD,eACM,MAAPpC,GACFzC,EAAOhmC,MAAQsnC,EAAEwD,cACjB9E,EAAOkE,QAAUa,EAAS/E,EAAOC,IAAKD,EAAOkE,SACzClE,EAAOkE,SACTI,EAAStE,EAAQ,YAAaA,EAAOkE,SAEvClE,EAAOkE,QAAU,KAEjBlE,EAAOkE,SAAW,IAAMzB,EACxBzC,EAAOhmC,MAAQsnC,EAAE2C,SAEnB,SACF,KAAK3C,EAAEwD,cACM,MAAPrC,GACFO,EAAWhD,EAAQ,qBACnBA,EAAOkE,SAAW,KAAOzB,EACzBzC,EAAOhmC,MAAQsnC,EAAE2C,SACRjE,EAAOmE,UAA8B,IAAnBnE,EAAOmE,QAClCnE,EAAOhmC,MAAQsnC,EAAE8C,YAEjBpE,EAAOhmC,MAAQsnC,EAAEsB,KAEnB,SACF,KAAKtB,EAAE+C,MACM,MAAP5B,EACFzC,EAAOhmC,MAAQsnC,EAAE0D,aAEjBhF,EAAOuE,OAAS9B,EAElB,SACF,KAAKnB,EAAE0D,aACM,MAAPvC,EACFzC,EAAOhmC,MAAQsnC,EAAE2D,gBAEjBjF,EAAOuE,OAAS,IAAM9B,EACtBzC,EAAOhmC,MAAQsnC,EAAE+C,OAEnB,SACF,KAAK/C,EAAE2D,eACM,MAAPxC,GACEzC,EAAOuE,OACTD,EAAStE,EAAQ,UAAWA,EAAOuE,OAErCD,EAAStE,EAAQ,gBACjBA,EAAOuE,MAAQ,GACfvE,EAAOhmC,MAAQsnC,EAAEsB,MACD,MAAPH,EACTzC,EAAOuE,OAAS,KAEhBvE,EAAOuE,OAAS,KAAO9B,EACvBzC,EAAOhmC,MAAQsnC,EAAE+C,OAEnB,SACF,KAAK/C,EAAEuC,UACM,MAAPpB,EACFzC,EAAOhmC,MAAQsnC,EAAE4D,iBACRnC,EAAaN,GACtBzC,EAAOhmC,MAAQsnC,EAAE6D,eAEjBnF,EAAO8D,cAAgBrB,EAEzB,SACF,KAAKnB,EAAE6D,eACL,IAAKnF,EAAO+D,cAAgBhB,EAAaN,GACvC,SACgB,MAAPA,EACTzC,EAAOhmC,MAAQsnC,EAAE4D,iBAEjBlF,EAAO+D,cAAgBtB,EAEzB,SACF,KAAKnB,EAAE4D,iBACM,MAAPzC,GACF6B,EAAStE,EAAQ,0BAA2B,CAC1Cp/B,KAAMo/B,EAAO8D,aACbr2B,KAAMuyB,EAAO+D,eAEf/D,EAAO8D,aAAe9D,EAAO+D,aAAe,GAC5C/D,EAAOhmC,MAAQsnC,EAAEsB,OAEjB5C,EAAO+D,cAAgB,IAAMtB,EAC7BzC,EAAOhmC,MAAQsnC,EAAE6D,gBAEnB,SACF,KAAK7D,EAAEqC,SACDF,EAAQ2B,EAAU3C,GACpBzC,EAAO4D,SAAWnB,GAElB4C,EAAOrF,GACI,MAAPyC,EACF6C,EAAQtF,GACQ,MAAPyC,EACTzC,EAAOhmC,MAAQsnC,EAAEiE,gBAEZxC,EAAaN,IAChBO,EAAWhD,EAAQ,iCAErBA,EAAOhmC,MAAQsnC,EAAEkE,SAGrB,SACF,KAAKlE,EAAEiE,eACM,MAAP9C,GACF6C,EAAQtF,GAAQ,GAChByF,EAASzF,KAETgD,EAAWhD,EAAQ,kDACnBA,EAAOhmC,MAAQsnC,EAAEkE,QAEnB,SACF,KAAKlE,EAAEkE,OACL,GAAIzC,EAAaN,GACf,SACgB,MAAPA,EACT6C,EAAQtF,GACQ,MAAPyC,EACTzC,EAAOhmC,MAAQsnC,EAAEiE,eACR9B,EAAQC,EAAWjB,IAC5BzC,EAAO0F,WAAajD,EACpBzC,EAAO2F,YAAc,GACrB3F,EAAOhmC,MAAQsnC,EAAEsE,aAEjB5C,EAAWhD,EAAQ,0BAErB,SACF,KAAKsB,EAAEsE,YACM,MAAPnD,EACFzC,EAAOhmC,MAAQsnC,EAAEuE,aACD,MAAPpD,GACTO,EAAWhD,EAAQ,2BACnBA,EAAO2F,YAAc3F,EAAO0F,WAC5BI,EAAO9F,GACPsF,EAAQtF,IACC+C,EAAaN,GACtBzC,EAAOhmC,MAAQsnC,EAAEyE,sBACRtC,EAAQ2B,EAAU3C,GAC3BzC,EAAO0F,YAAcjD,EAErBO,EAAWhD,EAAQ,0BAErB,SACF,KAAKsB,EAAEyE,sBACL,GAAW,MAAPtD,EACFzC,EAAOhmC,MAAQsnC,EAAEuE,iBACZ,IAAI9C,EAAaN,GACtB,SAEAO,EAAWhD,EAAQ,2BACnBA,EAAOoB,IAAI1pB,WAAWsoB,EAAO0F,YAAc,GAC3C1F,EAAO2F,YAAc,GACrBrB,EAAStE,EAAQ,cAAe,CAC9Bp/B,KAAMo/B,EAAO0F,WACb1sC,MAAO,KAETgnC,EAAO0F,WAAa,GACT,MAAPjD,EACF6C,EAAQtF,GACCyD,EAAQC,EAAWjB,IAC5BzC,EAAO0F,WAAajD,EACpBzC,EAAOhmC,MAAQsnC,EAAEsE,cAEjB5C,EAAWhD,EAAQ,0BACnBA,EAAOhmC,MAAQsnC,EAAEkE,OAErB,CACA,SACF,KAAKlE,EAAEuE,aACL,GAAI9C,EAAaN,GACf,SACSgC,EAAQhC,IACjBzC,EAAOU,EAAI+B,EACXzC,EAAOhmC,MAAQsnC,EAAE0E,sBAEZhG,EAAOC,IAAI+B,yBACdrnC,EAAMqlC,EAAQ,4BAEhBA,EAAOhmC,MAAQsnC,EAAE2E,sBACjBjG,EAAO2F,YAAclD,GAEvB,SACF,KAAKnB,EAAE0E,oBACL,GAAIvD,IAAOzC,EAAOU,EAAG,CACR,MAAP+B,EACFzC,EAAOhmC,MAAQsnC,EAAE4E,sBAEjBlG,EAAO2F,aAAelD,EAExB,QACF,CACAqD,EAAO9F,GACPA,EAAOU,EAAI,GACXV,EAAOhmC,MAAQsnC,EAAE6E,oBACjB,SACF,KAAK7E,EAAE6E,oBACDpD,EAAaN,GACfzC,EAAOhmC,MAAQsnC,EAAEkE,OACD,MAAP/C,EACT6C,EAAQtF,GACQ,MAAPyC,EACTzC,EAAOhmC,MAAQsnC,EAAEiE,eACR9B,EAAQC,EAAWjB,IAC5BO,EAAWhD,EAAQ,oCACnBA,EAAO0F,WAAajD,EACpBzC,EAAO2F,YAAc,GACrB3F,EAAOhmC,MAAQsnC,EAAEsE,aAEjB5C,EAAWhD,EAAQ,0BAErB,SACF,KAAKsB,EAAE2E,sBACL,IAAKG,EAAY3D,GAAK,CACT,MAAPA,EACFzC,EAAOhmC,MAAQsnC,EAAE+E,sBAEjBrG,EAAO2F,aAAelD,EAExB,QACF,CACAqD,EAAO9F,GACI,MAAPyC,EACF6C,EAAQtF,GAERA,EAAOhmC,MAAQsnC,EAAEkE,OAEnB,SACF,KAAKlE,EAAEgC,UACL,GAAKtD,EAAO4D,QAaM,MAAPnB,EACTgD,EAASzF,GACAyD,EAAQ2B,EAAU3C,GAC3BzC,EAAO4D,SAAWnB,EACTzC,EAAO7d,QAChB6d,EAAO7d,QAAU,KAAO6d,EAAO4D,QAC/B5D,EAAO4D,QAAU,GACjB5D,EAAOhmC,MAAQsnC,EAAE8B,SAEZL,EAAaN,IAChBO,EAAWhD,EAAQ,kCAErBA,EAAOhmC,MAAQsnC,EAAEgF,yBAzBE,CACnB,GAAIvD,EAAaN,GACf,SACS8D,EAAS7C,EAAWjB,GACzBzC,EAAO7d,QACT6d,EAAO7d,QAAU,KAAOsgB,EACxBzC,EAAOhmC,MAAQsnC,EAAE8B,QAEjBJ,EAAWhD,EAAQ,mCAGrBA,EAAO4D,QAAUnB,CAErB,CAcA,SACF,KAAKnB,EAAEgF,oBACL,GAAIvD,EAAaN,GACf,SAES,MAAPA,EACFgD,EAASzF,GAETgD,EAAWhD,EAAQ,qCAErB,SACF,KAAKsB,EAAE2B,YACP,KAAK3B,EAAE4E,sBACP,KAAK5E,EAAE+E,sBACL,IAAIG,EACAC,EACJ,OAAQzG,EAAOhmC,OACb,KAAKsnC,EAAE2B,YACLuD,EAAclF,EAAEsB,KAChB6D,EAAS,WACT,MACF,KAAKnF,EAAE4E,sBACLM,EAAclF,EAAE0E,oBAChBS,EAAS,cACT,MACF,KAAKnF,EAAE+E,sBACLG,EAAclF,EAAE2E,sBAChBQ,EAAS,cAGb,GAAW,MAAPhE,EAAY,CACd,IAAIiE,EAAeC,EAAY3G,GAC3BA,EAAOC,IAAI2G,mBAAqBjkC,OAAOC,OAAOm9B,EAAK4B,cAAc7+B,SAAS4jC,IAC5E1G,EAAO6G,OAAS,GAChB7G,EAAOhmC,MAAQwsC,EACfxG,EAAOuC,MAAMmE,KAEb1G,EAAOyG,IAAWC,EAClB1G,EAAO6G,OAAS,GAChB7G,EAAOhmC,MAAQwsC,EAEnB,MAAW/C,EAAQzD,EAAO6G,OAAO3nC,OAAS4nC,EAAaC,EAAatE,GAClEzC,EAAO6G,QAAUpE,GAEjBO,EAAWhD,EAAQ,oCACnBA,EAAOyG,IAAW,IAAMzG,EAAO6G,OAASpE,EACxCzC,EAAO6G,OAAS,GAChB7G,EAAOhmC,MAAQwsC,GAEjB,SACF,QACE,MAAM,IAAIx9B,MAAMg3B,EAAQ,kBAAoBA,EAAOhmC,OAOzD,OAHIgmC,EAAOjoB,UAAYioB,EAAOY,qBA9xChC,SAA2BZ,GAGzB,IAFA,IAAIgH,EAAap2B,KAAKC,IAAIkvB,EAAKM,kBAAmB,IAC9C4G,EAAY,EACP/7B,EAAI,EAAGs1B,EAAID,EAAQrhC,OAAQgM,EAAIs1B,EAAGt1B,IAAK,CAC9C,IAAI0S,EAAMoiB,EAAOO,EAAQr1B,IAAIhM,OAC7B,GAAI0e,EAAMopB,EACR,OAAQzG,EAAQr1B,IACd,IAAK,WACHg8B,EAAUlH,GACV,MACF,IAAK,QACHsE,EAAStE,EAAQ,UAAWA,EAAOuE,OACnCvE,EAAOuE,MAAQ,GACf,MACF,IAAK,SACHD,EAAStE,EAAQ,WAAYA,EAAO7d,QACpC6d,EAAO7d,OAAS,GAChB,MACF,QACExnB,EAAMqlC,EAAQ,+BAAiCO,EAAQr1B,IAG7D+7B,EAAYr2B,KAAKC,IAAIo2B,EAAWrpB,EAClC,CACA,IAAI2gB,EAAIwB,EAAKM,kBAAoB4G,EACjCjH,EAAOY,oBAAsBrC,EAAIyB,EAAOjoB,QAC1C,CAqwCIovB,CAAkBnH,GAEbA,CACT,EAlvCEoH,OAAQ,WAEN,OADA1iC,KAAK/J,MAAQ,KACN+J,IACT,EACAlG,MAAO,WACL,OAAOkG,KAAK69B,MAAM,KACpB,EACA8E,MAAO,WAvBT,IAAsBrH,EACpBkH,EADoBlH,EAwBLt7B,MAtBM,KAAjBs7B,EAAOuE,QACTD,EAAStE,EAAQ,UAAWA,EAAOuE,OACnCvE,EAAOuE,MAAQ,IAEK,KAAlBvE,EAAO7d,SACTmiB,EAAStE,EAAQ,WAAYA,EAAO7d,QACpC6d,EAAO7d,OAAS,GAiBlB,GAGF,IACEme,EAASgH,QAAQ,UAAUhH,MAC7B,CAAE,MAAOiH,GACPjH,EAAS,WACT,CACF,CACKA,IAAQA,EAAS,WACtB,GACA,IAAIkH,EAAczH,EAAKsC,OAAOx/B,OAAO,SAAS4kC,GAC5C,MAAc,UAAPA,GAAyB,QAAPA,CAC3B,GAIA,SAAStH,EAAUl2B,EAAQg2B,GACzB,KAAMv7B,gBAAgBy7B,GACpB,OAAO,IAAIA,EAAUl2B,EAAQg2B,GAE/BK,EAAO/Y,MAAM7iB,MACbA,KAAKgjC,QAAU,IAAIxH,EAAUj2B,EAAQg2B,GACrCv7B,KAAKkH,UAAW,EAChBlH,KAAKijC,UAAW,EAChB,IAAIC,EAAKljC,KACTA,KAAKgjC,QAAQG,MAAQ,WACnBD,EAAGE,KAAK,MACV,EACApjC,KAAKgjC,QAAQK,QAAU,SAASpI,GAC9BiI,EAAGE,KAAK,QAASnI,GACjBiI,EAAGF,QAAQ/sC,MAAQ,IACrB,EACA+J,KAAKsjC,SAAW,KAChBR,EAAYxrC,QAAQ,SAASyrC,GAC3B9kC,OAAO8I,eAAem8B,EAAI,KAAOH,EAAI,CACnCluC,IAAK,WACH,OAAOquC,EAAGF,QAAQ,KAAOD,EAC3B,EACAQ,IAAK,SAAStkB,GACZ,IAAKA,EAGH,OAFAikB,EAAGM,mBAAmBT,GACtBG,EAAGF,QAAQ,KAAOD,GAAM9jB,EACjBA,EAETikB,EAAG9R,GAAG2R,EAAI9jB,EACZ,EACAjY,YAAY,EACZC,cAAc,GAElB,EACF,CACAw0B,EAAUn1B,UAAYrI,OAAO++B,OAAOpB,EAAOt1B,UAAW,CACpDD,YAAa,CACX/R,MAAOmnC,KAGXA,EAAUn1B,UAAUu3B,MAAQ,SAAS5oC,GACnC,GAAsB,mBAAXwuC,GAAoD,mBAApBA,EAAOC,UAA2BD,EAAOC,SAASzuC,GAAO,CAClG,IAAK+K,KAAKsjC,SAAU,CAClB,IAAIK,EAAK,IACT3jC,KAAKsjC,SAAW,IAAIK,EAAG,OACzB,CACA1uC,EAAO+K,KAAKsjC,SAASzF,MAAM5oC,EAC7B,CAGA,OAFA+K,KAAKgjC,QAAQnF,MAAM5oC,EAAKgT,YACxBjI,KAAKojC,KAAK,OAAQnuC,IACX,CACT,EACAwmC,EAAUn1B,UAAUsE,IAAM,SAASkzB,GAKjC,OAJIA,GAASA,EAAMtjC,QACjBwF,KAAK69B,MAAMC,GAEb99B,KAAKgjC,QAAQp4B,OACN,CACT,EACA6wB,EAAUn1B,UAAU8qB,GAAK,SAAS2R,EAAIjU,GACpC,IAAIoU,EAAKljC,KAQT,OAPKkjC,EAAGF,QAAQ,KAAOD,KAAoC,IAA7BD,EAAYpjC,QAAQqjC,KAChDG,EAAGF,QAAQ,KAAOD,GAAM,WACtB,IAAIhO,EAA4B,IAArBxpB,UAAU/Q,OAAe,CAAC+Q,UAAU,IAAMnU,MAAMyrB,MAAM,KAAMtX,WACvEwpB,EAAK51B,OAAO,EAAG,EAAG4jC,GAClBG,EAAGE,KAAKvgB,MAAMqgB,EAAInO,EACpB,GAEK6G,EAAOt1B,UAAU8qB,GAAGzqB,KAAKu8B,EAAIH,EAAIjU,EAC1C,EACA,IAAI6Q,EAAQ,UACRG,EAAU,UACV8D,EAAgB,uCAChBC,EAAkB,gCAClBxG,EAAS,CAAEyG,IAAKF,EAAezG,MAAO0G,GACtC7E,EAAY,4JACZ0B,EAAW,gMACX2B,EAAc,6JACdD,EAAa,iMACjB,SAAS/D,EAAaN,GACpB,MAAc,MAAPA,GAAqB,OAAPA,GAAsB,OAAPA,GAAsB,OAAPA,CACrD,CACA,SAASgC,EAAQhC,GACf,MAAc,MAAPA,GAAqB,MAAPA,CACvB,CACA,SAAS2D,EAAY3D,GACnB,MAAc,MAAPA,GAAcM,EAAaN,EACpC,CACA,SAASgB,EAAQgF,EAAOhG,GACtB,OAAOgG,EAAM36B,KAAK20B,EACpB,CACA,SAAS8D,EAASkC,EAAOhG,GACvB,OAAQgB,EAAQgF,EAAOhG,EACzB,CACA,IA8nCQiG,EACAprB,EACAqrB,EAhoCJrH,EAAI,EAsVR,IAAK,IAAIsH,KArVT7I,EAAK8I,MAAQ,CACXtH,MAAOD,IAEPoB,iBAAkBpB,IAElBsB,KAAMtB,IAEN2B,YAAa3B,IAEb4B,UAAW5B,IAEXiC,UAAWjC,IAEXoD,iBAAkBpD,IAElBkD,QAASlD,IAETqD,eAAgBrD,IAEhB8C,YAAa9C,IAEbsD,mBAAoBtD,IAEpBwH,iBAAkBxH,IAElB2C,QAAS3C,IAETuD,eAAgBvD,IAEhBwD,cAAexD,IAEf+C,MAAO/C,IAEP0D,aAAc1D,IAEd2D,eAAgB3D,IAEhBuC,UAAWvC,IAEX6D,eAAgB7D,IAEhB4D,iBAAkB5D,IAElBqC,SAAUrC,IAEViE,eAAgBjE,IAEhBkE,OAAQlE,IAERsE,YAAatE,IAEbyE,sBAAuBzE,IAEvBuE,aAAcvE,IAEd0E,oBAAqB1E,IAErB6E,oBAAqB7E,IAErB2E,sBAAuB3E,IAEvB4E,sBAAuB5E,IAEvB+E,sBAAuB/E,IAEvBgC,UAAWhC,IAEXgF,oBAAqBhF,IAErB8B,OAAQ9B,IAER+B,cAAe/B,KAGjBvB,EAAK4B,aAAe,CAClB,IAAO,IACP,GAAM,IACN,GAAM,IACN,KAAQ,IACR,KAAQ,KAEV5B,EAAK0B,SAAW,CACd,IAAO,IACP,GAAM,IACN,GAAM,IACN,KAAQ,IACR,KAAQ,IACR,MAAS,IACT,OAAU,IACV,MAAS,IACT,OAAU,IACV,MAAS,IACT,OAAU,IACV,KAAQ,IACR,OAAU,IACV,IAAO,IACP,OAAU,IACV,MAAS,IACT,OAAU,IACV,KAAQ,IACR,OAAU,IACV,MAAS,IACT,OAAU,IACV,KAAQ,IACR,OAAU,IACV,OAAU,IACV,MAAS,IACT,OAAU,IACV,OAAU,IACV,OAAU,IACV,KAAQ,IACR,MAAS,IACT,OAAU,IACV,MAAS,IACT,OAAU,IACV,KAAQ,IACR,OAAU,IACV,OAAU,IACV,MAAS,IACT,MAAS,IACT,OAAU,IACV,MAAS,IACT,OAAU,IACV,KAAQ,IACR,OAAU,IACV,OAAU,IACV,MAAS,IACT,OAAU,IACV,IAAO,IACP,KAAQ,IACR,OAAU,IACV,MAAS,IACT,OAAU,IACV,KAAQ,IACR,OAAU,IACV,OAAU,IACV,MAAS,IACT,OAAU,IACV,OAAU,IACV,OAAU,IACV,KAAQ,IACR,MAAS,IACT,MAAS,IACT,OAAU,IACV,MAAS,IACT,OAAU,IACV,KAAQ,IACR,OAAU,IACV,KAAQ,IACR,KAAQ,IACR,IAAO,IACP,KAAQ,IACR,MAAS,IACT,KAAQ,IACR,MAAS,IACT,OAAU,IACV,IAAO,IACP,OAAU,IACV,KAAQ,IACR,IAAO,IACP,KAAQ,IACR,MAAS,IACT,IAAO,IACP,IAAO,IACP,KAAQ,IACR,IAAO,IACP,OAAU,IACV,KAAQ,IACR,KAAQ,IACR,KAAQ,IACR,MAAS,IACT,MAAS,IACT,KAAQ,IACR,OAAU,IACV,MAAS,IACT,KAAQ,IACR,MAAS,IACT,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,MAAS,IACT,OAAU,IACV,MAAS,IACT,MAAS,IACT,OAAU,IACV,OAAU,IACV,KAAQ,IACR,KAAQ,IACR,KAAQ,IACR,MAAS,IACT,MAAS,IACT,KAAQ,IACR,MAAS,IACT,MAAS,IACT,QAAW,IACX,KAAQ,IACR,IAAO,IACP,MAAS,IACT,KAAQ,IACR,MAAS,IACT,OAAU,IACV,GAAM,IACN,GAAM,IACN,GAAM,IACN,QAAW,IACX,GAAM,IACN,IAAO,IACP,MAAS,IACT,IAAO,IACP,QAAW,IACX,IAAO,IACP,IAAO,IACP,IAAO,IACP,MAAS,IACT,MAAS,IACT,KAAQ,IACR,MAAS,IACT,MAAS,IACT,QAAW,IACX,KAAQ,IACR,IAAO,IACP,MAAS,IACT,KAAQ,IACR,MAAS,IACT,OAAU,IACV,GAAM,IACN,GAAM,IACN,GAAM,IACN,QAAW,IACX,GAAM,IACN,IAAO,IACP,OAAU,IACV,MAAS,IACT,IAAO,IACP,QAAW,IACX,IAAO,IACP,IAAO,IACP,IAAO,IACP,MAAS,IACT,SAAY,IACZ,MAAS,IACT,IAAO,IACP,KAAQ,KACR,KAAQ,KACR,OAAU,KACV,KAAQ,KACR,IAAO,KACP,IAAO,KACP,IAAO,KACP,MAAS,KACT,MAAS,KACT,MAAS,KACT,MAAS,KACT,MAAS,KACT,MAAS,KACT,MAAS,KACT,MAAS,KACT,OAAU,KACV,OAAU,KACV,KAAQ,KACR,OAAU,KACV,OAAU,KACV,MAAS,KACT,MAAS,KACT,OAAU,KACV,OAAU,KACV,MAAS,KACT,MAAS,KACT,KAAQ,KACR,MAAS,KACT,OAAU,KACV,KAAQ,KACR,MAAS,KACT,QAAW,KACX,KAAQ,KACR,KAAQ,KACR,KAAQ,KACR,KAAQ,KACR,KAAQ,KACR,MAAS,KACT,KAAQ,KACR,KAAQ,KACR,KAAQ,KACR,KAAQ,KACR,KAAQ,KACR,OAAU,KACV,KAAQ,KACR,MAAS,KACT,MAAS,KACT,MAAS,KACT,KAAQ,KACR,MAAS,KACT,GAAM,KACN,KAAQ,KACR,IAAO,KACP,MAAS,KACT,OAAU,KACV,MAAS,KACT,KAAQ,KACR,MAAS,KACT,IAAO,KACP,IAAO,KACP,GAAM,KACN,IAAO,KACP,IAAO,KACP,IAAO,KACP,OAAU,KACV,IAAO,KACP,KAAQ,KACR,MAAS,KACT,GAAM,KACN,MAAS,KACT,GAAM,KACN,GAAM,KACN,IAAO,KACP,IAAO,KACP,KAAQ,KACR,KAAQ,KACR,KAAQ,KACR,MAAS,KACT,OAAU,KACV,KAAQ,KACR,KAAQ,KACR,MAAS,KACT,MAAS,KACT,OAAU,KACV,OAAU,KACV,KAAQ,KACR,KAAQ,KACR,IAAO,KACP,OAAU,KACV,MAAS,KACT,OAAU,KACV,MAAS,MAEX9+B,OAAOuF,KAAK63B,EAAK0B,UAAUzlC,QAAQ,SAAS0D,GAC1C,IAAIyL,EAAI40B,EAAK0B,SAAS/hC,GAClBqpC,EAAkB,iBAAN59B,EAAiBnF,OAAOgjC,aAAa79B,GAAKA,EAC1D40B,EAAK0B,SAAS/hC,GAAOqpC,CACvB,GACchJ,EAAK8I,MACjB9I,EAAK8I,MAAM9I,EAAK8I,MAAMD,IAAMA,EAG9B,SAASxG,EAAMpC,EAAQ1mB,EAAO3f,GAC5BqmC,EAAO1mB,IAAU0mB,EAAO1mB,GAAO3f,EACjC,CACA,SAAS2qC,EAAStE,EAAQjzB,EAAUpT,GAC9BqmC,EAAO8C,UAAUoE,EAAUlH,GAC/BoC,EAAMpC,EAAQjzB,EAAUpT,EAC1B,CACA,SAASutC,EAAUlH,GACjBA,EAAO8C,SAAWiC,EAAS/E,EAAOC,IAAKD,EAAO8C,UAC1C9C,EAAO8C,UAAUV,EAAMpC,EAAQ,SAAUA,EAAO8C,UACpD9C,EAAO8C,SAAW,EACpB,CACA,SAASiC,EAAS9E,EAAKgJ,GAGrB,OAFIhJ,EAAIp4B,OAAMohC,EAAOA,EAAKphC,QACtBo4B,EAAIiJ,YAAWD,EAAOA,EAAK7vC,QAAQ,OAAQ,MACxC6vC,CACT,CACA,SAAStuC,EAAMqlC,EAAQL,GAQrB,OAPAuH,EAAUlH,GACNA,EAAOiC,gBACTtC,GAAM,WAAaK,EAAOkC,KAAO,aAAelC,EAAOmC,OAAS,WAAanC,EAAOW,GAEtFhB,EAAK,IAAI32B,MAAM22B,GACfK,EAAOrlC,MAAQglC,EACfyC,EAAMpC,EAAQ,UAAWL,GAClBK,CACT,CACA,SAAS1wB,EAAI0wB,GAUX,OATIA,EAAOmB,UAAYnB,EAAOkB,YAAY8B,EAAWhD,EAAQ,qBACzDA,EAAOhmC,QAAUsnC,EAAEC,OAASvB,EAAOhmC,QAAUsnC,EAAEoB,kBAAoB1C,EAAOhmC,QAAUsnC,EAAEsB,MACxFjoC,EAAMqlC,EAAQ,kBAEhBkH,EAAUlH,GACVA,EAAOW,EAAI,GACXX,EAAOiB,QAAS,EAChBmB,EAAMpC,EAAQ,SACdE,EAAU70B,KAAK20B,EAAQA,EAAO/1B,OAAQ+1B,EAAOC,KACtCD,CACT,CACA,SAASgD,EAAWhD,EAAQjlC,GAC1B,GAAsB,iBAAXilC,KAAyBA,aAAkBE,GACpD,MAAM,IAAIl3B,MAAM,0BAEdg3B,EAAO/1B,QACTtP,EAAMqlC,EAAQjlC,EAElB,CACA,SAASsqC,EAAOrF,GACTA,EAAO/1B,SAAQ+1B,EAAO4D,QAAU5D,EAAO4D,QAAQ5D,EAAOe,cAC3D,IAAI7tB,EAAS8sB,EAAOgB,KAAKhB,EAAOgB,KAAK9hC,OAAS,IAAM8gC,EAChDoB,EAAMpB,EAAOoB,IAAM,CAAExgC,KAAMo/B,EAAO4D,QAASlsB,WAAY,CAAC,GACxDsoB,EAAOC,IAAI4B,QACbT,EAAIU,GAAK5uB,EAAO4uB,IAElB9B,EAAO4B,WAAW1iC,OAAS,EAC3BolC,EAAStE,EAAQ,iBAAkBoB,EACrC,CACA,SAAS+H,EAAMvoC,EAAMwoC,GACnB,IACIC,EADIzoC,EAAKwD,QAAQ,KACF,EAAI,CAAC,GAAIxD,GAAQA,EAAK8U,MAAM,KAC3CiD,EAAS0wB,EAAS,GAClBC,EAAQD,EAAS,GAKrB,OAJID,GAAsB,UAATxoC,IACf+X,EAAS,QACT2wB,EAAQ,IAEH,CAAE3wB,SAAQ2wB,QACnB,CACA,SAASxD,EAAO9F,GAId,GAHKA,EAAO/1B,SACV+1B,EAAO0F,WAAa1F,EAAO0F,WAAW1F,EAAOe,eAEO,IAAlDf,EAAO4B,WAAWx9B,QAAQ47B,EAAO0F,aAAsB1F,EAAOoB,IAAI1pB,WAAW7F,eAAemuB,EAAO0F,YACrG1F,EAAO0F,WAAa1F,EAAO2F,YAAc,OAD3C,CAIA,GAAI3F,EAAOC,IAAI4B,MAAO,CACpB,IAAI0H,EAAKJ,EAAMnJ,EAAO0F,YAAY,GAC9B/sB,EAAS4wB,EAAG5wB,OACZ2wB,EAAQC,EAAGD,MACf,GAAe,UAAX3wB,EACF,GAAc,QAAV2wB,GAAmBtJ,EAAO2F,cAAgB2C,EAC5CtF,EACEhD,EACA,gCAAkCsI,EAAgB,aAAetI,EAAO2F,kBAErE,GAAc,UAAV2D,GAAqBtJ,EAAO2F,cAAgB4C,EACrDvF,EACEhD,EACA,kCAAoCuI,EAAkB,aAAevI,EAAO2F,iBAEzE,CACL,IAAIvE,EAAMpB,EAAOoB,IACbluB,EAAS8sB,EAAOgB,KAAKhB,EAAOgB,KAAK9hC,OAAS,IAAM8gC,EAChDoB,EAAIU,KAAO5uB,EAAO4uB,KACpBV,EAAIU,GAAKn/B,OAAO++B,OAAOxuB,EAAO4uB,KAEhCV,EAAIU,GAAGwH,GAAStJ,EAAO2F,WACzB,CAEF3F,EAAO4B,WAAWpmC,KAAK,CAACwkC,EAAO0F,WAAY1F,EAAO2F,aACpD,MACE3F,EAAOoB,IAAI1pB,WAAWsoB,EAAO0F,YAAc1F,EAAO2F,YAClDrB,EAAStE,EAAQ,cAAe,CAC9Bp/B,KAAMo/B,EAAO0F,WACb1sC,MAAOgnC,EAAO2F,cAGlB3F,EAAO0F,WAAa1F,EAAO2F,YAAc,EAjCzC,CAkCF,CACA,SAASL,EAAQtF,EAAQwJ,GACvB,GAAIxJ,EAAOC,IAAI4B,MAAO,CACpB,IAAIT,EAAMpB,EAAOoB,IACbmI,EAAKJ,EAAMnJ,EAAO4D,SACtBxC,EAAIzoB,OAAS4wB,EAAG5wB,OAChByoB,EAAIkI,MAAQC,EAAGD,MACflI,EAAIqI,IAAMrI,EAAIU,GAAGyH,EAAG5wB,SAAW,GAC3ByoB,EAAIzoB,SAAWyoB,EAAIqI,MACrBzG,EAAWhD,EAAQ,6BAA+Br6B,KAAKC,UAAUo6B,EAAO4D,UACxExC,EAAIqI,IAAMF,EAAG5wB,QAEf,IAAIzF,EAAS8sB,EAAOgB,KAAKhB,EAAOgB,KAAK9hC,OAAS,IAAM8gC,EAChDoB,EAAIU,IAAM5uB,EAAO4uB,KAAOV,EAAIU,IAC9Bn/B,OAAOuF,KAAKk5B,EAAIU,IAAI9lC,QAAQ,SAAS0tC,GACnCpF,EAAStE,EAAQ,kBAAmB,CAClCrnB,OAAQ+wB,EACRD,IAAKrI,EAAIU,GAAG4H,IAEhB,GAEF,IAAK,IAAIx+B,EAAI,EAAGs1B,EAAIR,EAAO4B,WAAW1iC,OAAQgM,EAAIs1B,EAAGt1B,IAAK,CACxD,IAAIy+B,EAAK3J,EAAO4B,WAAW12B,GACvBtK,EAAO+oC,EAAG,GACV3wC,EAAQ2wC,EAAG,GACXN,EAAWF,EAAMvoC,GAAM,GACvB+X,EAAS0wB,EAAS1wB,OAClB2wB,EAAQD,EAASC,MACjBG,EAAiB,KAAX9wB,EAAgB,GAAKyoB,EAAIU,GAAGnpB,IAAW,GAC7ColB,EAAK,CACPn9B,OACA5H,QACA2f,SACA2wB,QACAG,OAEE9wB,GAAqB,UAAXA,IAAuB8wB,IACnCzG,EAAWhD,EAAQ,6BAA+Br6B,KAAKC,UAAU+S,IACjEolB,EAAG0L,IAAM9wB,GAEXqnB,EAAOoB,IAAI1pB,WAAW9W,GAAQm9B,EAC9BuG,EAAStE,EAAQ,cAAejC,EAClC,CACAiC,EAAO4B,WAAW1iC,OAAS,CAC7B,CACA8gC,EAAOoB,IAAIwI,gBAAkBJ,EAC7BxJ,EAAOmB,SAAU,EACjBnB,EAAOgB,KAAKxlC,KAAKwkC,EAAOoB,KACxBkD,EAAStE,EAAQ,YAAaA,EAAOoB,KAChCoI,IACExJ,EAAOqB,UAA6C,WAAjCrB,EAAO4D,QAAQ9lB,cAGrCkiB,EAAOhmC,MAAQsnC,EAAEsB,KAFjB5C,EAAOhmC,MAAQsnC,EAAE8B,OAInBpD,EAAOoB,IAAM,KACbpB,EAAO4D,QAAU,IAEnB5D,EAAO0F,WAAa1F,EAAO2F,YAAc,GACzC3F,EAAO4B,WAAW1iC,OAAS,CAC7B,CACA,SAASumC,EAASzF,GAChB,IAAKA,EAAO4D,QAIV,OAHAZ,EAAWhD,EAAQ,0BACnBA,EAAO8C,UAAY,WACnB9C,EAAOhmC,MAAQsnC,EAAEsB,MAGnB,GAAI5C,EAAO7d,OAAQ,CACjB,GAAuB,WAAnB6d,EAAO4D,QAIT,OAHA5D,EAAO7d,QAAU,KAAO6d,EAAO4D,QAAU,IACzC5D,EAAO4D,QAAU,QACjB5D,EAAOhmC,MAAQsnC,EAAE8B,QAGnBkB,EAAStE,EAAQ,WAAYA,EAAO7d,QACpC6d,EAAO7d,OAAS,EAClB,CACA,IAAItnB,EAAImlC,EAAOgB,KAAK9hC,OAChB0kC,EAAU5D,EAAO4D,QAChB5D,EAAO/1B,SACV25B,EAAUA,EAAQ5D,EAAOe,cAG3B,IADA,IAAI8I,EAAUjG,EACP/oC,KACOmlC,EAAOgB,KAAKnmC,GACd+F,OAASipC,GACjB7G,EAAWhD,EAAQ,wBAKvB,GAAInlC,EAAI,EAIN,OAHAmoC,EAAWhD,EAAQ,0BAA4BA,EAAO4D,SACtD5D,EAAO8C,UAAY,KAAO9C,EAAO4D,QAAU,SAC3C5D,EAAOhmC,MAAQsnC,EAAEsB,MAGnB5C,EAAO4D,QAAUA,EAEjB,IADA,IAAImF,EAAK/I,EAAOgB,KAAK9hC,OACd6pC,KAAOluC,GAAG,CACf,IAAIumC,EAAMpB,EAAOoB,IAAMpB,EAAOgB,KAAK8I,MACnC9J,EAAO4D,QAAU5D,EAAOoB,IAAIxgC,KAC5B0jC,EAAStE,EAAQ,aAAcA,EAAO4D,SACtC,IAAI/tB,EAAI,CAAC,EACT,IAAK,IAAI3K,KAAKk2B,EAAIU,GAChBjsB,EAAE3K,GAAKk2B,EAAIU,GAAG52B,GAEhB,IAAIgI,EAAS8sB,EAAOgB,KAAKhB,EAAOgB,KAAK9hC,OAAS,IAAM8gC,EAChDA,EAAOC,IAAI4B,OAAST,EAAIU,KAAO5uB,EAAO4uB,IACxCn/B,OAAOuF,KAAKk5B,EAAIU,IAAI9lC,QAAQ,SAAS0tC,GACnC,IAAIpvB,EAAI8mB,EAAIU,GAAG4H,GACfpF,EAAStE,EAAQ,mBAAoB,CAAErnB,OAAQ+wB,EAAGD,IAAKnvB,GACzD,EAEJ,CACU,IAANzf,IAASmlC,EAAOkB,YAAa,GACjClB,EAAO4D,QAAU5D,EAAO2F,YAAc3F,EAAO0F,WAAa,GAC1D1F,EAAO4B,WAAW1iC,OAAS,EAC3B8gC,EAAOhmC,MAAQsnC,EAAEsB,IACnB,CACA,SAAS+D,EAAY3G,GACnB,IAEIlB,EAFA+H,EAAS7G,EAAO6G,OAChBkD,EAAWlD,EAAO/oB,cAElBksB,EAAS,GACb,OAAIhK,EAAOyB,SAASoF,GACX7G,EAAOyB,SAASoF,GAErB7G,EAAOyB,SAASsI,GACX/J,EAAOyB,SAASsI,IAGA,OADzBlD,EAASkD,GACEtxB,OAAO,KACS,MAArBouB,EAAOpuB,OAAO,IAChBouB,EAASA,EAAO3vB,MAAM,GAEtB8yB,GADAlL,EAAMhuB,SAAS+1B,EAAQ,KACVl6B,SAAS,MAEtBk6B,EAASA,EAAO3vB,MAAM,GAEtB8yB,GADAlL,EAAMhuB,SAAS+1B,EAAQ,KACVl6B,SAAS,MAG1Bk6B,EAASA,EAAOztC,QAAQ,MAAO,IAC3BmhB,MAAMukB,IAAQkL,EAAOlsB,gBAAkB+oB,GACzC7D,EAAWhD,EAAQ,4BACZ,IAAMA,EAAO6G,OAAS,KAExB7gC,OAAO2iC,cAAc7J,GAC9B,CACA,SAAS6D,EAAgB3C,EAAQyC,GACpB,MAAPA,GACFzC,EAAOhmC,MAAQsnC,EAAE4B,UACjBlD,EAAOmD,iBAAmBnD,EAAOjoB,UACvBgrB,EAAaN,KACvBO,EAAWhD,EAAQ,oCACnBA,EAAO8C,SAAWL,EAClBzC,EAAOhmC,MAAQsnC,EAAEsB,KAErB,CACA,SAASnqB,EAAO+pB,EAAOt3B,GACrB,IAAIsH,EAAS,GAIb,OAHItH,EAAIs3B,EAAMtjC,SACZsT,EAASgwB,EAAM/pB,OAAOvN,IAEjBsH,CACT,CArRA8uB,EAAIvB,EAAK8I,MAmyBJ7iC,OAAO2iC,gBAEJD,EAAqB1iC,OAAOgjC,aAC5B1rB,EAAQ1M,KAAK0M,MACbqrB,EAAgB,WAClB,IAEIsB,EACAC,EAFAC,EAAY,GAGZ5/B,GAAS,EACTrL,EAAS+Q,UAAU/Q,OACvB,IAAKA,EACH,MAAO,GAGT,IADA,IAAIsT,EAAS,KACJjI,EAAQrL,GAAQ,CACvB,IAAIkrC,EAAYjY,OAAOliB,UAAU1F,IACjC,IAAKiQ,SAAS4vB,IACdA,EAAY,GACZA,EAAY,SACZ9sB,EAAM8sB,KAAeA,EACnB,MAAMC,WAAW,uBAAyBD,GAExCA,GAAa,MACfD,EAAU3uC,KAAK4uC,IAGfH,EAAoC,QADpCG,GAAa,QACiB,IAC9BF,EAAeE,EAAY,KAAO,MAClCD,EAAU3uC,KAAKyuC,EAAeC,KAE5B3/B,EAAQ,IAAMrL,GAAUirC,EAAUjrC,OA1BzB,SA2BXsT,GAAUk2B,EAAmBnhB,MAAM,KAAM4iB,GACzCA,EAAUjrC,OAAS,EAEvB,CACA,OAAOsT,CACT,EACI7P,OAAO8I,eACT9I,OAAO8I,eAAezF,OAAQ,gBAAiB,CAC7ChN,MAAO2vC,EACPh9B,cAAc,EACdC,UAAU,IAGZ5F,OAAO2iC,cAAgBA,EAI9B,CA/6CD,CANQ,CAAC,IA+uDsB3/B,MAqFnC,MAAMshC,EAAY,CAAC,IAAK,KAAM,KAAM,KAAM,KAAM,MAC1CC,EAAkB,CAAC,IAAK,MAAO,MAAO,MAAO,MAAO,OAC1D,SAASC,EAAeC,EAAMC,GAAiB,EAAOC,GAAiB,EAAOC,GAAW,GACvFD,EAAiBA,IAAmBC,EAChB,iBAATH,IACTA,EAAOtY,OAAOsY,IAEhB,IAAIx7B,EAAQw7B,EAAO,EAAI75B,KAAK0M,MAAM1M,KAAKi6B,IAAIJ,GAAQ75B,KAAKi6B,IAAID,EAAW,IAAM,OAAS,EACtF37B,EAAQ2B,KAAKwM,KAAKutB,EAAiBJ,EAAgBrrC,OAASorC,EAAUprC,QAAU,EAAG+P,GACnF,MAAM67B,EAAiBH,EAAiBJ,EAAgBt7B,GAASq7B,EAAUr7B,GAC3E,IAAI87B,GAAgBN,EAAO75B,KAAKo6B,IAAIJ,EAAW,IAAM,KAAM37B,IAAQg8B,QAAQ,GAC3E,OAAuB,IAAnBP,GAAqC,IAAVz7B,GACJ,QAAjB87B,EAAyB,OAAS,OAASJ,EAAiBJ,EAAgB,GAAKD,EAAU,KAGnGS,EADE97B,EAAQ,EACKwB,WAAWs6B,GAAcE,QAAQ,GAEjCx6B,WAAWs6B,GAAcG,gBAAe,WAElDH,EAAe,IAAMD,EAC9B,CACA,SAASxlC,EAActM,EAAOmyC,GAAc,GAC1C,IACEnyC,EAAQ,GAAGA,IAAQoyC,oBAAoBC,WAAW,OAAQ,IAAIA,WAAW,IAAK,IAChF,CAAE,MAAOlgC,GACP,OAAO,IACT,CACA,MAAMkM,EAAQre,EAAMqe,MAAM,yCAC1B,GAAc,OAAVA,GAA+B,MAAbA,EAAM,IAA2B,KAAbA,EAAM,GAC9C,OAAO,KAET,MASMi0B,EAAgB,GAAGj0B,EAAM,KACzB8gB,EAAoB,MAAb9gB,EAAM,IAAc8zB,EAAc,KAAO,IACtD,OAAOv6B,KAAKyN,MAAM8T,OAAO1hB,WAAW66B,GAAiBnT,GAXlC,CACjB,GAAI,EACJoT,EAAG,EACHhN,EAAG,EACHiN,EAAG,EACH3wC,EAAG,EACH6uC,EAAG,EACHv+B,EAAG,GAImEkM,EAAM,IAChF,C,gDC50FA,SAAeo0B,E,SAAAA,MACVC,OAAO,YACPC,aACAjrC,O,kBCRL,IAAIkrC,EAAmB,EAAQ,OAC3BC,EAAc,EAAQ,OACtBC,EAAkB,EAAQ,OAC1BC,EAAY,EAAQ,OACpBC,EAAkB,EAAQ,OAC1BC,EAAc,EAAQ,OACtBlwC,EAAU,EAAQ,OAClBmwC,EAAoB,EAAQ,OAC5B9D,EAAW,EAAQ,MACnB37B,EAAa,EAAQ,MACrB0/B,EAAW,EAAQ,OACnBC,EAAgB,EAAQ,OACxBC,EAAe,EAAQ,OACvBC,EAAU,EAAQ,OAClBC,EAAgB,EAAQ,OA+E5BzzC,EAAOC,QA9DP,SAAuBmR,EAAQtC,EAAQlI,EAAK8sC,EAAUC,EAAWjiC,EAAYkiC,GAC3E,IAAIC,EAAWL,EAAQpiC,EAAQxK,GAC3BktC,EAAWN,EAAQ1kC,EAAQlI,GAC3BmtC,EAAUH,EAAMnzC,IAAIqzC,GAExB,GAAIC,EACFjB,EAAiB1hC,EAAQxK,EAAKmtC,OADhC,CAIA,IAAIC,EAAWtiC,EACXA,EAAWmiC,EAAUC,EAAWltC,EAAM,GAAKwK,EAAQtC,EAAQ8kC,QAC3DjiC,EAEAsiC,OAAwBtiC,IAAbqiC,EAEf,GAAIC,EAAU,CACZ,IAAIC,EAAQjxC,EAAQ6wC,GAChBK,GAAUD,GAAS5E,EAASwE,GAC5BM,GAAWF,IAAUC,GAAUZ,EAAaO,GAEhDE,EAAWF,EACPI,GAASC,GAAUC,EACjBnxC,EAAQ4wC,GACVG,EAAWH,EAEJT,EAAkBS,GACzBG,EAAWf,EAAUY,GAEdM,GACPF,GAAW,EACXD,EAAWjB,EAAYe,GAAU,IAE1BM,GACPH,GAAW,EACXD,EAAWhB,EAAgBc,GAAU,IAGrCE,EAAW,GAGNV,EAAcQ,IAAaX,EAAYW,IAC9CE,EAAWH,EACPV,EAAYU,GACdG,EAAWP,EAAcI,GAEjBR,EAASQ,KAAalgC,EAAWkgC,KACzCG,EAAWd,EAAgBY,KAI7BG,GAAW,CAEf,CACIA,IAEFL,EAAMzE,IAAI2E,EAAUE,GACpBL,EAAUK,EAAUF,EAAUJ,EAAUhiC,EAAYkiC,GACpDA,EAAc,OAAEE,IAElBhB,EAAiB1hC,EAAQxK,EAAKotC,EAnD9B,CAoDF,C,4CC3FA,IAAIK,EAAY,EAAQ,OAkCpBpW,EAjCiB,EAAQ,MAiCjBqW,CAAe,SAASljC,EAAQtC,EAAQ4kC,GAClDW,EAAUjjC,EAAQtC,EAAQ4kC,EAC5B,GAEA1zC,EAAOC,QAAUg+B,C,gBCqBjB,SAASsW,EAAYC,EAAIC,GACvB,IAAIC,EAAQ,CACV5sC,KAAM0sC,EAAG1sC,KACT42B,KAAM8V,EAAG9V,KACTthB,KAAMo3B,EAAGp3B,KACTu3B,MAAOH,EAAGG,MACV1zC,OAAQuzC,EAAGvzC,OACX2zC,SAAUJ,EAAGI,SACbhkC,KAAM4jC,EAAG5jC,MAKX,OAHI6jC,IACFC,EAAMD,KAAOF,EAAWE,IAEnB5qC,OAAO+6B,OAAO8P,EACvB,CAzEAz0C,EAAQ,EAAO,SAAU4Q,EAAOivB,EAAQp/B,GACtC,IAAIm0C,GAAcn0C,GAAW,CAAC,GAAGm0C,YAAc,QAE/ChkC,EAAMikC,eAAeD,EAAY,CAC/BE,YAAY,EACZ7zC,MAAOqzC,EAAWzU,EAAOkV,cACzBrzC,UAAW,CACT,cAAiB,SAAwBT,EAAO+zC,GAC9CpkC,EAAM3P,MAAM2zC,GAAcN,EAAWU,EAAWT,GAAIS,EAAWR,KACjE,KAIJ,IACIS,EADAC,GAAkB,EAIlBC,EAAevkC,EAAMopB,MACvB,SAAU/4B,GAAS,OAAOA,EAAM2zC,EAAa,EAC7C,SAAUQ,GACR,IAAIT,EAAWS,EAAMT,SACjBA,IAAaM,IAGE,MAAfA,IACFC,GAAkB,EAClBrV,EAAOp9B,KAAK2yC,IAEdH,EAAcN,EAChB,EACA,CAAE/U,MAAM,IAINyV,EAAkBxV,EAAOyV,UAAU,SAAUf,EAAIC,GAC/CU,EACFA,GAAkB,GAGpBD,EAAcV,EAAGI,SACjB/jC,EAAM9L,OAAO8vC,EAAa,iBAAkB,CAAEL,GAAIA,EAAIC,KAAMA,IAC9D,GAEA,OAAO,WAEkB,MAAnBa,GACFA,IAIkB,MAAhBF,GACFA,IAIFvkC,EAAM2kC,iBAAiBX,EACzB,CACF,C,yDCzDA,IAAIY,EAAa,EAAQ,OACrBC,EAAS,EAAQ,OA8BrB11C,EAAOC,QAJP,SAAuBC,GACrB,OAAOu1C,EAAWv1C,EAAOw1C,EAAOx1C,GAClC,C,gGC7BA,IAAIy1C,EAAc,EAAQ,OACtBC,EAAe,EAAQ,OA+B3B51C,EAAOC,QAJP,SAA2BC,GACzB,OAAO01C,EAAa11C,IAAUy1C,EAAYz1C,EAC5C,C,kBC9BA,IAAI21C,EAAQ,EAAQ,OAChB/C,EAAmB,EAAQ,OAC3BgD,EAAU,EAAQ,OAClBC,EAAgB,EAAQ,OACxB1C,EAAW,EAAQ,OACnBqC,EAAS,EAAQ,OACjBlC,EAAU,EAAQ,OAmCtBxzC,EAAOC,QAtBP,SAASo0C,EAAUjjC,EAAQtC,EAAQ4kC,EAAUhiC,EAAYkiC,GACnDxiC,IAAWtC,GAGfgnC,EAAQhnC,EAAQ,SAASglC,EAAUltC,GAEjC,GADAgtC,IAAUA,EAAQ,IAAIiC,GAClBxC,EAASS,GACXiC,EAAc3kC,EAAQtC,EAAQlI,EAAK8sC,EAAUW,EAAW3iC,EAAYkiC,OAEjE,CACH,IAAII,EAAWtiC,EACXA,EAAW8hC,EAAQpiC,EAAQxK,GAAMktC,EAAWltC,EAAM,GAAKwK,EAAQtC,EAAQ8kC,QACvEjiC,OAEaA,IAAbqiC,IACFA,EAAWF,GAEbhB,EAAiB1hC,EAAQxK,EAAKotC,EAChC,CACF,EAAG0B,EACL,C,kBCvCA,IAAIM,EAAkB,EAAQ,OAC1BC,EAAK,EAAQ,OAkBjBj2C,EAAOC,QAPP,SAA0BmR,EAAQxK,EAAK1G,SACtByR,IAAVzR,IAAwB+1C,EAAG7kC,EAAOxK,GAAM1G,SAC9ByR,IAAVzR,KAAyB0G,KAAOwK,KACnC4kC,EAAgB5kC,EAAQxK,EAAK1G,EAEjC,C,0DCwBA,IAKIg2C,GAL2B,oBAAX3wC,OAChBA,OACkB,oBAAX,WACL,WACA,CAAC,GACkB4wC,6BA2CzB,SAASC,EAAUx9B,EAAKy9B,GAItB,QAHe,IAAVA,IAAmBA,EAAQ,IAGpB,OAARz9B,GAA+B,iBAARA,EACzB,OAAOA,EAIT,IAtBmB09B,EAsBfC,GAtBeD,EAsBG,SAAUzO,GAAK,OAAOA,EAAE2O,WAAa59B,CAAK,EAAjDy9B,EArBHtsC,OAAOusC,GAAG,IAsBtB,GAAIC,EACF,OAAOA,EAAIE,KAGb,IAAIA,EAAOzzC,MAAMC,QAAQ2V,GAAO,GAAK,CAAC,EAYtC,OATAy9B,EAAM3zC,KAAK,CACT8zC,SAAU59B,EACV69B,KAAMA,IAGR5sC,OAAOuF,KAAKwJ,GAAK1V,QAAQ,SAAU0D,GACjC6vC,EAAK7vC,GAAOwvC,EAASx9B,EAAIhS,GAAMyvC,EACjC,GAEOI,CACT,CAKA,SAASC,EAAc99B,EAAKrF,GAC1B1J,OAAOuF,KAAKwJ,GAAK1V,QAAQ,SAAU0D,GAAO,OAAO2M,EAAGqF,EAAIhS,GAAMA,EAAM,EACtE,CAEA,SAASysC,EAAUz6B,GACjB,OAAe,OAARA,GAA+B,iBAARA,CAChC,CAiBA,IAAI+9B,EAAS,SAAiBC,EAAWC,GACvCjrC,KAAKirC,QAAUA,EAEfjrC,KAAKkrC,UAAYjtC,OAAO++B,OAAO,MAE/Bh9B,KAAKmrC,WAAaH,EAClB,IAAII,EAAWJ,EAAU11C,MAGzB0K,KAAK1K,OAA6B,mBAAb81C,EAA0BA,IAAaA,IAAa,CAAC,CAC5E,EAEIC,EAAqB,CAAElC,WAAY,CAAEliC,cAAc,IAEvDokC,EAAmBlC,WAAWt0C,IAAM,WAClC,QAASmL,KAAKmrC,WAAWhC,UAC3B,EAEA4B,EAAOzkC,UAAUglC,SAAW,SAAmBtwC,EAAK5G,GAClD4L,KAAKkrC,UAAUlwC,GAAO5G,CACxB,EAEA22C,EAAOzkC,UAAUmO,YAAc,SAAsBzZ,UAC5CgF,KAAKkrC,UAAUlwC,EACxB,EAEA+vC,EAAOzkC,UAAUilC,SAAW,SAAmBvwC,GAC7C,OAAOgF,KAAKkrC,UAAUlwC,EACxB,EAEA+vC,EAAOzkC,UAAUklC,SAAW,SAAmBxwC,GAC7C,OAAOA,KAAOgF,KAAKkrC,SACrB,EAEAH,EAAOzkC,UAAU5N,OAAS,SAAiBsyC,GACzChrC,KAAKmrC,WAAWhC,WAAa6B,EAAU7B,WACnC6B,EAAUjyC,UACZiH,KAAKmrC,WAAWpyC,QAAUiyC,EAAUjyC,SAElCiyC,EAAUj1C,YACZiK,KAAKmrC,WAAWp1C,UAAYi1C,EAAUj1C,WAEpCi1C,EAAUvwC,UACZuF,KAAKmrC,WAAW1wC,QAAUuwC,EAAUvwC,QAExC,EAEAswC,EAAOzkC,UAAUmlC,aAAe,SAAuB9jC,GACrDmjC,EAAa9qC,KAAKkrC,UAAWvjC,EAC/B,EAEAojC,EAAOzkC,UAAUolC,cAAgB,SAAwB/jC,GACnD3H,KAAKmrC,WAAW1wC,SAClBqwC,EAAa9qC,KAAKmrC,WAAW1wC,QAASkN,EAE1C,EAEAojC,EAAOzkC,UAAUqlC,cAAgB,SAAwBhkC,GACnD3H,KAAKmrC,WAAWpyC,SAClB+xC,EAAa9qC,KAAKmrC,WAAWpyC,QAAS4O,EAE1C,EAEAojC,EAAOzkC,UAAUslC,gBAAkB,SAA0BjkC,GACvD3H,KAAKmrC,WAAWp1C,WAClB+0C,EAAa9qC,KAAKmrC,WAAWp1C,UAAW4R,EAE5C,EAEA1J,OAAOwO,iBAAkBs+B,EAAOzkC,UAAW+kC,GAE3C,IAsJItzC,EAtJA8zC,EAAmB,SAA2BC,GAEhD9rC,KAAK+rC,SAAS,GAAID,GAAe,EACnC,EA6EA,SAASpzC,EAAQo6B,EAAMkZ,EAAcC,GASnC,GAHAD,EAAatzC,OAAOuzC,GAGhBA,EAAU7mC,QACZ,IAAK,IAAIpK,KAAOixC,EAAU7mC,QAAS,CACjC,IAAK4mC,EAAaT,SAASvwC,GAOzB,OAEFtC,EACEo6B,EAAKz0B,OAAOrD,GACZgxC,EAAaT,SAASvwC,GACtBixC,EAAU7mC,QAAQpK,GAEtB,CAEJ,CAtGA6wC,EAAiBvlC,UAAUzR,IAAM,SAAci+B,GAC7C,OAAOA,EAAKjb,OAAO,SAAUzjB,EAAQ4G,GACnC,OAAO5G,EAAOm3C,SAASvwC,EACzB,EAAGgF,KAAKksC,KACV,EAEAL,EAAiBvlC,UAAU6lC,aAAe,SAAuBrZ,GAC/D,IAAI1+B,EAAS4L,KAAKksC,KAClB,OAAOpZ,EAAKjb,OAAO,SAAUu0B,EAAWpxC,GAEtC,OAAOoxC,IADPh4C,EAASA,EAAOm3C,SAASvwC,IACEmuC,WAAanuC,EAAM,IAAM,GACtD,EAAG,GACL,EAEA6wC,EAAiBvlC,UAAU5N,OAAS,SAAmBozC,GACrDpzC,EAAO,GAAIsH,KAAKksC,KAAMJ,EACxB,EAEAD,EAAiBvlC,UAAUylC,SAAW,SAAmBjZ,EAAMkY,EAAWC,GACtE,IAAIoB,EAASrsC,UACI,IAAZirC,IAAqBA,GAAU,GAMtC,IAAIgB,EAAY,IAAIlB,EAAOC,EAAWC,GAClB,IAAhBnY,EAAKt4B,OACPwF,KAAKksC,KAAOD,EAECjsC,KAAKnL,IAAIi+B,EAAKtgB,MAAM,GAAI,IAC9B84B,SAASxY,EAAKA,EAAKt4B,OAAS,GAAIyxC,GAIrCjB,EAAU5lC,SACZ0lC,EAAaE,EAAU5lC,QAAS,SAAUknC,EAAgBtxC,GACxDqxC,EAAON,SAASjZ,EAAKz0B,OAAOrD,GAAMsxC,EAAgBrB,EACpD,EAEJ,EAEAY,EAAiBvlC,UAAUimC,WAAa,SAAqBzZ,GAC3D,IAAItkB,EAASxO,KAAKnL,IAAIi+B,EAAKtgB,MAAM,GAAI,IACjCxX,EAAM83B,EAAKA,EAAKt4B,OAAS,GACzBgyC,EAAQh+B,EAAO+8B,SAASvwC,GAEvBwxC,GAUAA,EAAMvB,SAIXz8B,EAAOiG,YAAYzZ,EACrB,EAEA6wC,EAAiBvlC,UAAUmmC,aAAe,SAAuB3Z,GAC/D,IAAItkB,EAASxO,KAAKnL,IAAIi+B,EAAKtgB,MAAM,GAAI,IACjCxX,EAAM83B,EAAKA,EAAKt4B,OAAS,GAE7B,QAAIgU,GACKA,EAAOg9B,SAASxwC,EAI3B,EA0EA,IAAImK,EAAQ,SAAgBrQ,GAC1B,IAAIu3C,EAASrsC,UACI,IAAZlL,IAAqBA,EAAU,CAAC,IAKhCiD,GAAyB,oBAAX4B,QAA0BA,OAAO5B,KAClDspB,EAAQ1nB,OAAO5B,KASjB,IAAI20C,EAAU53C,EAAQ43C,aAA0B,IAAZA,IAAqBA,EAAU,IACnE,IAAInnC,EAASzQ,EAAQyQ,YAAwB,IAAXA,IAAoBA,GAAS,GAG/DvF,KAAK2sC,aAAc,EACnB3sC,KAAK4sC,SAAW3uC,OAAO++B,OAAO,MAC9Bh9B,KAAK6sC,mBAAqB,GAC1B7sC,KAAK8sC,WAAa7uC,OAAO++B,OAAO,MAChCh9B,KAAK+sC,gBAAkB9uC,OAAO++B,OAAO,MACrCh9B,KAAKgtC,SAAW,IAAInB,EAAiB/2C,GACrCkL,KAAKitC,qBAAuBhvC,OAAO++B,OAAO,MAC1Ch9B,KAAKktC,aAAe,GACpBltC,KAAKmtC,WAAa,IAAIp1C,EACtBiI,KAAKotC,uBAAyBnvC,OAAO++B,OAAO,MAG5C,IAAI/3B,EAAQjF,KAER/F,EADM+F,KACS/F,SACfd,EAFM6G,KAEO7G,OACjB6G,KAAK/F,SAAW,SAAwBqlB,EAAM+tB,GAC5C,OAAOpzC,EAAS0M,KAAK1B,EAAOqa,EAAM+tB,EACpC,EACArtC,KAAK7G,OAAS,SAAsBmmB,EAAM+tB,EAASv4C,GACjD,OAAOqE,EAAOwN,KAAK1B,EAAOqa,EAAM+tB,EAASv4C,EAC3C,EAGAkL,KAAKuF,OAASA,EAEd,IAAIjQ,EAAQ0K,KAAKgtC,SAASd,KAAK52C,MAK/Bg4C,EAActtC,KAAM1K,EAAO,GAAI0K,KAAKgtC,SAASd,MAI7CqB,EAAavtC,KAAM1K,GAGnBo3C,EAAQp1C,QAAQ,SAAU66B,GAAU,OAAOA,EAAOka,EAAS,SAEpBtmC,IAArBjR,EAAQ04C,SAAyB14C,EAAQ04C,SAAWz1C,EAAI01C,OAAOD,WA5XnF,SAAwBvoC,GACjBqlC,IAELrlC,EAAMyoC,aAAepD,EAErBA,EAAYlH,KAAK,YAAan+B,GAE9BqlC,EAAYlZ,GAAG,uBAAwB,SAAUuc,GAC/C1oC,EAAM2oC,aAAaD,EACrB,GAEA1oC,EAAM4oC,UAAU,SAAUC,EAAUx4C,GAClCg1C,EAAYlH,KAAK,gBAAiB0K,EAAUx4C,EAC9C,EAAG,CAAEy4C,SAAS,IAEd9oC,EAAM+oC,gBAAgB,SAAUC,EAAQ34C,GACtCg1C,EAAYlH,KAAK,cAAe6K,EAAQ34C,EAC1C,EAAG,CAAEy4C,SAAS,IAChB,CA4WIG,CAAcluC,KAElB,EAEImuC,EAAuB,CAAE74C,MAAO,CAAE2R,cAAc,IAmMpD,SAASmnC,EAAkBzmC,EAAI0mC,EAAMv5C,GAMnC,OALIu5C,EAAK3uC,QAAQiI,GAAM,IACrB7S,GAAWA,EAAQi5C,QACfM,EAAK1vC,QAAQgJ,GACb0mC,EAAKv3C,KAAK6Q,IAET,WACL,IAAInB,EAAI6nC,EAAK3uC,QAAQiI,GACjBnB,GAAK,GACP6nC,EAAKlvC,OAAOqH,EAAG,EAEnB,CACF,CAEA,SAAS8nC,EAAYrpC,EAAOspC,GAC1BtpC,EAAM2nC,SAAW3uC,OAAO++B,OAAO,MAC/B/3B,EAAM6nC,WAAa7uC,OAAO++B,OAAO,MACjC/3B,EAAM8nC,gBAAkB9uC,OAAO++B,OAAO,MACtC/3B,EAAMgoC,qBAAuBhvC,OAAO++B,OAAO,MAC3C,IAAI1nC,EAAQ2P,EAAM3P,MAElBg4C,EAAcroC,EAAO3P,EAAO,GAAI2P,EAAM+nC,SAASd,MAAM,GAErDqB,EAAatoC,EAAO3P,EAAOi5C,EAC7B,CAEA,SAAShB,EAActoC,EAAO3P,EAAOi5C,GACnC,IAAIC,EAAQvpC,EAAM4rB,IAGlB5rB,EAAMxK,QAAU,CAAC,EAEjBwK,EAAMmoC,uBAAyBnvC,OAAO++B,OAAO,MAC7C,IAAIyR,EAAiBxpC,EAAM8nC,gBACvB7e,EAAW,CAAC,EAChB4c,EAAa2D,EAAgB,SAAU9mC,EAAI3M,GAIzCkzB,EAASlzB,GAnhBb,SAAkB2M,EAAI+mC,GACpB,OAAO,WACL,OAAO/mC,EAAG+mC,EACZ,CACF,CA+gBoBC,CAAQhnC,EAAI1C,GAC5BhH,OAAO8I,eAAe9B,EAAMxK,QAASO,EAAK,CACxCnG,IAAK,WAAc,OAAOoQ,EAAM4rB,IAAI71B,EAAM,EAC1CgM,YAAY,GAEhB,GAKA,IAAI4nC,EAAS72C,EAAI01C,OAAOmB,OACxB72C,EAAI01C,OAAOmB,QAAS,EACpB3pC,EAAM4rB,IAAM,IAAI94B,EAAI,CAClB9C,KAAM,CACJ45C,QAASv5C,GAEX44B,SAAUA,IAEZn2B,EAAI01C,OAAOmB,OAASA,EAGhB3pC,EAAMM,QAwMZ,SAA2BN,GACzBA,EAAM4rB,IAAIie,OAAO,WAAc,OAAO9uC,KAAK+uC,MAAMF,OAAQ,EAAG,WAI5D,EAAG,CAAE9f,MAAM,EAAMkF,MAAM,GACzB,CA7MI+a,CAAiB/pC,GAGfupC,IACED,GAGFtpC,EAAMgqC,YAAY,WAChBT,EAAMO,MAAMF,QAAU,IACxB,GAEF92C,EAAIm3C,SAAS,WAAc,OAAOV,EAAMW,UAAY,GAExD,CAEA,SAAS7B,EAAeroC,EAAOmqC,EAAWtc,EAAM1+B,EAAQm6C,GACtD,IAAIc,GAAUvc,EAAKt4B,OACf4xC,EAAYnnC,EAAM+nC,SAASb,aAAarZ,GAW5C,GARI1+B,EAAO+0C,aACLlkC,EAAMgoC,qBAAqBb,GAG/BnnC,EAAMgoC,qBAAqBb,GAAah4C,IAIrCi7C,IAAWd,EAAK,CACnB,IAAIe,EAAcC,EAAeH,EAAWtc,EAAKtgB,MAAM,GAAI,IACvDy2B,EAAanW,EAAKA,EAAKt4B,OAAS,GACpCyK,EAAMgqC,YAAY,WAQhBl3C,EAAIwrC,IAAI+L,EAAarG,EAAY70C,EAAOkB,MAC1C,EACF,CAEA,IAAIsvC,EAAQxwC,EAAO4E,QA2BrB,SAA2BiM,EAAOmnC,EAAWtZ,GAC3C,IAAI0c,EAA4B,KAAdpD,EAEdxH,EAAQ,CACV3qC,SAAUu1C,EAAcvqC,EAAMhL,SAAW,SAAUw1C,EAAOC,EAAUlsB,GAClE,IAAIuR,EAAO4a,EAAiBF,EAAOC,EAAUlsB,GACzC6pB,EAAUtY,EAAKsY,QACfv4C,EAAUigC,EAAKjgC,QACfwqB,EAAOyV,EAAKzV,KAUhB,OARKxqB,GAAYA,EAAQo3C,OACvB5sB,EAAO8sB,EAAY9sB,GAOdra,EAAMhL,SAASqlB,EAAM+tB,EAC9B,EAEAl0C,OAAQq2C,EAAcvqC,EAAM9L,OAAS,SAAUs2C,EAAOC,EAAUlsB,GAC9D,IAAIuR,EAAO4a,EAAiBF,EAAOC,EAAUlsB,GACzC6pB,EAAUtY,EAAKsY,QACfv4C,EAAUigC,EAAKjgC,QACfwqB,EAAOyV,EAAKzV,KAEXxqB,GAAYA,EAAQo3C,OACvB5sB,EAAO8sB,EAAY9sB,GAOrBra,EAAM9L,OAAOmmB,EAAM+tB,EAASv4C,EAC9B,GAgBF,OAXAmJ,OAAOwO,iBAAiBm4B,EAAO,CAC7BnqC,QAAS,CACP5F,IAAK26C,EACD,WAAc,OAAOvqC,EAAMxK,OAAS,EACpC,WAAc,OAUxB,SAA2BwK,EAAOmnC,GAChC,IAAKnnC,EAAMmoC,uBAAuBhB,GAAY,CAC5C,IAAIwD,EAAe,CAAC,EAChBC,EAAWzD,EAAU5xC,OACzByD,OAAOuF,KAAKyB,EAAMxK,SAASnD,QAAQ,SAAUgoB,GAE3C,GAAIA,EAAK9M,MAAM,EAAGq9B,KAAczD,EAAhC,CAGA,IAAI0D,EAAYxwB,EAAK9M,MAAMq9B,GAK3B5xC,OAAO8I,eAAe6oC,EAAcE,EAAW,CAC7Cj7C,IAAK,WAAc,OAAOoQ,EAAMxK,QAAQ6kB,EAAO,EAC/CtY,YAAY,GAVsC,CAYtD,GACA/B,EAAMmoC,uBAAuBhB,GAAawD,CAC5C,CAEA,OAAO3qC,EAAMmoC,uBAAuBhB,EACtC,CAjC+B2D,CAAiB9qC,EAAOmnC,EAAY,GAE/D92C,MAAO,CACLT,IAAK,WAAc,OAAO06C,EAAetqC,EAAM3P,MAAOw9B,EAAO,KAI1D8R,CACT,CAhF+BoL,CAAiB/qC,EAAOmnC,EAAWtZ,GAEhE1+B,EAAOw3C,gBAAgB,SAAUkC,EAAU9yC,IAyG7C,SAA2BiK,EAAOqa,EAAMwP,EAAS8V,IACnC3/B,EAAM6nC,WAAWxtB,KAAUra,EAAM6nC,WAAWxtB,GAAQ,KAC1DxoB,KAAK,SAAiCu2C,GAC1Cve,EAAQnoB,KAAK1B,EAAO2/B,EAAMtvC,MAAO+3C,EACnC,EACF,CA5GI4C,CAAiBhrC,EADImnC,EAAYpxC,EACO8yC,EAAUlJ,EACpD,GAEAxwC,EAAOu3C,cAAc,SAAUsC,EAAQjzC,GACrC,IAAIskB,EAAO2uB,EAAO/B,KAAOlxC,EAAMoxC,EAAYpxC,EACvC8zB,EAAUmf,EAAOnf,SAAWmf,GAyGpC,SAAyBhpC,EAAOqa,EAAMwP,EAAS8V,IACjC3/B,EAAM2nC,SAASttB,KAAUra,EAAM2nC,SAASttB,GAAQ,KACtDxoB,KAAK,SAA+Bu2C,GACxC,IAjtBgB/e,EAitBZ4hB,EAAMphB,EAAQnoB,KAAK1B,EAAO,CAC5BhL,SAAU2qC,EAAM3qC,SAChBd,OAAQyrC,EAAMzrC,OACdsB,QAASmqC,EAAMnqC,QACfnF,MAAOsvC,EAAMtvC,MACb66C,YAAalrC,EAAMxK,QACnB20C,UAAWnqC,EAAM3P,OAChB+3C,GAIH,OA5tBgB/e,EAytBD4hB,IAxtBiB,mBAAb5hB,EAAIp1B,OAytBrBg3C,EAAM9rC,QAAQyD,QAAQqoC,IAEpBjrC,EAAMyoC,aACDwC,EAAIl2C,MAAM,SAAUo2C,GAEzB,MADAnrC,EAAMyoC,aAAatK,KAAK,aAAcgN,GAChCA,CACR,GAEOF,CAEX,EACF,CA/HIG,CAAeprC,EAAOqa,EAAMwP,EAAS8V,EACvC,GAEAxwC,EAAOs3C,cAAc,SAAU4E,EAAQt1C,IA8HzC,SAAyBiK,EAAOqa,EAAMixB,EAAW3L,GAC3C3/B,EAAM8nC,gBAAgBztB,KAM1Bra,EAAM8nC,gBAAgBztB,GAAQ,SAAwBra,GACpD,OAAOsrC,EACL3L,EAAMtvC,MACNsvC,EAAMnqC,QACNwK,EAAM3P,MACN2P,EAAMxK,QAEV,EACF,CA3II+1C,CAAevrC,EADMmnC,EAAYpxC,EACKs1C,EAAQ1L,EAChD,GAEAxwC,EAAOq3C,aAAa,SAAUe,EAAOxxC,GACnCsyC,EAAcroC,EAAOmqC,EAAWtc,EAAKz0B,OAAOrD,GAAMwxC,EAAO+B,EAC3D,EACF,CA+IA,SAASgB,EAAgBj6C,EAAOw9B,GAC9B,OAAOA,EAAKjb,OAAO,SAAUviB,EAAO0F,GAAO,OAAO1F,EAAM0F,EAAM,EAAG1F,EACnE,CAEA,SAASq6C,EAAkBrwB,EAAM+tB,EAASv4C,GAWxC,OAVI2yC,EAASnoB,IAASA,EAAKA,OACzBxqB,EAAUu4C,EACVA,EAAU/tB,EACVA,EAAOA,EAAKA,MAOP,CAAEA,KAAMA,EAAM+tB,QAASA,EAASv4C,QAASA,EAClD,CAEA,SAASusB,EAASovB,GACZ14C,GAAO04C,IAAS14C,GA/4BtB,SAAqBA,GAGnB,GAFc01B,OAAO11B,EAAIU,QAAQuY,MAAM,KAAK,KAE7B,EACbjZ,EAAI24C,MAAM,CAAEvxB,aAAcwxB,QACrB,CAGL,IAAIvsB,EAAQrsB,EAAIuO,UAAU8d,MAC1BrsB,EAAIuO,UAAU8d,MAAQ,SAAUtvB,QACb,IAAZA,IAAqBA,EAAU,CAAC,GAErCA,EAAQkoB,KAAOloB,EAAQkoB,KACnB,CAAC2zB,GAAUtyC,OAAOvJ,EAAQkoB,MAC1B2zB,EACJvsB,EAAMzd,KAAK3G,KAAMlL,EACnB,CACF,CAMA,SAAS67C,IACP,IAAI77C,EAAUkL,KAAK8e,SAEfhqB,EAAQmQ,MACVjF,KAAK4wC,OAAkC,mBAAlB97C,EAAQmQ,MACzBnQ,EAAQmQ,QACRnQ,EAAQmQ,MACHnQ,EAAQ0Z,QAAU1Z,EAAQ0Z,OAAOoiC,SAC1C5wC,KAAK4wC,OAAS97C,EAAQ0Z,OAAOoiC,OAEjC,CACF,CAs3BEC,CADA94C,EAAM04C,EAER,CA1eAtC,EAAqB74C,MAAMT,IAAM,WAC/B,OAAOmL,KAAK6wB,IAAIke,MAAMF,OACxB,EAEAV,EAAqB74C,MAAMiuC,IAAM,SAAUhoB,GAI3C,EAEApW,EAAMmB,UAAUnN,OAAS,SAAiBs2C,EAAOC,EAAUlsB,GACvD,IAAI6oB,EAASrsC,KAGX+wB,EAAM4e,EAAiBF,EAAOC,EAAUlsB,GACtClE,EAAOyR,EAAIzR,KACX+tB,EAAUtc,EAAIsc,QAGhBS,GAFY/c,EAAIj8B,QAEL,CAAEwqB,KAAMA,EAAM+tB,QAASA,IAClCyD,EAAQ9wC,KAAK8sC,WAAWxtB,GACvBwxB,IAML9wC,KAAKivC,YAAY,WACf6B,EAAMx5C,QAAQ,SAAyBw3B,GACrCA,EAAQue,EACV,EACF,GAEArtC,KAAKktC,aACF16B,QACAlb,QAAQ,SAAUy5C,GAAO,OAAOA,EAAIjD,EAAUzB,EAAO/2C,MAAQ,GAWlE,EAEA6P,EAAMmB,UAAUrM,SAAW,SAAmBw1C,EAAOC,GACjD,IAAIrD,EAASrsC,KAGX+wB,EAAM4e,EAAiBF,EAAOC,GAC5BpwB,EAAOyR,EAAIzR,KACX+tB,EAAUtc,EAAIsc,QAEhBY,EAAS,CAAE3uB,KAAMA,EAAM+tB,QAASA,GAChCyD,EAAQ9wC,KAAK4sC,SAASttB,GAC1B,GAAKwxB,EAAL,CAOA,IACE9wC,KAAK6sC,mBACFr6B,QACArU,OAAO,SAAU4yC,GAAO,OAAOA,EAAIC,MAAQ,GAC3C15C,QAAQ,SAAUy5C,GAAO,OAAOA,EAAIC,OAAO/C,EAAQ5B,EAAO/2C,MAAQ,EACvE,CAAE,MAAOmR,GAKT,CAEA,IAAIqH,EAASgjC,EAAMt2C,OAAS,EACxB4J,QAAQkoB,IAAIwkB,EAAM/yC,IAAI,SAAU+wB,GAAW,OAAOA,EAAQue,EAAU,IACpEyD,EAAM,GAAGzD,GAEb,OAAO,IAAIjpC,QAAQ,SAAUyD,EAASxD,GACpCyJ,EAAO5U,KAAK,SAAUg3C,GACpB,IACE7D,EAAOQ,mBACJ1uC,OAAO,SAAU4yC,GAAO,OAAOA,EAAIE,KAAO,GAC1C35C,QAAQ,SAAUy5C,GAAO,OAAOA,EAAIE,MAAMhD,EAAQ5B,EAAO/2C,MAAQ,EACtE,CAAE,MAAOmR,GAKT,CACAoB,EAAQqoC,EACV,EAAG,SAAUj6C,GACX,IACEo2C,EAAOQ,mBACJ1uC,OAAO,SAAU4yC,GAAO,OAAOA,EAAI96C,KAAO,GAC1CqB,QAAQ,SAAUy5C,GAAO,OAAOA,EAAI96C,MAAMg4C,EAAQ5B,EAAO/2C,MAAOW,EAAQ,EAC7E,CAAE,MAAOwQ,GAKT,CACApC,EAAOpO,EACT,EACF,EA5CA,CA6CF,EAEAkP,EAAMmB,UAAUunC,UAAY,SAAoBlmC,EAAI7S,GAClD,OAAOs5C,EAAiBzmC,EAAI3H,KAAKktC,aAAcp4C,EACjD,EAEAqQ,EAAMmB,UAAU0nC,gBAAkB,SAA0BrmC,EAAI7S,GAE9D,OAAOs5C,EADkB,mBAAPzmC,EAAoB,CAAEqpC,OAAQrpC,GAAOA,EACzB3H,KAAK6sC,mBAAoB/3C,EACzD,EAEAqQ,EAAMmB,UAAU+nB,MAAQ,SAAgBiiB,EAAQ/f,EAAIz7B,GAChD,IAAIu3C,EAASrsC,KAKf,OAAOA,KAAKmtC,WAAW2B,OAAO,WAAc,OAAOwB,EAAOjE,EAAO/2C,MAAO+2C,EAAO5xC,QAAU,EAAG81B,EAAIz7B,EAClG,EAEAqQ,EAAMmB,UAAUsnC,aAAe,SAAuBt4C,GAClD,IAAI+2C,EAASrsC,KAEfA,KAAKivC,YAAY,WACf5C,EAAOxb,IAAIke,MAAMF,QAAUv5C,CAC7B,EACF,EAEA6P,EAAMmB,UAAU4iC,eAAiB,SAAyBpW,EAAMkY,EAAWl2C,QACtD,IAAZA,IAAqBA,EAAU,CAAC,GAEnB,iBAATg+B,IAAqBA,EAAO,CAACA,IAOxC9yB,KAAKgtC,SAASjB,SAASjZ,EAAMkY,GAC7BsC,EAActtC,KAAMA,KAAK1K,MAAOw9B,EAAM9yB,KAAKgtC,SAASn4C,IAAIi+B,GAAOh+B,EAAQo8C,eAEvE3D,EAAavtC,KAAMA,KAAK1K,MAC1B,EAEA6P,EAAMmB,UAAUsjC,iBAAmB,SAA2B9W,GAC1D,IAAIuZ,EAASrsC,KAEK,iBAAT8yB,IAAqBA,EAAO,CAACA,IAMxC9yB,KAAKgtC,SAAST,WAAWzZ,GACzB9yB,KAAKivC,YAAY,WACf,IAAIK,EAAcC,EAAelD,EAAO/2C,MAAOw9B,EAAKtgB,MAAM,GAAI,IAC9Dza,EAAI3C,OAAOk6C,EAAaxc,EAAKA,EAAKt4B,OAAS,GAC7C,GACA8zC,EAAWtuC,KACb,EAEAmF,EAAMmB,UAAU6qC,UAAY,SAAoBre,GAO9C,MANoB,iBAATA,IAAqBA,EAAO,CAACA,IAMjC9yB,KAAKgtC,SAASP,aAAa3Z,EACpC,EAEA3tB,EAAMmB,UAAU8qC,UAAY,SAAoBC,GAC9CrxC,KAAKgtC,SAASt0C,OAAO24C,GACrB/C,EAAWtuC,MAAM,EACnB,EAEAmF,EAAMmB,UAAU2oC,YAAc,SAAsBtnC,GAClD,IAAI2pC,EAAatxC,KAAK2sC,YACtB3sC,KAAK2sC,aAAc,EACnBhlC,IACA3H,KAAK2sC,YAAc2E,CACrB,EAEArzC,OAAOwO,iBAAkBtH,EAAMmB,UAAW6nC,GAmT1C,IAAIoD,EAAWC,EAAmB,SAAUpF,EAAWqF,GACrD,IAAIvB,EAAM,CAAC,EA0BX,OAtBAwB,EAAaD,GAAQn6C,QAAQ,SAAUy5B,GACrC,IAAI/1B,EAAM+1B,EAAI/1B,IACVszB,EAAMyC,EAAIzC,IAEd4hB,EAAIl1C,GAAO,WACT,IAAI1F,EAAQ0K,KAAK4wC,OAAOt7C,MACpBmF,EAAUuF,KAAK4wC,OAAOn2C,QAC1B,GAAI2xC,EAAW,CACb,IAAIh4C,EAASu9C,EAAqB3xC,KAAK4wC,OAAQ,EAAYxE,GAC3D,IAAKh4C,EACH,OAEFkB,EAAQlB,EAAO4E,QAAQ1D,MACvBmF,EAAUrG,EAAO4E,QAAQyB,OAC3B,CACA,MAAsB,mBAAR6zB,EACVA,EAAI3nB,KAAK3G,KAAM1K,EAAOmF,GACtBnF,EAAMg5B,EACZ,EAEA4hB,EAAIl1C,GAAK42C,MAAO,CAClB,GACO1B,CACT,GAQI2B,EAAeL,EAAmB,SAAUpF,EAAWr2C,GACzD,IAAIm6C,EAAM,CAAC,EA0BX,OAtBAwB,EAAa37C,GAAWuB,QAAQ,SAAUy5B,GACxC,IAAI/1B,EAAM+1B,EAAI/1B,IACVszB,EAAMyC,EAAIzC,IAEd4hB,EAAIl1C,GAAO,WAET,IADA,IAAI+5B,EAAO,GAAI7b,EAAM3N,UAAU/Q,OACvB0e,KAAQ6b,EAAM7b,GAAQ3N,UAAW2N,GAGzC,IAAI/f,EAAS6G,KAAK4wC,OAAOz3C,OACzB,GAAIizC,EAAW,CACb,IAAIh4C,EAASu9C,EAAqB3xC,KAAK4wC,OAAQ,EAAgBxE,GAC/D,IAAKh4C,EACH,OAEF+E,EAAS/E,EAAO4E,QAAQG,MAC1B,CACA,MAAsB,mBAARm1B,EACVA,EAAIzL,MAAM7iB,KAAM,CAAC7G,GAAQkF,OAAO02B,IAChC57B,EAAO0pB,MAAM7iB,KAAK4wC,OAAQ,CAACtiB,GAAKjwB,OAAO02B,GAC7C,CACF,GACOmb,CACT,GAQI4B,EAAaN,EAAmB,SAAUpF,EAAW3xC,GACvD,IAAIy1C,EAAM,CAAC,EAuBX,OAnBAwB,EAAaj3C,GAASnD,QAAQ,SAAUy5B,GACtC,IAAI/1B,EAAM+1B,EAAI/1B,IACVszB,EAAMyC,EAAIzC,IAGdA,EAAM8d,EAAY9d,EAClB4hB,EAAIl1C,GAAO,WACT,IAAIoxC,GAAcuF,EAAqB3xC,KAAK4wC,OAAQ,EAAcxE,GAOlE,OAAOpsC,KAAK4wC,OAAOn2C,QAAQ6zB,EAC7B,EAEA4hB,EAAIl1C,GAAK42C,MAAO,CAClB,GACO1B,CACT,GAQI6B,EAAaP,EAAmB,SAAUpF,EAAWrzC,GACvD,IAAIm3C,EAAM,CAAC,EA0BX,OAtBAwB,EAAa34C,GAASzB,QAAQ,SAAUy5B,GACtC,IAAI/1B,EAAM+1B,EAAI/1B,IACVszB,EAAMyC,EAAIzC,IAEd4hB,EAAIl1C,GAAO,WAET,IADA,IAAI+5B,EAAO,GAAI7b,EAAM3N,UAAU/Q,OACvB0e,KAAQ6b,EAAM7b,GAAQ3N,UAAW2N,GAGzC,IAAIjf,EAAW+F,KAAK4wC,OAAO32C,SAC3B,GAAImyC,EAAW,CACb,IAAIh4C,EAASu9C,EAAqB3xC,KAAK4wC,OAAQ,EAAcxE,GAC7D,IAAKh4C,EACH,OAEF6F,EAAW7F,EAAO4E,QAAQiB,QAC5B,CACA,MAAsB,mBAARq0B,EACVA,EAAIzL,MAAM7iB,KAAM,CAAC/F,GAAUoE,OAAO02B,IAClC96B,EAAS4oB,MAAM7iB,KAAK4wC,OAAQ,CAACtiB,GAAKjwB,OAAO02B,GAC/C,CACF,GACOmb,CACT,GAqBA,SAASwB,EAAc3zC,GACrB,OAaF,SAAqBA,GACnB,OAAO3G,MAAMC,QAAQ0G,IAAQ0pC,EAAS1pC,EACxC,CAfOi0C,CAAWj0C,GAGT3G,MAAMC,QAAQ0G,GACjBA,EAAIA,IAAI,SAAU/C,GAAO,MAAO,CAAGA,IAAKA,EAAKszB,IAAKtzB,EAAQ,GAC1DiD,OAAOuF,KAAKzF,GAAKA,IAAI,SAAU/C,GAAO,MAAO,CAAGA,IAAKA,EAAKszB,IAAKvwB,EAAI/C,GAAS,GAJvE,EAKX,CAgBA,SAASw2C,EAAoB7pC,GAC3B,OAAO,SAAUykC,EAAWruC,GAO1B,MANyB,iBAAdquC,GACTruC,EAAMquC,EACNA,EAAY,IACwC,MAA3CA,EAAUr4B,OAAOq4B,EAAU5xC,OAAS,KAC7C4xC,GAAa,KAERzkC,EAAGykC,EAAWruC,EACvB,CACF,CASA,SAAS4zC,EAAsB1sC,EAAOgtC,EAAQ7F,GAK5C,OAJannC,EAAMgoC,qBAAqBb,EAK1C,CA2DA,SAAS8F,EAAc37C,EAAQF,EAAS87C,GACtC,IAAID,EAAeC,EACf57C,EAAO67C,eACP77C,EAAOmI,MAGX,IACEwzC,EAAavrC,KAAKpQ,EAAQF,EAC5B,CAAE,MAAOoQ,GACPlQ,EAAO4vC,IAAI9vC,EACb,CACF,CAEA,SAASg8C,EAAY97C,GACnB,IACEA,EAAO+7C,UACT,CAAE,MAAO7rC,GACPlQ,EAAO4vC,IAAI,gBACb,CACF,CAEA,SAASoM,IACP,IAAIC,EAAO,IAAIC,KACf,MAAQ,MAASnT,EAAIkT,EAAKE,WAAY,GAAM,IAAOpT,EAAIkT,EAAKG,aAAc,GAAM,IAAOrT,EAAIkT,EAAKI,aAAc,GAAM,IAAOtT,EAAIkT,EAAKK,kBAAmB,EACzJ,CAMA,SAASvT,EAAKlF,EAAK0Y,GACjB,OALoBC,EAKDD,EAAY1Y,EAAInyB,WAAWzN,OAJvC,IAAKpD,MAAM27C,EAAQ,GAAI5wB,KAIhB,KAA0CiY,EAL1D,IAAsB2Y,CAMtB,CAcA,QAZY,CACV5tC,MAAOA,EACPkc,QAASA,EACT5oB,QAAS,QACT84C,SAAUA,EACVM,aAAcA,EACdC,WAAYA,EACZC,WAAYA,EACZiB,wBAnK4B,SAAU5G,GAAa,MAAO,CAC1DmF,SAAUA,EAAS50B,KAAK,KAAMyvB,GAC9B0F,WAAYA,EAAWn1B,KAAK,KAAMyvB,GAClCyF,aAAcA,EAAal1B,KAAK,KAAMyvB,GACtC2F,WAAYA,EAAWp1B,KAAK,KAAMyvB,GAChC,EA+JF6G,aAlGF,SAAuBliB,QACR,IAARA,IAAiBA,EAAM,CAAC,GAC7B,IAAIohB,EAAYphB,EAAIohB,eAA8B,IAAdA,IAAuBA,GAAY,GACvE,IAAIh0C,EAAS4yB,EAAI5yB,YAAwB,IAAXA,IAAoBA,EAAS,SAAU2vC,EAAUoF,EAAaC,GAAc,OAAO,CAAM,GACvH,IAAIC,EAAcriB,EAAIqiB,iBAAkC,IAAhBA,IAAyBA,EAAc,SAAU99C,GAAS,OAAOA,CAAO,GAChH,IAAI+9C,EAAsBtiB,EAAIsiB,yBAAkD,IAAxBA,IAAiCA,EAAsB,SAAUC,GAAO,OAAOA,CAAK,GAC5I,IAAIC,EAAexiB,EAAIwiB,kBAAoC,IAAjBA,IAA0BA,EAAe,SAAUtF,EAAQ34C,GAAS,OAAO,CAAM,GAC3H,IAAIk+C,EAAoBziB,EAAIyiB,uBAA8C,IAAtBA,IAA+BA,EAAoB,SAAUC,GAAO,OAAOA,CAAK,GACpI,IAAIC,EAAe3iB,EAAI2iB,kBAAoC,IAAjBA,IAA0BA,GAAe,GACnF,IAAIC,EAAa5iB,EAAI4iB,gBAAgC,IAAfA,IAAwBA,GAAa,GAC3E,IAAIp9C,EAASw6B,EAAIx6B,OAEjB,YAFyC,IAAXA,IAAoBA,EAASqc,SAEpD,SAAU3N,GACf,IAAI2uC,EAAYpJ,EAASvlC,EAAM3P,YAET,IAAXiB,IAIPm9C,GACFzuC,EAAM4oC,UAAU,SAAUC,EAAUx4C,GAClC,IAAIu+C,EAAYrJ,EAASl1C,GAEzB,GAAI6I,EAAO2vC,EAAU8F,EAAWC,GAAY,CAC1C,IAAIC,EAAgBvB,IAChBwB,EAAoBV,EAAoBvF,GACxCz3C,EAAU,YAAey3C,EAAa,KAAIgG,EAE9C5B,EAAa37C,EAAQF,EAAS87C,GAC9B57C,EAAO4vC,IAAI,gBAAiB,oCAAqCiN,EAAYQ,IAC7Er9C,EAAO4vC,IAAI,cAAe,oCAAqC4N,GAC/Dx9C,EAAO4vC,IAAI,gBAAiB,oCAAqCiN,EAAYS,IAC7ExB,EAAW97C,EACb,CAEAq9C,EAAYC,CACd,GAGEF,GACF1uC,EAAM+oC,gBAAgB,SAAUC,EAAQ34C,GACtC,GAAIi+C,EAAatF,EAAQ34C,GAAQ,CAC/B,IAAIw+C,EAAgBvB,IAChByB,EAAkBR,EAAkBvF,GACpC53C,EAAU,UAAa43C,EAAW,KAAI6F,EAE1C5B,EAAa37C,EAAQF,EAAS87C,GAC9B57C,EAAO4vC,IAAI,YAAa,oCAAqC6N,GAC7D3B,EAAW97C,EACb,CACF,GAEJ,CACF,E,GCxqCI09C,EAA2B,CAAC,EAGhC,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqBpuC,IAAjBquC,EACH,OAAOA,EAAa//C,QAGrB,IAAID,EAAS6/C,EAAyBE,GAAY,CACjDz8C,GAAIy8C,EACJE,QAAQ,EACRhgD,QAAS,CAAC,GAUX,OANAigD,EAAoBH,GAAUxtC,KAAKvS,EAAOC,QAASD,EAAQA,EAAOC,QAAS6/C,GAG3E9/C,EAAOigD,QAAS,EAGTjgD,EAAOC,OACf,CAGA6/C,EAAoBra,EAAIya,EtC5BpBtgD,EAAW,GACfkgD,EAAoBK,EAAI,CAACzmC,EAAQ0mC,EAAU7sC,EAAI2Q,KAC9C,IAAGk8B,EAAH,CAMA,IAAIC,EAAeC,IACnB,IAASluC,EAAI,EAAGA,EAAIxS,EAASwG,OAAQgM,IAAK,CAGzC,IAFA,IAAKguC,EAAU7sC,EAAI2Q,GAAYtkB,EAASwS,GACpCmuC,GAAY,EACPC,EAAI,EAAGA,EAAIJ,EAASh6C,OAAQo6C,MACpB,EAAXt8B,GAAsBm8B,GAAgBn8B,IAAara,OAAOuF,KAAK0wC,EAAoBK,GAAGM,MAAO75C,GAASk5C,EAAoBK,EAAEv5C,GAAKw5C,EAASI,KAC9IJ,EAASr1C,OAAOy1C,IAAK,IAErBD,GAAY,EACTr8B,EAAWm8B,IAAcA,EAAen8B,IAG7C,GAAGq8B,EAAW,CACb3gD,EAASmL,OAAOqH,IAAK,GACrB,IAAII,EAAIe,SACE5B,IAANa,IAAiBkH,EAASlH,EAC/B,CACD,CACA,OAAOkH,CAnBP,CAJCwK,EAAWA,GAAY,EACvB,IAAI,IAAI9R,EAAIxS,EAASwG,OAAQgM,EAAI,GAAKxS,EAASwS,EAAI,GAAG,GAAK8R,EAAU9R,IAAKxS,EAASwS,GAAKxS,EAASwS,EAAI,GACrGxS,EAASwS,GAAK,CAACguC,EAAU7sC,EAAI2Q,IuCJ/B47B,EAAoBt+B,EAAKxhB,IACxB,IAAIk8C,EAASl8C,GAAUA,EAAO0gD,WAC7B,IAAO1gD,EAAiB,QACxB,IAAM,EAEP,OADA8/C,EAAoBa,EAAEzE,EAAQ,CAAE1uC,EAAG0uC,IAC5BA,GCLR4D,EAAoBa,EAAI,CAAC1gD,EAAS2gD,KACjC,IAAI,IAAIh6C,KAAOg6C,EACXd,EAAoBhuC,EAAE8uC,EAAYh6C,KAASk5C,EAAoBhuC,EAAE7R,EAAS2G,IAC5EiD,OAAO8I,eAAe1S,EAAS2G,EAAK,CAAEgM,YAAY,EAAMnS,IAAKmgD,EAAWh6C,MCJ3Ek5C,EAAoBxJ,EAAI,CAAC,EAGzBwJ,EAAoBztC,EAAKwuC,GACjB7wC,QAAQkoB,IAAIruB,OAAOuF,KAAK0wC,EAAoBxJ,GAAG7yB,OAAO,CAACq9B,EAAUl6C,KACvEk5C,EAAoBxJ,EAAE1vC,GAAKi6C,EAASC,GAC7BA,GACL,KCNJhB,EAAoBiB,EAAKF,KAEX,CAAC,KAAO,iBAAiB,KAAO,sBAAsBA,IAAYA,GAAW,IAAMA,EAAU,SAAW,CAAC,IAAM,uBAAuB,IAAM,uBAAuB,IAAM,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,wBAAwBA,ICHnnBf,EAAoBhuC,EAAI,CAAC8G,EAAKyF,IAAUxU,OAAOqI,UAAU6G,eAAexG,KAAKqG,EAAKyF,G1CA9Exe,EAAa,CAAC,EACdC,EAAoB,uBAExBggD,EAAoBpY,EAAI,CAACrnC,EAAK2gD,EAAMp6C,EAAKi6C,KACxC,GAAGhhD,EAAWQ,GAAQR,EAAWQ,GAAKqC,KAAKs+C,OAA3C,CACA,IAAI33B,EAAQ43B,EACZ,QAAWtvC,IAAR/K,EAEF,IADA,IAAIs6C,EAAUjuC,SAASwqB,qBAAqB,UACpCrrB,EAAI,EAAGA,EAAI8uC,EAAQ96C,OAAQgM,IAAK,CACvC,IAAI09B,EAAIoR,EAAQ9uC,GAChB,GAAG09B,EAAEve,aAAa,QAAUlxB,GAAOyvC,EAAEve,aAAa,iBAAmBzxB,EAAoB8G,EAAK,CAAEyiB,EAASymB,EAAG,KAAO,CACpH,CAEGzmB,IACH43B,GAAa,GACb53B,EAASpW,SAAS4Y,cAAc,WAEzBs1B,QAAU,QACbrB,EAAoBsB,IACvB/3B,EAAOtB,aAAa,QAAS+3B,EAAoBsB,IAElD/3B,EAAOtB,aAAa,eAAgBjoB,EAAoB8G,GAExDyiB,EAAOiZ,IAAMjiC,GAEdR,EAAWQ,GAAO,CAAC2gD,GACnB,IAAIK,EAAmB,CAACC,EAAM9gC,KAE7B6I,EAAO4lB,QAAU5lB,EAAO0C,OAAS,KACjC+G,aAAayuB,GACb,IAAIC,EAAU3hD,EAAWQ,GAIzB,UAHOR,EAAWQ,GAClBgpB,EAAO7U,YAAc6U,EAAO7U,WAAW6L,YAAYgJ,GACnDm4B,GAAWA,EAAQt+C,QAASqQ,GAAQA,EAAGiN,IACpC8gC,EAAM,OAAOA,EAAK9gC,IAElB+gC,EAAU57C,WAAW07C,EAAiB94B,KAAK,UAAM5W,EAAW,CAAEuZ,KAAM,UAAW5S,OAAQ+Q,IAAW,MACtGA,EAAO4lB,QAAUoS,EAAiB94B,KAAK,KAAMc,EAAO4lB,SACpD5lB,EAAO0C,OAASs1B,EAAiB94B,KAAK,KAAMc,EAAO0C,QACnDk1B,GAAchuC,SAASuqB,KAAKvR,YAAY5C,EAnCkB,G2CH3Dy2B,EAAoBttC,EAAKvS,IACH,oBAAX8R,QAA0BA,OAAO0vC,aAC1C53C,OAAO8I,eAAe1S,EAAS8R,OAAO0vC,YAAa,CAAEvhD,MAAO,WAE7D2J,OAAO8I,eAAe1S,EAAS,aAAc,CAAEC,OAAO,KCLvD4/C,EAAoB4B,IAAO1hD,IAC1BA,EAAO2hD,MAAQ,GACV3hD,EAAOma,WAAUna,EAAOma,SAAW,IACjCna,GCHR8/C,EAAoBU,EAAI,K,MCAxB,IAAIoB,EACAC,WAAWC,gBAAeF,EAAYC,WAAWr8C,SAAW,IAChE,IAAIyN,EAAW4uC,WAAW5uC,SAC1B,IAAK2uC,GAAa3uC,IACbA,EAAS8uC,eAAkE,WAAjD9uC,EAAS8uC,cAAcjX,QAAQlrB,gBAC5DgiC,EAAY3uC,EAAS8uC,cAAczf,MAC/Bsf,GAAW,CACf,IAAIV,EAAUjuC,EAASwqB,qBAAqB,UAC5C,GAAGyjB,EAAQ96C,OAEV,IADA,IAAIgM,EAAI8uC,EAAQ96C,OAAS,EAClBgM,GAAK,KAAOwvC,IAAc,aAAa5sC,KAAK4sC,KAAaA,EAAYV,EAAQ9uC,KAAKkwB,GAE3F,CAID,IAAKsf,EAAW,MAAM,IAAI1xC,MAAM,yDAChC0xC,EAAYA,EAAUthD,QAAQ,SAAU,IAAIA,QAAQ,OAAQ,IAAIA,QAAQ,QAAS,IAAIA,QAAQ,YAAa,KAC1Gw/C,EAAoBlP,EAAIgR,C,WClBxB9B,EAAoBryC,EAAyB,oBAAbwF,UAA4BA,SAAS+uC,SAAYC,KAAKz8C,SAAS08C,KAK/F,IAAIC,EAAkB,CACrB,KAAM,GAGPrC,EAAoBxJ,EAAEkK,EAAI,CAACK,EAASC,KAElC,IAAIsB,EAAqBtC,EAAoBhuC,EAAEqwC,EAAiBtB,GAAWsB,EAAgBtB,QAAWlvC,EACtG,GAA0B,IAAvBywC,EAGF,GAAGA,EACFtB,EAASp+C,KAAK0/C,EAAmB,QAC3B,CAGL,IAAIC,EAAU,IAAIryC,QAAQ,CAACyD,EAASxD,IAAYmyC,EAAqBD,EAAgBtB,GAAW,CAACptC,EAASxD,IAC1G6wC,EAASp+C,KAAK0/C,EAAmB,GAAKC,GAGtC,IAAIhiD,EAAMy/C,EAAoBlP,EAAIkP,EAAoBiB,EAAEF,GAEpDh/C,EAAQ,IAAIqO,MAgBhB4vC,EAAoBpY,EAAErnC,EAfFmgB,IACnB,GAAGs/B,EAAoBhuC,EAAEqwC,EAAiBtB,KAEf,KAD1BuB,EAAqBD,EAAgBtB,MACRsB,EAAgBtB,QAAWlvC,GACrDywC,GAAoB,CACtB,IAAIE,EAAY9hC,IAAyB,SAAfA,EAAM0K,KAAkB,UAAY1K,EAAM0K,MAChEq3B,EAAU/hC,GAASA,EAAMlI,QAAUkI,EAAMlI,OAAOgqB,IACpDzgC,EAAMI,QAAU,iBAAmB4+C,EAAU,cAAgByB,EAAY,KAAOC,EAAU,IAC1F1gD,EAAMiG,KAAO,iBACbjG,EAAMqpB,KAAOo3B,EACbzgD,EAAM2gD,QAAUD,EAChBH,EAAmB,GAAGvgD,EACvB,GAGuC,SAAWg/C,EAASA,EAE/D,GAYHf,EAAoBK,EAAEK,EAAKK,GAA0C,IAA7BsB,EAAgBtB,GAGxD,IAAI4B,EAAuB,CAACC,EAA4B7hD,KACvD,IAGIk/C,EAAUc,GAHTT,EAAUuC,EAAa9L,GAAWh2C,EAGhBuR,EAAI,EAC3B,GAAGguC,EAAS7gC,KAAMjc,GAAgC,IAAxB6+C,EAAgB7+C,IAAa,CACtD,IAAIy8C,KAAY4C,EACZ7C,EAAoBhuC,EAAE6wC,EAAa5C,KACrCD,EAAoBra,EAAEsa,GAAY4C,EAAY5C,IAGhD,GAAGlJ,EAAS,IAAIn9B,EAASm9B,EAAQiJ,EAClC,CAEA,IADG4C,GAA4BA,EAA2B7hD,GACrDuR,EAAIguC,EAASh6C,OAAQgM,IACzByuC,EAAUT,EAAShuC,GAChB0tC,EAAoBhuC,EAAEqwC,EAAiBtB,IAAYsB,EAAgBtB,IACrEsB,EAAgBtB,GAAS,KAE1BsB,EAAgBtB,GAAW,EAE5B,OAAOf,EAAoBK,EAAEzmC,IAG1BkpC,EAAqBf,WAA4C,gCAAIA,WAA4C,iCAAK,GAC1He,EAAmB1/C,QAAQu/C,EAAqBl6B,KAAK,KAAM,IAC3Dq6B,EAAmBlgD,KAAO+/C,EAAqBl6B,KAAK,KAAMq6B,EAAmBlgD,KAAK6lB,KAAKq6B,G,KCrFvF9C,EAAoBsB,QAAKzvC,ECGzB,IAAIkxC,EAAsB/C,EAAoBK,OAAExuC,EAAW,CAAC,MAAO,IAAOmuC,EAAoB,QAC9F+C,EAAsB/C,EAAoBK,EAAE0C,E","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/webpack/runtime/load script","webpack:///nextcloud/node_modules/lodash/isEqual.js","webpack:///nextcloud/apps/settings/src/store/api.js","webpack:///nextcloud/apps/settings/src/store/apps.js","webpack:///nextcloud/apps/settings/src/store/oc.js","webpack:///nextcloud/apps/settings/src/store/users-settings.js","webpack:///nextcloud/apps/settings/src/utils/sorting.ts","webpack:///nextcloud/apps/settings/src/store/users.js","webpack:///nextcloud/apps/settings/src/store/index.js","webpack:///nextcloud/node_modules/lodash/_safeGet.js","webpack:///nextcloud/apps/settings/src/constants/GroupManagement.ts","webpack:///nextcloud/node_modules/lodash/_createAssigner.js","webpack:///nextcloud/node_modules/@babel/runtime/helpers/esm/typeof.js","webpack:///nextcloud/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack:///nextcloud/node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack:///nextcloud/node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack:///nextcloud/node_modules/@babel/runtime/helpers/esm/createClass.js","webpack:///nextcloud/node_modules/popper.js/dist/esm/popper.js","webpack:///nextcloud/node_modules/vue-resize/dist/vue-resize.esm.js","webpack:///nextcloud/node_modules/v-tooltip/dist/v-tooltip.esm.js","webpack:///nextcloud/node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack:///nextcloud/apps/settings/src/views/SettingsApp.vue","webpack:///nextcloud/apps/settings/src/views/SettingsApp.vue?vue&type=script&setup=true&lang=ts","webpack://nextcloud/./apps/settings/src/views/SettingsApp.vue?3a67","webpack:///nextcloud/apps/settings/src/router/routes.ts","webpack:///nextcloud/apps/settings/src/router/index.ts","webpack:///nextcloud/apps/settings/src/main-apps-users-management.ts","webpack:///nextcloud/node_modules/@nextcloud/files/dist/index.mjs","webpack:///nextcloud/apps/settings/src/logger.ts","webpack:///nextcloud/node_modules/lodash/_baseMergeDeep.js","webpack:///nextcloud/node_modules/lodash/merge.js","webpack:///nextcloud/node_modules/vuex-router-sync/index.js","webpack:///nextcloud/node_modules/lodash/toPlainObject.js","webpack:///nextcloud/node_modules/lodash/isArrayLikeObject.js","webpack:///nextcloud/node_modules/lodash/_baseMerge.js","webpack:///nextcloud/node_modules/lodash/_assignMergeValue.js","webpack:///nextcloud/node_modules/vuex/dist/vuex.esm.js","webpack:///nextcloud/webpack/bootstrap","webpack:///nextcloud/webpack/runtime/compat get default export","webpack:///nextcloud/webpack/runtime/define property getters","webpack:///nextcloud/webpack/runtime/ensure chunk","webpack:///nextcloud/webpack/runtime/get javascript chunk filename","webpack:///nextcloud/webpack/runtime/hasOwnProperty shorthand","webpack:///nextcloud/webpack/runtime/make namespace object","webpack:///nextcloud/webpack/runtime/node module decorator","webpack:///nextcloud/webpack/runtime/runtimeId","webpack:///nextcloud/webpack/runtime/publicPath","webpack:///nextcloud/webpack/runtime/jsonp chunk loading","webpack:///nextcloud/webpack/runtime/nonce","webpack:///nextcloud/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"nextcloud-ui-legacy:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","var baseIsEqual = require('./_baseIsEqual');\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent.\n *\n * **Note:** This method supports comparing arrays, array buffers, booleans,\n * date objects, error objects, maps, numbers, `Object` objects, regexes,\n * sets, strings, symbols, and typed arrays. `Object` objects are compared\n * by their own, not inherited, enumerable properties. Functions and DOM\n * nodes are compared by strict equality, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.isEqual(object, other);\n * // => true\n *\n * object === other;\n * // => false\n */\nfunction isEqual(value, other) {\n return baseIsEqual(value, other);\n}\n\nmodule.exports = isEqual;\n","/**\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport axios from '@nextcloud/axios'\nimport { confirmPassword } from '@nextcloud/password-confirmation'\n\n/**\n * @param {string} url - The url to sanitize\n */\nfunction sanitize(url) {\n\treturn url.replace(/\\/$/, '') // Remove last url slash\n}\n\nexport default {\n\n\t/**\n\t * This Promise is used to chain a request that require an admin password confirmation\n\t * Since chaining Promise have a very precise behavior concerning catch and then,\n\t * you'll need to be careful when using it.\n\t * e.g\n\t * // store\n\t * action(context) {\n\t * return api.requireAdmin().then((response) => {\n\t * return api.get('url')\n\t * .then((response) => {API success})\n\t * .catch((error) => {API failure});\n\t * }).catch((error) => {requireAdmin failure});\n\t * }\n\t * // vue\n\t * this.$store.dispatch('action').then(() => {always executed})\n\t *\n\t * Since Promise.then().catch().then() will always execute the last then\n\t * this.$store.dispatch('action').then will always be executed\n\t *\n\t * If you want requireAdmin failure to also catch the API request failure\n\t * you will need to throw a new error in the api.get.catch()\n\t *\n\t * e.g\n\t * api.requireAdmin().then((response) => {\n\t * api.get('url')\n\t * .then((response) => {API success})\n\t * .catch((error) => {throw error;});\n\t * }).catch((error) => {requireAdmin OR API failure});\n\t *\n\t * @return {Promise}\n\t */\n\trequireAdmin() {\n\t\treturn confirmPassword()\n\t},\n\tget(url, options) {\n\t\treturn axios.get(sanitize(url), options)\n\t},\n\tpost(url, data) {\n\t\treturn axios.post(sanitize(url), data)\n\t},\n\tpatch(url, data) {\n\t\treturn axios.patch(sanitize(url), data)\n\t},\n\tput(url, data) {\n\t\treturn axios.put(sanitize(url), data)\n\t},\n\tdelete(url, data) {\n\t\treturn axios.delete(sanitize(url), { params: data })\n\t},\n}\n","/**\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport axios from '@nextcloud/axios'\nimport { showError, showInfo } from '@nextcloud/dialogs'\nimport { loadState } from '@nextcloud/initial-state'\nimport { generateUrl } from '@nextcloud/router'\nimport Vue from 'vue'\nimport logger from '../logger.ts'\nimport api from './api.js'\n\nconst state = {\n\tapps: [],\n\tbundles: loadState('settings', 'appstoreBundles', []),\n\tcategories: [],\n\tupdateCount: loadState('settings', 'appstoreUpdateCount', 0),\n\tloading: {},\n\tgettingCategoriesPromise: null,\n\tappApiEnabled: loadState('settings', 'appApiEnabled', false),\n}\n\nconst mutations = {\n\n\tAPPS_API_FAILURE(state, error) {\n\t\tshowError(t('settings', 'An error occurred during the request. Unable to proceed.') + '
' + error.error.response.data.data.message, { isHTML: true })\n\t\tlogger.error('An error occurred during the request. Unable to proceed.', { state, error })\n\t},\n\n\tinitCategories(state, { categories, updateCount }) {\n\t\tstate.categories = categories\n\t\tstate.updateCount = updateCount\n\t},\n\n\tupdateCategories(state, categoriesPromise) {\n\t\tstate.gettingCategoriesPromise = categoriesPromise\n\t},\n\n\tsetUpdateCount(state, updateCount) {\n\t\tstate.updateCount = updateCount\n\t},\n\n\taddCategory(state, category) {\n\t\tstate.categories.push(category)\n\t},\n\n\tappendCategories(state, categoriesArray) {\n\t\t// convert obj to array\n\t\tstate.categories = categoriesArray\n\t},\n\n\tsetAllApps(state, apps) {\n\t\tstate.apps = apps\n\t},\n\n\tsetError(state, { appId, error }) {\n\t\tif (!Array.isArray(appId)) {\n\t\t\tappId = [appId]\n\t\t}\n\t\tappId.forEach((_id) => {\n\t\t\tconst app = state.apps.find((app) => app.id === _id)\n\t\t\tapp.error = error\n\t\t})\n\t},\n\n\tclearError(state, { appId }) {\n\t\tconst app = state.apps.find((app) => app.id === appId)\n\t\tapp.error = null\n\t},\n\n\tenableApp(state, { appId, groups }) {\n\t\tconst app = state.apps.find((app) => app.id === appId)\n\t\tapp.active = true\n\t\tVue.set(app, 'groups', [...groups])\n\t\tif (app.id === 'app_api') {\n\t\t\tstate.appApiEnabled = true\n\t\t}\n\t},\n\n\tsetInstallState(state, { appId, canInstall }) {\n\t\tconst app = state.apps.find((app) => app.id === appId)\n\t\tif (app) {\n\t\t\tapp.canInstall = canInstall === true\n\t\t}\n\t},\n\n\tdisableApp(state, appId) {\n\t\tconst app = state.apps.find((app) => app.id === appId)\n\t\tapp.active = false\n\t\tapp.groups = []\n\t\tif (app.removable) {\n\t\t\tapp.canUnInstall = true\n\t\t}\n\t\tif (app.id === 'app_api') {\n\t\t\tstate.appApiEnabled = false\n\t\t}\n\t},\n\n\tuninstallApp(state, appId) {\n\t\tstate.apps.find((app) => app.id === appId).active = false\n\t\tstate.apps.find((app) => app.id === appId).groups = []\n\t\tstate.apps.find((app) => app.id === appId).needsDownload = true\n\t\tstate.apps.find((app) => app.id === appId).installed = false\n\t\tstate.apps.find((app) => app.id === appId).canUnInstall = false\n\t\tstate.apps.find((app) => app.id === appId).canInstall = true\n\t\tif (appId === 'app_api') {\n\t\t\tstate.appApiEnabled = false\n\t\t}\n\t},\n\n\tupdateApp(state, appId) {\n\t\tconst app = state.apps.find((app) => app.id === appId)\n\t\tconst version = app.update\n\t\tapp.update = null\n\t\tapp.version = version\n\t\tstate.updateCount--\n\t},\n\n\tresetApps(state) {\n\t\tstate.apps = []\n\t},\n\treset(state) {\n\t\tstate.apps = []\n\t\tstate.categories = []\n\t\tstate.updateCount = 0\n\t},\n\tstartLoading(state, id) {\n\t\tif (Array.isArray(id)) {\n\t\t\tid.forEach((_id) => {\n\t\t\t\tVue.set(state.loading, _id, true)\n\t\t\t})\n\t\t} else {\n\t\t\tVue.set(state.loading, id, true)\n\t\t}\n\t},\n\tstopLoading(state, id) {\n\t\tif (Array.isArray(id)) {\n\t\t\tid.forEach((_id) => {\n\t\t\t\tVue.set(state.loading, _id, false)\n\t\t\t})\n\t\t} else {\n\t\t\tVue.set(state.loading, id, false)\n\t\t}\n\t},\n}\n\nconst getters = {\n\tisAppApiEnabled(state) {\n\t\treturn state.appApiEnabled\n\t},\n\tloading(state) {\n\t\treturn function(id) {\n\t\t\treturn state.loading[id]\n\t\t}\n\t},\n\tgetCategories(state) {\n\t\treturn state.categories\n\t},\n\tgetAllApps(state) {\n\t\treturn state.apps\n\t},\n\tgetAppBundles(state) {\n\t\treturn state.bundles\n\t},\n\tgetUpdateCount(state) {\n\t\treturn state.updateCount\n\t},\n\tgetCategoryById: (state) => (selectedCategoryId) => {\n\t\treturn state.categories.find((category) => category.id === selectedCategoryId)\n\t},\n}\n\nconst actions = {\n\n\tenableApp(context, { appId, groups }) {\n\t\tlet apps\n\t\tif (Array.isArray(appId)) {\n\t\t\tapps = appId\n\t\t} else {\n\t\t\tapps = [appId]\n\t\t}\n\t\treturn api.requireAdmin().then(() => {\n\t\t\tcontext.commit('startLoading', apps)\n\t\t\tcontext.commit('startLoading', 'install')\n\n\t\t\tconst previousState = {}\n\t\t\tapps.forEach((_appId) => {\n\t\t\t\tconst app = context.state.apps.find((app) => app.id === _appId)\n\t\t\t\tif (app) {\n\t\t\t\t\tpreviousState[_appId] = {\n\t\t\t\t\t\tactive: app.active,\n\t\t\t\t\t\tgroups: [...(app.groups || [])],\n\t\t\t\t\t}\n\t\t\t\t\tcontext.commit('enableApp', { appId: _appId, groups })\n\t\t\t\t}\n\t\t\t})\n\n\t\t\treturn api.post(generateUrl('settings/apps/enable'), { appIds: apps, groups })\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('stopLoading', apps)\n\t\t\t\t\tcontext.commit('stopLoading', 'install')\n\n\t\t\t\t\t// check for server health\n\t\t\t\t\treturn axios.get(generateUrl('apps/files/'))\n\t\t\t\t\t\t.then(() => {\n\t\t\t\t\t\t\tif (response.data.update_required) {\n\t\t\t\t\t\t\t\tshowInfo(\n\t\t\t\t\t\t\t\t\tt(\n\t\t\t\t\t\t\t\t\t\t'settings',\n\t\t\t\t\t\t\t\t\t\t'The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds.',\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tonClick: () => window.location.reload(),\n\t\t\t\t\t\t\t\t\t\tclose: false,\n\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\tsetTimeout(function() {\n\t\t\t\t\t\t\t\t\tlocation.reload()\n\t\t\t\t\t\t\t\t}, 5000)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.catch(() => {\n\t\t\t\t\t\t\tif (!Array.isArray(appId)) {\n\t\t\t\t\t\t\t\tshowError(t('settings', 'Error: This app cannot be enabled because it makes the server unstable'))\n\t\t\t\t\t\t\t\tcontext.commit('setError', {\n\t\t\t\t\t\t\t\t\tappId: apps,\n\t\t\t\t\t\t\t\t\terror: t('settings', 'Error: This app cannot be enabled because it makes the server unstable'),\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\tcontext.dispatch('disableApp', { appId })\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tcontext.commit('stopLoading', apps)\n\t\t\t\t\tcontext.commit('stopLoading', 'install')\n\n\t\t\t\t\tapps.forEach((_appId) => {\n\t\t\t\t\t\tif (previousState[_appId]) {\n\t\t\t\t\t\t\tcontext.commit('enableApp', {\n\t\t\t\t\t\t\t\tappId: _appId,\n\t\t\t\t\t\t\t\tgroups: previousState[_appId].groups,\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\tif (!previousState[_appId].active) {\n\t\t\t\t\t\t\t\tcontext.commit('disableApp', _appId)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\n\t\t\t\t\tcontext.commit('setError', {\n\t\t\t\t\t\tappId: apps,\n\t\t\t\t\t\terror: error.response.data.data.message,\n\t\t\t\t\t})\n\t\t\t\t\tcontext.commit('APPS_API_FAILURE', { appId, error })\n\t\t\t\t})\n\t\t}).catch((error) => context.commit('API_FAILURE', { appId, error }))\n\t},\n\tforceEnableApp(context, { appId }) {\n\t\tlet apps\n\t\tif (Array.isArray(appId)) {\n\t\t\tapps = appId\n\t\t} else {\n\t\t\tapps = [appId]\n\t\t}\n\t\treturn api.requireAdmin().then(() => {\n\t\t\tcontext.commit('startLoading', apps)\n\t\t\tcontext.commit('startLoading', 'install')\n\t\t\treturn api.post(generateUrl('settings/apps/force'), { appId })\n\t\t\t\t.then(() => {\n\t\t\t\t\tcontext.commit('setInstallState', { appId, canInstall: true })\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tcontext.commit('stopLoading', apps)\n\t\t\t\t\tcontext.commit('stopLoading', 'install')\n\t\t\t\t\tcontext.commit('setError', {\n\t\t\t\t\t\tappId: apps,\n\t\t\t\t\t\terror: error.response.data.data.message,\n\t\t\t\t\t})\n\t\t\t\t\tcontext.commit('APPS_API_FAILURE', { appId, error })\n\t\t\t\t})\n\t\t\t\t.finally(() => {\n\t\t\t\t\tcontext.commit('stopLoading', apps)\n\t\t\t\t\tcontext.commit('stopLoading', 'install')\n\t\t\t\t})\n\t\t}).catch((error) => context.commit('API_FAILURE', { appId, error }))\n\t},\n\tdisableApp(context, { appId }) {\n\t\tlet apps\n\t\tif (Array.isArray(appId)) {\n\t\t\tapps = appId\n\t\t} else {\n\t\t\tapps = [appId]\n\t\t}\n\t\treturn api.requireAdmin().then(() => {\n\t\t\tcontext.commit('startLoading', apps)\n\t\t\treturn api.post(generateUrl('settings/apps/disable'), { appIds: apps })\n\t\t\t\t.then(() => {\n\t\t\t\t\tcontext.commit('stopLoading', apps)\n\t\t\t\t\tapps.forEach((_appId) => {\n\t\t\t\t\t\tcontext.commit('disableApp', _appId)\n\t\t\t\t\t})\n\t\t\t\t\treturn true\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tcontext.commit('stopLoading', apps)\n\t\t\t\t\tcontext.commit('APPS_API_FAILURE', { appId, error })\n\t\t\t\t})\n\t\t}).catch((error) => context.commit('API_FAILURE', { appId, error }))\n\t},\n\tuninstallApp(context, { appId }) {\n\t\treturn api.requireAdmin().then(() => {\n\t\t\tcontext.commit('startLoading', appId)\n\t\t\treturn api.get(generateUrl(`settings/apps/uninstall/${appId}`))\n\t\t\t\t.then(() => {\n\t\t\t\t\tcontext.commit('stopLoading', appId)\n\t\t\t\t\tcontext.commit('uninstallApp', appId)\n\t\t\t\t\treturn true\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tcontext.commit('stopLoading', appId)\n\t\t\t\t\tcontext.commit('APPS_API_FAILURE', { appId, error })\n\t\t\t\t})\n\t\t}).catch((error) => context.commit('API_FAILURE', { appId, error }))\n\t},\n\n\tupdateApp(context, { appId }) {\n\t\treturn api.requireAdmin().then(() => {\n\t\t\tcontext.commit('startLoading', appId)\n\t\t\tcontext.commit('startLoading', 'install')\n\t\t\treturn api.get(generateUrl(`settings/apps/update/${appId}`))\n\t\t\t\t.then(() => {\n\t\t\t\t\tcontext.commit('stopLoading', 'install')\n\t\t\t\t\tcontext.commit('stopLoading', appId)\n\t\t\t\t\tcontext.commit('updateApp', appId)\n\t\t\t\t\treturn true\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tcontext.commit('stopLoading', appId)\n\t\t\t\t\tcontext.commit('stopLoading', 'install')\n\t\t\t\t\tcontext.commit('APPS_API_FAILURE', { appId, error })\n\t\t\t\t})\n\t\t}).catch((error) => context.commit('API_FAILURE', { appId, error }))\n\t},\n\n\tgetAllApps(context) {\n\t\tcontext.commit('startLoading', 'list')\n\t\treturn api.get(generateUrl('settings/apps/list'))\n\t\t\t.then((response) => {\n\t\t\t\tcontext.commit('setAllApps', response.data.apps)\n\t\t\t\tcontext.commit('stopLoading', 'list')\n\t\t\t\treturn true\n\t\t\t})\n\t\t\t.catch((error) => context.commit('API_FAILURE', error))\n\t},\n\n\tasync getCategories(context, { shouldRefetchCategories = false } = {}) {\n\t\tif (shouldRefetchCategories || !context.state.gettingCategoriesPromise) {\n\t\t\tcontext.commit('startLoading', 'categories')\n\t\t\ttry {\n\t\t\t\tconst categoriesPromise = api.get(generateUrl('settings/apps/categories'))\n\t\t\t\tcontext.commit('updateCategories', categoriesPromise)\n\t\t\t\tconst categoriesPromiseResponse = await categoriesPromise\n\t\t\t\tif (categoriesPromiseResponse.data.length > 0) {\n\t\t\t\t\tcontext.commit('appendCategories', categoriesPromiseResponse.data)\n\t\t\t\t\tcontext.commit('stopLoading', 'categories')\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t\tcontext.commit('stopLoading', 'categories')\n\t\t\t\treturn false\n\t\t\t} catch (error) {\n\t\t\t\tcontext.commit('API_FAILURE', error)\n\t\t\t}\n\t\t}\n\t\treturn context.state.gettingCategoriesPromise\n\t},\n\n}\n\nexport default { state, mutations, getters, actions }\n","/**\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { generateOcsUrl } from '@nextcloud/router'\nimport api from './api.js'\n\nconst state = {}\nconst mutations = {}\nconst getters = {}\nconst actions = {\n\t/**\n\t * Set application config in database\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.app Application name\n\t * @param {boolean} options.key Config key\n\t * @param {boolean} options.value Value to set\n\t * @return {Promise}\n\t */\n\tsetAppConfig(context, { app, key, value }) {\n\t\treturn api.requireAdmin().then(() => {\n\t\t\treturn api.post(generateOcsUrl('apps/provisioning_api/api/v1/config/apps/{app}/{key}', { app, key }), { value })\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { app, key, value, error }))\n\t},\n}\n\nexport default { state, mutations, getters, actions }\n","/**\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { loadState } from '@nextcloud/initial-state'\n\nconst state = {\n\tserverData: loadState('settings', 'usersSettings', {}),\n}\nconst mutations = {\n\tsetServerData(state, data) {\n\t\tstate.serverData = data\n\t},\n}\nconst getters = {\n\tgetServerData(state) {\n\t\treturn state.serverData\n\t},\n}\nconst actions = {}\n\nexport default { state, mutations, getters, actions }\n","/**\n * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { getCanonicalLocale, getLanguage } from '@nextcloud/l10n';\nexport const naturalCollator = Intl.Collator([getLanguage(), getCanonicalLocale()], {\n numeric: true,\n usage: 'sort',\n});\n","/**\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport axios from '@nextcloud/axios'\nimport { getBuilder } from '@nextcloud/browser-storage'\nimport { getCapabilities } from '@nextcloud/capabilities'\nimport { showError } from '@nextcloud/dialogs'\nimport { parseFileSize } from '@nextcloud/files'\nimport { loadState } from '@nextcloud/initial-state'\nimport { generateOcsUrl, generateUrl } from '@nextcloud/router'\nimport { GroupSorting } from '../constants/GroupManagement.ts'\nimport logger from '../logger.ts'\nimport { naturalCollator } from '../utils/sorting.ts'\nimport api from './api.js'\n\nconst usersSettings = loadState('settings', 'usersSettings', {})\n\nconst localStorage = getBuilder('settings').persist(true).build()\n\nconst defaults = {\n\t/**\n\t * @type {import('../views/user-types').IGroup}\n\t */\n\tgroup: {\n\t\tid: '',\n\t\tname: '',\n\t\tusercount: 0,\n\t\tdisabled: 0,\n\t\tcanAdd: true,\n\t\tcanRemove: true,\n\t},\n}\n\nconst state = {\n\tusers: [],\n\tgroups: [\n\t\t...(usersSettings.getSubAdminGroups ?? []),\n\t\t...(usersSettings.systemGroups ?? []),\n\t],\n\torderBy: usersSettings.sortGroups ?? GroupSorting.UserCount,\n\tminPasswordLength: 0,\n\tusersOffset: 0,\n\tusersLimit: 25,\n\tdisabledUsersOffset: 0,\n\tdisabledUsersLimit: 25,\n\tuserCount: usersSettings.userCount ?? 0,\n\tshowConfig: {\n\t\tshowStoragePath: localStorage.getItem('account_settings__showStoragePath') === 'true',\n\t\tshowUserBackend: localStorage.getItem('account_settings__showUserBackend') === 'true',\n\t\tshowFirstLogin: localStorage.getItem('account_settings__showFirstLogin') === 'true',\n\t\tshowLastLogin: localStorage.getItem('account_settings__showLastLogin') === 'true',\n\t\tshowNewUserForm: localStorage.getItem('account_settings__showNewUserForm') === 'true',\n\t\tshowLanguages: localStorage.getItem('account_settings__showLanguages') === 'true',\n\t},\n}\n\nconst mutations = {\n\tappendUsers(state, usersObj) {\n\t\tconst existingUsers = state.users.map(({ id }) => id)\n\t\tconst newUsers = Object.values(usersObj)\n\t\t\t.filter(({ id }) => !existingUsers.includes(id))\n\n\t\tconst users = state.users.concat(newUsers)\n\t\tstate.usersOffset += state.usersLimit\n\t\tstate.users = users\n\t},\n\tupdateDisabledUsers(state) {\n\t\tstate.disabledUsersOffset += state.disabledUsersLimit\n\t},\n\tsetPasswordPolicyMinLength(state, length) {\n\t\tstate.minPasswordLength = length !== '' ? length : 0\n\t},\n\t/**\n\t * @param {object} state store state\n\t * @param {import('../views/user-types.js').IGroup} newGroup new group\n\t */\n\taddGroup(state, newGroup) {\n\t\ttry {\n\t\t\tif (typeof state.groups.find((group) => group.id === newGroup.id) !== 'undefined') {\n\t\t\t\treturn\n\t\t\t}\n\t\t\t// extend group to default values\n\t\t\tconst group = { ...defaults.group, ...newGroup }\n\t\t\tstate.groups.unshift(group)\n\t\t} catch (error) {\n\t\t\tlogger.error('Cannt create group', { error })\n\t\t}\n\t},\n\trenameGroup(state, { gid, displayName }) {\n\t\tconst groupIndex = state.groups.findIndex((groupSearch) => groupSearch.id === gid)\n\t\tif (groupIndex >= 0) {\n\t\t\tconst updatedGroup = state.groups[groupIndex]\n\t\t\tupdatedGroup.name = displayName\n\t\t\tstate.groups.splice(groupIndex, 1, updatedGroup)\n\t\t}\n\t},\n\tremoveGroup(state, gid) {\n\t\tconst groupIndex = state.groups.findIndex((groupSearch) => groupSearch.id === gid)\n\t\tif (groupIndex >= 0) {\n\t\t\tstate.groups.splice(groupIndex, 1)\n\t\t}\n\t},\n\taddUserGroup(state, { userid, gid }) {\n\t\tconst group = state.groups.find((groupSearch) => groupSearch.id === gid)\n\t\tconst user = state.users.find((user) => user.id === userid)\n\t\t// increase count if user is enabled\n\t\tif (group && user.enabled && state.userCount > 0) {\n\t\t\tgroup.usercount++\n\t\t}\n\t\tconst groups = user.groups\n\t\tgroups.push(gid)\n\t},\n\tremoveUserGroup(state, { userid, gid }) {\n\t\tconst group = state.groups.find((groupSearch) => groupSearch.id === gid)\n\t\tconst user = state.users.find((user) => user.id === userid)\n\t\t// lower count if user is enabled\n\t\tif (group && user.enabled && state.userCount > 0) {\n\t\t\tgroup.usercount--\n\t\t}\n\t\tconst groups = user.groups\n\t\tgroups.splice(groups.indexOf(gid), 1)\n\t},\n\taddUserSubAdmin(state, { userid, gid }) {\n\t\tconst groups = state.users.find((user) => user.id === userid).subadmin\n\t\tgroups.push(gid)\n\t},\n\tremoveUserSubAdmin(state, { userid, gid }) {\n\t\tconst groups = state.users.find((user) => user.id === userid).subadmin\n\t\tgroups.splice(groups.indexOf(gid), 1)\n\t},\n\tdeleteUser(state, userid) {\n\t\tconst userIndex = state.users.findIndex((user) => user.id === userid)\n\t\tthis.commit('updateUserCounts', { user: state.users[userIndex], actionType: 'remove' })\n\t\tstate.users.splice(userIndex, 1)\n\t},\n\taddUserData(state, response) {\n\t\tconst user = response.data.ocs.data\n\t\tstate.users.unshift(user)\n\t\tthis.commit('updateUserCounts', { user, actionType: 'create' })\n\t},\n\tenableDisableUser(state, { userid, enabled }) {\n\t\tconst user = state.users.find((user) => user.id === userid)\n\t\tuser.enabled = enabled\n\t\tthis.commit('updateUserCounts', { user, actionType: enabled ? 'enable' : 'disable' })\n\t},\n\t// update active/disabled counts, groups counts\n\tupdateUserCounts(state, { user, actionType }) {\n\t\t// 0 is a special value\n\t\tif (state.userCount === 0) {\n\t\t\treturn\n\t\t}\n\n\t\tconst recentGroup = state.groups.find((group) => group.id === '__nc_internal_recent')\n\t\tconst disabledGroup = state.groups.find((group) => group.id === 'disabled')\n\t\tswitch (actionType) {\n\t\t\tcase 'enable':\n\t\t\tcase 'disable':\n\t\t\t\tdisabledGroup.usercount += user.enabled ? -1 : 1 // update Disabled Users count\n\t\t\t\trecentGroup.usercount += user.enabled ? 1 : -1\n\t\t\t\tstate.userCount += user.enabled ? 1 : -1 // update Active Users count\n\t\t\t\tuser.groups.forEach((userGroup) => {\n\t\t\t\t\tconst group = state.groups.find((groupSearch) => groupSearch.id === userGroup)\n\t\t\t\t\tif (!group) {\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\t\t\t\t\tgroup.disabled += user.enabled ? -1 : 1 // update group disabled count\n\t\t\t\t})\n\t\t\t\tbreak\n\t\t\tcase 'create':\n\t\t\t\trecentGroup.usercount++\n\t\t\t\tstate.userCount++ // increment Active Users count\n\n\t\t\t\tuser.groups.forEach((userGroup) => {\n\t\t\t\t\tconst group = state.groups.find((groupSearch) => groupSearch.id === userGroup)\n\t\t\t\t\tif (!group) {\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\t\t\t\t\tgroup.usercount++ // increment group total count\n\t\t\t\t})\n\t\t\t\tbreak\n\t\t\tcase 'remove':\n\t\t\t\tif (user.enabled) {\n\t\t\t\t\trecentGroup.usercount--\n\t\t\t\t\tstate.userCount-- // decrement Active Users count\n\t\t\t\t\tuser.groups.forEach((userGroup) => {\n\t\t\t\t\t\tconst group = state.groups.find((groupSearch) => groupSearch.id === userGroup)\n\t\t\t\t\t\tif (!group) {\n\t\t\t\t\t\t\tlogger.warn('User group ' + userGroup + ' does not exist during user removal')\n\t\t\t\t\t\t\treturn\n\t\t\t\t\t\t}\n\t\t\t\t\t\tgroup.usercount-- // decrement group total count\n\t\t\t\t\t})\n\t\t\t\t} else {\n\t\t\t\t\tdisabledGroup.usercount-- // decrement Disabled Users count\n\t\t\t\t\tuser.groups.forEach((userGroup) => {\n\t\t\t\t\t\tconst group = state.groups.find((groupSearch) => groupSearch.id === userGroup)\n\t\t\t\t\t\tif (!group) {\n\t\t\t\t\t\t\treturn\n\t\t\t\t\t\t}\n\t\t\t\t\t\tgroup.disabled-- // decrement group disabled count\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\tdefault:\n\t\t\t\tlogger.error(`Unknown action type in updateUserCounts: '${actionType}'`)\n\t\t\t// not throwing error to interrupt execution as this is not fatal\n\t\t}\n\t},\n\tsetUserData(state, { userid, key, value }) {\n\t\tif (key === 'quota') {\n\t\t\tconst humanValue = parseFileSize(value, true)\n\t\t\tstate.users.find((user) => user.id === userid)[key][key] = humanValue !== null ? humanValue : value\n\t\t} else {\n\t\t\tstate.users.find((user) => user.id === userid)[key] = value\n\t\t}\n\t},\n\n\t/**\n\t * Reset users list\n\t *\n\t * @param {object} state the store state\n\t */\n\tresetUsers(state) {\n\t\tstate.users = []\n\t\tstate.usersOffset = 0\n\t\tstate.disabledUsersOffset = 0\n\t},\n\n\t/**\n\t * Reset group list\n\t *\n\t * @param {object} state the store state\n\t */\n\tresetGroups(state) {\n\t\tstate.groups = [\n\t\t\t...(usersSettings.getSubAdminGroups ?? []),\n\t\t\t...(usersSettings.systemGroups ?? []),\n\t\t]\n\t},\n\n\tsetShowConfig(state, { key, value }) {\n\t\tlocalStorage.setItem(`account_settings__${key}`, JSON.stringify(value))\n\t\tstate.showConfig[key] = value\n\t},\n\n\tsetGroupSorting(state, sorting) {\n\t\tconst oldValue = state.orderBy\n\t\tstate.orderBy = sorting\n\n\t\t// Persist the value on the server\n\t\taxios.post(\n\t\t\tgenerateUrl('/settings/users/preferences/group.sortBy'),\n\t\t\t{\n\t\t\t\tvalue: String(sorting),\n\t\t\t},\n\t\t).catch((error) => {\n\t\t\tstate.orderBy = oldValue\n\t\t\tshowError(t('settings', 'Could not set group sorting'))\n\t\t\tlogger.error(error)\n\t\t})\n\t},\n}\n\nconst getters = {\n\tgetUsers(state) {\n\t\treturn state.users\n\t},\n\tgetGroups(state) {\n\t\treturn state.groups\n\t},\n\tgetSubAdminGroups() {\n\t\treturn usersSettings.subAdminGroups ?? []\n\t},\n\n\tgetSortedGroups(state) {\n\t\tconst groups = [...state.groups]\n\t\tif (state.orderBy === GroupSorting.UserCount) {\n\t\t\treturn groups.sort((a, b) => {\n\t\t\t\tconst numA = a.usercount - a.disabled\n\t\t\t\tconst numB = b.usercount - b.disabled\n\t\t\t\treturn (numA < numB) ? 1 : (numB < numA ? -1 : naturalCollator.compare(a.name, b.name))\n\t\t\t})\n\t\t} else {\n\t\t\treturn groups.sort((a, b) => naturalCollator.compare(a.name, b.name))\n\t\t}\n\t},\n\tgetGroupSorting(state) {\n\t\treturn state.orderBy\n\t},\n\tgetPasswordPolicyMinLength(state) {\n\t\treturn state.minPasswordLength\n\t},\n\tgetUsersOffset(state) {\n\t\treturn state.usersOffset\n\t},\n\tgetUsersLimit(state) {\n\t\treturn state.usersLimit\n\t},\n\tgetDisabledUsersOffset(state) {\n\t\treturn state.disabledUsersOffset\n\t},\n\tgetDisabledUsersLimit(state) {\n\t\treturn state.disabledUsersLimit\n\t},\n\tgetUserCount(state) {\n\t\treturn state.userCount\n\t},\n\tgetShowConfig(state) {\n\t\treturn state.showConfig\n\t},\n}\n\nconst CancelToken = axios.CancelToken\nlet searchRequestCancelSource = null\n\nconst actions = {\n\n\t/**\n\t * search users\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {number} options.offset List offset to request\n\t * @param {number} options.limit List number to return from offset\n\t * @param {string} options.search Search amongst users\n\t * @return {Promise}\n\t */\n\tsearchUsers(context, { offset, limit, search }) {\n\t\tsearch = typeof search === 'string' ? search : ''\n\n\t\treturn api.get(generateOcsUrl('cloud/users/details?offset={offset}&limit={limit}&search={search}', { offset, limit, search })).catch((error) => {\n\t\t\tif (!axios.isCancel(error)) {\n\t\t\t\tcontext.commit('API_FAILURE', error)\n\t\t\t}\n\t\t})\n\t},\n\n\t/**\n\t * Get user details\n\t *\n\t * @param {object} context store context\n\t * @param {string} userId user id\n\t * @return {Promise}\n\t */\n\tgetUser(context, userId) {\n\t\treturn api.get(generateOcsUrl(`cloud/users/${userId}`)).catch((error) => {\n\t\t\tif (!axios.isCancel(error)) {\n\t\t\t\tcontext.commit('API_FAILURE', error)\n\t\t\t}\n\t\t})\n\t},\n\n\t/**\n\t * Get all users with full details\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {number} options.offset List offset to request\n\t * @param {number} options.limit List number to return from offset\n\t * @param {string} options.search Search amongst users\n\t * @param {string} options.group Get users from group\n\t * @return {Promise}\n\t */\n\tgetUsers(context, { offset, limit, search, group }) {\n\t\tif (searchRequestCancelSource) {\n\t\t\tsearchRequestCancelSource.cancel('Operation canceled by another search request.')\n\t\t}\n\t\tsearchRequestCancelSource = CancelToken.source()\n\t\tsearch = typeof search === 'string' ? search : ''\n\n\t\t/**\n\t\t * Adding filters in the search bar such as in:files, in:users, etc.\n\t\t * collides with this particular search, so we need to remove them\n\t\t * here and leave only the original search query\n\t\t */\n\t\tsearch = search.replace(/in:[^\\s]+/g, '').trim()\n\n\t\tgroup = typeof group === 'string' ? group : ''\n\t\tif (group !== '') {\n\t\t\treturn api.get(generateOcsUrl('cloud/groups/{group}/users/details?offset={offset}&limit={limit}&search={search}', { group: encodeURIComponent(group), offset, limit, search }), {\n\t\t\t\tcancelToken: searchRequestCancelSource.token,\n\t\t\t})\n\t\t\t\t.then((response) => {\n\t\t\t\t\tconst usersCount = Object.keys(response.data.ocs.data.users).length\n\t\t\t\t\tif (usersCount > 0) {\n\t\t\t\t\t\tcontext.commit('appendUsers', response.data.ocs.data.users)\n\t\t\t\t\t}\n\t\t\t\t\treturn usersCount\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tif (!axios.isCancel(error)) {\n\t\t\t\t\t\tcontext.commit('API_FAILURE', error)\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t}\n\n\t\treturn api.get(generateOcsUrl('cloud/users/details?offset={offset}&limit={limit}&search={search}', { offset, limit, search }), {\n\t\t\tcancelToken: searchRequestCancelSource.token,\n\t\t})\n\t\t\t.then((response) => {\n\t\t\t\tconst usersCount = Object.keys(response.data.ocs.data.users).length\n\t\t\t\tif (usersCount > 0) {\n\t\t\t\t\tcontext.commit('appendUsers', response.data.ocs.data.users)\n\t\t\t\t}\n\t\t\t\treturn usersCount\n\t\t\t})\n\t\t\t.catch((error) => {\n\t\t\t\tif (!axios.isCancel(error)) {\n\t\t\t\t\tcontext.commit('API_FAILURE', error)\n\t\t\t\t}\n\t\t\t})\n\t},\n\n\t/**\n\t * Get recent users with full details\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {number} options.offset List offset to request\n\t * @param {number} options.limit List number to return from offset\n\t * @param {string} options.search Search query\n\t * @return {Promise}\n\t */\n\tasync getRecentUsers(context, { offset, limit, search }) {\n\t\tconst url = generateOcsUrl('cloud/users/recent?offset={offset}&limit={limit}&search={search}', { offset, limit, search })\n\t\ttry {\n\t\t\tconst response = await api.get(url)\n\t\t\tconst usersCount = Object.keys(response.data.ocs.data.users).length\n\t\t\tif (usersCount > 0) {\n\t\t\t\tcontext.commit('appendUsers', response.data.ocs.data.users)\n\t\t\t}\n\t\t\treturn usersCount\n\t\t} catch (error) {\n\t\t\tcontext.commit('API_FAILURE', error)\n\t\t}\n\t},\n\n\t/**\n\t * Get disabled users with full details\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {number} options.offset List offset to request\n\t * @param {number} options.limit List number to return from offset\n\t * @param options.search\n\t * @return {Promise}\n\t */\n\tasync getDisabledUsers(context, { offset, limit, search }) {\n\t\tconst url = generateOcsUrl('cloud/users/disabled?offset={offset}&limit={limit}&search={search}', { offset, limit, search })\n\t\ttry {\n\t\t\tconst response = await api.get(url)\n\t\t\tconst usersCount = Object.keys(response.data.ocs.data.users).length\n\t\t\tif (usersCount > 0) {\n\t\t\t\tcontext.commit('appendUsers', response.data.ocs.data.users)\n\t\t\t\tcontext.commit('updateDisabledUsers', response.data.ocs.data.users)\n\t\t\t}\n\t\t\treturn usersCount\n\t\t} catch (error) {\n\t\t\tcontext.commit('API_FAILURE', error)\n\t\t}\n\t},\n\n\tgetGroups(context, { offset, limit, search }) {\n\t\tsearch = typeof search === 'string' ? search : ''\n\t\tconst limitParam = limit === -1 ? '' : `&limit=${limit}`\n\t\treturn api.get(generateOcsUrl('cloud/groups?offset={offset}&search={search}', { offset, search }) + limitParam)\n\t\t\t.then((response) => {\n\t\t\t\tif (Object.keys(response.data.ocs.data.groups).length > 0) {\n\t\t\t\t\tresponse.data.ocs.data.groups.forEach(function(group) {\n\t\t\t\t\t\tcontext.commit('addGroup', { id: group, name: group })\n\t\t\t\t\t})\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t\treturn false\n\t\t\t})\n\t\t\t.catch((error) => context.commit('API_FAILURE', error))\n\t},\n\n\t/**\n\t * Get all users with full details\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {number} options.offset List offset to request\n\t * @param {number} options.limit List number to return from offset\n\t * @param {string} options.search -\n\t * @return {Promise}\n\t */\n\tgetUsersFromList(context, { offset, limit, search }) {\n\t\tsearch = typeof search === 'string' ? search : ''\n\t\treturn api.get(generateOcsUrl('cloud/users/details?offset={offset}&limit={limit}&search={search}', { offset, limit, search }))\n\t\t\t.then((response) => {\n\t\t\t\tif (Object.keys(response.data.ocs.data.users).length > 0) {\n\t\t\t\t\tcontext.commit('appendUsers', response.data.ocs.data.users)\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t\treturn false\n\t\t\t})\n\t\t\t.catch((error) => context.commit('API_FAILURE', error))\n\t},\n\n\t/**\n\t * Get all users with full details from a groupid\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {number} options.offset List offset to request\n\t * @param {number} options.limit List number to return from offset\n\t * @param {string} options.groupid -\n\t * @return {Promise}\n\t */\n\tgetUsersFromGroup(context, { groupid, offset, limit }) {\n\t\treturn api.get(generateOcsUrl('cloud/users/{groupId}/details?offset={offset}&limit={limit}', { groupId: encodeURIComponent(groupid), offset, limit }))\n\t\t\t.then((response) => context.commit('getUsersFromList', response.data.ocs.data.users))\n\t\t\t.catch((error) => context.commit('API_FAILURE', error))\n\t},\n\n\tgetPasswordPolicyMinLength(context) {\n\t\tif (getCapabilities().password_policy && getCapabilities().password_policy.minLength) {\n\t\t\tcontext.commit('setPasswordPolicyMinLength', getCapabilities().password_policy.minLength)\n\t\t\treturn getCapabilities().password_policy.minLength\n\t\t}\n\t\treturn false\n\t},\n\n\t/**\n\t * Add group\n\t *\n\t * @param {object} context store context\n\t * @param {string} gid Group id\n\t * @return {Promise}\n\t */\n\taddGroup(context, gid) {\n\t\treturn api.requireAdmin().then(() => {\n\t\t\treturn api.post(generateOcsUrl('cloud/groups'), { groupid: gid })\n\t\t\t\t.then(() => {\n\t\t\t\t\tcontext.commit('addGroup', { id: gid, name: gid })\n\t\t\t\t\treturn { gid, displayName: gid }\n\t\t\t\t})\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => {\n\t\t\tcontext.commit('API_FAILURE', { gid, error })\n\t\t\t// let's throw one more time to prevent the view\n\t\t\t// from adding the user to a group that doesn't exists\n\t\t\tthrow error\n\t\t})\n\t},\n\n\t/**\n\t * Rename group\n\t *\n\t * @param {object} context store context\n\t * @param {string} groupid Group id\n\t * @param {string} displayName Group display name\n\t * @return {Promise}\n\t */\n\trenameGroup(context, { groupid, displayName }) {\n\t\treturn api.requireAdmin().then(() => {\n\t\t\treturn api.put(generateOcsUrl('cloud/groups/{groupId}', { groupId: encodeURIComponent(groupid) }), { key: 'displayname', value: displayName })\n\t\t\t\t.then(() => {\n\t\t\t\t\tcontext.commit('renameGroup', { gid: groupid, displayName })\n\t\t\t\t\treturn { groupid, displayName }\n\t\t\t\t})\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => {\n\t\t\tcontext.commit('API_FAILURE', { groupid, error })\n\t\t\t// let's throw one more time to prevent the view\n\t\t\t// from renaming the group\n\t\t\tthrow error\n\t\t})\n\t},\n\n\t/**\n\t * Remove group\n\t *\n\t * @param {object} context store context\n\t * @param {string} gid Group id\n\t * @return {Promise}\n\t */\n\tremoveGroup(context, gid) {\n\t\treturn api.requireAdmin().then(() => {\n\t\t\treturn api.delete(generateOcsUrl('cloud/groups/{groupId}', { groupId: encodeURIComponent(gid) }))\n\t\t\t\t.then(() => context.commit('removeGroup', gid))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { gid, error }))\n\t},\n\n\t/**\n\t * Add user to group\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {string} options.gid Group id\n\t * @return {Promise}\n\t */\n\taddUserGroup(context, { userid, gid }) {\n\t\treturn api.requireAdmin().then(() => {\n\t\t\treturn api.post(generateOcsUrl('cloud/users/{userid}/groups', { userid }), { groupid: gid })\n\t\t\t\t.then(() => context.commit('addUserGroup', { userid, gid }))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Remove user from group\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {string} options.gid Group id\n\t * @return {Promise}\n\t */\n\tremoveUserGroup(context, { userid, gid }) {\n\t\treturn api.requireAdmin().then(() => {\n\t\t\treturn api.delete(generateOcsUrl('cloud/users/{userid}/groups', { userid }), { groupid: gid })\n\t\t\t\t.then(() => context.commit('removeUserGroup', { userid, gid }))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => {\n\t\t\tcontext.commit('API_FAILURE', { userid, error })\n\t\t\t// let's throw one more time to prevent\n\t\t\t// the view from removing the user row on failure\n\t\t\tthrow error\n\t\t})\n\t},\n\n\t/**\n\t * Add user to group admin\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {string} options.gid Group id\n\t * @return {Promise}\n\t */\n\taddUserSubAdmin(context, { userid, gid }) {\n\t\treturn api.requireAdmin().then(() => {\n\t\t\treturn api.post(generateOcsUrl('cloud/users/{userid}/subadmins', { userid }), { groupid: gid })\n\t\t\t\t.then(() => context.commit('addUserSubAdmin', { userid, gid }))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Remove user from group admin\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {string} options.gid Group id\n\t * @return {Promise}\n\t */\n\tremoveUserSubAdmin(context, { userid, gid }) {\n\t\treturn api.requireAdmin().then(() => {\n\t\t\treturn api.delete(generateOcsUrl('cloud/users/{userid}/subadmins', { userid }), { groupid: gid })\n\t\t\t\t.then(() => context.commit('removeUserSubAdmin', { userid, gid }))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Mark all user devices for remote wipe\n\t *\n\t * @param {object} context store context\n\t * @param {string} userid User id\n\t * @return {Promise}\n\t */\n\tasync wipeUserDevices(context, userid) {\n\t\ttry {\n\t\t\tawait api.requireAdmin()\n\t\t\treturn await api.post(generateOcsUrl('cloud/users/{userid}/wipe', { userid }))\n\t\t} catch (error) {\n\t\t\tcontext.commit('API_FAILURE', { userid, error })\n\t\t\treturn Promise.reject(new Error('Failed to wipe user devices'))\n\t\t}\n\t},\n\n\t/**\n\t * Delete a user\n\t *\n\t * @param {object} context store context\n\t * @param {string} userid User id\n\t * @return {Promise}\n\t */\n\tdeleteUser(context, userid) {\n\t\treturn api.requireAdmin().then(() => {\n\t\t\treturn api.delete(generateOcsUrl('cloud/users/{userid}', { userid }))\n\t\t\t\t.then(() => context.commit('deleteUser', userid))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Add a user\n\t *\n\t * @param {object} context store context\n\t * @param {Function} context.commit -\n\t * @param {Function} context.dispatch -\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {string} options.password User password\n\t * @param {string} options.displayName User display name\n\t * @param {string} options.email User email\n\t * @param {string} options.groups User groups\n\t * @param {string} options.subadmin User subadmin groups\n\t * @param {string} options.quota User email\n\t * @param {string} options.language User language\n\t * @param {string} options.manager User manager\n\t * @return {Promise}\n\t */\n\taddUser({ commit, dispatch }, { userid, password, displayName, email, groups, subadmin, quota, language, manager }) {\n\t\treturn api.requireAdmin().then(() => {\n\t\t\treturn api.post(generateOcsUrl('cloud/users'), { userid, password, displayName, email, groups, subadmin, quota, language, manager })\n\t\t\t\t.then((response) => dispatch('addUserData', userid || response.data.ocs.data.id))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => {\n\t\t\tcommit('API_FAILURE', { userid, error })\n\t\t\tthrow error\n\t\t})\n\t},\n\n\t/**\n\t * Get user data and commit addition\n\t *\n\t * @param {object} context store context\n\t * @param {string} userid User id\n\t * @return {Promise}\n\t */\n\taddUserData(context, userid) {\n\t\treturn api.requireAdmin().then(() => {\n\t\t\treturn api.get(generateOcsUrl('cloud/users/{userid}', { userid }))\n\t\t\t\t.then((response) => context.commit('addUserData', response))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Enable or disable user\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {boolean} options.enabled User enablement status\n\t * @return {Promise}\n\t */\n\tenableDisableUser(context, { userid, enabled = true }) {\n\t\tconst userStatus = enabled ? 'enable' : 'disable'\n\t\treturn api.requireAdmin().then(() => {\n\t\t\treturn api.put(generateOcsUrl('cloud/users/{userid}/{userStatus}', { userid, userStatus }))\n\t\t\t\t.then(() => context.commit('enableDisableUser', { userid, enabled }))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Edit user data\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {string} options.key User field to edit\n\t * @param {string} options.value Value of the change\n\t * @return {Promise}\n\t */\n\tasync setUserData(context, { userid, key, value }) {\n\t\tconst allowedEmpty = ['email', 'displayname', 'manager']\n\t\tconst validKeys = ['email', 'language', 'quota', 'displayname', 'password', 'manager']\n\n\t\tif (!validKeys.includes(key)) {\n\t\t\tthrow new Error('Invalid request data')\n\t\t}\n\n\t\t// If value is empty and the key doesn't allow empty values, throw error\n\t\tif (value === '' && !allowedEmpty.includes(key)) {\n\t\t\tthrow new Error('Value cannot be empty for this field')\n\t\t}\n\n\t\ttry {\n\t\t\tawait api.requireAdmin()\n\t\t\tawait api.put(generateOcsUrl('cloud/users/{userid}', { userid }), { key, value })\n\t\t\treturn context.commit('setUserData', { userid, key, value })\n\t\t} catch (error) {\n\t\t\tcontext.commit('API_FAILURE', { userid, error })\n\t\t\tthrow error\n\t\t}\n\t},\n\n\t/**\n\t * Send welcome mail\n\t *\n\t * @param {object} context store context\n\t * @param {string} userid User id\n\t * @return {Promise}\n\t */\n\tsendWelcomeMail(context, userid) {\n\t\treturn api.requireAdmin().then(() => {\n\t\t\treturn api.post(generateOcsUrl('cloud/users/{userid}/welcome', { userid }))\n\t\t\t\t.then(() => true)\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n}\n\nexport default { state, mutations, getters, actions }\n","/**\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { showError } from '@nextcloud/dialogs'\nimport { Store } from 'vuex'\nimport logger from '../logger.js'\nimport apps from './apps.js'\nimport oc from './oc.js'\nimport settings from './users-settings.js'\nimport users from './users.js'\n\nconst mutations = {\n\tAPI_FAILURE(state, error) {\n\t\ttry {\n\t\t\tconst message = error.error.response.data.ocs.meta.message\n\t\t\tshowError(t('settings', 'An error occurred during the request. Unable to proceed.') + '
' + message, { isHTML: true })\n\t\t} catch {\n\t\t\tshowError(t('settings', 'An error occurred during the request. Unable to proceed.'))\n\t\t}\n\t\tlogger.error('An error occurred during the request.', { state, error })\n\t},\n}\n\nlet store = null\n\n/**\n *\n */\nexport function useStore() {\n\tif (store === null) {\n\t\tstore = new Store({\n\t\t\tmodules: {\n\t\t\t\tusers,\n\t\t\t\tapps,\n\t\t\t\tsettings,\n\t\t\t\toc,\n\t\t\t},\n\t\t\tstrict: !PRODUCTION,\n\t\t\tmutations,\n\t\t})\n\t}\n\treturn store\n}\n","/**\n * Gets the value at `key`, unless `key` is \"__proto__\" or \"constructor\".\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction safeGet(object, key) {\n if (key === 'constructor' && typeof object[key] === 'function') {\n return;\n }\n\n if (key == '__proto__') {\n return;\n }\n\n return object[key];\n}\n\nmodule.exports = safeGet;\n","/**\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * https://github.com/nextcloud/server/blob/208e38e84e1a07a49699aa90dc5b7272d24489f0/lib/private/Group/MetaData.php#L34\n */\nexport var GroupSorting;\n(function (GroupSorting) {\n GroupSorting[GroupSorting[\"UserCount\"] = 1] = \"UserCount\";\n GroupSorting[GroupSorting[\"GroupName\"] = 2] = \"GroupName\";\n})(GroupSorting || (GroupSorting = {}));\n","var baseRest = require('./_baseRest'),\n isIterateeCall = require('./_isIterateeCall');\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\nmodule.exports = createAssigner;\n","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nexport { _typeof as default };","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nexport { toPropertyKey as default };","import _typeof from \"./typeof.js\";\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nexport { toPrimitive as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nexport { _defineProperty as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperties(e, r) {\n for (var t = 0; t < r.length; t++) {\n var o = r[t];\n o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, toPropertyKey(o.key), o);\n }\n}\nfunction _createClass(e, r, t) {\n return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", {\n writable: !1\n }), e;\n}\nexport { _createClass as default };","/**!\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version 1.16.1\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && typeof navigator !== 'undefined';\n\nvar timeoutDuration = function () {\n var longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\n for (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n return 1;\n }\n }\n return 0;\n}();\n\nfunction microtaskDebounce(fn) {\n var called = false;\n return function () {\n if (called) {\n return;\n }\n called = true;\n window.Promise.resolve().then(function () {\n called = false;\n fn();\n });\n };\n}\n\nfunction taskDebounce(fn) {\n var scheduled = false;\n return function () {\n if (!scheduled) {\n scheduled = true;\n setTimeout(function () {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nvar supportsMicroTasks = isBrowser && window.Promise;\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nvar debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;\n\n/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nfunction isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\n/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nfunction getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n var window = element.ownerDocument.defaultView;\n var css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n\n/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nfunction getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nfunction getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body;\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body;\n case '#document':\n return element.body;\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n\n var _getStyleComputedProp = getStyleComputedProperty(element),\n overflow = _getStyleComputedProp.overflow,\n overflowX = _getStyleComputedProp.overflowX,\n overflowY = _getStyleComputedProp.overflowY;\n\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n\n/**\n * Returns the reference node of the reference object, or the reference object itself.\n * @method\n * @memberof Popper.Utils\n * @param {Element|Object} reference - the reference element (the popper will be relative to this)\n * @returns {Element} parent\n */\nfunction getReferenceNode(reference) {\n return reference && reference.referenceNode ? reference.referenceNode : reference;\n}\n\nvar isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nvar isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nfunction isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nfunction getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n var noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n var offsetParent = element.offsetParent || null;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n var nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TH, TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n\nfunction isOffsetContainer(element) {\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY') {\n return false;\n }\n return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;\n}\n\n/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nfunction getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nfunction findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\n var start = order ? element1 : element2;\n var end = order ? element2 : element1;\n\n // Get common ancestor container\n var range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n var commonAncestorContainer = range.commonAncestorContainer;\n\n // Both nodes are inside #document\n\n if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n var element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n\n/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nfunction getScroll(element) {\n var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';\n\n var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n var html = element.ownerDocument.documentElement;\n var scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nfunction includeScroll(rect, element) {\n var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n var modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n\n/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nfunction getBordersSize(styles, axis) {\n var sideA = axis === 'x' ? 'Left' : 'Top';\n var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return parseFloat(styles['border' + sideA + 'Width']) + parseFloat(styles['border' + sideB + 'Width']);\n}\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE(10) ? parseInt(html['offset' + axis]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')]) : 0);\n}\n\nfunction getWindowSizes(document) {\n var body = document.body;\n var html = document.documentElement;\n var computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle)\n };\n}\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\nvar defineProperty = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nfunction getClientRect(offsets) {\n return _extends({}, offsets, {\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height\n });\n}\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nfunction getBoundingClientRect(element) {\n var rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n } else {\n rect = element.getBoundingClientRect();\n }\n } catch (e) {}\n\n var result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n\n // subtract scrollbar size from sizes\n var sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n var width = sizes.width || element.clientWidth || result.width;\n var height = sizes.height || element.clientHeight || result.height;\n\n var horizScrollbar = element.offsetWidth - width;\n var vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n var styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n\nfunction getOffsetRectRelativeToArbitraryNode(children, parent) {\n var fixedPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var isIE10 = isIE(10);\n var isHTML = parent.nodeName === 'HTML';\n var childrenRect = getBoundingClientRect(children);\n var parentRect = getBoundingClientRect(parent);\n var scrollParent = getScrollParent(children);\n\n var styles = getStyleComputedProperty(parent);\n var borderTopWidth = parseFloat(styles.borderTopWidth);\n var borderLeftWidth = parseFloat(styles.borderLeftWidth);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if (fixedPosition && isHTML) {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n var offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n var marginTop = parseFloat(styles.marginTop);\n var marginLeft = parseFloat(styles.marginLeft);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (isIE10 && !fixedPosition ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n\nfunction getViewportOffsetRectRelativeToArtbitraryNode(element) {\n var excludeScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var html = element.ownerDocument.documentElement;\n var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n var width = Math.max(html.clientWidth, window.innerWidth || 0);\n var height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n var scrollTop = !excludeScroll ? getScroll(html) : 0;\n var scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n var offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width: width,\n height: height\n };\n\n return getClientRect(offset);\n}\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nfunction isFixed(element) {\n var nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n var parentNode = getParentNode(element);\n if (!parentNode) {\n return false;\n }\n return isFixed(parentNode);\n}\n\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nfunction getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n var el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n}\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nfunction getBoundaries(popper, reference, padding, boundariesElement) {\n var fixedPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n // NOTE: 1 DOM access here\n\n var boundaries = { top: 0, left: 0 };\n var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n\n // Handle viewport case\n if (boundariesElement === 'viewport') {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n } else {\n // Handle other cases based on DOM element used as boundaries\n var boundariesNode = void 0;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent, fixedPosition);\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n var _getWindowSizes = getWindowSizes(popper.ownerDocument),\n height = _getWindowSizes.height,\n width = _getWindowSizes.width;\n\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n padding = padding || 0;\n var isPaddingNumber = typeof padding === 'number';\n boundaries.left += isPaddingNumber ? padding : padding.left || 0;\n boundaries.top += isPaddingNumber ? padding : padding.top || 0;\n boundaries.right -= isPaddingNumber ? padding : padding.right || 0;\n boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0;\n\n return boundaries;\n}\n\nfunction getArea(_ref) {\n var width = _ref.width,\n height = _ref.height;\n\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {\n var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n var boundaries = getBoundaries(popper, reference, padding, boundariesElement);\n\n var rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height\n }\n };\n\n var sortedAreas = Object.keys(rects).map(function (key) {\n return _extends({\n key: key\n }, rects[key], {\n area: getArea(rects[key])\n });\n }).sort(function (a, b) {\n return b.area - a.area;\n });\n\n var filteredAreas = sortedAreas.filter(function (_ref2) {\n var width = _ref2.width,\n height = _ref2.height;\n return width >= popper.clientWidth && height >= popper.clientHeight;\n });\n\n var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;\n\n var variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? '-' + variation : '');\n}\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nfunction getReferenceOffsets(state, popper, reference) {\n var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n\n/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nfunction getOuterSizes(element) {\n var window = element.ownerDocument.defaultView;\n var styles = window.getComputedStyle(element);\n var x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n var y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n var result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x\n };\n return result;\n}\n\n/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nfunction getOppositePlacement(placement) {\n var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nfunction getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n var popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n var popperOffsets = {\n width: popperRect.width,\n height: popperRect.height\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n var isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n var mainSide = isHoriz ? 'top' : 'left';\n var secondarySide = isHoriz ? 'left' : 'top';\n var measurement = isHoriz ? 'height' : 'width';\n var secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n\n/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(function (cur) {\n return cur[prop] === value;\n });\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n var match = find(arr, function (obj) {\n return obj[prop] === value;\n });\n return arr.indexOf(match);\n}\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nfunction runModifiers(modifiers, data, ends) {\n var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(function (modifier) {\n if (modifier['function']) {\n // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.
\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nfunction update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n var data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {}\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference, this.options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n data.positionFixed = this.options.positionFixed;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\n\n data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n\n/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nfunction isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(function (_ref) {\n var name = _ref.name,\n enabled = _ref.enabled;\n return enabled && name === modifierName;\n });\n}\n\n/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nfunction getSupportedPropertyName(property) {\n var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (var i = 0; i < prefixes.length; i++) {\n var prefix = prefixes[i];\n var toCheck = prefix ? '' + prefix + upperProp : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n\n/**\n * Destroys the popper.\n * @method\n * @memberof Popper\n */\nfunction destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicitly asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n\n/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nfunction getWindow(element) {\n var ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n var isBody = scrollParent.nodeName === 'BODY';\n var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction setupEventListeners(reference, options, state, updateBound) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n var scrollElement = getScrollParent(reference);\n attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nfunction enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\n }\n}\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(function (target) {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger `onUpdate` callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nfunction disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n\n/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nfunction isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setStyles(element, styles) {\n Object.keys(styles).forEach(function (prop) {\n var unit = '';\n // add unit if the value is numeric and is one of the following\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n\n/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function (prop) {\n var value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nfunction applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nfunction applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\n // compute reference element offsets\n var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n return options;\n}\n\n/**\n * @function\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Boolean} shouldRound - If the offsets should be rounded at all\n * @returns {Object} The popper's position offsets rounded\n *\n * The tale of pixel-perfect positioning. It's still not 100% perfect, but as\n * good as it can be within reason.\n * Discussion here: https://github.com/FezVrasta/popper.js/pull/715\n *\n * Low DPI screens cause a popper to be blurry if not using full pixels (Safari\n * as well on High DPI screens).\n *\n * Firefox prefers no rounding for positioning and does not have blurriness on\n * high DPI screens.\n *\n * Only horizontal placement and left/right values need to be considered.\n */\nfunction getRoundedOffsets(data, shouldRound) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n var round = Math.round,\n floor = Math.floor;\n\n var noRound = function noRound(v) {\n return v;\n };\n\n var referenceWidth = round(reference.width);\n var popperWidth = round(popper.width);\n\n var isVertical = ['left', 'right'].indexOf(data.placement) !== -1;\n var isVariation = data.placement.indexOf('-') !== -1;\n var sameWidthParity = referenceWidth % 2 === popperWidth % 2;\n var bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1;\n\n var horizontalToInteger = !shouldRound ? noRound : isVertical || isVariation || sameWidthParity ? round : floor;\n var verticalToInteger = !shouldRound ? noRound : round;\n\n return {\n left: horizontalToInteger(bothOddWidth && !isVariation && shouldRound ? popper.left - 1 : popper.left),\n top: verticalToInteger(popper.top),\n bottom: verticalToInteger(popper.bottom),\n right: horizontalToInteger(popper.right)\n };\n}\n\nvar isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent);\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeStyle(data, options) {\n var x = options.x,\n y = options.y;\n var popper = data.offsets.popper;\n\n // Remove this legacy support in Popper.js v2\n\n var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'applyStyle';\n }).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\n }\n var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\n\n var offsetParent = getOffsetParent(data.instance.popper);\n var offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n var styles = {\n position: popper.position\n };\n\n var offsets = getRoundedOffsets(data, window.devicePixelRatio < 2 || !isFirefox);\n\n var sideA = x === 'bottom' ? 'top' : 'bottom';\n var sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n var prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n var left = void 0,\n top = void 0;\n if (sideA === 'bottom') {\n // when offsetParent is the positioning is relative to the bottom of the screen (excluding the scrollbar)\n // and not the bottom of the html element\n if (offsetParent.nodeName === 'HTML') {\n top = -offsetParent.clientHeight + offsets.bottom;\n } else {\n top = -offsetParentRect.height + offsets.bottom;\n }\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n if (offsetParent.nodeName === 'HTML') {\n left = -offsetParent.clientWidth + offsets.right;\n } else {\n left = -offsetParentRect.width + offsets.right;\n }\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n var invertTop = sideA === 'bottom' ? -1 : 1;\n var invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = sideA + ', ' + sideB;\n }\n\n // Attributes\n var attributes = {\n 'x-placement': data.placement\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = _extends({}, attributes, data.attributes);\n data.styles = _extends({}, styles, data.styles);\n data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);\n\n return data;\n}\n\n/**\n * Helper used to know if the given modifier depends from another one.
\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nfunction isModifierRequired(modifiers, requestingName, requestedName) {\n var requesting = find(modifiers, function (_ref) {\n var name = _ref.name;\n return name === requestingName;\n });\n\n var isRequired = !!requesting && modifiers.some(function (modifier) {\n return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\n });\n\n if (!isRequired) {\n var _requesting = '`' + requestingName + '`';\n var requested = '`' + requestedName + '`';\n console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\n }\n return isRequired;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction arrow(data, options) {\n var _data$offsets$arrow;\n\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n var arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn('WARNING: `arrow.element` must be child of its popper element!');\n return data;\n }\n }\n\n var placement = data.placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n var len = isVertical ? 'height' : 'width';\n var sideCapitalized = isVertical ? 'Top' : 'Left';\n var side = sideCapitalized.toLowerCase();\n var altSide = isVertical ? 'left' : 'top';\n var opSide = isVertical ? 'bottom' : 'right';\n var arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjunction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n var css = getStyleComputedProperty(data.instance.popper);\n var popperMarginSide = parseFloat(css['margin' + sideCapitalized]);\n var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width']);\n var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);\n\n return data;\n}\n\n/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nfunction getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n\n/**\n * List of accepted placements to use as values of the `placement` option.
\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.
\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-end` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nvar placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\n\n// Get rid of `auto` `auto-start` and `auto-end`\nvar validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nfunction clockwise(placement) {\n var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var index = validPlacements.indexOf(placement);\n var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n\nvar BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise'\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed);\n\n var placement = data.placement.split('-')[0];\n var placementOpposite = getOppositePlacement(placement);\n var variation = data.placement.split('-')[1] || '';\n\n var flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach(function (step, index) {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n var popperOffsets = data.offsets.popper;\n var refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n var floor = Math.floor;\n var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\n\n var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;\n\n // flip the variation if required\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n\n // flips variation if reference element overflows boundaries\n var flippedVariationByRef = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\n\n // flips variation if popper content overflows boundaries\n var flippedVariationByContent = !!options.flipVariationsByContent && (isVertical && variation === 'start' && overflowsRight || isVertical && variation === 'end' && overflowsLeft || !isVertical && variation === 'start' && overflowsBottom || !isVertical && variation === 'end' && overflowsTop);\n\n var flippedVariation = flippedVariationByRef || flippedVariationByContent;\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction keepTogether(data) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var placement = data.placement.split('-')[0];\n var floor = Math.floor;\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var side = isVertical ? 'right' : 'bottom';\n var opSide = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nfunction toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n var value = +split[1];\n var unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n var element = void 0;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n var rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n var size = void 0;\n if (unit === 'vh') {\n size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n } else {\n size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nfunction parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\n var offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\n return frag.trim();\n });\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n var divider = fragments.indexOf(find(fragments, function (frag) {\n return frag.search(/,|\\s/) !== -1;\n }));\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n var splitRegex = /\\s*,\\s*|\\s+/;\n var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map(function (op, index) {\n // Most of the units rely on the orientation of the popper\n var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\n var mergeWithPrevious = false;\n return op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce(function (a, b) {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(function (str) {\n return toValue(str, measurement, popperOffsets, referenceOffsets);\n });\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach(function (op, index) {\n op.forEach(function (frag, index2) {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nfunction offset(data, _ref) {\n var offset = _ref.offset;\n var placement = data.placement,\n _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var basePlacement = placement.split('-')[0];\n\n var offsets = void 0;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction preventOverflow(data, options) {\n var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n // NOTE: DOM access here\n // resets the popper's position so that the document size can be calculated excluding\n // the size of the popper element itself\n var transformProp = getSupportedPropertyName('transform');\n var popperStyles = data.instance.popper.style; // assignment to help minification\n var top = popperStyles.top,\n left = popperStyles.left,\n transform = popperStyles[transformProp];\n\n popperStyles.top = '';\n popperStyles.left = '';\n popperStyles[transformProp] = '';\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed);\n\n // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n popperStyles.top = top;\n popperStyles.left = left;\n popperStyles[transformProp] = transform;\n\n options.boundaries = boundaries;\n\n var order = options.priority;\n var popper = data.offsets.popper;\n\n var check = {\n primary: function primary(placement) {\n var value = popper[placement];\n if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return defineProperty({}, placement, value);\n },\n secondary: function secondary(placement) {\n var mainSide = placement === 'right' ? 'left' : 'top';\n var value = popper[mainSide];\n if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\n value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\n }\n return defineProperty({}, mainSide, value);\n }\n };\n\n order.forEach(function (placement) {\n var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = _extends({}, popper, check[side](placement));\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction shift(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n var _data$offsets = data.offsets,\n reference = _data$offsets.reference,\n popper = _data$offsets.popper;\n\n var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n var side = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n var shiftOffsets = {\n start: defineProperty({}, side, reference[side]),\n end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\n };\n\n data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n var refRect = data.offsets.reference;\n var bound = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'preventOverflow';\n }).boundaries;\n\n if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction inner(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.
\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.
\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nvar modifiers = {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.
\n * It will read the variation of the `placement` property.
\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unit-less, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.
\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the `height`.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.
\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.
\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373).\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * A scenario exists where the reference itself is not within the boundaries.
\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".
\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper. This makes sure the popper always has a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier. Can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent'\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near each other\n * without leaving any gap between the two. Especially useful when the arrow is\n * enabled and you want to ensure that it points to its reference element.\n * It cares only about the first axis. You can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjunction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]'\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations)\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position.\n * The popper will never be placed outside of the defined boundaries\n * (except if `keepTogether` is enabled)\n */\n boundariesElement: 'viewport',\n /**\n * @prop {Boolean} flipVariations=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the reference element overlaps its boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariations: false,\n /**\n * @prop {Boolean} flipVariationsByContent=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the popper element overlaps its reference boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariationsByContent: false\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right'\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define your own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: undefined\n }\n};\n\n/**\n * The `dataObject` is an object containing all the information used by Popper.js.\n * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n\n/**\n * Default options provided to Popper.js constructor.
\n * These can be overridden using the `options` argument of Popper.js.
\n * To override an option, simply pass an object with the same\n * structure of the `options` object, as the 3rd argument. For example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nvar Defaults = {\n /**\n * Popper's placement.\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled.\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.
\n * By default, it is set to no-op.
\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: function onCreate() {},\n\n /**\n * Callback called when the popper is updated. This callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.
\n * By default, it is set to no-op.
\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: function onUpdate() {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js.\n * @prop {modifiers}\n */\n modifiers: modifiers\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n\n// Utils\n// Methods\nvar Popper = function () {\n /**\n * Creates a new Popper.js instance.\n * @class Popper\n * @param {Element|referenceObject} reference - The reference element used to position the popper\n * @param {Element} popper - The HTML / XML element used as the popper\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n function Popper(reference, popper) {\n var _this = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n classCallCheck(this, Popper);\n\n this.scheduleUpdate = function () {\n return requestAnimationFrame(_this.update);\n };\n\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = _extends({}, Popper.Defaults, options);\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: []\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {\n _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers).map(function (name) {\n return _extends({\n name: name\n }, _this.options.modifiers[name]);\n })\n // sort the modifiers by order\n .sort(function (a, b) {\n return a.order - b.order;\n });\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(function (modifierOptions) {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n var eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n\n\n createClass(Popper, [{\n key: 'update',\n value: function update$$1() {\n return update.call(this);\n }\n }, {\n key: 'destroy',\n value: function destroy$$1() {\n return destroy.call(this);\n }\n }, {\n key: 'enableEventListeners',\n value: function enableEventListeners$$1() {\n return enableEventListeners.call(this);\n }\n }, {\n key: 'disableEventListeners',\n value: function disableEventListeners$$1() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedules an update. It will run on the next UI update available.\n * @method scheduleUpdate\n * @memberof Popper\n */\n\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n\n }]);\n return Popper;\n}();\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.
\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10.\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n\n\nPopper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\nPopper.placements = placements;\nPopper.Defaults = Defaults;\n\nexport default Popper;\n//# sourceMappingURL=popper.js.map\n","function getInternetExplorerVersion() {\n var ua = window.navigator.userAgent;\n var msie = ua.indexOf('MSIE ');\n\n if (msie > 0) {\n // IE 10 or older => return version number\n return parseInt(ua.substring(msie + 5, ua.indexOf('.', msie)), 10);\n }\n\n var trident = ua.indexOf('Trident/');\n\n if (trident > 0) {\n // IE 11 => return version number\n var rv = ua.indexOf('rv:');\n return parseInt(ua.substring(rv + 3, ua.indexOf('.', rv)), 10);\n }\n\n var edge = ua.indexOf('Edge/');\n\n if (edge > 0) {\n // Edge (IE 12+) => return version number\n return parseInt(ua.substring(edge + 5, ua.indexOf('.', edge)), 10);\n } // other browser\n\n\n return -1;\n}\n\n//\nvar isIE;\n\nfunction initCompat() {\n if (!initCompat.init) {\n initCompat.init = true;\n isIE = getInternetExplorerVersion() !== -1;\n }\n}\n\nvar script = {\n name: 'ResizeObserver',\n props: {\n emitOnMount: {\n type: Boolean,\n default: false\n },\n ignoreWidth: {\n type: Boolean,\n default: false\n },\n ignoreHeight: {\n type: Boolean,\n default: false\n }\n },\n mounted: function mounted() {\n var _this = this;\n\n initCompat();\n this.$nextTick(function () {\n _this._w = _this.$el.offsetWidth;\n _this._h = _this.$el.offsetHeight;\n\n if (_this.emitOnMount) {\n _this.emitSize();\n }\n });\n var object = document.createElement('object');\n this._resizeObject = object;\n object.setAttribute('aria-hidden', 'true');\n object.setAttribute('tabindex', -1);\n object.onload = this.addResizeHandlers;\n object.type = 'text/html';\n\n if (isIE) {\n this.$el.appendChild(object);\n }\n\n object.data = 'about:blank';\n\n if (!isIE) {\n this.$el.appendChild(object);\n }\n },\n beforeDestroy: function beforeDestroy() {\n this.removeResizeHandlers();\n },\n methods: {\n compareAndNotify: function compareAndNotify() {\n if (!this.ignoreWidth && this._w !== this.$el.offsetWidth || !this.ignoreHeight && this._h !== this.$el.offsetHeight) {\n this._w = this.$el.offsetWidth;\n this._h = this.$el.offsetHeight;\n this.emitSize();\n }\n },\n emitSize: function emitSize() {\n this.$emit('notify', {\n width: this._w,\n height: this._h\n });\n },\n addResizeHandlers: function addResizeHandlers() {\n this._resizeObject.contentDocument.defaultView.addEventListener('resize', this.compareAndNotify);\n\n this.compareAndNotify();\n },\n removeResizeHandlers: function removeResizeHandlers() {\n if (this._resizeObject && this._resizeObject.onload) {\n if (!isIE && this._resizeObject.contentDocument) {\n this._resizeObject.contentDocument.defaultView.removeEventListener('resize', this.compareAndNotify);\n }\n\n this.$el.removeChild(this._resizeObject);\n this._resizeObject.onload = null;\n this._resizeObject = null;\n }\n }\n }\n};\n\nfunction normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier\n/* server only */\n, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {\n if (typeof shadowMode !== 'boolean') {\n createInjectorSSR = createInjector;\n createInjector = shadowMode;\n shadowMode = false;\n } // Vue.extend constructor export interop.\n\n\n var options = typeof script === 'function' ? script.options : script; // render functions\n\n if (template && template.render) {\n options.render = template.render;\n options.staticRenderFns = template.staticRenderFns;\n options._compiled = true; // functional template\n\n if (isFunctionalTemplate) {\n options.functional = true;\n }\n } // scopedId\n\n\n if (scopeId) {\n options._scopeId = scopeId;\n }\n\n var hook;\n\n if (moduleIdentifier) {\n // server build\n hook = function hook(context) {\n // 2.3 injection\n context = context || // cached call\n this.$vnode && this.$vnode.ssrContext || // stateful\n this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext; // functional\n // 2.2 with runInNewContext: true\n\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__;\n } // inject component styles\n\n\n if (style) {\n style.call(this, createInjectorSSR(context));\n } // register component module identifier for async chunk inference\n\n\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier);\n }\n }; // used by ssr in case component is cached and beforeCreate\n // never gets called\n\n\n options._ssrRegister = hook;\n } else if (style) {\n hook = shadowMode ? function (context) {\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));\n } : function (context) {\n style.call(this, createInjector(context));\n };\n }\n\n if (hook) {\n if (options.functional) {\n // register for functional component in vue file\n var originalRender = options.render;\n\n options.render = function renderWithStyleInjection(h, context) {\n hook.call(context);\n return originalRender(h, context);\n };\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate;\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\n }\n }\n\n return script;\n}\n\n/* script */\nvar __vue_script__ = script;\n/* template */\n\nvar __vue_render__ = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c(\"div\", {\n staticClass: \"resize-observer\",\n attrs: {\n tabindex: \"-1\"\n }\n });\n};\n\nvar __vue_staticRenderFns__ = [];\n__vue_render__._withStripped = true;\n/* style */\n\nvar __vue_inject_styles__ = undefined;\n/* scoped */\n\nvar __vue_scope_id__ = \"data-v-8859cc6c\";\n/* module identifier */\n\nvar __vue_module_identifier__ = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__ = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__ = /*#__PURE__*/normalizeComponent({\n render: __vue_render__,\n staticRenderFns: __vue_staticRenderFns__\n}, __vue_inject_styles__, __vue_script__, __vue_scope_id__, __vue_is_functional_template__, __vue_module_identifier__, false, undefined, undefined, undefined);\n\nfunction install(Vue) {\n // eslint-disable-next-line vue/component-definition-name-casing\n Vue.component('resize-observer', __vue_component__);\n Vue.component('ResizeObserver', __vue_component__);\n}\n\nvar plugin = {\n // eslint-disable-next-line no-undef\n version: \"1.0.1\",\n install: install\n};\n\nvar GlobalVue = null;\n\nif (typeof window !== 'undefined') {\n GlobalVue = window.Vue;\n} else if (typeof global !== 'undefined') {\n GlobalVue = global.Vue;\n}\n\nif (GlobalVue) {\n GlobalVue.use(plugin);\n}\n\nexport default plugin;\nexport { __vue_component__ as ResizeObserver, install };\n//# sourceMappingURL=vue-resize.esm.js.map\n","import _typeof from '@babel/runtime/helpers/typeof';\nimport _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport _classCallCheck from '@babel/runtime/helpers/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/createClass';\nimport Popper from 'popper.js';\nimport isEqual from 'lodash/isEqual';\nimport { ResizeObserver } from 'vue-resize';\nimport merge from 'lodash/merge';\n\nvar SVGAnimatedString = function SVGAnimatedString() {};\n\nif (typeof window !== 'undefined') {\n SVGAnimatedString = window.SVGAnimatedString;\n}\n\nfunction convertToArray(value) {\n if (typeof value === 'string') {\n value = value.split(' ');\n }\n\n return value;\n}\n/**\n * Add classes to an element.\n * This method checks to ensure that the classes don't already exist before adding them.\n * It uses el.className rather than classList in order to be IE friendly.\n * @param {object} el - The element to add the classes to.\n * @param {classes} string - List of space separated classes to be added to the element.\n */\n\nfunction addClasses(el, classes) {\n var newClasses = convertToArray(classes);\n var classList;\n\n if (el.className instanceof SVGAnimatedString) {\n classList = convertToArray(el.className.baseVal);\n } else {\n classList = convertToArray(el.className);\n }\n\n newClasses.forEach(function (newClass) {\n if (classList.indexOf(newClass) === -1) {\n classList.push(newClass);\n }\n });\n\n if (el instanceof SVGElement) {\n el.setAttribute('class', classList.join(' '));\n } else {\n el.className = classList.join(' ');\n }\n}\n/**\n * Remove classes from an element.\n * It uses el.className rather than classList in order to be IE friendly.\n * @export\n * @param {any} el The element to remove the classes from.\n * @param {any} classes List of space separated classes to be removed from the element.\n */\n\nfunction removeClasses(el, classes) {\n var newClasses = convertToArray(classes);\n var classList;\n\n if (el.className instanceof SVGAnimatedString) {\n classList = convertToArray(el.className.baseVal);\n } else {\n classList = convertToArray(el.className);\n }\n\n newClasses.forEach(function (newClass) {\n var index = classList.indexOf(newClass);\n\n if (index !== -1) {\n classList.splice(index, 1);\n }\n });\n\n if (el instanceof SVGElement) {\n el.setAttribute('class', classList.join(' '));\n } else {\n el.className = classList.join(' ');\n }\n}\nvar supportsPassive = false;\n\nif (typeof window !== 'undefined') {\n supportsPassive = false;\n\n try {\n var opts = Object.defineProperty({}, 'passive', {\n get: function get() {\n supportsPassive = true;\n }\n });\n window.addEventListener('test', null, opts);\n } catch (e) {}\n}\n\nfunction ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$2(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\nvar DEFAULT_OPTIONS = {\n container: false,\n delay: 0,\n html: false,\n placement: 'top',\n title: '',\n template: '
',\n trigger: 'hover focus',\n offset: 0\n};\nvar openTooltips = [];\n\nvar Tooltip = /*#__PURE__*/function () {\n /**\n * Create a new Tooltip.js instance\n * @class Tooltip\n * @param {HTMLElement} reference - The DOM node used as reference of the tooltip (it can be a jQuery element).\n * @param {Object} options\n * @param {String} options.placement=bottom\n * Placement of the popper accepted values: `top(-start, -end), right(-start, -end), bottom(-start, -end),\n * left(-start, -end)`\n * @param {HTMLElement|String|false} options.container=false - Append the tooltip to a specific element.\n * @param {Number|Object} options.delay=0\n * Delay showing and hiding the tooltip (ms) - does not apply to manual trigger type.\n * If a number is supplied, delay is applied to both hide/show.\n * Object structure is: `{ show: 500, hide: 100 }`\n * @param {Boolean} options.html=false - Insert HTML into the tooltip. If false, the content will inserted with `innerText`.\n * @param {String|PlacementFunction} options.placement='top' - One of the allowed placements, or a function returning one of them.\n * @param {String} [options.template='
']\n * Base HTML to used when creating the tooltip.\n * The tooltip's `title` will be injected into the `.tooltip-inner` or `.tooltip__inner`.\n * `.tooltip-arrow` or `.tooltip__arrow` will become the tooltip's arrow.\n * The outermost wrapper element should have the `.tooltip` class.\n * @param {String|HTMLElement|TitleFunction} options.title='' - Default title value if `title` attribute isn't present.\n * @param {String} [options.trigger='hover focus']\n * How tooltip is triggered - click, hover, focus, manual.\n * You may pass multiple triggers; separate them with a space. `manual` cannot be combined with any other trigger.\n * @param {HTMLElement} options.boundariesElement\n * The element used as boundaries for the tooltip. For more information refer to Popper.js'\n * [boundariesElement docs](https://popper.js.org/popper-documentation.html)\n * @param {Number|String} options.offset=0 - Offset of the tooltip relative to its reference. For more information refer to Popper.js'\n * [offset docs](https://popper.js.org/popper-documentation.html)\n * @param {Object} options.popperOptions={} - Popper options, will be passed directly to popper instance. For more information refer to Popper.js'\n * [options docs](https://popper.js.org/popper-documentation.html)\n * @param {string} [options.ariaId] Id used for accessibility\n * @return {Object} instance - The generated tooltip instance\n */\n function Tooltip(_reference, _options) {\n var _this = this;\n\n _classCallCheck(this, Tooltip);\n\n _defineProperty(this, \"_events\", []);\n\n _defineProperty(this, \"_setTooltipNodeEvent\", function (evt, reference, delay, options) {\n var relatedreference = evt.relatedreference || evt.toElement || evt.relatedTarget;\n\n var callback = function callback(evt2) {\n var relatedreference2 = evt2.relatedreference || evt2.toElement || evt2.relatedTarget; // Remove event listener after call\n\n _this._tooltipNode.removeEventListener(evt.type, callback); // If the new reference is not the reference element\n\n\n if (!reference.contains(relatedreference2)) {\n // Schedule to hide tooltip\n _this._scheduleHide(reference, options.delay, options, evt2);\n }\n };\n\n if (_this._tooltipNode.contains(relatedreference)) {\n // listen to mouseleave on the tooltip element to be able to hide the tooltip\n _this._tooltipNode.addEventListener(evt.type, callback);\n\n return true;\n }\n\n return false;\n });\n\n // apply user options over default ones\n _options = _objectSpread$2(_objectSpread$2({}, DEFAULT_OPTIONS), _options);\n _reference.jquery && (_reference = _reference[0]);\n this.show = this.show.bind(this);\n this.hide = this.hide.bind(this); // cache reference and options\n\n this.reference = _reference;\n this.options = _options; // set initial state\n\n this._isOpen = false;\n\n this._init();\n } //\n // Public methods\n //\n\n /**\n * Reveals an element's tooltip. This is considered a \"manual\" triggering of the tooltip.\n * Tooltips with zero-length titles are never displayed.\n * @method Tooltip#show\n * @memberof Tooltip\n */\n\n\n _createClass(Tooltip, [{\n key: \"show\",\n value: function show() {\n this._show(this.reference, this.options);\n }\n /**\n * Hides an element’s tooltip. This is considered a “manual” triggering of the tooltip.\n * @method Tooltip#hide\n * @memberof Tooltip\n */\n\n }, {\n key: \"hide\",\n value: function hide() {\n this._hide();\n }\n /**\n * Hides and destroys an element’s tooltip.\n * @method Tooltip#dispose\n * @memberof Tooltip\n */\n\n }, {\n key: \"dispose\",\n value: function dispose() {\n this._dispose();\n }\n /**\n * Toggles an element’s tooltip. This is considered a “manual” triggering of the tooltip.\n * @method Tooltip#toggle\n * @memberof Tooltip\n */\n\n }, {\n key: \"toggle\",\n value: function toggle() {\n if (this._isOpen) {\n return this.hide();\n } else {\n return this.show();\n }\n }\n }, {\n key: \"setClasses\",\n value: function setClasses(classes) {\n this._classes = classes;\n }\n }, {\n key: \"setContent\",\n value: function setContent(content) {\n this.options.title = content;\n\n if (this._tooltipNode) {\n this._setContent(content, this.options);\n }\n }\n }, {\n key: \"setOptions\",\n value: function setOptions(options) {\n var classesUpdated = false;\n var classes = options && options.classes || directive.options.defaultClass;\n\n if (!isEqual(this._classes, classes)) {\n this.setClasses(classes);\n classesUpdated = true;\n }\n\n options = getOptions(options);\n var needPopperUpdate = false;\n var needRestart = false;\n\n if (this.options.offset !== options.offset || this.options.placement !== options.placement) {\n needPopperUpdate = true;\n }\n\n if (this.options.template !== options.template || this.options.trigger !== options.trigger || this.options.container !== options.container || classesUpdated) {\n needRestart = true;\n }\n\n for (var key in options) {\n this.options[key] = options[key];\n }\n\n if (this._tooltipNode) {\n if (needRestart) {\n var isOpen = this._isOpen;\n this.dispose();\n\n this._init();\n\n if (isOpen) {\n this.show();\n }\n } else if (needPopperUpdate) {\n this.popperInstance.update();\n }\n }\n } //\n // Private methods\n //\n\n }, {\n key: \"_init\",\n value: function _init() {\n // get events list\n var events = typeof this.options.trigger === 'string' ? this.options.trigger.split(' ') : [];\n this._isDisposed = false;\n this._enableDocumentTouch = events.indexOf('manual') === -1;\n events = events.filter(function (trigger) {\n return ['click', 'hover', 'focus'].indexOf(trigger) !== -1;\n }); // set event listeners\n\n this._setEventListeners(this.reference, events, this.options); // title attribute\n\n\n this.$_originalTitle = this.reference.getAttribute('title');\n this.reference.removeAttribute('title');\n this.reference.setAttribute('data-original-title', this.$_originalTitle);\n }\n /**\n * Creates a new tooltip node\n * @memberof Tooltip\n * @private\n * @param {HTMLElement} reference\n * @param {String} template\n * @param {String|HTMLElement|TitleFunction} title\n * @param {Boolean} allowHtml\n * @return {HTMLelement} tooltipNode\n */\n\n }, {\n key: \"_create\",\n value: function _create(reference, template) {\n var _this2 = this;\n\n // create tooltip element\n var tooltipGenerator = window.document.createElement('div');\n tooltipGenerator.innerHTML = template.trim();\n var tooltipNode = tooltipGenerator.childNodes[0]; // add unique ID to our tooltip (needed for accessibility reasons)\n\n tooltipNode.id = this.options.ariaId || \"tooltip_\".concat(Math.random().toString(36).substr(2, 10)); // Initially hide the tooltip\n // The attribute will be switched in a next frame so\n // CSS transitions can play\n\n tooltipNode.setAttribute('aria-hidden', 'true');\n\n if (this.options.autoHide && this.options.trigger.indexOf('hover') !== -1) {\n tooltipNode.addEventListener('mouseenter', function (evt) {\n return _this2._scheduleHide(reference, _this2.options.delay, _this2.options, evt);\n });\n tooltipNode.addEventListener('click', function (evt) {\n return _this2._scheduleHide(reference, _this2.options.delay, _this2.options, evt);\n });\n } // return the generated tooltip node\n\n\n return tooltipNode;\n }\n }, {\n key: \"_setContent\",\n value: function _setContent(content, options) {\n var _this3 = this;\n\n this.asyncContent = false;\n\n this._applyContent(content, options).then(function () {\n if (!_this3.popperInstance) return;\n\n _this3.popperInstance.update();\n });\n }\n }, {\n key: \"_applyContent\",\n value: function _applyContent(title, options) {\n var _this4 = this;\n\n return new Promise(function (resolve, reject) {\n var allowHtml = options.html;\n var rootNode = _this4._tooltipNode;\n if (!rootNode) return;\n var titleNode = rootNode.querySelector(_this4.options.innerSelector);\n\n if (title.nodeType === 1) {\n // if title is a node, append it only if allowHtml is true\n if (allowHtml) {\n while (titleNode.firstChild) {\n titleNode.removeChild(titleNode.firstChild);\n }\n\n titleNode.appendChild(title);\n }\n } else if (typeof title === 'function') {\n // if title is a function, call it and set innerText or innerHtml depending by `allowHtml` value\n var result = title();\n\n if (result && typeof result.then === 'function') {\n _this4.asyncContent = true;\n options.loadingClass && addClasses(rootNode, options.loadingClass);\n\n if (options.loadingContent) {\n _this4._applyContent(options.loadingContent, options);\n }\n\n result.then(function (asyncResult) {\n options.loadingClass && removeClasses(rootNode, options.loadingClass);\n return _this4._applyContent(asyncResult, options);\n }).then(resolve).catch(reject);\n } else {\n _this4._applyContent(result, options).then(resolve).catch(reject);\n }\n\n return;\n } else {\n // if it's just a simple text, set innerText or innerHtml depending by `allowHtml` value\n allowHtml ? titleNode.innerHTML = title : titleNode.innerText = title;\n }\n\n resolve();\n });\n }\n }, {\n key: \"_show\",\n value: function _show(reference, options) {\n if (options && typeof options.container === 'string') {\n var container = document.querySelector(options.container);\n if (!container) return;\n }\n\n clearTimeout(this._disposeTimer);\n options = Object.assign({}, options);\n delete options.offset;\n var updateClasses = true;\n\n if (this._tooltipNode) {\n addClasses(this._tooltipNode, this._classes);\n updateClasses = false;\n }\n\n var result = this._ensureShown(reference, options);\n\n if (updateClasses && this._tooltipNode) {\n addClasses(this._tooltipNode, this._classes);\n }\n\n addClasses(reference, ['v-tooltip-open']);\n return result;\n }\n }, {\n key: \"_ensureShown\",\n value: function _ensureShown(reference, options) {\n var _this5 = this;\n\n // don't show if it's already visible\n if (this._isOpen) {\n return this;\n }\n\n this._isOpen = true;\n openTooltips.push(this); // if the tooltipNode already exists, just show it\n\n if (this._tooltipNode) {\n this._tooltipNode.style.display = '';\n\n this._tooltipNode.setAttribute('aria-hidden', 'false');\n\n this.popperInstance.enableEventListeners();\n this.popperInstance.update();\n\n if (this.asyncContent) {\n this._setContent(options.title, options);\n }\n\n return this;\n } // get title\n\n\n var title = reference.getAttribute('title') || options.title; // don't show tooltip if no title is defined\n\n if (!title) {\n return this;\n } // create tooltip node\n\n\n var tooltipNode = this._create(reference, options.template);\n\n this._tooltipNode = tooltipNode; // Add `aria-describedby` to our reference element for accessibility reasons\n\n reference.setAttribute('aria-describedby', tooltipNode.id); // append tooltip to container\n\n var container = this._findContainer(options.container, reference);\n\n this._append(tooltipNode, container);\n\n var popperOptions = _objectSpread$2(_objectSpread$2({}, options.popperOptions), {}, {\n placement: options.placement\n });\n\n popperOptions.modifiers = _objectSpread$2(_objectSpread$2({}, popperOptions.modifiers), {}, {\n arrow: {\n element: this.options.arrowSelector\n }\n });\n\n if (options.boundariesElement) {\n popperOptions.modifiers.preventOverflow = {\n boundariesElement: options.boundariesElement\n };\n }\n\n this.popperInstance = new Popper(reference, tooltipNode, popperOptions);\n\n this._setContent(title, options); // Fix position\n\n\n requestAnimationFrame(function () {\n if (!_this5._isDisposed && _this5.popperInstance) {\n _this5.popperInstance.update(); // Show the tooltip\n\n\n requestAnimationFrame(function () {\n if (!_this5._isDisposed) {\n _this5._isOpen && tooltipNode.setAttribute('aria-hidden', 'false');\n } else {\n _this5.dispose();\n }\n });\n } else {\n _this5.dispose();\n }\n });\n return this;\n }\n }, {\n key: \"_noLongerOpen\",\n value: function _noLongerOpen() {\n var index = openTooltips.indexOf(this);\n\n if (index !== -1) {\n openTooltips.splice(index, 1);\n }\n }\n }, {\n key: \"_hide\",\n value: function _hide()\n /* reference, options */\n {\n var _this6 = this;\n\n // don't hide if it's already hidden\n if (!this._isOpen) {\n return this;\n }\n\n this._isOpen = false;\n\n this._noLongerOpen(); // hide tooltipNode\n\n\n this._tooltipNode.style.display = 'none';\n\n this._tooltipNode.setAttribute('aria-hidden', 'true');\n\n if (this.popperInstance) {\n this.popperInstance.disableEventListeners();\n }\n\n clearTimeout(this._disposeTimer);\n var disposeTime = directive.options.disposeTimeout;\n\n if (disposeTime !== null) {\n this._disposeTimer = setTimeout(function () {\n if (_this6._tooltipNode) {\n _this6._tooltipNode.removeEventListener('mouseenter', _this6.hide);\n\n _this6._tooltipNode.removeEventListener('click', _this6.hide); // Don't remove popper instance, just the HTML element\n\n\n _this6._removeTooltipNode();\n }\n }, disposeTime);\n }\n\n removeClasses(this.reference, ['v-tooltip-open']);\n return this;\n }\n }, {\n key: \"_removeTooltipNode\",\n value: function _removeTooltipNode() {\n if (!this._tooltipNode) return;\n var parentNode = this._tooltipNode.parentNode;\n\n if (parentNode) {\n parentNode.removeChild(this._tooltipNode);\n this.reference.removeAttribute('aria-describedby');\n }\n\n this._tooltipNode = null;\n }\n }, {\n key: \"_dispose\",\n value: function _dispose() {\n var _this7 = this;\n\n this._isDisposed = true;\n this.reference.removeAttribute('data-original-title');\n\n if (this.$_originalTitle) {\n this.reference.setAttribute('title', this.$_originalTitle);\n } // remove event listeners first to prevent any unexpected behaviour\n\n\n this._events.forEach(function (_ref) {\n var func = _ref.func,\n event = _ref.event;\n\n _this7.reference.removeEventListener(event, func);\n });\n\n this._events = [];\n\n if (this._tooltipNode) {\n this._hide();\n\n this._tooltipNode.removeEventListener('mouseenter', this.hide);\n\n this._tooltipNode.removeEventListener('click', this.hide); // destroy instance\n\n\n this.popperInstance.destroy(); // destroy tooltipNode if removeOnDestroy is not set, as popperInstance.destroy() already removes the element\n\n if (!this.popperInstance.options.removeOnDestroy) {\n this._removeTooltipNode();\n }\n } else {\n this._noLongerOpen();\n }\n\n return this;\n }\n }, {\n key: \"_findContainer\",\n value: function _findContainer(container, reference) {\n // if container is a query, get the relative element\n if (typeof container === 'string') {\n container = window.document.querySelector(container);\n } else if (container === false) {\n // if container is `false`, set it to reference parent\n container = reference.parentNode;\n }\n\n return container;\n }\n /**\n * Append tooltip to container\n * @memberof Tooltip\n * @private\n * @param {HTMLElement} tooltip\n * @param {HTMLElement|String|false} container\n */\n\n }, {\n key: \"_append\",\n value: function _append(tooltipNode, container) {\n container.appendChild(tooltipNode);\n }\n }, {\n key: \"_setEventListeners\",\n value: function _setEventListeners(reference, events, options) {\n var _this8 = this;\n\n var directEvents = [];\n var oppositeEvents = [];\n events.forEach(function (event) {\n switch (event) {\n case 'hover':\n directEvents.push('mouseenter');\n oppositeEvents.push('mouseleave');\n if (_this8.options.hideOnTargetClick) oppositeEvents.push('click');\n break;\n\n case 'focus':\n directEvents.push('focus');\n oppositeEvents.push('blur');\n if (_this8.options.hideOnTargetClick) oppositeEvents.push('click');\n break;\n\n case 'click':\n directEvents.push('click');\n oppositeEvents.push('click');\n break;\n }\n }); // schedule show tooltip\n\n directEvents.forEach(function (event) {\n var func = function func(evt) {\n if (_this8._isOpen === true) {\n return;\n }\n\n evt.usedByTooltip = true;\n\n _this8._scheduleShow(reference, options.delay, options, evt);\n };\n\n _this8._events.push({\n event: event,\n func: func\n });\n\n reference.addEventListener(event, func);\n }); // schedule hide tooltip\n\n oppositeEvents.forEach(function (event) {\n var func = function func(evt) {\n if (evt.usedByTooltip === true) {\n return;\n }\n\n _this8._scheduleHide(reference, options.delay, options, evt);\n };\n\n _this8._events.push({\n event: event,\n func: func\n });\n\n reference.addEventListener(event, func);\n });\n }\n }, {\n key: \"_onDocumentTouch\",\n value: function _onDocumentTouch(event) {\n if (this._enableDocumentTouch) {\n this._scheduleHide(this.reference, this.options.delay, this.options, event);\n }\n }\n }, {\n key: \"_scheduleShow\",\n value: function _scheduleShow(reference, delay, options\n /*, evt */\n ) {\n var _this9 = this;\n\n // defaults to 0\n var computedDelay = delay && delay.show || delay || 0;\n clearTimeout(this._scheduleTimer);\n this._scheduleTimer = window.setTimeout(function () {\n return _this9._show(reference, options);\n }, computedDelay);\n }\n }, {\n key: \"_scheduleHide\",\n value: function _scheduleHide(reference, delay, options, evt) {\n var _this10 = this;\n\n // defaults to 0\n var computedDelay = delay && delay.hide || delay || 0;\n clearTimeout(this._scheduleTimer);\n this._scheduleTimer = window.setTimeout(function () {\n if (_this10._isOpen === false) {\n return;\n }\n\n if (!_this10._tooltipNode.ownerDocument.body.contains(_this10._tooltipNode)) {\n return;\n } // if we are hiding because of a mouseleave, we must check that the new\n // reference isn't the tooltip, because in this case we don't want to hide it\n\n\n if (evt.type === 'mouseleave') {\n var isSet = _this10._setTooltipNodeEvent(evt, reference, delay, options); // if we set the new event, don't hide the tooltip yet\n // the new event will take care to hide it if necessary\n\n\n if (isSet) {\n return;\n }\n }\n\n _this10._hide(reference, options);\n }, computedDelay);\n }\n }]);\n\n return Tooltip;\n}(); // Hide tooltips on touch devices\n\nif (typeof document !== 'undefined') {\n document.addEventListener('touchstart', function (event) {\n for (var i = 0; i < openTooltips.length; i++) {\n openTooltips[i]._onDocumentTouch(event);\n }\n }, supportsPassive ? {\n passive: true,\n capture: true\n } : true);\n}\n/**\n * Placement function, its context is the Tooltip instance.\n * @memberof Tooltip\n * @callback PlacementFunction\n * @param {HTMLElement} tooltip - tooltip DOM node.\n * @param {HTMLElement} reference - reference DOM node.\n * @return {String} placement - One of the allowed placement options.\n */\n\n/**\n * Title function, its context is the Tooltip instance.\n * @memberof Tooltip\n * @callback TitleFunction\n * @return {String} placement - The desired title.\n */\n\nfunction ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$1(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\nvar state = {\n enabled: true\n};\nvar positions = ['top', 'top-start', 'top-end', 'right', 'right-start', 'right-end', 'bottom', 'bottom-start', 'bottom-end', 'left', 'left-start', 'left-end'];\nvar defaultOptions = {\n // Default tooltip placement relative to target element\n defaultPlacement: 'top',\n // Default CSS classes applied to the tooltip element\n defaultClass: 'vue-tooltip-theme',\n // Default CSS classes applied to the target element of the tooltip\n defaultTargetClass: 'has-tooltip',\n // Is the content HTML by default?\n defaultHtml: true,\n // Default HTML template of the tooltip element\n // It must include `tooltip-arrow` & `tooltip-inner` CSS classes (can be configured, see below)\n // Change if the classes conflict with other libraries (for example bootstrap)\n defaultTemplate: '
',\n // Selector used to get the arrow element in the tooltip template\n defaultArrowSelector: '.tooltip-arrow, .tooltip__arrow',\n // Selector used to get the inner content element in the tooltip template\n defaultInnerSelector: '.tooltip-inner, .tooltip__inner',\n // Delay (ms)\n defaultDelay: 0,\n // Default events that trigger the tooltip\n defaultTrigger: 'hover focus',\n // Default position offset (px)\n defaultOffset: 0,\n // Default container where the tooltip will be appended\n defaultContainer: 'body',\n defaultBoundariesElement: undefined,\n defaultPopperOptions: {},\n // Class added when content is loading\n defaultLoadingClass: 'tooltip-loading',\n // Displayed when tooltip content is loading\n defaultLoadingContent: '...',\n // Hide on mouseover tooltip\n autoHide: true,\n // Close tooltip on click on tooltip target?\n defaultHideOnTargetClick: true,\n // Auto destroy tooltip DOM nodes (ms)\n disposeTimeout: 5000,\n // Options for popover\n popover: {\n defaultPlacement: 'bottom',\n // Use the `popoverClass` prop for theming\n defaultClass: 'vue-popover-theme',\n // Base class (change if conflicts with other libraries)\n defaultBaseClass: 'tooltip popover',\n // Wrapper class (contains arrow and inner)\n defaultWrapperClass: 'wrapper',\n // Inner content class\n defaultInnerClass: 'tooltip-inner popover-inner',\n // Arrow class\n defaultArrowClass: 'tooltip-arrow popover-arrow',\n // Class added when popover is open\n defaultOpenClass: 'open',\n defaultDelay: 0,\n defaultTrigger: 'click',\n defaultOffset: 0,\n defaultContainer: 'body',\n defaultBoundariesElement: undefined,\n defaultPopperOptions: {},\n // Hides if clicked outside of popover\n defaultAutoHide: true,\n // Update popper on content resize\n defaultHandleResize: true\n }\n};\nfunction getOptions(options) {\n var result = {\n placement: typeof options.placement !== 'undefined' ? options.placement : directive.options.defaultPlacement,\n delay: typeof options.delay !== 'undefined' ? options.delay : directive.options.defaultDelay,\n html: typeof options.html !== 'undefined' ? options.html : directive.options.defaultHtml,\n template: typeof options.template !== 'undefined' ? options.template : directive.options.defaultTemplate,\n arrowSelector: typeof options.arrowSelector !== 'undefined' ? options.arrowSelector : directive.options.defaultArrowSelector,\n innerSelector: typeof options.innerSelector !== 'undefined' ? options.innerSelector : directive.options.defaultInnerSelector,\n trigger: typeof options.trigger !== 'undefined' ? options.trigger : directive.options.defaultTrigger,\n offset: typeof options.offset !== 'undefined' ? options.offset : directive.options.defaultOffset,\n container: typeof options.container !== 'undefined' ? options.container : directive.options.defaultContainer,\n boundariesElement: typeof options.boundariesElement !== 'undefined' ? options.boundariesElement : directive.options.defaultBoundariesElement,\n autoHide: typeof options.autoHide !== 'undefined' ? options.autoHide : directive.options.autoHide,\n hideOnTargetClick: typeof options.hideOnTargetClick !== 'undefined' ? options.hideOnTargetClick : directive.options.defaultHideOnTargetClick,\n loadingClass: typeof options.loadingClass !== 'undefined' ? options.loadingClass : directive.options.defaultLoadingClass,\n loadingContent: typeof options.loadingContent !== 'undefined' ? options.loadingContent : directive.options.defaultLoadingContent,\n popperOptions: _objectSpread$1({}, typeof options.popperOptions !== 'undefined' ? options.popperOptions : directive.options.defaultPopperOptions)\n };\n\n if (result.offset) {\n var typeofOffset = _typeof(result.offset);\n\n var offset = result.offset; // One value -> switch\n\n if (typeofOffset === 'number' || typeofOffset === 'string' && offset.indexOf(',') === -1) {\n offset = \"0, \".concat(offset);\n }\n\n if (!result.popperOptions.modifiers) {\n result.popperOptions.modifiers = {};\n }\n\n result.popperOptions.modifiers.offset = {\n offset: offset\n };\n }\n\n if (result.trigger && result.trigger.indexOf('click') !== -1) {\n result.hideOnTargetClick = false;\n }\n\n return result;\n}\nfunction getPlacement(value, modifiers) {\n var placement = value.placement;\n\n for (var i = 0; i < positions.length; i++) {\n var pos = positions[i];\n\n if (modifiers[pos]) {\n placement = pos;\n }\n }\n\n return placement;\n}\nfunction getContent(value) {\n var type = _typeof(value);\n\n if (type === 'string') {\n return value;\n } else if (value && type === 'object') {\n return value.content;\n } else {\n return false;\n }\n}\nfunction createTooltip(el, value) {\n var modifiers = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var content = getContent(value);\n var classes = typeof value.classes !== 'undefined' ? value.classes : directive.options.defaultClass;\n\n var opts = _objectSpread$1({\n title: content\n }, getOptions(_objectSpread$1(_objectSpread$1({}, _typeof(value) === 'object' ? value : {}), {}, {\n placement: getPlacement(value, modifiers)\n })));\n\n var tooltip = el._tooltip = new Tooltip(el, opts);\n tooltip.setClasses(classes);\n tooltip._vueEl = el; // Class on target\n\n var targetClasses = typeof value.targetClasses !== 'undefined' ? value.targetClasses : directive.options.defaultTargetClass;\n el._tooltipTargetClasses = targetClasses;\n addClasses(el, targetClasses);\n return tooltip;\n}\nfunction destroyTooltip(el) {\n if (el._tooltip) {\n el._tooltip.dispose();\n\n delete el._tooltip;\n delete el._tooltipOldShow;\n }\n\n if (el._tooltipTargetClasses) {\n removeClasses(el, el._tooltipTargetClasses);\n delete el._tooltipTargetClasses;\n }\n}\nfunction bind(el, _ref) {\n var value = _ref.value;\n _ref.oldValue;\n var modifiers = _ref.modifiers;\n var content = getContent(value);\n\n if (!content || !state.enabled) {\n destroyTooltip(el);\n } else {\n var tooltip;\n\n if (el._tooltip) {\n tooltip = el._tooltip; // Content\n\n tooltip.setContent(content); // Options\n\n tooltip.setOptions(_objectSpread$1(_objectSpread$1({}, value), {}, {\n placement: getPlacement(value, modifiers)\n }));\n } else {\n tooltip = createTooltip(el, value, modifiers);\n } // Manual show\n\n\n if (typeof value.show !== 'undefined' && value.show !== el._tooltipOldShow) {\n el._tooltipOldShow = value.show;\n value.show ? tooltip.show() : tooltip.hide();\n }\n }\n}\nvar directive = {\n options: defaultOptions,\n bind: bind,\n update: bind,\n unbind: function unbind(el) {\n destroyTooltip(el);\n }\n};\n\nfunction addListeners(el) {\n el.addEventListener('click', onClick);\n el.addEventListener('touchstart', onTouchStart, supportsPassive ? {\n passive: true\n } : false);\n}\n\nfunction removeListeners(el) {\n el.removeEventListener('click', onClick);\n el.removeEventListener('touchstart', onTouchStart);\n el.removeEventListener('touchend', onTouchEnd);\n el.removeEventListener('touchcancel', onTouchCancel);\n}\n\nfunction onClick(event) {\n var el = event.currentTarget;\n event.closePopover = !el.$_vclosepopover_touch;\n event.closeAllPopover = el.$_closePopoverModifiers && !!el.$_closePopoverModifiers.all;\n}\n\nfunction onTouchStart(event) {\n if (event.changedTouches.length === 1) {\n var el = event.currentTarget;\n el.$_vclosepopover_touch = true;\n var touch = event.changedTouches[0];\n el.$_vclosepopover_touchPoint = touch;\n el.addEventListener('touchend', onTouchEnd);\n el.addEventListener('touchcancel', onTouchCancel);\n }\n}\n\nfunction onTouchEnd(event) {\n var el = event.currentTarget;\n el.$_vclosepopover_touch = false;\n\n if (event.changedTouches.length === 1) {\n var touch = event.changedTouches[0];\n var firstTouch = el.$_vclosepopover_touchPoint;\n event.closePopover = Math.abs(touch.screenY - firstTouch.screenY) < 20 && Math.abs(touch.screenX - firstTouch.screenX) < 20;\n event.closeAllPopover = el.$_closePopoverModifiers && !!el.$_closePopoverModifiers.all;\n }\n}\n\nfunction onTouchCancel(event) {\n var el = event.currentTarget;\n el.$_vclosepopover_touch = false;\n}\n\nvar vclosepopover = {\n bind: function bind(el, _ref) {\n var value = _ref.value,\n modifiers = _ref.modifiers;\n el.$_closePopoverModifiers = modifiers;\n\n if (typeof value === 'undefined' || value) {\n addListeners(el);\n }\n },\n update: function update(el, _ref2) {\n var value = _ref2.value,\n oldValue = _ref2.oldValue,\n modifiers = _ref2.modifiers;\n el.$_closePopoverModifiers = modifiers;\n\n if (value !== oldValue) {\n if (typeof value === 'undefined' || value) {\n addListeners(el);\n } else {\n removeListeners(el);\n }\n }\n },\n unbind: function unbind(el) {\n removeListeners(el);\n }\n};\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction getDefault(key) {\n var value = directive.options.popover[key];\n\n if (typeof value === 'undefined') {\n return directive.options[key];\n }\n\n return value;\n}\n\nvar isIOS = false;\n\nif (typeof window !== 'undefined' && typeof navigator !== 'undefined') {\n isIOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;\n}\n\nvar openPopovers = [];\n\nvar Element = function Element() {};\n\nif (typeof window !== 'undefined') {\n Element = window.Element;\n}\n\nvar script = {\n name: 'VPopover',\n components: {\n ResizeObserver: ResizeObserver\n },\n props: {\n open: {\n type: Boolean,\n default: false\n },\n disabled: {\n type: Boolean,\n default: false\n },\n placement: {\n type: String,\n default: function _default() {\n return getDefault('defaultPlacement');\n }\n },\n delay: {\n type: [String, Number, Object],\n default: function _default() {\n return getDefault('defaultDelay');\n }\n },\n offset: {\n type: [String, Number],\n default: function _default() {\n return getDefault('defaultOffset');\n }\n },\n trigger: {\n type: String,\n default: function _default() {\n return getDefault('defaultTrigger');\n }\n },\n container: {\n type: [String, Object, Element, Boolean],\n default: function _default() {\n return getDefault('defaultContainer');\n }\n },\n boundariesElement: {\n type: [String, Element],\n default: function _default() {\n return getDefault('defaultBoundariesElement');\n }\n },\n popperOptions: {\n type: Object,\n default: function _default() {\n return getDefault('defaultPopperOptions');\n }\n },\n popoverClass: {\n type: [String, Array],\n default: function _default() {\n return getDefault('defaultClass');\n }\n },\n popoverBaseClass: {\n type: [String, Array],\n default: function _default() {\n return directive.options.popover.defaultBaseClass;\n }\n },\n popoverInnerClass: {\n type: [String, Array],\n default: function _default() {\n return directive.options.popover.defaultInnerClass;\n }\n },\n popoverWrapperClass: {\n type: [String, Array],\n default: function _default() {\n return directive.options.popover.defaultWrapperClass;\n }\n },\n popoverArrowClass: {\n type: [String, Array],\n default: function _default() {\n return directive.options.popover.defaultArrowClass;\n }\n },\n autoHide: {\n type: Boolean,\n default: function _default() {\n return directive.options.popover.defaultAutoHide;\n }\n },\n handleResize: {\n type: Boolean,\n default: function _default() {\n return directive.options.popover.defaultHandleResize;\n }\n },\n openGroup: {\n type: String,\n default: null\n },\n openClass: {\n type: [String, Array],\n default: function _default() {\n return directive.options.popover.defaultOpenClass;\n }\n },\n ariaId: {\n default: null\n }\n },\n data: function data() {\n return {\n isOpen: false,\n id: Math.random().toString(36).substr(2, 10)\n };\n },\n computed: {\n cssClass: function cssClass() {\n return _defineProperty({}, this.openClass, this.isOpen);\n },\n popoverId: function popoverId() {\n return \"popover_\".concat(this.ariaId != null ? this.ariaId : this.id);\n }\n },\n watch: {\n open: function open(val) {\n if (val) {\n this.show();\n } else {\n this.hide();\n }\n },\n disabled: function disabled(val, oldVal) {\n if (val !== oldVal) {\n if (val) {\n this.hide();\n } else if (this.open) {\n this.show();\n }\n }\n },\n container: function container(val) {\n if (this.isOpen && this.popperInstance) {\n var popoverNode = this.$refs.popover;\n var reference = this.$refs.trigger;\n var container = this.$_findContainer(this.container, reference);\n\n if (!container) {\n console.warn('No container for popover', this);\n return;\n }\n\n container.appendChild(popoverNode);\n this.popperInstance.scheduleUpdate();\n }\n },\n trigger: function trigger(val) {\n this.$_removeEventListeners();\n this.$_addEventListeners();\n },\n placement: function placement(val) {\n var _this = this;\n\n this.$_updatePopper(function () {\n _this.popperInstance.options.placement = val;\n });\n },\n offset: '$_restartPopper',\n boundariesElement: '$_restartPopper',\n popperOptions: {\n handler: '$_restartPopper',\n deep: true\n }\n },\n created: function created() {\n this.$_isDisposed = false;\n this.$_mounted = false;\n this.$_events = [];\n this.$_preventOpen = false;\n },\n mounted: function mounted() {\n var popoverNode = this.$refs.popover;\n popoverNode.parentNode && popoverNode.parentNode.removeChild(popoverNode);\n this.$_init();\n\n if (this.open) {\n this.show();\n }\n },\n deactivated: function deactivated() {\n this.hide();\n },\n beforeDestroy: function beforeDestroy() {\n this.dispose();\n },\n methods: {\n show: function show() {\n var _this2 = this;\n\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n event = _ref2.event;\n _ref2.skipDelay;\n var _ref2$force = _ref2.force,\n force = _ref2$force === void 0 ? false : _ref2$force;\n\n if (force || !this.disabled) {\n this.$_scheduleShow(event);\n this.$emit('show');\n }\n\n this.$emit('update:open', true);\n this.$_beingShowed = true;\n requestAnimationFrame(function () {\n _this2.$_beingShowed = false;\n });\n },\n hide: function hide() {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n event = _ref3.event;\n _ref3.skipDelay;\n\n this.$_scheduleHide(event);\n this.$emit('hide');\n this.$emit('update:open', false);\n },\n dispose: function dispose() {\n this.$_isDisposed = true;\n this.$_removeEventListeners();\n this.hide({\n skipDelay: true\n });\n\n if (this.popperInstance) {\n this.popperInstance.destroy(); // destroy tooltipNode if removeOnDestroy is not set, as popperInstance.destroy() already removes the element\n\n if (!this.popperInstance.options.removeOnDestroy) {\n var popoverNode = this.$refs.popover;\n popoverNode.parentNode && popoverNode.parentNode.removeChild(popoverNode);\n }\n }\n\n this.$_mounted = false;\n this.popperInstance = null;\n this.isOpen = false;\n this.$emit('dispose');\n },\n $_init: function $_init() {\n if (this.trigger.indexOf('manual') === -1) {\n this.$_addEventListeners();\n }\n },\n $_show: function $_show() {\n var _this3 = this;\n\n var reference = this.$refs.trigger;\n var popoverNode = this.$refs.popover;\n clearTimeout(this.$_disposeTimer); // Already open\n\n if (this.isOpen) {\n return;\n } // Popper is already initialized\n\n\n if (this.popperInstance) {\n this.isOpen = true;\n this.popperInstance.enableEventListeners();\n this.popperInstance.scheduleUpdate();\n }\n\n if (!this.$_mounted) {\n var container = this.$_findContainer(this.container, reference);\n\n if (!container) {\n console.warn('No container for popover', this);\n return;\n }\n\n container.appendChild(popoverNode);\n this.$_mounted = true;\n this.isOpen = false;\n\n if (this.popperInstance) {\n requestAnimationFrame(function () {\n if (!_this3.hidden) {\n _this3.isOpen = true;\n }\n });\n }\n }\n\n if (!this.popperInstance) {\n var popperOptions = _objectSpread(_objectSpread({}, this.popperOptions), {}, {\n placement: this.placement\n });\n\n popperOptions.modifiers = _objectSpread(_objectSpread({}, popperOptions.modifiers), {}, {\n arrow: _objectSpread(_objectSpread({}, popperOptions.modifiers && popperOptions.modifiers.arrow), {}, {\n element: this.$refs.arrow\n })\n });\n\n if (this.offset) {\n var offset = this.$_getOffset();\n popperOptions.modifiers.offset = _objectSpread(_objectSpread({}, popperOptions.modifiers && popperOptions.modifiers.offset), {}, {\n offset: offset\n });\n }\n\n if (this.boundariesElement) {\n popperOptions.modifiers.preventOverflow = _objectSpread(_objectSpread({}, popperOptions.modifiers && popperOptions.modifiers.preventOverflow), {}, {\n boundariesElement: this.boundariesElement\n });\n }\n\n this.popperInstance = new Popper(reference, popoverNode, popperOptions); // Fix position\n\n requestAnimationFrame(function () {\n if (_this3.hidden) {\n _this3.hidden = false;\n\n _this3.$_hide();\n\n return;\n }\n\n if (!_this3.$_isDisposed && _this3.popperInstance) {\n _this3.popperInstance.scheduleUpdate(); // Show the tooltip\n\n\n requestAnimationFrame(function () {\n if (_this3.hidden) {\n _this3.hidden = false;\n\n _this3.$_hide();\n\n return;\n }\n\n if (!_this3.$_isDisposed) {\n _this3.isOpen = true;\n } else {\n _this3.dispose();\n }\n });\n } else {\n _this3.dispose();\n }\n });\n }\n\n var openGroup = this.openGroup;\n\n if (openGroup) {\n var popover;\n\n for (var i = 0; i < openPopovers.length; i++) {\n popover = openPopovers[i];\n\n if (popover.openGroup !== openGroup) {\n popover.hide();\n popover.$emit('close-group');\n }\n }\n }\n\n openPopovers.push(this);\n this.$emit('apply-show');\n },\n $_hide: function $_hide() {\n var _this4 = this;\n\n // Already hidden\n if (!this.isOpen) {\n return;\n }\n\n var index = openPopovers.indexOf(this);\n\n if (index !== -1) {\n openPopovers.splice(index, 1);\n }\n\n this.isOpen = false;\n\n if (this.popperInstance) {\n this.popperInstance.disableEventListeners();\n }\n\n clearTimeout(this.$_disposeTimer);\n var disposeTime = directive.options.popover.disposeTimeout || directive.options.disposeTimeout;\n\n if (disposeTime !== null) {\n this.$_disposeTimer = setTimeout(function () {\n var popoverNode = _this4.$refs.popover;\n\n if (popoverNode) {\n // Don't remove popper instance, just the HTML element\n popoverNode.parentNode && popoverNode.parentNode.removeChild(popoverNode);\n _this4.$_mounted = false;\n }\n }, disposeTime);\n }\n\n this.$emit('apply-hide');\n },\n $_findContainer: function $_findContainer(container, reference) {\n // if container is a query, get the relative element\n if (typeof container === 'string') {\n container = window.document.querySelector(container);\n } else if (container === false) {\n // if container is `false`, set it to reference parent\n container = reference.parentNode;\n }\n\n return container;\n },\n $_getOffset: function $_getOffset() {\n var typeofOffset = _typeof(this.offset);\n\n var offset = this.offset; // One value -> switch\n\n if (typeofOffset === 'number' || typeofOffset === 'string' && offset.indexOf(',') === -1) {\n offset = \"0, \".concat(offset);\n }\n\n return offset;\n },\n $_addEventListeners: function $_addEventListeners() {\n var _this5 = this;\n\n var reference = this.$refs.trigger;\n var directEvents = [];\n var oppositeEvents = [];\n var events = typeof this.trigger === 'string' ? this.trigger.split(' ').filter(function (trigger) {\n return ['click', 'hover', 'focus'].indexOf(trigger) !== -1;\n }) : [];\n events.forEach(function (event) {\n switch (event) {\n case 'hover':\n directEvents.push('mouseenter');\n oppositeEvents.push('mouseleave');\n break;\n\n case 'focus':\n directEvents.push('focus');\n oppositeEvents.push('blur');\n break;\n\n case 'click':\n directEvents.push('click');\n oppositeEvents.push('click');\n break;\n }\n }); // schedule show tooltip\n\n directEvents.forEach(function (event) {\n var func = function func(event) {\n if (_this5.isOpen) {\n return;\n }\n\n event.usedByTooltip = true;\n !_this5.$_preventOpen && _this5.show({\n event: event\n });\n _this5.hidden = false;\n };\n\n _this5.$_events.push({\n event: event,\n func: func\n });\n\n reference.addEventListener(event, func);\n }); // schedule hide tooltip\n\n oppositeEvents.forEach(function (event) {\n var func = function func(event) {\n if (event.usedByTooltip) {\n return;\n }\n\n _this5.hide({\n event: event\n });\n\n _this5.hidden = true;\n };\n\n _this5.$_events.push({\n event: event,\n func: func\n });\n\n reference.addEventListener(event, func);\n });\n },\n $_scheduleShow: function $_scheduleShow() {\n var skipDelay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n clearTimeout(this.$_scheduleTimer);\n\n if (skipDelay) {\n this.$_show();\n } else {\n // defaults to 0\n var computedDelay = parseInt(this.delay && this.delay.show || this.delay || 0);\n this.$_scheduleTimer = setTimeout(this.$_show.bind(this), computedDelay);\n }\n },\n $_scheduleHide: function $_scheduleHide() {\n var _this6 = this;\n\n var event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n var skipDelay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n clearTimeout(this.$_scheduleTimer);\n\n if (skipDelay) {\n this.$_hide();\n } else {\n // defaults to 0\n var computedDelay = parseInt(this.delay && this.delay.hide || this.delay || 0);\n this.$_scheduleTimer = setTimeout(function () {\n if (!_this6.isOpen) {\n return;\n } // if we are hiding because of a mouseleave, we must check that the new\n // reference isn't the tooltip, because in this case we don't want to hide it\n\n\n if (event && event.type === 'mouseleave') {\n var isSet = _this6.$_setTooltipNodeEvent(event); // if we set the new event, don't hide the tooltip yet\n // the new event will take care to hide it if necessary\n\n\n if (isSet) {\n return;\n }\n }\n\n _this6.$_hide();\n }, computedDelay);\n }\n },\n $_setTooltipNodeEvent: function $_setTooltipNodeEvent(event) {\n var _this7 = this;\n\n var reference = this.$refs.trigger;\n var popoverNode = this.$refs.popover;\n var relatedreference = event.relatedreference || event.toElement || event.relatedTarget;\n\n var callback = function callback(event2) {\n var relatedreference2 = event2.relatedreference || event2.toElement || event2.relatedTarget; // Remove event listener after call\n\n popoverNode.removeEventListener(event.type, callback); // If the new reference is not the reference element\n\n if (!reference.contains(relatedreference2)) {\n // Schedule to hide tooltip\n _this7.hide({\n event: event2\n });\n }\n };\n\n if (popoverNode.contains(relatedreference)) {\n // listen to mouseleave on the tooltip element to be able to hide the tooltip\n popoverNode.addEventListener(event.type, callback);\n return true;\n }\n\n return false;\n },\n $_removeEventListeners: function $_removeEventListeners() {\n var reference = this.$refs.trigger;\n this.$_events.forEach(function (_ref4) {\n var func = _ref4.func,\n event = _ref4.event;\n reference.removeEventListener(event, func);\n });\n this.$_events = [];\n },\n $_updatePopper: function $_updatePopper(cb) {\n if (this.popperInstance) {\n cb();\n if (this.isOpen) this.popperInstance.scheduleUpdate();\n }\n },\n $_restartPopper: function $_restartPopper() {\n if (this.popperInstance) {\n var isOpen = this.isOpen;\n this.dispose();\n this.$_isDisposed = false;\n this.$_init();\n\n if (isOpen) {\n this.show({\n skipDelay: true,\n force: true\n });\n }\n }\n },\n $_handleGlobalClose: function $_handleGlobalClose(event) {\n var _this8 = this;\n\n var touch = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n if (this.$_beingShowed) return;\n this.hide({\n event: event\n });\n\n if (event.closePopover) {\n this.$emit('close-directive');\n } else {\n this.$emit('auto-hide');\n }\n\n if (touch) {\n this.$_preventOpen = true;\n setTimeout(function () {\n _this8.$_preventOpen = false;\n }, 300);\n }\n },\n $_handleResize: function $_handleResize() {\n if (this.isOpen && this.popperInstance) {\n this.popperInstance.scheduleUpdate();\n this.$emit('resize');\n }\n }\n }\n};\n\nif (typeof document !== 'undefined' && typeof window !== 'undefined') {\n if (isIOS) {\n document.addEventListener('touchend', handleGlobalTouchend, supportsPassive ? {\n passive: true,\n capture: true\n } : true);\n } else {\n window.addEventListener('click', handleGlobalClick, true);\n }\n}\n\nfunction handleGlobalClick(event) {\n handleGlobalClose(event);\n}\n\nfunction handleGlobalTouchend(event) {\n handleGlobalClose(event, true);\n}\n\nfunction handleGlobalClose(event) {\n var touch = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var _loop = function _loop(i) {\n var popover = openPopovers[i];\n\n if (popover.$refs.popover) {\n var contains = popover.$refs.popover.contains(event.target);\n requestAnimationFrame(function () {\n if (event.closeAllPopover || event.closePopover && contains || popover.autoHide && !contains) {\n popover.$_handleGlobalClose(event, touch);\n }\n });\n }\n };\n\n // Delay so that close directive has time to set values\n for (var i = 0; i < openPopovers.length; i++) {\n _loop(i);\n }\n}\n\nfunction normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier /* server only */, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {\r\n if (typeof shadowMode !== 'boolean') {\r\n createInjectorSSR = createInjector;\r\n createInjector = shadowMode;\r\n shadowMode = false;\r\n }\r\n // Vue.extend constructor export interop.\r\n const options = typeof script === 'function' ? script.options : script;\r\n // render functions\r\n if (template && template.render) {\r\n options.render = template.render;\r\n options.staticRenderFns = template.staticRenderFns;\r\n options._compiled = true;\r\n // functional template\r\n if (isFunctionalTemplate) {\r\n options.functional = true;\r\n }\r\n }\r\n // scopedId\r\n if (scopeId) {\r\n options._scopeId = scopeId;\r\n }\r\n let hook;\r\n if (moduleIdentifier) {\r\n // server build\r\n hook = function (context) {\r\n // 2.3 injection\r\n context =\r\n context || // cached call\r\n (this.$vnode && this.$vnode.ssrContext) || // stateful\r\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext); // functional\r\n // 2.2 with runInNewContext: true\r\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\r\n context = __VUE_SSR_CONTEXT__;\r\n }\r\n // inject component styles\r\n if (style) {\r\n style.call(this, createInjectorSSR(context));\r\n }\r\n // register component module identifier for async chunk inference\r\n if (context && context._registeredComponents) {\r\n context._registeredComponents.add(moduleIdentifier);\r\n }\r\n };\r\n // used by ssr in case component is cached and beforeCreate\r\n // never gets called\r\n options._ssrRegister = hook;\r\n }\r\n else if (style) {\r\n hook = shadowMode\r\n ? function (context) {\r\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));\r\n }\r\n : function (context) {\r\n style.call(this, createInjector(context));\r\n };\r\n }\r\n if (hook) {\r\n if (options.functional) {\r\n // register for functional component in vue file\r\n const originalRender = options.render;\r\n options.render = function renderWithStyleInjection(h, context) {\r\n hook.call(context);\r\n return originalRender(h, context);\r\n };\r\n }\r\n else {\r\n // inject component registration as beforeCreate hook\r\n const existing = options.beforeCreate;\r\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\r\n }\r\n }\r\n return script;\r\n}\n\n/* script */\nvar __vue_script__ = script;\n/* template */\n\nvar __vue_render__ = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c(\"div\", {\n staticClass: \"v-popover\",\n class: _vm.cssClass\n }, [_c(\"div\", {\n ref: \"trigger\",\n staticClass: \"trigger\",\n staticStyle: {\n display: \"inline-block\"\n },\n attrs: {\n \"aria-describedby\": _vm.isOpen ? _vm.popoverId : undefined,\n tabindex: _vm.trigger.indexOf(\"focus\") !== -1 ? 0 : undefined\n }\n }, [_vm._t(\"default\")], 2), _vm._v(\" \"), _c(\"div\", {\n ref: \"popover\",\n class: [_vm.popoverBaseClass, _vm.popoverClass, _vm.cssClass],\n style: {\n visibility: _vm.isOpen ? \"visible\" : \"hidden\"\n },\n attrs: {\n id: _vm.popoverId,\n \"aria-hidden\": _vm.isOpen ? \"false\" : \"true\",\n tabindex: _vm.autoHide ? 0 : undefined\n },\n on: {\n keyup: function keyup($event) {\n if (!$event.type.indexOf(\"key\") && _vm._k($event.keyCode, \"esc\", 27, $event.key, [\"Esc\", \"Escape\"])) {\n return null;\n }\n\n _vm.autoHide && _vm.hide();\n }\n }\n }, [_c(\"div\", {\n class: _vm.popoverWrapperClass\n }, [_c(\"div\", {\n ref: \"inner\",\n class: _vm.popoverInnerClass,\n staticStyle: {\n position: \"relative\"\n }\n }, [_c(\"div\", [_vm._t(\"popover\", null, {\n isOpen: _vm.isOpen\n })], 2), _vm._v(\" \"), _vm.handleResize ? _c(\"ResizeObserver\", {\n on: {\n notify: _vm.$_handleResize\n }\n }) : _vm._e()], 1), _vm._v(\" \"), _c(\"div\", {\n ref: \"arrow\",\n class: _vm.popoverArrowClass\n })])])]);\n};\n\nvar __vue_staticRenderFns__ = [];\n__vue_render__._withStripped = true;\n/* style */\n\nvar __vue_inject_styles__ = undefined;\n/* scoped */\n\nvar __vue_scope_id__ = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__ = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__ = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__ = /*#__PURE__*/normalizeComponent({\n render: __vue_render__,\n staticRenderFns: __vue_staticRenderFns__\n}, __vue_inject_styles__, __vue_script__, __vue_scope_id__, __vue_is_functional_template__, __vue_module_identifier__, false, undefined, undefined, undefined);\n\nfunction styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nvar css_248z = \".resize-observer[data-v-8859cc6c]{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;border:none;background-color:transparent;pointer-events:none;display:block;overflow:hidden;opacity:0}.resize-observer[data-v-8859cc6c] object{display:block;position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1}\";\nstyleInject(css_248z);\n\nfunction install(Vue) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (install.installed) return;\n install.installed = true;\n var finalOptions = {};\n merge(finalOptions, defaultOptions, options);\n plugin.options = finalOptions;\n directive.options = finalOptions;\n Vue.directive('tooltip', directive);\n Vue.directive('close-popover', vclosepopover);\n Vue.component('VPopover', __vue_component__);\n}\nvar VTooltip = directive;\nvar VClosePopover = vclosepopover;\nvar VPopover = __vue_component__;\nvar plugin = {\n install: install,\n\n get enabled() {\n return state.enabled;\n },\n\n set enabled(value) {\n state.enabled = value;\n }\n\n}; // Auto-install\n\nvar GlobalVue = null;\n\nif (typeof window !== 'undefined') {\n GlobalVue = window.Vue;\n} else if (typeof global !== 'undefined') {\n GlobalVue = global.Vue;\n}\n\nif (GlobalVue) {\n GlobalVue.use(plugin);\n}\n\nexport default plugin;\nexport { VClosePopover, VPopover, VTooltip, createTooltip, destroyTooltip, install };\n","function _classCallCheck(a, n) {\n if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\");\n}\nexport { _classCallCheck as default };","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c(_setup.NcContent,{attrs:{\"app-name\":\"settings\"}},[_c('router-view',{attrs:{\"name\":\"navigation\"}}),_vm._v(\" \"),_c('router-view'),_vm._v(\" \"),_c('router-view',{attrs:{\"name\":\"sidebar\"}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SettingsApp.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SettingsApp.vue?vue&type=script&setup=true&lang=ts\"","import { render, staticRenderFns } from \"./SettingsApp.vue?vue&type=template&id=288003b1\"\nimport script from \"./SettingsApp.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./SettingsApp.vue?vue&type=script&setup=true&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { loadState } from '@nextcloud/initial-state';\nconst appstoreEnabled = loadState('settings', 'appstoreEnabled', true);\n// Dynamic loading\nconst AppStore = () => import(/* webpackChunkName: 'settings-apps-view' */ '../views/AppStore.vue');\nconst AppStoreNavigation = () => import(/* webpackChunkName: 'settings-apps-view' */ '../views/AppStoreNavigation.vue');\nconst AppStoreSidebar = () => import(/* webpackChunkName: 'settings-apps-view' */ '../views/AppStoreSidebar.vue');\nconst UserManagement = () => import(/* webpackChunkName: 'settings-users' */ '../views/UserManagement.vue');\nconst UserManagementNavigation = () => import(/* webpackChunkName: 'settings-users' */ '../views/UserManagementNavigation.vue');\nconst routes = [\n {\n name: 'users',\n path: '/:index(index.php/)?settings/users',\n components: {\n default: UserManagement,\n navigation: UserManagementNavigation,\n },\n props: true,\n children: [\n {\n path: ':selectedGroup',\n name: 'group',\n },\n ],\n },\n {\n path: '/:index(index.php/)?settings/apps',\n name: 'apps',\n redirect: {\n name: 'apps-category',\n params: {\n category: appstoreEnabled ? 'discover' : 'installed',\n },\n },\n components: {\n default: AppStore,\n navigation: AppStoreNavigation,\n sidebar: AppStoreSidebar,\n },\n children: [\n {\n path: ':category',\n name: 'apps-category',\n children: [\n {\n path: ':id',\n name: 'apps-details',\n },\n ],\n },\n ],\n },\n];\nexport default routes;\n","/**\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { generateUrl } from '@nextcloud/router';\nimport Vue from 'vue';\nimport Router from 'vue-router';\nimport routes from './routes.ts';\nVue.use(Router);\nconst router = new Router({\n mode: 'history',\n // if index.php is in the url AND we got this far, then it's working:\n // let's keep using index.php in the url\n base: generateUrl(''),\n linkActiveClass: 'active',\n routes,\n});\nexport default router;\n","/**\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { getCSPNonce } from '@nextcloud/auth';\nimport { n, t } from '@nextcloud/l10n';\nimport { createPinia, PiniaVuePlugin } from 'pinia';\nimport VTooltipPlugin from 'v-tooltip';\nimport Vue from 'vue';\nimport Vuex from 'vuex';\nimport { sync } from 'vuex-router-sync';\nimport SettingsApp from './views/SettingsApp.vue';\nimport router from './router/index.ts';\nimport { useStore } from './store/index.js';\n// CSP config for webpack dynamic chunk loading\n__webpack_nonce__ = getCSPNonce();\n// bind to window\nVue.prototype.t = t;\nVue.prototype.n = n;\nVue.use(PiniaVuePlugin);\nVue.use(VTooltipPlugin, { defaultHtml: false });\nVue.use(Vuex);\nconst store = useStore();\nsync(store, router);\nconst pinia = createPinia();\nexport default new Vue({\n router,\n store,\n pinia,\n render: (h) => h(SettingsApp),\n el: '#content',\n});\n","import { l as logger, F as FileType } from \"./chunks/folder-QTYeAiOH.mjs\";\nimport { a, b, N, c, P } from \"./chunks/folder-QTYeAiOH.mjs\";\nimport { TypedEventTarget } from \"typescript-event-target\";\nimport require$$1 from \"string_decoder\";\nimport { getCapabilities } from \"@nextcloud/capabilities\";\nimport { extname, basename } from \"path\";\nimport { getCanonicalLocale, getLanguage } from \"@nextcloud/l10n\";\nvar DefaultType = /* @__PURE__ */ ((DefaultType2) => {\n DefaultType2[\"DEFAULT\"] = \"default\";\n DefaultType2[\"HIDDEN\"] = \"hidden\";\n return DefaultType2;\n})(DefaultType || {});\nclass FileAction {\n _action;\n constructor(action) {\n this.validateAction(action);\n this._action = action;\n }\n get id() {\n return this._action.id;\n }\n get displayName() {\n return this._action.displayName;\n }\n get title() {\n return this._action.title;\n }\n get iconSvgInline() {\n return this._action.iconSvgInline;\n }\n get enabled() {\n return this._action.enabled;\n }\n get exec() {\n return this._action.exec;\n }\n get execBatch() {\n return this._action.execBatch;\n }\n get hotkey() {\n return this._action.hotkey;\n }\n get order() {\n return this._action.order;\n }\n get parent() {\n return this._action.parent;\n }\n get default() {\n return this._action.default;\n }\n get destructive() {\n return this._action.destructive;\n }\n get inline() {\n return this._action.inline;\n }\n get renderInline() {\n return this._action.renderInline;\n }\n validateAction(action) {\n if (!action.id || typeof action.id !== \"string\") {\n throw new Error(\"Invalid id\");\n }\n if (!action.displayName || typeof action.displayName !== \"function\") {\n throw new Error(\"Invalid displayName function\");\n }\n if (\"title\" in action && typeof action.title !== \"function\") {\n throw new Error(\"Invalid title function\");\n }\n if (!action.iconSvgInline || typeof action.iconSvgInline !== \"function\") {\n throw new Error(\"Invalid iconSvgInline function\");\n }\n if (!action.exec || typeof action.exec !== \"function\") {\n throw new Error(\"Invalid exec function\");\n }\n if (\"enabled\" in action && typeof action.enabled !== \"function\") {\n throw new Error(\"Invalid enabled function\");\n }\n if (\"execBatch\" in action && typeof action.execBatch !== \"function\") {\n throw new Error(\"Invalid execBatch function\");\n }\n if (\"order\" in action && typeof action.order !== \"number\") {\n throw new Error(\"Invalid order\");\n }\n if (action.destructive !== void 0 && typeof action.destructive !== \"boolean\") {\n throw new Error(\"Invalid destructive flag\");\n }\n if (\"parent\" in action && typeof action.parent !== \"string\") {\n throw new Error(\"Invalid parent\");\n }\n if (action.default && !Object.values(DefaultType).includes(action.default)) {\n throw new Error(\"Invalid default\");\n }\n if (\"inline\" in action && typeof action.inline !== \"function\") {\n throw new Error(\"Invalid inline function\");\n }\n if (\"renderInline\" in action && typeof action.renderInline !== \"function\") {\n throw new Error(\"Invalid renderInline function\");\n }\n if (\"hotkey\" in action && action.hotkey !== void 0) {\n if (typeof action.hotkey !== \"object\") {\n throw new Error(\"Invalid hotkey configuration\");\n }\n if (typeof action.hotkey.key !== \"string\" || !action.hotkey.key) {\n throw new Error(\"Missing or invalid hotkey key\");\n }\n if (typeof action.hotkey.description !== \"string\" || !action.hotkey.description) {\n throw new Error(\"Missing or invalid hotkey description\");\n }\n }\n }\n}\nconst registerFileAction = function(action) {\n if (typeof window._nc_fileactions === \"undefined\") {\n window._nc_fileactions = [];\n logger.debug(\"FileActions initialized\");\n }\n if (window._nc_fileactions.find((search) => search.id === action.id)) {\n logger.error(`FileAction ${action.id} already registered`, { action });\n return;\n }\n window._nc_fileactions.push(action);\n};\nconst getFileActions = function() {\n if (typeof window._nc_fileactions === \"undefined\") {\n window._nc_fileactions = [];\n logger.debug(\"FileActions initialized\");\n }\n return window._nc_fileactions;\n};\nclass FileListAction {\n _action;\n constructor(action) {\n this.validateAction(action);\n this._action = action;\n }\n get id() {\n return this._action.id;\n }\n get displayName() {\n return this._action.displayName;\n }\n get iconSvgInline() {\n return this._action.iconSvgInline;\n }\n get order() {\n return this._action.order;\n }\n get enabled() {\n return this._action.enabled;\n }\n get exec() {\n return this._action.exec;\n }\n validateAction(action) {\n if (!action.id || typeof action.id !== \"string\") {\n throw new Error(\"Invalid id\");\n }\n if (!action.displayName || typeof action.displayName !== \"function\") {\n throw new Error(\"Invalid displayName function\");\n }\n if (\"iconSvgInline\" in action && typeof action.iconSvgInline !== \"function\") {\n throw new Error(\"Invalid iconSvgInline function\");\n }\n if (\"order\" in action && typeof action.order !== \"number\") {\n throw new Error(\"Invalid order\");\n }\n if (\"enabled\" in action && typeof action.enabled !== \"function\") {\n throw new Error(\"Invalid enabled function\");\n }\n if (!action.exec || typeof action.exec !== \"function\") {\n throw new Error(\"Invalid exec function\");\n }\n }\n}\nconst registerFileListAction = (action) => {\n if (typeof window._nc_filelistactions === \"undefined\") {\n window._nc_filelistactions = [];\n }\n if (window._nc_filelistactions.find((listAction) => listAction.id === action.id)) {\n logger.error(`FileListAction with id \"${action.id}\" is already registered`, { action });\n return;\n }\n window._nc_filelistactions.push(action);\n};\nconst getFileListActions = () => {\n if (typeof window._nc_filelistactions === \"undefined\") {\n window._nc_filelistactions = [];\n }\n return window._nc_filelistactions;\n};\nfunction getDefaultExportFromCjs(x) {\n return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, \"default\") ? x[\"default\"] : x;\n}\nvar debug_1;\nvar hasRequiredDebug;\nfunction requireDebug() {\n if (hasRequiredDebug) return debug_1;\n hasRequiredDebug = 1;\n const debug = typeof process === \"object\" && process.env && process.env.NODE_DEBUG && /\\bsemver\\b/i.test(process.env.NODE_DEBUG) ? (...args) => console.error(\"SEMVER\", ...args) : () => {\n };\n debug_1 = debug;\n return debug_1;\n}\nvar constants;\nvar hasRequiredConstants;\nfunction requireConstants() {\n if (hasRequiredConstants) return constants;\n hasRequiredConstants = 1;\n const SEMVER_SPEC_VERSION = \"2.0.0\";\n const MAX_LENGTH = 256;\n const MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || /* istanbul ignore next */\n 9007199254740991;\n const MAX_SAFE_COMPONENT_LENGTH = 16;\n const MAX_SAFE_BUILD_LENGTH = MAX_LENGTH - 6;\n const RELEASE_TYPES = [\n \"major\",\n \"premajor\",\n \"minor\",\n \"preminor\",\n \"patch\",\n \"prepatch\",\n \"prerelease\"\n ];\n constants = {\n MAX_LENGTH,\n MAX_SAFE_COMPONENT_LENGTH,\n MAX_SAFE_BUILD_LENGTH,\n MAX_SAFE_INTEGER,\n RELEASE_TYPES,\n SEMVER_SPEC_VERSION,\n FLAG_INCLUDE_PRERELEASE: 1,\n FLAG_LOOSE: 2\n };\n return constants;\n}\nvar re = { exports: {} };\nvar hasRequiredRe;\nfunction requireRe() {\n if (hasRequiredRe) return re.exports;\n hasRequiredRe = 1;\n (function(module, exports) {\n const {\n MAX_SAFE_COMPONENT_LENGTH,\n MAX_SAFE_BUILD_LENGTH,\n MAX_LENGTH\n } = requireConstants();\n const debug = requireDebug();\n exports = module.exports = {};\n const re2 = exports.re = [];\n const safeRe = exports.safeRe = [];\n const src = exports.src = [];\n const safeSrc = exports.safeSrc = [];\n const t = exports.t = {};\n let R = 0;\n const LETTERDASHNUMBER = \"[a-zA-Z0-9-]\";\n const safeRegexReplacements = [\n [\"\\\\s\", 1],\n [\"\\\\d\", MAX_LENGTH],\n [LETTERDASHNUMBER, MAX_SAFE_BUILD_LENGTH]\n ];\n const makeSafeRegex = (value) => {\n for (const [token, max] of safeRegexReplacements) {\n value = value.split(`${token}*`).join(`${token}{0,${max}}`).split(`${token}+`).join(`${token}{1,${max}}`);\n }\n return value;\n };\n const createToken = (name, value, isGlobal) => {\n const safe = makeSafeRegex(value);\n const index = R++;\n debug(name, index, value);\n t[name] = index;\n src[index] = value;\n safeSrc[index] = safe;\n re2[index] = new RegExp(value, isGlobal ? \"g\" : void 0);\n safeRe[index] = new RegExp(safe, isGlobal ? \"g\" : void 0);\n };\n createToken(\"NUMERICIDENTIFIER\", \"0|[1-9]\\\\d*\");\n createToken(\"NUMERICIDENTIFIERLOOSE\", \"\\\\d+\");\n createToken(\"NONNUMERICIDENTIFIER\", `\\\\d*[a-zA-Z-]${LETTERDASHNUMBER}*`);\n createToken(\"MAINVERSION\", `(${src[t.NUMERICIDENTIFIER]})\\\\.(${src[t.NUMERICIDENTIFIER]})\\\\.(${src[t.NUMERICIDENTIFIER]})`);\n createToken(\"MAINVERSIONLOOSE\", `(${src[t.NUMERICIDENTIFIERLOOSE]})\\\\.(${src[t.NUMERICIDENTIFIERLOOSE]})\\\\.(${src[t.NUMERICIDENTIFIERLOOSE]})`);\n createToken(\"PRERELEASEIDENTIFIER\", `(?:${src[t.NONNUMERICIDENTIFIER]}|${src[t.NUMERICIDENTIFIER]})`);\n createToken(\"PRERELEASEIDENTIFIERLOOSE\", `(?:${src[t.NONNUMERICIDENTIFIER]}|${src[t.NUMERICIDENTIFIERLOOSE]})`);\n createToken(\"PRERELEASE\", `(?:-(${src[t.PRERELEASEIDENTIFIER]}(?:\\\\.${src[t.PRERELEASEIDENTIFIER]})*))`);\n createToken(\"PRERELEASELOOSE\", `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]}(?:\\\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`);\n createToken(\"BUILDIDENTIFIER\", `${LETTERDASHNUMBER}+`);\n createToken(\"BUILD\", `(?:\\\\+(${src[t.BUILDIDENTIFIER]}(?:\\\\.${src[t.BUILDIDENTIFIER]})*))`);\n createToken(\"FULLPLAIN\", `v?${src[t.MAINVERSION]}${src[t.PRERELEASE]}?${src[t.BUILD]}?`);\n createToken(\"FULL\", `^${src[t.FULLPLAIN]}$`);\n createToken(\"LOOSEPLAIN\", `[v=\\\\s]*${src[t.MAINVERSIONLOOSE]}${src[t.PRERELEASELOOSE]}?${src[t.BUILD]}?`);\n createToken(\"LOOSE\", `^${src[t.LOOSEPLAIN]}$`);\n createToken(\"GTLT\", \"((?:<|>)?=?)\");\n createToken(\"XRANGEIDENTIFIERLOOSE\", `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\\\*`);\n createToken(\"XRANGEIDENTIFIER\", `${src[t.NUMERICIDENTIFIER]}|x|X|\\\\*`);\n createToken(\"XRANGEPLAIN\", `[v=\\\\s]*(${src[t.XRANGEIDENTIFIER]})(?:\\\\.(${src[t.XRANGEIDENTIFIER]})(?:\\\\.(${src[t.XRANGEIDENTIFIER]})(?:${src[t.PRERELEASE]})?${src[t.BUILD]}?)?)?`);\n createToken(\"XRANGEPLAINLOOSE\", `[v=\\\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})(?:\\\\.(${src[t.XRANGEIDENTIFIERLOOSE]})(?:\\\\.(${src[t.XRANGEIDENTIFIERLOOSE]})(?:${src[t.PRERELEASELOOSE]})?${src[t.BUILD]}?)?)?`);\n createToken(\"XRANGE\", `^${src[t.GTLT]}\\\\s*${src[t.XRANGEPLAIN]}$`);\n createToken(\"XRANGELOOSE\", `^${src[t.GTLT]}\\\\s*${src[t.XRANGEPLAINLOOSE]}$`);\n createToken(\"COERCEPLAIN\", `${\"(^|[^\\\\d])(\\\\d{1,\"}${MAX_SAFE_COMPONENT_LENGTH}})(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?`);\n createToken(\"COERCE\", `${src[t.COERCEPLAIN]}(?:$|[^\\\\d])`);\n createToken(\"COERCEFULL\", src[t.COERCEPLAIN] + `(?:${src[t.PRERELEASE]})?(?:${src[t.BUILD]})?(?:$|[^\\\\d])`);\n createToken(\"COERCERTL\", src[t.COERCE], true);\n createToken(\"COERCERTLFULL\", src[t.COERCEFULL], true);\n createToken(\"LONETILDE\", \"(?:~>?)\");\n createToken(\"TILDETRIM\", `(\\\\s*)${src[t.LONETILDE]}\\\\s+`, true);\n exports.tildeTrimReplace = \"$1~\";\n createToken(\"TILDE\", `^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`);\n createToken(\"TILDELOOSE\", `^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`);\n createToken(\"LONECARET\", \"(?:\\\\^)\");\n createToken(\"CARETTRIM\", `(\\\\s*)${src[t.LONECARET]}\\\\s+`, true);\n exports.caretTrimReplace = \"$1^\";\n createToken(\"CARET\", `^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`);\n createToken(\"CARETLOOSE\", `^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`);\n createToken(\"COMPARATORLOOSE\", `^${src[t.GTLT]}\\\\s*(${src[t.LOOSEPLAIN]})$|^$`);\n createToken(\"COMPARATOR\", `^${src[t.GTLT]}\\\\s*(${src[t.FULLPLAIN]})$|^$`);\n createToken(\"COMPARATORTRIM\", `(\\\\s*)${src[t.GTLT]}\\\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`, true);\n exports.comparatorTrimReplace = \"$1$2$3\";\n createToken(\"HYPHENRANGE\", `^\\\\s*(${src[t.XRANGEPLAIN]})\\\\s+-\\\\s+(${src[t.XRANGEPLAIN]})\\\\s*$`);\n createToken(\"HYPHENRANGELOOSE\", `^\\\\s*(${src[t.XRANGEPLAINLOOSE]})\\\\s+-\\\\s+(${src[t.XRANGEPLAINLOOSE]})\\\\s*$`);\n createToken(\"STAR\", \"(<|>)?=?\\\\s*\\\\*\");\n createToken(\"GTE0\", \"^\\\\s*>=\\\\s*0\\\\.0\\\\.0\\\\s*$\");\n createToken(\"GTE0PRE\", \"^\\\\s*>=\\\\s*0\\\\.0\\\\.0-0\\\\s*$\");\n })(re, re.exports);\n return re.exports;\n}\nvar parseOptions_1;\nvar hasRequiredParseOptions;\nfunction requireParseOptions() {\n if (hasRequiredParseOptions) return parseOptions_1;\n hasRequiredParseOptions = 1;\n const looseOption = Object.freeze({ loose: true });\n const emptyOpts = Object.freeze({});\n const parseOptions = (options) => {\n if (!options) {\n return emptyOpts;\n }\n if (typeof options !== \"object\") {\n return looseOption;\n }\n return options;\n };\n parseOptions_1 = parseOptions;\n return parseOptions_1;\n}\nvar identifiers;\nvar hasRequiredIdentifiers;\nfunction requireIdentifiers() {\n if (hasRequiredIdentifiers) return identifiers;\n hasRequiredIdentifiers = 1;\n const numeric = /^[0-9]+$/;\n const compareIdentifiers = (a2, b2) => {\n if (typeof a2 === \"number\" && typeof b2 === \"number\") {\n return a2 === b2 ? 0 : a2 < b2 ? -1 : 1;\n }\n const anum = numeric.test(a2);\n const bnum = numeric.test(b2);\n if (anum && bnum) {\n a2 = +a2;\n b2 = +b2;\n }\n return a2 === b2 ? 0 : anum && !bnum ? -1 : bnum && !anum ? 1 : a2 < b2 ? -1 : 1;\n };\n const rcompareIdentifiers = (a2, b2) => compareIdentifiers(b2, a2);\n identifiers = {\n compareIdentifiers,\n rcompareIdentifiers\n };\n return identifiers;\n}\nvar semver;\nvar hasRequiredSemver;\nfunction requireSemver() {\n if (hasRequiredSemver) return semver;\n hasRequiredSemver = 1;\n const debug = requireDebug();\n const { MAX_LENGTH, MAX_SAFE_INTEGER } = requireConstants();\n const { safeRe: re2, t } = requireRe();\n const parseOptions = requireParseOptions();\n const { compareIdentifiers } = requireIdentifiers();\n class SemVer {\n constructor(version, options) {\n options = parseOptions(options);\n if (version instanceof SemVer) {\n if (version.loose === !!options.loose && version.includePrerelease === !!options.includePrerelease) {\n return version;\n } else {\n version = version.version;\n }\n } else if (typeof version !== \"string\") {\n throw new TypeError(`Invalid version. Must be a string. Got type \"${typeof version}\".`);\n }\n if (version.length > MAX_LENGTH) {\n throw new TypeError(\n `version is longer than ${MAX_LENGTH} characters`\n );\n }\n debug(\"SemVer\", version, options);\n this.options = options;\n this.loose = !!options.loose;\n this.includePrerelease = !!options.includePrerelease;\n const m = version.trim().match(options.loose ? re2[t.LOOSE] : re2[t.FULL]);\n if (!m) {\n throw new TypeError(`Invalid Version: ${version}`);\n }\n this.raw = version;\n this.major = +m[1];\n this.minor = +m[2];\n this.patch = +m[3];\n if (this.major > MAX_SAFE_INTEGER || this.major < 0) {\n throw new TypeError(\"Invalid major version\");\n }\n if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {\n throw new TypeError(\"Invalid minor version\");\n }\n if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {\n throw new TypeError(\"Invalid patch version\");\n }\n if (!m[4]) {\n this.prerelease = [];\n } else {\n this.prerelease = m[4].split(\".\").map((id) => {\n if (/^[0-9]+$/.test(id)) {\n const num = +id;\n if (num >= 0 && num < MAX_SAFE_INTEGER) {\n return num;\n }\n }\n return id;\n });\n }\n this.build = m[5] ? m[5].split(\".\") : [];\n this.format();\n }\n format() {\n this.version = `${this.major}.${this.minor}.${this.patch}`;\n if (this.prerelease.length) {\n this.version += `-${this.prerelease.join(\".\")}`;\n }\n return this.version;\n }\n toString() {\n return this.version;\n }\n compare(other) {\n debug(\"SemVer.compare\", this.version, this.options, other);\n if (!(other instanceof SemVer)) {\n if (typeof other === \"string\" && other === this.version) {\n return 0;\n }\n other = new SemVer(other, this.options);\n }\n if (other.version === this.version) {\n return 0;\n }\n return this.compareMain(other) || this.comparePre(other);\n }\n compareMain(other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options);\n }\n if (this.major < other.major) {\n return -1;\n }\n if (this.major > other.major) {\n return 1;\n }\n if (this.minor < other.minor) {\n return -1;\n }\n if (this.minor > other.minor) {\n return 1;\n }\n if (this.patch < other.patch) {\n return -1;\n }\n if (this.patch > other.patch) {\n return 1;\n }\n return 0;\n }\n comparePre(other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options);\n }\n if (this.prerelease.length && !other.prerelease.length) {\n return -1;\n } else if (!this.prerelease.length && other.prerelease.length) {\n return 1;\n } else if (!this.prerelease.length && !other.prerelease.length) {\n return 0;\n }\n let i = 0;\n do {\n const a2 = this.prerelease[i];\n const b2 = other.prerelease[i];\n debug(\"prerelease compare\", i, a2, b2);\n if (a2 === void 0 && b2 === void 0) {\n return 0;\n } else if (b2 === void 0) {\n return 1;\n } else if (a2 === void 0) {\n return -1;\n } else if (a2 === b2) {\n continue;\n } else {\n return compareIdentifiers(a2, b2);\n }\n } while (++i);\n }\n compareBuild(other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options);\n }\n let i = 0;\n do {\n const a2 = this.build[i];\n const b2 = other.build[i];\n debug(\"build compare\", i, a2, b2);\n if (a2 === void 0 && b2 === void 0) {\n return 0;\n } else if (b2 === void 0) {\n return 1;\n } else if (a2 === void 0) {\n return -1;\n } else if (a2 === b2) {\n continue;\n } else {\n return compareIdentifiers(a2, b2);\n }\n } while (++i);\n }\n // preminor will bump the version up to the next minor release, and immediately\n // down to pre-release. premajor and prepatch work the same way.\n inc(release, identifier, identifierBase) {\n if (release.startsWith(\"pre\")) {\n if (!identifier && identifierBase === false) {\n throw new Error(\"invalid increment argument: identifier is empty\");\n }\n if (identifier) {\n const match = `-${identifier}`.match(this.options.loose ? re2[t.PRERELEASELOOSE] : re2[t.PRERELEASE]);\n if (!match || match[1] !== identifier) {\n throw new Error(`invalid identifier: ${identifier}`);\n }\n }\n }\n switch (release) {\n case \"premajor\":\n this.prerelease.length = 0;\n this.patch = 0;\n this.minor = 0;\n this.major++;\n this.inc(\"pre\", identifier, identifierBase);\n break;\n case \"preminor\":\n this.prerelease.length = 0;\n this.patch = 0;\n this.minor++;\n this.inc(\"pre\", identifier, identifierBase);\n break;\n case \"prepatch\":\n this.prerelease.length = 0;\n this.inc(\"patch\", identifier, identifierBase);\n this.inc(\"pre\", identifier, identifierBase);\n break;\n // If the input is a non-prerelease version, this acts the same as\n // prepatch.\n case \"prerelease\":\n if (this.prerelease.length === 0) {\n this.inc(\"patch\", identifier, identifierBase);\n }\n this.inc(\"pre\", identifier, identifierBase);\n break;\n case \"release\":\n if (this.prerelease.length === 0) {\n throw new Error(`version ${this.raw} is not a prerelease`);\n }\n this.prerelease.length = 0;\n break;\n case \"major\":\n if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) {\n this.major++;\n }\n this.minor = 0;\n this.patch = 0;\n this.prerelease = [];\n break;\n case \"minor\":\n if (this.patch !== 0 || this.prerelease.length === 0) {\n this.minor++;\n }\n this.patch = 0;\n this.prerelease = [];\n break;\n case \"patch\":\n if (this.prerelease.length === 0) {\n this.patch++;\n }\n this.prerelease = [];\n break;\n // This probably shouldn't be used publicly.\n // 1.0.0 'pre' would become 1.0.0-0 which is the wrong direction.\n case \"pre\": {\n const base = Number(identifierBase) ? 1 : 0;\n if (this.prerelease.length === 0) {\n this.prerelease = [base];\n } else {\n let i = this.prerelease.length;\n while (--i >= 0) {\n if (typeof this.prerelease[i] === \"number\") {\n this.prerelease[i]++;\n i = -2;\n }\n }\n if (i === -1) {\n if (identifier === this.prerelease.join(\".\") && identifierBase === false) {\n throw new Error(\"invalid increment argument: identifier already exists\");\n }\n this.prerelease.push(base);\n }\n }\n if (identifier) {\n let prerelease = [identifier, base];\n if (identifierBase === false) {\n prerelease = [identifier];\n }\n if (compareIdentifiers(this.prerelease[0], identifier) === 0) {\n if (isNaN(this.prerelease[1])) {\n this.prerelease = prerelease;\n }\n } else {\n this.prerelease = prerelease;\n }\n }\n break;\n }\n default:\n throw new Error(`invalid increment argument: ${release}`);\n }\n this.raw = this.format();\n if (this.build.length) {\n this.raw += `+${this.build.join(\".\")}`;\n }\n return this;\n }\n }\n semver = SemVer;\n return semver;\n}\nvar major_1;\nvar hasRequiredMajor;\nfunction requireMajor() {\n if (hasRequiredMajor) return major_1;\n hasRequiredMajor = 1;\n const SemVer = requireSemver();\n const major2 = (a2, loose) => new SemVer(a2, loose).major;\n major_1 = major2;\n return major_1;\n}\nvar majorExports = requireMajor();\nconst major = /* @__PURE__ */ getDefaultExportFromCjs(majorExports);\nvar parse_1;\nvar hasRequiredParse;\nfunction requireParse() {\n if (hasRequiredParse) return parse_1;\n hasRequiredParse = 1;\n const SemVer = requireSemver();\n const parse = (version, options, throwErrors = false) => {\n if (version instanceof SemVer) {\n return version;\n }\n try {\n return new SemVer(version, options);\n } catch (er) {\n if (!throwErrors) {\n return null;\n }\n throw er;\n }\n };\n parse_1 = parse;\n return parse_1;\n}\nvar valid_1;\nvar hasRequiredValid;\nfunction requireValid() {\n if (hasRequiredValid) return valid_1;\n hasRequiredValid = 1;\n const parse = requireParse();\n const valid2 = (version, options) => {\n const v = parse(version, options);\n return v ? v.version : null;\n };\n valid_1 = valid2;\n return valid_1;\n}\nvar validExports = requireValid();\nconst valid = /* @__PURE__ */ getDefaultExportFromCjs(validExports);\n/*!\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: GPL-3.0-or-later\n */\nclass ProxyBus {\n bus;\n constructor(bus2) {\n if (typeof bus2.getVersion !== \"function\" || !valid(bus2.getVersion())) {\n console.warn(\"Proxying an event bus with an unknown or invalid version\");\n } else if (major(bus2.getVersion()) !== major(this.getVersion())) {\n console.warn(\n \"Proxying an event bus of version \" + bus2.getVersion() + \" with \" + this.getVersion()\n );\n }\n this.bus = bus2;\n }\n getVersion() {\n return \"3.3.3\";\n }\n subscribe(name, handler) {\n this.bus.subscribe(name, handler);\n }\n unsubscribe(name, handler) {\n this.bus.unsubscribe(name, handler);\n }\n emit(name, ...event) {\n this.bus.emit(name, ...event);\n }\n}\n/*!\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: GPL-3.0-or-later\n */\nclass SimpleBus {\n handlers = /* @__PURE__ */ new Map();\n getVersion() {\n return \"3.3.3\";\n }\n subscribe(name, handler) {\n this.handlers.set(\n name,\n (this.handlers.get(name) || []).concat(\n handler\n )\n );\n }\n unsubscribe(name, handler) {\n this.handlers.set(\n name,\n (this.handlers.get(name) || []).filter((h) => h !== handler)\n );\n }\n emit(name, ...event) {\n const handlers = this.handlers.get(name) || [];\n handlers.forEach((h) => {\n try {\n ;\n h(event[0]);\n } catch (e) {\n console.error(\"could not invoke event listener\", e);\n }\n });\n }\n}\n/*!\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: GPL-3.0-or-later\n */\nlet bus = null;\nfunction getBus() {\n if (bus !== null) {\n return bus;\n }\n if (typeof window === \"undefined\") {\n return new Proxy({}, {\n get: () => {\n return () => console.error(\n \"Window not available, EventBus can not be established!\"\n );\n }\n });\n }\n if (window.OC?._eventBus && typeof window._nc_event_bus === \"undefined\") {\n console.warn(\n \"found old event bus instance at OC._eventBus. Update your version!\"\n );\n window._nc_event_bus = window.OC._eventBus;\n }\n if (typeof window?._nc_event_bus !== \"undefined\") {\n bus = new ProxyBus(window._nc_event_bus);\n } else {\n bus = window._nc_event_bus = new SimpleBus();\n }\n return bus;\n}\nfunction emit(name, ...event) {\n getBus().emit(name, ...event);\n}\n/*!\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nclass FileListFilter extends TypedEventTarget {\n id;\n order;\n constructor(id, order = 100) {\n super();\n this.id = id;\n this.order = order;\n }\n filter(nodes) {\n throw new Error(\"Not implemented\");\n }\n updateChips(chips) {\n this.dispatchTypedEvent(\"update:chips\", new CustomEvent(\"update:chips\", { detail: chips }));\n }\n filterUpdated() {\n this.dispatchTypedEvent(\"update:filter\", new CustomEvent(\"update:filter\"));\n }\n}\nfunction registerFileListFilter(filter) {\n if (!window._nc_filelist_filters) {\n window._nc_filelist_filters = /* @__PURE__ */ new Map();\n }\n if (window._nc_filelist_filters.has(filter.id)) {\n throw new Error(`File list filter \"${filter.id}\" already registered`);\n }\n window._nc_filelist_filters.set(filter.id, filter);\n emit(\"files:filter:added\", filter);\n}\nfunction unregisterFileListFilter(filterId) {\n if (window._nc_filelist_filters && window._nc_filelist_filters.has(filterId)) {\n window._nc_filelist_filters.delete(filterId);\n emit(\"files:filter:removed\", filterId);\n }\n}\nfunction getFileListFilters() {\n if (!window._nc_filelist_filters) {\n return [];\n }\n return [...window._nc_filelist_filters.values()];\n}\nclass Header {\n _header;\n constructor(header) {\n this.validateHeader(header);\n this._header = header;\n }\n get id() {\n return this._header.id;\n }\n get order() {\n return this._header.order;\n }\n get enabled() {\n return this._header.enabled;\n }\n get render() {\n return this._header.render;\n }\n get updated() {\n return this._header.updated;\n }\n validateHeader(header) {\n if (!header.id || !header.render || !header.updated) {\n throw new Error(\"Invalid header: id, render and updated are required\");\n }\n if (typeof header.id !== \"string\") {\n throw new Error(\"Invalid id property\");\n }\n if (header.enabled !== void 0 && typeof header.enabled !== \"function\") {\n throw new Error(\"Invalid enabled property\");\n }\n if (header.render && typeof header.render !== \"function\") {\n throw new Error(\"Invalid render property\");\n }\n if (header.updated && typeof header.updated !== \"function\") {\n throw new Error(\"Invalid updated property\");\n }\n }\n}\nconst registerFileListHeaders = function(header) {\n if (typeof window._nc_filelistheader === \"undefined\") {\n window._nc_filelistheader = [];\n logger.debug(\"FileListHeaders initialized\");\n }\n if (window._nc_filelistheader.find((search) => search.id === header.id)) {\n logger.error(`Header ${header.id} already registered`, { header });\n return;\n }\n window._nc_filelistheader.push(header);\n};\nconst getFileListHeaders = function() {\n if (typeof window._nc_filelistheader === \"undefined\") {\n window._nc_filelistheader = [];\n logger.debug(\"FileListHeaders initialized\");\n }\n return window._nc_filelistheader;\n};\nclass Navigation extends TypedEventTarget {\n _views = [];\n _currentView = null;\n /**\n * Register a new view on the navigation\n * @param view The view to register\n * @throws `Error` is thrown if a view with the same id is already registered\n */\n register(view) {\n if (this._views.find((search) => search.id === view.id)) {\n throw new Error(`View id ${view.id} is already registered`);\n }\n this._views.push(view);\n this.dispatchTypedEvent(\"update\", new CustomEvent(\"update\"));\n }\n /**\n * Remove a registered view\n * @param id The id of the view to remove\n */\n remove(id) {\n const index = this._views.findIndex((view) => view.id === id);\n if (index !== -1) {\n this._views.splice(index, 1);\n this.dispatchTypedEvent(\"update\", new CustomEvent(\"update\"));\n }\n }\n /**\n * Set the currently active view\n * @fires UpdateActiveViewEvent\n * @param view New active view\n */\n setActive(view) {\n this._currentView = view;\n const event = new CustomEvent(\"updateActive\", { detail: view });\n this.dispatchTypedEvent(\"updateActive\", event);\n }\n /**\n * The currently active files view\n */\n get active() {\n return this._currentView;\n }\n /**\n * All registered views\n */\n get views() {\n return this._views;\n }\n}\nconst getNavigation = function() {\n if (typeof window._nc_navigation === \"undefined\") {\n window._nc_navigation = new Navigation();\n logger.debug(\"Navigation service initialized\");\n }\n return window._nc_navigation;\n};\nclass Column {\n _column;\n constructor(column) {\n isValidColumn(column);\n this._column = column;\n }\n get id() {\n return this._column.id;\n }\n get title() {\n return this._column.title;\n }\n get render() {\n return this._column.render;\n }\n get sort() {\n return this._column.sort;\n }\n get summary() {\n return this._column.summary;\n }\n}\nconst isValidColumn = function(column) {\n if (!column.id || typeof column.id !== \"string\") {\n throw new Error(\"A column id is required\");\n }\n if (!column.title || typeof column.title !== \"string\") {\n throw new Error(\"A column title is required\");\n }\n if (!column.render || typeof column.render !== \"function\") {\n throw new Error(\"A render function is required\");\n }\n if (column.sort && typeof column.sort !== \"function\") {\n throw new Error(\"Column sortFunction must be a function\");\n }\n if (column.summary && typeof column.summary !== \"function\") {\n throw new Error(\"Column summary must be a function\");\n }\n return true;\n};\nvar sax$1 = {};\nvar hasRequiredSax;\nfunction requireSax() {\n if (hasRequiredSax) return sax$1;\n hasRequiredSax = 1;\n (function(exports) {\n (function(sax2) {\n sax2.parser = function(strict, opt) {\n return new SAXParser(strict, opt);\n };\n sax2.SAXParser = SAXParser;\n sax2.SAXStream = SAXStream;\n sax2.createStream = createStream;\n sax2.MAX_BUFFER_LENGTH = 64 * 1024;\n var buffers = [\n \"comment\",\n \"sgmlDecl\",\n \"textNode\",\n \"tagName\",\n \"doctype\",\n \"procInstName\",\n \"procInstBody\",\n \"entity\",\n \"attribName\",\n \"attribValue\",\n \"cdata\",\n \"script\"\n ];\n sax2.EVENTS = [\n \"text\",\n \"processinginstruction\",\n \"sgmldeclaration\",\n \"doctype\",\n \"comment\",\n \"opentagstart\",\n \"attribute\",\n \"opentag\",\n \"closetag\",\n \"opencdata\",\n \"cdata\",\n \"closecdata\",\n \"error\",\n \"end\",\n \"ready\",\n \"script\",\n \"opennamespace\",\n \"closenamespace\"\n ];\n function SAXParser(strict, opt) {\n if (!(this instanceof SAXParser)) {\n return new SAXParser(strict, opt);\n }\n var parser = this;\n clearBuffers(parser);\n parser.q = parser.c = \"\";\n parser.bufferCheckPosition = sax2.MAX_BUFFER_LENGTH;\n parser.opt = opt || {};\n parser.opt.lowercase = parser.opt.lowercase || parser.opt.lowercasetags;\n parser.looseCase = parser.opt.lowercase ? \"toLowerCase\" : \"toUpperCase\";\n parser.tags = [];\n parser.closed = parser.closedRoot = parser.sawRoot = false;\n parser.tag = parser.error = null;\n parser.strict = !!strict;\n parser.noscript = !!(strict || parser.opt.noscript);\n parser.state = S.BEGIN;\n parser.strictEntities = parser.opt.strictEntities;\n parser.ENTITIES = parser.strictEntities ? Object.create(sax2.XML_ENTITIES) : Object.create(sax2.ENTITIES);\n parser.attribList = [];\n if (parser.opt.xmlns) {\n parser.ns = Object.create(rootNS);\n }\n if (parser.opt.unquotedAttributeValues === void 0) {\n parser.opt.unquotedAttributeValues = !strict;\n }\n parser.trackPosition = parser.opt.position !== false;\n if (parser.trackPosition) {\n parser.position = parser.line = parser.column = 0;\n }\n emit2(parser, \"onready\");\n }\n if (!Object.create) {\n Object.create = function(o) {\n function F() {\n }\n F.prototype = o;\n var newf = new F();\n return newf;\n };\n }\n if (!Object.keys) {\n Object.keys = function(o) {\n var a2 = [];\n for (var i in o) if (o.hasOwnProperty(i)) a2.push(i);\n return a2;\n };\n }\n function checkBufferLength(parser) {\n var maxAllowed = Math.max(sax2.MAX_BUFFER_LENGTH, 10);\n var maxActual = 0;\n for (var i = 0, l = buffers.length; i < l; i++) {\n var len = parser[buffers[i]].length;\n if (len > maxAllowed) {\n switch (buffers[i]) {\n case \"textNode\":\n closeText(parser);\n break;\n case \"cdata\":\n emitNode(parser, \"oncdata\", parser.cdata);\n parser.cdata = \"\";\n break;\n case \"script\":\n emitNode(parser, \"onscript\", parser.script);\n parser.script = \"\";\n break;\n default:\n error(parser, \"Max buffer length exceeded: \" + buffers[i]);\n }\n }\n maxActual = Math.max(maxActual, len);\n }\n var m = sax2.MAX_BUFFER_LENGTH - maxActual;\n parser.bufferCheckPosition = m + parser.position;\n }\n function clearBuffers(parser) {\n for (var i = 0, l = buffers.length; i < l; i++) {\n parser[buffers[i]] = \"\";\n }\n }\n function flushBuffers(parser) {\n closeText(parser);\n if (parser.cdata !== \"\") {\n emitNode(parser, \"oncdata\", parser.cdata);\n parser.cdata = \"\";\n }\n if (parser.script !== \"\") {\n emitNode(parser, \"onscript\", parser.script);\n parser.script = \"\";\n }\n }\n SAXParser.prototype = {\n end: function() {\n end(this);\n },\n write,\n resume: function() {\n this.error = null;\n return this;\n },\n close: function() {\n return this.write(null);\n },\n flush: function() {\n flushBuffers(this);\n }\n };\n var Stream;\n try {\n Stream = require(\"stream\").Stream;\n } catch (ex) {\n Stream = function() {\n };\n }\n if (!Stream) Stream = function() {\n };\n var streamWraps = sax2.EVENTS.filter(function(ev) {\n return ev !== \"error\" && ev !== \"end\";\n });\n function createStream(strict, opt) {\n return new SAXStream(strict, opt);\n }\n function SAXStream(strict, opt) {\n if (!(this instanceof SAXStream)) {\n return new SAXStream(strict, opt);\n }\n Stream.apply(this);\n this._parser = new SAXParser(strict, opt);\n this.writable = true;\n this.readable = true;\n var me = this;\n this._parser.onend = function() {\n me.emit(\"end\");\n };\n this._parser.onerror = function(er) {\n me.emit(\"error\", er);\n me._parser.error = null;\n };\n this._decoder = null;\n streamWraps.forEach(function(ev) {\n Object.defineProperty(me, \"on\" + ev, {\n get: function() {\n return me._parser[\"on\" + ev];\n },\n set: function(h) {\n if (!h) {\n me.removeAllListeners(ev);\n me._parser[\"on\" + ev] = h;\n return h;\n }\n me.on(ev, h);\n },\n enumerable: true,\n configurable: false\n });\n });\n }\n SAXStream.prototype = Object.create(Stream.prototype, {\n constructor: {\n value: SAXStream\n }\n });\n SAXStream.prototype.write = function(data) {\n if (typeof Buffer === \"function\" && typeof Buffer.isBuffer === \"function\" && Buffer.isBuffer(data)) {\n if (!this._decoder) {\n var SD = require$$1.StringDecoder;\n this._decoder = new SD(\"utf8\");\n }\n data = this._decoder.write(data);\n }\n this._parser.write(data.toString());\n this.emit(\"data\", data);\n return true;\n };\n SAXStream.prototype.end = function(chunk) {\n if (chunk && chunk.length) {\n this.write(chunk);\n }\n this._parser.end();\n return true;\n };\n SAXStream.prototype.on = function(ev, handler) {\n var me = this;\n if (!me._parser[\"on\" + ev] && streamWraps.indexOf(ev) !== -1) {\n me._parser[\"on\" + ev] = function() {\n var args = arguments.length === 1 ? [arguments[0]] : Array.apply(null, arguments);\n args.splice(0, 0, ev);\n me.emit.apply(me, args);\n };\n }\n return Stream.prototype.on.call(me, ev, handler);\n };\n var CDATA = \"[CDATA[\";\n var DOCTYPE = \"DOCTYPE\";\n var XML_NAMESPACE = \"http://www.w3.org/XML/1998/namespace\";\n var XMLNS_NAMESPACE = \"http://www.w3.org/2000/xmlns/\";\n var rootNS = { xml: XML_NAMESPACE, xmlns: XMLNS_NAMESPACE };\n var nameStart = /[:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]/;\n var nameBody = /[:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\u00B7\\u0300-\\u036F\\u203F-\\u2040.\\d-]/;\n var entityStart = /[#:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]/;\n var entityBody = /[#:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\u00B7\\u0300-\\u036F\\u203F-\\u2040.\\d-]/;\n function isWhitespace(c2) {\n return c2 === \" \" || c2 === \"\\n\" || c2 === \"\\r\" || c2 === \"\t\";\n }\n function isQuote(c2) {\n return c2 === '\"' || c2 === \"'\";\n }\n function isAttribEnd(c2) {\n return c2 === \">\" || isWhitespace(c2);\n }\n function isMatch(regex, c2) {\n return regex.test(c2);\n }\n function notMatch(regex, c2) {\n return !isMatch(regex, c2);\n }\n var S = 0;\n sax2.STATE = {\n BEGIN: S++,\n // leading byte order mark or whitespace\n BEGIN_WHITESPACE: S++,\n // leading whitespace\n TEXT: S++,\n // general stuff\n TEXT_ENTITY: S++,\n // & and such.\n OPEN_WAKA: S++,\n // <\n SGML_DECL: S++,\n // \n SCRIPT: S++,\n //