diff --git a/apps/dav/lib/AppInfo/PluginManager.php b/apps/dav/lib/AppInfo/PluginManager.php index 9814e2138cad3..1e7bd671b0123 100644 --- a/apps/dav/lib/AppInfo/PluginManager.php +++ b/apps/dav/lib/AppInfo/PluginManager.php @@ -60,7 +60,7 @@ class PluginManager { private $populated = false; /** - * Contstruct a PluginManager + * Construct a PluginManager * * @param ServerContainer $container server container for resolving plugin classes * @param IAppManager $appManager app manager to loading apps and their info diff --git a/apps/dav/lib/BackgroundJob/CleanupOrphanedChildrenJob.php b/apps/dav/lib/BackgroundJob/CleanupOrphanedChildrenJob.php index fc6521baf82a5..864dc854f03cb 100644 --- a/apps/dav/lib/BackgroundJob/CleanupOrphanedChildrenJob.php +++ b/apps/dav/lib/BackgroundJob/CleanupOrphanedChildrenJob.php @@ -55,7 +55,7 @@ private function cleanUpOrphans( string $parentTable, string $parentId, ): int { - // We can't merge both queries into a single one here as DELETEing from a table while + // We can't merge both queries into a single one here as deleting from a table while // SELECTing it in a sub query is not supported by Oracle DB. // Ref https://docs.oracle.com/cd/E17952_01/mysql-8.0-en/delete.html#idm46006185488144 diff --git a/apps/dav/lib/CalDAV/CalDavBackend.php b/apps/dav/lib/CalDAV/CalDavBackend.php index ca3d4360bc905..ff47bfc1f0648 100644 --- a/apps/dav/lib/CalDAV/CalDavBackend.php +++ b/apps/dav/lib/CalDAV/CalDavBackend.php @@ -1883,7 +1883,7 @@ public function restoreCalendarObject(array $objectData): void { $row = $result->fetchAssociative(); $result->closeCursor(); if ($row === false) { - // Welp, this should possibly not have happened, but let's ignore + // Whelp, this should possibly not have happened, but let's ignore return; } $this->addChanges($row['calendarid'], [$row['uri']], 1, (int)$row['calendartype']); @@ -3457,7 +3457,7 @@ public function getDenormalizedData(string $calendarData): array { } } } - // RRULE can be infinate or limited by a UNTIL or COUNT + // RRULE can be infinite or limited by a UNTIL or COUNT if ($component->RRULE) { try { $rule = new EventReaderRRule($component->RRULE->getValue(), $startDate); diff --git a/apps/dav/lib/CalDAV/EventReader.php b/apps/dav/lib/CalDAV/EventReader.php index 857148b2ffd94..b4fff586af22c 100644 --- a/apps/dav/lib/CalDAV/EventReader.php +++ b/apps/dav/lib/CalDAV/EventReader.php @@ -50,7 +50,7 @@ class EventReader { ]; /** - * Initilizes the Event Reader + * Initializes the Event Reader * * There is several ways to set up the iterator. * @@ -415,7 +415,7 @@ public function recurringConcludesOn(): ?DateTime { // retrieve rrule conclusion date $rrule = $this->rruleIterator->concludes(); // evaluate if rrule conclusion is null - // if this is null that means the recurrence is infinate + // if this is null that means the recurrence is infinite if ($rrule === null) { return null; } @@ -465,7 +465,7 @@ public function recurringDaysOfWeek(): array { public function recurringDaysOfWeekNamed(): array { // evaluate if RRULE exists and extract day(s) of the week $days = $this->rruleIterator !== null ? $this->rruleIterator->daysOfWeek() : []; - // convert numberic month to month name + // convert numeric month to month name foreach ($days as $key => $value) { $days[$key] = $this->dayNamesMap[$value]; } @@ -531,7 +531,7 @@ public function recurringWeeksOfMonth(): array { public function recurringWeeksOfMonthNamed(): array { // evaluate if RRULE exists and extract relative position(s) $positions = $this->rruleIterator?->isRelative() ? $this->rruleIterator->relativePosition() : []; - // convert numberic relative position to relative label + // convert numeric relative position to relative label foreach ($positions as $key => $value) { $positions[$key] = $this->relativePositionNamesMap[$value]; } @@ -582,7 +582,7 @@ public function recurringMonthsOfYear(): array { public function recurringMonthsOfYearNamed(): array { // evaluate if RRULE exists and extract month(s) of the year $months = $this->rruleIterator !== null ? $this->rruleIterator->monthsOfYear() : []; - // convert numberic month to month name + // convert numeric month to month name foreach ($months as $key => $value) { $months[$key] = $this->monthNamesMap[$value]; } @@ -618,7 +618,7 @@ public function recurringRelativePosition(): array { public function recurringRelativePositionNamed(): array { // evaluate if RRULE exists and extract relative position(s) $positions = $this->rruleIterator?->isRelative() ? $this->rruleIterator->relativePosition() : []; - // convert numberic relative position to relative label + // convert numeric relative position to relative label foreach ($positions as $key => $value) { $positions[$key] = $this->relativePositionNamesMap[$value]; } diff --git a/apps/dav/lib/CalDAV/EventReaderRRule.php b/apps/dav/lib/CalDAV/EventReaderRRule.php index d2b4968c47940..66b94b5f7ab8f 100644 --- a/apps/dav/lib/CalDAV/EventReaderRRule.php +++ b/apps/dav/lib/CalDAV/EventReaderRRule.php @@ -36,7 +36,7 @@ public function concludes(): ?DateTime { while ($this->counter <= ($this->count - 2)) { $this->next(); } - // temporarly store last reccurance date + // temporary store last reccurance date $lastReccuranceDate = $this->currentDate; // restore current recurrence date and counter $this->currentDate = $currentReccuranceDate; diff --git a/apps/dav/lib/CalDAV/Publishing/Xml/Publisher.php b/apps/dav/lib/CalDAV/Publishing/Xml/Publisher.php index 651b0fa6101d1..7853be6a3266d 100644 --- a/apps/dav/lib/CalDAV/Publishing/Xml/Publisher.php +++ b/apps/dav/lib/CalDAV/Publishing/Xml/Publisher.php @@ -41,7 +41,7 @@ public function getValue() { * The parent of the current element is responsible for writing a * containing element. * - * This allows serializers to be re-used for different element names. + * This allows serializers to be reused for different element names. * * If you are opening new elements, you must also close them again. * diff --git a/apps/dav/lib/CalDAV/Schedule/IMipService.php b/apps/dav/lib/CalDAV/Schedule/IMipService.php index 156d5967fcf8e..1a40e49d229b6 100644 --- a/apps/dav/lib/CalDAV/Schedule/IMipService.php +++ b/apps/dav/lib/CalDAV/Schedule/IMipService.php @@ -516,7 +516,7 @@ public function generateWhenStringRecurringMonthly(EventReader $er): string { // generate localized when string // TRANSLATORS // Indicates when a calendar event will happen, shown on invitation emails - // Output produced in order, output varies depending on if the event is absolute or releative: + // Output produced in order, output varies depending on if the event is absolute or relative: // Absolute: Every Month on the 1, 8 for the entire day // Relative: Every Month on the First Sunday, Saturday for the entire day // Absolute: Every Month on the 1, 8 for the entire day until December 31, 2024 @@ -589,7 +589,7 @@ public function generateWhenStringRecurringYearly(EventReader $er): string { // generate localized when string // TRANSLATORS // Indicates when a calendar event will happen, shown on invitation emails - // Output produced in order, output varies depending on if the event is absolute or releative: + // Output produced in order, output varies depending on if the event is absolute or relative: // Absolute: Every Year in July on the 1st for the entire day // Relative: Every Year in July on the First Sunday, Saturday for the entire day // Absolute: Every Year in July on the 1st for the entire day until July 31, 2026 diff --git a/apps/dav/lib/CalDAV/Status/StatusService.php b/apps/dav/lib/CalDAV/Status/StatusService.php index fbe8d27732723..d31b443f0ee7b 100644 --- a/apps/dav/lib/CalDAV/Status/StatusService.php +++ b/apps/dav/lib/CalDAV/Status/StatusService.php @@ -132,7 +132,7 @@ public function processCalendarStatus(string $userId): void { return; } - // Only update the status if it's neccesary otherwise we mess up the timestamp + // Only update the status if it's necessary otherwise we mess up the timestamp if ($currentStatus === null || $currentStatus->getMessageId() !== IUserStatus::MESSAGE_CALENDAR_BUSY) { // One event that fulfills all status conditions is enough // 1. Not an OOO event diff --git a/apps/dav/lib/Comments/CommentNode.php b/apps/dav/lib/Comments/CommentNode.php index 5f957ec656b7b..5ec28ef722108 100644 --- a/apps/dav/lib/Comments/CommentNode.php +++ b/apps/dav/lib/Comments/CommentNode.php @@ -75,7 +75,7 @@ public static function getPropertyNames() { '{http://owncloud.org/ns}latestChildDateTime', '{http://owncloud.org/ns}objectType', '{http://owncloud.org/ns}objectId', - // re-used property names are defined as constants + // reused property names are defined as constants self::PROPERTY_NAME_MESSAGE, self::PROPERTY_NAME_ACTOR_DISPLAYNAME, self::PROPERTY_NAME_UNREAD, diff --git a/apps/dav/lib/Connector/Sabre/ChecksumList.php b/apps/dav/lib/Connector/Sabre/ChecksumList.php index 9d25d370afa55..19886f78fbccd 100644 --- a/apps/dav/lib/Connector/Sabre/ChecksumList.php +++ b/apps/dav/lib/Connector/Sabre/ChecksumList.php @@ -39,7 +39,7 @@ public function __construct(string $checksum) { * The parent of the current element is responsible for writing a * containing element. * - * This allows serializers to be re-used for different element names. + * This allows serializers to be reused for different element names. * * If you are opening new elements, you must also close them again. * diff --git a/apps/dav/lib/Connector/Sabre/Directory.php b/apps/dav/lib/Connector/Sabre/Directory.php index 1634c512804b3..460f7b9b241fa 100644 --- a/apps/dav/lib/Connector/Sabre/Directory.php +++ b/apps/dav/lib/Connector/Sabre/Directory.php @@ -372,7 +372,7 @@ public function getQuotaInfo() { /** * Moves a node into this collection. * - * It is up to the implementors to: + * It is up to the implementers to: * 1. Create the new resource. * 2. Remove the old resource. * 3. Transfer any properties or other data. diff --git a/apps/dav/lib/Connector/Sabre/File.php b/apps/dav/lib/Connector/Sabre/File.php index ae68770d9a90c..951ee9435c517 100644 --- a/apps/dav/lib/Connector/Sabre/File.php +++ b/apps/dav/lib/Connector/Sabre/File.php @@ -412,7 +412,7 @@ private function getPartFileBasePath($path) { return substr($path, 0, strlen($path) - strlen($filename)) . $hashedFilename; } else { // will place the .part file in the users root directory - // therefor we need to make the name (semi) unique - hash does not need to be secure but fast. + // therefore we need to make the name (semi) unique - hash does not need to be secure but fast. return hash('xxh128', $path); } } diff --git a/apps/dav/lib/Connector/Sabre/Node.php b/apps/dav/lib/Connector/Sabre/Node.php index 5bbe1990117a8..eca9240207f4a 100644 --- a/apps/dav/lib/Connector/Sabre/Node.php +++ b/apps/dav/lib/Connector/Sabre/Node.php @@ -334,7 +334,7 @@ public function getDavPermissions(): string { } /** - * Returns the DAV Permissions with share and mount infromation stripped. + * Returns the DAV Permissions with share and mount information stripped. */ public function getPublicDavPermissions(): string { return str_replace(['S', 'M'], '', $this->getDavPermissions()); diff --git a/apps/dav/lib/Connector/Sabre/TagList.php b/apps/dav/lib/Connector/Sabre/TagList.php index bd239370e3648..1a39403b90f0d 100644 --- a/apps/dav/lib/Connector/Sabre/TagList.php +++ b/apps/dav/lib/Connector/Sabre/TagList.php @@ -89,7 +89,7 @@ public static function xmlDeserialize(Reader $reader) { * The parent of the current element is responsible for writing a * containing element. * - * This allows serializers to be re-used for different element names. + * This allows serializers to be reused for different element names. * * If you are opening new elements, you must also close them again. * diff --git a/apps/dav/lib/DAV/Sharing/Xml/Invite.php b/apps/dav/lib/DAV/Sharing/Xml/Invite.php index 588e92844183d..bbfdcc31e4fdd 100644 --- a/apps/dav/lib/DAV/Sharing/Xml/Invite.php +++ b/apps/dav/lib/DAV/Sharing/Xml/Invite.php @@ -87,7 +87,7 @@ public function getValue() { * The parent of the current element is responsible for writing a * containing element. * - * This allows serializers to be re-used for different element names. + * This allows serializers to be reused for different element names. * * If you are opening new elements, you must also close them again. * diff --git a/apps/dav/src/components/AbsenceForm.spec.js b/apps/dav/src/components/AbsenceForm.spec.js index 23ddd74d576c0..439e60b5692c5 100644 --- a/apps/dav/src/components/AbsenceForm.spec.js +++ b/apps/dav/src/components/AbsenceForm.spec.js @@ -29,12 +29,12 @@ afterEach(() => { }) function getInputs(wrapper) { - const lables = wrapper.findAll('label') + const labels = wrapper.findAll('label') - const firstDayLabel = lables.find((l) => l.text() === 'First day') + const firstDayLabel = labels.find((l) => l.text() === 'First day') const firstDayInput = wrapper.get(`#${firstDayLabel.attributes('for')}`) - const lastDayLabel = lables.find((l) => l.text() === 'Last day (inclusive)') + const lastDayLabel = labels.find((l) => l.text() === 'Last day (inclusive)') const lastDayInput = wrapper.get(`#${lastDayLabel.attributes('for')}`) return { firstDayInput, lastDayInput } diff --git a/core/Command/Background/JobWorker.php b/core/Command/Background/JobWorker.php index 747e8ce79fca1..502245c787c7b 100644 --- a/core/Command/Background/JobWorker.php +++ b/core/Command/Background/JobWorker.php @@ -143,7 +143,7 @@ protected function execute(InputInterface $input, OutputInterface $output): int $job->start($this->jobList); $timeSpent = microtime(true) - $startTime; $jobMemoryPeak = memory_get_peak_usage(); - // TODO Job failure will never be catched here because exceptions are catched within $job->start method + // TODO Job failure will never be caught here because exceptions are caught within $job->start method // The error will only be visible in server logs. // It should be a temporary state until a proper job runner is implemented. $this->jobRuns->finished($jobRunId, (int)($timeSpent * 1000), (int)($jobMemoryPeak / 1024)); diff --git a/core/Service/LoginFlowV2Service.php b/core/Service/LoginFlowV2Service.php index 5d6048230c638..5d46bc505bc31 100644 --- a/core/Service/LoginFlowV2Service.php +++ b/core/Service/LoginFlowV2Service.php @@ -111,7 +111,7 @@ public function getByLoginToken(string $loginToken): LoginFlowV2 { /** * @param string $loginToken - * @return bool returns true if the start was successfull. False if not. + * @return bool returns true if the start was successful. False if not. */ public function startLoginFlow(string $loginToken): bool { try { diff --git a/core/css/apps.scss b/core/css/apps.scss index 671faddf7244d..09cc5036908d1 100644 --- a/core/css/apps.scss +++ b/core/css/apps.scss @@ -384,7 +384,7 @@ kbd { } } - /* popover fix the flex positionning of the li parent */ + /* popover fix the flex positioning of the li parent */ > .app-navigation-entry-menu { top: var(--default-clickable-area); } @@ -571,7 +571,7 @@ kbd { height: 38px; &:hover, &:focus { - /* overlapp borders */ + /* overlap borders */ z-index: 1; } } @@ -779,7 +779,7 @@ $min-content-width: variables.$breakpoint-mobile - variables.$navigation-width - /* APP-SIDEBAR ------------------------------------------------------------ */ /* Sidebar: a sidebar to be used within #content - #app-content will be shrinked properly + #app-content will be shrunk properly */ #app-sidebar { width: 27vw; diff --git a/core/css/header.scss b/core/css/header.scss index c83a98646feef..f6ec0d0d04d9d 100644 --- a/core/css/header.scss +++ b/core/css/header.scss @@ -160,7 +160,7 @@ padding-inline-end: 5px; overflow: hidden; text-overflow: ellipsis; - // Take full width to push the header-shared-by bellow (if any) + // Take full width to push the header-shared-by below (if any) flex: 1 1 100%; // container for the public template header information diff --git a/core/src/OC/dialogs.js b/core/src/OC/dialogs.js index 49522bf37266d..bb76a603b82b5 100644 --- a/core/src/OC/dialogs.js +++ b/core/src/OC/dialogs.js @@ -213,7 +213,7 @@ const Dialogs = { * @param {boolean} [_modal] do not use * @param {string} [type] Type of file picker : Choose, copy, move, copy and move * @param {string} [path] path to the folder that the the file can be picket from - * @param {object} [options] additonal options that need to be set + * @param {object} [options] additional options that need to be set * @param {Function} [options.filter] filter function for advanced filtering * @param {boolean} [options.allowDirectoryChooser] Allow to select directories * @deprecated since 27.1.0 use the filepicker from `@nextcloud/dialogs` instead @@ -245,7 +245,7 @@ const Dialogs = { } /** - * Coverting a Node into a legacy file info to support the OC.dialogs.filepicker filter function + * Converting a Node into a legacy file info to support the OC.dialogs.filepicker filter function * * @param node The node to convert */ diff --git a/core/src/OC/msg.ts b/core/src/OC/msg.ts index 0bc6fa851b6eb..0dc0d00467cd6 100644 --- a/core/src/OC/msg.ts +++ b/core/src/OC/msg.ts @@ -12,7 +12,7 @@ import { t } from '@nextcloud/l10n' */ export default { /** - * Displayes a "Saving..." message in the given message placeholder + * Displays a "Saving..." message in the given message placeholder * * @param selector - Query selectior for the element to display the message in */ @@ -21,7 +21,7 @@ export default { }, /** - * Displayes a custom message in the given message placeholder + * Displays a custom message in the given message placeholder * * @param selector - Query selectior for the element to display the message in * @param message - Plain text message to display (no HTML allowed) @@ -40,7 +40,7 @@ export default { }, /** - * Displayes an success/error message in the given selector + * Displays an success/error message in the given selector * * @param selector - Query selectior for the element to display the message in * @param response - Response of the server @@ -53,7 +53,7 @@ export default { }, /** - * Displayes an success/error message in the given selector + * Displays an success/error message in the given selector * * @param selector - Query selector for the element to display the message in * @param response - Response of the server @@ -70,7 +70,7 @@ export default { }, /** - * Displayes an success message in the given selector + * Displays an success message in the given selector * * @param selector - Query selector for the element to display the message in * @param message - Plain text success message to display (no HTML allowed) @@ -121,7 +121,7 @@ export default { }, /** - * Displayes an error message in the given selector + * Displays an error message in the given selector * * @param selector - Query selector for the element to display the message in * @param message - Plain text error message to display (no HTML allowed) diff --git a/core/src/components/AppMenu.vue b/core/src/components/AppMenu.vue index e7aef02d42b35..8ae1ba8eb65dc 100644 --- a/core/src/components/AppMenu.vue +++ b/core/src/components/AppMenu.vue @@ -157,7 +157,7 @@ export default defineComponent({ // `placement: bottom-start` swaps the anchor edge under RTL but the // skidding sign isn't auto-mirrored, so we flip it here. Snapshot // at init: Nextcloud's language doesn't change at runtime. - popoverSkidding: isRTL() ? 82 : -82, // thats the width of the product logo + main container margin + popoverSkidding: isRTL() ? 82 : -82, // that's the width of the product logo + main container margin } }, diff --git a/core/src/components/UnifiedSearch/UnifiedSearchLocalSearchBar.vue b/core/src/components/UnifiedSearch/UnifiedSearchLocalSearchBar.vue index 602f3340c8e50..c189b46e94bc2 100644 --- a/core/src/components/UnifiedSearch/UnifiedSearchLocalSearchBar.vue +++ b/core/src/components/UnifiedSearch/UnifiedSearchLocalSearchBar.vue @@ -108,7 +108,7 @@ function clearAndCloseSearch() { padding-inline: var(--border-width-input-focused); // hide the overflow - needed for the transition overflow: hidden; - // Ensure the position is fixed also during "position: absolut" (transition) + // Ensure the position is fixed also during "position: absolute" (transition) inset-inline-end: 0; #{&} &__global-search { diff --git a/core/src/session-heartbeat.ts b/core/src/session-heartbeat.ts index e101530816d06..d5a25e6423cba 100644 --- a/core/src/session-heartbeat.ts +++ b/core/src/session-heartbeat.ts @@ -149,7 +149,7 @@ function registerAutoLogout() { const timeout = Date.now() - (sessionLifetime ?? 86400) * 1000 if (lastActive < timeout) { clearTimeout(intervalId) - logger.info('Inactivity timout reached, logging out') + logger.info('Inactivity timeout reached, logging out') const logoutUrl = generateUrl('/logout') + '?requesttoken=' + encodeURIComponent(getRequestToken()) window.location.href = logoutUrl } diff --git a/core/src/types/navigation.d.ts b/core/src/types/navigation.d.ts index 5698aab205ea6..1166f59815a3f 100644 --- a/core/src/types/navigation.d.ts +++ b/core/src/types/navigation.d.ts @@ -21,7 +21,7 @@ export interface INavigationEntry { name: string /** Whether this is the default app */ default?: boolean - /** App that registered this navigation entry (not necessarly the same as the id) */ + /** App that registered this navigation entry (not necessarily the same as the id) */ app?: string /** If this app has unread notification */ unread: number diff --git a/core/src/views/LegacyUnifiedSearch.vue b/core/src/views/LegacyUnifiedSearch.vue index ccd937d3bda7f..a4b1780cf5a09 100644 --- a/core/src/views/LegacyUnifiedSearch.vue +++ b/core/src/views/LegacyUnifiedSearch.vue @@ -332,7 +332,7 @@ export default { }, mounted() { - // subscribe in mounted, as onNavigationChange relys on $el + // subscribe in mounted, as onNavigationChange relies on $el subscribe('files:navigation:changed', this.onNavigationChange) if (OCP.Accessibility.disableKeyboardShortcuts()) { diff --git a/dist/core-legacy-unified-search.js b/dist/core-legacy-unified-search.js index 4f1735dfd2d50..c49292f1a42d9 100644 --- a/dist/core-legacy-unified-search.js +++ b/dist/core-legacy-unified-search.js @@ -1,2 +1,2 @@ -(()=>{"use strict";var e,i,r,a={50556(e,i,r){var a=r(21777),s=r(53334),o=r(35947),c=r(85471),l=r(85168),d=r(61338),u=r(46855),h=r(57505),A=r(24764),p=r(48943),f=r(2769),g=r(82182);const C={name:"MagnifyIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var m=r(14486);const v=(0,m.A)(C,function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon magnify-icon",attrs:{"aria-hidden":t.title?null:"true","aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M9.5,3A6.5,6.5 0 0,1 16,9.5C16,11.11 15.41,12.59 14.44,13.73L14.71,14H15.5L20.5,19L19,20.5L14,15.5V14.71L13.73,14.44C12.59,15.41 11.11,16 9.5,16A6.5,6.5 0 0,1 3,9.5A6.5,6.5 0 0,1 9.5,3M9.5,5C7,5 5,7 5,9.5C5,12 7,14 9.5,14C12,14 14,12 14,9.5C14,7 12,5 9.5,5Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])},[],!1,null,null,null).exports,_={name:"LegacySearchResult",components:{NcHighlight:r(51550).N},props:{thumbnailUrl:{type:String,default:null},title:{type:String,required:!0},subline:{type:String,default:null},resourceUrl:{type:String,default:null},icon:{type:String,default:""},rounded:{type:Boolean,default:!1},query:{type:String,default:""},focused:{type:Boolean,default:!1}},data(){return{hasValidThumbnail:this.thumbnailUrl&&""!==this.thumbnailUrl.trim(),loaded:!1}},computed:{isIconUrl(){if(this.icon.startsWith("/"))return!0;try{new URL(this.icon)}catch{return!1}return!0}},watch:{thumbnailUrl(){this.hasValidThumbnail=this.thumbnailUrl&&""!==this.thumbnailUrl.trim(),this.loaded=!1}},methods:{reEmitEvent(t){this.$emit(t.type,t)},onError(){this.hasValidThumbnail=!1},onLoad(){this.loaded=!0}}};var b=r(85072),y=r.n(b),x=r(97825),w=r.n(x),k=r(77659),$=r.n(k),S=r(55056),B=r.n(S),D=r(10540),I=r.n(D),q=r(41113),E=r.n(q),L=r(53910),U={};U.styleTagTransform=E(),U.setAttributes=B(),U.insert=$().bind(null,"head"),U.domAPI=w(),U.insertStyleElement=I(),y()(L.A,U),L.A&&L.A.locals&&L.A.locals;const N=(0,m.A)(_,function(){var t=this,e=t._self._c;return e("a",{staticClass:"unified-search__result",class:{"unified-search__result--focused":t.focused},attrs:{href:t.resourceUrl||"#"},on:{click:t.reEmitEvent,focus:t.reEmitEvent}},[e("div",{staticClass:"unified-search__result-icon",class:{"unified-search__result-icon--rounded":t.rounded,"unified-search__result-icon--no-preview":!t.hasValidThumbnail&&!t.loaded,"unified-search__result-icon--with-thumbnail":t.hasValidThumbnail&&t.loaded,[t.icon]:!t.loaded&&!t.isIconUrl},style:{backgroundImage:t.isIconUrl?`url(${t.icon})`:""}},[t.hasValidThumbnail?e("img",{directives:[{name:"show",rawName:"v-show",value:t.loaded,expression:"loaded"}],attrs:{src:t.thumbnailUrl,alt:""},on:{error:t.onError,load:t.onLoad}}):t._e()]),t._v(" "),e("span",{staticClass:"unified-search__result-content"},[e("span",{staticClass:"unified-search__result-line-one",attrs:{title:t.title}},[e("NcHighlight",{attrs:{text:t.title,search:t.query}})],1),t._v(" "),t.subline?e("span",{staticClass:"unified-search__result-line-two",attrs:{title:t.subline}},[t._v(t._s(t.subline))]):t._e()])])},[],!1,null,"2dec9460",null).exports,R={name:"SearchResultPlaceholders",data:()=>({light:null,dark:null}),mounted(){const t=getComputedStyle(document.documentElement);this.dark=t.getPropertyValue("--color-placeholder-dark"),this.light=t.getPropertyValue("--color-placeholder-light")},methods:{randWidth:()=>Math.floor(20*Math.random())+30}};var T=r(35080),z={};z.styleTagTransform=E(),z.setAttributes=B(),z.insert=$().bind(null,"head"),z.domAPI=w(),z.insertStyleElement=I(),y()(T.A,z),T.A&&T.A.locals&&T.A.locals;const F=(0,m.A)(R,function(){var t=this,e=t._self._c;return e("ul",[e("svg",{staticClass:"unified-search__result-placeholder-gradient"},[e("defs",[e("linearGradient",{attrs:{id:"unified-search__result-placeholder-gradient"}},[e("stop",{attrs:{offset:"0%","stop-color":t.light}},[e("animate",{attrs:{attributeName:"stop-color",values:`${t.light}; ${t.light}; ${t.dark}; ${t.dark}; ${t.light}`,dur:"2s",repeatCount:"indefinite"}})]),t._v(" "),e("stop",{attrs:{offset:"100%","stop-color":t.dark}},[e("animate",{attrs:{attributeName:"stop-color",values:`${t.dark}; ${t.light}; ${t.light}; ${t.dark}; ${t.dark}`,dur:"2s",repeatCount:"indefinite"}})])],1)],1)]),t._v(" "),t._l([1,2,3],function(i){return e("li",{key:i},[e("svg",{staticClass:"unified-search__result-placeholder",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"url(#unified-search__result-placeholder-gradient)"}},[e("rect",{staticClass:"unified-search__result-placeholder-icon"}),t._v(" "),e("rect",{staticClass:"unified-search__result-placeholder-line-one"}),t._v(" "),e("rect",{staticClass:"unified-search__result-placeholder-line-two",style:{width:`calc(${t.randWidth()}%)`}})])])})],2)},[],!1,null,"480c8b8e",null).exports,P=null===(O=(0,a.HW)())?(0,o.YK)().setApp("core").build():(0,o.YK)().setApp("core").setUid(O.uid).build();var O;(0,o.YK)().setApp("unified-search").detectUser().build();var M=r(44368),G=r(81222),j=r(63814);const Q=(0,G.C)("unified-search","limit-default"),K=(0,G.C)("unified-search","min-search-length",1),W=(0,G.C)("unified-search","live-search",!0),V=/(^|\s)in:([a-z_-]+)/gi,Y=/(^|\s)-in:([a-z_-]+)/gi;async function H(){try{const{data:t}=await M.Ay.get((0,j.KT)("search/providers"),{params:{from:window.location.pathname.replace("/index.php","")+window.location.search}});if("ocs"in t&&"data"in t.ocs&&Array.isArray(t.ocs.data)&&t.ocs.data.length>0)return t.ocs.data}catch(t){P.error(t)}return[]}function Z({type:t,query:e,cursor:i}){const n=M.Ay.CancelToken.source();return{request:async()=>M.Ay.get((0,j.KT)("search/providers/{type}/search",{type:t}),{cancelToken:n.token,params:{term:e,cursor:i,from:window.location.pathname.replace("/index.php","")+window.location.search}}),cancel:n.cancel}}const J={name:"LegacyUnifiedSearch",components:{Magnify:v,NcActionButton:h.A,NcActions:A.A,NcEmptyContent:p.A,NcHeaderMenu:f.A,SearchResult:N,SearchResultPlaceholders:F,NcTextField:g.A},data:()=>({types:[],cursors:{},limits:{},loading:{},reached:{},requests:[],results:{},query:"",focused:null,triggered:!1,defaultLimit:Q,minSearchLength:K,enableLiveSearch:W,open:!1}),computed:{typesIDs(){return this.types.map(t=>t.id)},typesNames(){return this.types.map(t=>t.name)},typesMap(){return this.types.reduce((t,e)=>(t[e.id]=e.name,t),{})},ariaLabel:()=>t("core","Search"),hasResults(){return 0!==Object.keys(this.results).length},orderedResults(){return this.typesIDs.filter(t=>t in this.results).map(t=>({type:t,list:this.results[t]}))},availableFilters(){return Object.keys(this.results)},usedFiltersIn(){let t;const e=[];for(;null!==(t=V.exec(this.query));)e.push(t[2]);return e},usedFiltersNot(){let t;const e=[];for(;null!==(t=Y.exec(this.query));)e.push(t[2]);return e},validQueryTitle(){return this.triggered?t("core","No results for {query}",{query:this.query}):t("core","Press Enter to start searching")},shortQueryDescription(){return this.isShortQuery?n("core","Please enter {minSearchLength} character or more to search","Please enter {minSearchLength} characters or more to search",this.minSearchLength,{minSearchLength:this.minSearchLength}):""},isShortQuery(){return this.query&&this.query.trim().length!1===t)},isLoading(){return Object.values(this.loading).some(t=>!0===t)}},async created(){this.types=await H(),P.debug("Unified Search initialized with the following providers",this.types)},beforeDestroy(){(0,d.al)("files:navigation:changed",this.onNavigationChange)},mounted(){(0,d.B1)("files:navigation:changed",this.onNavigationChange),OCP.Accessibility.disableKeyboardShortcuts()||document.addEventListener("keydown",t=>{t.ctrlKey&&"KeyF"===t.code&&!this.open?(t.preventDefault(),this.open=!0):t.ctrlKey&&"f"===t.key&&this.open&&(this.open=!1),this.open&&("ArrowDown"===t.key&&this.focusNext(t),"ArrowUp"===t.key&&this.focusPrev(t))})},methods:{async onOpen(){this.types=await H()},onClose(){(0,d.Ic)("nextcloud:unified-search.close")},onNavigationChange(){this.$el?.querySelector?.('form[role="search"]')?.reset?.()},onReset(){(0,d.Ic)("nextcloud:unified-search.reset"),this.logger.debug("Search reset"),this.query="",this.resetState(),this.focusInput()},async resetState(){this.cursors={},this.limits={},this.reached={},this.results={},this.focused=null,this.triggered=!1,await this.cancelPendingRequests()},async cancelPendingRequests(){const t=this.requests.slice(0);this.requests=[],await Promise.all(t.map(t=>t()))},focusInput(){this.$nextTick(()=>{this.$refs.input.focus(),this.$refs.input.select()})},onInputEnter(){this.hasResults?this.getResultsList()[0].click():this.onInput()},async onInput(){if((0,d.Ic)("nextcloud:unified-search.search",{query:this.query}),""===this.query.trim()||this.isShortQuery){for(const t of this.typesIDs)this.$delete(this.results,t);return}let t=this.typesIDs,e=this.query;this.usedFiltersNot.length>0&&(t=this.typesIDs.filter(t=>-1===this.usedFiltersNot.indexOf(t))),this.usedFiltersIn.length>0&&(t=this.typesIDs.filter(t=>this.usedFiltersIn.indexOf(t)>-1)),e=e.replace(V,"").replace(Y,""),await this.resetState(),this.triggered=!0,t.length?(this.$set(this.loading,"all",!0),this.logger.debug(`Searching ${e} in`,t),Promise.all(t.map(async t=>{try{const{request:i,cancel:n}=Z({type:t,query:e});this.requests.push(n);const{data:r}=await i();return r.ocs.data.entries.length>0?this.$set(this.results,t,r.ocs.data.entries):this.$delete(this.results,t),r.ocs.data.cursor?this.$set(this.cursors,t,r.ocs.data.cursor):r.ocs.data.isPaginated||this.$set(this.limits,t,this.defaultLimit),r.ocs.data.entries.length{t.some(t=>2===t)||(this.loading={})})):this.logger.error("No types to search in")},onInputDebounced:W?(0,u.A)(function(t){this.onInput(t)},500):function(){this.triggered=!1},async loadMore(t){if(!this.loading[t]){if(this.cursors[t]){const{request:e,cancel:i}=Z({type:t,query:this.query,cursor:this.cursors[t]});this.requests.push(i);const{data:n}=await e();n.ocs.data.cursor&&this.$set(this.cursors,t,n.ocs.data.cursor),n.ocs.data.entries.length>0&&this.results[t].push(...n.ocs.data.entries),n.ocs.data.entries.length=0&&(this.limits[t]+=this.defaultLimit,this.limits[t]>=this.results[t].length&&this.$set(this.reached,t,!0));null!==this.focused&&this.$nextTick(()=>{this.focusIndex(this.focused)})}},limitIfAny(t,e){return e in this.limits?t.slice(0,this.limits[e]):t},getResultsList(){return this.$el.querySelectorAll(".unified-search__results .unified-search__result")},focusFirst(t){const e=this.getResultsList();e&&e.length>0&&(t&&t.preventDefault(),this.focused=0,this.focusIndex(this.focused))},focusNext(t){if(null===this.focused)return void this.focusFirst(t);const e=this.getResultsList();e&&e.length>0&&this.focused+10&&this.focused>0&&(t.preventDefault(),this.focused--,this.focusIndex(this.focused))},focusIndex(t){const e=this.getResultsList();e&&e[t]&&e[t].focus()},setFocusedIndex(t){const e=t.target,i=[...this.getResultsList()].findIndex(t=>t===e);i>-1&&(this.focused=i)},onClickFilter(t){this.query=`${this.query} ${t}`.replace(/ {2}/g," ").trim(),this.onInput()}}};var X=r(66620),tt={};tt.styleTagTransform=E(),tt.setAttributes=B(),tt.insert=$().bind(null,"head"),tt.domAPI=w(),tt.insertStyleElement=I(),y()(X.A,tt),X.A&&X.A.locals&&X.A.locals;const et=(0,m.A)(J,function(){var t=this,e=t._self._c;return e("NcHeaderMenu",{staticClass:"unified-search",attrs:{id:"unified-search","exclude-click-outside-selectors":[".popover"],open:t.open,"aria-label":t.ariaLabel},on:{"update:open":function(e){t.open=e},open:t.onOpen,close:t.onClose},scopedSlots:t._u([{key:"trigger",fn:function(){return[e("Magnify",{staticClass:"unified-search__trigger-icon",attrs:{size:20}})]},proxy:!0}])},[t._v(" "),e("div",{staticClass:"unified-search__input-wrapper"},[e("div",{staticClass:"unified-search__input-row"},[e("NcTextField",{ref:"input",staticClass:"unified-search__form-input",class:{"unified-search__form-input--with-reset":!!t.query},attrs:{"trailing-button-icon":"close",label:t.ariaLabel,"trailing-button-label":t.t("core","Reset search"),"show-trailing-button":""!==t.query,"aria-describedby":"unified-search-desc",placeholder:t.t("core","Search {types} …",{types:t.typesNames.join(", ")})},on:{"trailing-button-click":t.onReset,input:t.onInputDebounced},model:{value:t.query,callback:function(e){t.query=e},expression:"query"}}),t._v(" "),e("p",{staticClass:"hidden-visually",attrs:{id:"unified-search-desc"}},[t._v("\n\t\t\t\t"+t._s(t.t("core","Search starts once you start typing and results may be reached with the arrow keys"))+"\n\t\t\t")]),t._v(" "),t.availableFilters.length>1?e("NcActions",{staticClass:"unified-search__filters",attrs:{placement:"bottom-end",container:".unified-search__input-wrapper"}},t._l(t.availableFilters,function(i){return e("NcActionButton",{key:i,attrs:{icon:"icon-filter"},on:{click:function(e){return e.stopPropagation(),t.onClickFilter(`in:${i}`)}}},[t._v("\n\t\t\t\t\t"+t._s(t.t("core","Search for {name} only",{name:t.typesMap[i]}))+"\n\t\t\t\t")])}),1):t._e()],1)]),t._v(" "),t.hasResults?t._l(t.orderedResults,function({list:i,type:n},r){return[e("h2",{key:n,staticClass:"unified-search__results-header"},[t._v("\n\t\t\t"+t._s(t.typesMap[n])+"\n\t\t")]),t._v(" "),e("ul",{key:n,staticClass:"unified-search__results",class:`unified-search__results-${n}`,attrs:{"aria-label":t.typesMap[n]}},[t._l(t.limitIfAny(i,n),function(i,n){return e("li",{key:i.resourceUrl},[e("SearchResult",t._b({attrs:{query:t.query,focused:0===t.focused&&0===r&&0===n},on:{focus:t.setFocusedIndex}},"SearchResult",i,!1))],1)}),t._v(" "),e("li",[t.reached[n]?t._e():e("SearchResult",{staticClass:"unified-search__result-more",attrs:{title:t.loading[n]?t.t("core","Loading more results …"):t.t("core","Load more results"),"icon-class":t.loading[n]?"icon-loading-small":""},on:{click:function(e){return e.preventDefault(),e.stopPropagation(),t.loadMore(n)},focus:t.setFocusedIndex}})],1)],2)]}):[t.isLoading?e("SearchResultPlaceholders"):t.isValidQuery?e("NcEmptyContent",{attrs:{title:t.validQueryTitle},scopedSlots:t._u([{key:"icon",fn:function(){return[e("Magnify")]},proxy:!0}],null,!1,931131664)}):!t.isLoading||t.isShortQuery?e("NcEmptyContent",{attrs:{title:t.t("core","Start typing to search"),description:t.shortQueryDescription},scopedSlots:t._u([{key:"icon",fn:function(){return[e("Magnify")]},proxy:!0}],null,!1,931131664)}):t._e()]],2)},[],!1,null,"4cdce41c",null).exports;r.nc=(0,a.aV)();const it=(0,o.YK)().setApp("unified-search").detectUser().build();c.Ay.mixin({data:()=>({logger:it}),methods:{t:s.t,n:s.n}}),new c.Ay({el:"#unified-search",name:"UnifiedSearchRoot",render:t=>t(et)})},53910(t,e,i){i.d(e,{A:()=>o});var n=i(71354),r=i.n(n),a=i(76314),s=i.n(a)()(r());s.push([t.id,".unified-search__result[data-v-2dec9460]{display:flex;align-items:center;height:44px;padding:10px;border:2px solid rgba(0,0,0,0);border-radius:var(--border-radius-large) !important}.unified-search__result--focused[data-v-2dec9460]{background-color:var(--color-background-hover)}.unified-search__result[data-v-2dec9460]:active,.unified-search__result[data-v-2dec9460]:hover,.unified-search__result[data-v-2dec9460]:focus{background-color:var(--color-background-hover);border:2px solid var(--color-border-maxcontrast)}.unified-search__result *[data-v-2dec9460]{cursor:pointer}.unified-search__result-icon[data-v-2dec9460]{overflow:hidden;width:44px;height:44px;border-radius:var(--border-radius);background-repeat:no-repeat;background-position:center center;background-size:32px}.unified-search__result-icon--rounded[data-v-2dec9460]{border-radius:22px}.unified-search__result-icon--no-preview[data-v-2dec9460]{background-size:32px}.unified-search__result-icon--with-thumbnail[data-v-2dec9460]{background-size:cover}.unified-search__result-icon--with-thumbnail[data-v-2dec9460]:not(.unified-search__result-icon--rounded){max-width:42px;max-height:42px;border:1px solid var(--color-border)}.unified-search__result-icon img[data-v-2dec9460]{width:100%;height:100%;object-fit:cover;object-position:center}.unified-search__result-icon[data-v-2dec9460],.unified-search__result-actions[data-v-2dec9460]{flex:0 0 44px}.unified-search__result-content[data-v-2dec9460]{display:flex;align-items:center;flex:1 1 100%;flex-wrap:wrap;min-width:0;padding-inline-start:10px}.unified-search__result-line-one[data-v-2dec9460],.unified-search__result-line-two[data-v-2dec9460]{overflow:hidden;flex:1 1 100%;margin:1px 0;white-space:nowrap;text-overflow:ellipsis;color:inherit;font-size:inherit}.unified-search__result-line-two[data-v-2dec9460]{opacity:.7;font-size:var(--default-font-size)}","",{version:3,sources:["webpack://./core/src/components/UnifiedSearch/LegacySearchResult.vue"],names:[],mappings:"AAMA,yCACC,YAAA,CACA,kBAAA,CACA,WANgB,CAOhB,YANQ,CAOR,8BAAA,CACA,mDAAA,CAEA,kDACC,8CAAA,CAGD,8IAGC,8CAAA,CACA,gDAAA,CAGD,2CACC,cAAA,CAGD,8CACC,eAAA,CACA,UA5Be,CA6Bf,WA7Be,CA8Bf,kCAAA,CACA,2BAAA,CACA,iCAAA,CACA,oBAAA,CACA,uDACC,kBAAA,CAED,0DACC,oBAAA,CAED,8DACC,qBAAA,CAED,yGAEC,cAAA,CACA,eAAA,CACA,oCAAA,CAGD,kDAEC,UAAA,CACA,WAAA,CAEA,gBAAA,CACA,sBAAA,CAIF,+FAEC,aAAA,CAGD,iDACC,YAAA,CACA,kBAAA,CACA,aAAA,CACA,cAAA,CAEA,WAAA,CACA,yBAvEO,CA0ER,oGAEC,eAAA,CACA,aAAA,CACA,YAAA,CACA,kBAAA,CACA,sBAAA,CAEA,aAAA,CACA,iBAAA,CAED,kDACC,UAAA,CACA,kCAAA",sourcesContent:['\n@use "sass:math";\n\n$clickable-area: 44px;\n$margin: 10px;\n\n.unified-search__result {\n\tdisplay: flex;\n\talign-items: center;\n\theight: $clickable-area;\n\tpadding: $margin;\n\tborder: 2px solid transparent;\n\tborder-radius: var(--border-radius-large) !important;\n\n\t&--focused {\n\t\tbackground-color: var(--color-background-hover);\n\t}\n\n\t&:active,\n\t&:hover,\n\t&:focus {\n\t\tbackground-color: var(--color-background-hover);\n\t\tborder: 2px solid var(--color-border-maxcontrast);\n\t}\n\n\t* {\n\t\tcursor: pointer;\n\t}\n\n\t&-icon {\n\t\toverflow: hidden;\n\t\twidth: $clickable-area;\n\t\theight: $clickable-area;\n\t\tborder-radius: var(--border-radius);\n\t\tbackground-repeat: no-repeat;\n\t\tbackground-position: center center;\n\t\tbackground-size: 32px;\n\t\t&--rounded {\n\t\t\tborder-radius: math.div($clickable-area, 2);\n\t\t}\n\t\t&--no-preview {\n\t\t\tbackground-size: 32px;\n\t\t}\n\t\t&--with-thumbnail {\n\t\t\tbackground-size: cover;\n\t\t}\n\t\t&--with-thumbnail:not(&--rounded) {\n\t\t\t// compensate for border\n\t\t\tmax-width: $clickable-area - 2px;\n\t\t\tmax-height: $clickable-area - 2px;\n\t\t\tborder: 1px solid var(--color-border);\n\t\t}\n\n\t\timg {\n\t\t\t// Make sure to keep ratio\n\t\t\twidth: 100%;\n\t\t\theight: 100%;\n\n\t\t\tobject-fit: cover;\n\t\t\tobject-position: center;\n\t\t}\n\t}\n\n\t&-icon,\n\t&-actions {\n\t\tflex: 0 0 $clickable-area;\n\t}\n\n\t&-content {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tflex: 1 1 100%;\n\t\tflex-wrap: wrap;\n\t\t// Set to minimum and gro from it\n\t\tmin-width: 0;\n\t\tpadding-inline-start: $margin;\n\t}\n\n\t&-line-one,\n\t&-line-two {\n\t\toverflow: hidden;\n\t\tflex: 1 1 100%;\n\t\tmargin: 1px 0;\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t\t// Use the same color as the `a`\n\t\tcolor: inherit;\n\t\tfont-size: inherit;\n\t}\n\t&-line-two {\n\t\topacity: .7;\n\t\tfont-size: var(--default-font-size);\n\t}\n}\n\n'],sourceRoot:""}]);const o=s},35080(t,e,i){i.d(e,{A:()=>o});var n=i(71354),r=i.n(n),a=i(76314),s=i.n(a)()(r());s.push([t.id,".unified-search__result-placeholder-gradient[data-v-480c8b8e]{position:fixed;height:0;width:0;z-index:-1}.unified-search__result-placeholder[data-v-480c8b8e]{width:calc(100% - 2*10px);height:44px;margin:10px}.unified-search__result-placeholder-icon[data-v-480c8b8e]{width:44px;height:44px;rx:var(--border-radius);ry:var(--border-radius)}.unified-search__result-placeholder-line-one[data-v-480c8b8e],.unified-search__result-placeholder-line-two[data-v-480c8b8e]{width:calc(100% - 54px);height:1em;x:54px}.unified-search__result-placeholder-line-one[data-v-480c8b8e]{y:5px}.unified-search__result-placeholder-line-two[data-v-480c8b8e]{y:25px}","",{version:3,sources:["webpack://./core/src/components/UnifiedSearch/SearchResultPlaceholders.vue"],names:[],mappings:"AAIA,8DACC,cAAA,CACA,QAAA,CACA,OAAA,CACA,UAAA,CAGD,qDACC,yBAAA,CACA,WAZgB,CAahB,WAZQ,CAcR,0DACC,UAhBe,CAiBf,WAjBe,CAkBf,uBAAA,CACA,uBAAA,CAGD,4HAEC,uBAAA,CACA,UAAA,CACA,MAAA,CAGD,8DACC,KAAA,CAGD,8DACC,MAAA",sourcesContent:["\n$clickable-area: 44px;\n$margin: 10px;\n\n.unified-search__result-placeholder-gradient {\n\tposition: fixed;\n\theight: 0;\n\twidth: 0;\n\tz-index: -1;\n}\n\n.unified-search__result-placeholder {\n\twidth: calc(100% - 2 * #{$margin});\n\theight: $clickable-area;\n\tmargin: $margin;\n\n\t&-icon {\n\t\twidth: $clickable-area;\n\t\theight: $clickable-area;\n\t\trx: var(--border-radius);\n\t\try: var(--border-radius);\n\t}\n\n\t&-line-one,\n\t&-line-two {\n\t\twidth: calc(100% - #{$margin + $clickable-area});\n\t\theight: 1em;\n\t\tx: $margin + $clickable-area;\n\t}\n\n\t&-line-one {\n\t\ty: 5px;\n\t}\n\n\t&-line-two {\n\t\ty: 25px;\n\t}\n}\n\n"],sourceRoot:""}]);const o=s},66620(t,e,i){i.d(e,{A:()=>o});var n=i(71354),r=i.n(n),a=i(76314),s=i.n(a)()(r());s.push([t.id,".unified-search__trigger-icon[data-v-4cdce41c]{color:var(--color-background-plain-text) !important}.unified-search__input-wrapper[data-v-4cdce41c]{position:sticky;z-index:2;top:0;display:inline-flex;flex-direction:column;align-items:center;width:100%;background-color:var(--color-main-background)}.unified-search__input-wrapper label[for=unified-search__input][data-v-4cdce41c]{align-self:flex-start;font-weight:bold;font-size:19px;margin-inline-start:13px}.unified-search__input-row[data-v-4cdce41c]{display:flex;width:100%;align-items:center}.unified-search__filters[data-v-4cdce41c]{margin-block:10px;margin-inline:5px 0;padding-top:5px}.unified-search__filters ul[data-v-4cdce41c]{display:inline-flex;justify-content:space-between}.unified-search__form[data-v-4cdce41c]{position:relative;width:100%;margin:10px 0}.unified-search__form[data-v-4cdce41c]::after{inset-inline-start:auto 10px}.unified-search__form-input[data-v-4cdce41c],.unified-search__form-reset[data-v-4cdce41c]{margin:5px}.unified-search__form-input[data-v-4cdce41c]{width:100%;height:34px;padding:10px}.unified-search__form-input[data-v-4cdce41c]:focus,.unified-search__form-input[data-v-4cdce41c]:focus-visible,.unified-search__form-input[data-v-4cdce41c]:active{border-color:2px solid var(--color-main-text) !important;box-shadow:0 0 0 2px var(--color-main-background) !important}.unified-search__form-input[data-v-4cdce41c],.unified-search__form-input[placeholder][data-v-4cdce41c],.unified-search__form-input[data-v-4cdce41c]::placeholder{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.unified-search__form-input[data-v-4cdce41c]::-webkit-search-decoration,.unified-search__form-input[data-v-4cdce41c]::-webkit-search-cancel-button,.unified-search__form-input[data-v-4cdce41c]::-webkit-search-results-button,.unified-search__form-input[data-v-4cdce41c]::-webkit-search-results-decoration{-webkit-appearance:none}.unified-search__form-reset[data-v-4cdce41c],.unified-search__form-submit[data-v-4cdce41c]{position:absolute;top:0;inset-inline-end:4px;width:24px;height:24px;min-height:30px;padding:0;opacity:.5;border:none;background-color:rgba(0,0,0,0);margin-inline-end:0}.unified-search__form-reset[data-v-4cdce41c]:hover,.unified-search__form-reset[data-v-4cdce41c]:focus,.unified-search__form-reset[data-v-4cdce41c]:active,.unified-search__form-submit[data-v-4cdce41c]:hover,.unified-search__form-submit[data-v-4cdce41c]:focus,.unified-search__form-submit[data-v-4cdce41c]:active{opacity:1}.unified-search__form-submit[data-v-4cdce41c]{inset-inline-end:28px}.unified-search__results[data-v-4cdce41c]{display:flex;flex-direction:column;gap:4px}.unified-search__results-header[data-v-4cdce41c]{display:block;margin:10px;margin-bottom:6px;margin-inline-start:13px;color:var(--color-primary-element);font-size:19px;font-weight:bold}.unified-search[data-v-4cdce41c] .unified-search__result-more{color:var(--color-text-maxcontrast)}.unified-search .empty-content[data-v-4cdce41c]{margin:10vh 0}.unified-search .empty-content[data-v-4cdce41c] .empty-content__title{font-weight:normal;font-size:var(--default-font-size);text-align:center}","",{version:3,sources:["webpack://./core/src/views/LegacyUnifiedSearch.vue"],names:[],mappings:"AAQC,+CACC,mDAAA,CAGD,gDACC,eAAA,CAEA,SAAA,CACA,KAAA,CACA,mBAAA,CACA,qBAAA,CACA,kBAAA,CACA,UAAA,CACA,6CAAA,CAEA,iFACC,qBAAA,CACA,gBAAA,CACA,cAAA,CACA,wBAAA,CAIF,4CACC,YAAA,CACA,UAAA,CACA,kBAAA,CAGD,0CACC,iBAnCO,CAoCP,mBAAA,CACA,eAAA,CACA,6CACC,mBAAA,CACA,6BAAA,CAIF,uCACC,iBAAA,CACA,UAAA,CACA,aAAA,CAGA,8CACA,4BAAA,CAGA,0FAEC,UAAA,CAGD,6CACC,UAAA,CACA,WA5DY,CA6DZ,YA5Da,CA8Db,kKAGC,wDAAA,CACA,4DAAA,CAGD,iKAGC,eAAA,CACA,kBAAA,CACA,sBAAA,CAID,+SAIC,uBAAA,CAIF,2FAEC,iBAAA,CACA,KAAA,CACA,oBAAA,CACA,UAAA,CACA,WAAA,CACA,eAAA,CACA,SAAA,CACA,UAAA,CACA,WAAA,CACA,8BAAA,CACA,mBAAA,CAEA,uTAGC,SAAA,CAIF,8CACC,qBAAA,CAIF,0CACC,YAAA,CACA,qBAAA,CACA,OAAA,CAEA,iDACC,aAAA,CACA,WAzHM,CA0HN,iBAAA,CACA,wBAAA,CACA,kCAAA,CACA,cAAA,CACA,gBAAA,CAIF,8DACC,mCAAA,CAGD,gDACC,aAAA,CAEA,sEACC,kBAAA,CACA,kCAAA,CACA,iBAAA",sourcesContent:['\n@use "sass:math";\n\n$margin: 10px;\n$input-height: 34px;\n$input-padding: 10px;\n\n.unified-search {\n\t&__trigger-icon {\n\t\tcolor: var(--color-background-plain-text) !important;\n\t}\n\n\t&__input-wrapper {\n\t\tposition: sticky;\n\t\t// above search results\n\t\tz-index: 2;\n\t\ttop: 0;\n\t\tdisplay: inline-flex;\n\t\tflex-direction: column;\n\t\talign-items: center;\n\t\twidth: 100%;\n\t\tbackground-color: var(--color-main-background);\n\n\t\tlabel[for="unified-search__input"] {\n\t\t\talign-self: flex-start;\n\t\t\tfont-weight: bold;\n\t\t\tfont-size: 19px;\n\t\t\tmargin-inline-start: 13px;\n\t\t}\n\t}\n\n\t&__input-row {\n\t\tdisplay: flex;\n\t\twidth: 100%;\n\t\talign-items: center;\n\t}\n\n\t&__filters {\n\t\tmargin-block: $margin;\n\t\tmargin-inline: math.div($margin, 2) 0;\n\t\tpadding-top: 5px;\n\t\tul {\n\t\t\tdisplay: inline-flex;\n\t\t\tjustify-content: space-between;\n\t\t}\n\t}\n\n\t&__form {\n\t\tposition: relative;\n\t\twidth: 100%;\n\t\tmargin: $margin 0;\n\n\t\t// Loading spinner\n\t\t&::after {\n\t\tinset-inline-start: auto $input-padding;\n\t\t}\n\n\t\t&-input,\n\t\t&-reset {\n\t\t\tmargin: math.div($input-padding, 2);\n\t\t}\n\n\t\t&-input {\n\t\t\twidth: 100%;\n\t\t\theight: $input-height;\n\t\t\tpadding: $input-padding;\n\n\t\t\t&:focus,\n\t\t\t&:focus-visible,\n\t\t\t&:active {\n\t\t\t\tborder-color: 2px solid var(--color-main-text) !important;\n\t\t\t\tbox-shadow: 0 0 0 2px var(--color-main-background) !important;\n\t\t\t}\n\n\t\t\t&,\n\t\t\t&[placeholder],\n\t\t\t&::placeholder {\n\t\t\t\toverflow: hidden;\n\t\t\t\twhite-space: nowrap;\n\t\t\t\ttext-overflow: ellipsis;\n\t\t\t}\n\n\t\t\t// Hide webkit clear search\n\t\t\t&::-webkit-search-decoration,\n\t\t\t&::-webkit-search-cancel-button,\n\t\t\t&::-webkit-search-results-button,\n\t\t\t&::-webkit-search-results-decoration {\n\t\t\t\t-webkit-appearance: none;\n\t\t\t}\n\t\t}\n\n\t\t&-reset,\n\t\t&-submit {\n\t\t\tposition: absolute;\n\t\t\ttop: 0;\n\t\t\tinset-inline-end: 4px;\n\t\t\twidth: $input-height - $input-padding;\n\t\t\theight: $input-height - $input-padding;\n\t\t\tmin-height: 30px;\n\t\t\tpadding: 0;\n\t\t\topacity: .5;\n\t\t\tborder: none;\n\t\t\tbackground-color: transparent;\n\t\t\tmargin-inline-end: 0;\n\n\t\t\t&:hover,\n\t\t\t&:focus,\n\t\t\t&:active {\n\t\t\t\topacity: 1;\n\t\t\t}\n\t\t}\n\n\t\t&-submit {\n\t\t\tinset-inline-end: 28px;\n\t\t}\n\t}\n\n\t&__results {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tgap: 4px;\n\n\t\t&-header {\n\t\t\tdisplay: block;\n\t\t\tmargin: $margin;\n\t\t\tmargin-bottom: $margin - 4px;\n\t\t\tmargin-inline-start: 13px;\n\t\t\tcolor: var(--color-primary-element);\n\t\t\tfont-size: 19px;\n\t\t\tfont-weight: bold;\n\t\t}\n\t}\n\n\t:deep(.unified-search__result-more) {\n\t\tcolor: var(--color-text-maxcontrast);\n\t}\n\n\t.empty-content {\n\t\tmargin: 10vh 0;\n\n\t\t:deep(.empty-content__title) {\n\t\t\tfont-weight: normal;\n\t\t\tfont-size: var(--default-font-size);\n\t\t\ttext-align: center;\n\t\t}\n\t}\n}\n\n'],sourceRoot:""}]);const o=s}},s={};function o(t){var e=s[t];if(void 0!==e)return e.exports;var i=s[t]={id:t,loaded:!1,exports:{}};return a[t].call(i.exports,i,i.exports,o),i.loaded=!0,i.exports}o.m=a,e=[],o.O=(t,i,n,r)=>{if(!i){var a=1/0;for(d=0;d=r)&&Object.keys(o.O).every(t=>o.O[t](i[c]))?i.splice(c--,1):(s=!1,r0&&e[d-1][2]>r;d--)e[d]=e[d-1];e[d]=[i,n,r]},o.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return o.d(e,{a:e}),e},o.d=(t,e)=>{for(var i in e)o.o(e,i)&&!o.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},o.f={},o.e=t=>Promise.all(Object.keys(o.f).reduce((e,i)=>(o.f[i](t,e),e),[])),o.u=t=>t+"-"+t+".js?v="+{4005:"ea0438a7997fd9e715c6",4017:"dec6f3d66ff15c8062d0",5236:"311a02bae05374304a11",7859:"374481dd0197cd96efe4",8374:"a1555d19d2bb52436702",8436:"e9ae15ec61caab34615a",8689:"81e9b831f82f55de32df"}[t],o.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),i={},r="nextcloud-ui-legacy:",o.l=(t,e,n,a)=>{if(i[t])i[t].push(e);else{var s,c;if(void 0!==n)for(var l=document.getElementsByTagName("script"),d=0;d{s.onerror=s.onload=null,clearTimeout(A);var r=i[t];if(delete i[t],s.parentNode&&s.parentNode.removeChild(s),r&&r.forEach(t=>t(n)),e)return e(n)},A=setTimeout(h.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=h.bind(null,s.onerror),s.onload=h.bind(null,s.onload),c&&document.head.appendChild(s)}},o.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},o.nmd=t=>(t.paths=[],t.children||(t.children=[]),t),o.j=1684,(()=>{var t;globalThis.importScripts&&(t=globalThis.location+"");var e=globalThis.document;if(!t&&e&&(e.currentScript&&"SCRIPT"===e.currentScript.tagName.toUpperCase()&&(t=e.currentScript.src),!t)){var i=e.getElementsByTagName("script");if(i.length)for(var n=i.length-1;n>-1&&(!t||!/^http(s?):/.test(t));)t=i[n--].src}if(!t)throw new Error("Automatic publicPath is not supported in this browser");t=t.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),o.p=t})(),(()=>{o.b="undefined"!=typeof document&&document.baseURI||self.location.href;var t={1684:0};o.f.j=(e,i)=>{var n=o.o(t,e)?t[e]:void 0;if(0!==n)if(n)i.push(n[2]);else{var r=new Promise((i,r)=>n=t[e]=[i,r]);i.push(n[2]=r);var a=o.p+o.u(e),s=new Error;o.l(a,i=>{if(o.o(t,e)&&(0!==(n=t[e])&&(t[e]=void 0),n)){var r=i&&("load"===i.type?"missing":i.type),a=i&&i.target&&i.target.src;s.message="Loading chunk "+e+" failed.\n("+r+": "+a+")",s.name="ChunkLoadError",s.type=r,s.request=a,n[1](s)}},"chunk-"+e,e)}},o.O.j=e=>0===t[e];var e=(e,i)=>{var n,r,[a,s,c]=i,l=0;if(a.some(e=>0!==t[e])){for(n in s)o.o(s,n)&&(o.m[n]=s[n]);if(c)var d=c(o)}for(e&&e(i);lo(50556));c=o.O(c)})(); -//# sourceMappingURL=core-legacy-unified-search.js.map?v=ff50b8cdcb77f65e9010 \ No newline at end of file +(()=>{"use strict";var e,i,r,a={29610(e,i,r){var a=r(21777),s=r(53334),o=r(35947),c=r(85471),l=r(85168),d=r(61338),u=r(46855),h=r(57505),A=r(24764),p=r(48943),f=r(2769),g=r(82182);const C={name:"MagnifyIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var b=r(14486);const m=(0,b.A)(C,function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon magnify-icon",attrs:{"aria-hidden":t.title?null:"true","aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M9.5,3A6.5,6.5 0 0,1 16,9.5C16,11.11 15.41,12.59 14.44,13.73L14.71,14H15.5L20.5,19L19,20.5L14,15.5V14.71L13.73,14.44C12.59,15.41 11.11,16 9.5,16A6.5,6.5 0 0,1 3,9.5A6.5,6.5 0 0,1 9.5,3M9.5,5C7,5 5,7 5,9.5C5,12 7,14 9.5,14C12,14 14,12 14,9.5C14,7 12,5 9.5,5Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])},[],!1,null,null,null).exports,v={name:"LegacySearchResult",components:{NcHighlight:r(51550).N},props:{thumbnailUrl:{type:String,default:null},title:{type:String,required:!0},subline:{type:String,default:null},resourceUrl:{type:String,default:null},icon:{type:String,default:""},rounded:{type:Boolean,default:!1},query:{type:String,default:""},focused:{type:Boolean,default:!1}},data(){return{hasValidThumbnail:this.thumbnailUrl&&""!==this.thumbnailUrl.trim(),loaded:!1}},computed:{isIconUrl(){if(this.icon.startsWith("/"))return!0;try{new URL(this.icon)}catch{return!1}return!0}},watch:{thumbnailUrl(){this.hasValidThumbnail=this.thumbnailUrl&&""!==this.thumbnailUrl.trim(),this.loaded=!1}},methods:{reEmitEvent(t){this.$emit(t.type,t)},onError(){this.hasValidThumbnail=!1},onLoad(){this.loaded=!0}}};var _=r(85072),y=r.n(_),x=r(97825),w=r.n(x),k=r(77659),$=r.n(k),S=r(55056),B=r.n(S),D=r(10540),I=r.n(D),q=r(41113),E=r.n(q),L=r(53910),U={};U.styleTagTransform=E(),U.setAttributes=B(),U.insert=$().bind(null,"head"),U.domAPI=w(),U.insertStyleElement=I(),y()(L.A,U),L.A&&L.A.locals&&L.A.locals;const N=(0,b.A)(v,function(){var t=this,e=t._self._c;return e("a",{staticClass:"unified-search__result",class:{"unified-search__result--focused":t.focused},attrs:{href:t.resourceUrl||"#"},on:{click:t.reEmitEvent,focus:t.reEmitEvent}},[e("div",{staticClass:"unified-search__result-icon",class:{"unified-search__result-icon--rounded":t.rounded,"unified-search__result-icon--no-preview":!t.hasValidThumbnail&&!t.loaded,"unified-search__result-icon--with-thumbnail":t.hasValidThumbnail&&t.loaded,[t.icon]:!t.loaded&&!t.isIconUrl},style:{backgroundImage:t.isIconUrl?`url(${t.icon})`:""}},[t.hasValidThumbnail?e("img",{directives:[{name:"show",rawName:"v-show",value:t.loaded,expression:"loaded"}],attrs:{src:t.thumbnailUrl,alt:""},on:{error:t.onError,load:t.onLoad}}):t._e()]),t._v(" "),e("span",{staticClass:"unified-search__result-content"},[e("span",{staticClass:"unified-search__result-line-one",attrs:{title:t.title}},[e("NcHighlight",{attrs:{text:t.title,search:t.query}})],1),t._v(" "),t.subline?e("span",{staticClass:"unified-search__result-line-two",attrs:{title:t.subline}},[t._v(t._s(t.subline))]):t._e()])])},[],!1,null,"2dec9460",null).exports,R={name:"SearchResultPlaceholders",data:()=>({light:null,dark:null}),mounted(){const t=getComputedStyle(document.documentElement);this.dark=t.getPropertyValue("--color-placeholder-dark"),this.light=t.getPropertyValue("--color-placeholder-light")},methods:{randWidth:()=>Math.floor(20*Math.random())+30}};var T=r(35080),z={};z.styleTagTransform=E(),z.setAttributes=B(),z.insert=$().bind(null,"head"),z.domAPI=w(),z.insertStyleElement=I(),y()(T.A,z),T.A&&T.A.locals&&T.A.locals;const F=(0,b.A)(R,function(){var t=this,e=t._self._c;return e("ul",[e("svg",{staticClass:"unified-search__result-placeholder-gradient"},[e("defs",[e("linearGradient",{attrs:{id:"unified-search__result-placeholder-gradient"}},[e("stop",{attrs:{offset:"0%","stop-color":t.light}},[e("animate",{attrs:{attributeName:"stop-color",values:`${t.light}; ${t.light}; ${t.dark}; ${t.dark}; ${t.light}`,dur:"2s",repeatCount:"indefinite"}})]),t._v(" "),e("stop",{attrs:{offset:"100%","stop-color":t.dark}},[e("animate",{attrs:{attributeName:"stop-color",values:`${t.dark}; ${t.light}; ${t.light}; ${t.dark}; ${t.dark}`,dur:"2s",repeatCount:"indefinite"}})])],1)],1)]),t._v(" "),t._l([1,2,3],function(i){return e("li",{key:i},[e("svg",{staticClass:"unified-search__result-placeholder",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"url(#unified-search__result-placeholder-gradient)"}},[e("rect",{staticClass:"unified-search__result-placeholder-icon"}),t._v(" "),e("rect",{staticClass:"unified-search__result-placeholder-line-one"}),t._v(" "),e("rect",{staticClass:"unified-search__result-placeholder-line-two",style:{width:`calc(${t.randWidth()}%)`}})])])})],2)},[],!1,null,"480c8b8e",null).exports,P=null===(O=(0,a.HW)())?(0,o.YK)().setApp("core").build():(0,o.YK)().setApp("core").setUid(O.uid).build();var O;(0,o.YK)().setApp("unified-search").detectUser().build();var M=r(44368),G=r(81222),j=r(63814);const Q=(0,G.C)("unified-search","limit-default"),K=(0,G.C)("unified-search","min-search-length",1),W=(0,G.C)("unified-search","live-search",!0),V=/(^|\s)in:([a-z_-]+)/gi,Y=/(^|\s)-in:([a-z_-]+)/gi;async function H(){try{const{data:t}=await M.Ay.get((0,j.KT)("search/providers"),{params:{from:window.location.pathname.replace("/index.php","")+window.location.search}});if("ocs"in t&&"data"in t.ocs&&Array.isArray(t.ocs.data)&&t.ocs.data.length>0)return t.ocs.data}catch(t){P.error(t)}return[]}function Z({type:t,query:e,cursor:i}){const n=M.Ay.CancelToken.source();return{request:async()=>M.Ay.get((0,j.KT)("search/providers/{type}/search",{type:t}),{cancelToken:n.token,params:{term:e,cursor:i,from:window.location.pathname.replace("/index.php","")+window.location.search}}),cancel:n.cancel}}const J={name:"LegacyUnifiedSearch",components:{Magnify:m,NcActionButton:h.A,NcActions:A.A,NcEmptyContent:p.A,NcHeaderMenu:f.A,SearchResult:N,SearchResultPlaceholders:F,NcTextField:g.A},data:()=>({types:[],cursors:{},limits:{},loading:{},reached:{},requests:[],results:{},query:"",focused:null,triggered:!1,defaultLimit:Q,minSearchLength:K,enableLiveSearch:W,open:!1}),computed:{typesIDs(){return this.types.map(t=>t.id)},typesNames(){return this.types.map(t=>t.name)},typesMap(){return this.types.reduce((t,e)=>(t[e.id]=e.name,t),{})},ariaLabel:()=>t("core","Search"),hasResults(){return 0!==Object.keys(this.results).length},orderedResults(){return this.typesIDs.filter(t=>t in this.results).map(t=>({type:t,list:this.results[t]}))},availableFilters(){return Object.keys(this.results)},usedFiltersIn(){let t;const e=[];for(;null!==(t=V.exec(this.query));)e.push(t[2]);return e},usedFiltersNot(){let t;const e=[];for(;null!==(t=Y.exec(this.query));)e.push(t[2]);return e},validQueryTitle(){return this.triggered?t("core","No results for {query}",{query:this.query}):t("core","Press Enter to start searching")},shortQueryDescription(){return this.isShortQuery?n("core","Please enter {minSearchLength} character or more to search","Please enter {minSearchLength} characters or more to search",this.minSearchLength,{minSearchLength:this.minSearchLength}):""},isShortQuery(){return this.query&&this.query.trim().length!1===t)},isLoading(){return Object.values(this.loading).some(t=>!0===t)}},async created(){this.types=await H(),P.debug("Unified Search initialized with the following providers",this.types)},beforeDestroy(){(0,d.al)("files:navigation:changed",this.onNavigationChange)},mounted(){(0,d.B1)("files:navigation:changed",this.onNavigationChange),OCP.Accessibility.disableKeyboardShortcuts()||document.addEventListener("keydown",t=>{t.ctrlKey&&"KeyF"===t.code&&!this.open?(t.preventDefault(),this.open=!0):t.ctrlKey&&"f"===t.key&&this.open&&(this.open=!1),this.open&&("ArrowDown"===t.key&&this.focusNext(t),"ArrowUp"===t.key&&this.focusPrev(t))})},methods:{async onOpen(){this.types=await H()},onClose(){(0,d.Ic)("nextcloud:unified-search.close")},onNavigationChange(){this.$el?.querySelector?.('form[role="search"]')?.reset?.()},onReset(){(0,d.Ic)("nextcloud:unified-search.reset"),this.logger.debug("Search reset"),this.query="",this.resetState(),this.focusInput()},async resetState(){this.cursors={},this.limits={},this.reached={},this.results={},this.focused=null,this.triggered=!1,await this.cancelPendingRequests()},async cancelPendingRequests(){const t=this.requests.slice(0);this.requests=[],await Promise.all(t.map(t=>t()))},focusInput(){this.$nextTick(()=>{this.$refs.input.focus(),this.$refs.input.select()})},onInputEnter(){this.hasResults?this.getResultsList()[0].click():this.onInput()},async onInput(){if((0,d.Ic)("nextcloud:unified-search.search",{query:this.query}),""===this.query.trim()||this.isShortQuery){for(const t of this.typesIDs)this.$delete(this.results,t);return}let t=this.typesIDs,e=this.query;this.usedFiltersNot.length>0&&(t=this.typesIDs.filter(t=>-1===this.usedFiltersNot.indexOf(t))),this.usedFiltersIn.length>0&&(t=this.typesIDs.filter(t=>this.usedFiltersIn.indexOf(t)>-1)),e=e.replace(V,"").replace(Y,""),await this.resetState(),this.triggered=!0,t.length?(this.$set(this.loading,"all",!0),this.logger.debug(`Searching ${e} in`,t),Promise.all(t.map(async t=>{try{const{request:i,cancel:n}=Z({type:t,query:e});this.requests.push(n);const{data:r}=await i();return r.ocs.data.entries.length>0?this.$set(this.results,t,r.ocs.data.entries):this.$delete(this.results,t),r.ocs.data.cursor?this.$set(this.cursors,t,r.ocs.data.cursor):r.ocs.data.isPaginated||this.$set(this.limits,t,this.defaultLimit),r.ocs.data.entries.length{t.some(t=>2===t)||(this.loading={})})):this.logger.error("No types to search in")},onInputDebounced:W?(0,u.A)(function(t){this.onInput(t)},500):function(){this.triggered=!1},async loadMore(t){if(!this.loading[t]){if(this.cursors[t]){const{request:e,cancel:i}=Z({type:t,query:this.query,cursor:this.cursors[t]});this.requests.push(i);const{data:n}=await e();n.ocs.data.cursor&&this.$set(this.cursors,t,n.ocs.data.cursor),n.ocs.data.entries.length>0&&this.results[t].push(...n.ocs.data.entries),n.ocs.data.entries.length=0&&(this.limits[t]+=this.defaultLimit,this.limits[t]>=this.results[t].length&&this.$set(this.reached,t,!0));null!==this.focused&&this.$nextTick(()=>{this.focusIndex(this.focused)})}},limitIfAny(t,e){return e in this.limits?t.slice(0,this.limits[e]):t},getResultsList(){return this.$el.querySelectorAll(".unified-search__results .unified-search__result")},focusFirst(t){const e=this.getResultsList();e&&e.length>0&&(t&&t.preventDefault(),this.focused=0,this.focusIndex(this.focused))},focusNext(t){if(null===this.focused)return void this.focusFirst(t);const e=this.getResultsList();e&&e.length>0&&this.focused+10&&this.focused>0&&(t.preventDefault(),this.focused--,this.focusIndex(this.focused))},focusIndex(t){const e=this.getResultsList();e&&e[t]&&e[t].focus()},setFocusedIndex(t){const e=t.target,i=[...this.getResultsList()].findIndex(t=>t===e);i>-1&&(this.focused=i)},onClickFilter(t){this.query=`${this.query} ${t}`.replace(/ {2}/g," ").trim(),this.onInput()}}};var X=r(68584),tt={};tt.styleTagTransform=E(),tt.setAttributes=B(),tt.insert=$().bind(null,"head"),tt.domAPI=w(),tt.insertStyleElement=I(),y()(X.A,tt),X.A&&X.A.locals&&X.A.locals;const et=(0,b.A)(J,function(){var t=this,e=t._self._c;return e("NcHeaderMenu",{staticClass:"unified-search",attrs:{id:"unified-search","exclude-click-outside-selectors":[".popover"],open:t.open,"aria-label":t.ariaLabel},on:{"update:open":function(e){t.open=e},open:t.onOpen,close:t.onClose},scopedSlots:t._u([{key:"trigger",fn:function(){return[e("Magnify",{staticClass:"unified-search__trigger-icon",attrs:{size:20}})]},proxy:!0}])},[t._v(" "),e("div",{staticClass:"unified-search__input-wrapper"},[e("div",{staticClass:"unified-search__input-row"},[e("NcTextField",{ref:"input",staticClass:"unified-search__form-input",class:{"unified-search__form-input--with-reset":!!t.query},attrs:{"trailing-button-icon":"close",label:t.ariaLabel,"trailing-button-label":t.t("core","Reset search"),"show-trailing-button":""!==t.query,"aria-describedby":"unified-search-desc",placeholder:t.t("core","Search {types} …",{types:t.typesNames.join(", ")})},on:{"trailing-button-click":t.onReset,input:t.onInputDebounced},model:{value:t.query,callback:function(e){t.query=e},expression:"query"}}),t._v(" "),e("p",{staticClass:"hidden-visually",attrs:{id:"unified-search-desc"}},[t._v("\n\t\t\t\t"+t._s(t.t("core","Search starts once you start typing and results may be reached with the arrow keys"))+"\n\t\t\t")]),t._v(" "),t.availableFilters.length>1?e("NcActions",{staticClass:"unified-search__filters",attrs:{placement:"bottom-end",container:".unified-search__input-wrapper"}},t._l(t.availableFilters,function(i){return e("NcActionButton",{key:i,attrs:{icon:"icon-filter"},on:{click:function(e){return e.stopPropagation(),t.onClickFilter(`in:${i}`)}}},[t._v("\n\t\t\t\t\t"+t._s(t.t("core","Search for {name} only",{name:t.typesMap[i]}))+"\n\t\t\t\t")])}),1):t._e()],1)]),t._v(" "),t.hasResults?t._l(t.orderedResults,function({list:i,type:n},r){return[e("h2",{key:n,staticClass:"unified-search__results-header"},[t._v("\n\t\t\t"+t._s(t.typesMap[n])+"\n\t\t")]),t._v(" "),e("ul",{key:n,staticClass:"unified-search__results",class:`unified-search__results-${n}`,attrs:{"aria-label":t.typesMap[n]}},[t._l(t.limitIfAny(i,n),function(i,n){return e("li",{key:i.resourceUrl},[e("SearchResult",t._b({attrs:{query:t.query,focused:0===t.focused&&0===r&&0===n},on:{focus:t.setFocusedIndex}},"SearchResult",i,!1))],1)}),t._v(" "),e("li",[t.reached[n]?t._e():e("SearchResult",{staticClass:"unified-search__result-more",attrs:{title:t.loading[n]?t.t("core","Loading more results …"):t.t("core","Load more results"),"icon-class":t.loading[n]?"icon-loading-small":""},on:{click:function(e){return e.preventDefault(),e.stopPropagation(),t.loadMore(n)},focus:t.setFocusedIndex}})],1)],2)]}):[t.isLoading?e("SearchResultPlaceholders"):t.isValidQuery?e("NcEmptyContent",{attrs:{title:t.validQueryTitle},scopedSlots:t._u([{key:"icon",fn:function(){return[e("Magnify")]},proxy:!0}],null,!1,931131664)}):!t.isLoading||t.isShortQuery?e("NcEmptyContent",{attrs:{title:t.t("core","Start typing to search"),description:t.shortQueryDescription},scopedSlots:t._u([{key:"icon",fn:function(){return[e("Magnify")]},proxy:!0}],null,!1,931131664)}):t._e()]],2)},[],!1,null,"3dc6c8bb",null).exports;r.nc=(0,a.aV)();const it=(0,o.YK)().setApp("unified-search").detectUser().build();c.Ay.mixin({data:()=>({logger:it}),methods:{t:s.t,n:s.n}}),new c.Ay({el:"#unified-search",name:"UnifiedSearchRoot",render:t=>t(et)})},53910(t,e,i){i.d(e,{A:()=>o});var n=i(71354),r=i.n(n),a=i(76314),s=i.n(a)()(r());s.push([t.id,".unified-search__result[data-v-2dec9460]{display:flex;align-items:center;height:44px;padding:10px;border:2px solid rgba(0,0,0,0);border-radius:var(--border-radius-large) !important}.unified-search__result--focused[data-v-2dec9460]{background-color:var(--color-background-hover)}.unified-search__result[data-v-2dec9460]:active,.unified-search__result[data-v-2dec9460]:hover,.unified-search__result[data-v-2dec9460]:focus{background-color:var(--color-background-hover);border:2px solid var(--color-border-maxcontrast)}.unified-search__result *[data-v-2dec9460]{cursor:pointer}.unified-search__result-icon[data-v-2dec9460]{overflow:hidden;width:44px;height:44px;border-radius:var(--border-radius);background-repeat:no-repeat;background-position:center center;background-size:32px}.unified-search__result-icon--rounded[data-v-2dec9460]{border-radius:22px}.unified-search__result-icon--no-preview[data-v-2dec9460]{background-size:32px}.unified-search__result-icon--with-thumbnail[data-v-2dec9460]{background-size:cover}.unified-search__result-icon--with-thumbnail[data-v-2dec9460]:not(.unified-search__result-icon--rounded){max-width:42px;max-height:42px;border:1px solid var(--color-border)}.unified-search__result-icon img[data-v-2dec9460]{width:100%;height:100%;object-fit:cover;object-position:center}.unified-search__result-icon[data-v-2dec9460],.unified-search__result-actions[data-v-2dec9460]{flex:0 0 44px}.unified-search__result-content[data-v-2dec9460]{display:flex;align-items:center;flex:1 1 100%;flex-wrap:wrap;min-width:0;padding-inline-start:10px}.unified-search__result-line-one[data-v-2dec9460],.unified-search__result-line-two[data-v-2dec9460]{overflow:hidden;flex:1 1 100%;margin:1px 0;white-space:nowrap;text-overflow:ellipsis;color:inherit;font-size:inherit}.unified-search__result-line-two[data-v-2dec9460]{opacity:.7;font-size:var(--default-font-size)}","",{version:3,sources:["webpack://./core/src/components/UnifiedSearch/LegacySearchResult.vue"],names:[],mappings:"AAMA,yCACC,YAAA,CACA,kBAAA,CACA,WANgB,CAOhB,YANQ,CAOR,8BAAA,CACA,mDAAA,CAEA,kDACC,8CAAA,CAGD,8IAGC,8CAAA,CACA,gDAAA,CAGD,2CACC,cAAA,CAGD,8CACC,eAAA,CACA,UA5Be,CA6Bf,WA7Be,CA8Bf,kCAAA,CACA,2BAAA,CACA,iCAAA,CACA,oBAAA,CACA,uDACC,kBAAA,CAED,0DACC,oBAAA,CAED,8DACC,qBAAA,CAED,yGAEC,cAAA,CACA,eAAA,CACA,oCAAA,CAGD,kDAEC,UAAA,CACA,WAAA,CAEA,gBAAA,CACA,sBAAA,CAIF,+FAEC,aAAA,CAGD,iDACC,YAAA,CACA,kBAAA,CACA,aAAA,CACA,cAAA,CAEA,WAAA,CACA,yBAvEO,CA0ER,oGAEC,eAAA,CACA,aAAA,CACA,YAAA,CACA,kBAAA,CACA,sBAAA,CAEA,aAAA,CACA,iBAAA,CAED,kDACC,UAAA,CACA,kCAAA",sourcesContent:['\n@use "sass:math";\n\n$clickable-area: 44px;\n$margin: 10px;\n\n.unified-search__result {\n\tdisplay: flex;\n\talign-items: center;\n\theight: $clickable-area;\n\tpadding: $margin;\n\tborder: 2px solid transparent;\n\tborder-radius: var(--border-radius-large) !important;\n\n\t&--focused {\n\t\tbackground-color: var(--color-background-hover);\n\t}\n\n\t&:active,\n\t&:hover,\n\t&:focus {\n\t\tbackground-color: var(--color-background-hover);\n\t\tborder: 2px solid var(--color-border-maxcontrast);\n\t}\n\n\t* {\n\t\tcursor: pointer;\n\t}\n\n\t&-icon {\n\t\toverflow: hidden;\n\t\twidth: $clickable-area;\n\t\theight: $clickable-area;\n\t\tborder-radius: var(--border-radius);\n\t\tbackground-repeat: no-repeat;\n\t\tbackground-position: center center;\n\t\tbackground-size: 32px;\n\t\t&--rounded {\n\t\t\tborder-radius: math.div($clickable-area, 2);\n\t\t}\n\t\t&--no-preview {\n\t\t\tbackground-size: 32px;\n\t\t}\n\t\t&--with-thumbnail {\n\t\t\tbackground-size: cover;\n\t\t}\n\t\t&--with-thumbnail:not(&--rounded) {\n\t\t\t// compensate for border\n\t\t\tmax-width: $clickable-area - 2px;\n\t\t\tmax-height: $clickable-area - 2px;\n\t\t\tborder: 1px solid var(--color-border);\n\t\t}\n\n\t\timg {\n\t\t\t// Make sure to keep ratio\n\t\t\twidth: 100%;\n\t\t\theight: 100%;\n\n\t\t\tobject-fit: cover;\n\t\t\tobject-position: center;\n\t\t}\n\t}\n\n\t&-icon,\n\t&-actions {\n\t\tflex: 0 0 $clickable-area;\n\t}\n\n\t&-content {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tflex: 1 1 100%;\n\t\tflex-wrap: wrap;\n\t\t// Set to minimum and gro from it\n\t\tmin-width: 0;\n\t\tpadding-inline-start: $margin;\n\t}\n\n\t&-line-one,\n\t&-line-two {\n\t\toverflow: hidden;\n\t\tflex: 1 1 100%;\n\t\tmargin: 1px 0;\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t\t// Use the same color as the `a`\n\t\tcolor: inherit;\n\t\tfont-size: inherit;\n\t}\n\t&-line-two {\n\t\topacity: .7;\n\t\tfont-size: var(--default-font-size);\n\t}\n}\n\n'],sourceRoot:""}]);const o=s},35080(t,e,i){i.d(e,{A:()=>o});var n=i(71354),r=i.n(n),a=i(76314),s=i.n(a)()(r());s.push([t.id,".unified-search__result-placeholder-gradient[data-v-480c8b8e]{position:fixed;height:0;width:0;z-index:-1}.unified-search__result-placeholder[data-v-480c8b8e]{width:calc(100% - 2*10px);height:44px;margin:10px}.unified-search__result-placeholder-icon[data-v-480c8b8e]{width:44px;height:44px;rx:var(--border-radius);ry:var(--border-radius)}.unified-search__result-placeholder-line-one[data-v-480c8b8e],.unified-search__result-placeholder-line-two[data-v-480c8b8e]{width:calc(100% - 54px);height:1em;x:54px}.unified-search__result-placeholder-line-one[data-v-480c8b8e]{y:5px}.unified-search__result-placeholder-line-two[data-v-480c8b8e]{y:25px}","",{version:3,sources:["webpack://./core/src/components/UnifiedSearch/SearchResultPlaceholders.vue"],names:[],mappings:"AAIA,8DACC,cAAA,CACA,QAAA,CACA,OAAA,CACA,UAAA,CAGD,qDACC,yBAAA,CACA,WAZgB,CAahB,WAZQ,CAcR,0DACC,UAhBe,CAiBf,WAjBe,CAkBf,uBAAA,CACA,uBAAA,CAGD,4HAEC,uBAAA,CACA,UAAA,CACA,MAAA,CAGD,8DACC,KAAA,CAGD,8DACC,MAAA",sourcesContent:["\n$clickable-area: 44px;\n$margin: 10px;\n\n.unified-search__result-placeholder-gradient {\n\tposition: fixed;\n\theight: 0;\n\twidth: 0;\n\tz-index: -1;\n}\n\n.unified-search__result-placeholder {\n\twidth: calc(100% - 2 * #{$margin});\n\theight: $clickable-area;\n\tmargin: $margin;\n\n\t&-icon {\n\t\twidth: $clickable-area;\n\t\theight: $clickable-area;\n\t\trx: var(--border-radius);\n\t\try: var(--border-radius);\n\t}\n\n\t&-line-one,\n\t&-line-two {\n\t\twidth: calc(100% - #{$margin + $clickable-area});\n\t\theight: 1em;\n\t\tx: $margin + $clickable-area;\n\t}\n\n\t&-line-one {\n\t\ty: 5px;\n\t}\n\n\t&-line-two {\n\t\ty: 25px;\n\t}\n}\n\n"],sourceRoot:""}]);const o=s},68584(t,e,i){i.d(e,{A:()=>o});var n=i(71354),r=i.n(n),a=i(76314),s=i.n(a)()(r());s.push([t.id,".unified-search__trigger-icon[data-v-3dc6c8bb]{color:var(--color-background-plain-text) !important}.unified-search__input-wrapper[data-v-3dc6c8bb]{position:sticky;z-index:2;top:0;display:inline-flex;flex-direction:column;align-items:center;width:100%;background-color:var(--color-main-background)}.unified-search__input-wrapper label[for=unified-search__input][data-v-3dc6c8bb]{align-self:flex-start;font-weight:bold;font-size:19px;margin-inline-start:13px}.unified-search__input-row[data-v-3dc6c8bb]{display:flex;width:100%;align-items:center}.unified-search__filters[data-v-3dc6c8bb]{margin-block:10px;margin-inline:5px 0;padding-top:5px}.unified-search__filters ul[data-v-3dc6c8bb]{display:inline-flex;justify-content:space-between}.unified-search__form[data-v-3dc6c8bb]{position:relative;width:100%;margin:10px 0}.unified-search__form[data-v-3dc6c8bb]::after{inset-inline-start:auto 10px}.unified-search__form-input[data-v-3dc6c8bb],.unified-search__form-reset[data-v-3dc6c8bb]{margin:5px}.unified-search__form-input[data-v-3dc6c8bb]{width:100%;height:34px;padding:10px}.unified-search__form-input[data-v-3dc6c8bb]:focus,.unified-search__form-input[data-v-3dc6c8bb]:focus-visible,.unified-search__form-input[data-v-3dc6c8bb]:active{border-color:2px solid var(--color-main-text) !important;box-shadow:0 0 0 2px var(--color-main-background) !important}.unified-search__form-input[data-v-3dc6c8bb],.unified-search__form-input[placeholder][data-v-3dc6c8bb],.unified-search__form-input[data-v-3dc6c8bb]::placeholder{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.unified-search__form-input[data-v-3dc6c8bb]::-webkit-search-decoration,.unified-search__form-input[data-v-3dc6c8bb]::-webkit-search-cancel-button,.unified-search__form-input[data-v-3dc6c8bb]::-webkit-search-results-button,.unified-search__form-input[data-v-3dc6c8bb]::-webkit-search-results-decoration{-webkit-appearance:none}.unified-search__form-reset[data-v-3dc6c8bb],.unified-search__form-submit[data-v-3dc6c8bb]{position:absolute;top:0;inset-inline-end:4px;width:24px;height:24px;min-height:30px;padding:0;opacity:.5;border:none;background-color:rgba(0,0,0,0);margin-inline-end:0}.unified-search__form-reset[data-v-3dc6c8bb]:hover,.unified-search__form-reset[data-v-3dc6c8bb]:focus,.unified-search__form-reset[data-v-3dc6c8bb]:active,.unified-search__form-submit[data-v-3dc6c8bb]:hover,.unified-search__form-submit[data-v-3dc6c8bb]:focus,.unified-search__form-submit[data-v-3dc6c8bb]:active{opacity:1}.unified-search__form-submit[data-v-3dc6c8bb]{inset-inline-end:28px}.unified-search__results[data-v-3dc6c8bb]{display:flex;flex-direction:column;gap:4px}.unified-search__results-header[data-v-3dc6c8bb]{display:block;margin:10px;margin-bottom:6px;margin-inline-start:13px;color:var(--color-primary-element);font-size:19px;font-weight:bold}.unified-search[data-v-3dc6c8bb] .unified-search__result-more{color:var(--color-text-maxcontrast)}.unified-search .empty-content[data-v-3dc6c8bb]{margin:10vh 0}.unified-search .empty-content[data-v-3dc6c8bb] .empty-content__title{font-weight:normal;font-size:var(--default-font-size);text-align:center}","",{version:3,sources:["webpack://./core/src/views/LegacyUnifiedSearch.vue"],names:[],mappings:"AAQC,+CACC,mDAAA,CAGD,gDACC,eAAA,CAEA,SAAA,CACA,KAAA,CACA,mBAAA,CACA,qBAAA,CACA,kBAAA,CACA,UAAA,CACA,6CAAA,CAEA,iFACC,qBAAA,CACA,gBAAA,CACA,cAAA,CACA,wBAAA,CAIF,4CACC,YAAA,CACA,UAAA,CACA,kBAAA,CAGD,0CACC,iBAnCO,CAoCP,mBAAA,CACA,eAAA,CACA,6CACC,mBAAA,CACA,6BAAA,CAIF,uCACC,iBAAA,CACA,UAAA,CACA,aAAA,CAGA,8CACA,4BAAA,CAGA,0FAEC,UAAA,CAGD,6CACC,UAAA,CACA,WA5DY,CA6DZ,YA5Da,CA8Db,kKAGC,wDAAA,CACA,4DAAA,CAGD,iKAGC,eAAA,CACA,kBAAA,CACA,sBAAA,CAID,+SAIC,uBAAA,CAIF,2FAEC,iBAAA,CACA,KAAA,CACA,oBAAA,CACA,UAAA,CACA,WAAA,CACA,eAAA,CACA,SAAA,CACA,UAAA,CACA,WAAA,CACA,8BAAA,CACA,mBAAA,CAEA,uTAGC,SAAA,CAIF,8CACC,qBAAA,CAIF,0CACC,YAAA,CACA,qBAAA,CACA,OAAA,CAEA,iDACC,aAAA,CACA,WAzHM,CA0HN,iBAAA,CACA,wBAAA,CACA,kCAAA,CACA,cAAA,CACA,gBAAA,CAIF,8DACC,mCAAA,CAGD,gDACC,aAAA,CAEA,sEACC,kBAAA,CACA,kCAAA,CACA,iBAAA",sourcesContent:['\n@use "sass:math";\n\n$margin: 10px;\n$input-height: 34px;\n$input-padding: 10px;\n\n.unified-search {\n\t&__trigger-icon {\n\t\tcolor: var(--color-background-plain-text) !important;\n\t}\n\n\t&__input-wrapper {\n\t\tposition: sticky;\n\t\t// above search results\n\t\tz-index: 2;\n\t\ttop: 0;\n\t\tdisplay: inline-flex;\n\t\tflex-direction: column;\n\t\talign-items: center;\n\t\twidth: 100%;\n\t\tbackground-color: var(--color-main-background);\n\n\t\tlabel[for="unified-search__input"] {\n\t\t\talign-self: flex-start;\n\t\t\tfont-weight: bold;\n\t\t\tfont-size: 19px;\n\t\t\tmargin-inline-start: 13px;\n\t\t}\n\t}\n\n\t&__input-row {\n\t\tdisplay: flex;\n\t\twidth: 100%;\n\t\talign-items: center;\n\t}\n\n\t&__filters {\n\t\tmargin-block: $margin;\n\t\tmargin-inline: math.div($margin, 2) 0;\n\t\tpadding-top: 5px;\n\t\tul {\n\t\t\tdisplay: inline-flex;\n\t\t\tjustify-content: space-between;\n\t\t}\n\t}\n\n\t&__form {\n\t\tposition: relative;\n\t\twidth: 100%;\n\t\tmargin: $margin 0;\n\n\t\t// Loading spinner\n\t\t&::after {\n\t\tinset-inline-start: auto $input-padding;\n\t\t}\n\n\t\t&-input,\n\t\t&-reset {\n\t\t\tmargin: math.div($input-padding, 2);\n\t\t}\n\n\t\t&-input {\n\t\t\twidth: 100%;\n\t\t\theight: $input-height;\n\t\t\tpadding: $input-padding;\n\n\t\t\t&:focus,\n\t\t\t&:focus-visible,\n\t\t\t&:active {\n\t\t\t\tborder-color: 2px solid var(--color-main-text) !important;\n\t\t\t\tbox-shadow: 0 0 0 2px var(--color-main-background) !important;\n\t\t\t}\n\n\t\t\t&,\n\t\t\t&[placeholder],\n\t\t\t&::placeholder {\n\t\t\t\toverflow: hidden;\n\t\t\t\twhite-space: nowrap;\n\t\t\t\ttext-overflow: ellipsis;\n\t\t\t}\n\n\t\t\t// Hide webkit clear search\n\t\t\t&::-webkit-search-decoration,\n\t\t\t&::-webkit-search-cancel-button,\n\t\t\t&::-webkit-search-results-button,\n\t\t\t&::-webkit-search-results-decoration {\n\t\t\t\t-webkit-appearance: none;\n\t\t\t}\n\t\t}\n\n\t\t&-reset,\n\t\t&-submit {\n\t\t\tposition: absolute;\n\t\t\ttop: 0;\n\t\t\tinset-inline-end: 4px;\n\t\t\twidth: $input-height - $input-padding;\n\t\t\theight: $input-height - $input-padding;\n\t\t\tmin-height: 30px;\n\t\t\tpadding: 0;\n\t\t\topacity: .5;\n\t\t\tborder: none;\n\t\t\tbackground-color: transparent;\n\t\t\tmargin-inline-end: 0;\n\n\t\t\t&:hover,\n\t\t\t&:focus,\n\t\t\t&:active {\n\t\t\t\topacity: 1;\n\t\t\t}\n\t\t}\n\n\t\t&-submit {\n\t\t\tinset-inline-end: 28px;\n\t\t}\n\t}\n\n\t&__results {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tgap: 4px;\n\n\t\t&-header {\n\t\t\tdisplay: block;\n\t\t\tmargin: $margin;\n\t\t\tmargin-bottom: $margin - 4px;\n\t\t\tmargin-inline-start: 13px;\n\t\t\tcolor: var(--color-primary-element);\n\t\t\tfont-size: 19px;\n\t\t\tfont-weight: bold;\n\t\t}\n\t}\n\n\t:deep(.unified-search__result-more) {\n\t\tcolor: var(--color-text-maxcontrast);\n\t}\n\n\t.empty-content {\n\t\tmargin: 10vh 0;\n\n\t\t:deep(.empty-content__title) {\n\t\t\tfont-weight: normal;\n\t\t\tfont-size: var(--default-font-size);\n\t\t\ttext-align: center;\n\t\t}\n\t}\n}\n\n'],sourceRoot:""}]);const o=s}},s={};function o(t){var e=s[t];if(void 0!==e)return e.exports;var i=s[t]={id:t,loaded:!1,exports:{}};return a[t].call(i.exports,i,i.exports,o),i.loaded=!0,i.exports}o.m=a,e=[],o.O=(t,i,n,r)=>{if(!i){var a=1/0;for(d=0;d=r)&&Object.keys(o.O).every(t=>o.O[t](i[c]))?i.splice(c--,1):(s=!1,r0&&e[d-1][2]>r;d--)e[d]=e[d-1];e[d]=[i,n,r]},o.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return o.d(e,{a:e}),e},o.d=(t,e)=>{for(var i in e)o.o(e,i)&&!o.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},o.f={},o.e=t=>Promise.all(Object.keys(o.f).reduce((e,i)=>(o.f[i](t,e),e),[])),o.u=t=>t+"-"+t+".js?v="+{4005:"ea0438a7997fd9e715c6",4017:"dec6f3d66ff15c8062d0",5236:"311a02bae05374304a11",7859:"374481dd0197cd96efe4",8374:"a1555d19d2bb52436702",8436:"e9ae15ec61caab34615a",8689:"81e9b831f82f55de32df"}[t],o.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),i={},r="nextcloud-ui-legacy:",o.l=(t,e,n,a)=>{if(i[t])i[t].push(e);else{var s,c;if(void 0!==n)for(var l=document.getElementsByTagName("script"),d=0;d{s.onerror=s.onload=null,clearTimeout(A);var r=i[t];if(delete i[t],s.parentNode&&s.parentNode.removeChild(s),r&&r.forEach(t=>t(n)),e)return e(n)},A=setTimeout(h.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=h.bind(null,s.onerror),s.onload=h.bind(null,s.onload),c&&document.head.appendChild(s)}},o.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},o.nmd=t=>(t.paths=[],t.children||(t.children=[]),t),o.j=1684,(()=>{var t;globalThis.importScripts&&(t=globalThis.location+"");var e=globalThis.document;if(!t&&e&&(e.currentScript&&"SCRIPT"===e.currentScript.tagName.toUpperCase()&&(t=e.currentScript.src),!t)){var i=e.getElementsByTagName("script");if(i.length)for(var n=i.length-1;n>-1&&(!t||!/^http(s?):/.test(t));)t=i[n--].src}if(!t)throw new Error("Automatic publicPath is not supported in this browser");t=t.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),o.p=t})(),(()=>{o.b="undefined"!=typeof document&&document.baseURI||self.location.href;var t={1684:0};o.f.j=(e,i)=>{var n=o.o(t,e)?t[e]:void 0;if(0!==n)if(n)i.push(n[2]);else{var r=new Promise((i,r)=>n=t[e]=[i,r]);i.push(n[2]=r);var a=o.p+o.u(e),s=new Error;o.l(a,i=>{if(o.o(t,e)&&(0!==(n=t[e])&&(t[e]=void 0),n)){var r=i&&("load"===i.type?"missing":i.type),a=i&&i.target&&i.target.src;s.message="Loading chunk "+e+" failed.\n("+r+": "+a+")",s.name="ChunkLoadError",s.type=r,s.request=a,n[1](s)}},"chunk-"+e,e)}},o.O.j=e=>0===t[e];var e=(e,i)=>{var n,r,[a,s,c]=i,l=0;if(a.some(e=>0!==t[e])){for(n in s)o.o(s,n)&&(o.m[n]=s[n]);if(c)var d=c(o)}for(e&&e(i);lo(29610));c=o.O(c)})(); +//# sourceMappingURL=core-legacy-unified-search.js.map?v=c90022519be99b2a94d3 \ No newline at end of file diff --git a/dist/core-legacy-unified-search.js.map b/dist/core-legacy-unified-search.js.map index 1112c46269763..7fe60acf5367d 100644 --- a/dist/core-legacy-unified-search.js.map +++ b/dist/core-legacy-unified-search.js.map @@ -1 +1 @@ -{"version":3,"file":"core-legacy-unified-search.js?v=ff50b8cdcb77f65e9010","mappings":"uBAAAA,ECAAC,EACAC,yJCmBA,MCpB0GC,EDoB1G,CACAC,KAAA,cACAC,MAAA,UACAC,MAAA,CACAC,MAAA,CACAC,KAAAC,QAEAC,UAAA,CACAF,KAAAC,OACAE,QAAA,gBAEAC,KAAA,CACAJ,KAAAK,OACAF,QAAA,qBEfA,MAAAG,GAXgB,EAAAC,EAAAC,GACdb,ECRQ,WAAqB,IAAAc,EAAAC,KAAAC,EAAAF,EAAAG,MAAAD,GAA6B,OAAAA,EAAA,OAAAF,EAAAI,GAAA,CAAyBC,YAAA,oCAAAC,MAAA,CAAuD,cAAAN,EAAAV,MAAA,yBAAAU,EAAAV,MAAAiB,KAAA,OAA4EC,GAAA,CAAKC,MAAA,SAAAC,GAAyB,OAAAV,EAAAW,MAAA,QAAAD,EAAA,IAAoC,OAAAV,EAAAY,QAAA,IAAAV,EAAA,OAAqCG,YAAA,4BAAAC,MAAA,CAA+CO,KAAAb,EAAAP,UAAAqB,MAAAd,EAAAL,KAAAoB,OAAAf,EAAAL,KAAAqB,QAAA,cAA+E,CAAAd,EAAA,QAAaI,MAAA,CAAOW,EAAA,sQAAyQ,CAAAjB,EAAA,MAAAE,EAAA,SAAAF,EAAAkB,GAAAlB,EAAAmB,GAAAnB,EAAAV,UAAAU,EAAAoB,UAC1tB,EACmB,IDSnB,EACA,KACA,KACA,cEd8LC,ECiD9L,CACAlC,KAAA,qBAEAmC,WAAA,CACAC,qBAAAA,GAGAlC,MAAA,CACAmC,aAAA,CACAjC,KAAAC,OACAE,QAAA,MAGAJ,MAAA,CACAC,KAAAC,OACAiC,UAAA,GAGAC,QAAA,CACAnC,KAAAC,OACAE,QAAA,MAGAiC,YAAA,CACApC,KAAAC,OACAE,QAAA,MAGAkC,KAAA,CACArC,KAAAC,OACAE,QAAA,IAGAmC,QAAA,CACAtC,KAAAuC,QACApC,SAAA,GAGAqC,MAAA,CACAxC,KAAAC,OACAE,QAAA,IAQAsC,QAAA,CACAzC,KAAAuC,QACApC,SAAA,IAIAuC,IAAAA,GACA,OACAC,kBAAAjC,KAAAuB,cAAA,KAAAvB,KAAAuB,aAAAW,OACAC,QAAA,EAEA,EAEAC,SAAA,CACAC,SAAAA,GAEA,GAAArC,KAAA2B,KAAAW,WAAA,KACA,SAIA,IACA,IAAAC,IAAAvC,KAAA2B,KACA,OACA,QACA,CACA,QACA,GAGAa,MAAA,CAEAjB,YAAAA,GACAvB,KAAAiC,kBAAAjC,KAAAuB,cAAA,KAAAvB,KAAAuB,aAAAW,OACAlC,KAAAmC,QAAA,CACA,GAGAM,QAAA,CACAC,WAAAA,CAAAC,GACA3C,KAAAU,MAAAiC,EAAArD,KAAAqD,EACA,EAKAC,OAAAA,GACA5C,KAAAiC,mBAAA,CACA,EAEAY,MAAAA,GACA7C,KAAAmC,QAAA,CACA,2IC1IAW,EAAA,GAEAA,EAAAC,kBAA4BC,IAC5BF,EAAAG,cAAwBC,IACxBJ,EAAAK,OAAiBC,IAAAC,KAAa,aAC9BP,EAAAQ,OAAiBC,IACjBT,EAAAU,mBAA6BC,IAEhBC,IAAIC,EAAA7D,EAAOgD,GAKFa,EAAA7D,GAAW6D,EAAA7D,EAAO8D,QAAUD,EAAA7D,EAAO8D,OCLzD,MAAAC,GAXgB,EAAAhE,EAAAC,GACdsB,ECTW,WAAkB,IAAIrB,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,IAAI,CAACG,YAAY,yBAAyB0D,MAAM,CACpH,kCAAmC/D,EAAIgC,SACtC1B,MAAM,CAAC0D,KAAOhE,EAAI2B,aAAe,KAAKnB,GAAG,CAACC,MAAQT,EAAI2C,YAAYsB,MAAQjE,EAAI2C,cAAc,CAACzC,EAAG,MAAM,CAACG,YAAY,8BAA8B0D,MAAM,CACvJ,uCAAwC/D,EAAI6B,QAC5C,2CAA4C7B,EAAIkC,oBAAsBlC,EAAIoC,OAC1E,8CAA+CpC,EAAIkC,mBAAqBlC,EAAIoC,OAC5E,CAACpC,EAAI4B,OAAQ5B,EAAIoC,SAAWpC,EAAIsC,WAC/B4B,MAAO,CACRC,gBAAiBnE,EAAIsC,UAAY,OAAOtC,EAAI4B,QAAU,KACnD,CAAE5B,EAAIkC,kBAAmBhC,EAAG,MAAM,CAACkE,WAAW,CAAC,CAACjF,KAAK,OAAOkF,QAAQ,SAASC,MAAOtE,EAAIoC,OAAQmC,WAAW,WAAWjE,MAAM,CAACkE,IAAMxE,EAAIwB,aAAaiD,IAAM,IAAIjE,GAAG,CAACkE,MAAQ1E,EAAI6C,QAAQ8B,KAAO3E,EAAI8C,UAAU9C,EAAIoB,OAAOpB,EAAIkB,GAAG,KAAKhB,EAAG,OAAO,CAACG,YAAY,kCAAkC,CAACH,EAAG,OAAO,CAACG,YAAY,kCAAkCC,MAAM,CAAChB,MAAQU,EAAIV,QAAQ,CAACY,EAAG,cAAc,CAACI,MAAM,CAACsE,KAAO5E,EAAIV,MAAMuF,OAAS7E,EAAI+B,UAAU,GAAG/B,EAAIkB,GAAG,KAAMlB,EAAI0B,QAASxB,EAAG,OAAO,CAACG,YAAY,kCAAkCC,MAAM,CAAChB,MAAQU,EAAI0B,UAAU,CAAC1B,EAAIkB,GAAGlB,EAAImB,GAAGnB,EAAI0B,YAAY1B,EAAIoB,QAC9kB,EACsB,IDCtB,EACA,KACA,WACA,cEfoM0D,EC2CpM,CACA3F,KAAA,2BAEA8C,KAAAA,KACA,CACA8C,MAAA,KACAC,KAAA,OAIAC,OAAAA,GACA,MAAAC,EAAAC,iBAAAC,SAAAC,iBACApF,KAAA+E,KAAAE,EAAAI,iBAAA,4BACArF,KAAA8E,MAAAG,EAAAI,iBAAA,4BACA,EAEA5C,QAAA,CACA6C,UAAAA,IACAC,KAAAC,MAAA,GAAAD,KAAAE,UAAA,oBClDIC,EAAO,GAEXA,EAAO3C,kBAAqBC,IAC5B0C,EAAOzC,cAAiBC,IACxBwC,EAAOvC,OAAUC,IAAAC,KAAa,aAC9BqC,EAAOpC,OAAUC,IACjBmC,EAAOlC,mBAAsBC,IAEhBC,IAAIiC,EAAA7F,EAAS4F,GAKJC,EAAA7F,GAAW6F,EAAA7F,EAAO8D,QAAU+B,EAAA7F,EAAO8D,OCLzD,MAAAgC,GAXgB,EAAA/F,EAAAC,GACd+E,ECTW,WAAkB,IAAI9E,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,KAAK,CAACA,EAAG,MAAM,CAACG,YAAY,+CAA+C,CAACH,EAAG,OAAO,CAACA,EAAG,iBAAiB,CAACI,MAAM,CAACwF,GAAK,gDAAgD,CAAC5F,EAAG,OAAO,CAACI,MAAM,CAACyF,OAAS,KAAK,aAAa/F,EAAI+E,QAAQ,CAAC7E,EAAG,UAAU,CAACI,MAAM,CAAC0F,cAAgB,aAAaC,OAAS,GAAGjG,EAAI+E,UAAU/E,EAAI+E,UAAU/E,EAAIgF,SAAShF,EAAIgF,SAAShF,EAAI+E,QAAQmB,IAAM,KAAKC,YAAc,kBAAkBnG,EAAIkB,GAAG,KAAKhB,EAAG,OAAO,CAACI,MAAM,CAACyF,OAAS,OAAO,aAAa/F,EAAIgF,OAAO,CAAC9E,EAAG,UAAU,CAACI,MAAM,CAAC0F,cAAgB,aAAaC,OAAS,GAAGjG,EAAIgF,SAAShF,EAAI+E,UAAU/E,EAAI+E,UAAU/E,EAAIgF,SAAShF,EAAIgF,OAAOkB,IAAM,KAAKC,YAAc,mBAAmB,IAAI,KAAKnG,EAAIkB,GAAG,KAAKlB,EAAIoG,GAAI,CAAC,EAAG,EAAG,GAAI,SAASC,GAAa,OAAOnG,EAAG,KAAK,CAACoG,IAAID,GAAa,CAACnG,EAAG,MAAM,CAACG,YAAY,qCAAqCC,MAAM,CAACiG,MAAQ,6BAA6B1F,KAAO,sDAAsD,CAACX,EAAG,OAAO,CAACG,YAAY,4CAA4CL,EAAIkB,GAAG,KAAKhB,EAAG,OAAO,CAACG,YAAY,gDAAgDL,EAAIkB,GAAG,KAAKhB,EAAG,OAAO,CAACG,YAAY,8CAA8C6D,MAAO,CAAEpD,MAAO,QAAQd,EAAIuF,sBAAwB,IAAI,EAC1uC,EACsB,IDUtB,EACA,KACA,WACA,cESAiB,EAXc,QADKC,GAYMC,EAAAA,EAAAA,QAVhBC,EAAAA,EAAAA,MACLC,OAAO,QACPC,SAEIF,EAAAA,EAAAA,MACLC,OAAO,QACPE,OAAOL,EAAKM,KACZF,QATH,IAAmBJ,GAcgBE,EAAAA,EAAAA,MACjCC,OAAO,kBACPI,aACAH,6CCnBK,MAAMI,GAAeC,EAAAA,EAAAA,GAAU,iBAAkB,iBAC3CC,GAAkBD,EAAAA,EAAAA,GAAU,iBAAkB,oBAAqB,GACnEE,GAAmBF,EAAAA,EAAAA,GAAU,iBAAkB,eAAe,GAE9DG,EAAgB,wBAChBC,EAAiB,yBAcvBC,eAAeC,IACrB,IACC,MAAMvF,KAAEA,SAAewF,EAAAA,GAAMC,KAAIC,EAAAA,EAAAA,IAAe,oBAAqB,CACpEC,OAAQ,CAEPC,KAAMC,OAAOC,SAASC,SAASC,QAAQ,aAAc,IAAMH,OAAOC,SAASlD,UAG7E,GAAI,QAAS5C,GAAQ,SAAUA,EAAKiG,KAAOC,MAAMC,QAAQnG,EAAKiG,IAAIjG,OAASA,EAAKiG,IAAIjG,KAAKoG,OAAS,EAEjG,OAAOpG,EAAKiG,IAAIjG,IAElB,CAAE,MAAOyC,GACR8B,EAAO9B,MAAMA,EACd,CACA,MAAO,EACR,CAWO,SAASG,GAAOtF,KAAEA,EAAIwC,MAAEA,EAAKuG,OAAEA,IAIrC,MAAMC,EAtCyBd,EAAAA,GAAMe,YAAYC,SAkDjD,MAAO,CACNC,QAXenB,SAAYE,EAAAA,GAAMC,KAAIC,EAAAA,EAAAA,IAAe,iCAAkC,CAAEpI,SAAS,CACjGgJ,YAAaA,EAAYI,MACzBf,OAAQ,CACPgB,KAAM7G,EACNuG,SAEAT,KAAMC,OAAOC,SAASC,SAASC,QAAQ,aAAc,IAAMH,OAAOC,SAASlD,UAM5EgE,OAAQN,EAAYM,OAEtB,CCqDA,MCjIyLC,EDqIzL,CACA3J,KAAA,sBAEAmC,WAAA,CACAzB,QAAAA,EACAkJ,eAAAA,EAAAhJ,EACAiJ,UAAAA,EAAAjJ,EACAkJ,eAAAA,EAAAlJ,EACAmJ,aAAAA,EAAAnJ,EACAoJ,aAAArF,EACA+B,yBAAAA,EACAuD,YAAAA,EAAAA,GAGAnH,KAAAA,KACA,CACAoH,MAAA,GAGAC,QAAA,GAEAC,OAAA,GAEAC,QAAA,GAEAC,QAAA,GAEAC,SAAA,GAEAC,QAAA,GAEA5H,MAAA,GACAC,QAAA,KACA4H,WAAA,EAEA3C,aAAAA,EACAE,gBAAAA,EACAC,iBAAAA,EAEAyC,MAAA,IAIAxH,SAAA,CACAyH,QAAAA,GACA,OAAA7J,KAAAoJ,MAAAU,IAAAxK,GAAAA,EAAAuG,GACA,EAEAkE,UAAAA,GACA,OAAA/J,KAAAoJ,MAAAU,IAAAxK,GAAAA,EAAAJ,KACA,EAEA8K,QAAAA,GACA,OAAAhK,KAAAoJ,MAAAa,OAAA,CAAAC,EAAAC,KACAD,EAAAC,EAAAtE,IAAAsE,EAAAjL,KACAgL,GACA,GACA,EAEAE,UAAAA,IACAC,EAAA,iBAQAC,UAAAA,GACA,WAAAC,OAAAC,KAAAxK,KAAA0J,SAAAtB,MACA,EAOAqC,cAAAA,GACA,OAAAzK,KAAA6J,SACAa,OAAApL,GAAAA,KAAAU,KAAA0J,SACAI,IAAAxK,IAAA,CACAA,OACAqL,KAAA3K,KAAA0J,QAAApK,KAEA,EAQAsL,gBAAAA,GACA,OAAAL,OAAAC,KAAAxK,KAAA0J,QACA,EAOAmB,aAAAA,GACA,IAAAC,EACA,MAAAC,EAAA,GACA,aAAAD,EAAA1D,EAAA4D,KAAAhL,KAAA8B,SACAiJ,EAAAE,KAAAH,EAAA,IAEA,OAAAC,CACA,EAOAG,cAAAA,GACA,IAAAJ,EACA,MAAAC,EAAA,GACA,aAAAD,EAAAzD,EAAA2D,KAAAhL,KAAA8B,SACAiJ,EAAAE,KAAAH,EAAA,IAEA,OAAAC,CACA,EAOAI,eAAAA,GACA,OAAAnL,KAAA2J,UACAU,EAAA,iCAAAvI,MAAA9B,KAAA8B,QACAuI,EAAA,wCACA,EAOAe,qBAAAA,GACA,OAAApL,KAAAqL,aAIAC,EACA,OACA,6DACA,8DACAtL,KAAAkH,gBACA,CAAAA,gBAAAlH,KAAAkH,kBARA,EAUA,EAOAmE,YAAAA,GACA,OAAArL,KAAA8B,OAAA9B,KAAA8B,MAAAI,OAAAkG,OAAAlB,CACA,EAOAqE,YAAAA,GACA,OAAAvL,KAAA8B,OAAA,KAAA9B,KAAA8B,MAAAI,SAAAlC,KAAAqL,YACA,EAOAG,eAAAA,GACA,OAAAjB,OAAAvE,OAAAhG,KAAAwJ,SAAAiC,MAAAC,IAAA,IAAAA,EACA,EAOAC,SAAAA,GACA,OAAApB,OAAAvE,OAAAhG,KAAAuJ,SAAAqC,KAAAF,IAAA,IAAAA,EACA,GAGA,aAAAG,GACA7L,KAAAoJ,YAAA7B,IACAhB,EAAAuF,MAAA,0DAAA9L,KAAAoJ,MACA,EAEA2C,aAAAA,IACAC,EAAAA,EAAAA,IAAA,2BAAAhM,KAAAiM,mBACA,EAEAjH,OAAAA,IAEAkH,EAAAA,EAAAA,IAAA,2BAAAlM,KAAAiM,oBAEAE,IAAAC,cAAAC,4BAIAlH,SAAAmH,iBAAA,UAAAC,IAEAA,EAAAC,SAAA,SAAAD,EAAAE,OAAAzM,KAAA4J,MACA2C,EAAAG,iBACA1M,KAAA4J,MAAA,GACA2C,EAAAC,SAAA,MAAAD,EAAAlG,KAAArG,KAAA4J,OAEA5J,KAAA4J,MAAA,GAIA5J,KAAA4J,OAEA,cAAA2C,EAAAlG,KACArG,KAAA2M,UAAAJ,GAIA,YAAAA,EAAAlG,KACArG,KAAA4M,UAAAL,KAIA,EAEA9J,QAAA,CACA,YAAAoK,GAEA7M,KAAAoJ,YAAA7B,GACA,EAEAuF,OAAAA,IACAC,EAAAA,EAAAA,IAAA,iCACA,EAEAd,kBAAAA,GACAjM,KAAAgN,KAAAC,gBAAA,wBAAAC,SACA,EAKAC,OAAAA,IACAJ,EAAAA,EAAAA,IAAA,kCACA/M,KAAAuG,OAAAuF,MAAA,gBACA9L,KAAA8B,MAAA,GACA9B,KAAAoN,aACApN,KAAAqN,YACA,EAEA,gBAAAD,GACApN,KAAAqJ,QAAA,GACArJ,KAAAsJ,OAAA,GACAtJ,KAAAwJ,QAAA,GACAxJ,KAAA0J,QAAA,GACA1J,KAAA+B,QAAA,KACA/B,KAAA2J,WAAA,QACA3J,KAAAsN,uBACA,EAKA,2BAAAA,GAEA,MAAA7D,EAAAzJ,KAAAyJ,SAAA8D,MAAA,GACAvN,KAAAyJ,SAAA,SAGA+D,QAAAC,IAAAhE,EAAAK,IAAAlB,GAAAA,KACA,EAKAyE,UAAAA,GACArN,KAAA0N,UAAA,KACA1N,KAAA2N,MAAAC,MAAA5J,QACAhE,KAAA2N,MAAAC,MAAAC,UAEA,EAMAC,YAAAA,GACA9N,KAAAsK,WACAtK,KAAA+N,iBACA,GAAAvN,QAGAR,KAAAgO,SACA,EAKA,aAAAA,GAKA,IAHAjB,EAAAA,EAAAA,IAAA,mCAAAjL,MAAA9B,KAAA8B,QAGA,KAAA9B,KAAA8B,MAAAI,QAAAlC,KAAAqL,aAAA,CACA,UAAA/L,KAAAU,KAAA6J,SACA7J,KAAAiO,QAAAjO,KAAA0J,QAAApK,GAEA,MACA,CAEA,IAAA8J,EAAApJ,KAAA6J,SACA/H,EAAA9B,KAAA8B,MAGA9B,KAAAkL,eAAA9C,OAAA,IACAgB,EAAApJ,KAAA6J,SAAAa,OAAApL,IAAA,IAAAU,KAAAkL,eAAAgD,QAAA5O,KAIAU,KAAA6K,cAAAzC,OAAA,IACAgB,EAAApJ,KAAA6J,SAAAa,OAAApL,GAAAU,KAAA6K,cAAAqD,QAAA5O,IAAA,IAIAwC,EAAAA,EAAAkG,QAAAZ,EAAA,IAAAY,QAAAX,EAAA,UAGArH,KAAAoN,aACApN,KAAA2J,WAAA,EAEAP,EAAAhB,QAMApI,KAAAmO,KAAAnO,KAAAuJ,QAAA,UACAvJ,KAAAuG,OAAAuF,MAAA,aAAAhK,OAAAsH,GAEAoE,QAAAC,IAAArE,EAAAU,IAAAxC,UACA,IAEA,MAAAmB,QAAAA,EAAAG,OAAAA,GAAAhE,EAAA,CAAAtF,OAAAwC,UACA9B,KAAAyJ,SAAAwB,KAAArC,GAGA,MAAA5G,KAAAA,SAAAyG,IA2BA,OAxBAzG,EAAAiG,IAAAjG,KAAAoM,QAAAhG,OAAA,EACApI,KAAAmO,KAAAnO,KAAA0J,QAAApK,EAAA0C,EAAAiG,IAAAjG,KAAAoM,SAEApO,KAAAiO,QAAAjO,KAAA0J,QAAApK,GAIA0C,EAAAiG,IAAAjG,KAAAqG,OACArI,KAAAmO,KAAAnO,KAAAqJ,QAAA/J,EAAA0C,EAAAiG,IAAAjG,KAAAqG,QACArG,EAAAiG,IAAAjG,KAAAqM,aAGArO,KAAAmO,KAAAnO,KAAAsJ,OAAAhK,EAAAU,KAAAgH,cAIAhF,EAAAiG,IAAAjG,KAAAoM,QAAAhG,OAAApI,KAAAgH,cACAhH,KAAAmO,KAAAnO,KAAAwJ,QAAAlK,GAAA,GAIA,OAAAU,KAAA+B,UACA/B,KAAA+B,QAAA,GA9XA,CAiYA,OAAA0C,GAIA,OAHAzE,KAAAiO,QAAAjO,KAAA0J,QAAApK,GAGAmF,EAAA6J,UAAA7J,EAAA6J,SAAAC,QACAvO,KAAAuG,OAAA9B,MAAA,uBAAAzE,KAAAgK,SAAA1K,KAAAmF,IACA+J,EAAAA,EAAAA,IAAAxO,KAAAqK,EAAA,uDAAA/K,KAAAU,KAAAgK,SAAA1K,MAxYA,GAEA,CA0YA,KACAmP,KAAA/E,IAGAA,EAAAkC,KAAA8C,GA9YA,IA8YAA,KAIA1O,KAAAuJ,QAAA,OA5DAvJ,KAAAuG,OAAA9B,MAAA,wBA8DA,EAEAkK,iBAAAxH,GACAyH,EAAAA,EAAAA,GAAA,SAAAjM,GACA3C,KAAAgO,QAAArL,EACA,OACA,WACA3C,KAAA2J,WAAA,CACA,EAOA,cAAAkF,CAAAvP,GAEA,IAAAU,KAAAuJ,QAAAjK,GAAA,CAIA,GAAAU,KAAAqJ,QAAA/J,GAAA,CAEA,MAAAmJ,QAAAA,EAAAG,OAAAA,GAAAhE,EAAA,CAAAtF,OAAAwC,MAAA9B,KAAA8B,MAAAuG,OAAArI,KAAAqJ,QAAA/J,KACAU,KAAAyJ,SAAAwB,KAAArC,GAGA,MAAA5G,KAAAA,SAAAyG,IAGAzG,EAAAiG,IAAAjG,KAAAqG,QACArI,KAAAmO,KAAAnO,KAAAqJ,QAAA/J,EAAA0C,EAAAiG,IAAAjG,KAAAqG,QAIArG,EAAAiG,IAAAjG,KAAAoM,QAAAhG,OAAA,GACApI,KAAA0J,QAAApK,GAAA2L,QAAAjJ,EAAAiG,IAAAjG,KAAAoM,SAIApM,EAAAiG,IAAAjG,KAAAoM,QAAAhG,OAAApI,KAAAgH,cACAhH,KAAAmO,KAAAnO,KAAAwJ,QAAAlK,GAAA,EAEA,MAGAU,KAAAsJ,OAAAhK,IAAAU,KAAAsJ,OAAAhK,IAAA,IACAU,KAAAsJ,OAAAhK,IAAAU,KAAAgH,aAGAhH,KAAAsJ,OAAAhK,IAAAU,KAAA0J,QAAApK,GAAA8I,QACApI,KAAAmO,KAAAnO,KAAAwJ,QAAAlK,GAAA,IAMA,OAAAU,KAAA+B,SACA/B,KAAA0N,UAAA,KACA1N,KAAA8O,WAAA9O,KAAA+B,UAxCA,CA2CA,EAUAgN,UAAAA,CAAApE,EAAArL,GACA,OAAAA,KAAAU,KAAAsJ,OACAqB,EAAA4C,MAAA,EAAAvN,KAAAsJ,OAAAhK,IAEAqL,CACA,EAEAoD,cAAAA,GACA,OAAA/N,KAAAgN,IAAAgC,iBAAA,mDACA,EAOAC,UAAAA,CAAA1C,GACA,MAAA7C,EAAA1J,KAAA+N,iBACArE,GAAAA,EAAAtB,OAAA,IACAmE,GACAA,EAAAG,iBAEA1M,KAAA+B,QAAA,EACA/B,KAAA8O,WAAA9O,KAAA+B,SAEA,EAOA4K,SAAAA,CAAAJ,GACA,UAAAvM,KAAA+B,QAEA,YADA/B,KAAAiP,WAAA1C,GAIA,MAAA7C,EAAA1J,KAAA+N,iBAEArE,GAAAA,EAAAtB,OAAA,GAAApI,KAAA+B,QAAA,EAAA2H,EAAAtB,SACAmE,EAAAG,iBACA1M,KAAA+B,UACA/B,KAAA8O,WAAA9O,KAAA+B,SAEA,EAOA6K,SAAAA,CAAAL,GACA,UAAAvM,KAAA+B,QAEA,YADA/B,KAAAiP,WAAA1C,GAIA,MAAA7C,EAAA1J,KAAA+N,iBAEArE,GAAAA,EAAAtB,OAAA,GAAApI,KAAA+B,QAAA,IACAwK,EAAAG,iBACA1M,KAAA+B,UACA/B,KAAA8O,WAAA9O,KAAA+B,SAEA,EAOA+M,UAAAA,CAAAI,GACA,MAAAxF,EAAA1J,KAAA+N,iBACArE,GAAAA,EAAAwF,IACAxF,EAAAwF,GAAAlL,OAEA,EAOAmL,eAAAA,CAAA5C,GACA,MAAA6C,EAAA7C,EAAA8C,OAEAH,EAAA,IADAlP,KAAA+N,kBACAuB,UAAA1K,GAAAA,IAAAwK,GACAF,GAAA,IAEAlP,KAAA+B,QAAAmN,EAEA,EAEAK,aAAAA,CAAA7E,GACA1K,KAAA8B,MAAA,GAAA9B,KAAA8B,SAAA4I,IACA1C,QAAA,aACA9F,OACAlC,KAAAgO,SACA,mBEvrBIwB,GAAO,GAEXA,GAAOzM,kBAAqBC,IAC5BwM,GAAOvM,cAAiBC,IACxBsM,GAAOrM,OAAUC,IAAAC,KAAa,aAC9BmM,GAAOlM,OAAUC,IACjBiM,GAAOhM,mBAAsBC,IAEhBC,IAAI+L,EAAA3P,EAAS0P,IAKJC,EAAA3P,GAAW2P,EAAA3P,EAAO8D,QAAU6L,EAAA3P,EAAO8D,OCLzD,MAAA8L,IAXgB,EAAA7P,EAAAC,GACd+I,ECTW,WAAkB,IAAI9I,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,eAAe,CAACG,YAAY,iBAAiBC,MAAM,CAACwF,GAAK,iBAAiB,kCAAkC,CAAC,YAAY+D,KAAO7J,EAAI6J,KAAK,aAAa7J,EAAIqK,WAAW7J,GAAG,CAAC,cAAc,SAASE,GAAQV,EAAI6J,KAAKnJ,CAAM,EAAEmJ,KAAO7J,EAAI8M,OAAO8C,MAAQ5P,EAAI+M,SAAS8C,YAAY7P,EAAI8P,GAAG,CAAC,CAACxJ,IAAI,UAAUyJ,GAAG,WAAW,MAAO,CAAC7P,EAAG,UAAU,CAACG,YAAY,+BAA+BC,MAAM,CAACX,KAAO,MAAM,EAAEqQ,OAAM,MAAS,CAAChQ,EAAIkB,GAAG,KAAKhB,EAAG,MAAM,CAACG,YAAY,iCAAiC,CAACH,EAAG,MAAM,CAACG,YAAY,6BAA6B,CAACH,EAAG,cAAc,CAAC+P,IAAI,QAAQ5P,YAAY,6BAA6B0D,MAAM,CAAE,2CAA4C/D,EAAI+B,OAAQzB,MAAM,CAAC,uBAAuB,QAAQ4P,MAAQlQ,EAAIqK,UAAU,wBAAwBrK,EAAIsK,EAAE,OAAQ,gBAAgB,uBAAqC,KAAdtK,EAAI+B,MAAa,mBAAmB,sBAAsBsE,YAAcrG,EAAIsK,EAAE,OAAQ,mBAAoB,CAAEjB,MAAOrJ,EAAIgK,WAAWmG,KAAK,SAAU3P,GAAG,CAAC,wBAAwBR,EAAIoN,QAAQS,MAAQ7N,EAAI4O,kBAAkBwB,MAAM,CAAC9L,MAAOtE,EAAI+B,MAAOsO,SAAS,SAAUC,GAAMtQ,EAAI+B,MAAMuO,CAAG,EAAE/L,WAAW,WAAWvE,EAAIkB,GAAG,KAAKhB,EAAG,IAAI,CAACG,YAAY,kBAAkBC,MAAM,CAACwF,GAAK,wBAAwB,CAAC9F,EAAIkB,GAAG,aAAalB,EAAImB,GAAGnB,EAAIsK,EAAE,OAAQ,uFAAuF,cAActK,EAAIkB,GAAG,KAAMlB,EAAI6K,iBAAiBxC,OAAS,EAAGnI,EAAG,YAAY,CAACG,YAAY,0BAA0BC,MAAM,CAACiQ,UAAY,aAAaC,UAAY,mCAAmCxQ,EAAIoG,GAAIpG,EAAI6K,iBAAkB,SAASF,GAAQ,OAAOzK,EAAG,iBAAiB,CAACoG,IAAIqE,EAAOrK,MAAM,CAACsB,KAAO,eAAepB,GAAG,CAACC,MAAQ,SAASC,GAAiC,OAAzBA,EAAO+P,kBAAyBzQ,EAAIwP,cAAc,MAAM7E,IAAS,IAAI,CAAC3K,EAAIkB,GAAG,eAAelB,EAAImB,GAAGnB,EAAIsK,EAAE,OAAQ,yBAA0B,CAAEnL,KAAMa,EAAIiK,SAASU,MAAY,eAAe,GAAG,GAAG3K,EAAIoB,MAAM,KAAKpB,EAAIkB,GAAG,KAAOlB,EAAIuK,WAAkgBvK,EAAIoG,GAAIpG,EAAI0K,eAAgB,UAASE,KAAEA,EAAIrL,KAAEA,GAAOmR,GAAY,MAAO,CAACxQ,EAAG,KAAK,CAACoG,IAAI/G,EAAKc,YAAY,kCAAkC,CAACL,EAAIkB,GAAG,WAAWlB,EAAImB,GAAGnB,EAAIiK,SAAS1K,IAAO,YAAYS,EAAIkB,GAAG,KAAKhB,EAAG,KAAK,CAACoG,IAAI/G,EAAKc,YAAY,0BAA0B0D,MAAM,2BAA2BxE,IAAOe,MAAM,CAAC,aAAaN,EAAIiK,SAAS1K,KAAQ,CAACS,EAAIoG,GAAIpG,EAAIgP,WAAWpE,EAAMrL,GAAO,SAASoP,EAAOQ,GAAO,OAAOjP,EAAG,KAAK,CAACoG,IAAIqI,EAAOhN,aAAa,CAACzB,EAAG,eAAeF,EAAII,GAAG,CAACE,MAAM,CAACyB,MAAQ/B,EAAI+B,MAAMC,QAA0B,IAAhBhC,EAAIgC,SAAgC,IAAf0O,GAA8B,IAAVvB,GAAa3O,GAAG,CAACyD,MAAQjE,EAAIoP,kBAAkB,eAAeT,GAAO,KAAS,EAAE,GAAG3O,EAAIkB,GAAG,KAAKhB,EAAG,KAAK,CAAGF,EAAIyJ,QAAQlK,GAEz0FS,EAAIoB,KAF40FlB,EAAG,eAAe,CAACG,YAAY,8BAA8BC,MAAM,CAAChB,MAAQU,EAAIwJ,QAAQjK,GAC/oGS,EAAIsK,EAAE,OAAQ,0BACdtK,EAAIsK,EAAE,OAAQ,qBAAqB,aAAatK,EAAIwJ,QAAQjK,GAAQ,qBAAuB,IAAIiB,GAAG,CAACC,MAAQ,SAASC,GAAyD,OAAjDA,EAAOiM,iBAAiBjM,EAAO+P,kBAAyBzQ,EAAI8O,SAASvP,EAAK,EAAE0E,MAAQjE,EAAIoP,oBAA6B,IAAI,GAAG,GAF0qD,CAAEpP,EAAI4L,UAAW1L,EAAG,4BAA6BF,EAAIwL,aAActL,EAAG,iBAAiB,CAACI,MAAM,CAAChB,MAAQU,EAAIoL,iBAAiByE,YAAY7P,EAAI8P,GAAG,CAAC,CAACxJ,IAAI,OAAOyJ,GAAG,WAAW,MAAO,CAAC7P,EAAG,WAAW,EAAE8P,OAAM,IAAO,MAAK,EAAM,cAAehQ,EAAI4L,WAAa5L,EAAIsL,aAAcpL,EAAG,iBAAiB,CAACI,MAAM,CAAChB,MAAQU,EAAIsK,EAAE,OAAQ,0BAA0BqG,YAAc3Q,EAAIqL,uBAAuBwE,YAAY7P,EAAI8P,GAAG,CAAC,CAACxJ,IAAI,OAAOyJ,GAAG,WAAW,MAAO,CAAC7P,EAAG,WAAW,EAAE8P,OAAM,IAAO,MAAK,EAAM,aAAahQ,EAAIoB,OAEtpE,EACpQ,EACsB,IDQtB,EACA,KACA,WACA,cEJAwP,EAAAA,IAAoBC,EAAAA,EAAAA,MAEpB,MAAMrK,IAASG,EAAAA,EAAAA,MACbC,OAAO,kBACPI,aACAH,QAEFiK,EAAAA,GAAIC,MAAM,CACT9O,KAAIA,KACI,CACNuE,OAAMA,KAGR9D,QAAS,CACR4H,EAAC0G,EAAA1G,EACDiB,EAACA,EAAAA,KAIH,IAAmBuF,EAAAA,GAAI,CACtBG,GAAI,kBACJ9R,KAAM,oBACN+R,OAASC,GAAMA,EAAEC,wEC9BlBC,QAA8BC,GAA4BC,KAE1DF,EAAAnG,KAAA,CAAAsG,EAAA1L,GAAA,i1DAAw3D,IAAO2L,QAAA,EAAAC,QAAA,yEAAAC,MAAA,GAAAC,SAAA,kiBAAAC,eAAA,k6DAAqkFC,WAAA,MAEp8I,MAAAC,EAAA,oECJAV,QAA8BC,GAA4BC,KAE1DF,EAAAnG,KAAA,CAAAsG,EAAA1L,GAAA,moBAA0qB,IAAO2L,QAAA,EAAAC,QAAA,+EAAAC,MAAA,GAAAC,SAAA,gNAAAC,eAAA,+oBAAo+BC,WAAA,MAErpD,MAAAC,EAAA,oECJAV,QAA8BC,GAA4BC,KAE1DF,EAAAnG,KAAA,CAAAsG,EAAA1L,GAAA,mjGAA0lG,IAAO2L,QAAA,EAAAC,QAAA,uDAAAC,MAAA,GAAAC,SAAA,gyBAAAC,eAAA,87FAA+0HC,WAAA,MAEh7N,MAAAC,EAAA,ICNAC,EAAA,GAGA,SAAAC,EAAAC,GAEA,IAAAC,EAAAH,EAAAE,GACA,QAAAE,IAAAD,EACA,OAAAA,EAAAE,QAGA,IAAAb,EAAAQ,EAAAE,GAAA,CACApM,GAAAoM,EACA9P,QAAA,EACAiQ,QAAA,IAUA,OANAC,EAAAJ,GAAAK,KAAAf,EAAAa,QAAAb,EAAAA,EAAAa,QAAAJ,GAGAT,EAAApP,QAAA,EAGAoP,EAAAa,OACA,CAGAJ,EAAAO,EAAAF,E3B5BAvT,EAAA,GACAkT,EAAAQ,EAAA,CAAA9D,EAAA+D,EAAA3C,EAAA4C,KACA,IAAAD,EAAA,CAMA,IAAAE,EAAAC,IACA,IAAAC,EAAA,EAAiBA,EAAA/T,EAAAsJ,OAAqByK,IAAA,CAGtC,IAFA,IAAAJ,EAAA3C,EAAA4C,GAAA5T,EAAA+T,GACAC,GAAA,EACAC,EAAA,EAAkBA,EAAAN,EAAArK,OAAqB2K,MACvC,EAAAL,GAAAC,GAAAD,IAAAnI,OAAAC,KAAAwH,EAAAQ,GAAA/G,MAAApF,GAAA2L,EAAAQ,EAAAnM,GAAAoM,EAAAM,KACAN,EAAAO,OAAAD,IAAA,IAEAD,GAAA,EACAJ,EAAAC,IAAAA,EAAAD,IAGA,GAAAI,EAAA,CACAhU,EAAAkU,OAAAH,IAAA,GACA,IAAAI,EAAAnD,SACAqC,IAAAc,IAAAvE,EAAAuE,EACA,CACA,CACA,OAAAvE,CAnBA,CAJAgE,EAAAA,GAAA,EACA,QAAAG,EAAA/T,EAAAsJ,OAA+ByK,EAAA,GAAA/T,EAAA+T,EAAA,MAAAH,EAAwCG,IAAA/T,EAAA+T,GAAA/T,EAAA+T,EAAA,GACvE/T,EAAA+T,GAAA,CAAAJ,EAAA3C,EAAA4C,I4BJAV,EAAA1G,EAAAiG,IACA,IAAA2B,EAAA3B,GAAAA,EAAA4B,WACA,IAAA5B,EAAA,QACA,MAEA,OADAS,EAAAhR,EAAAkS,EAAA,CAAiCE,EAAAF,IACjCA,GCLAlB,EAAAhR,EAAA,CAAAoR,EAAAiB,KACA,QAAAhN,KAAAgN,EACArB,EAAAsB,EAAAD,EAAAhN,KAAA2L,EAAAsB,EAAAlB,EAAA/L,IACAkE,OAAAgJ,eAAAnB,EAAA/L,EAAA,CAAyCmN,YAAA,EAAA/L,IAAA4L,EAAAhN,MCJzC2L,EAAAyB,EAAA,GAGAzB,EAAArP,EAAA+Q,GACAlG,QAAAC,IAAAlD,OAAAC,KAAAwH,EAAAyB,GAAAxJ,OAAA,CAAA0J,EAAAtN,KACA2L,EAAAyB,EAAApN,GAAAqN,EAAAC,GACAA,GACE,KCNF3B,EAAA4B,EAAAF,GAEAA,EAAA,IAAAA,EAAA,UAAmD,qMAAkNA,GCHrQ1B,EAAAsB,EAAA,CAAAO,EAAAC,IAAAvJ,OAAAwJ,UAAAC,eAAA1B,KAAAuB,EAAAC,G/BAA/U,EAAA,GACAC,EAAA,uBAEAgT,EAAAiC,EAAA,CAAAC,EAAAC,EAAA9N,EAAAqN,KACA,GAAA3U,EAAAmV,GAAuBnV,EAAAmV,GAAAjJ,KAAAkJ,OAAvB,CACA,IAAAC,EAAAC,EACA,QAAAlC,IAAA9L,EAEA,IADA,IAAAiO,EAAAnP,SAAAoP,qBAAA,UACA1B,EAAA,EAAiBA,EAAAyB,EAAAlM,OAAoByK,IAAA,CACrC,IAAA2B,EAAAF,EAAAzB,GACA,GAAA2B,EAAAC,aAAA,QAAAP,GAAAM,EAAAC,aAAA,iBAAAzV,EAAAqH,EAAA,CAAmG+N,EAAAI,EAAY,MAC/G,CAEAJ,IACAC,GAAA,GACAD,EAAAjP,SAAAuP,cAAA,WAEAC,QAAA,QACA3C,EAAA4C,IACAR,EAAAS,aAAA,QAAA7C,EAAA4C,IAEAR,EAAAS,aAAA,eAAA7V,EAAAqH,GAEA+N,EAAA7P,IAAA2P,GAEAnV,EAAAmV,GAAA,CAAAC,GACA,IAAAW,EAAA,CAAA5K,EAAAqC,KAEA6H,EAAAW,QAAAX,EAAAY,OAAA,KACAC,aAAAC,GACA,IAAAC,EAAApW,EAAAmV,GAIA,UAHAnV,EAAAmV,GACAE,EAAAgB,YAAAhB,EAAAgB,WAAAC,YAAAjB,GACAe,GAAAA,EAAAG,QAAAxF,GAAAA,EAAAvD,IACArC,EAAA,OAAAA,EAAAqC,IAEA2I,EAAAK,WAAAT,EAAAzR,KAAA,UAAA8O,EAAA,CAAmE7S,KAAA,UAAA+P,OAAA+E,IAAiC,MACpGA,EAAAW,QAAAD,EAAAzR,KAAA,KAAA+Q,EAAAW,SACAX,EAAAY,OAAAF,EAAAzR,KAAA,KAAA+Q,EAAAY,QACAX,GAAAlP,SAAAqQ,KAAAC,YAAArB,EAnCmD,GgCHnDpC,EAAAiB,EAAAb,IACA,oBAAAsD,QAAAA,OAAAC,aACApL,OAAAgJ,eAAAnB,EAAAsD,OAAAC,YAAA,CAAuDtR,MAAA,WAEvDkG,OAAAgJ,eAAAnB,EAAA,cAAgD/N,OAAA,KCLhD2N,EAAA4D,IAAArE,IACAA,EAAAsE,MAAA,GACAtE,EAAAuE,WAAAvE,EAAAuE,SAAA,IACAvE,GCHAS,EAAAe,EAAA,WCAA,IAAAgD,EACAC,WAAAC,gBAAAF,EAAAC,WAAAlO,SAAA,IACA,IAAA3C,EAAA6Q,WAAA7Q,SACA,IAAA4Q,GAAA5Q,IACAA,EAAA+Q,eAAA,WAAA/Q,EAAA+Q,cAAAC,QAAAC,gBACAL,EAAA5Q,EAAA+Q,cAAA3R,MACAwR,GAAA,CACA,IAAAzB,EAAAnP,EAAAoP,qBAAA,UACA,GAAAD,EAAAlM,OAEA,IADA,IAAAyK,EAAAyB,EAAAlM,OAAA,EACAyK,GAAA,KAAAkD,IAAA,aAAAM,KAAAN,KAAAA,EAAAzB,EAAAzB,KAAAtO,GAEA,CAIA,IAAAwR,EAAA,UAAAO,MAAA,yDACAP,EAAAA,EAAA/N,QAAA,aAAAA,QAAA,WAAAA,QAAA,YAAAA,QAAA,iBACAgK,EAAAuE,EAAAR,YClBA/D,EAAAwE,EAAA,oBAAArR,UAAAA,SAAAsR,SAAAC,KAAA5O,SAAA/D,KAKA,IAAA4S,EAAA,CACA,QAGA3E,EAAAyB,EAAAV,EAAA,CAAAW,EAAAC,KAEA,IAAAiD,EAAA5E,EAAAsB,EAAAqD,EAAAjD,GAAAiD,EAAAjD,QAAAvB,EACA,OAAAyE,EAGA,GAAAA,EACAjD,EAAA1I,KAAA2L,EAAA,QACK,CAGL,IAAAC,EAAA,IAAArJ,QAAA,CAAAsJ,EAAAC,IAAAH,EAAAD,EAAAjD,GAAA,CAAAoD,EAAAC,IACApD,EAAA1I,KAAA2L,EAAA,GAAAC,GAGA,IAAA3C,EAAAlC,EAAAuE,EAAAvE,EAAA4B,EAAAF,GAEAjP,EAAA,IAAA6R,MAgBAtE,EAAAiC,EAAAC,EAfA3H,IACA,GAAAyF,EAAAsB,EAAAqD,EAAAjD,KAEA,KADAkD,EAAAD,EAAAjD,MACAiD,EAAAjD,QAAAvB,GACAyE,GAAA,CACA,IAAAI,EAAAzK,IAAA,SAAAA,EAAAjN,KAAA,UAAAiN,EAAAjN,MACA2X,EAAA1K,GAAAA,EAAA8C,QAAA9C,EAAA8C,OAAA9K,IACAE,EAAAyS,QAAA,iBAAAxD,EAAA,cAAAsD,EAAA,KAAAC,EAAA,IACAxS,EAAAvF,KAAA,iBACAuF,EAAAnF,KAAA0X,EACAvS,EAAAgE,QAAAwO,EACAL,EAAA,GAAAnS,EACA,GAGA,SAAAiP,EAAAA,EAEA,GAYA1B,EAAAQ,EAAAO,EAAAW,GAAA,IAAAiD,EAAAjD,GAGA,IAAAyD,EAAA,CAAAC,EAAApV,KACA,IAGAiQ,EAAAyB,GAHAjB,EAAA4E,EAAAC,GAAAtV,EAGA6Q,EAAA,EACA,GAAAJ,EAAA7G,KAAA/F,GAAA,IAAA8Q,EAAA9Q,IAAA,CACA,IAAAoM,KAAAoF,EACArF,EAAAsB,EAAA+D,EAAApF,KACAD,EAAAO,EAAAN,GAAAoF,EAAApF,IAGA,GAAAqF,EAAA,IAAA5I,EAAA4I,EAAAtF,EACA,CAEA,IADAoF,GAAAA,EAAApV,GACM6Q,EAAAJ,EAAArK,OAAqByK,IAC3Ba,EAAAjB,EAAAI,GACAb,EAAAsB,EAAAqD,EAAAjD,IAAAiD,EAAAjD,IACAiD,EAAAjD,GAAA,KAEAiD,EAAAjD,GAAA,EAEA,OAAA1B,EAAAQ,EAAA9D,IAGA6I,EAAAvB,WAAA,gCAAAA,WAAA,oCACAuB,EAAAjC,QAAA6B,EAAA9T,KAAA,SACAkU,EAAAtM,KAAAkM,EAAA9T,KAAA,KAAAkU,EAAAtM,KAAA5H,KAAAkU,QCrFAvF,EAAA4C,QAAAzC,ECGA,IAAAqF,EAAAxF,EAAAQ,OAAAL,EAAA,WAAAH,EAAA,QACAwF,EAAAxF,EAAAQ,EAAAgF","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/webpack/runtime/load script","webpack:///nextcloud/node_modules/vue-material-design-icons/Magnify.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/Magnify.vue?vue&type=script&lang=js","webpack://nextcloud/./node_modules/vue-material-design-icons/Magnify.vue?0775","webpack:///nextcloud/node_modules/vue-material-design-icons/Magnify.vue?vue&type=template&id=194dfb2a","webpack:///nextcloud/core/src/components/UnifiedSearch/LegacySearchResult.vue?vue&type=script&lang=js","webpack:///nextcloud/core/src/components/UnifiedSearch/LegacySearchResult.vue","webpack://nextcloud/./core/src/components/UnifiedSearch/LegacySearchResult.vue?453f","webpack://nextcloud/./core/src/components/UnifiedSearch/LegacySearchResult.vue?1729","webpack://nextcloud/./core/src/components/UnifiedSearch/LegacySearchResult.vue?de39","webpack:///nextcloud/core/src/components/UnifiedSearch/SearchResultPlaceholders.vue?vue&type=script&lang=js","webpack:///nextcloud/core/src/components/UnifiedSearch/SearchResultPlaceholders.vue","webpack://nextcloud/./core/src/components/UnifiedSearch/SearchResultPlaceholders.vue?3404","webpack://nextcloud/./core/src/components/UnifiedSearch/SearchResultPlaceholders.vue?7f72","webpack://nextcloud/./core/src/components/UnifiedSearch/SearchResultPlaceholders.vue?cc53","webpack:///nextcloud/core/src/logger.js","webpack:///nextcloud/core/src/services/LegacyUnifiedSearchService.js","webpack:///nextcloud/core/src/views/LegacyUnifiedSearch.vue","webpack:///nextcloud/core/src/views/LegacyUnifiedSearch.vue?vue&type=script&lang=js","webpack://nextcloud/./core/src/views/LegacyUnifiedSearch.vue?77bd","webpack://nextcloud/./core/src/views/LegacyUnifiedSearch.vue?bfe7","webpack://nextcloud/./core/src/views/LegacyUnifiedSearch.vue?b8e8","webpack:///nextcloud/core/src/legacy-unified-search.js","webpack:///nextcloud/core/src/components/UnifiedSearch/LegacySearchResult.vue?vue&type=style&index=0&id=2dec9460&prod&lang=scss&scoped=true","webpack:///nextcloud/core/src/components/UnifiedSearch/SearchResultPlaceholders.vue?vue&type=style&index=0&id=480c8b8e&prod&lang=scss&scoped=true","webpack:///nextcloud/core/src/views/LegacyUnifiedSearch.vue?vue&type=style&index=0&id=4cdce41c&prod&lang=scss&scoped=true","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};","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Magnify.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Magnify.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Magnify.vue?vue&type=template&id=194dfb2a\"\nimport script from \"./Magnify.vue?vue&type=script&lang=js\"\nexport * from \"./Magnify.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 magnify-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\":\"M9.5,3A6.5,6.5 0 0,1 16,9.5C16,11.11 15.41,12.59 14.44,13.73L14.71,14H15.5L20.5,19L19,20.5L14,15.5V14.71L13.73,14.44C12.59,15.41 11.11,16 9.5,16A6.5,6.5 0 0,1 3,9.5A6.5,6.5 0 0,1 9.5,3M9.5,5C7,5 5,7 5,9.5C5,12 7,14 9.5,14C12,14 14,12 14,9.5C14,7 12,5 9.5,5Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\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!./LegacySearchResult.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!./LegacySearchResult.vue?vue&type=script&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!./LegacySearchResult.vue?vue&type=style&index=0&id=2dec9460&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!./LegacySearchResult.vue?vue&type=style&index=0&id=2dec9460&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./LegacySearchResult.vue?vue&type=template&id=2dec9460&scoped=true\"\nimport script from \"./LegacySearchResult.vue?vue&type=script&lang=js\"\nexport * from \"./LegacySearchResult.vue?vue&type=script&lang=js\"\nimport style0 from \"./LegacySearchResult.vue?vue&type=style&index=0&id=2dec9460&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 \"2dec9460\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('a',{staticClass:\"unified-search__result\",class:{\n\t\t'unified-search__result--focused': _vm.focused,\n\t},attrs:{\"href\":_vm.resourceUrl || '#'},on:{\"click\":_vm.reEmitEvent,\"focus\":_vm.reEmitEvent}},[_c('div',{staticClass:\"unified-search__result-icon\",class:{\n\t\t\t'unified-search__result-icon--rounded': _vm.rounded,\n\t\t\t'unified-search__result-icon--no-preview': !_vm.hasValidThumbnail && !_vm.loaded,\n\t\t\t'unified-search__result-icon--with-thumbnail': _vm.hasValidThumbnail && _vm.loaded,\n\t\t\t[_vm.icon]: !_vm.loaded && !_vm.isIconUrl,\n\t\t},style:({\n\t\t\tbackgroundImage: _vm.isIconUrl ? `url(${_vm.icon})` : '',\n\t\t})},[(_vm.hasValidThumbnail)?_c('img',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.loaded),expression:\"loaded\"}],attrs:{\"src\":_vm.thumbnailUrl,\"alt\":\"\"},on:{\"error\":_vm.onError,\"load\":_vm.onLoad}}):_vm._e()]),_vm._v(\" \"),_c('span',{staticClass:\"unified-search__result-content\"},[_c('span',{staticClass:\"unified-search__result-line-one\",attrs:{\"title\":_vm.title}},[_c('NcHighlight',{attrs:{\"text\":_vm.title,\"search\":_vm.query}})],1),_vm._v(\" \"),(_vm.subline)?_c('span',{staticClass:\"unified-search__result-line-two\",attrs:{\"title\":_vm.subline}},[_vm._v(_vm._s(_vm.subline))]):_vm._e()])])\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!./SearchResultPlaceholders.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!./SearchResultPlaceholders.vue?vue&type=script&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!./SearchResultPlaceholders.vue?vue&type=style&index=0&id=480c8b8e&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!./SearchResultPlaceholders.vue?vue&type=style&index=0&id=480c8b8e&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SearchResultPlaceholders.vue?vue&type=template&id=480c8b8e&scoped=true\"\nimport script from \"./SearchResultPlaceholders.vue?vue&type=script&lang=js\"\nexport * from \"./SearchResultPlaceholders.vue?vue&type=script&lang=js\"\nimport style0 from \"./SearchResultPlaceholders.vue?vue&type=style&index=0&id=480c8b8e&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 \"480c8b8e\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('ul',[_c('svg',{staticClass:\"unified-search__result-placeholder-gradient\"},[_c('defs',[_c('linearGradient',{attrs:{\"id\":\"unified-search__result-placeholder-gradient\"}},[_c('stop',{attrs:{\"offset\":\"0%\",\"stop-color\":_vm.light}},[_c('animate',{attrs:{\"attributeName\":\"stop-color\",\"values\":`${_vm.light}; ${_vm.light}; ${_vm.dark}; ${_vm.dark}; ${_vm.light}`,\"dur\":\"2s\",\"repeatCount\":\"indefinite\"}})]),_vm._v(\" \"),_c('stop',{attrs:{\"offset\":\"100%\",\"stop-color\":_vm.dark}},[_c('animate',{attrs:{\"attributeName\":\"stop-color\",\"values\":`${_vm.dark}; ${_vm.light}; ${_vm.light}; ${_vm.dark}; ${_vm.dark}`,\"dur\":\"2s\",\"repeatCount\":\"indefinite\"}})])],1)],1)]),_vm._v(\" \"),_vm._l(([1, 2, 3]),function(placeholder){return _c('li',{key:placeholder},[_c('svg',{staticClass:\"unified-search__result-placeholder\",attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"fill\":\"url(#unified-search__result-placeholder-gradient)\"}},[_c('rect',{staticClass:\"unified-search__result-placeholder-icon\"}),_vm._v(\" \"),_c('rect',{staticClass:\"unified-search__result-placeholder-line-one\"}),_vm._v(\" \"),_c('rect',{staticClass:\"unified-search__result-placeholder-line-two\",style:({ width: `calc(${_vm.randWidth()}%)` })})])])})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { getCurrentUser } from '@nextcloud/auth'\nimport { getLoggerBuilder } from '@nextcloud/logger'\n\n/**\n *\n * @param user\n */\nfunction getLogger(user) {\n\tif (user === null) {\n\t\treturn getLoggerBuilder()\n\t\t\t.setApp('core')\n\t\t\t.build()\n\t}\n\treturn getLoggerBuilder()\n\t\t.setApp('core')\n\t\t.setUid(user.uid)\n\t\t.build()\n}\n\nexport default getLogger(getCurrentUser())\n\nexport const unifiedSearchLogger = getLoggerBuilder()\n\t.setApp('unified-search')\n\t.detectUser()\n\t.build()\n","/**\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport axios from '@nextcloud/axios'\nimport { loadState } from '@nextcloud/initial-state'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport logger from '../logger.js'\n\nexport const defaultLimit = loadState('unified-search', 'limit-default')\nexport const minSearchLength = loadState('unified-search', 'min-search-length', 1)\nexport const enableLiveSearch = loadState('unified-search', 'live-search', true)\n\nexport const regexFilterIn = /(^|\\s)in:([a-z_-]+)/ig\nexport const regexFilterNot = /(^|\\s)-in:([a-z_-]+)/ig\n\n/**\n * Create a cancel token\n *\n * @return {import('axios').CancelTokenSource}\n */\nconst createCancelToken = () => axios.CancelToken.source()\n\n/**\n * Get the list of available search providers\n *\n * @return {Promise}\n */\nexport async function getTypes() {\n\ttry {\n\t\tconst { data } = await axios.get(generateOcsUrl('search/providers'), {\n\t\t\tparams: {\n\t\t\t\t// Sending which location we're currently at\n\t\t\t\tfrom: window.location.pathname.replace('/index.php', '') + window.location.search,\n\t\t\t},\n\t\t})\n\t\tif ('ocs' in data && 'data' in data.ocs && Array.isArray(data.ocs.data) && data.ocs.data.length > 0) {\n\t\t\t// Providers are sorted by the api based on their order key\n\t\t\treturn data.ocs.data\n\t\t}\n\t} catch (error) {\n\t\tlogger.error(error)\n\t}\n\treturn []\n}\n\n/**\n * Get the list of available search providers\n *\n * @param {object} options destructuring object\n * @param {string} options.type the type to search\n * @param {string} options.query the search\n * @param {number|string|undefined} options.cursor the offset for paginated searches\n * @return {object} {request: Promise, cancel: Promise}\n */\nexport function search({ type, query, cursor }) {\n\t/**\n\t * Generate an axios cancel token\n\t */\n\tconst cancelToken = createCancelToken()\n\n\tconst request = async () => axios.get(generateOcsUrl('search/providers/{type}/search', { type }), {\n\t\tcancelToken: cancelToken.token,\n\t\tparams: {\n\t\t\tterm: query,\n\t\t\tcursor,\n\t\t\t// Sending which location we're currently at\n\t\t\tfrom: window.location.pathname.replace('/index.php', '') + window.location.search,\n\t\t},\n\t})\n\n\treturn {\n\t\trequest,\n\t\tcancel: cancelToken.cancel,\n\t}\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!./LegacyUnifiedSearch.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!./LegacyUnifiedSearch.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!./LegacyUnifiedSearch.vue?vue&type=style&index=0&id=4cdce41c&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!./LegacyUnifiedSearch.vue?vue&type=style&index=0&id=4cdce41c&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./LegacyUnifiedSearch.vue?vue&type=template&id=4cdce41c&scoped=true\"\nimport script from \"./LegacyUnifiedSearch.vue?vue&type=script&lang=js\"\nexport * from \"./LegacyUnifiedSearch.vue?vue&type=script&lang=js\"\nimport style0 from \"./LegacyUnifiedSearch.vue?vue&type=style&index=0&id=4cdce41c&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 \"4cdce41c\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('NcHeaderMenu',{staticClass:\"unified-search\",attrs:{\"id\":\"unified-search\",\"exclude-click-outside-selectors\":['.popover'],\"open\":_vm.open,\"aria-label\":_vm.ariaLabel},on:{\"update:open\":function($event){_vm.open=$event},\"open\":_vm.onOpen,\"close\":_vm.onClose},scopedSlots:_vm._u([{key:\"trigger\",fn:function(){return [_c('Magnify',{staticClass:\"unified-search__trigger-icon\",attrs:{\"size\":20}})]},proxy:true}])},[_vm._v(\" \"),_c('div',{staticClass:\"unified-search__input-wrapper\"},[_c('div',{staticClass:\"unified-search__input-row\"},[_c('NcTextField',{ref:\"input\",staticClass:\"unified-search__form-input\",class:{ 'unified-search__form-input--with-reset': !!_vm.query },attrs:{\"trailing-button-icon\":\"close\",\"label\":_vm.ariaLabel,\"trailing-button-label\":_vm.t('core', 'Reset search'),\"show-trailing-button\":_vm.query !== '',\"aria-describedby\":\"unified-search-desc\",\"placeholder\":_vm.t('core', 'Search {types} …', { types: _vm.typesNames.join(', ') })},on:{\"trailing-button-click\":_vm.onReset,\"input\":_vm.onInputDebounced},model:{value:(_vm.query),callback:function ($$v) {_vm.query=$$v},expression:\"query\"}}),_vm._v(\" \"),_c('p',{staticClass:\"hidden-visually\",attrs:{\"id\":\"unified-search-desc\"}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('core', 'Search starts once you start typing and results may be reached with the arrow keys'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),(_vm.availableFilters.length > 1)?_c('NcActions',{staticClass:\"unified-search__filters\",attrs:{\"placement\":\"bottom-end\",\"container\":\".unified-search__input-wrapper\"}},_vm._l((_vm.availableFilters),function(filter){return _c('NcActionButton',{key:filter,attrs:{\"icon\":\"icon-filter\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.onClickFilter(`in:${filter}`)}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('core', 'Search for {name} only', { name: _vm.typesMap[filter] }))+\"\\n\\t\\t\\t\\t\")])}),1):_vm._e()],1)]),_vm._v(\" \"),(!_vm.hasResults)?[(_vm.isLoading)?_c('SearchResultPlaceholders'):(_vm.isValidQuery)?_c('NcEmptyContent',{attrs:{\"title\":_vm.validQueryTitle},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Magnify')]},proxy:true}],null,false,931131664)}):(!_vm.isLoading || _vm.isShortQuery)?_c('NcEmptyContent',{attrs:{\"title\":_vm.t('core', 'Start typing to search'),\"description\":_vm.shortQueryDescription},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Magnify')]},proxy:true}],null,false,931131664)}):_vm._e()]:_vm._l((_vm.orderedResults),function({ list, type },typesIndex){return [_c('h2',{key:type,staticClass:\"unified-search__results-header\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.typesMap[type])+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('ul',{key:type,staticClass:\"unified-search__results\",class:`unified-search__results-${type}`,attrs:{\"aria-label\":_vm.typesMap[type]}},[_vm._l((_vm.limitIfAny(list, type)),function(result,index){return _c('li',{key:result.resourceUrl},[_c('SearchResult',_vm._b({attrs:{\"query\":_vm.query,\"focused\":_vm.focused === 0 && typesIndex === 0 && index === 0},on:{\"focus\":_vm.setFocusedIndex}},'SearchResult',result,false))],1)}),_vm._v(\" \"),_c('li',[(!_vm.reached[type])?_c('SearchResult',{staticClass:\"unified-search__result-more\",attrs:{\"title\":_vm.loading[type]\n\t\t\t\t\t\t? _vm.t('core', 'Loading more results …')\n\t\t\t\t\t\t: _vm.t('core', 'Load more results'),\"icon-class\":_vm.loading[type] ? 'icon-loading-small' : ''},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.loadMore(type)},\"focus\":_vm.setFocusedIndex}}):_vm._e()],1)],2)]})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { getCSPNonce } from '@nextcloud/auth'\nimport { n, t } from '@nextcloud/l10n'\nimport { getLoggerBuilder } from '@nextcloud/logger'\nimport Vue from 'vue'\nimport UnifiedSearch from './views/LegacyUnifiedSearch.vue'\n\n__webpack_nonce__ = getCSPNonce()\n\nconst logger = getLoggerBuilder()\n\t.setApp('unified-search')\n\t.detectUser()\n\t.build()\n\nVue.mixin({\n\tdata() {\n\t\treturn {\n\t\t\tlogger,\n\t\t}\n\t},\n\tmethods: {\n\t\tt,\n\t\tn,\n\t},\n})\n\nexport default new Vue({\n\tel: '#unified-search',\n\tname: 'UnifiedSearchRoot',\n\trender: (h) => h(UnifiedSearch),\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, `.unified-search__result[data-v-2dec9460]{display:flex;align-items:center;height:44px;padding:10px;border:2px solid rgba(0,0,0,0);border-radius:var(--border-radius-large) !important}.unified-search__result--focused[data-v-2dec9460]{background-color:var(--color-background-hover)}.unified-search__result[data-v-2dec9460]:active,.unified-search__result[data-v-2dec9460]:hover,.unified-search__result[data-v-2dec9460]:focus{background-color:var(--color-background-hover);border:2px solid var(--color-border-maxcontrast)}.unified-search__result *[data-v-2dec9460]{cursor:pointer}.unified-search__result-icon[data-v-2dec9460]{overflow:hidden;width:44px;height:44px;border-radius:var(--border-radius);background-repeat:no-repeat;background-position:center center;background-size:32px}.unified-search__result-icon--rounded[data-v-2dec9460]{border-radius:22px}.unified-search__result-icon--no-preview[data-v-2dec9460]{background-size:32px}.unified-search__result-icon--with-thumbnail[data-v-2dec9460]{background-size:cover}.unified-search__result-icon--with-thumbnail[data-v-2dec9460]:not(.unified-search__result-icon--rounded){max-width:42px;max-height:42px;border:1px solid var(--color-border)}.unified-search__result-icon img[data-v-2dec9460]{width:100%;height:100%;object-fit:cover;object-position:center}.unified-search__result-icon[data-v-2dec9460],.unified-search__result-actions[data-v-2dec9460]{flex:0 0 44px}.unified-search__result-content[data-v-2dec9460]{display:flex;align-items:center;flex:1 1 100%;flex-wrap:wrap;min-width:0;padding-inline-start:10px}.unified-search__result-line-one[data-v-2dec9460],.unified-search__result-line-two[data-v-2dec9460]{overflow:hidden;flex:1 1 100%;margin:1px 0;white-space:nowrap;text-overflow:ellipsis;color:inherit;font-size:inherit}.unified-search__result-line-two[data-v-2dec9460]{opacity:.7;font-size:var(--default-font-size)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./core/src/components/UnifiedSearch/LegacySearchResult.vue\"],\"names\":[],\"mappings\":\"AAMA,yCACC,YAAA,CACA,kBAAA,CACA,WANgB,CAOhB,YANQ,CAOR,8BAAA,CACA,mDAAA,CAEA,kDACC,8CAAA,CAGD,8IAGC,8CAAA,CACA,gDAAA,CAGD,2CACC,cAAA,CAGD,8CACC,eAAA,CACA,UA5Be,CA6Bf,WA7Be,CA8Bf,kCAAA,CACA,2BAAA,CACA,iCAAA,CACA,oBAAA,CACA,uDACC,kBAAA,CAED,0DACC,oBAAA,CAED,8DACC,qBAAA,CAED,yGAEC,cAAA,CACA,eAAA,CACA,oCAAA,CAGD,kDAEC,UAAA,CACA,WAAA,CAEA,gBAAA,CACA,sBAAA,CAIF,+FAEC,aAAA,CAGD,iDACC,YAAA,CACA,kBAAA,CACA,aAAA,CACA,cAAA,CAEA,WAAA,CACA,yBAvEO,CA0ER,oGAEC,eAAA,CACA,aAAA,CACA,YAAA,CACA,kBAAA,CACA,sBAAA,CAEA,aAAA,CACA,iBAAA,CAED,kDACC,UAAA,CACA,kCAAA\",\"sourcesContent\":[\"\\n@use \\\"sass:math\\\";\\n\\n$clickable-area: 44px;\\n$margin: 10px;\\n\\n.unified-search__result {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\theight: $clickable-area;\\n\\tpadding: $margin;\\n\\tborder: 2px solid transparent;\\n\\tborder-radius: var(--border-radius-large) !important;\\n\\n\\t&--focused {\\n\\t\\tbackground-color: var(--color-background-hover);\\n\\t}\\n\\n\\t&:active,\\n\\t&:hover,\\n\\t&:focus {\\n\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\tborder: 2px solid var(--color-border-maxcontrast);\\n\\t}\\n\\n\\t* {\\n\\t\\tcursor: pointer;\\n\\t}\\n\\n\\t&-icon {\\n\\t\\toverflow: hidden;\\n\\t\\twidth: $clickable-area;\\n\\t\\theight: $clickable-area;\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground-repeat: no-repeat;\\n\\t\\tbackground-position: center center;\\n\\t\\tbackground-size: 32px;\\n\\t\\t&--rounded {\\n\\t\\t\\tborder-radius: math.div($clickable-area, 2);\\n\\t\\t}\\n\\t\\t&--no-preview {\\n\\t\\t\\tbackground-size: 32px;\\n\\t\\t}\\n\\t\\t&--with-thumbnail {\\n\\t\\t\\tbackground-size: cover;\\n\\t\\t}\\n\\t\\t&--with-thumbnail:not(&--rounded) {\\n\\t\\t\\t// compensate for border\\n\\t\\t\\tmax-width: $clickable-area - 2px;\\n\\t\\t\\tmax-height: $clickable-area - 2px;\\n\\t\\t\\tborder: 1px solid var(--color-border);\\n\\t\\t}\\n\\n\\t\\timg {\\n\\t\\t\\t// Make sure to keep ratio\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\theight: 100%;\\n\\n\\t\\t\\tobject-fit: cover;\\n\\t\\t\\tobject-position: center;\\n\\t\\t}\\n\\t}\\n\\n\\t&-icon,\\n\\t&-actions {\\n\\t\\tflex: 0 0 $clickable-area;\\n\\t}\\n\\n\\t&-content {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tflex: 1 1 100%;\\n\\t\\tflex-wrap: wrap;\\n\\t\\t// Set to minimum and gro from it\\n\\t\\tmin-width: 0;\\n\\t\\tpadding-inline-start: $margin;\\n\\t}\\n\\n\\t&-line-one,\\n\\t&-line-two {\\n\\t\\toverflow: hidden;\\n\\t\\tflex: 1 1 100%;\\n\\t\\tmargin: 1px 0;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\t// Use the same color as the `a`\\n\\t\\tcolor: inherit;\\n\\t\\tfont-size: inherit;\\n\\t}\\n\\t&-line-two {\\n\\t\\topacity: .7;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t}\\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, `.unified-search__result-placeholder-gradient[data-v-480c8b8e]{position:fixed;height:0;width:0;z-index:-1}.unified-search__result-placeholder[data-v-480c8b8e]{width:calc(100% - 2*10px);height:44px;margin:10px}.unified-search__result-placeholder-icon[data-v-480c8b8e]{width:44px;height:44px;rx:var(--border-radius);ry:var(--border-radius)}.unified-search__result-placeholder-line-one[data-v-480c8b8e],.unified-search__result-placeholder-line-two[data-v-480c8b8e]{width:calc(100% - 54px);height:1em;x:54px}.unified-search__result-placeholder-line-one[data-v-480c8b8e]{y:5px}.unified-search__result-placeholder-line-two[data-v-480c8b8e]{y:25px}`, \"\",{\"version\":3,\"sources\":[\"webpack://./core/src/components/UnifiedSearch/SearchResultPlaceholders.vue\"],\"names\":[],\"mappings\":\"AAIA,8DACC,cAAA,CACA,QAAA,CACA,OAAA,CACA,UAAA,CAGD,qDACC,yBAAA,CACA,WAZgB,CAahB,WAZQ,CAcR,0DACC,UAhBe,CAiBf,WAjBe,CAkBf,uBAAA,CACA,uBAAA,CAGD,4HAEC,uBAAA,CACA,UAAA,CACA,MAAA,CAGD,8DACC,KAAA,CAGD,8DACC,MAAA\",\"sourcesContent\":[\"\\n$clickable-area: 44px;\\n$margin: 10px;\\n\\n.unified-search__result-placeholder-gradient {\\n\\tposition: fixed;\\n\\theight: 0;\\n\\twidth: 0;\\n\\tz-index: -1;\\n}\\n\\n.unified-search__result-placeholder {\\n\\twidth: calc(100% - 2 * #{$margin});\\n\\theight: $clickable-area;\\n\\tmargin: $margin;\\n\\n\\t&-icon {\\n\\t\\twidth: $clickable-area;\\n\\t\\theight: $clickable-area;\\n\\t\\trx: var(--border-radius);\\n\\t\\try: var(--border-radius);\\n\\t}\\n\\n\\t&-line-one,\\n\\t&-line-two {\\n\\t\\twidth: calc(100% - #{$margin + $clickable-area});\\n\\t\\theight: 1em;\\n\\t\\tx: $margin + $clickable-area;\\n\\t}\\n\\n\\t&-line-one {\\n\\t\\ty: 5px;\\n\\t}\\n\\n\\t&-line-two {\\n\\t\\ty: 25px;\\n\\t}\\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, `.unified-search__trigger-icon[data-v-4cdce41c]{color:var(--color-background-plain-text) !important}.unified-search__input-wrapper[data-v-4cdce41c]{position:sticky;z-index:2;top:0;display:inline-flex;flex-direction:column;align-items:center;width:100%;background-color:var(--color-main-background)}.unified-search__input-wrapper label[for=unified-search__input][data-v-4cdce41c]{align-self:flex-start;font-weight:bold;font-size:19px;margin-inline-start:13px}.unified-search__input-row[data-v-4cdce41c]{display:flex;width:100%;align-items:center}.unified-search__filters[data-v-4cdce41c]{margin-block:10px;margin-inline:5px 0;padding-top:5px}.unified-search__filters ul[data-v-4cdce41c]{display:inline-flex;justify-content:space-between}.unified-search__form[data-v-4cdce41c]{position:relative;width:100%;margin:10px 0}.unified-search__form[data-v-4cdce41c]::after{inset-inline-start:auto 10px}.unified-search__form-input[data-v-4cdce41c],.unified-search__form-reset[data-v-4cdce41c]{margin:5px}.unified-search__form-input[data-v-4cdce41c]{width:100%;height:34px;padding:10px}.unified-search__form-input[data-v-4cdce41c]:focus,.unified-search__form-input[data-v-4cdce41c]:focus-visible,.unified-search__form-input[data-v-4cdce41c]:active{border-color:2px solid var(--color-main-text) !important;box-shadow:0 0 0 2px var(--color-main-background) !important}.unified-search__form-input[data-v-4cdce41c],.unified-search__form-input[placeholder][data-v-4cdce41c],.unified-search__form-input[data-v-4cdce41c]::placeholder{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.unified-search__form-input[data-v-4cdce41c]::-webkit-search-decoration,.unified-search__form-input[data-v-4cdce41c]::-webkit-search-cancel-button,.unified-search__form-input[data-v-4cdce41c]::-webkit-search-results-button,.unified-search__form-input[data-v-4cdce41c]::-webkit-search-results-decoration{-webkit-appearance:none}.unified-search__form-reset[data-v-4cdce41c],.unified-search__form-submit[data-v-4cdce41c]{position:absolute;top:0;inset-inline-end:4px;width:24px;height:24px;min-height:30px;padding:0;opacity:.5;border:none;background-color:rgba(0,0,0,0);margin-inline-end:0}.unified-search__form-reset[data-v-4cdce41c]:hover,.unified-search__form-reset[data-v-4cdce41c]:focus,.unified-search__form-reset[data-v-4cdce41c]:active,.unified-search__form-submit[data-v-4cdce41c]:hover,.unified-search__form-submit[data-v-4cdce41c]:focus,.unified-search__form-submit[data-v-4cdce41c]:active{opacity:1}.unified-search__form-submit[data-v-4cdce41c]{inset-inline-end:28px}.unified-search__results[data-v-4cdce41c]{display:flex;flex-direction:column;gap:4px}.unified-search__results-header[data-v-4cdce41c]{display:block;margin:10px;margin-bottom:6px;margin-inline-start:13px;color:var(--color-primary-element);font-size:19px;font-weight:bold}.unified-search[data-v-4cdce41c] .unified-search__result-more{color:var(--color-text-maxcontrast)}.unified-search .empty-content[data-v-4cdce41c]{margin:10vh 0}.unified-search .empty-content[data-v-4cdce41c] .empty-content__title{font-weight:normal;font-size:var(--default-font-size);text-align:center}`, \"\",{\"version\":3,\"sources\":[\"webpack://./core/src/views/LegacyUnifiedSearch.vue\"],\"names\":[],\"mappings\":\"AAQC,+CACC,mDAAA,CAGD,gDACC,eAAA,CAEA,SAAA,CACA,KAAA,CACA,mBAAA,CACA,qBAAA,CACA,kBAAA,CACA,UAAA,CACA,6CAAA,CAEA,iFACC,qBAAA,CACA,gBAAA,CACA,cAAA,CACA,wBAAA,CAIF,4CACC,YAAA,CACA,UAAA,CACA,kBAAA,CAGD,0CACC,iBAnCO,CAoCP,mBAAA,CACA,eAAA,CACA,6CACC,mBAAA,CACA,6BAAA,CAIF,uCACC,iBAAA,CACA,UAAA,CACA,aAAA,CAGA,8CACA,4BAAA,CAGA,0FAEC,UAAA,CAGD,6CACC,UAAA,CACA,WA5DY,CA6DZ,YA5Da,CA8Db,kKAGC,wDAAA,CACA,4DAAA,CAGD,iKAGC,eAAA,CACA,kBAAA,CACA,sBAAA,CAID,+SAIC,uBAAA,CAIF,2FAEC,iBAAA,CACA,KAAA,CACA,oBAAA,CACA,UAAA,CACA,WAAA,CACA,eAAA,CACA,SAAA,CACA,UAAA,CACA,WAAA,CACA,8BAAA,CACA,mBAAA,CAEA,uTAGC,SAAA,CAIF,8CACC,qBAAA,CAIF,0CACC,YAAA,CACA,qBAAA,CACA,OAAA,CAEA,iDACC,aAAA,CACA,WAzHM,CA0HN,iBAAA,CACA,wBAAA,CACA,kCAAA,CACA,cAAA,CACA,gBAAA,CAIF,8DACC,mCAAA,CAGD,gDACC,aAAA,CAEA,sEACC,kBAAA,CACA,kCAAA,CACA,iBAAA\",\"sourcesContent\":[\"\\n@use \\\"sass:math\\\";\\n\\n$margin: 10px;\\n$input-height: 34px;\\n$input-padding: 10px;\\n\\n.unified-search {\\n\\t&__trigger-icon {\\n\\t\\tcolor: var(--color-background-plain-text) !important;\\n\\t}\\n\\n\\t&__input-wrapper {\\n\\t\\tposition: sticky;\\n\\t\\t// above search results\\n\\t\\tz-index: 2;\\n\\t\\ttop: 0;\\n\\t\\tdisplay: inline-flex;\\n\\t\\tflex-direction: column;\\n\\t\\talign-items: center;\\n\\t\\twidth: 100%;\\n\\t\\tbackground-color: var(--color-main-background);\\n\\n\\t\\tlabel[for=\\\"unified-search__input\\\"] {\\n\\t\\t\\talign-self: flex-start;\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\tfont-size: 19px;\\n\\t\\t\\tmargin-inline-start: 13px;\\n\\t\\t}\\n\\t}\\n\\n\\t&__input-row {\\n\\t\\tdisplay: flex;\\n\\t\\twidth: 100%;\\n\\t\\talign-items: center;\\n\\t}\\n\\n\\t&__filters {\\n\\t\\tmargin-block: $margin;\\n\\t\\tmargin-inline: math.div($margin, 2) 0;\\n\\t\\tpadding-top: 5px;\\n\\t\\tul {\\n\\t\\t\\tdisplay: inline-flex;\\n\\t\\t\\tjustify-content: space-between;\\n\\t\\t}\\n\\t}\\n\\n\\t&__form {\\n\\t\\tposition: relative;\\n\\t\\twidth: 100%;\\n\\t\\tmargin: $margin 0;\\n\\n\\t\\t// Loading spinner\\n\\t\\t&::after {\\n\\t\\tinset-inline-start: auto $input-padding;\\n\\t\\t}\\n\\n\\t\\t&-input,\\n\\t\\t&-reset {\\n\\t\\t\\tmargin: math.div($input-padding, 2);\\n\\t\\t}\\n\\n\\t\\t&-input {\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\theight: $input-height;\\n\\t\\t\\tpadding: $input-padding;\\n\\n\\t\\t\\t&:focus,\\n\\t\\t\\t&:focus-visible,\\n\\t\\t\\t&:active {\\n\\t\\t\\t\\tborder-color: 2px solid var(--color-main-text) !important;\\n\\t\\t\\t\\tbox-shadow: 0 0 0 2px var(--color-main-background) !important;\\n\\t\\t\\t}\\n\\n\\t\\t\\t&,\\n\\t\\t\\t&[placeholder],\\n\\t\\t\\t&::placeholder {\\n\\t\\t\\t\\toverflow: hidden;\\n\\t\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Hide webkit clear search\\n\\t\\t\\t&::-webkit-search-decoration,\\n\\t\\t\\t&::-webkit-search-cancel-button,\\n\\t\\t\\t&::-webkit-search-results-button,\\n\\t\\t\\t&::-webkit-search-results-decoration {\\n\\t\\t\\t\\t-webkit-appearance: none;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&-reset,\\n\\t\\t&-submit {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\ttop: 0;\\n\\t\\t\\tinset-inline-end: 4px;\\n\\t\\t\\twidth: $input-height - $input-padding;\\n\\t\\t\\theight: $input-height - $input-padding;\\n\\t\\t\\tmin-height: 30px;\\n\\t\\t\\tpadding: 0;\\n\\t\\t\\topacity: .5;\\n\\t\\t\\tborder: none;\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t\\tmargin-inline-end: 0;\\n\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&:focus,\\n\\t\\t\\t&:active {\\n\\t\\t\\t\\topacity: 1;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&-submit {\\n\\t\\t\\tinset-inline-end: 28px;\\n\\t\\t}\\n\\t}\\n\\n\\t&__results {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\tgap: 4px;\\n\\n\\t\\t&-header {\\n\\t\\t\\tdisplay: block;\\n\\t\\t\\tmargin: $margin;\\n\\t\\t\\tmargin-bottom: $margin - 4px;\\n\\t\\t\\tmargin-inline-start: 13px;\\n\\t\\t\\tcolor: var(--color-primary-element);\\n\\t\\t\\tfont-size: 19px;\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t}\\n\\t}\\n\\n\\t:deep(.unified-search__result-more) {\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t}\\n\\n\\t.empty-content {\\n\\t\\tmargin: 10vh 0;\\n\\n\\t\\t:deep(.empty-content__title) {\\n\\t\\t\\tfont-weight: normal;\\n\\t\\t\\tfont-size: var(--default-font-size);\\n\\t\\t\\ttext-align: center;\\n\\t\\t}\\n\\t}\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \"-\" + chunkId + \".js?v=\" + {\"4005\":\"ea0438a7997fd9e715c6\",\"4017\":\"dec6f3d66ff15c8062d0\",\"5236\":\"311a02bae05374304a11\",\"7859\":\"374481dd0197cd96efe4\",\"8374\":\"a1555d19d2bb52436702\",\"8436\":\"e9ae15ec61caab34615a\",\"8689\":\"81e9b831f82f55de32df\"}[chunkId] + \"\";\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 1684;","var scriptUrl;\nif (globalThis.importScripts) scriptUrl = globalThis.location + \"\";\nvar document = globalThis.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript && document.currentScript.tagName.toUpperCase() === 'SCRIPT')\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && (!scriptUrl || !/^http(s?):/.test(scriptUrl))) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/^blob:/, \"\").replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","__webpack_require__.b = (typeof document !== 'undefined' && document.baseURI) || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t1684: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = globalThis[\"webpackChunknextcloud_ui_legacy\"] = globalThis[\"webpackChunknextcloud_ui_legacy\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [4208], () => (__webpack_require__(50556)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","inProgress","dataWebpackPrefix","vue_material_design_icons_Magnifyvue_type_script_lang_js","name","emits","props","title","type","String","fillColor","default","size","Number","Magnify","componentNormalizer","A","_vm","this","_c","_self","_b","staticClass","attrs","role","on","click","$event","$emit","$attrs","fill","width","height","viewBox","d","_v","_s","_e","UnifiedSearch_LegacySearchResultvue_type_script_lang_js","components","NcHighlight","thumbnailUrl","required","subline","resourceUrl","icon","rounded","Boolean","query","focused","data","hasValidThumbnail","trim","loaded","computed","isIconUrl","startsWith","URL","watch","methods","reEmitEvent","e","onError","onLoad","options","styleTagTransform","styleTagTransform_default","setAttributes","setAttributesWithoutAttributes_default","insert","insertBySelector_default","bind","domAPI","styleDomAPI_default","insertStyleElement","insertStyleElement_default","injectStylesIntoStyleTag_default","LegacySearchResultvue_type_style_index_0_id_2dec9460_prod_lang_scss_scoped_true","locals","LegacySearchResult","class","href","focus","style","backgroundImage","directives","rawName","value","expression","src","alt","error","load","text","search","UnifiedSearch_SearchResultPlaceholdersvue_type_script_lang_js","light","dark","mounted","styles","getComputedStyle","document","documentElement","getPropertyValue","randWidth","Math","floor","random","SearchResultPlaceholdersvue_type_style_index_0_id_480c8b8e_prod_lang_scss_scoped_true_options","SearchResultPlaceholdersvue_type_style_index_0_id_480c8b8e_prod_lang_scss_scoped_true","SearchResultPlaceholders","id","offset","attributeName","values","dur","repeatCount","_l","placeholder","key","xmlns","logger","user","getCurrentUser","getLoggerBuilder","setApp","build","setUid","uid","detectUser","defaultLimit","loadState","minSearchLength","enableLiveSearch","regexFilterIn","regexFilterNot","async","getTypes","axios","get","generateOcsUrl","params","from","window","location","pathname","replace","ocs","Array","isArray","length","cursor","cancelToken","CancelToken","source","request","token","term","cancel","views_LegacyUnifiedSearchvue_type_script_lang_js","NcActionButton","NcActions","NcEmptyContent","NcHeaderMenu","SearchResult","NcTextField","types","cursors","limits","loading","reached","requests","results","triggered","open","typesIDs","map","typesNames","typesMap","reduce","prev","curr","ariaLabel","t","hasResults","Object","keys","orderedResults","filter","list","availableFilters","usedFiltersIn","match","filters","exec","push","usedFiltersNot","validQueryTitle","shortQueryDescription","isShortQuery","n","isValidQuery","isDoneSearching","every","state","isLoading","some","created","debug","beforeDestroy","unsubscribe","onNavigationChange","subscribe","OCP","Accessibility","disableKeyboardShortcuts","addEventListener","event","ctrlKey","code","preventDefault","focusNext","focusPrev","onOpen","onClose","emit","$el","querySelector","reset","onReset","resetState","focusInput","cancelPendingRequests","slice","Promise","all","$nextTick","$refs","input","select","onInputEnter","getResultsList","onInput","$delete","indexOf","$set","entries","isPaginated","response","status","showError","then","result","onInputDebounced","debounce","loadMore","focusIndex","limitIfAny","querySelectorAll","focusFirst","index","setFocusedIndex","entry","target","findIndex","onClickFilter","LegacyUnifiedSearchvue_type_style_index_0_id_4cdce41c_prod_lang_scss_scoped_true_options","LegacyUnifiedSearchvue_type_style_index_0_id_4cdce41c_prod_lang_scss_scoped_true","LegacyUnifiedSearch","close","scopedSlots","_u","fn","proxy","ref","label","join","model","callback","$$v","placement","container","stopPropagation","typesIndex","description","__webpack_nonce__","getCSPNonce","Vue","mixin","l10n_dist","el","render","h","UnifiedSearch","___CSS_LOADER_EXPORT___","_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default","_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default","module","version","sources","names","mappings","sourcesContent","sourceRoot","__WEBPACK_DEFAULT_EXPORT__","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","__webpack_modules__","call","m","O","chunkIds","priority","notFulfilled","Infinity","i","fulfilled","j","splice","r","getter","__esModule","a","definition","o","defineProperty","enumerable","f","chunkId","promises","u","obj","prop","prototype","hasOwnProperty","l","url","done","script","needAttach","scripts","getElementsByTagName","s","getAttribute","createElement","charset","nc","setAttribute","onScriptComplete","onerror","onload","clearTimeout","timeout","doneFns","parentNode","removeChild","forEach","setTimeout","head","appendChild","Symbol","toStringTag","nmd","paths","children","scriptUrl","globalThis","importScripts","currentScript","tagName","toUpperCase","test","Error","p","b","baseURI","self","installedChunks","installedChunkData","promise","resolve","reject","errorType","realSrc","message","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"core-legacy-unified-search.js?v=c90022519be99b2a94d3","mappings":"uBAAAA,ECAAC,EACAC,yJCmBA,MCpB0GC,EDoB1G,CACAC,KAAA,cACAC,MAAA,UACAC,MAAA,CACAC,MAAA,CACAC,KAAAC,QAEAC,UAAA,CACAF,KAAAC,OACAE,QAAA,gBAEAC,KAAA,CACAJ,KAAAK,OACAF,QAAA,qBEfA,MAAAG,GAXgB,EAAAC,EAAAC,GACdb,ECRQ,WAAqB,IAAAc,EAAAC,KAAAC,EAAAF,EAAAG,MAAAD,GAA6B,OAAAA,EAAA,OAAAF,EAAAI,GAAA,CAAyBC,YAAA,oCAAAC,MAAA,CAAuD,cAAAN,EAAAV,MAAA,yBAAAU,EAAAV,MAAAiB,KAAA,OAA4EC,GAAA,CAAKC,MAAA,SAAAC,GAAyB,OAAAV,EAAAW,MAAA,QAAAD,EAAA,IAAoC,OAAAV,EAAAY,QAAA,IAAAV,EAAA,OAAqCG,YAAA,4BAAAC,MAAA,CAA+CO,KAAAb,EAAAP,UAAAqB,MAAAd,EAAAL,KAAAoB,OAAAf,EAAAL,KAAAqB,QAAA,cAA+E,CAAAd,EAAA,QAAaI,MAAA,CAAOW,EAAA,sQAAyQ,CAAAjB,EAAA,MAAAE,EAAA,SAAAF,EAAAkB,GAAAlB,EAAAmB,GAAAnB,EAAAV,UAAAU,EAAAoB,UAC1tB,EACmB,IDSnB,EACA,KACA,KACA,cEd8LC,ECiD9L,CACAlC,KAAA,qBAEAmC,WAAA,CACAC,qBAAAA,GAGAlC,MAAA,CACAmC,aAAA,CACAjC,KAAAC,OACAE,QAAA,MAGAJ,MAAA,CACAC,KAAAC,OACAiC,UAAA,GAGAC,QAAA,CACAnC,KAAAC,OACAE,QAAA,MAGAiC,YAAA,CACApC,KAAAC,OACAE,QAAA,MAGAkC,KAAA,CACArC,KAAAC,OACAE,QAAA,IAGAmC,QAAA,CACAtC,KAAAuC,QACApC,SAAA,GAGAqC,MAAA,CACAxC,KAAAC,OACAE,QAAA,IAQAsC,QAAA,CACAzC,KAAAuC,QACApC,SAAA,IAIAuC,IAAAA,GACA,OACAC,kBAAAjC,KAAAuB,cAAA,KAAAvB,KAAAuB,aAAAW,OACAC,QAAA,EAEA,EAEAC,SAAA,CACAC,SAAAA,GAEA,GAAArC,KAAA2B,KAAAW,WAAA,KACA,SAIA,IACA,IAAAC,IAAAvC,KAAA2B,KACA,OACA,QACA,CACA,QACA,GAGAa,MAAA,CAEAjB,YAAAA,GACAvB,KAAAiC,kBAAAjC,KAAAuB,cAAA,KAAAvB,KAAAuB,aAAAW,OACAlC,KAAAmC,QAAA,CACA,GAGAM,QAAA,CACAC,WAAAA,CAAAC,GACA3C,KAAAU,MAAAiC,EAAArD,KAAAqD,EACA,EAKAC,OAAAA,GACA5C,KAAAiC,mBAAA,CACA,EAEAY,MAAAA,GACA7C,KAAAmC,QAAA,CACA,2IC1IAW,EAAA,GAEAA,EAAAC,kBAA4BC,IAC5BF,EAAAG,cAAwBC,IACxBJ,EAAAK,OAAiBC,IAAAC,KAAa,aAC9BP,EAAAQ,OAAiBC,IACjBT,EAAAU,mBAA6BC,IAEhBC,IAAIC,EAAA7D,EAAOgD,GAKFa,EAAA7D,GAAW6D,EAAA7D,EAAO8D,QAAUD,EAAA7D,EAAO8D,OCLzD,MAAAC,GAXgB,EAAAhE,EAAAC,GACdsB,ECTW,WAAkB,IAAIrB,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,IAAI,CAACG,YAAY,yBAAyB0D,MAAM,CACpH,kCAAmC/D,EAAIgC,SACtC1B,MAAM,CAAC0D,KAAOhE,EAAI2B,aAAe,KAAKnB,GAAG,CAACC,MAAQT,EAAI2C,YAAYsB,MAAQjE,EAAI2C,cAAc,CAACzC,EAAG,MAAM,CAACG,YAAY,8BAA8B0D,MAAM,CACvJ,uCAAwC/D,EAAI6B,QAC5C,2CAA4C7B,EAAIkC,oBAAsBlC,EAAIoC,OAC1E,8CAA+CpC,EAAIkC,mBAAqBlC,EAAIoC,OAC5E,CAACpC,EAAI4B,OAAQ5B,EAAIoC,SAAWpC,EAAIsC,WAC/B4B,MAAO,CACRC,gBAAiBnE,EAAIsC,UAAY,OAAOtC,EAAI4B,QAAU,KACnD,CAAE5B,EAAIkC,kBAAmBhC,EAAG,MAAM,CAACkE,WAAW,CAAC,CAACjF,KAAK,OAAOkF,QAAQ,SAASC,MAAOtE,EAAIoC,OAAQmC,WAAW,WAAWjE,MAAM,CAACkE,IAAMxE,EAAIwB,aAAaiD,IAAM,IAAIjE,GAAG,CAACkE,MAAQ1E,EAAI6C,QAAQ8B,KAAO3E,EAAI8C,UAAU9C,EAAIoB,OAAOpB,EAAIkB,GAAG,KAAKhB,EAAG,OAAO,CAACG,YAAY,kCAAkC,CAACH,EAAG,OAAO,CAACG,YAAY,kCAAkCC,MAAM,CAAChB,MAAQU,EAAIV,QAAQ,CAACY,EAAG,cAAc,CAACI,MAAM,CAACsE,KAAO5E,EAAIV,MAAMuF,OAAS7E,EAAI+B,UAAU,GAAG/B,EAAIkB,GAAG,KAAMlB,EAAI0B,QAASxB,EAAG,OAAO,CAACG,YAAY,kCAAkCC,MAAM,CAAChB,MAAQU,EAAI0B,UAAU,CAAC1B,EAAIkB,GAAGlB,EAAImB,GAAGnB,EAAI0B,YAAY1B,EAAIoB,QAC9kB,EACsB,IDCtB,EACA,KACA,WACA,cEfoM0D,EC2CpM,CACA3F,KAAA,2BAEA8C,KAAAA,KACA,CACA8C,MAAA,KACAC,KAAA,OAIAC,OAAAA,GACA,MAAAC,EAAAC,iBAAAC,SAAAC,iBACApF,KAAA+E,KAAAE,EAAAI,iBAAA,4BACArF,KAAA8E,MAAAG,EAAAI,iBAAA,4BACA,EAEA5C,QAAA,CACA6C,UAAAA,IACAC,KAAAC,MAAA,GAAAD,KAAAE,UAAA,oBClDIC,EAAO,GAEXA,EAAO3C,kBAAqBC,IAC5B0C,EAAOzC,cAAiBC,IACxBwC,EAAOvC,OAAUC,IAAAC,KAAa,aAC9BqC,EAAOpC,OAAUC,IACjBmC,EAAOlC,mBAAsBC,IAEhBC,IAAIiC,EAAA7F,EAAS4F,GAKJC,EAAA7F,GAAW6F,EAAA7F,EAAO8D,QAAU+B,EAAA7F,EAAO8D,OCLzD,MAAAgC,GAXgB,EAAA/F,EAAAC,GACd+E,ECTW,WAAkB,IAAI9E,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,KAAK,CAACA,EAAG,MAAM,CAACG,YAAY,+CAA+C,CAACH,EAAG,OAAO,CAACA,EAAG,iBAAiB,CAACI,MAAM,CAACwF,GAAK,gDAAgD,CAAC5F,EAAG,OAAO,CAACI,MAAM,CAACyF,OAAS,KAAK,aAAa/F,EAAI+E,QAAQ,CAAC7E,EAAG,UAAU,CAACI,MAAM,CAAC0F,cAAgB,aAAaC,OAAS,GAAGjG,EAAI+E,UAAU/E,EAAI+E,UAAU/E,EAAIgF,SAAShF,EAAIgF,SAAShF,EAAI+E,QAAQmB,IAAM,KAAKC,YAAc,kBAAkBnG,EAAIkB,GAAG,KAAKhB,EAAG,OAAO,CAACI,MAAM,CAACyF,OAAS,OAAO,aAAa/F,EAAIgF,OAAO,CAAC9E,EAAG,UAAU,CAACI,MAAM,CAAC0F,cAAgB,aAAaC,OAAS,GAAGjG,EAAIgF,SAAShF,EAAI+E,UAAU/E,EAAI+E,UAAU/E,EAAIgF,SAAShF,EAAIgF,OAAOkB,IAAM,KAAKC,YAAc,mBAAmB,IAAI,KAAKnG,EAAIkB,GAAG,KAAKlB,EAAIoG,GAAI,CAAC,EAAG,EAAG,GAAI,SAASC,GAAa,OAAOnG,EAAG,KAAK,CAACoG,IAAID,GAAa,CAACnG,EAAG,MAAM,CAACG,YAAY,qCAAqCC,MAAM,CAACiG,MAAQ,6BAA6B1F,KAAO,sDAAsD,CAACX,EAAG,OAAO,CAACG,YAAY,4CAA4CL,EAAIkB,GAAG,KAAKhB,EAAG,OAAO,CAACG,YAAY,gDAAgDL,EAAIkB,GAAG,KAAKhB,EAAG,OAAO,CAACG,YAAY,8CAA8C6D,MAAO,CAAEpD,MAAO,QAAQd,EAAIuF,sBAAwB,IAAI,EAC1uC,EACsB,IDUtB,EACA,KACA,WACA,cESAiB,EAXc,QADKC,GAYMC,EAAAA,EAAAA,QAVhBC,EAAAA,EAAAA,MACLC,OAAO,QACPC,SAEIF,EAAAA,EAAAA,MACLC,OAAO,QACPE,OAAOL,EAAKM,KACZF,QATH,IAAmBJ,GAcgBE,EAAAA,EAAAA,MACjCC,OAAO,kBACPI,aACAH,6CCnBK,MAAMI,GAAeC,EAAAA,EAAAA,GAAU,iBAAkB,iBAC3CC,GAAkBD,EAAAA,EAAAA,GAAU,iBAAkB,oBAAqB,GACnEE,GAAmBF,EAAAA,EAAAA,GAAU,iBAAkB,eAAe,GAE9DG,EAAgB,wBAChBC,EAAiB,yBAcvBC,eAAeC,IACrB,IACC,MAAMvF,KAAEA,SAAewF,EAAAA,GAAMC,KAAIC,EAAAA,EAAAA,IAAe,oBAAqB,CACpEC,OAAQ,CAEPC,KAAMC,OAAOC,SAASC,SAASC,QAAQ,aAAc,IAAMH,OAAOC,SAASlD,UAG7E,GAAI,QAAS5C,GAAQ,SAAUA,EAAKiG,KAAOC,MAAMC,QAAQnG,EAAKiG,IAAIjG,OAASA,EAAKiG,IAAIjG,KAAKoG,OAAS,EAEjG,OAAOpG,EAAKiG,IAAIjG,IAElB,CAAE,MAAOyC,GACR8B,EAAO9B,MAAMA,EACd,CACA,MAAO,EACR,CAWO,SAASG,GAAOtF,KAAEA,EAAIwC,MAAEA,EAAKuG,OAAEA,IAIrC,MAAMC,EAtCyBd,EAAAA,GAAMe,YAAYC,SAkDjD,MAAO,CACNC,QAXenB,SAAYE,EAAAA,GAAMC,KAAIC,EAAAA,EAAAA,IAAe,iCAAkC,CAAEpI,SAAS,CACjGgJ,YAAaA,EAAYI,MACzBf,OAAQ,CACPgB,KAAM7G,EACNuG,SAEAT,KAAMC,OAAOC,SAASC,SAASC,QAAQ,aAAc,IAAMH,OAAOC,SAASlD,UAM5EgE,OAAQN,EAAYM,OAEtB,CCqDA,MCjIyLC,EDqIzL,CACA3J,KAAA,sBAEAmC,WAAA,CACAzB,QAAAA,EACAkJ,eAAAA,EAAAhJ,EACAiJ,UAAAA,EAAAjJ,EACAkJ,eAAAA,EAAAlJ,EACAmJ,aAAAA,EAAAnJ,EACAoJ,aAAArF,EACA+B,yBAAAA,EACAuD,YAAAA,EAAAA,GAGAnH,KAAAA,KACA,CACAoH,MAAA,GAGAC,QAAA,GAEAC,OAAA,GAEAC,QAAA,GAEAC,QAAA,GAEAC,SAAA,GAEAC,QAAA,GAEA5H,MAAA,GACAC,QAAA,KACA4H,WAAA,EAEA3C,aAAAA,EACAE,gBAAAA,EACAC,iBAAAA,EAEAyC,MAAA,IAIAxH,SAAA,CACAyH,QAAAA,GACA,OAAA7J,KAAAoJ,MAAAU,IAAAxK,GAAAA,EAAAuG,GACA,EAEAkE,UAAAA,GACA,OAAA/J,KAAAoJ,MAAAU,IAAAxK,GAAAA,EAAAJ,KACA,EAEA8K,QAAAA,GACA,OAAAhK,KAAAoJ,MAAAa,OAAA,CAAAC,EAAAC,KACAD,EAAAC,EAAAtE,IAAAsE,EAAAjL,KACAgL,GACA,GACA,EAEAE,UAAAA,IACAC,EAAA,iBAQAC,UAAAA,GACA,WAAAC,OAAAC,KAAAxK,KAAA0J,SAAAtB,MACA,EAOAqC,cAAAA,GACA,OAAAzK,KAAA6J,SACAa,OAAApL,GAAAA,KAAAU,KAAA0J,SACAI,IAAAxK,IAAA,CACAA,OACAqL,KAAA3K,KAAA0J,QAAApK,KAEA,EAQAsL,gBAAAA,GACA,OAAAL,OAAAC,KAAAxK,KAAA0J,QACA,EAOAmB,aAAAA,GACA,IAAAC,EACA,MAAAC,EAAA,GACA,aAAAD,EAAA1D,EAAA4D,KAAAhL,KAAA8B,SACAiJ,EAAAE,KAAAH,EAAA,IAEA,OAAAC,CACA,EAOAG,cAAAA,GACA,IAAAJ,EACA,MAAAC,EAAA,GACA,aAAAD,EAAAzD,EAAA2D,KAAAhL,KAAA8B,SACAiJ,EAAAE,KAAAH,EAAA,IAEA,OAAAC,CACA,EAOAI,eAAAA,GACA,OAAAnL,KAAA2J,UACAU,EAAA,iCAAAvI,MAAA9B,KAAA8B,QACAuI,EAAA,wCACA,EAOAe,qBAAAA,GACA,OAAApL,KAAAqL,aAIAC,EACA,OACA,6DACA,8DACAtL,KAAAkH,gBACA,CAAAA,gBAAAlH,KAAAkH,kBARA,EAUA,EAOAmE,YAAAA,GACA,OAAArL,KAAA8B,OAAA9B,KAAA8B,MAAAI,OAAAkG,OAAAlB,CACA,EAOAqE,YAAAA,GACA,OAAAvL,KAAA8B,OAAA,KAAA9B,KAAA8B,MAAAI,SAAAlC,KAAAqL,YACA,EAOAG,eAAAA,GACA,OAAAjB,OAAAvE,OAAAhG,KAAAwJ,SAAAiC,MAAAC,IAAA,IAAAA,EACA,EAOAC,SAAAA,GACA,OAAApB,OAAAvE,OAAAhG,KAAAuJ,SAAAqC,KAAAF,IAAA,IAAAA,EACA,GAGA,aAAAG,GACA7L,KAAAoJ,YAAA7B,IACAhB,EAAAuF,MAAA,0DAAA9L,KAAAoJ,MACA,EAEA2C,aAAAA,IACAC,EAAAA,EAAAA,IAAA,2BAAAhM,KAAAiM,mBACA,EAEAjH,OAAAA,IAEAkH,EAAAA,EAAAA,IAAA,2BAAAlM,KAAAiM,oBAEAE,IAAAC,cAAAC,4BAIAlH,SAAAmH,iBAAA,UAAAC,IAEAA,EAAAC,SAAA,SAAAD,EAAAE,OAAAzM,KAAA4J,MACA2C,EAAAG,iBACA1M,KAAA4J,MAAA,GACA2C,EAAAC,SAAA,MAAAD,EAAAlG,KAAArG,KAAA4J,OAEA5J,KAAA4J,MAAA,GAIA5J,KAAA4J,OAEA,cAAA2C,EAAAlG,KACArG,KAAA2M,UAAAJ,GAIA,YAAAA,EAAAlG,KACArG,KAAA4M,UAAAL,KAIA,EAEA9J,QAAA,CACA,YAAAoK,GAEA7M,KAAAoJ,YAAA7B,GACA,EAEAuF,OAAAA,IACAC,EAAAA,EAAAA,IAAA,iCACA,EAEAd,kBAAAA,GACAjM,KAAAgN,KAAAC,gBAAA,wBAAAC,SACA,EAKAC,OAAAA,IACAJ,EAAAA,EAAAA,IAAA,kCACA/M,KAAAuG,OAAAuF,MAAA,gBACA9L,KAAA8B,MAAA,GACA9B,KAAAoN,aACApN,KAAAqN,YACA,EAEA,gBAAAD,GACApN,KAAAqJ,QAAA,GACArJ,KAAAsJ,OAAA,GACAtJ,KAAAwJ,QAAA,GACAxJ,KAAA0J,QAAA,GACA1J,KAAA+B,QAAA,KACA/B,KAAA2J,WAAA,QACA3J,KAAAsN,uBACA,EAKA,2BAAAA,GAEA,MAAA7D,EAAAzJ,KAAAyJ,SAAA8D,MAAA,GACAvN,KAAAyJ,SAAA,SAGA+D,QAAAC,IAAAhE,EAAAK,IAAAlB,GAAAA,KACA,EAKAyE,UAAAA,GACArN,KAAA0N,UAAA,KACA1N,KAAA2N,MAAAC,MAAA5J,QACAhE,KAAA2N,MAAAC,MAAAC,UAEA,EAMAC,YAAAA,GACA9N,KAAAsK,WACAtK,KAAA+N,iBACA,GAAAvN,QAGAR,KAAAgO,SACA,EAKA,aAAAA,GAKA,IAHAjB,EAAAA,EAAAA,IAAA,mCAAAjL,MAAA9B,KAAA8B,QAGA,KAAA9B,KAAA8B,MAAAI,QAAAlC,KAAAqL,aAAA,CACA,UAAA/L,KAAAU,KAAA6J,SACA7J,KAAAiO,QAAAjO,KAAA0J,QAAApK,GAEA,MACA,CAEA,IAAA8J,EAAApJ,KAAA6J,SACA/H,EAAA9B,KAAA8B,MAGA9B,KAAAkL,eAAA9C,OAAA,IACAgB,EAAApJ,KAAA6J,SAAAa,OAAApL,IAAA,IAAAU,KAAAkL,eAAAgD,QAAA5O,KAIAU,KAAA6K,cAAAzC,OAAA,IACAgB,EAAApJ,KAAA6J,SAAAa,OAAApL,GAAAU,KAAA6K,cAAAqD,QAAA5O,IAAA,IAIAwC,EAAAA,EAAAkG,QAAAZ,EAAA,IAAAY,QAAAX,EAAA,UAGArH,KAAAoN,aACApN,KAAA2J,WAAA,EAEAP,EAAAhB,QAMApI,KAAAmO,KAAAnO,KAAAuJ,QAAA,UACAvJ,KAAAuG,OAAAuF,MAAA,aAAAhK,OAAAsH,GAEAoE,QAAAC,IAAArE,EAAAU,IAAAxC,UACA,IAEA,MAAAmB,QAAAA,EAAAG,OAAAA,GAAAhE,EAAA,CAAAtF,OAAAwC,UACA9B,KAAAyJ,SAAAwB,KAAArC,GAGA,MAAA5G,KAAAA,SAAAyG,IA2BA,OAxBAzG,EAAAiG,IAAAjG,KAAAoM,QAAAhG,OAAA,EACApI,KAAAmO,KAAAnO,KAAA0J,QAAApK,EAAA0C,EAAAiG,IAAAjG,KAAAoM,SAEApO,KAAAiO,QAAAjO,KAAA0J,QAAApK,GAIA0C,EAAAiG,IAAAjG,KAAAqG,OACArI,KAAAmO,KAAAnO,KAAAqJ,QAAA/J,EAAA0C,EAAAiG,IAAAjG,KAAAqG,QACArG,EAAAiG,IAAAjG,KAAAqM,aAGArO,KAAAmO,KAAAnO,KAAAsJ,OAAAhK,EAAAU,KAAAgH,cAIAhF,EAAAiG,IAAAjG,KAAAoM,QAAAhG,OAAApI,KAAAgH,cACAhH,KAAAmO,KAAAnO,KAAAwJ,QAAAlK,GAAA,GAIA,OAAAU,KAAA+B,UACA/B,KAAA+B,QAAA,GA9XA,CAiYA,OAAA0C,GAIA,OAHAzE,KAAAiO,QAAAjO,KAAA0J,QAAApK,GAGAmF,EAAA6J,UAAA7J,EAAA6J,SAAAC,QACAvO,KAAAuG,OAAA9B,MAAA,uBAAAzE,KAAAgK,SAAA1K,KAAAmF,IACA+J,EAAAA,EAAAA,IAAAxO,KAAAqK,EAAA,uDAAA/K,KAAAU,KAAAgK,SAAA1K,MAxYA,GAEA,CA0YA,KACAmP,KAAA/E,IAGAA,EAAAkC,KAAA8C,GA9YA,IA8YAA,KAIA1O,KAAAuJ,QAAA,OA5DAvJ,KAAAuG,OAAA9B,MAAA,wBA8DA,EAEAkK,iBAAAxH,GACAyH,EAAAA,EAAAA,GAAA,SAAAjM,GACA3C,KAAAgO,QAAArL,EACA,OACA,WACA3C,KAAA2J,WAAA,CACA,EAOA,cAAAkF,CAAAvP,GAEA,IAAAU,KAAAuJ,QAAAjK,GAAA,CAIA,GAAAU,KAAAqJ,QAAA/J,GAAA,CAEA,MAAAmJ,QAAAA,EAAAG,OAAAA,GAAAhE,EAAA,CAAAtF,OAAAwC,MAAA9B,KAAA8B,MAAAuG,OAAArI,KAAAqJ,QAAA/J,KACAU,KAAAyJ,SAAAwB,KAAArC,GAGA,MAAA5G,KAAAA,SAAAyG,IAGAzG,EAAAiG,IAAAjG,KAAAqG,QACArI,KAAAmO,KAAAnO,KAAAqJ,QAAA/J,EAAA0C,EAAAiG,IAAAjG,KAAAqG,QAIArG,EAAAiG,IAAAjG,KAAAoM,QAAAhG,OAAA,GACApI,KAAA0J,QAAApK,GAAA2L,QAAAjJ,EAAAiG,IAAAjG,KAAAoM,SAIApM,EAAAiG,IAAAjG,KAAAoM,QAAAhG,OAAApI,KAAAgH,cACAhH,KAAAmO,KAAAnO,KAAAwJ,QAAAlK,GAAA,EAEA,MAGAU,KAAAsJ,OAAAhK,IAAAU,KAAAsJ,OAAAhK,IAAA,IACAU,KAAAsJ,OAAAhK,IAAAU,KAAAgH,aAGAhH,KAAAsJ,OAAAhK,IAAAU,KAAA0J,QAAApK,GAAA8I,QACApI,KAAAmO,KAAAnO,KAAAwJ,QAAAlK,GAAA,IAMA,OAAAU,KAAA+B,SACA/B,KAAA0N,UAAA,KACA1N,KAAA8O,WAAA9O,KAAA+B,UAxCA,CA2CA,EAUAgN,UAAAA,CAAApE,EAAArL,GACA,OAAAA,KAAAU,KAAAsJ,OACAqB,EAAA4C,MAAA,EAAAvN,KAAAsJ,OAAAhK,IAEAqL,CACA,EAEAoD,cAAAA,GACA,OAAA/N,KAAAgN,IAAAgC,iBAAA,mDACA,EAOAC,UAAAA,CAAA1C,GACA,MAAA7C,EAAA1J,KAAA+N,iBACArE,GAAAA,EAAAtB,OAAA,IACAmE,GACAA,EAAAG,iBAEA1M,KAAA+B,QAAA,EACA/B,KAAA8O,WAAA9O,KAAA+B,SAEA,EAOA4K,SAAAA,CAAAJ,GACA,UAAAvM,KAAA+B,QAEA,YADA/B,KAAAiP,WAAA1C,GAIA,MAAA7C,EAAA1J,KAAA+N,iBAEArE,GAAAA,EAAAtB,OAAA,GAAApI,KAAA+B,QAAA,EAAA2H,EAAAtB,SACAmE,EAAAG,iBACA1M,KAAA+B,UACA/B,KAAA8O,WAAA9O,KAAA+B,SAEA,EAOA6K,SAAAA,CAAAL,GACA,UAAAvM,KAAA+B,QAEA,YADA/B,KAAAiP,WAAA1C,GAIA,MAAA7C,EAAA1J,KAAA+N,iBAEArE,GAAAA,EAAAtB,OAAA,GAAApI,KAAA+B,QAAA,IACAwK,EAAAG,iBACA1M,KAAA+B,UACA/B,KAAA8O,WAAA9O,KAAA+B,SAEA,EAOA+M,UAAAA,CAAAI,GACA,MAAAxF,EAAA1J,KAAA+N,iBACArE,GAAAA,EAAAwF,IACAxF,EAAAwF,GAAAlL,OAEA,EAOAmL,eAAAA,CAAA5C,GACA,MAAA6C,EAAA7C,EAAA8C,OAEAH,EAAA,IADAlP,KAAA+N,kBACAuB,UAAA1K,GAAAA,IAAAwK,GACAF,GAAA,IAEAlP,KAAA+B,QAAAmN,EAEA,EAEAK,aAAAA,CAAA7E,GACA1K,KAAA8B,MAAA,GAAA9B,KAAA8B,SAAA4I,IACA1C,QAAA,aACA9F,OACAlC,KAAAgO,SACA,mBEvrBIwB,GAAO,GAEXA,GAAOzM,kBAAqBC,IAC5BwM,GAAOvM,cAAiBC,IACxBsM,GAAOrM,OAAUC,IAAAC,KAAa,aAC9BmM,GAAOlM,OAAUC,IACjBiM,GAAOhM,mBAAsBC,IAEhBC,IAAI+L,EAAA3P,EAAS0P,IAKJC,EAAA3P,GAAW2P,EAAA3P,EAAO8D,QAAU6L,EAAA3P,EAAO8D,OCLzD,MAAA8L,IAXgB,EAAA7P,EAAAC,GACd+I,ECTW,WAAkB,IAAI9I,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,eAAe,CAACG,YAAY,iBAAiBC,MAAM,CAACwF,GAAK,iBAAiB,kCAAkC,CAAC,YAAY+D,KAAO7J,EAAI6J,KAAK,aAAa7J,EAAIqK,WAAW7J,GAAG,CAAC,cAAc,SAASE,GAAQV,EAAI6J,KAAKnJ,CAAM,EAAEmJ,KAAO7J,EAAI8M,OAAO8C,MAAQ5P,EAAI+M,SAAS8C,YAAY7P,EAAI8P,GAAG,CAAC,CAACxJ,IAAI,UAAUyJ,GAAG,WAAW,MAAO,CAAC7P,EAAG,UAAU,CAACG,YAAY,+BAA+BC,MAAM,CAACX,KAAO,MAAM,EAAEqQ,OAAM,MAAS,CAAChQ,EAAIkB,GAAG,KAAKhB,EAAG,MAAM,CAACG,YAAY,iCAAiC,CAACH,EAAG,MAAM,CAACG,YAAY,6BAA6B,CAACH,EAAG,cAAc,CAAC+P,IAAI,QAAQ5P,YAAY,6BAA6B0D,MAAM,CAAE,2CAA4C/D,EAAI+B,OAAQzB,MAAM,CAAC,uBAAuB,QAAQ4P,MAAQlQ,EAAIqK,UAAU,wBAAwBrK,EAAIsK,EAAE,OAAQ,gBAAgB,uBAAqC,KAAdtK,EAAI+B,MAAa,mBAAmB,sBAAsBsE,YAAcrG,EAAIsK,EAAE,OAAQ,mBAAoB,CAAEjB,MAAOrJ,EAAIgK,WAAWmG,KAAK,SAAU3P,GAAG,CAAC,wBAAwBR,EAAIoN,QAAQS,MAAQ7N,EAAI4O,kBAAkBwB,MAAM,CAAC9L,MAAOtE,EAAI+B,MAAOsO,SAAS,SAAUC,GAAMtQ,EAAI+B,MAAMuO,CAAG,EAAE/L,WAAW,WAAWvE,EAAIkB,GAAG,KAAKhB,EAAG,IAAI,CAACG,YAAY,kBAAkBC,MAAM,CAACwF,GAAK,wBAAwB,CAAC9F,EAAIkB,GAAG,aAAalB,EAAImB,GAAGnB,EAAIsK,EAAE,OAAQ,uFAAuF,cAActK,EAAIkB,GAAG,KAAMlB,EAAI6K,iBAAiBxC,OAAS,EAAGnI,EAAG,YAAY,CAACG,YAAY,0BAA0BC,MAAM,CAACiQ,UAAY,aAAaC,UAAY,mCAAmCxQ,EAAIoG,GAAIpG,EAAI6K,iBAAkB,SAASF,GAAQ,OAAOzK,EAAG,iBAAiB,CAACoG,IAAIqE,EAAOrK,MAAM,CAACsB,KAAO,eAAepB,GAAG,CAACC,MAAQ,SAASC,GAAiC,OAAzBA,EAAO+P,kBAAyBzQ,EAAIwP,cAAc,MAAM7E,IAAS,IAAI,CAAC3K,EAAIkB,GAAG,eAAelB,EAAImB,GAAGnB,EAAIsK,EAAE,OAAQ,yBAA0B,CAAEnL,KAAMa,EAAIiK,SAASU,MAAY,eAAe,GAAG,GAAG3K,EAAIoB,MAAM,KAAKpB,EAAIkB,GAAG,KAAOlB,EAAIuK,WAAkgBvK,EAAIoG,GAAIpG,EAAI0K,eAAgB,UAASE,KAAEA,EAAIrL,KAAEA,GAAOmR,GAAY,MAAO,CAACxQ,EAAG,KAAK,CAACoG,IAAI/G,EAAKc,YAAY,kCAAkC,CAACL,EAAIkB,GAAG,WAAWlB,EAAImB,GAAGnB,EAAIiK,SAAS1K,IAAO,YAAYS,EAAIkB,GAAG,KAAKhB,EAAG,KAAK,CAACoG,IAAI/G,EAAKc,YAAY,0BAA0B0D,MAAM,2BAA2BxE,IAAOe,MAAM,CAAC,aAAaN,EAAIiK,SAAS1K,KAAQ,CAACS,EAAIoG,GAAIpG,EAAIgP,WAAWpE,EAAMrL,GAAO,SAASoP,EAAOQ,GAAO,OAAOjP,EAAG,KAAK,CAACoG,IAAIqI,EAAOhN,aAAa,CAACzB,EAAG,eAAeF,EAAII,GAAG,CAACE,MAAM,CAACyB,MAAQ/B,EAAI+B,MAAMC,QAA0B,IAAhBhC,EAAIgC,SAAgC,IAAf0O,GAA8B,IAAVvB,GAAa3O,GAAG,CAACyD,MAAQjE,EAAIoP,kBAAkB,eAAeT,GAAO,KAAS,EAAE,GAAG3O,EAAIkB,GAAG,KAAKhB,EAAG,KAAK,CAAGF,EAAIyJ,QAAQlK,GAEz0FS,EAAIoB,KAF40FlB,EAAG,eAAe,CAACG,YAAY,8BAA8BC,MAAM,CAAChB,MAAQU,EAAIwJ,QAAQjK,GAC/oGS,EAAIsK,EAAE,OAAQ,0BACdtK,EAAIsK,EAAE,OAAQ,qBAAqB,aAAatK,EAAIwJ,QAAQjK,GAAQ,qBAAuB,IAAIiB,GAAG,CAACC,MAAQ,SAASC,GAAyD,OAAjDA,EAAOiM,iBAAiBjM,EAAO+P,kBAAyBzQ,EAAI8O,SAASvP,EAAK,EAAE0E,MAAQjE,EAAIoP,oBAA6B,IAAI,GAAG,GAF0qD,CAAEpP,EAAI4L,UAAW1L,EAAG,4BAA6BF,EAAIwL,aAActL,EAAG,iBAAiB,CAACI,MAAM,CAAChB,MAAQU,EAAIoL,iBAAiByE,YAAY7P,EAAI8P,GAAG,CAAC,CAACxJ,IAAI,OAAOyJ,GAAG,WAAW,MAAO,CAAC7P,EAAG,WAAW,EAAE8P,OAAM,IAAO,MAAK,EAAM,cAAehQ,EAAI4L,WAAa5L,EAAIsL,aAAcpL,EAAG,iBAAiB,CAACI,MAAM,CAAChB,MAAQU,EAAIsK,EAAE,OAAQ,0BAA0BqG,YAAc3Q,EAAIqL,uBAAuBwE,YAAY7P,EAAI8P,GAAG,CAAC,CAACxJ,IAAI,OAAOyJ,GAAG,WAAW,MAAO,CAAC7P,EAAG,WAAW,EAAE8P,OAAM,IAAO,MAAK,EAAM,aAAahQ,EAAIoB,OAEtpE,EACpQ,EACsB,IDQtB,EACA,KACA,WACA,cEJAwP,EAAAA,IAAoBC,EAAAA,EAAAA,MAEpB,MAAMrK,IAASG,EAAAA,EAAAA,MACbC,OAAO,kBACPI,aACAH,QAEFiK,EAAAA,GAAIC,MAAM,CACT9O,KAAIA,KACI,CACNuE,OAAMA,KAGR9D,QAAS,CACR4H,EAAC0G,EAAA1G,EACDiB,EAACA,EAAAA,KAIH,IAAmBuF,EAAAA,GAAI,CACtBG,GAAI,kBACJ9R,KAAM,oBACN+R,OAASC,GAAMA,EAAEC,wEC9BlBC,QAA8BC,GAA4BC,KAE1DF,EAAAnG,KAAA,CAAAsG,EAAA1L,GAAA,i1DAAw3D,IAAO2L,QAAA,EAAAC,QAAA,yEAAAC,MAAA,GAAAC,SAAA,kiBAAAC,eAAA,k6DAAqkFC,WAAA,MAEp8I,MAAAC,EAAA,oECJAV,QAA8BC,GAA4BC,KAE1DF,EAAAnG,KAAA,CAAAsG,EAAA1L,GAAA,moBAA0qB,IAAO2L,QAAA,EAAAC,QAAA,+EAAAC,MAAA,GAAAC,SAAA,gNAAAC,eAAA,+oBAAo+BC,WAAA,MAErpD,MAAAC,EAAA,oECJAV,QAA8BC,GAA4BC,KAE1DF,EAAAnG,KAAA,CAAAsG,EAAA1L,GAAA,mjGAA0lG,IAAO2L,QAAA,EAAAC,QAAA,uDAAAC,MAAA,GAAAC,SAAA,gyBAAAC,eAAA,87FAA+0HC,WAAA,MAEh7N,MAAAC,EAAA,ICNAC,EAAA,GAGA,SAAAC,EAAAC,GAEA,IAAAC,EAAAH,EAAAE,GACA,QAAAE,IAAAD,EACA,OAAAA,EAAAE,QAGA,IAAAb,EAAAQ,EAAAE,GAAA,CACApM,GAAAoM,EACA9P,QAAA,EACAiQ,QAAA,IAUA,OANAC,EAAAJ,GAAAK,KAAAf,EAAAa,QAAAb,EAAAA,EAAAa,QAAAJ,GAGAT,EAAApP,QAAA,EAGAoP,EAAAa,OACA,CAGAJ,EAAAO,EAAAF,E3B5BAvT,EAAA,GACAkT,EAAAQ,EAAA,CAAA9D,EAAA+D,EAAA3C,EAAA4C,KACA,IAAAD,EAAA,CAMA,IAAAE,EAAAC,IACA,IAAAC,EAAA,EAAiBA,EAAA/T,EAAAsJ,OAAqByK,IAAA,CAGtC,IAFA,IAAAJ,EAAA3C,EAAA4C,GAAA5T,EAAA+T,GACAC,GAAA,EACAC,EAAA,EAAkBA,EAAAN,EAAArK,OAAqB2K,MACvC,EAAAL,GAAAC,GAAAD,IAAAnI,OAAAC,KAAAwH,EAAAQ,GAAA/G,MAAApF,GAAA2L,EAAAQ,EAAAnM,GAAAoM,EAAAM,KACAN,EAAAO,OAAAD,IAAA,IAEAD,GAAA,EACAJ,EAAAC,IAAAA,EAAAD,IAGA,GAAAI,EAAA,CACAhU,EAAAkU,OAAAH,IAAA,GACA,IAAAI,EAAAnD,SACAqC,IAAAc,IAAAvE,EAAAuE,EACA,CACA,CACA,OAAAvE,CAnBA,CAJAgE,EAAAA,GAAA,EACA,QAAAG,EAAA/T,EAAAsJ,OAA+ByK,EAAA,GAAA/T,EAAA+T,EAAA,MAAAH,EAAwCG,IAAA/T,EAAA+T,GAAA/T,EAAA+T,EAAA,GACvE/T,EAAA+T,GAAA,CAAAJ,EAAA3C,EAAA4C,I4BJAV,EAAA1G,EAAAiG,IACA,IAAA2B,EAAA3B,GAAAA,EAAA4B,WACA,IAAA5B,EAAA,QACA,MAEA,OADAS,EAAAhR,EAAAkS,EAAA,CAAiCE,EAAAF,IACjCA,GCLAlB,EAAAhR,EAAA,CAAAoR,EAAAiB,KACA,QAAAhN,KAAAgN,EACArB,EAAAsB,EAAAD,EAAAhN,KAAA2L,EAAAsB,EAAAlB,EAAA/L,IACAkE,OAAAgJ,eAAAnB,EAAA/L,EAAA,CAAyCmN,YAAA,EAAA/L,IAAA4L,EAAAhN,MCJzC2L,EAAAyB,EAAA,GAGAzB,EAAArP,EAAA+Q,GACAlG,QAAAC,IAAAlD,OAAAC,KAAAwH,EAAAyB,GAAAxJ,OAAA,CAAA0J,EAAAtN,KACA2L,EAAAyB,EAAApN,GAAAqN,EAAAC,GACAA,GACE,KCNF3B,EAAA4B,EAAAF,GAEAA,EAAA,IAAAA,EAAA,UAAmD,qMAAkNA,GCHrQ1B,EAAAsB,EAAA,CAAAO,EAAAC,IAAAvJ,OAAAwJ,UAAAC,eAAA1B,KAAAuB,EAAAC,G/BAA/U,EAAA,GACAC,EAAA,uBAEAgT,EAAAiC,EAAA,CAAAC,EAAAC,EAAA9N,EAAAqN,KACA,GAAA3U,EAAAmV,GAAuBnV,EAAAmV,GAAAjJ,KAAAkJ,OAAvB,CACA,IAAAC,EAAAC,EACA,QAAAlC,IAAA9L,EAEA,IADA,IAAAiO,EAAAnP,SAAAoP,qBAAA,UACA1B,EAAA,EAAiBA,EAAAyB,EAAAlM,OAAoByK,IAAA,CACrC,IAAA2B,EAAAF,EAAAzB,GACA,GAAA2B,EAAAC,aAAA,QAAAP,GAAAM,EAAAC,aAAA,iBAAAzV,EAAAqH,EAAA,CAAmG+N,EAAAI,EAAY,MAC/G,CAEAJ,IACAC,GAAA,GACAD,EAAAjP,SAAAuP,cAAA,WAEAC,QAAA,QACA3C,EAAA4C,IACAR,EAAAS,aAAA,QAAA7C,EAAA4C,IAEAR,EAAAS,aAAA,eAAA7V,EAAAqH,GAEA+N,EAAA7P,IAAA2P,GAEAnV,EAAAmV,GAAA,CAAAC,GACA,IAAAW,EAAA,CAAA5K,EAAAqC,KAEA6H,EAAAW,QAAAX,EAAAY,OAAA,KACAC,aAAAC,GACA,IAAAC,EAAApW,EAAAmV,GAIA,UAHAnV,EAAAmV,GACAE,EAAAgB,YAAAhB,EAAAgB,WAAAC,YAAAjB,GACAe,GAAAA,EAAAG,QAAAxF,GAAAA,EAAAvD,IACArC,EAAA,OAAAA,EAAAqC,IAEA2I,EAAAK,WAAAT,EAAAzR,KAAA,UAAA8O,EAAA,CAAmE7S,KAAA,UAAA+P,OAAA+E,IAAiC,MACpGA,EAAAW,QAAAD,EAAAzR,KAAA,KAAA+Q,EAAAW,SACAX,EAAAY,OAAAF,EAAAzR,KAAA,KAAA+Q,EAAAY,QACAX,GAAAlP,SAAAqQ,KAAAC,YAAArB,EAnCmD,GgCHnDpC,EAAAiB,EAAAb,IACA,oBAAAsD,QAAAA,OAAAC,aACApL,OAAAgJ,eAAAnB,EAAAsD,OAAAC,YAAA,CAAuDtR,MAAA,WAEvDkG,OAAAgJ,eAAAnB,EAAA,cAAgD/N,OAAA,KCLhD2N,EAAA4D,IAAArE,IACAA,EAAAsE,MAAA,GACAtE,EAAAuE,WAAAvE,EAAAuE,SAAA,IACAvE,GCHAS,EAAAe,EAAA,WCAA,IAAAgD,EACAC,WAAAC,gBAAAF,EAAAC,WAAAlO,SAAA,IACA,IAAA3C,EAAA6Q,WAAA7Q,SACA,IAAA4Q,GAAA5Q,IACAA,EAAA+Q,eAAA,WAAA/Q,EAAA+Q,cAAAC,QAAAC,gBACAL,EAAA5Q,EAAA+Q,cAAA3R,MACAwR,GAAA,CACA,IAAAzB,EAAAnP,EAAAoP,qBAAA,UACA,GAAAD,EAAAlM,OAEA,IADA,IAAAyK,EAAAyB,EAAAlM,OAAA,EACAyK,GAAA,KAAAkD,IAAA,aAAAM,KAAAN,KAAAA,EAAAzB,EAAAzB,KAAAtO,GAEA,CAIA,IAAAwR,EAAA,UAAAO,MAAA,yDACAP,EAAAA,EAAA/N,QAAA,aAAAA,QAAA,WAAAA,QAAA,YAAAA,QAAA,iBACAgK,EAAAuE,EAAAR,YClBA/D,EAAAwE,EAAA,oBAAArR,UAAAA,SAAAsR,SAAAC,KAAA5O,SAAA/D,KAKA,IAAA4S,EAAA,CACA,QAGA3E,EAAAyB,EAAAV,EAAA,CAAAW,EAAAC,KAEA,IAAAiD,EAAA5E,EAAAsB,EAAAqD,EAAAjD,GAAAiD,EAAAjD,QAAAvB,EACA,OAAAyE,EAGA,GAAAA,EACAjD,EAAA1I,KAAA2L,EAAA,QACK,CAGL,IAAAC,EAAA,IAAArJ,QAAA,CAAAsJ,EAAAC,IAAAH,EAAAD,EAAAjD,GAAA,CAAAoD,EAAAC,IACApD,EAAA1I,KAAA2L,EAAA,GAAAC,GAGA,IAAA3C,EAAAlC,EAAAuE,EAAAvE,EAAA4B,EAAAF,GAEAjP,EAAA,IAAA6R,MAgBAtE,EAAAiC,EAAAC,EAfA3H,IACA,GAAAyF,EAAAsB,EAAAqD,EAAAjD,KAEA,KADAkD,EAAAD,EAAAjD,MACAiD,EAAAjD,QAAAvB,GACAyE,GAAA,CACA,IAAAI,EAAAzK,IAAA,SAAAA,EAAAjN,KAAA,UAAAiN,EAAAjN,MACA2X,EAAA1K,GAAAA,EAAA8C,QAAA9C,EAAA8C,OAAA9K,IACAE,EAAAyS,QAAA,iBAAAxD,EAAA,cAAAsD,EAAA,KAAAC,EAAA,IACAxS,EAAAvF,KAAA,iBACAuF,EAAAnF,KAAA0X,EACAvS,EAAAgE,QAAAwO,EACAL,EAAA,GAAAnS,EACA,GAGA,SAAAiP,EAAAA,EAEA,GAYA1B,EAAAQ,EAAAO,EAAAW,GAAA,IAAAiD,EAAAjD,GAGA,IAAAyD,EAAA,CAAAC,EAAApV,KACA,IAGAiQ,EAAAyB,GAHAjB,EAAA4E,EAAAC,GAAAtV,EAGA6Q,EAAA,EACA,GAAAJ,EAAA7G,KAAA/F,GAAA,IAAA8Q,EAAA9Q,IAAA,CACA,IAAAoM,KAAAoF,EACArF,EAAAsB,EAAA+D,EAAApF,KACAD,EAAAO,EAAAN,GAAAoF,EAAApF,IAGA,GAAAqF,EAAA,IAAA5I,EAAA4I,EAAAtF,EACA,CAEA,IADAoF,GAAAA,EAAApV,GACM6Q,EAAAJ,EAAArK,OAAqByK,IAC3Ba,EAAAjB,EAAAI,GACAb,EAAAsB,EAAAqD,EAAAjD,IAAAiD,EAAAjD,IACAiD,EAAAjD,GAAA,KAEAiD,EAAAjD,GAAA,EAEA,OAAA1B,EAAAQ,EAAA9D,IAGA6I,EAAAvB,WAAA,gCAAAA,WAAA,oCACAuB,EAAAjC,QAAA6B,EAAA9T,KAAA,SACAkU,EAAAtM,KAAAkM,EAAA9T,KAAA,KAAAkU,EAAAtM,KAAA5H,KAAAkU,QCrFAvF,EAAA4C,QAAAzC,ECGA,IAAAqF,EAAAxF,EAAAQ,OAAAL,EAAA,WAAAH,EAAA,QACAwF,EAAAxF,EAAAQ,EAAAgF","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/webpack/runtime/load script","webpack:///nextcloud/node_modules/vue-material-design-icons/Magnify.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/Magnify.vue?vue&type=script&lang=js","webpack://nextcloud/./node_modules/vue-material-design-icons/Magnify.vue?0775","webpack:///nextcloud/node_modules/vue-material-design-icons/Magnify.vue?vue&type=template&id=194dfb2a","webpack:///nextcloud/core/src/components/UnifiedSearch/LegacySearchResult.vue?vue&type=script&lang=js","webpack:///nextcloud/core/src/components/UnifiedSearch/LegacySearchResult.vue","webpack://nextcloud/./core/src/components/UnifiedSearch/LegacySearchResult.vue?453f","webpack://nextcloud/./core/src/components/UnifiedSearch/LegacySearchResult.vue?1729","webpack://nextcloud/./core/src/components/UnifiedSearch/LegacySearchResult.vue?de39","webpack:///nextcloud/core/src/components/UnifiedSearch/SearchResultPlaceholders.vue?vue&type=script&lang=js","webpack:///nextcloud/core/src/components/UnifiedSearch/SearchResultPlaceholders.vue","webpack://nextcloud/./core/src/components/UnifiedSearch/SearchResultPlaceholders.vue?3404","webpack://nextcloud/./core/src/components/UnifiedSearch/SearchResultPlaceholders.vue?7f72","webpack://nextcloud/./core/src/components/UnifiedSearch/SearchResultPlaceholders.vue?cc53","webpack:///nextcloud/core/src/logger.js","webpack:///nextcloud/core/src/services/LegacyUnifiedSearchService.js","webpack:///nextcloud/core/src/views/LegacyUnifiedSearch.vue","webpack:///nextcloud/core/src/views/LegacyUnifiedSearch.vue?vue&type=script&lang=js","webpack://nextcloud/./core/src/views/LegacyUnifiedSearch.vue?533a","webpack://nextcloud/./core/src/views/LegacyUnifiedSearch.vue?bfe7","webpack://nextcloud/./core/src/views/LegacyUnifiedSearch.vue?b8e8","webpack:///nextcloud/core/src/legacy-unified-search.js","webpack:///nextcloud/core/src/components/UnifiedSearch/LegacySearchResult.vue?vue&type=style&index=0&id=2dec9460&prod&lang=scss&scoped=true","webpack:///nextcloud/core/src/components/UnifiedSearch/SearchResultPlaceholders.vue?vue&type=style&index=0&id=480c8b8e&prod&lang=scss&scoped=true","webpack:///nextcloud/core/src/views/LegacyUnifiedSearch.vue?vue&type=style&index=0&id=3dc6c8bb&prod&lang=scss&scoped=true","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};","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Magnify.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Magnify.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Magnify.vue?vue&type=template&id=194dfb2a\"\nimport script from \"./Magnify.vue?vue&type=script&lang=js\"\nexport * from \"./Magnify.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 magnify-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\":\"M9.5,3A6.5,6.5 0 0,1 16,9.5C16,11.11 15.41,12.59 14.44,13.73L14.71,14H15.5L20.5,19L19,20.5L14,15.5V14.71L13.73,14.44C12.59,15.41 11.11,16 9.5,16A6.5,6.5 0 0,1 3,9.5A6.5,6.5 0 0,1 9.5,3M9.5,5C7,5 5,7 5,9.5C5,12 7,14 9.5,14C12,14 14,12 14,9.5C14,7 12,5 9.5,5Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\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!./LegacySearchResult.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!./LegacySearchResult.vue?vue&type=script&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!./LegacySearchResult.vue?vue&type=style&index=0&id=2dec9460&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!./LegacySearchResult.vue?vue&type=style&index=0&id=2dec9460&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./LegacySearchResult.vue?vue&type=template&id=2dec9460&scoped=true\"\nimport script from \"./LegacySearchResult.vue?vue&type=script&lang=js\"\nexport * from \"./LegacySearchResult.vue?vue&type=script&lang=js\"\nimport style0 from \"./LegacySearchResult.vue?vue&type=style&index=0&id=2dec9460&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 \"2dec9460\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('a',{staticClass:\"unified-search__result\",class:{\n\t\t'unified-search__result--focused': _vm.focused,\n\t},attrs:{\"href\":_vm.resourceUrl || '#'},on:{\"click\":_vm.reEmitEvent,\"focus\":_vm.reEmitEvent}},[_c('div',{staticClass:\"unified-search__result-icon\",class:{\n\t\t\t'unified-search__result-icon--rounded': _vm.rounded,\n\t\t\t'unified-search__result-icon--no-preview': !_vm.hasValidThumbnail && !_vm.loaded,\n\t\t\t'unified-search__result-icon--with-thumbnail': _vm.hasValidThumbnail && _vm.loaded,\n\t\t\t[_vm.icon]: !_vm.loaded && !_vm.isIconUrl,\n\t\t},style:({\n\t\t\tbackgroundImage: _vm.isIconUrl ? `url(${_vm.icon})` : '',\n\t\t})},[(_vm.hasValidThumbnail)?_c('img',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.loaded),expression:\"loaded\"}],attrs:{\"src\":_vm.thumbnailUrl,\"alt\":\"\"},on:{\"error\":_vm.onError,\"load\":_vm.onLoad}}):_vm._e()]),_vm._v(\" \"),_c('span',{staticClass:\"unified-search__result-content\"},[_c('span',{staticClass:\"unified-search__result-line-one\",attrs:{\"title\":_vm.title}},[_c('NcHighlight',{attrs:{\"text\":_vm.title,\"search\":_vm.query}})],1),_vm._v(\" \"),(_vm.subline)?_c('span',{staticClass:\"unified-search__result-line-two\",attrs:{\"title\":_vm.subline}},[_vm._v(_vm._s(_vm.subline))]):_vm._e()])])\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!./SearchResultPlaceholders.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!./SearchResultPlaceholders.vue?vue&type=script&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!./SearchResultPlaceholders.vue?vue&type=style&index=0&id=480c8b8e&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!./SearchResultPlaceholders.vue?vue&type=style&index=0&id=480c8b8e&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SearchResultPlaceholders.vue?vue&type=template&id=480c8b8e&scoped=true\"\nimport script from \"./SearchResultPlaceholders.vue?vue&type=script&lang=js\"\nexport * from \"./SearchResultPlaceholders.vue?vue&type=script&lang=js\"\nimport style0 from \"./SearchResultPlaceholders.vue?vue&type=style&index=0&id=480c8b8e&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 \"480c8b8e\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('ul',[_c('svg',{staticClass:\"unified-search__result-placeholder-gradient\"},[_c('defs',[_c('linearGradient',{attrs:{\"id\":\"unified-search__result-placeholder-gradient\"}},[_c('stop',{attrs:{\"offset\":\"0%\",\"stop-color\":_vm.light}},[_c('animate',{attrs:{\"attributeName\":\"stop-color\",\"values\":`${_vm.light}; ${_vm.light}; ${_vm.dark}; ${_vm.dark}; ${_vm.light}`,\"dur\":\"2s\",\"repeatCount\":\"indefinite\"}})]),_vm._v(\" \"),_c('stop',{attrs:{\"offset\":\"100%\",\"stop-color\":_vm.dark}},[_c('animate',{attrs:{\"attributeName\":\"stop-color\",\"values\":`${_vm.dark}; ${_vm.light}; ${_vm.light}; ${_vm.dark}; ${_vm.dark}`,\"dur\":\"2s\",\"repeatCount\":\"indefinite\"}})])],1)],1)]),_vm._v(\" \"),_vm._l(([1, 2, 3]),function(placeholder){return _c('li',{key:placeholder},[_c('svg',{staticClass:\"unified-search__result-placeholder\",attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"fill\":\"url(#unified-search__result-placeholder-gradient)\"}},[_c('rect',{staticClass:\"unified-search__result-placeholder-icon\"}),_vm._v(\" \"),_c('rect',{staticClass:\"unified-search__result-placeholder-line-one\"}),_vm._v(\" \"),_c('rect',{staticClass:\"unified-search__result-placeholder-line-two\",style:({ width: `calc(${_vm.randWidth()}%)` })})])])})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { getCurrentUser } from '@nextcloud/auth'\nimport { getLoggerBuilder } from '@nextcloud/logger'\n\n/**\n *\n * @param user\n */\nfunction getLogger(user) {\n\tif (user === null) {\n\t\treturn getLoggerBuilder()\n\t\t\t.setApp('core')\n\t\t\t.build()\n\t}\n\treturn getLoggerBuilder()\n\t\t.setApp('core')\n\t\t.setUid(user.uid)\n\t\t.build()\n}\n\nexport default getLogger(getCurrentUser())\n\nexport const unifiedSearchLogger = getLoggerBuilder()\n\t.setApp('unified-search')\n\t.detectUser()\n\t.build()\n","/**\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport axios from '@nextcloud/axios'\nimport { loadState } from '@nextcloud/initial-state'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport logger from '../logger.js'\n\nexport const defaultLimit = loadState('unified-search', 'limit-default')\nexport const minSearchLength = loadState('unified-search', 'min-search-length', 1)\nexport const enableLiveSearch = loadState('unified-search', 'live-search', true)\n\nexport const regexFilterIn = /(^|\\s)in:([a-z_-]+)/ig\nexport const regexFilterNot = /(^|\\s)-in:([a-z_-]+)/ig\n\n/**\n * Create a cancel token\n *\n * @return {import('axios').CancelTokenSource}\n */\nconst createCancelToken = () => axios.CancelToken.source()\n\n/**\n * Get the list of available search providers\n *\n * @return {Promise}\n */\nexport async function getTypes() {\n\ttry {\n\t\tconst { data } = await axios.get(generateOcsUrl('search/providers'), {\n\t\t\tparams: {\n\t\t\t\t// Sending which location we're currently at\n\t\t\t\tfrom: window.location.pathname.replace('/index.php', '') + window.location.search,\n\t\t\t},\n\t\t})\n\t\tif ('ocs' in data && 'data' in data.ocs && Array.isArray(data.ocs.data) && data.ocs.data.length > 0) {\n\t\t\t// Providers are sorted by the api based on their order key\n\t\t\treturn data.ocs.data\n\t\t}\n\t} catch (error) {\n\t\tlogger.error(error)\n\t}\n\treturn []\n}\n\n/**\n * Get the list of available search providers\n *\n * @param {object} options destructuring object\n * @param {string} options.type the type to search\n * @param {string} options.query the search\n * @param {number|string|undefined} options.cursor the offset for paginated searches\n * @return {object} {request: Promise, cancel: Promise}\n */\nexport function search({ type, query, cursor }) {\n\t/**\n\t * Generate an axios cancel token\n\t */\n\tconst cancelToken = createCancelToken()\n\n\tconst request = async () => axios.get(generateOcsUrl('search/providers/{type}/search', { type }), {\n\t\tcancelToken: cancelToken.token,\n\t\tparams: {\n\t\t\tterm: query,\n\t\t\tcursor,\n\t\t\t// Sending which location we're currently at\n\t\t\tfrom: window.location.pathname.replace('/index.php', '') + window.location.search,\n\t\t},\n\t})\n\n\treturn {\n\t\trequest,\n\t\tcancel: cancelToken.cancel,\n\t}\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!./LegacyUnifiedSearch.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!./LegacyUnifiedSearch.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!./LegacyUnifiedSearch.vue?vue&type=style&index=0&id=3dc6c8bb&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!./LegacyUnifiedSearch.vue?vue&type=style&index=0&id=3dc6c8bb&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./LegacyUnifiedSearch.vue?vue&type=template&id=3dc6c8bb&scoped=true\"\nimport script from \"./LegacyUnifiedSearch.vue?vue&type=script&lang=js\"\nexport * from \"./LegacyUnifiedSearch.vue?vue&type=script&lang=js\"\nimport style0 from \"./LegacyUnifiedSearch.vue?vue&type=style&index=0&id=3dc6c8bb&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 \"3dc6c8bb\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('NcHeaderMenu',{staticClass:\"unified-search\",attrs:{\"id\":\"unified-search\",\"exclude-click-outside-selectors\":['.popover'],\"open\":_vm.open,\"aria-label\":_vm.ariaLabel},on:{\"update:open\":function($event){_vm.open=$event},\"open\":_vm.onOpen,\"close\":_vm.onClose},scopedSlots:_vm._u([{key:\"trigger\",fn:function(){return [_c('Magnify',{staticClass:\"unified-search__trigger-icon\",attrs:{\"size\":20}})]},proxy:true}])},[_vm._v(\" \"),_c('div',{staticClass:\"unified-search__input-wrapper\"},[_c('div',{staticClass:\"unified-search__input-row\"},[_c('NcTextField',{ref:\"input\",staticClass:\"unified-search__form-input\",class:{ 'unified-search__form-input--with-reset': !!_vm.query },attrs:{\"trailing-button-icon\":\"close\",\"label\":_vm.ariaLabel,\"trailing-button-label\":_vm.t('core', 'Reset search'),\"show-trailing-button\":_vm.query !== '',\"aria-describedby\":\"unified-search-desc\",\"placeholder\":_vm.t('core', 'Search {types} …', { types: _vm.typesNames.join(', ') })},on:{\"trailing-button-click\":_vm.onReset,\"input\":_vm.onInputDebounced},model:{value:(_vm.query),callback:function ($$v) {_vm.query=$$v},expression:\"query\"}}),_vm._v(\" \"),_c('p',{staticClass:\"hidden-visually\",attrs:{\"id\":\"unified-search-desc\"}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('core', 'Search starts once you start typing and results may be reached with the arrow keys'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),(_vm.availableFilters.length > 1)?_c('NcActions',{staticClass:\"unified-search__filters\",attrs:{\"placement\":\"bottom-end\",\"container\":\".unified-search__input-wrapper\"}},_vm._l((_vm.availableFilters),function(filter){return _c('NcActionButton',{key:filter,attrs:{\"icon\":\"icon-filter\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.onClickFilter(`in:${filter}`)}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('core', 'Search for {name} only', { name: _vm.typesMap[filter] }))+\"\\n\\t\\t\\t\\t\")])}),1):_vm._e()],1)]),_vm._v(\" \"),(!_vm.hasResults)?[(_vm.isLoading)?_c('SearchResultPlaceholders'):(_vm.isValidQuery)?_c('NcEmptyContent',{attrs:{\"title\":_vm.validQueryTitle},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Magnify')]},proxy:true}],null,false,931131664)}):(!_vm.isLoading || _vm.isShortQuery)?_c('NcEmptyContent',{attrs:{\"title\":_vm.t('core', 'Start typing to search'),\"description\":_vm.shortQueryDescription},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Magnify')]},proxy:true}],null,false,931131664)}):_vm._e()]:_vm._l((_vm.orderedResults),function({ list, type },typesIndex){return [_c('h2',{key:type,staticClass:\"unified-search__results-header\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.typesMap[type])+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('ul',{key:type,staticClass:\"unified-search__results\",class:`unified-search__results-${type}`,attrs:{\"aria-label\":_vm.typesMap[type]}},[_vm._l((_vm.limitIfAny(list, type)),function(result,index){return _c('li',{key:result.resourceUrl},[_c('SearchResult',_vm._b({attrs:{\"query\":_vm.query,\"focused\":_vm.focused === 0 && typesIndex === 0 && index === 0},on:{\"focus\":_vm.setFocusedIndex}},'SearchResult',result,false))],1)}),_vm._v(\" \"),_c('li',[(!_vm.reached[type])?_c('SearchResult',{staticClass:\"unified-search__result-more\",attrs:{\"title\":_vm.loading[type]\n\t\t\t\t\t\t? _vm.t('core', 'Loading more results …')\n\t\t\t\t\t\t: _vm.t('core', 'Load more results'),\"icon-class\":_vm.loading[type] ? 'icon-loading-small' : ''},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.loadMore(type)},\"focus\":_vm.setFocusedIndex}}):_vm._e()],1)],2)]})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { getCSPNonce } from '@nextcloud/auth'\nimport { n, t } from '@nextcloud/l10n'\nimport { getLoggerBuilder } from '@nextcloud/logger'\nimport Vue from 'vue'\nimport UnifiedSearch from './views/LegacyUnifiedSearch.vue'\n\n__webpack_nonce__ = getCSPNonce()\n\nconst logger = getLoggerBuilder()\n\t.setApp('unified-search')\n\t.detectUser()\n\t.build()\n\nVue.mixin({\n\tdata() {\n\t\treturn {\n\t\t\tlogger,\n\t\t}\n\t},\n\tmethods: {\n\t\tt,\n\t\tn,\n\t},\n})\n\nexport default new Vue({\n\tel: '#unified-search',\n\tname: 'UnifiedSearchRoot',\n\trender: (h) => h(UnifiedSearch),\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, `.unified-search__result[data-v-2dec9460]{display:flex;align-items:center;height:44px;padding:10px;border:2px solid rgba(0,0,0,0);border-radius:var(--border-radius-large) !important}.unified-search__result--focused[data-v-2dec9460]{background-color:var(--color-background-hover)}.unified-search__result[data-v-2dec9460]:active,.unified-search__result[data-v-2dec9460]:hover,.unified-search__result[data-v-2dec9460]:focus{background-color:var(--color-background-hover);border:2px solid var(--color-border-maxcontrast)}.unified-search__result *[data-v-2dec9460]{cursor:pointer}.unified-search__result-icon[data-v-2dec9460]{overflow:hidden;width:44px;height:44px;border-radius:var(--border-radius);background-repeat:no-repeat;background-position:center center;background-size:32px}.unified-search__result-icon--rounded[data-v-2dec9460]{border-radius:22px}.unified-search__result-icon--no-preview[data-v-2dec9460]{background-size:32px}.unified-search__result-icon--with-thumbnail[data-v-2dec9460]{background-size:cover}.unified-search__result-icon--with-thumbnail[data-v-2dec9460]:not(.unified-search__result-icon--rounded){max-width:42px;max-height:42px;border:1px solid var(--color-border)}.unified-search__result-icon img[data-v-2dec9460]{width:100%;height:100%;object-fit:cover;object-position:center}.unified-search__result-icon[data-v-2dec9460],.unified-search__result-actions[data-v-2dec9460]{flex:0 0 44px}.unified-search__result-content[data-v-2dec9460]{display:flex;align-items:center;flex:1 1 100%;flex-wrap:wrap;min-width:0;padding-inline-start:10px}.unified-search__result-line-one[data-v-2dec9460],.unified-search__result-line-two[data-v-2dec9460]{overflow:hidden;flex:1 1 100%;margin:1px 0;white-space:nowrap;text-overflow:ellipsis;color:inherit;font-size:inherit}.unified-search__result-line-two[data-v-2dec9460]{opacity:.7;font-size:var(--default-font-size)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./core/src/components/UnifiedSearch/LegacySearchResult.vue\"],\"names\":[],\"mappings\":\"AAMA,yCACC,YAAA,CACA,kBAAA,CACA,WANgB,CAOhB,YANQ,CAOR,8BAAA,CACA,mDAAA,CAEA,kDACC,8CAAA,CAGD,8IAGC,8CAAA,CACA,gDAAA,CAGD,2CACC,cAAA,CAGD,8CACC,eAAA,CACA,UA5Be,CA6Bf,WA7Be,CA8Bf,kCAAA,CACA,2BAAA,CACA,iCAAA,CACA,oBAAA,CACA,uDACC,kBAAA,CAED,0DACC,oBAAA,CAED,8DACC,qBAAA,CAED,yGAEC,cAAA,CACA,eAAA,CACA,oCAAA,CAGD,kDAEC,UAAA,CACA,WAAA,CAEA,gBAAA,CACA,sBAAA,CAIF,+FAEC,aAAA,CAGD,iDACC,YAAA,CACA,kBAAA,CACA,aAAA,CACA,cAAA,CAEA,WAAA,CACA,yBAvEO,CA0ER,oGAEC,eAAA,CACA,aAAA,CACA,YAAA,CACA,kBAAA,CACA,sBAAA,CAEA,aAAA,CACA,iBAAA,CAED,kDACC,UAAA,CACA,kCAAA\",\"sourcesContent\":[\"\\n@use \\\"sass:math\\\";\\n\\n$clickable-area: 44px;\\n$margin: 10px;\\n\\n.unified-search__result {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\theight: $clickable-area;\\n\\tpadding: $margin;\\n\\tborder: 2px solid transparent;\\n\\tborder-radius: var(--border-radius-large) !important;\\n\\n\\t&--focused {\\n\\t\\tbackground-color: var(--color-background-hover);\\n\\t}\\n\\n\\t&:active,\\n\\t&:hover,\\n\\t&:focus {\\n\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\tborder: 2px solid var(--color-border-maxcontrast);\\n\\t}\\n\\n\\t* {\\n\\t\\tcursor: pointer;\\n\\t}\\n\\n\\t&-icon {\\n\\t\\toverflow: hidden;\\n\\t\\twidth: $clickable-area;\\n\\t\\theight: $clickable-area;\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground-repeat: no-repeat;\\n\\t\\tbackground-position: center center;\\n\\t\\tbackground-size: 32px;\\n\\t\\t&--rounded {\\n\\t\\t\\tborder-radius: math.div($clickable-area, 2);\\n\\t\\t}\\n\\t\\t&--no-preview {\\n\\t\\t\\tbackground-size: 32px;\\n\\t\\t}\\n\\t\\t&--with-thumbnail {\\n\\t\\t\\tbackground-size: cover;\\n\\t\\t}\\n\\t\\t&--with-thumbnail:not(&--rounded) {\\n\\t\\t\\t// compensate for border\\n\\t\\t\\tmax-width: $clickable-area - 2px;\\n\\t\\t\\tmax-height: $clickable-area - 2px;\\n\\t\\t\\tborder: 1px solid var(--color-border);\\n\\t\\t}\\n\\n\\t\\timg {\\n\\t\\t\\t// Make sure to keep ratio\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\theight: 100%;\\n\\n\\t\\t\\tobject-fit: cover;\\n\\t\\t\\tobject-position: center;\\n\\t\\t}\\n\\t}\\n\\n\\t&-icon,\\n\\t&-actions {\\n\\t\\tflex: 0 0 $clickable-area;\\n\\t}\\n\\n\\t&-content {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tflex: 1 1 100%;\\n\\t\\tflex-wrap: wrap;\\n\\t\\t// Set to minimum and gro from it\\n\\t\\tmin-width: 0;\\n\\t\\tpadding-inline-start: $margin;\\n\\t}\\n\\n\\t&-line-one,\\n\\t&-line-two {\\n\\t\\toverflow: hidden;\\n\\t\\tflex: 1 1 100%;\\n\\t\\tmargin: 1px 0;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\t// Use the same color as the `a`\\n\\t\\tcolor: inherit;\\n\\t\\tfont-size: inherit;\\n\\t}\\n\\t&-line-two {\\n\\t\\topacity: .7;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t}\\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, `.unified-search__result-placeholder-gradient[data-v-480c8b8e]{position:fixed;height:0;width:0;z-index:-1}.unified-search__result-placeholder[data-v-480c8b8e]{width:calc(100% - 2*10px);height:44px;margin:10px}.unified-search__result-placeholder-icon[data-v-480c8b8e]{width:44px;height:44px;rx:var(--border-radius);ry:var(--border-radius)}.unified-search__result-placeholder-line-one[data-v-480c8b8e],.unified-search__result-placeholder-line-two[data-v-480c8b8e]{width:calc(100% - 54px);height:1em;x:54px}.unified-search__result-placeholder-line-one[data-v-480c8b8e]{y:5px}.unified-search__result-placeholder-line-two[data-v-480c8b8e]{y:25px}`, \"\",{\"version\":3,\"sources\":[\"webpack://./core/src/components/UnifiedSearch/SearchResultPlaceholders.vue\"],\"names\":[],\"mappings\":\"AAIA,8DACC,cAAA,CACA,QAAA,CACA,OAAA,CACA,UAAA,CAGD,qDACC,yBAAA,CACA,WAZgB,CAahB,WAZQ,CAcR,0DACC,UAhBe,CAiBf,WAjBe,CAkBf,uBAAA,CACA,uBAAA,CAGD,4HAEC,uBAAA,CACA,UAAA,CACA,MAAA,CAGD,8DACC,KAAA,CAGD,8DACC,MAAA\",\"sourcesContent\":[\"\\n$clickable-area: 44px;\\n$margin: 10px;\\n\\n.unified-search__result-placeholder-gradient {\\n\\tposition: fixed;\\n\\theight: 0;\\n\\twidth: 0;\\n\\tz-index: -1;\\n}\\n\\n.unified-search__result-placeholder {\\n\\twidth: calc(100% - 2 * #{$margin});\\n\\theight: $clickable-area;\\n\\tmargin: $margin;\\n\\n\\t&-icon {\\n\\t\\twidth: $clickable-area;\\n\\t\\theight: $clickable-area;\\n\\t\\trx: var(--border-radius);\\n\\t\\try: var(--border-radius);\\n\\t}\\n\\n\\t&-line-one,\\n\\t&-line-two {\\n\\t\\twidth: calc(100% - #{$margin + $clickable-area});\\n\\t\\theight: 1em;\\n\\t\\tx: $margin + $clickable-area;\\n\\t}\\n\\n\\t&-line-one {\\n\\t\\ty: 5px;\\n\\t}\\n\\n\\t&-line-two {\\n\\t\\ty: 25px;\\n\\t}\\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, `.unified-search__trigger-icon[data-v-3dc6c8bb]{color:var(--color-background-plain-text) !important}.unified-search__input-wrapper[data-v-3dc6c8bb]{position:sticky;z-index:2;top:0;display:inline-flex;flex-direction:column;align-items:center;width:100%;background-color:var(--color-main-background)}.unified-search__input-wrapper label[for=unified-search__input][data-v-3dc6c8bb]{align-self:flex-start;font-weight:bold;font-size:19px;margin-inline-start:13px}.unified-search__input-row[data-v-3dc6c8bb]{display:flex;width:100%;align-items:center}.unified-search__filters[data-v-3dc6c8bb]{margin-block:10px;margin-inline:5px 0;padding-top:5px}.unified-search__filters ul[data-v-3dc6c8bb]{display:inline-flex;justify-content:space-between}.unified-search__form[data-v-3dc6c8bb]{position:relative;width:100%;margin:10px 0}.unified-search__form[data-v-3dc6c8bb]::after{inset-inline-start:auto 10px}.unified-search__form-input[data-v-3dc6c8bb],.unified-search__form-reset[data-v-3dc6c8bb]{margin:5px}.unified-search__form-input[data-v-3dc6c8bb]{width:100%;height:34px;padding:10px}.unified-search__form-input[data-v-3dc6c8bb]:focus,.unified-search__form-input[data-v-3dc6c8bb]:focus-visible,.unified-search__form-input[data-v-3dc6c8bb]:active{border-color:2px solid var(--color-main-text) !important;box-shadow:0 0 0 2px var(--color-main-background) !important}.unified-search__form-input[data-v-3dc6c8bb],.unified-search__form-input[placeholder][data-v-3dc6c8bb],.unified-search__form-input[data-v-3dc6c8bb]::placeholder{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.unified-search__form-input[data-v-3dc6c8bb]::-webkit-search-decoration,.unified-search__form-input[data-v-3dc6c8bb]::-webkit-search-cancel-button,.unified-search__form-input[data-v-3dc6c8bb]::-webkit-search-results-button,.unified-search__form-input[data-v-3dc6c8bb]::-webkit-search-results-decoration{-webkit-appearance:none}.unified-search__form-reset[data-v-3dc6c8bb],.unified-search__form-submit[data-v-3dc6c8bb]{position:absolute;top:0;inset-inline-end:4px;width:24px;height:24px;min-height:30px;padding:0;opacity:.5;border:none;background-color:rgba(0,0,0,0);margin-inline-end:0}.unified-search__form-reset[data-v-3dc6c8bb]:hover,.unified-search__form-reset[data-v-3dc6c8bb]:focus,.unified-search__form-reset[data-v-3dc6c8bb]:active,.unified-search__form-submit[data-v-3dc6c8bb]:hover,.unified-search__form-submit[data-v-3dc6c8bb]:focus,.unified-search__form-submit[data-v-3dc6c8bb]:active{opacity:1}.unified-search__form-submit[data-v-3dc6c8bb]{inset-inline-end:28px}.unified-search__results[data-v-3dc6c8bb]{display:flex;flex-direction:column;gap:4px}.unified-search__results-header[data-v-3dc6c8bb]{display:block;margin:10px;margin-bottom:6px;margin-inline-start:13px;color:var(--color-primary-element);font-size:19px;font-weight:bold}.unified-search[data-v-3dc6c8bb] .unified-search__result-more{color:var(--color-text-maxcontrast)}.unified-search .empty-content[data-v-3dc6c8bb]{margin:10vh 0}.unified-search .empty-content[data-v-3dc6c8bb] .empty-content__title{font-weight:normal;font-size:var(--default-font-size);text-align:center}`, \"\",{\"version\":3,\"sources\":[\"webpack://./core/src/views/LegacyUnifiedSearch.vue\"],\"names\":[],\"mappings\":\"AAQC,+CACC,mDAAA,CAGD,gDACC,eAAA,CAEA,SAAA,CACA,KAAA,CACA,mBAAA,CACA,qBAAA,CACA,kBAAA,CACA,UAAA,CACA,6CAAA,CAEA,iFACC,qBAAA,CACA,gBAAA,CACA,cAAA,CACA,wBAAA,CAIF,4CACC,YAAA,CACA,UAAA,CACA,kBAAA,CAGD,0CACC,iBAnCO,CAoCP,mBAAA,CACA,eAAA,CACA,6CACC,mBAAA,CACA,6BAAA,CAIF,uCACC,iBAAA,CACA,UAAA,CACA,aAAA,CAGA,8CACA,4BAAA,CAGA,0FAEC,UAAA,CAGD,6CACC,UAAA,CACA,WA5DY,CA6DZ,YA5Da,CA8Db,kKAGC,wDAAA,CACA,4DAAA,CAGD,iKAGC,eAAA,CACA,kBAAA,CACA,sBAAA,CAID,+SAIC,uBAAA,CAIF,2FAEC,iBAAA,CACA,KAAA,CACA,oBAAA,CACA,UAAA,CACA,WAAA,CACA,eAAA,CACA,SAAA,CACA,UAAA,CACA,WAAA,CACA,8BAAA,CACA,mBAAA,CAEA,uTAGC,SAAA,CAIF,8CACC,qBAAA,CAIF,0CACC,YAAA,CACA,qBAAA,CACA,OAAA,CAEA,iDACC,aAAA,CACA,WAzHM,CA0HN,iBAAA,CACA,wBAAA,CACA,kCAAA,CACA,cAAA,CACA,gBAAA,CAIF,8DACC,mCAAA,CAGD,gDACC,aAAA,CAEA,sEACC,kBAAA,CACA,kCAAA,CACA,iBAAA\",\"sourcesContent\":[\"\\n@use \\\"sass:math\\\";\\n\\n$margin: 10px;\\n$input-height: 34px;\\n$input-padding: 10px;\\n\\n.unified-search {\\n\\t&__trigger-icon {\\n\\t\\tcolor: var(--color-background-plain-text) !important;\\n\\t}\\n\\n\\t&__input-wrapper {\\n\\t\\tposition: sticky;\\n\\t\\t// above search results\\n\\t\\tz-index: 2;\\n\\t\\ttop: 0;\\n\\t\\tdisplay: inline-flex;\\n\\t\\tflex-direction: column;\\n\\t\\talign-items: center;\\n\\t\\twidth: 100%;\\n\\t\\tbackground-color: var(--color-main-background);\\n\\n\\t\\tlabel[for=\\\"unified-search__input\\\"] {\\n\\t\\t\\talign-self: flex-start;\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\tfont-size: 19px;\\n\\t\\t\\tmargin-inline-start: 13px;\\n\\t\\t}\\n\\t}\\n\\n\\t&__input-row {\\n\\t\\tdisplay: flex;\\n\\t\\twidth: 100%;\\n\\t\\talign-items: center;\\n\\t}\\n\\n\\t&__filters {\\n\\t\\tmargin-block: $margin;\\n\\t\\tmargin-inline: math.div($margin, 2) 0;\\n\\t\\tpadding-top: 5px;\\n\\t\\tul {\\n\\t\\t\\tdisplay: inline-flex;\\n\\t\\t\\tjustify-content: space-between;\\n\\t\\t}\\n\\t}\\n\\n\\t&__form {\\n\\t\\tposition: relative;\\n\\t\\twidth: 100%;\\n\\t\\tmargin: $margin 0;\\n\\n\\t\\t// Loading spinner\\n\\t\\t&::after {\\n\\t\\tinset-inline-start: auto $input-padding;\\n\\t\\t}\\n\\n\\t\\t&-input,\\n\\t\\t&-reset {\\n\\t\\t\\tmargin: math.div($input-padding, 2);\\n\\t\\t}\\n\\n\\t\\t&-input {\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\theight: $input-height;\\n\\t\\t\\tpadding: $input-padding;\\n\\n\\t\\t\\t&:focus,\\n\\t\\t\\t&:focus-visible,\\n\\t\\t\\t&:active {\\n\\t\\t\\t\\tborder-color: 2px solid var(--color-main-text) !important;\\n\\t\\t\\t\\tbox-shadow: 0 0 0 2px var(--color-main-background) !important;\\n\\t\\t\\t}\\n\\n\\t\\t\\t&,\\n\\t\\t\\t&[placeholder],\\n\\t\\t\\t&::placeholder {\\n\\t\\t\\t\\toverflow: hidden;\\n\\t\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Hide webkit clear search\\n\\t\\t\\t&::-webkit-search-decoration,\\n\\t\\t\\t&::-webkit-search-cancel-button,\\n\\t\\t\\t&::-webkit-search-results-button,\\n\\t\\t\\t&::-webkit-search-results-decoration {\\n\\t\\t\\t\\t-webkit-appearance: none;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&-reset,\\n\\t\\t&-submit {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\ttop: 0;\\n\\t\\t\\tinset-inline-end: 4px;\\n\\t\\t\\twidth: $input-height - $input-padding;\\n\\t\\t\\theight: $input-height - $input-padding;\\n\\t\\t\\tmin-height: 30px;\\n\\t\\t\\tpadding: 0;\\n\\t\\t\\topacity: .5;\\n\\t\\t\\tborder: none;\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t\\tmargin-inline-end: 0;\\n\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&:focus,\\n\\t\\t\\t&:active {\\n\\t\\t\\t\\topacity: 1;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&-submit {\\n\\t\\t\\tinset-inline-end: 28px;\\n\\t\\t}\\n\\t}\\n\\n\\t&__results {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\tgap: 4px;\\n\\n\\t\\t&-header {\\n\\t\\t\\tdisplay: block;\\n\\t\\t\\tmargin: $margin;\\n\\t\\t\\tmargin-bottom: $margin - 4px;\\n\\t\\t\\tmargin-inline-start: 13px;\\n\\t\\t\\tcolor: var(--color-primary-element);\\n\\t\\t\\tfont-size: 19px;\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t}\\n\\t}\\n\\n\\t:deep(.unified-search__result-more) {\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t}\\n\\n\\t.empty-content {\\n\\t\\tmargin: 10vh 0;\\n\\n\\t\\t:deep(.empty-content__title) {\\n\\t\\t\\tfont-weight: normal;\\n\\t\\t\\tfont-size: var(--default-font-size);\\n\\t\\t\\ttext-align: center;\\n\\t\\t}\\n\\t}\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \"-\" + chunkId + \".js?v=\" + {\"4005\":\"ea0438a7997fd9e715c6\",\"4017\":\"dec6f3d66ff15c8062d0\",\"5236\":\"311a02bae05374304a11\",\"7859\":\"374481dd0197cd96efe4\",\"8374\":\"a1555d19d2bb52436702\",\"8436\":\"e9ae15ec61caab34615a\",\"8689\":\"81e9b831f82f55de32df\"}[chunkId] + \"\";\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 1684;","var scriptUrl;\nif (globalThis.importScripts) scriptUrl = globalThis.location + \"\";\nvar document = globalThis.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript && document.currentScript.tagName.toUpperCase() === 'SCRIPT')\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && (!scriptUrl || !/^http(s?):/.test(scriptUrl))) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/^blob:/, \"\").replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","__webpack_require__.b = (typeof document !== 'undefined' && document.baseURI) || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t1684: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = globalThis[\"webpackChunknextcloud_ui_legacy\"] = globalThis[\"webpackChunknextcloud_ui_legacy\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [4208], () => (__webpack_require__(29610)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","inProgress","dataWebpackPrefix","vue_material_design_icons_Magnifyvue_type_script_lang_js","name","emits","props","title","type","String","fillColor","default","size","Number","Magnify","componentNormalizer","A","_vm","this","_c","_self","_b","staticClass","attrs","role","on","click","$event","$emit","$attrs","fill","width","height","viewBox","d","_v","_s","_e","UnifiedSearch_LegacySearchResultvue_type_script_lang_js","components","NcHighlight","thumbnailUrl","required","subline","resourceUrl","icon","rounded","Boolean","query","focused","data","hasValidThumbnail","trim","loaded","computed","isIconUrl","startsWith","URL","watch","methods","reEmitEvent","e","onError","onLoad","options","styleTagTransform","styleTagTransform_default","setAttributes","setAttributesWithoutAttributes_default","insert","insertBySelector_default","bind","domAPI","styleDomAPI_default","insertStyleElement","insertStyleElement_default","injectStylesIntoStyleTag_default","LegacySearchResultvue_type_style_index_0_id_2dec9460_prod_lang_scss_scoped_true","locals","LegacySearchResult","class","href","focus","style","backgroundImage","directives","rawName","value","expression","src","alt","error","load","text","search","UnifiedSearch_SearchResultPlaceholdersvue_type_script_lang_js","light","dark","mounted","styles","getComputedStyle","document","documentElement","getPropertyValue","randWidth","Math","floor","random","SearchResultPlaceholdersvue_type_style_index_0_id_480c8b8e_prod_lang_scss_scoped_true_options","SearchResultPlaceholdersvue_type_style_index_0_id_480c8b8e_prod_lang_scss_scoped_true","SearchResultPlaceholders","id","offset","attributeName","values","dur","repeatCount","_l","placeholder","key","xmlns","logger","user","getCurrentUser","getLoggerBuilder","setApp","build","setUid","uid","detectUser","defaultLimit","loadState","minSearchLength","enableLiveSearch","regexFilterIn","regexFilterNot","async","getTypes","axios","get","generateOcsUrl","params","from","window","location","pathname","replace","ocs","Array","isArray","length","cursor","cancelToken","CancelToken","source","request","token","term","cancel","views_LegacyUnifiedSearchvue_type_script_lang_js","NcActionButton","NcActions","NcEmptyContent","NcHeaderMenu","SearchResult","NcTextField","types","cursors","limits","loading","reached","requests","results","triggered","open","typesIDs","map","typesNames","typesMap","reduce","prev","curr","ariaLabel","t","hasResults","Object","keys","orderedResults","filter","list","availableFilters","usedFiltersIn","match","filters","exec","push","usedFiltersNot","validQueryTitle","shortQueryDescription","isShortQuery","n","isValidQuery","isDoneSearching","every","state","isLoading","some","created","debug","beforeDestroy","unsubscribe","onNavigationChange","subscribe","OCP","Accessibility","disableKeyboardShortcuts","addEventListener","event","ctrlKey","code","preventDefault","focusNext","focusPrev","onOpen","onClose","emit","$el","querySelector","reset","onReset","resetState","focusInput","cancelPendingRequests","slice","Promise","all","$nextTick","$refs","input","select","onInputEnter","getResultsList","onInput","$delete","indexOf","$set","entries","isPaginated","response","status","showError","then","result","onInputDebounced","debounce","loadMore","focusIndex","limitIfAny","querySelectorAll","focusFirst","index","setFocusedIndex","entry","target","findIndex","onClickFilter","LegacyUnifiedSearchvue_type_style_index_0_id_3dc6c8bb_prod_lang_scss_scoped_true_options","LegacyUnifiedSearchvue_type_style_index_0_id_3dc6c8bb_prod_lang_scss_scoped_true","LegacyUnifiedSearch","close","scopedSlots","_u","fn","proxy","ref","label","join","model","callback","$$v","placement","container","stopPropagation","typesIndex","description","__webpack_nonce__","getCSPNonce","Vue","mixin","l10n_dist","el","render","h","UnifiedSearch","___CSS_LOADER_EXPORT___","_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default","_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default","module","version","sources","names","mappings","sourcesContent","sourceRoot","__WEBPACK_DEFAULT_EXPORT__","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","__webpack_modules__","call","m","O","chunkIds","priority","notFulfilled","Infinity","i","fulfilled","j","splice","r","getter","__esModule","a","definition","o","defineProperty","enumerable","f","chunkId","promises","u","obj","prop","prototype","hasOwnProperty","l","url","done","script","needAttach","scripts","getElementsByTagName","s","getAttribute","createElement","charset","nc","setAttribute","onScriptComplete","onerror","onload","clearTimeout","timeout","doneFns","parentNode","removeChild","forEach","setTimeout","head","appendChild","Symbol","toStringTag","nmd","paths","children","scriptUrl","globalThis","importScripts","currentScript","tagName","toUpperCase","test","Error","p","b","baseURI","self","installedChunks","installedChunkData","promise","resolve","reject","errorType","realSrc","message","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/core-login.js.map b/dist/core-login.js.map index fd2ebec96070e..50b31421756c5 100644 --- a/dist/core-login.js.map +++ b/dist/core-login.js.map @@ -1 +1 @@ -{"version":3,"file":"core-login.js?v=4ac87b6ada1ea2a5fe16","mappings":"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4BC,KAE1DF,EAAA7S,KAAA,CAAAgT,EAAAnmB,GAAA,iGAAwI,IAAOglB,QAAA,EAAAoB,QAAA,4DAAAC,MAAA,GAAAC,SAAA,iDAAAC,eAAA,8GAAmRC,WAAA,MAEla,MAAAC,EAAA,iFCJAT,QAA8BC,GAA4BC,KAE1DF,EAAA7S,KAAA,CAAAgT,EAAAnmB,GAAA,sbAA6d,IAAOglB,QAAA,EAAAoB,QAAA,yCAAAC,MAAA,GAAAC,SAAA,yIAAAC,eAAA,mfAA6tBC,WAAA,MAEjsC,MAAAC,EAAA,iFCJAT,QAA8BC,GAA4BC,KAE1DF,EAAA7S,KAAA,CAAAgT,EAAAnmB,GAAA,2HAOA,IAAOglB,QAAA,EAAAoB,QAAA,6DAAAC,MAAA,GAAAC,SAAA,8CAAiJC,eAAA,+qGAAgrGC,WAAA,MAEx0G,MAAAC,EAAA,gBCdA,IAAAlf,EAAA,CACA,aACA,gBACA,aACA,gBACA,mBACA,gBACA,mBACA,gBACA,mBACA,gBACA,mBACA,eACA,kBACA,gBACA,mBACA,gBACA,mBACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,mBACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,YACA,eACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,mBACA,gBACA,mBACA,gBACA,aACA,gBACA,aACA,gBACA,gBACA,mBACA,gBACA,mBACA,gBACA,mBACA,gBACA,mBACA,gBACA,mBACA,eACA,kBACA,gBACA,mBACA,gBACA,mBACA,aACA,gBACA,aACA,gBACA,mBACA,gBACA,mBACA,gBACA,mBACA,gBACA,YACA,eACA,YACA,eACA,WACA,cACA,aACA,gBACA,cACA,iBACA,aACA,gBACA,aACA,gBACA,mBACA,gBACA,mBACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,mBACA,sBACA,mBACA,sBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,gBACA,mBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,mBACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,mBACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,mBACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,YACA,eACA,aACA,gBACA,mBACA,gBACA,aACA,gBACA,iBACA,oBACA,gBACA,mBACA,aACA,gBACA,aACA,gBACA,mBACA,gBACA,aACA,gBACA,aACA,gBACA,YACA,eACA,aACA,gBACA,aACA,gBACA,YACA,eACA,aACA,gBACA,aACA,gBACA,aACA,iBACA,oBACA,gBACA,YACA,eACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,cACA,iBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,gBACA,mBACA,cACA,iBACA,aACA,gBACA,cACA,iBACA,cACA,mBACA,sBACA,iBACA,gBACA,mBACA,aACA,gBACA,aACA,gBACA,aACA,kBACA,qBACA,gBACA,aACA,gBACA,mBACA,sBACA,aACA,gBACA,gBACA,mBACA,eACA,kBACA,gBACA,mBACA,gBACA,oBAIA,SAAAmf,EAAAC,GACA,IAAA3mB,EAAA4mB,EAAAD,GACA,OAAAlV,EAAAzR,EACA,CACA,SAAA4mB,EAAAD,GACA,IAAAlV,EAAAoV,EAAAtf,EAAAof,GAAA,CACA,IAAA/a,EAAA,IAAApK,MAAA,uBAAAmlB,EAAA,KAEA,MADA/a,EAAAlK,KAAA,mBACAkK,CACA,CACA,OAAArE,EAAAof,EACA,CACAD,EAAAI,KAAA,WACA,OAAAjlB,OAAAilB,KAAAvf,EACA,EACAmf,EAAA/e,QAAAif,EACAT,EAAAY,QAAAL,EACAA,EAAA1mB,GAAA,QCtSAgnB,EAAA,GAGA,SAAAvV,EAAAwV,GAEA,IAAAC,EA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","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/webpack/runtime/load script","webpack:///nextcloud/core/src/components/login/LoginButton.vue","webpack:///nextcloud/core/src/components/login/LoginButton.vue?vue&type=script&lang=js","webpack://nextcloud/./core/src/components/login/LoginButton.vue?428d","webpack://nextcloud/./core/src/components/login/LoginButton.vue?14f0","webpack://nextcloud/./core/src/components/login/LoginButton.vue?82aa","webpack:///nextcloud/core/src/mixins/auth.js","webpack:///nextcloud/core/src/components/login/LoginForm.vue?vue&type=script&lang=js","webpack:///nextcloud/core/src/components/login/LoginForm.vue","webpack://nextcloud/./core/src/components/login/LoginForm.vue?367b","webpack://nextcloud/./core/src/components/login/LoginForm.vue?a678","webpack://nextcloud/./core/src/components/login/LoginForm.vue?4366","webpack:///nextcloud/node_modules/@simplewebauthn/browser/esm/helpers/browserSupportsWebAuthn.js","webpack:///nextcloud/node_modules/@simplewebauthn/browser/esm/helpers/webAuthnError.js","webpack:///nextcloud/node_modules/@simplewebauthn/browser/esm/helpers/webAuthnAbortService.js","webpack:///nextcloud/node_modules/@simplewebauthn/browser/esm/helpers/bufferToBase64URLString.js","webpack:///nextcloud/node_modules/@simplewebauthn/browser/esm/helpers/base64URLStringToBuffer.js","webpack:///nextcloud/node_modules/@simplewebauthn/browser/esm/helpers/browserSupportsWebAuthnAutofill.js","webpack:///nextcloud/node_modules/@simplewebauthn/browser/esm/helpers/toPublicKeyCredentialDescriptor.js","webpack:///nextcloud/node_modules/@simplewebauthn/browser/esm/helpers/toAuthenticatorAttachment.js","webpack:///nextcloud/node_modules/vue-material-design-icons/LockOpen.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/LockOpen.vue?vue&type=script&lang=js","webpack://nextcloud/./node_modules/vue-material-design-icons/LockOpen.vue?104d","webpack:///nextcloud/node_modules/vue-material-design-icons/LockOpen.vue?vue&type=template&id=d7513faa","webpack:///nextcloud/core/src/logger.js","webpack:///nextcloud/core/src/services/WebAuthnAuthenticationService.ts","webpack:///nextcloud/core/src/components/login/PasswordLessLoginForm.vue","webpack:///nextcloud/core/src/components/login/PasswordLessLoginForm.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/@simplewebauthn/browser/esm/methods/startAuthentication.js","webpack:///nextcloud/node_modules/@simplewebauthn/browser/esm/helpers/identifyAuthenticationError.js","webpack:///nextcloud/node_modules/@simplewebauthn/browser/esm/helpers/isValidDomain.js","webpack://nextcloud/./core/src/components/login/PasswordLessLoginForm.vue?933f","webpack://nextcloud/./core/src/components/login/PasswordLessLoginForm.vue?09eb","webpack://nextcloud/./core/src/components/login/PasswordLessLoginForm.vue?16ec","webpack:///nextcloud/core/src/components/login/ResetPassword.vue?vue&type=script&lang=ts","webpack:///nextcloud/core/src/components/login/ResetPassword.vue","webpack://nextcloud/./core/src/components/login/ResetPassword.vue?e816","webpack://nextcloud/./core/src/components/login/ResetPassword.vue?9d75","webpack:///nextcloud/core/src/components/login/UpdatePassword.vue?vue&type=script&lang=js","webpack:///nextcloud/core/src/components/login/UpdatePassword.vue","webpack://nextcloud/./core/src/components/login/UpdatePassword.vue?84cd","webpack://nextcloud/./core/src/components/login/UpdatePassword.vue?30ca","webpack://nextcloud/./core/src/components/login/UpdatePassword.vue?1c8f","webpack:///nextcloud/core/src/views/Login.vue","webpack:///nextcloud/core/src/utils/xhr-request.js","webpack:///nextcloud/core/src/views/Login.vue?vue&type=script&lang=js","webpack://nextcloud/./core/src/views/Login.vue?6921","webpack://nextcloud/./core/src/views/Login.vue?3468","webpack://nextcloud/./core/src/views/Login.vue?ae59","webpack:///nextcloud/core/src/OC/admin.js","webpack:///nextcloud/core/src/OC/appconfig.js","webpack:///nextcloud/core/src/OC/appswebroots.js","webpack:///nextcloud/core/src/OC/config.js","webpack:///nextcloud/core/src/OC/currentuser.js","webpack:///nextcloud/core/src/OC/debug.js","webpack:///nextcloud/core/src/OC/dialogs.js","webpack:///nextcloud/core/src/OC/requesttoken.ts","webpack:///nextcloud/core/src/OC/eventsource.js","webpack:///nextcloud/core/src/OC/l10n.js","webpack:///nextcloud/core/src/OC/mimeType.js","webpack:///nextcloud/core/src/OC/msg.ts","webpack:///nextcloud/core/src/OC/password-confirmation.js","webpack:///nextcloud/core/src/OC/plugins.js","webpack:///nextcloud/core/src/OC/theme.js","webpack:///nextcloud/core/src/OC/util-history.js","webpack:///nextcloud/core/src/OC/util.js","webpack:///nextcloud/core/src/OC/webroot.js","webpack:///nextcloud/core/src/OC/index.js","webpack:///nextcloud/core/src/OC/constants.js","webpack:///nextcloud/core/src/OC/capabilities.js","webpack:///nextcloud/core/src/OC/query-string.ts","webpack:///nextcloud/core/src/OC/routing.js","webpack:///nextcloud/core/src/mixins/Nextcloud.js","webpack:///nextcloud/core/src/login.js","webpack:///nextcloud/core/src/components/login/LoginButton.vue?vue&type=style&index=0&id=bbf83d00&prod&lang=scss&scoped=true","webpack:///nextcloud/core/src/components/login/LoginForm.vue?vue&type=style&index=0&id=fac76c6a&prod&lang=scss&scoped=true","webpack:///nextcloud/core/src/components/login/PasswordLessLoginForm.vue?vue&type=style&index=0&id=25758ef3&prod&lang=scss&scoped=true","webpack:///nextcloud/core/src/components/login/ResetPassword.vue?vue&type=style&index=0&id=759a0fdd&prod&lang=scss&scoped=true","webpack:///nextcloud/core/src/views/Login.vue?vue&type=style&index=0&id=518c0816&prod&scoped=true&lang=scss","webpack:///nextcloud/core/src/components/login/UpdatePassword.vue?vue&type=style&index=0&id=2c0ecaf9&prod&scoped=true&lang=css","webpack:///nextcloud/node_modules/moment/locale|sync|/^\\.\\/.*$","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};","\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!./LoginButton.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!./LoginButton.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!./LoginButton.vue?vue&type=style&index=0&id=bbf83d00&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!./LoginButton.vue?vue&type=style&index=0&id=bbf83d00&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./LoginButton.vue?vue&type=template&id=bbf83d00&scoped=true\"\nimport script from \"./LoginButton.vue?vue&type=script&lang=js\"\nexport * from \"./LoginButton.vue?vue&type=script&lang=js\"\nimport style0 from \"./LoginButton.vue?vue&type=style&index=0&id=bbf83d00&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 \"bbf83d00\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('NcButton',{attrs:{\"variant\":\"primary\",\"type\":\"submit\",\"wide\":true,\"disabled\":_vm.loading},on:{\"click\":function($event){return _vm.$emit('click')}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [(_vm.loading)?_c('div',{staticClass:\"submit-wrapper__icon icon-loading-small-dark\"}):_c('ArrowRight',{staticClass:\"submit-wrapper__icon\"})]},proxy:true}])},[_vm._v(\"\\n\\t\"+_vm._s(!_vm.loading ? _vm.value : _vm.valueLoading)+\"\\n\\t\")])\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\nexport default {\n\n\tcomputed: {\n\t\tuserNameInputLengthIs255() {\n\t\t\treturn this.user.length >= 255\n\t\t},\n\t\tuserInputHelperText() {\n\t\t\tif (this.userNameInputLengthIs255) {\n\t\t\t\treturn t('core', 'Email length is at max (255)')\n\t\t\t}\n\t\t\treturn undefined\n\t\t},\n\t},\n}\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoginForm.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!./LoginForm.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!./LoginForm.vue?vue&type=style&index=0&id=fac76c6a&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!./LoginForm.vue?vue&type=style&index=0&id=fac76c6a&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./LoginForm.vue?vue&type=template&id=fac76c6a&scoped=true\"\nimport script from \"./LoginForm.vue?vue&type=script&lang=js\"\nexport * from \"./LoginForm.vue?vue&type=script&lang=js\"\nimport style0 from \"./LoginForm.vue?vue&type=style&index=0&id=fac76c6a&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 \"fac76c6a\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('form',{ref:\"loginForm\",staticClass:\"login-form\",attrs:{\"method\":\"post\",\"name\":\"login\",\"action\":_vm.loginActionUrl},on:{\"submit\":_vm.submit}},[_c('fieldset',{staticClass:\"login-form__fieldset\",attrs:{\"data-login-form\":\"\"}},[(_vm.apacheAuthFailed)?_c('NcNoteCard',{attrs:{\"title\":_vm.t('core', 'Server side authentication failed!'),\"type\":\"warning\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('core', 'Please contact your administrator.'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.csrfCheckFailed)?_c('NcNoteCard',{attrs:{\"heading\":_vm.t('core', 'Session error'),\"type\":\"error\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('core', 'It appears your session token has expired, please refresh the page and try again.'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.messages.length > 0)?_c('NcNoteCard',_vm._l((_vm.messages),function(message,index){return _c('div',{key:index},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(message)),_c('br')])}),0):_vm._e(),_vm._v(\" \"),(_vm.internalException)?_c('NcNoteCard',{class:_vm.t('core', 'An internal error occurred.'),attrs:{\"type\":\"warning\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('core', 'Please try again or contact your administrator.'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"hidden\",attrs:{\"id\":\"message\"}},[_c('img',{staticClass:\"float-spinner\",attrs:{\"alt\":\"\",\"src\":_vm.loadingIcon}}),_vm._v(\" \"),_c('span',{attrs:{\"id\":\"messageText\"}}),_vm._v(\" \"),_c('div',{staticStyle:{\"clear\":\"both\"}})]),_vm._v(\" \"),_c('h2',{staticClass:\"login-form__headline\",attrs:{\"data-login-form-headline\":\"\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.headlineText)+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('NcTextField',{ref:\"user\",class:{ shake: _vm.invalidPassword },attrs:{\"id\":\"user\",\"label\":_vm.loginText,\"name\":\"user\",\"maxlength\":255,\"autocapitalize\":\"none\",\"spellchecking\":false,\"autocomplete\":_vm.autoCompleteAllowed ? 'username' : 'off',\"required\":\"\",\"error\":_vm.userNameInputLengthIs255,\"helper-text\":_vm.userInputHelperText,\"data-login-form-input-user\":\"\"},on:{\"change\":_vm.updateUsername},model:{value:(_vm.user),callback:function ($$v) {_vm.user=$$v},expression:\"user\"}}),_vm._v(\" \"),_c('NcPasswordField',{ref:\"password\",class:{ shake: _vm.invalidPassword },attrs:{\"id\":\"password\",\"name\":\"password\",\"spellchecking\":false,\"autocapitalize\":\"none\",\"autocomplete\":_vm.autoCompleteAllowed ? 'current-password' : 'off',\"label\":_vm.t('core', 'Password'),\"helper-text\":_vm.errorLabel,\"error\":_vm.isError,\"visible\":_vm.visible,\"data-login-form-input-password\":\"\",\"required\":\"\"},model:{value:(_vm.password),callback:function ($$v) {_vm.password=$$v},expression:\"password\"}}),_vm._v(\" \"),(_vm.remembermeAllowed)?_c('NcCheckboxRadioSwitch',{ref:\"rememberme\",attrs:{\"id\":\"rememberme\",\"name\":\"rememberme\",\"value\":\"1\",\"data-login-form-input-rememberme\":\"\"},model:{value:(_vm.rememberme),callback:function ($$v) {_vm.rememberme=$$v},expression:\"rememberme\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('core', 'Remember me'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),_c('LoginButton',{attrs:{\"data-login-form-submit\":\"\",\"loading\":_vm.loading}}),_vm._v(\" \"),(_vm.redirectUrl)?_c('input',{attrs:{\"type\":\"hidden\",\"name\":\"redirect_url\"},domProps:{\"value\":_vm.redirectUrl}}):_vm._e(),_vm._v(\" \"),_c('input',{attrs:{\"type\":\"hidden\",\"name\":\"timezone\"},domProps:{\"value\":_vm.timezone}}),_vm._v(\" \"),_c('input',{attrs:{\"type\":\"hidden\",\"name\":\"timezone_offset\"},domProps:{\"value\":_vm.timezoneOffset}}),_vm._v(\" \"),_c('input',{attrs:{\"type\":\"hidden\",\"name\":\"requesttoken\"},domProps:{\"value\":_vm.requestToken}}),_vm._v(\" \"),(_vm.directLogin)?_c('input',{attrs:{\"type\":\"hidden\",\"name\":\"direct\",\"value\":\"1\"}}):_vm._e()],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * Determine if the browser is capable of Webauthn\n */\nexport function browserSupportsWebAuthn() {\n return _browserSupportsWebAuthnInternals.stubThis(globalThis?.PublicKeyCredential !== undefined &&\n typeof globalThis.PublicKeyCredential === 'function');\n}\n/**\n * Make it possible to stub the return value during testing\n * @ignore Don't include this in docs output\n */\nexport const _browserSupportsWebAuthnInternals = {\n stubThis: (value) => value,\n};\n","/**\n * A custom Error used to return a more nuanced error detailing _why_ one of the eight documented\n * errors in the spec was raised after calling `navigator.credentials.create()` or\n * `navigator.credentials.get()`:\n *\n * - `AbortError`\n * - `ConstraintError`\n * - `InvalidStateError`\n * - `NotAllowedError`\n * - `NotSupportedError`\n * - `SecurityError`\n * - `TypeError`\n * - `UnknownError`\n *\n * Error messages were determined through investigation of the spec to determine under which\n * scenarios a given error would be raised.\n */\nexport class WebAuthnError extends Error {\n constructor({ message, code, cause, name, }) {\n // @ts-ignore: help Rollup understand that `cause` is okay to set\n super(message, { cause });\n Object.defineProperty(this, \"code\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n this.name = name ?? cause.name;\n this.code = code;\n }\n}\n","class BaseWebAuthnAbortService {\n constructor() {\n Object.defineProperty(this, \"controller\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n }\n createNewAbortSignal() {\n // Abort any existing calls to navigator.credentials.create() or navigator.credentials.get()\n if (this.controller) {\n const abortError = new Error('Cancelling existing WebAuthn API call for new one');\n abortError.name = 'AbortError';\n this.controller.abort(abortError);\n }\n const newController = new AbortController();\n this.controller = newController;\n return newController.signal;\n }\n cancelCeremony() {\n if (this.controller) {\n const abortError = new Error('Manually cancelling existing WebAuthn API call');\n abortError.name = 'AbortError';\n this.controller.abort(abortError);\n this.controller = undefined;\n }\n }\n}\n/**\n * A service singleton to help ensure that only a single WebAuthn ceremony is active at a time.\n *\n * Users of **@simplewebauthn/browser** shouldn't typically need to use this, but it can help e.g.\n * developers building projects that use client-side routing to better control the behavior of\n * their UX in response to router navigation events.\n */\nexport const WebAuthnAbortService = new BaseWebAuthnAbortService();\n","/**\n * Convert the given array buffer into a Base64URL-encoded string. Ideal for converting various\n * credential response ArrayBuffers to string for sending back to the server as JSON.\n *\n * Helper method to compliment `base64URLStringToBuffer`\n */\nexport function bufferToBase64URLString(buffer) {\n const bytes = new Uint8Array(buffer);\n let str = '';\n for (const charCode of bytes) {\n str += String.fromCharCode(charCode);\n }\n const base64String = btoa(str);\n return base64String.replace(/\\+/g, '-').replace(/\\//g, '_').replace(/=/g, '');\n}\n","/**\n * Convert from a Base64URL-encoded string to an Array Buffer. Best used when converting a\n * credential ID from a JSON string to an ArrayBuffer, like in allowCredentials or\n * excludeCredentials\n *\n * Helper method to compliment `bufferToBase64URLString`\n */\nexport function base64URLStringToBuffer(base64URLString) {\n // Convert from Base64URL to Base64\n const base64 = base64URLString.replace(/-/g, '+').replace(/_/g, '/');\n /**\n * Pad with '=' until it's a multiple of four\n * (4 - (85 % 4 = 1) = 3) % 4 = 3 padding\n * (4 - (86 % 4 = 2) = 2) % 4 = 2 padding\n * (4 - (87 % 4 = 3) = 1) % 4 = 1 padding\n * (4 - (88 % 4 = 0) = 4) % 4 = 0 padding\n */\n const padLength = (4 - (base64.length % 4)) % 4;\n const padded = base64.padEnd(base64.length + padLength, '=');\n // Convert to a binary string\n const binary = atob(padded);\n // Convert binary string to buffer\n const buffer = new ArrayBuffer(binary.length);\n const bytes = new Uint8Array(buffer);\n for (let i = 0; i < binary.length; i++) {\n bytes[i] = binary.charCodeAt(i);\n }\n return buffer;\n}\n","import { browserSupportsWebAuthn } from './browserSupportsWebAuthn.js';\n/**\n * Determine if the browser supports conditional UI, so that WebAuthn credentials can\n * be shown to the user in the browser's typical password autofill popup.\n */\nexport function browserSupportsWebAuthnAutofill() {\n if (!browserSupportsWebAuthn()) {\n return _browserSupportsWebAuthnAutofillInternals.stubThis(new Promise((resolve) => resolve(false)));\n }\n /**\n * I don't like the `as unknown` here but there's a `declare var PublicKeyCredential` in\n * TS' DOM lib that's making it difficult for me to just go `as PublicKeyCredentialFuture` as I\n * want. I think I'm fine with this for now since it's _supposed_ to be temporary, until TS types\n * have a chance to catch up.\n */\n const globalPublicKeyCredential = globalThis\n .PublicKeyCredential;\n if (globalPublicKeyCredential?.isConditionalMediationAvailable === undefined) {\n return _browserSupportsWebAuthnAutofillInternals.stubThis(new Promise((resolve) => resolve(false)));\n }\n return _browserSupportsWebAuthnAutofillInternals.stubThis(globalPublicKeyCredential.isConditionalMediationAvailable());\n}\n// Make it possible to stub the return value during testing\nexport const _browserSupportsWebAuthnAutofillInternals = {\n stubThis: (value) => value,\n};\n","import { base64URLStringToBuffer } from './base64URLStringToBuffer.js';\nexport function toPublicKeyCredentialDescriptor(descriptor) {\n const { id } = descriptor;\n return {\n ...descriptor,\n id: base64URLStringToBuffer(id),\n /**\n * `descriptor.transports` is an array of our `AuthenticatorTransportFuture` that includes newer\n * transports that TypeScript's DOM lib is ignorant of. Convince TS that our list of transports\n * are fine to pass to WebAuthn since browsers will recognize the new value.\n */\n transports: descriptor.transports,\n };\n}\n","const attachments = ['cross-platform', 'platform'];\n/**\n * If possible coerce a `string` value into a known `AuthenticatorAttachment`\n */\nexport function toAuthenticatorAttachment(attachment) {\n if (!attachment) {\n return;\n }\n if (attachments.indexOf(attachment) < 0) {\n return;\n }\n return attachment;\n}\n","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./LockOpen.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./LockOpen.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./LockOpen.vue?vue&type=template&id=d7513faa\"\nimport script from \"./LockOpen.vue?vue&type=script&lang=js\"\nexport * from \"./LockOpen.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 lock-open-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\":\"M18,8A2,2 0 0,1 20,10V20A2,2 0 0,1 18,22H6C4.89,22 4,21.1 4,20V10A2,2 0 0,1 6,8H15V6A3,3 0 0,0 12,3A3,3 0 0,0 9,6H7A5,5 0 0,1 12,1A5,5 0 0,1 17,6V8H18M12,17A2,2 0 0,0 14,15A2,2 0 0,0 12,13A2,2 0 0,0 10,15A2,2 0 0,0 12,17Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { getCurrentUser } from '@nextcloud/auth'\nimport { getLoggerBuilder } from '@nextcloud/logger'\n\n/**\n *\n * @param user\n */\nfunction getLogger(user) {\n\tif (user === null) {\n\t\treturn getLoggerBuilder()\n\t\t\t.setApp('core')\n\t\t\t.build()\n\t}\n\treturn getLoggerBuilder()\n\t\t.setApp('core')\n\t\t.setUid(user.uid)\n\t\t.build()\n}\n\nexport default getLogger(getCurrentUser())\n\nexport const unifiedSearchLogger = getLoggerBuilder()\n\t.setApp('unified-search')\n\t.detectUser()\n\t.build()\n","/**\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport Axios from '@nextcloud/axios';\nimport { generateUrl } from '@nextcloud/router';\nimport { startAuthentication as startWebauthnAuthentication } from '@simplewebauthn/browser';\nimport logger from '../logger.js';\nexport class NoValidCredentials extends Error {\n}\n/**\n * Start webautn authentication\n * This loads the challenge, connects to the authenticator and returns the repose that needs to be sent to the server.\n *\n * @param loginName Name to login\n */\nexport async function startAuthentication(loginName) {\n const url = generateUrl('/login/webauthn/start');\n const { data } = await Axios.post(url, { loginName });\n if (!data.allowCredentials || data.allowCredentials.length === 0) {\n logger.error('No valid credentials returned for webauthn');\n throw new NoValidCredentials();\n }\n return await startWebauthnAuthentication({ optionsJSON: data });\n}\n/**\n * Verify webauthn authentication\n *\n * @param authData The authentication data to sent to the server\n */\nexport async function finishAuthentication(authData) {\n const url = generateUrl('/login/webauthn/finish');\n const { data } = await Axios.post(url, { data: JSON.stringify(authData) });\n return data;\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!./PasswordLessLoginForm.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!./PasswordLessLoginForm.vue?vue&type=script&lang=js\"","import { bufferToBase64URLString } from '../helpers/bufferToBase64URLString.js';\nimport { base64URLStringToBuffer } from '../helpers/base64URLStringToBuffer.js';\nimport { browserSupportsWebAuthn } from '../helpers/browserSupportsWebAuthn.js';\nimport { browserSupportsWebAuthnAutofill } from '../helpers/browserSupportsWebAuthnAutofill.js';\nimport { toPublicKeyCredentialDescriptor } from '../helpers/toPublicKeyCredentialDescriptor.js';\nimport { identifyAuthenticationError } from '../helpers/identifyAuthenticationError.js';\nimport { WebAuthnAbortService } from '../helpers/webAuthnAbortService.js';\nimport { toAuthenticatorAttachment } from '../helpers/toAuthenticatorAttachment.js';\n/**\n * Begin authenticator \"login\" via WebAuthn assertion\n *\n * @param optionsJSON Output from **@simplewebauthn/server**'s `generateAuthenticationOptions()`\n * @param useBrowserAutofill (Optional) Initialize conditional UI to enable logging in via browser autofill prompts. Defaults to `false`.\n * @param verifyBrowserAutofillInput (Optional) Ensure a suitable `` element is present when `useBrowserAutofill` is `true`. Defaults to `true`.\n */\nexport async function startAuthentication(options) {\n // @ts-ignore: Intentionally check for old call structure to warn about improper API call\n if (!options.optionsJSON && options.challenge) {\n console.warn('startAuthentication() was not called correctly. It will try to continue with the provided options, but this call should be refactored to use the expected call structure instead. See https://simplewebauthn.dev/docs/packages/browser#typeerror-cannot-read-properties-of-undefined-reading-challenge for more information.');\n // @ts-ignore: Reassign the options, passed in as a positional argument, to the expected variable\n options = { optionsJSON: options };\n }\n const { optionsJSON, useBrowserAutofill = false, verifyBrowserAutofillInput = true, } = options;\n if (!browserSupportsWebAuthn()) {\n throw new Error('WebAuthn is not supported in this browser');\n }\n // We need to avoid passing empty array to avoid blocking retrieval\n // of public key\n let allowCredentials;\n if (optionsJSON.allowCredentials?.length !== 0) {\n allowCredentials = optionsJSON.allowCredentials?.map(toPublicKeyCredentialDescriptor);\n }\n // We need to convert some values to Uint8Arrays before passing the credentials to the navigator\n const publicKey = {\n ...optionsJSON,\n challenge: base64URLStringToBuffer(optionsJSON.challenge),\n allowCredentials,\n };\n // Prepare options for `.get()`\n const getOptions = {};\n /**\n * Set up the page to prompt the user to select a credential for authentication via the browser's\n * input autofill mechanism.\n */\n if (useBrowserAutofill) {\n if (!(await browserSupportsWebAuthnAutofill())) {\n throw Error('Browser does not support WebAuthn autofill');\n }\n // Check for an with \"webauthn\" in its `autocomplete` attribute\n const eligibleInputs = document.querySelectorAll(\"input[autocomplete$='webauthn']\");\n // WebAuthn autofill requires at least one valid input\n if (eligibleInputs.length < 1 && verifyBrowserAutofillInput) {\n throw Error('No with \"webauthn\" as the only or last value in its `autocomplete` attribute was detected');\n }\n // `CredentialMediationRequirement` doesn't know about \"conditional\" yet as of\n // typescript@4.6.3\n getOptions.mediation = 'conditional';\n // Conditional UI requires an empty allow list\n publicKey.allowCredentials = [];\n }\n // Finalize options\n getOptions.publicKey = publicKey;\n // Set up the ability to cancel this request if the user attempts another\n getOptions.signal = WebAuthnAbortService.createNewAbortSignal();\n // Wait for the user to complete assertion\n let credential;\n try {\n credential = (await navigator.credentials.get(getOptions));\n }\n catch (err) {\n throw identifyAuthenticationError({ error: err, options: getOptions });\n }\n if (!credential) {\n throw new Error('Authentication was not completed');\n }\n const { id, rawId, response, type } = credential;\n let userHandle = undefined;\n if (response.userHandle) {\n userHandle = bufferToBase64URLString(response.userHandle);\n }\n // Convert values to base64 to make it easier to send back to the server\n return {\n id,\n rawId: bufferToBase64URLString(rawId),\n response: {\n authenticatorData: bufferToBase64URLString(response.authenticatorData),\n clientDataJSON: bufferToBase64URLString(response.clientDataJSON),\n signature: bufferToBase64URLString(response.signature),\n userHandle,\n },\n type,\n clientExtensionResults: credential.getClientExtensionResults(),\n authenticatorAttachment: toAuthenticatorAttachment(credential.authenticatorAttachment),\n };\n}\n","import { isValidDomain } from './isValidDomain.js';\nimport { WebAuthnError } from './webAuthnError.js';\n/**\n * Attempt to intuit _why_ an error was raised after calling `navigator.credentials.get()`\n */\nexport function identifyAuthenticationError({ error, options, }) {\n const { publicKey } = options;\n if (!publicKey) {\n throw Error('options was missing required publicKey property');\n }\n if (error.name === 'AbortError') {\n if (options.signal instanceof AbortSignal) {\n // https://www.w3.org/TR/webauthn-2/#sctn-createCredential (Step 16)\n return new WebAuthnError({\n message: 'Authentication ceremony was sent an abort signal',\n code: 'ERROR_CEREMONY_ABORTED',\n cause: error,\n });\n }\n }\n else if (error.name === 'NotAllowedError') {\n /**\n * Pass the error directly through. Platforms are overloading this error beyond what the spec\n * defines and we don't want to overwrite potentially useful error messages.\n */\n return new WebAuthnError({\n message: error.message,\n code: 'ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY',\n cause: error,\n });\n }\n else if (error.name === 'SecurityError') {\n const effectiveDomain = globalThis.location.hostname;\n if (!isValidDomain(effectiveDomain)) {\n // https://www.w3.org/TR/webauthn-2/#sctn-discover-from-external-source (Step 5)\n return new WebAuthnError({\n message: `${globalThis.location.hostname} is an invalid domain`,\n code: 'ERROR_INVALID_DOMAIN',\n cause: error,\n });\n }\n else if (publicKey.rpId !== effectiveDomain) {\n // https://www.w3.org/TR/webauthn-2/#sctn-discover-from-external-source (Step 6)\n return new WebAuthnError({\n message: `The RP ID \"${publicKey.rpId}\" is invalid for this domain`,\n code: 'ERROR_INVALID_RP_ID',\n cause: error,\n });\n }\n }\n else if (error.name === 'UnknownError') {\n // https://www.w3.org/TR/webauthn-2/#sctn-op-get-assertion (Step 1)\n // https://www.w3.org/TR/webauthn-2/#sctn-op-get-assertion (Step 12)\n return new WebAuthnError({\n message: 'The authenticator was unable to process the specified options, or could not create a new assertion signature',\n code: 'ERROR_AUTHENTICATOR_GENERAL_ERROR',\n cause: error,\n });\n }\n return error;\n}\n","/**\n * A simple test to determine if a hostname is a properly-formatted domain name\n *\n * A \"valid domain\" is defined here: https://url.spec.whatwg.org/#valid-domain\n *\n * Regex was originally sourced from here, then remixed to add punycode support:\n * https://www.oreilly.com/library/view/regular-expressions-cookbook/9781449327453/ch08s15.html\n */\nexport function isValidDomain(hostname) {\n return (\n // Consider localhost valid as well since it's okay wrt Secure Contexts\n hostname === 'localhost' ||\n // Support punycode (ACE) or ascii labels and domains\n /^((xn--[a-z0-9-]+|[a-z0-9]+(-[a-z0-9]+)*)\\.)+([a-z]{2,}|xn--[a-z0-9-]+)$/i.test(hostname));\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!./PasswordLessLoginForm.vue?vue&type=style&index=0&id=25758ef3&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!./PasswordLessLoginForm.vue?vue&type=style&index=0&id=25758ef3&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./PasswordLessLoginForm.vue?vue&type=template&id=25758ef3&scoped=true\"\nimport script from \"./PasswordLessLoginForm.vue?vue&type=script&lang=js\"\nexport * from \"./PasswordLessLoginForm.vue?vue&type=script&lang=js\"\nimport style0 from \"./PasswordLessLoginForm.vue?vue&type=style&index=0&id=25758ef3&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 \"25758ef3\",\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.isHttps || _vm.isLocalhost) && _vm.supportsWebauthn)?_c('form',{ref:\"loginForm\",staticClass:\"password-less-login-form\",attrs:{\"aria-labelledby\":\"password-less-login-form-title\",\"method\":\"post\",\"name\":\"login\"},on:{\"submit\":function($event){$event.preventDefault();return _vm.submit.apply(null, arguments)}}},[_c('h2',{attrs:{\"id\":\"password-less-login-form-title\"}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('core', 'Log in with a device'))+\"\\n\\t\")]),_vm._v(\" \"),_c('NcTextField',{attrs:{\"required\":\"\",\"model-value\":_vm.user,\"autocomplete\":_vm.autoCompleteAllowed ? 'on' : 'off',\"error\":!_vm.validCredentials,\"label\":_vm.t('core', 'Login or email'),\"placeholder\":_vm.t('core', 'Login or email'),\"helper-text\":!_vm.validCredentials ? _vm.t('core', 'Your account is not setup for passwordless login.') : ''},on:{\"update:value\":_vm.changeUsername}}),_vm._v(\" \"),(_vm.validCredentials)?_c('LoginButton',{attrs:{\"loading\":_vm.loading},on:{\"click\":_vm.authenticate}}):_vm._e()],1):(!_vm.isHttps && !_vm.isLocalhost)?_c('NcEmptyContent',{attrs:{\"name\":_vm.t('core', 'Your connection is not secure'),\"description\":_vm.t('core', 'Passwordless authentication is only available over a secure connection.')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('LockOpenIcon')]},proxy:true}])}):_c('NcEmptyContent',{attrs:{\"name\":_vm.t('core', 'Browser not supported'),\"description\":_vm.t('core', 'Passwordless authentication is not supported in your browser.')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('InformationIcon')]},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-6.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ResetPassword.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-6.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ResetPassword.vue?vue&type=script&lang=ts\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('form',{staticClass:\"reset-password-form\",on:{\"submit\":function($event){$event.preventDefault();return _vm.submit.apply(null, arguments)}}},[_c('h2',[_vm._v(_vm._s(_vm.t('core', 'Reset password')))]),_vm._v(\" \"),_c('NcTextField',{attrs:{\"id\":\"user\",\"name\":\"user\",\"maxlength\":255,\"autocapitalize\":\"off\",\"label\":_vm.t('core', 'Login or email'),\"error\":_vm.userNameInputLengthIs255,\"helper-text\":_vm.userInputHelperText,\"required\":\"\"},on:{\"change\":_vm.updateUsername},model:{value:(_vm.user),callback:function ($$v) {_vm.user=$$v},expression:\"user\"}}),_vm._v(\" \"),_c('LoginButton',{attrs:{\"loading\":_vm.loading,\"value\":_vm.t('core', 'Reset password')}}),_vm._v(\" \"),_c('NcButton',{attrs:{\"variant\":\"tertiary\",\"wide\":\"\"},on:{\"click\":function($event){return _vm.$emit('abort')}}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('core', 'Back to login'))+\"\\n\\t\")]),_vm._v(\" \"),(_vm.message === 'send-success')?_c('NcNoteCard',{attrs:{\"type\":\"success\"}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('core', 'If this account exists, a password reset message has been sent to its email address. If you do not receive it, verify your email address and/or Login, check your spam/junk folders or ask your local administration for help.'))+\"\\n\\t\")]):(_vm.message === 'send-error')?_c('NcNoteCard',{attrs:{\"type\":\"error\"}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('core', 'Couldn\\'t send reset email. Please contact your administrator.'))+\"\\n\\t\")]):(_vm.message === 'reset-error')?_c('NcNoteCard',{attrs:{\"type\":\"error\"}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('core', 'Password cannot be changed. Please contact your administrator.'))+\"\\n\\t\")]):_vm._e()],1)\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!./ResetPassword.vue?vue&type=style&index=0&id=759a0fdd&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!./ResetPassword.vue?vue&type=style&index=0&id=759a0fdd&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./ResetPassword.vue?vue&type=template&id=759a0fdd&scoped=true\"\nimport script from \"./ResetPassword.vue?vue&type=script&lang=ts\"\nexport * from \"./ResetPassword.vue?vue&type=script&lang=ts\"\nimport style0 from \"./ResetPassword.vue?vue&type=style&index=0&id=759a0fdd&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 \"759a0fdd\",\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!./UpdatePassword.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!./UpdatePassword.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/vue-loader/lib/index.js??vue-loader-options!./UpdatePassword.vue?vue&type=style&index=0&id=2c0ecaf9&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!./UpdatePassword.vue?vue&type=style&index=0&id=2c0ecaf9&prod&scoped=true&lang=css\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./UpdatePassword.vue?vue&type=template&id=2c0ecaf9&scoped=true\"\nimport script from \"./UpdatePassword.vue?vue&type=script&lang=js\"\nexport * from \"./UpdatePassword.vue?vue&type=script&lang=js\"\nimport style0 from \"./UpdatePassword.vue?vue&type=style&index=0&id=2c0ecaf9&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 \"2c0ecaf9\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.submit.apply(null, arguments)}}},[_c('fieldset',[_c('p',[_c('label',{staticClass:\"infield\",attrs:{\"for\":\"password\"}},[_vm._v(_vm._s(_vm.t('core', 'New password')))]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.password),expression:\"password\"}],attrs:{\"id\":\"password\",\"type\":\"password\",\"name\":\"password\",\"autocomplete\":\"new-password\",\"autocapitalize\":\"none\",\"spellcheck\":\"false\",\"required\":\"\",\"placeholder\":_vm.t('core', 'New password')},domProps:{\"value\":(_vm.password)},on:{\"input\":function($event){if($event.target.composing)return;_vm.password=$event.target.value}}})]),_vm._v(\" \"),(_vm.encrypted)?_c('div',{staticClass:\"update\"},[_c('p',[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('core', 'Your files are encrypted. There will be no way to get your data back after your password is reset. If you are not sure what to do, please contact your administrator before you continue. Do you really want to continue?'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.proceed),expression:\"proceed\"}],staticClass:\"checkbox\",attrs:{\"id\":\"encrypted-continue\",\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.proceed)?_vm._i(_vm.proceed,null)>-1:(_vm.proceed)},on:{\"change\":function($event){var $$a=_vm.proceed,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.proceed=$$a.concat([$$v]))}else{$$i>-1&&(_vm.proceed=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.proceed=$$c}}}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":\"encrypted-continue\"}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('core', 'I know what I\\'m doing'))+\"\\n\\t\\t\\t\")])]):_vm._e(),_vm._v(\" \"),_c('LoginButton',{attrs:{\"loading\":_vm.loading,\"value\":_vm.t('core', 'Reset password'),\"value-loading\":_vm.t('core', 'Resetting password')}}),_vm._v(\" \"),(_vm.error && _vm.message)?_c('p',{class:{ warning: _vm.error }},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.message)+\"\\n\\t\\t\")]):_vm._e()],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { getCurrentUser } from '@nextcloud/auth'\nimport { generateUrl, getRootUrl } from '@nextcloud/router'\nimport logger from '../logger.js'\n\n/**\n *\n * @param {string} url the URL to check\n * @return {boolean}\n */\nfunction isRelativeUrl(url) {\n\treturn !url.startsWith('https://') && !url.startsWith('http://')\n}\n\n/**\n * @param {string} url The URL to check\n * @return {boolean} true if the URL points to this nextcloud instance\n */\nfunction isNextcloudUrl(url) {\n\tconst nextcloudBaseUrl = window.location.protocol + '//' + window.location.host + getRootUrl()\n\t// if the URL is absolute and starts with the baseUrl+rootUrl\n\t// OR if the URL is relative and starts with rootUrl\n\treturn url.startsWith(nextcloudBaseUrl)\n\t\t|| (isRelativeUrl(url) && url.startsWith(getRootUrl()))\n}\n\n/**\n * Check if a user was logged in but is now logged-out.\n * If this is the case then the user will be forwarded to the login page.\n *\n * @return {Promise}\n */\nasync function checkLoginStatus() {\n\t// skip if no logged in user\n\tif (getCurrentUser() === null) {\n\t\treturn\n\t}\n\n\t// skip if already running\n\tif (checkLoginStatus.running === true) {\n\t\treturn\n\t}\n\n\t// only run one request in parallel\n\tcheckLoginStatus.running = true\n\n\ttry {\n\t\t// We need to check this as a 401 in the first place could also come from other reasons\n\t\tconst { status } = await window.fetch(generateUrl('/apps/files'))\n\t\tif (status === 401) {\n\t\t\tlogger.warn('User session was terminated, forwarding to login page.')\n\t\t\tawait wipeBrowserStorages()\n\t\t\twindow.location = generateUrl('/login?redirect_url={url}', {\n\t\t\t\turl: window.location.pathname + window.location.search + window.location.hash,\n\t\t\t})\n\t\t}\n\t} catch (error) {\n\t\tlogger.warn('Could not check login-state', { error })\n\t} finally {\n\t\tdelete checkLoginStatus.running\n\t}\n}\n\n/**\n * Clear all Browser storages connected to current origin.\n *\n * @return {Promise}\n */\nexport async function wipeBrowserStorages() {\n\ttry {\n\t\twindow.localStorage.clear()\n\t\twindow.sessionStorage.clear()\n\t\tconst indexedDBList = await window.indexedDB.databases()\n\t\tfor (const indexedDB of indexedDBList) {\n\t\t\tawait window.indexedDB.deleteDatabase(indexedDB.name)\n\t\t}\n\t\tlogger.debug('Browser storages cleared')\n\t} catch (error) {\n\t\tlogger.error('Could not clear browser storages', { error })\n\t}\n}\n\n/**\n * Intercept XMLHttpRequest and fetch API calls to add X-Requested-With header\n *\n * This is also done in @nextcloud/axios but not all requests pass through that\n */\nexport function interceptRequests() {\n\tXMLHttpRequest.prototype.open = (function(open) {\n\t\treturn function(method, url) {\n\t\t\topen.apply(this, arguments)\n\t\t\tif (isNextcloudUrl(url)) {\n\t\t\t\tif (!this.getResponseHeader('X-Requested-With')) {\n\t\t\t\t\tthis.setRequestHeader('X-Requested-With', 'XMLHttpRequest')\n\t\t\t\t}\n\t\t\t\tthis.addEventListener('loadend', function() {\n\t\t\t\t\tif (this.status === 401) {\n\t\t\t\t\t\tcheckLoginStatus()\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t})(XMLHttpRequest.prototype.open)\n\n\twindow.fetch = (function(fetch) {\n\t\treturn async (resource, options) => {\n\t\t\t// fetch allows the `input` to be either a Request object or any stringifyable value\n\t\t\tif (!isNextcloudUrl(resource.url ?? resource.toString())) {\n\t\t\t\treturn await fetch(resource, options)\n\t\t\t}\n\t\t\tif (!options) {\n\t\t\t\toptions = {}\n\t\t\t}\n\t\t\tif (!options.headers) {\n\t\t\t\toptions.headers = new Headers()\n\t\t\t}\n\n\t\t\tif (options.headers instanceof Headers && !options.headers.has('X-Requested-With')) {\n\t\t\t\toptions.headers.append('X-Requested-With', 'XMLHttpRequest')\n\t\t\t} else if (options.headers instanceof Object && !options.headers['X-Requested-With']) {\n\t\t\t\toptions.headers['X-Requested-With'] = 'XMLHttpRequest'\n\t\t\t}\n\n\t\t\tconst response = await fetch(resource, options)\n\t\t\tif (response.status === 401) {\n\t\t\t\tcheckLoginStatus()\n\t\t\t}\n\t\t\treturn response\n\t\t}\n\t})(window.fetch)\n}\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Login.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!./Login.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!./Login.vue?vue&type=style&index=0&id=518c0816&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!./Login.vue?vue&type=style&index=0&id=518c0816&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./Login.vue?vue&type=template&id=518c0816&scoped=true\"\nimport script from \"./Login.vue?vue&type=script&lang=js\"\nexport * from \"./Login.vue?vue&type=script&lang=js\"\nimport style0 from \"./Login.vue?vue&type=style&index=0&id=518c0816&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 \"518c0816\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"guest-box login-box\"},[(!_vm.hideLoginForm || _vm.directLogin)?[_c('transition',{attrs:{\"name\":\"fade\",\"mode\":\"out-in\"}},[(!_vm.passwordlessLogin && !_vm.resetPassword && _vm.resetPasswordTarget === '')?_c('div',{staticClass:\"login-box__wrapper\"},[_c('LoginForm',{attrs:{\"username\":_vm.user,\"redirect-url\":_vm.redirectUrl,\"direct-login\":_vm.directLogin,\"messages\":_vm.messages,\"errors\":_vm.errors,\"throttle-delay\":_vm.throttleDelay,\"auto-complete-allowed\":_vm.autoCompleteAllowed,\"rememberme-allowed\":_vm.remembermeAllowed,\"email-states\":_vm.emailStates},on:{\"update:username\":function($event){_vm.user=$event},\"submit\":function($event){_vm.loading = true}}}),_vm._v(\" \"),(_vm.hasPasswordless)?_c('NcButton',{attrs:{\"variant\":\"tertiary\",\"wide\":\"\"},on:{\"click\":function($event){$event.preventDefault();_vm.passwordlessLogin = true}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('core', 'Log in with a device'))+\"\\n\\t\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.canResetPassword && _vm.resetPasswordLink !== '')?_c('NcButton',{attrs:{\"id\":\"lost-password\",\"href\":_vm.resetPasswordLink,\"variant\":\"tertiary-no-background\",\"wide\":\"\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('core', 'Forgot password?'))+\"\\n\\t\\t\\t\\t\")]):(_vm.canResetPassword && !_vm.resetPassword)?_c('NcButton',{attrs:{\"id\":\"lost-password\",\"variant\":\"tertiary\",\"wide\":\"\"},on:{\"click\":function($event){$event.preventDefault();_vm.resetPassword = true}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('core', 'Forgot password?'))+\"\\n\\t\\t\\t\\t\")]):_vm._e()],1):(!_vm.loading && _vm.passwordlessLogin)?_c('div',{key:\"reset-pw-less\",staticClass:\"login-additional login-box__wrapper\"},[_c('PasswordLessLoginForm',{attrs:{\"username\":_vm.user,\"redirect-url\":_vm.redirectUrl,\"auto-complete-allowed\":_vm.autoCompleteAllowed,\"is-https\":_vm.isHttps,\"is-localhost\":_vm.isLocalhost},on:{\"update:username\":function($event){_vm.user=$event},\"submit\":function($event){_vm.loading = true}}}),_vm._v(\" \"),_c('NcButton',{attrs:{\"variant\":\"tertiary\",\"aria-label\":_vm.t('core', 'Back to login form'),\"wide\":true},on:{\"click\":function($event){_vm.passwordlessLogin = false}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('core', 'Back'))+\"\\n\\t\\t\\t\\t\")])],1):(!_vm.loading && _vm.canResetPassword)?_c('div',{key:\"reset-can-reset\",staticClass:\"login-additional\"},[_c('div',{staticClass:\"lost-password-container\"},[(_vm.resetPassword)?_c('ResetPassword',{attrs:{\"username\":_vm.user,\"reset-password-link\":_vm.resetPasswordLink},on:{\"update:username\":function($event){_vm.user=$event},\"abort\":function($event){_vm.resetPassword = false}}}):_vm._e()],1)]):(_vm.resetPasswordTarget !== '')?_c('div',[_c('UpdatePassword',{attrs:{\"username\":_vm.user,\"reset-password-target\":_vm.resetPasswordTarget},on:{\"update:username\":function($event){_vm.user=$event},\"done\":_vm.passwordResetFinished}})],1):_vm._e()])]:[_c('transition',{attrs:{\"name\":\"fade\",\"mode\":\"out-in\"}},[_c('NcNoteCard',{attrs:{\"type\":\"info\",\"title\":_vm.t('core', 'Login form is disabled.')}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('core', 'The Nextcloud login form is disabled. Use another login option if available or contact your administration.'))+\"\\n\\t\\t\\t\")])],1)],_vm._v(\" \"),_c('div',{staticClass:\"login-box__alternative-logins\",attrs:{\"id\":\"alternative-logins\"}},_vm._l((_vm.alternativeLogins),function(alternativeLogin,index){return _c('NcButton',{key:index,class:[alternativeLogin.class],attrs:{\"variant\":\"secondary\",\"wide\":true,\"role\":\"link\",\"href\":alternativeLogin.href}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(alternativeLogin.name)+\"\\n\\t\\t\")])}),1)],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nconst isAdmin = !!window._oc_isadmin\n\n/**\n * Returns whether the current user is an administrator\n *\n * @return {boolean} true if the user is an admin, false otherwise\n * @since 9.0.0\n */\nexport const isUserAdmin = () => isAdmin\n","/*!\n * SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors\n * SPDX-FileCopyrightText: 2014 ownCloud, Inc.\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\n/**\n * @deprecated 16.0.0 Use OCP.AppConfig instead\n */\nexport const appConfig = window.oc_appconfig || {}\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nconst appswebroots = (window._oc_appswebroots !== undefined) ? window._oc_appswebroots : false\n\nexport default appswebroots\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nconst config = window._oc_config || {}\n\nexport default config\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nconst rawUid = document\n\t.getElementsByTagName('head')[0]\n\t.getAttribute('data-user')\nconst displayName = document\n\t.getElementsByTagName('head')[0]\n\t.getAttribute('data-user-displayname')\n\nexport const currentUser = rawUid !== undefined ? rawUid : false\n\n/**\n *\n */\nexport function getCurrentUser() {\n\treturn {\n\t\tuid: currentUser,\n\t\tdisplayName,\n\t}\n}\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nconst base = window._oc_debug\n\nexport const debug = base\n","/**\n * SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors\n * SPDX-FileCopyrightText: 2015 ownCloud, Inc.\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport IconMove from '@mdi/svg/svg/folder-move.svg?raw'\nimport IconCopy from '@mdi/svg/svg/folder-multiple-outline.svg?raw'\nimport { DialogBuilder, FilePickerType, getFilePickerBuilder } from '@nextcloud/dialogs'\nimport { t } from '@nextcloud/l10n'\nimport { spawnDialog } from '@nextcloud/vue/functions/dialog'\nimport { basename } from 'path'\nimport { defineAsyncComponent } from 'vue'\nimport logger from '../logger.js'\n\n/**\n * this class to ease the usage of dialogs\n */\nconst Dialogs = {\n\t// dialog button types\n\t/** @deprecated use `@nextcloud/dialogs` */\n\tYES_NO_BUTTONS: 70,\n\t/** @deprecated use `@nextcloud/dialogs` */\n\tOK_BUTTONS: 71,\n\n\t/** @deprecated use FilePickerType from `@nextcloud/dialogs` */\n\tFILEPICKER_TYPE_CHOOSE: 1,\n\t/** @deprecated use FilePickerType from `@nextcloud/dialogs` */\n\tFILEPICKER_TYPE_MOVE: 2,\n\t/** @deprecated use FilePickerType from `@nextcloud/dialogs` */\n\tFILEPICKER_TYPE_COPY: 3,\n\t/** @deprecated use FilePickerType from `@nextcloud/dialogs` */\n\tFILEPICKER_TYPE_COPY_MOVE: 4,\n\t/** @deprecated use FilePickerType from `@nextcloud/dialogs` */\n\tFILEPICKER_TYPE_CUSTOM: 5,\n\n\t/**\n\t * displays alert dialog\n\t *\n\t * @param {string} text content of dialog\n\t * @param {string} title dialog title\n\t * @param {Function} callback which will be triggered when user presses OK\n\t * @param {boolean} [modal] make the dialog modal\n\t *\n\t * @deprecated 30.0.0 Use `@nextcloud/dialogs` instead or build your own with `@nextcloud/vue` NcDialog\n\t */\n\talert: function(text, title, callback, modal) {\n\t\tthis.message(\n\t\t\ttext,\n\t\t\ttitle,\n\t\t\t'alert',\n\t\t\tDialogs.OK_BUTTON,\n\t\t\tcallback,\n\t\t\tmodal,\n\t\t)\n\t},\n\n\t/**\n\t * displays info dialog\n\t *\n\t * @param {string} text content of dialog\n\t * @param {string} title dialog title\n\t * @param {Function} callback which will be triggered when user presses OK\n\t * @param {boolean} [modal] make the dialog modal\n\t *\n\t * @deprecated 30.0.0 Use `@nextcloud/dialogs` instead or build your own with `@nextcloud/vue` NcDialog\n\t */\n\tinfo: function(text, title, callback, modal) {\n\t\tthis.message(text, title, 'info', Dialogs.OK_BUTTON, callback, modal)\n\t},\n\n\t/**\n\t * displays confirmation dialog\n\t *\n\t * @param {string} text content of dialog\n\t * @param {string} title dialog title\n\t * @param {Function} callback which will be triggered when user presses OK (true or false would be passed to callback respectively)\n\t * @param {boolean} [modal] make the dialog modal\n\t * @return {Promise}\n\t *\n\t * @deprecated 30.0.0 Use `@nextcloud/dialogs` instead or build your own with `@nextcloud/vue` NcDialog\n\t */\n\tconfirm: function(text, title, callback, modal) {\n\t\treturn this.message(\n\t\t\ttext,\n\t\t\ttitle,\n\t\t\t'notice',\n\t\t\tDialogs.YES_NO_BUTTONS,\n\t\t\tcallback,\n\t\t\tmodal,\n\t\t)\n\t},\n\t/**\n\t * displays confirmation dialog\n\t *\n\t * @param {string} text content of dialog\n\t * @param {string} title dialog title\n\t * @param {(number|{type: number, confirm: string, cancel: string, confirmClasses: string})} buttons text content of buttons\n\t * @param {Function} callback which will be triggered when user presses OK (true or false would be passed to callback respectively)\n\t * @return {Promise}\n\t *\n\t * @deprecated 30.0.0 Use `@nextcloud/dialogs` instead or build your own with `@nextcloud/vue` NcDialog\n\t */\n\tconfirmDestructive: function(text, title, buttons = Dialogs.OK_BUTTONS, callback = () => {}) {\n\t\treturn (new DialogBuilder())\n\t\t\t.setName(title)\n\t\t\t.setText(text)\n\t\t\t.setButtons(buttons === Dialogs.OK_BUTTONS\n\t\t\t\t? [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: t('core', 'Yes'),\n\t\t\t\t\t\t\tvariant: 'error',\n\t\t\t\t\t\t\tcallback: () => {\n\t\t\t\t\t\t\t\tcallback.clicked = true\n\t\t\t\t\t\t\t\tcallback(true)\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t]\n\t\t\t\t: Dialogs._getLegacyButtons(buttons, callback))\n\t\t\t.build()\n\t\t\t.show()\n\t\t\t.then(() => {\n\t\t\t\tif (!callback.clicked) {\n\t\t\t\t\tcallback(false)\n\t\t\t\t}\n\t\t\t})\n\t},\n\t/**\n\t * displays confirmation dialog\n\t *\n\t * @param {string} text content of dialog\n\t * @param {string} title dialog title\n\t * @param {Function} callback which will be triggered when user presses OK (true or false would be passed to callback respectively)\n\t * @return {Promise}\n\t *\n\t * @deprecated 30.0.0 Use `@nextcloud/dialogs` instead or build your own with `@nextcloud/vue` NcDialog\n\t */\n\tconfirmHtml: function(text, title, callback) {\n\t\treturn (new DialogBuilder())\n\t\t\t.setName(title)\n\t\t\t.setText('')\n\t\t\t.setButtons([\n\t\t\t\t{\n\t\t\t\t\tlabel: t('core', 'No'),\n\t\t\t\t\tcallback: () => {},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: t('core', 'Yes'),\n\t\t\t\t\tvariant: 'primary',\n\t\t\t\t\tcallback: () => {\n\t\t\t\t\t\tcallback.clicked = true\n\t\t\t\t\t\tcallback(true)\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t])\n\t\t\t.build()\n\t\t\t.setHTML(text)\n\t\t\t.show()\n\t\t\t.then(() => {\n\t\t\t\tif (!callback.clicked) {\n\t\t\t\t\tcallback(false)\n\t\t\t\t}\n\t\t\t})\n\t},\n\t/**\n\t * displays prompt dialog\n\t *\n\t * @param {string} text content of dialog\n\t * @param {string} title dialog title\n\t * @param {Function} callback which will be triggered when user presses OK (true or false would be passed to callback respectively)\n\t * @param {boolean} [modal] make the dialog modal\n\t * @param {string} name name of the input field\n\t * @param {boolean} password whether the input should be a password input\n\t * @return {Promise}\n\t *\n\t * @deprecated Use NcDialog from `@nextcloud/vue` instead\n\t */\n\tprompt: function(text, title, callback, modal, name, password) {\n\t\treturn new Promise((resolve) => {\n\t\t\tspawnDialog(\n\t\t\t\tdefineAsyncComponent(() => import('../components/LegacyDialogPrompt.vue')),\n\t\t\t\t{\n\t\t\t\t\ttext,\n\t\t\t\t\tname: title,\n\t\t\t\t\tcallback,\n\t\t\t\t\tinputName: name,\n\t\t\t\t\tisPassword: !!password,\n\t\t\t\t},\n\t\t\t\t(...args) => {\n\t\t\t\t\tcallback(...args)\n\t\t\t\t\tresolve()\n\t\t\t\t},\n\t\t\t)\n\t\t})\n\t},\n\n\t/**\n\t * Legacy wrapper to the new Vue based filepicker from `@nextcloud/dialogs`\n\t *\n\t * Prefer to use the Vue filepicker directly instead.\n\t *\n\t * In order to pick several types of mime types they need to be passed as an\n\t * array of strings.\n\t *\n\t * When no mime type filter is given only files can be selected. In order to\n\t * be able to select both files and folders \"['*', 'httpd/unix-directory']\"\n\t * should be used instead.\n\t *\n\t * @param {string} title dialog title\n\t * @param {Function} callback which will be triggered when user presses Choose\n\t * @param {boolean} [multiselect] whether it should be possible to select multiple files\n\t * @param {string[]} [mimetype] mimetype to filter by - directories will always be included\n\t * @param {boolean} [_modal] do not use\n\t * @param {string} [type] Type of file picker : Choose, copy, move, copy and move\n\t * @param {string} [path] path to the folder that the the file can be picket from\n\t * @param {object} [options] additonal options that need to be set\n\t * @param {Function} [options.filter] filter function for advanced filtering\n\t * @param {boolean} [options.allowDirectoryChooser] Allow to select directories\n\t * @deprecated since 27.1.0 use the filepicker from `@nextcloud/dialogs` instead\n\t */\n\t// eslint-disable-next-line no-unused-vars\n\tfilepicker(title, callback, multiselect = false, mimetype = undefined, _modal = undefined, type = FilePickerType.Choose, path = undefined, options = undefined) {\n\t\t/**\n\t\t * Create legacy callback wrapper to support old filepicker syntax\n\t\t *\n\t\t * @param fn The original callback\n\t\t * @param type The file picker type which was used to pick the file(s)\n\t\t */\n\t\tconst legacyCallback = (fn, type) => {\n\t\t\tconst getPath = (node) => {\n\t\t\t\tconst root = node?.root || ''\n\t\t\t\tlet path = node?.path || ''\n\t\t\t\t// TODO: Fix this in @nextcloud/files\n\t\t\t\tif (path.startsWith(root)) {\n\t\t\t\t\tpath = path.slice(root.length) || '/'\n\t\t\t\t}\n\t\t\t\treturn path\n\t\t\t}\n\n\t\t\tif (multiselect) {\n\t\t\t\treturn (nodes) => fn(nodes.map(getPath), type)\n\t\t\t} else {\n\t\t\t\treturn (nodes) => fn(getPath(nodes[0]), type)\n\t\t\t}\n\t\t}\n\n\t\t/**\n\t\t * Coverting a Node into a legacy file info to support the OC.dialogs.filepicker filter function\n\t\t *\n\t\t * @param node The node to convert\n\t\t */\n\t\tconst nodeToLegacyFile = (node) => ({\n\t\t\tid: node.fileid || null,\n\t\t\tpath: node.path,\n\t\t\tmimetype: node.mime || null,\n\t\t\tmtime: node.mtime?.getTime() || null,\n\t\t\tpermissions: node.permissions,\n\t\t\tname: node.attributes?.displayName || node.basename,\n\t\t\tetag: node.attributes?.etag || null,\n\t\t\thasPreview: node.attributes?.hasPreview || null,\n\t\t\tmountType: node.attributes?.mountType || null,\n\t\t\tquotaAvailableBytes: node.attributes?.quotaAvailableBytes || null,\n\t\t\ticon: null,\n\t\t\tsharePermissions: null,\n\t\t})\n\n\t\tconst builder = getFilePickerBuilder(title)\n\n\t\t// Setup buttons\n\t\tif (type === this.FILEPICKER_TYPE_CUSTOM) {\n\t\t\t(options.buttons || []).forEach((button) => {\n\t\t\t\tbuilder.addButton({\n\t\t\t\t\tcallback: legacyCallback(callback, button.type),\n\t\t\t\t\tlabel: button.text,\n\t\t\t\t\tvariant: button.defaultButton ? 'primary' : 'secondary',\n\t\t\t\t})\n\t\t\t})\n\t\t} else {\n\t\t\tbuilder.setButtonFactory((nodes, path) => {\n\t\t\t\tconst buttons = []\n\t\t\t\tconst [node] = nodes\n\t\t\t\tconst target = node?.displayname || node?.basename || basename(path)\n\n\t\t\t\tif (type === FilePickerType.Choose) {\n\t\t\t\t\tbuttons.push({\n\t\t\t\t\t\tcallback: legacyCallback(callback, FilePickerType.Choose),\n\t\t\t\t\t\tlabel: node && !this.multiSelect ? t('core', 'Choose {file}', { file: target }) : t('core', 'Choose'),\n\t\t\t\t\t\tvariant: 'primary',\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\tif (type === FilePickerType.CopyMove || type === FilePickerType.Copy) {\n\t\t\t\t\tbuttons.push({\n\t\t\t\t\t\tcallback: legacyCallback(callback, FilePickerType.Copy),\n\t\t\t\t\t\tlabel: target ? t('core', 'Copy to {target}', { target }) : t('core', 'Copy'),\n\t\t\t\t\t\tvariant: 'primary',\n\t\t\t\t\t\ticon: IconCopy,\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\tif (type === FilePickerType.Move || type === FilePickerType.CopyMove) {\n\t\t\t\t\tbuttons.push({\n\t\t\t\t\t\tcallback: legacyCallback(callback, FilePickerType.Move),\n\t\t\t\t\t\tlabel: target ? t('core', 'Move to {target}', { target }) : t('core', 'Move'),\n\t\t\t\t\t\tvariant: type === FilePickerType.Move ? 'primary' : 'secondary',\n\t\t\t\t\t\ticon: IconMove,\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\treturn buttons\n\t\t\t})\n\t\t}\n\n\t\tif (mimetype) {\n\t\t\tbuilder.setMimeTypeFilter(typeof mimetype === 'string' ? [mimetype] : (mimetype || []))\n\t\t}\n\t\tif (typeof options?.filter === 'function') {\n\t\t\tbuilder.setFilter((node) => options.filter(nodeToLegacyFile(node)))\n\t\t}\n\t\tbuilder.allowDirectories(options?.allowDirectoryChooser === true || mimetype?.includes('httpd/unix-directory') || false)\n\t\t\t.setMultiSelect(multiselect)\n\t\t\t.startAt(path)\n\t\t\t.build()\n\t\t\t.pick()\n\t},\n\n\t/**\n\t * Displays raw dialog\n\t * You better use a wrapper instead ...\n\t *\n\t * @param content\n\t * @param title\n\t * @param dialogType\n\t * @param buttons\n\t * @param callback\n\t * @param modal\n\t * @param allowHtml\n\t * @deprecated 30.0.0 Use `@nextcloud/dialogs` instead or build your own with `@nextcloud/vue` NcDialog\n\t */\n\tmessage: function(content, title, dialogType, buttons, callback = () => {}, modal, allowHtml) {\n\t\tconst builder = (new DialogBuilder())\n\t\t\t.setName(title)\n\t\t\t.setText(allowHtml ? '' : content)\n\t\t\t.setButtons(Dialogs._getLegacyButtons(buttons, callback))\n\n\t\tswitch (dialogType) {\n\t\t\tcase 'alert':\n\t\t\t\tbuilder.setSeverity('warning')\n\t\t\t\tbreak\n\t\t\tcase 'notice':\n\t\t\t\tbuilder.setSeverity('info')\n\t\t\t\tbreak\n\t\t\tdefault:\n\t\t\t\tbreak\n\t\t}\n\n\t\tconst dialog = builder.build()\n\n\t\tif (allowHtml) {\n\t\t\tdialog.setHTML(content)\n\t\t}\n\n\t\treturn dialog.show().then(() => {\n\t\t\tif (!callback._clicked) {\n\t\t\t\tcallback(false)\n\t\t\t}\n\t\t})\n\t},\n\n\t/**\n\t * Helper for legacy API\n\t *\n\t * @param buttons\n\t * @param callback\n\t * @deprecated\n\t */\n\t_getLegacyButtons(buttons, callback) {\n\t\tconst buttonList = []\n\n\t\tswitch (typeof buttons === 'object' ? buttons.type : buttons) {\n\t\t\tcase Dialogs.YES_NO_BUTTONS:\n\t\t\t\tbuttonList.push({\n\t\t\t\t\tlabel: buttons?.cancel ?? t('core', 'No'),\n\t\t\t\t\tcallback: () => {\n\t\t\t\t\t\tcallback._clicked = true\n\t\t\t\t\t\tcallback(false)\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\tbuttonList.push({\n\t\t\t\t\tlabel: buttons?.confirm ?? t('core', 'Yes'),\n\t\t\t\t\tvariant: 'primary',\n\t\t\t\t\tcallback: () => {\n\t\t\t\t\t\tcallback._clicked = true\n\t\t\t\t\t\tcallback(true)\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\tbreak\n\t\t\tcase Dialogs.OK_BUTTONS:\n\t\t\t\tbuttonList.push({\n\t\t\t\t\tlabel: buttons?.confirm ?? t('core', 'OK'),\n\t\t\t\t\tvariant: 'primary',\n\t\t\t\t\tcallback: () => {\n\t\t\t\t\t\tcallback._clicked = true\n\t\t\t\t\t\tcallback(true)\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('Invalid call to OC.dialogs')\n\t\t\t\tbreak\n\t\t}\n\t\treturn buttonList\n\t},\n}\n\nexport default Dialogs\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { emit } from '@nextcloud/event-bus';\nimport { generateUrl } from '@nextcloud/router';\n/**\n * Get the current CSRF token.\n */\nexport function getRequestToken() {\n return document.head.dataset.requesttoken;\n}\n/**\n * Set a new CSRF token (e.g. because of session refresh).\n * This also emits an event bus event for the updated token.\n *\n * @param token - The new token\n * @fires Error - If the passed token is not a potential valid token\n */\nexport function setRequestToken(token) {\n if (!token || typeof token !== 'string') {\n throw new Error('Invalid CSRF token given', { cause: { token } });\n }\n document.head.dataset.requesttoken = token;\n emit('csrf-token-update', { token });\n}\n/**\n * Fetch the request token from the API.\n * This does also set it on the current context, see `setRequestToken`.\n *\n * @fires Error - If the request failed\n */\nexport async function fetchRequestToken() {\n const url = generateUrl('/csrftoken');\n const response = await fetch(url);\n if (!response.ok) {\n throw new Error('Could not fetch CSRF token from API', { cause: response });\n }\n const { token } = await response.json();\n setRequestToken(token);\n return token;\n}\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-FileCopyrightText: 2015 ownCloud, Inc.\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { getRequestToken } from './requesttoken.ts'\n\n/**\n * Create a new event source\n *\n * @param {string} src\n * @param {object} [data] to be send as GET\n *\n * @constructs OCEventSource\n */\nfunction OCEventSource(src, data) {\n\tlet dataStr = ''\n\tlet name\n\tlet joinChar\n\tthis.typelessListeners = []\n\tthis.closed = false\n\tif (data) {\n\t\tfor (name in data) {\n\t\t\tdataStr += name + '=' + encodeURIComponent(data[name]) + '&'\n\t\t}\n\t}\n\tdataStr += 'requesttoken=' + encodeURIComponent(getRequestToken())\n\tjoinChar = '&'\n\tif (src.indexOf('?') === -1) {\n\t\tjoinChar = '?'\n\t}\n\tthis.source = new EventSource(src + joinChar + dataStr)\n\tthis.source.onmessage = function(e) {\n\t\tfor (let i = 0; i < this.typelessListeners.length; i++) {\n\t\t\tthis.typelessListeners[i](JSON.parse(e.data))\n\t\t}\n\t}.bind(this)\n\t// add close listener\n\tthis.listen('__internal__', function(data) {\n\t\tif (data === 'close') {\n\t\t\tthis.close()\n\t\t}\n\t}.bind(this))\n}\nOCEventSource.prototype = {\n\ttypelessListeners: [],\n\t/**\n\t * Listen to a given type of events.\n\t *\n\t * @param {string} type event type\n\t * @param {Function} callback event callback\n\t */\n\tlisten: function(type, callback) {\n\t\tif (callback && callback.call) {\n\t\t\tif (type) {\n\t\t\t\tthis.source.addEventListener(type, function(e) {\n\t\t\t\t\tif (typeof e.data !== 'undefined') {\n\t\t\t\t\t\tcallback(JSON.parse(e.data))\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcallback('')\n\t\t\t\t\t}\n\t\t\t\t}, false)\n\t\t\t} else {\n\t\t\t\tthis.typelessListeners.push(callback)\n\t\t\t}\n\t\t}\n\t},\n\t/**\n\t * Closes this event source.\n\t */\n\tclose: function() {\n\t\tthis.closed = true\n\t\tthis.source.close()\n\t},\n}\n\nexport default OCEventSource\n","/**\n * SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors\n * SPDX-FileCopyrightText: 2014 ownCloud, Inc.\n * SPDX-FileCopyrightText: 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport {\n\tloadTranslations,\n\tregister,\n\ttranslate,\n\ttranslatePlural,\n\tunregister,\n} from '@nextcloud/l10n'\n\n/**\n * L10N namespace with localization functions.\n *\n * @namespace OC.L10n\n * @deprecated 26.0.0 use https://www.npmjs.com/package/@nextcloud/l10n\n */\nconst L10n = {\n\n\t/**\n\t * Load an app's translation bundle if not loaded already.\n\t *\n\t * @deprecated 26.0.0 use `loadTranslations` from https://www.npmjs.com/package/@nextcloud/l10n\n\t *\n\t * @param {string} appName name of the app\n\t * @param {Function} callback callback to be called when\n\t * the translations are loaded\n\t * @return {Promise} promise\n\t */\n\tload: loadTranslations,\n\n\t/**\n\t * Register an app's translation bundle.\n\t *\n\t * @deprecated 26.0.0 use `register` from https://www.npmjs.com/package/@nextcloud/l10\n\t *\n\t * @param {string} appName name of the app\n\t * @param {Record} bundle bundle\n\t */\n\tregister,\n\n\t/**\n\t * @private\n\t * @deprecated 26.0.0 use `unregister` from https://www.npmjs.com/package/@nextcloud/l10n\n\t */\n\t_unregister: unregister,\n\n\t/**\n\t * Translate a string\n\t *\n\t * @deprecated 26.0.0 use `translate` from https://www.npmjs.com/package/@nextcloud/l10n\n\t *\n\t * @param {string} app the id of the app for which to translate the string\n\t * @param {string} text the string to translate\n\t * @param {object} [vars] map of placeholder key to value\n\t * @param {number} [count] number to replace %n with\n\t * @param {Array} [options] options array\n\t * @param {boolean} [options.escape=true] enable/disable auto escape of placeholders (by default enabled)\n\t * @param {boolean} [options.sanitize=true] enable/disable sanitization (by default enabled)\n\t * @return {string}\n\t */\n\ttranslate,\n\n\t/**\n\t * Translate a plural string\n\t *\n\t * @deprecated 26.0.0 use `translatePlural` from https://www.npmjs.com/package/@nextcloud/l10n\n\t *\n\t * @param {string} app the id of the app for which to translate the string\n\t * @param {string} textSingular the string to translate for exactly one object\n\t * @param {string} textPlural the string to translate for n objects\n\t * @param {number} count number to determine whether to use singular or plural\n\t * @param {object} [vars] map of placeholder key to value\n\t * @param {Array} [options] options array\n\t * @param {boolean} [options.escape=true] enable/disable auto escape of placeholders (by default enabled)\n\t * @return {string} Translated string\n\t */\n\ttranslatePlural,\n}\n\nexport default L10n\n","/**\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { generateUrl, getRootUrl } from '@nextcloud/router'\n\nconst iconCache = new Map()\n\n/**\n * Return the url to icon of the given mimeType\n *\n * @param {string} mimeType The mimeType to get the icon for\n * @return {string} Url to the icon for mimeType\n */\nexport function getIconUrl(mimeType) {\n\tif (typeof mimeType === 'undefined') {\n\t\treturn undefined\n\t}\n\n\twhile (mimeType in window.OC.MimeTypeList.aliases) {\n\t\tmimeType = window.OC.MimeTypeList.aliases[mimeType]\n\t}\n\n\tif (!iconCache.has(mimeType)) {\n\t\tlet gotIcon = false\n\t\tlet path = ''\n\t\t// First try to get the correct icon from the current legacy-theme\n\t\tif (OC.theme.folder !== '' && Array.isArray(OC.MimeTypeList.themes[OC.theme.folder])) {\n\t\t\tpath = getRootUrl() + '/themes/' + window.OC.theme.folder + '/core/img/filetypes/'\n\t\t\tconst icon = getMimeTypeIcon(mimeType, window.OC.MimeTypeList.themes[OC.theme.folder])\n\t\t\tif (icon) {\n\t\t\t\tgotIcon = true\n\t\t\t\tpath += icon + '.svg'\n\t\t\t}\n\t\t}\n\n\t\t// theming is always enabled since Nextcloud 20 so we get it from that\n\t\tif (!gotIcon) {\n\t\t\tpath = generateUrl('/apps/theming/img/core/filetypes/' + getMimeTypeIcon(mimeType, window.OC.MimeTypeList.files) + '.svg')\n\t\t}\n\n\t\tpath += '?v=' + window.OCA.Theming.cacheBuster\n\t\t// Cache the result\n\t\ticonCache.set(mimeType, path)\n\t}\n\n\treturn iconCache.get(mimeType)\n}\n\n/**\n * Return the file icon we want to use for the given mimeType.\n * The file needs to be present in the supplied file list\n *\n * @param {string} mimeType The mimeType we want an icon for\n * @param {string[]} files The available icons in this theme\n * @return {string | null} The icon to use or null if there is no match\n */\nfunction getMimeTypeIcon(mimeType, files) {\n\tconst icon = mimeType.replace(new RegExp('/', 'g'), '-')\n\n\t// Generate path\n\tif (mimeType === 'dir' && files.includes('folder')) {\n\t\treturn 'folder'\n\t} else if (mimeType === 'dir-encrypted' && files.includes('folder-encrypted')) {\n\t\treturn 'folder-encrypted'\n\t} else if (mimeType === 'dir-shared' && files.includes('folder-shared')) {\n\t\treturn 'folder-shared'\n\t} else if (mimeType === 'dir-public' && files.includes('folder-public')) {\n\t\treturn 'folder-public'\n\t} else if ((mimeType === 'dir-external' || mimeType === 'dir-external-root') && files.includes('folder-external')) {\n\t\treturn 'folder-external'\n\t} else if (files.includes(icon)) {\n\t\treturn icon\n\t} else if (files.includes(icon.split('-')[0])) {\n\t\treturn icon.split('-')[0]\n\t} else if (files.includes('file')) {\n\t\treturn 'file'\n\t}\n\n\treturn null\n}\n\n/**\n * Clear the icon cache\n */\nexport function clearIconCache() {\n\ticonCache.clear()\n}\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { t } from '@nextcloud/l10n';\n/**\n * A little class to manage a status field for a \"saving\" process.\n * It can be used to display a starting message (e.g. \"Saving...\") and then\n * replace it with a green success message or a red error message.\n */\nexport default {\n /**\n * Displayes a \"Saving...\" message in the given message placeholder\n *\n * @param selector - Query selectior for the element to display the message in\n */\n startSaving(selector) {\n this.startAction(selector, t('core', 'Saving …'));\n },\n /**\n * Displayes a custom message in the given message placeholder\n *\n * @param selector - Query selectior for the element to display the message in\n * @param message - Plain text message to display (no HTML allowed)\n */\n startAction(selector, message) {\n const el = document.querySelector(selector);\n if (!el || !(el instanceof HTMLElement)) {\n return;\n }\n el.textContent = message;\n el.classList.remove('success');\n el.classList.remove('error');\n el.getAnimations?.().forEach((animation) => animation.cancel());\n el.style.display = 'block';\n },\n /**\n * Displayes an success/error message in the given selector\n *\n * @param selector - Query selectior for the element to display the message in\n * @param response - Response of the server\n * @param response.data - Data of the servers response\n * @param response.data.message - Plain text message to display (no HTML allowed)\n * @param response.status - is being used to decide whether the message is displayed as an error/success\n */\n finishedSaving(selector, response) {\n this.finishedAction(selector, response);\n },\n /**\n * Displayes an success/error message in the given selector\n *\n * @param selector - Query selector for the element to display the message in\n * @param response - Response of the server\n * @param response.data - Data of the servers response\n * @param response.data.message - Plain text message to display (no HTML allowed)\n * @param response.status . Is being used to decide whether the message is displayed as an error/success\n */\n finishedAction(selector, response) {\n if (response.status === 'success') {\n this.finishedSuccess(selector, response.data.message);\n }\n else {\n this.finishedError(selector, response.data.message);\n }\n },\n /**\n * Displayes an success message in the given selector\n *\n * @param selector - Query selector for the element to display the message in\n * @param message - Plain text success message to display (no HTML allowed)\n */\n finishedSuccess(selector, message) {\n const el = document.querySelector(selector);\n if (!el || !(el instanceof HTMLElement)) {\n return;\n }\n el.textContent = message;\n el.classList.remove('error');\n el.classList.add('success');\n el.getAnimations?.().forEach((animation) => animation.cancel());\n window.setTimeout(fadeOut, 3000);\n el.style.display = 'block';\n /**\n * Fades out the message element\n */\n function fadeOut() {\n if (!el || !(el instanceof HTMLElement)) {\n return;\n }\n const animation = el.animate?.([\n { opacity: 1 },\n { opacity: 0 },\n ], {\n duration: 900,\n fill: 'forwards',\n });\n if (animation) {\n animation.addEventListener('finish', () => {\n el.style.display = 'none';\n });\n }\n else {\n window.setTimeout(() => {\n el.style.display = 'none';\n }, 900);\n }\n }\n },\n /**\n * Displayes an error message in the given selector\n *\n * @param selector - Query selector for the element to display the message in\n * @param message - Plain text error message to display (no HTML allowed)\n */\n finishedError(selector, message) {\n const el = document.querySelector(selector);\n if (!el || !(el instanceof HTMLElement)) {\n return;\n }\n el.textContent = message;\n el.classList.remove('success');\n el.classList.add('error');\n el.style.display = 'block';\n },\n};\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { confirmPassword, isPasswordConfirmationRequired } from '@nextcloud/password-confirmation'\n\n/**\n * @namespace OC.PasswordConfirmation\n */\nexport default {\n\n\t/**\n\t * @deprecated 28.0.0 use methods from '@nextcloud/password-confirmation'\n\t */\n\trequiresPasswordConfirmation() {\n\t\treturn isPasswordConfirmationRequired()\n\t},\n\n\t/**\n\t * @param {Function} callback success callback function\n\t * @param {object} options options currently not used by confirmPassword\n\t * @param {Function} rejectCallback error callback function\n\t *\n\t * @deprecated 28.0.0 use methods from '@nextcloud/password-confirmation'\n\t */\n\trequirePasswordConfirmation(callback, options, rejectCallback) {\n\t\tconfirmPassword().then(callback, rejectCallback)\n\t},\n}\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nexport default {\n\n\t/**\n\t * @type {Array.}\n\t */\n\t_plugins: {},\n\n\t/**\n\t * Register plugin\n\t *\n\t * @param {string} targetName app name / class name to hook into\n\t * @param {OC.Plugin} plugin plugin\n\t */\n\tregister(targetName, plugin) {\n\t\tlet plugins = this._plugins[targetName]\n\t\tif (!plugins) {\n\t\t\tplugins = this._plugins[targetName] = []\n\t\t}\n\t\tplugins.push(plugin)\n\t},\n\n\t/**\n\t * Returns all plugin registered to the given target\n\t * name / app name / class name.\n\t *\n\t * @param {string} targetName app name / class name to hook into\n\t * @return {Array.} array of plugins\n\t */\n\tgetPlugins(targetName) {\n\t\treturn this._plugins[targetName] || []\n\t},\n\n\t/**\n\t * Call attach() on all plugins registered to the given target name.\n\t *\n\t * @param {string} targetName app name / class name\n\t * @param {object} targetObject to be extended\n\t * @param {object} [options] options\n\t */\n\tattach(targetName, targetObject, options) {\n\t\tconst plugins = this.getPlugins(targetName)\n\t\tfor (let i = 0; i < plugins.length; i++) {\n\t\t\tif (plugins[i].attach) {\n\t\t\t\tplugins[i].attach(targetObject, options)\n\t\t\t}\n\t\t}\n\t},\n\n\t/**\n\t * Call detach() on all plugins registered to the given target name.\n\t *\n\t * @param {string} targetName app name / class name\n\t * @param {object} targetObject to be extended\n\t * @param {object} [options] options\n\t */\n\tdetach(targetName, targetObject, options) {\n\t\tconst plugins = this.getPlugins(targetName)\n\t\tfor (let i = 0; i < plugins.length; i++) {\n\t\t\tif (plugins[i].detach) {\n\t\t\t\tplugins[i].detach(targetObject, options)\n\t\t\t}\n\t\t}\n\t},\n\n}\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nexport const theme = window._theme || {}\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport OC from './index.js'\n\n/**\n * Utility class for the history API,\n * includes fallback to using the URL hash when\n * the browser doesn't support the history API.\n *\n * @namespace OC.Util.History\n */\nexport default {\n\n\t_handlers: [],\n\n\t/**\n\t * Push the current URL parameters to the history stack\n\t * and change the visible URL.\n\t * Note: this includes a workaround for IE8/IE9 that uses\n\t * the hash part instead of the search part.\n\t *\n\t * @param {object | string} params to append to the URL, can be either a string\n\t * or a map\n\t * @param {string} [url] URL to be used, otherwise the current URL will be used,\n\t * using the params as query string\n\t * @param {boolean} [replace] whether to replace instead of pushing\n\t */\n\t_pushState(params, url, replace) {\n\t\tlet strParams\n\t\tif (typeof (params) === 'string') {\n\t\t\tstrParams = params\n\t\t} else {\n\t\t\tstrParams = OC.buildQueryString(params)\n\t\t}\n\n\t\tif (window.history.pushState) {\n\t\t\turl = url || location.pathname + '?' + strParams\n\t\t\t// Workaround for bug with SVG and window.history.pushState on Firefox < 51\n\t\t\t// https://bugzilla.mozilla.org/show_bug.cgi?id=652991\n\t\t\tconst isFirefox = navigator.userAgent.toLowerCase().indexOf('firefox') > -1\n\t\t\tif (isFirefox && parseInt(navigator.userAgent.split('/').pop()) < 51) {\n\t\t\t\tconst patterns = document.querySelectorAll('[fill^=\"url(#\"], [stroke^=\"url(#\"], [filter^=\"url(#invert\"]')\n\t\t\t\tfor (let i = 0, ii = patterns.length, pattern; i < ii; i++) {\n\t\t\t\t\tpattern = patterns[i]\n\t\t\t\t\t// eslint-disable-next-line no-self-assign\n\t\t\t\t\tpattern.style.fill = pattern.style.fill\n\t\t\t\t\t// eslint-disable-next-line no-self-assign\n\t\t\t\t\tpattern.style.stroke = pattern.style.stroke\n\t\t\t\t\tpattern.removeAttribute('filter')\n\t\t\t\t\tpattern.setAttribute('filter', 'url(#invert)')\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (replace) {\n\t\t\t\twindow.history.replaceState(params, '', url)\n\t\t\t} else {\n\t\t\t\twindow.history.pushState(params, '', url)\n\t\t\t}\n\t\t} else {\n\t\t\t// use URL hash for IE8\n\t\t\twindow.location.hash = '?' + strParams\n\t\t\t// inhibit next onhashchange that just added itself\n\t\t\t// to the event queue\n\t\t\tthis._cancelPop = true\n\t\t}\n\t},\n\n\t/**\n\t * Push the current URL parameters to the history stack\n\t * and change the visible URL.\n\t * Note: this includes a workaround for IE8/IE9 that uses\n\t * the hash part instead of the search part.\n\t *\n\t * @param {object | string} params to append to the URL, can be either a string or a map\n\t * @param {string} [url] URL to be used, otherwise the current URL will be used, using the params as query string\n\t */\n\tpushState(params, url) {\n\t\tthis._pushState(params, url, false)\n\t},\n\n\t/**\n\t * Push the current URL parameters to the history stack\n\t * and change the visible URL.\n\t * Note: this includes a workaround for IE8/IE9 that uses\n\t * the hash part instead of the search part.\n\t *\n\t * @param {object | string} params to append to the URL, can be either a string\n\t * or a map\n\t * @param {string} [url] URL to be used, otherwise the current URL will be used,\n\t * using the params as query string\n\t */\n\treplaceState(params, url) {\n\t\tthis._pushState(params, url, true)\n\t},\n\n\t/**\n\t * Add a popstate handler\n\t *\n\t * @param {Function} handler handler\n\t */\n\taddOnPopStateHandler(handler) {\n\t\tthis._handlers.push(handler)\n\t},\n\n\t/**\n\t * Parse a query string from the hash part of the URL.\n\t * (workaround for IE8 / IE9)\n\t *\n\t * @return {string}\n\t */\n\t_parseHashQuery() {\n\t\tconst hash = window.location.hash\n\t\tconst pos = hash.indexOf('?')\n\t\tif (pos >= 0) {\n\t\t\treturn hash.substr(pos + 1)\n\t\t}\n\t\tif (hash.length) {\n\t\t\t// remove hash sign\n\t\t\treturn hash.substr(1)\n\t\t}\n\t\treturn ''\n\t},\n\n\t_decodeQuery(query) {\n\t\treturn query.replace(/\\+/g, ' ')\n\t},\n\n\t/**\n\t * Parse the query/search part of the URL.\n\t * Also try and parse it from the URL hash (for IE8)\n\t *\n\t * @return {object} map of parameters\n\t */\n\tparseUrlQuery() {\n\t\tconst query = this._parseHashQuery()\n\t\tlet params\n\t\t// try and parse from URL hash first\n\t\tif (query) {\n\t\t\tparams = OC.parseQueryString(this._decodeQuery(query))\n\t\t}\n\t\t// else read from query attributes\n\t\treturn {\n\t\t\t...(params || {}),\n\t\t\t...OC.parseQueryString(this._decodeQuery(location.search)),\n\t\t}\n\t},\n\n\t_onPopState(e) {\n\t\tif (this._cancelPop) {\n\t\t\tthis._cancelPop = false\n\t\t\treturn\n\t\t}\n\t\tlet params\n\t\tif (!this._handlers.length) {\n\t\t\treturn\n\t\t}\n\t\tparams = (e && e.state)\n\t\tif (typeof params === 'string') {\n\t\t\tparams = OC.parseQueryString(params)\n\t\t} else if (!params) {\n\t\t\tparams = this.parseUrlQuery() || {}\n\t\t}\n\t\tfor (let i = 0; i < this._handlers.length; i++) {\n\t\t\tthis._handlers[i](params)\n\t\t}\n\t},\n}\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { formatFileSize as humanFileSize } from '@nextcloud/files'\nimport moment from 'moment'\nimport logger from '../logger.js'\nimport OC from './index.js'\nimport History from './util-history.js'\n\n/**\n * @param {any} t -\n */\nfunction chunkify(t) {\n\t// Adapted from http://my.opera.com/GreyWyvern/blog/show.dml/1671288\n\tconst tz = []\n\tlet x = 0\n\tlet y = -1\n\tlet n = 0\n\tlet c\n\n\twhile (x < t.length) {\n\t\tc = t.charAt(x)\n\t\t// only include the dot in strings\n\t\tconst m = ((!n && c === '.') || (c >= '0' && c <= '9'))\n\t\tif (m !== n) {\n\t\t\t// next chunk\n\t\t\ty++\n\t\t\ttz[y] = ''\n\t\t\tn = m\n\t\t}\n\t\ttz[y] += c\n\t\tx++\n\t}\n\treturn tz\n}\n\n/**\n * Utility functions\n *\n * @namespace OC.Util\n */\nexport default {\n\n\tHistory,\n\n\t/**\n\t * @deprecated use https://nextcloud.github.io/nextcloud-files/functions/formatFileSize.html\n\t */\n\thumanFileSize,\n\n\t/**\n\t * Returns a file size in bytes from a humanly readable string\n\t * Makes 2kB to 2048.\n\t * Inspired by computerFileSize in helper.php\n\t *\n\t * @param {string} string file size in human-readable format\n\t * @return {number} or null if string could not be parsed\n\t */\n\tcomputerFileSize(string) {\n\t\tif (typeof string !== 'string') {\n\t\t\treturn null\n\t\t}\n\n\t\tconst s = string.toLowerCase().trim()\n\t\tconst bytesArray = {\n\t\t\tb: 1,\n\t\t\tk: 1024,\n\t\t\tkb: 1024,\n\t\t\tmb: 1024 * 1024,\n\t\t\tm: 1024 * 1024,\n\t\t\tgb: 1024 * 1024 * 1024,\n\t\t\tg: 1024 * 1024 * 1024,\n\t\t\ttb: 1024 * 1024 * 1024 * 1024,\n\t\t\tt: 1024 * 1024 * 1024 * 1024,\n\t\t\tpb: 1024 * 1024 * 1024 * 1024 * 1024,\n\t\t\tp: 1024 * 1024 * 1024 * 1024 * 1024,\n\t\t}\n\n\t\tlet bytes\n\t\tconst matches = s.match(/^[\\s+]?([0-9]*)(\\.([0-9]+))?( +)?([kmgtp]?b?)$/i)\n\t\tif (matches !== null) {\n\t\t\tbytes = parseFloat(s)\n\t\t\tif (!isFinite(bytes)) {\n\t\t\t\treturn null\n\t\t\t}\n\t\t} else {\n\t\t\treturn null\n\t\t}\n\t\tif (matches[5]) {\n\t\t\tbytes = bytes * bytesArray[matches[5]]\n\t\t}\n\n\t\tbytes = Math.round(bytes)\n\t\treturn bytes\n\t},\n\n\t/**\n\t * @param {string|number} timestamp timestamp\n\t * @param {string} format date format, see momentjs docs\n\t * @return {string} timestamp formatted as requested\n\t */\n\tformatDate(timestamp, format) {\n\t\tif (window.TESTING === undefined && OC.debug) {\n\t\t\tlogger.warn('OC.Util.formatDate is deprecated and will be removed in Nextcloud 21. See @nextcloud/moment')\n\t\t}\n\t\tformat = format || 'LLL'\n\t\treturn moment(timestamp).format(format)\n\t},\n\n\t/**\n\t * @param {string|number} timestamp timestamp\n\t * @return {string} human readable difference from now\n\t */\n\trelativeModifiedDate(timestamp) {\n\t\tif (window.TESTING === undefined && OC.debug) {\n\t\t\tlogger.warn('OC.Util.relativeModifiedDate is deprecated and will be removed in Nextcloud 21. See @nextcloud/moment')\n\t\t}\n\t\tconst diff = moment().diff(moment(timestamp))\n\t\tif (diff >= 0 && diff < 45000) {\n\t\t\treturn t('core', 'seconds ago')\n\t\t}\n\t\treturn moment(timestamp).fromNow()\n\t},\n\n\t/**\n\t * Returns the width of a generic browser scrollbar\n\t *\n\t * @return {number} width of scrollbar\n\t */\n\tgetScrollBarWidth() {\n\t\tif (this._scrollBarWidth) {\n\t\t\treturn this._scrollBarWidth\n\t\t}\n\n\t\tconst inner = document.createElement('p')\n\t\tinner.style.width = '100%'\n\t\tinner.style.height = '200px'\n\n\t\tconst outer = document.createElement('div')\n\t\touter.style.position = 'absolute'\n\t\touter.style.top = '0px'\n\t\touter.style.left = '0px'\n\t\touter.style.visibility = 'hidden'\n\t\touter.style.width = '200px'\n\t\touter.style.height = '150px'\n\t\touter.style.overflow = 'hidden'\n\t\touter.appendChild(inner)\n\n\t\tdocument.body.appendChild(outer)\n\t\tconst w1 = inner.offsetWidth\n\t\touter.style.overflow = 'scroll'\n\t\tlet w2 = inner.offsetWidth\n\t\tif (w1 === w2) {\n\t\t\tw2 = outer.clientWidth\n\t\t}\n\n\t\tdocument.body.removeChild(outer)\n\n\t\tthis._scrollBarWidth = (w1 - w2)\n\n\t\treturn this._scrollBarWidth\n\t},\n\n\t/**\n\t * Remove the time component from a given date\n\t *\n\t * @param {Date} date date\n\t * @return {Date} date with stripped time\n\t */\n\tstripTime(date) {\n\t\t// FIXME: likely to break when crossing DST\n\t\t// would be better to use a library like momentJS\n\t\treturn new Date(date.getFullYear(), date.getMonth(), date.getDate())\n\t},\n\n\t/**\n\t * Compare two strings to provide a natural sort\n\t *\n\t * @param {string} a first string to compare\n\t * @param {string} b second string to compare\n\t * @return {number} -1 if b comes before a, 1 if a comes before b\n\t * or 0 if the strings are identical\n\t */\n\tnaturalSortCompare(a, b) {\n\t\tlet x\n\t\tconst aa = chunkify(a)\n\t\tconst bb = chunkify(b)\n\n\t\tfor (x = 0; aa[x] && bb[x]; x++) {\n\t\t\tif (aa[x] !== bb[x]) {\n\t\t\t\tconst aNum = Number(aa[x])\n\t\t\t\tconst bNum = Number(bb[x])\n\t\t\t\t// note: == is correct here to include null == undefined\n\t\t\t\t// eslint-disable-next-line eqeqeq\n\t\t\t\tif (aNum == aa[x] && bNum == bb[x]) {\n\t\t\t\t\treturn aNum - bNum\n\t\t\t\t} else {\n\t\t\t\t\t// Note: This locale setting isn't supported by all browsers but for the ones\n\t\t\t\t\t// that do there will be more consistency between client-server sorting\n\t\t\t\t\treturn aa[x].localeCompare(bb[x], OC.getLanguage())\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn aa.length - bb.length\n\t},\n\n\t/**\n\t * Calls the callback in a given interval until it returns true\n\t *\n\t * @param {Function} callback function to call on success\n\t * @param {number} interval in milliseconds\n\t */\n\twaitFor(callback, interval) {\n\t\tconst internalCallback = function() {\n\t\t\tif (callback() !== true) {\n\t\t\t\tsetTimeout(internalCallback, interval)\n\t\t\t}\n\t\t}\n\n\t\tinternalCallback()\n\t},\n\n\t/**\n\t * Checks if a cookie with the given name is present and is set to the provided value.\n\t *\n\t * @param {string} name name of the cookie\n\t * @param {string} value value of the cookie\n\t * @return {boolean} true if the cookie with the given name has the given value\n\t */\n\tisCookieSetToValue(name, value) {\n\t\tconst cookies = document.cookie.split(';')\n\t\tfor (let i = 0; i < cookies.length; i++) {\n\t\t\tconst cookie = cookies[i].split('=')\n\t\t\tif (cookie[0].trim() === name && cookie[1].trim() === value) {\n\t\t\t\treturn true\n\t\t\t}\n\t\t}\n\t\treturn false\n\t},\n}\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nlet webroot = window._oc_webroot\n\nif (typeof webroot === 'undefined') {\n\twebroot = location.pathname\n\tconst pos = webroot.indexOf('/index.php/')\n\tif (pos !== -1) {\n\t\twebroot = webroot.substr(0, pos)\n\t} else {\n\t\twebroot = webroot.substr(0, webroot.lastIndexOf('/'))\n\t}\n}\n\nexport default webroot\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { subscribe } from '@nextcloud/event-bus'\nimport {\n\tgetCanonicalLocale,\n\tgetLanguage,\n\tgetLocale,\n} from '@nextcloud/l10n'\nimport {\n\tbasename,\n\tdirname,\n\tencodePath,\n\tisSamePath,\n\tjoin,\n} from '@nextcloud/paths'\nimport {\n\tgenerateFilePath,\n\tgenerateOcsUrl,\n\tgenerateRemoteUrl,\n\tgenerateUrl,\n\tgetRootUrl,\n\timagePath,\n\tlinkTo,\n} from '@nextcloud/router'\nimport logger from '../logger.js'\nimport { isUserAdmin } from './admin.js'\nimport { appConfig } from './appconfig.js'\nimport appswebroots from './appswebroots.js'\nimport { getCapabilities } from './capabilities.js'\nimport Config from './config.js'\nimport {\n\tcoreApps,\n\tmenuSpeed,\n\tPERMISSION_ALL,\n\tPERMISSION_CREATE,\n\tPERMISSION_DELETE,\n\tPERMISSION_NONE,\n\tPERMISSION_READ,\n\tPERMISSION_SHARE,\n\tPERMISSION_UPDATE,\n\tTAG_FAVORITE,\n} from './constants.js'\nimport { currentUser, getCurrentUser } from './currentuser.js'\nimport { debug } from './debug.js'\nimport Dialogs from './dialogs.js'\nimport EventSource from './eventsource.js'\nimport L10N from './l10n.js'\nimport * as MimeType from './mimeType.js'\nimport msg from './msg.js'\nimport PasswordConfirmation from './password-confirmation.js'\nimport Plugins from './plugins.js'\nimport {\n\tbuild as buildQueryString,\n\tparse as parseQueryString,\n} from './query-string.ts'\nimport { getRequestToken } from './requesttoken.ts'\nimport {\n\tlinkToRemoteBase,\n} from './routing.js'\nimport { theme } from './theme.js'\nimport Util from './util.js'\nimport webroot from './webroot.js'\n\n/** @namespace OC */\nexport default {\n\t/*\n\t * Constants\n\t */\n\tcoreApps,\n\tmenuSpeed,\n\tPERMISSION_ALL,\n\tPERMISSION_CREATE,\n\tPERMISSION_DELETE,\n\tPERMISSION_NONE,\n\tPERMISSION_READ,\n\tPERMISSION_SHARE,\n\tPERMISSION_UPDATE,\n\tTAG_FAVORITE,\n\n\t/*\n\t * Deprecated helpers to be removed\n\t */\n\tappConfig,\n\tappswebroots,\n\tconfig: Config,\n\t/**\n\t * Currently logged in user or null if none\n\t *\n\t * @type {string}\n\t * @deprecated use `getCurrentUser` from https://www.npmjs.com/package/@nextcloud/auth\n\t */\n\tcurrentUser,\n\tdialogs: Dialogs,\n\tEventSource,\n\tMimeType,\n\t/**\n\t * Returns the currently logged in user or null if there is no logged in\n\t * user (public page mode)\n\t *\n\t * @since 9.0.0\n\t * @deprecated 19.0.0 use `getCurrentUser` from https://www.npmjs.com/package/@nextcloud/auth\n\t */\n\tgetCurrentUser,\n\tisUserAdmin,\n\tL10N,\n\n\t/**\n\t * This is already handled by `interceptRequests` in `core/src/init.js`.\n\t *\n\t * @deprecated 33.0.0 - unused by Nextcloud and only a stub remains. Just remove usage.\n\t */\n\tregisterXHRForErrorProcessing: () => {},\n\n\t/**\n\t * Capabilities\n\t *\n\t * @type {Array}\n\t * @deprecated 20.0.0 use @nextcloud/capabilities instead\n\t */\n\tgetCapabilities,\n\n\t/*\n\t * Path helpers\n\t */\n\t/**\n\t * @deprecated 18.0.0 use https://www.npmjs.com/package/@nextcloud/paths\n\t */\n\tbasename,\n\t/**\n\t * @deprecated 18.0.0 use https://www.npmjs.com/package/@nextcloud/paths\n\t */\n\tencodePath,\n\t/**\n\t * @deprecated 18.0.0 use https://www.npmjs.com/package/@nextcloud/paths\n\t */\n\tdirname,\n\t/**\n\t * @deprecated 18.0.0 use https://www.npmjs.com/package/@nextcloud/paths\n\t */\n\tisSamePath,\n\t/**\n\t * @deprecated 18.0.0 use https://www.npmjs.com/package/@nextcloud/paths\n\t */\n\tjoinPaths: join,\n\n\t/**\n\t * @deprecated 20.0.0 use `getCanonicalLocale` from https://www.npmjs.com/package/@nextcloud/l10n\n\t */\n\tgetCanonicalLocale,\n\t/**\n\t * @deprecated 26.0.0 use `getLocale` from https://www.npmjs.com/package/@nextcloud/l10n\n\t */\n\tgetLocale,\n\t/**\n\t * @deprecated 26.0.0 use `getLanguage` from https://www.npmjs.com/package/@nextcloud/l10n\n\t */\n\tgetLanguage,\n\n\t// Query string helpers\n\tbuildQueryString,\n\tparseQueryString,\n\n\tmsg,\n\t/**\n\t * @deprecated 28.0.0 use methods from '@nextcloud/password-confirmation'\n\t */\n\tPasswordConfirmation,\n\tPlugins,\n\ttheme,\n\tUtil,\n\tdebug,\n\t/**\n\t * @deprecated 19.0.0 use `generateFilePath` from https://www.npmjs.com/package/@nextcloud/router\n\t */\n\tfilePath: generateFilePath,\n\t/**\n\t * @deprecated 19.0.0 use `generateUrl` from https://www.npmjs.com/package/@nextcloud/router\n\t */\n\tgenerateUrl,\n\t/**\n\t * @deprecated 19.0.0 use `getRootUrl` from https://www.npmjs.com/package/@nextcloud/router\n\t */\n\tgetRootPath: getRootUrl,\n\t/**\n\t * @deprecated 19.0.0 use `imagePath` from https://www.npmjs.com/package/@nextcloud/router\n\t */\n\timagePath,\n\trequestToken: getRequestToken(),\n\t/**\n\t * @deprecated 19.0.0 use `linkTo` from https://www.npmjs.com/package/@nextcloud/router\n\t */\n\tlinkTo,\n\t/**\n\t * @param {string} service service name\n\t * @param {number} version OCS API version\n\t * @return {string} OCS API base path\n\t * @deprecated 19.0.0 use `generateOcsUrl` from https://www.npmjs.com/package/@nextcloud/router\n\t */\n\tlinkToOCS: (service, version) => {\n\t\treturn generateOcsUrl(service, {}, {\n\t\t\tocsVersion: version || 1,\n\t\t}) + '/'\n\t},\n\t/**\n\t * @deprecated 19.0.0 use `generateRemoteUrl` from https://www.npmjs.com/package/@nextcloud/router\n\t */\n\tlinkToRemote: generateRemoteUrl,\n\tlinkToRemoteBase,\n\t/**\n\t * Relative path to Nextcloud root.\n\t * For example: \"/nextcloud\"\n\t *\n\t * @type {string}\n\t *\n\t * @deprecated 19.0.0 use `getRootUrl` from https://www.npmjs.com/package/@nextcloud/router\n\t * @see OC#getRootPath\n\t */\n\twebroot,\n}\n\n// Keep the request token prop in sync\nsubscribe('csrf-token-update', (e) => {\n\tOC.requestToken = e.token\n\n\t// Logging might help debug (Sentry) issues\n\tlogger.info('OC.requestToken changed', { token: e.token })\n})\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nexport const coreApps = ['', 'admin', 'log', 'core/search', 'core', '3rdparty']\nexport const menuSpeed = 50\nexport const PERMISSION_NONE = 0\nexport const PERMISSION_CREATE = 4\nexport const PERMISSION_READ = 1\nexport const PERMISSION_UPDATE = 2\nexport const PERMISSION_DELETE = 8\nexport const PERMISSION_SHARE = 16\nexport const PERMISSION_ALL = 31\nexport const TAG_FAVORITE = '_$!!$_'\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { getCapabilities as realGetCapabilities } from '@nextcloud/capabilities'\nimport logger from '../logger.js'\n\n/**\n * Returns the capabilities\n *\n * @return {Array} capabilities\n *\n * @since 14.0.0\n */\nexport function getCapabilities() {\n\tif (OC.debug) {\n\t\tlogger.warn('OC.getCapabilities is deprecated and will be removed in Nextcloud 21. See @nextcloud/capabilities')\n\t}\n\treturn realGetCapabilities()\n}\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * Parses a URL query string into a JS map\n *\n * @param queryString - Query string in the format param1=1234¶m2=abcde¶m3=xyz\n * @return Object containing key/values matching the URL parameters\n * @deprecated 33.0.0 - Use `URLSearchParams` instead\n */\nexport function parse(queryString) {\n const params = new URLSearchParams(queryString);\n return Object.fromEntries(params.entries());\n}\n/**\n * Builds a URL query from a JS map.\n *\n * @param params - Object containing key/values matching the URL parameters\n * @return String containing a URL query (without question) mark\n * @deprecated 33.0.0 - Use `URLSearchParams` instead\n */\nexport function build(params) {\n if (!params) {\n return '';\n }\n const search = new URLSearchParams(params);\n return search.toString();\n}\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport {\n\tgetRootUrl as realGetRootUrl,\n} from '@nextcloud/router'\n\n/**\n * Creates a relative url for remote use\n *\n * @param {string} service id\n * @return {string} the url\n */\nexport function linkToRemoteBase(service) {\n\treturn realGetRootUrl() + '/remote.php/' + service\n}\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport OC from '../OC/index.js'\nimport L10n from '../OC/l10n.js'\n\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tOC,\n\t\t}\n\t},\n\tmethods: {\n\t\tt: L10n.translate.bind(L10n),\n\t\tn: L10n.translatePlural.bind(L10n),\n\t},\n}\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport Vue from 'vue'\nimport LoginView from './views/Login.vue'\nimport Nextcloud from './mixins/Nextcloud.js'\n// eslint-disable-next-line no-unused-vars\nimport OC from './OC/index.js' // TODO: Not needed but L10n breaks if removed\n\nVue.mixin(Nextcloud)\n\nconst View = Vue.extend(LoginView)\nnew View().$mount('#login')\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, `.button-vue[data-v-bbf83d00]{margin-top:.5rem}`, \"\",{\"version\":3,\"sources\":[\"webpack://./core/src/components/login/LoginButton.vue\"],\"names\":[],\"mappings\":\"AACA,6BACC,gBAAA\",\"sourcesContent\":[\"\\n.button-vue {\\n\\tmargin-top: .5rem;\\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, `.login-form[data-v-fac76c6a]{text-align:start;font-size:1rem;margin:0}.login-form__fieldset[data-v-fac76c6a]{width:100%;display:flex;flex-direction:column;gap:.5rem}.login-form__headline[data-v-fac76c6a]{text-align:center;overflow-wrap:anywhere}.login-form[data-v-fac76c6a] input:invalid:not(:user-invalid){border-color:var(--color-border-maxcontrast) !important}`, \"\",{\"version\":3,\"sources\":[\"webpack://./core/src/components/login/LoginForm.vue\"],\"names\":[],\"mappings\":\"AACA,6BACC,gBAAA,CACA,cAAA,CACA,QAAA,CAEA,uCACC,UAAA,CACA,YAAA,CACA,qBAAA,CACA,SAAA,CAGD,uCACC,iBAAA,CACA,sBAAA,CAID,8DACC,uDAAA\",\"sourcesContent\":[\"\\n.login-form {\\n\\ttext-align: start;\\n\\tfont-size: 1rem;\\n\\tmargin: 0;\\n\\n\\t&__fieldset {\\n\\t\\twidth: 100%;\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\tgap: .5rem;\\n\\t}\\n\\n\\t&__headline {\\n\\t\\ttext-align: center;\\n\\t\\toverflow-wrap: anywhere;\\n\\t}\\n\\n\\t// Only show the error state if the user interacted with the login box\\n\\t:deep(input:invalid:not(:user-invalid)) {\\n\\t\\tborder-color: var(--color-border-maxcontrast) !important;\\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, `.password-less-login-form[data-v-25758ef3]{display:flex;flex-direction:column;gap:.5rem;margin:0}`, \"\",{\"version\":3,\"sources\":[\"webpack://./core/src/components/login/PasswordLessLoginForm.vue\"],\"names\":[],\"mappings\":\"AACA,2CACC,YAAA,CACA,qBAAA,CACA,SAAA,CACA,QAAA\",\"sourcesContent\":[\"\\n.password-less-login-form {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\tgap: 0.5rem;\\n\\tmargin: 0;\\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, `.reset-password-form[data-v-759a0fdd]{display:flex;flex-direction:column;gap:.5rem;width:100%}`, \"\",{\"version\":3,\"sources\":[\"webpack://./core/src/components/login/ResetPassword.vue\"],\"names\":[],\"mappings\":\"AACA,sCACC,YAAA,CACA,qBAAA,CACA,SAAA,CACA,UAAA\",\"sourcesContent\":[\"\\n.reset-password-form {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\tgap: .5rem;\\n\\twidth: 100%;\\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, `.login-box[data-v-518c0816]{width:320px;box-sizing:border-box}.login-box__wrapper[data-v-518c0816]{display:flex;flex-direction:column;gap:calc(2*var(--default-grid-baseline))}.login-box__alternative-logins[data-v-518c0816]{display:flex;flex-direction:column;gap:.75rem}.fade-enter-active[data-v-518c0816],.fade-leave-active[data-v-518c0816]{transition:opacity .3s}.fade-enter[data-v-518c0816],.fade-leave-to[data-v-518c0816]{opacity:0}`, \"\",{\"version\":3,\"sources\":[\"webpack://./core/src/views/Login.vue\"],\"names\":[],\"mappings\":\"AACA,4BAEC,WAAA,CACA,qBAAA,CAEA,qCACC,YAAA,CACA,qBAAA,CACA,wCAAA,CAGD,gDACC,YAAA,CACA,qBAAA,CACA,UAAA,CAIF,wEACC,sBAAA,CAGD,6DACC,SAAA\",\"sourcesContent\":[\"\\n.login-box {\\n\\t// Same size as dashboard panels\\n\\twidth: 320px;\\n\\tbox-sizing: border-box;\\n\\n\\t&__wrapper {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\tgap: calc(2 * var(--default-grid-baseline));\\n\\t}\\n\\n\\t&__alternative-logins {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\tgap: 0.75rem;\\n\\t}\\n}\\n\\n.fade-enter-active, .fade-leave-active {\\n\\ttransition: opacity .3s;\\n}\\n\\n.fade-enter, .fade-leave-to /* .fade-leave-active below version 2.1.8 */ {\\n\\topacity: 0;\\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, `\nfieldset[data-v-2c0ecaf9] {\n\ttext-align: center;\n}\ninput[type=submit][data-v-2c0ecaf9] {\n\tmargin-top: 20px;\n}\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./core/src/components/login/UpdatePassword.vue\"],\"names\":[],\"mappings\":\";AAmIA;CACA,kBAAA;AACA;AAEA;CACA,gBAAA;AACA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","var map = {\n\t\"./af\": 25177,\n\t\"./af.js\": 25177,\n\t\"./ar\": 61509,\n\t\"./ar-dz\": 41488,\n\t\"./ar-dz.js\": 41488,\n\t\"./ar-kw\": 58676,\n\t\"./ar-kw.js\": 58676,\n\t\"./ar-ly\": 42353,\n\t\"./ar-ly.js\": 42353,\n\t\"./ar-ma\": 24496,\n\t\"./ar-ma.js\": 24496,\n\t\"./ar-ps\": 6947,\n\t\"./ar-ps.js\": 6947,\n\t\"./ar-sa\": 82682,\n\t\"./ar-sa.js\": 82682,\n\t\"./ar-tn\": 89756,\n\t\"./ar-tn.js\": 89756,\n\t\"./ar.js\": 61509,\n\t\"./az\": 95533,\n\t\"./az.js\": 95533,\n\t\"./be\": 28959,\n\t\"./be.js\": 28959,\n\t\"./bg\": 47777,\n\t\"./bg.js\": 47777,\n\t\"./bm\": 54903,\n\t\"./bm.js\": 54903,\n\t\"./bn\": 61290,\n\t\"./bn-bd\": 17357,\n\t\"./bn-bd.js\": 17357,\n\t\"./bn.js\": 61290,\n\t\"./bo\": 31545,\n\t\"./bo.js\": 31545,\n\t\"./br\": 11470,\n\t\"./br.js\": 11470,\n\t\"./bs\": 44429,\n\t\"./bs.js\": 44429,\n\t\"./ca\": 7306,\n\t\"./ca.js\": 7306,\n\t\"./cs\": 56464,\n\t\"./cs.js\": 56464,\n\t\"./cv\": 73635,\n\t\"./cv.js\": 73635,\n\t\"./cy\": 64226,\n\t\"./cy.js\": 64226,\n\t\"./da\": 93601,\n\t\"./da.js\": 93601,\n\t\"./de\": 77853,\n\t\"./de-at\": 26111,\n\t\"./de-at.js\": 26111,\n\t\"./de-ch\": 54697,\n\t\"./de-ch.js\": 54697,\n\t\"./de.js\": 77853,\n\t\"./dv\": 60708,\n\t\"./dv.js\": 60708,\n\t\"./el\": 54691,\n\t\"./el.js\": 54691,\n\t\"./en-au\": 53872,\n\t\"./en-au.js\": 53872,\n\t\"./en-ca\": 28298,\n\t\"./en-ca.js\": 28298,\n\t\"./en-gb\": 56195,\n\t\"./en-gb.js\": 56195,\n\t\"./en-ie\": 66584,\n\t\"./en-ie.js\": 66584,\n\t\"./en-il\": 65543,\n\t\"./en-il.js\": 65543,\n\t\"./en-in\": 9033,\n\t\"./en-in.js\": 9033,\n\t\"./en-nz\": 79402,\n\t\"./en-nz.js\": 79402,\n\t\"./en-sg\": 43004,\n\t\"./en-sg.js\": 43004,\n\t\"./eo\": 32934,\n\t\"./eo.js\": 32934,\n\t\"./es\": 97650,\n\t\"./es-do\": 20838,\n\t\"./es-do.js\": 20838,\n\t\"./es-mx\": 17730,\n\t\"./es-mx.js\": 17730,\n\t\"./es-us\": 56575,\n\t\"./es-us.js\": 56575,\n\t\"./es.js\": 97650,\n\t\"./et\": 3035,\n\t\"./et.js\": 3035,\n\t\"./eu\": 3508,\n\t\"./eu.js\": 3508,\n\t\"./fa\": 119,\n\t\"./fa.js\": 119,\n\t\"./fi\": 90527,\n\t\"./fi.js\": 90527,\n\t\"./fil\": 95995,\n\t\"./fil.js\": 95995,\n\t\"./fo\": 52477,\n\t\"./fo.js\": 52477,\n\t\"./fr\": 85498,\n\t\"./fr-ca\": 26435,\n\t\"./fr-ca.js\": 26435,\n\t\"./fr-ch\": 37892,\n\t\"./fr-ch.js\": 37892,\n\t\"./fr.js\": 85498,\n\t\"./fy\": 37071,\n\t\"./fy.js\": 37071,\n\t\"./ga\": 41734,\n\t\"./ga.js\": 41734,\n\t\"./gd\": 70217,\n\t\"./gd.js\": 70217,\n\t\"./gl\": 77329,\n\t\"./gl.js\": 77329,\n\t\"./gom-deva\": 32124,\n\t\"./gom-deva.js\": 32124,\n\t\"./gom-latn\": 93383,\n\t\"./gom-latn.js\": 93383,\n\t\"./gu\": 95050,\n\t\"./gu.js\": 95050,\n\t\"./he\": 11713,\n\t\"./he.js\": 11713,\n\t\"./hi\": 43861,\n\t\"./hi.js\": 43861,\n\t\"./hr\": 26308,\n\t\"./hr.js\": 26308,\n\t\"./hu\": 90609,\n\t\"./hu.js\": 90609,\n\t\"./hy-am\": 17160,\n\t\"./hy-am.js\": 17160,\n\t\"./id\": 74063,\n\t\"./id.js\": 74063,\n\t\"./is\": 89374,\n\t\"./is.js\": 89374,\n\t\"./it\": 88383,\n\t\"./it-ch\": 21827,\n\t\"./it-ch.js\": 21827,\n\t\"./it.js\": 88383,\n\t\"./ja\": 23827,\n\t\"./ja.js\": 23827,\n\t\"./jv\": 89722,\n\t\"./jv.js\": 89722,\n\t\"./ka\": 41794,\n\t\"./ka.js\": 41794,\n\t\"./kk\": 27088,\n\t\"./kk.js\": 27088,\n\t\"./km\": 96870,\n\t\"./km.js\": 96870,\n\t\"./kn\": 84451,\n\t\"./kn.js\": 84451,\n\t\"./ko\": 63164,\n\t\"./ko.js\": 63164,\n\t\"./ku\": 98174,\n\t\"./ku-kmr\": 6181,\n\t\"./ku-kmr.js\": 6181,\n\t\"./ku.js\": 98174,\n\t\"./ky\": 78474,\n\t\"./ky.js\": 78474,\n\t\"./lb\": 79680,\n\t\"./lb.js\": 79680,\n\t\"./lo\": 15867,\n\t\"./lo.js\": 15867,\n\t\"./lt\": 45766,\n\t\"./lt.js\": 45766,\n\t\"./lv\": 69532,\n\t\"./lv.js\": 69532,\n\t\"./me\": 58076,\n\t\"./me.js\": 58076,\n\t\"./mi\": 41848,\n\t\"./mi.js\": 41848,\n\t\"./mk\": 30306,\n\t\"./mk.js\": 30306,\n\t\"./ml\": 73739,\n\t\"./ml.js\": 73739,\n\t\"./mn\": 99053,\n\t\"./mn.js\": 99053,\n\t\"./mr\": 86169,\n\t\"./mr.js\": 86169,\n\t\"./ms\": 73386,\n\t\"./ms-my\": 92297,\n\t\"./ms-my.js\": 92297,\n\t\"./ms.js\": 73386,\n\t\"./mt\": 77075,\n\t\"./mt.js\": 77075,\n\t\"./my\": 72264,\n\t\"./my.js\": 72264,\n\t\"./nb\": 22274,\n\t\"./nb.js\": 22274,\n\t\"./ne\": 8235,\n\t\"./ne.js\": 8235,\n\t\"./nl\": 92572,\n\t\"./nl-be\": 43784,\n\t\"./nl-be.js\": 43784,\n\t\"./nl.js\": 92572,\n\t\"./nn\": 54566,\n\t\"./nn.js\": 54566,\n\t\"./oc-lnc\": 69330,\n\t\"./oc-lnc.js\": 69330,\n\t\"./pa-in\": 29849,\n\t\"./pa-in.js\": 29849,\n\t\"./pl\": 94418,\n\t\"./pl.js\": 94418,\n\t\"./pt\": 79834,\n\t\"./pt-br\": 48303,\n\t\"./pt-br.js\": 48303,\n\t\"./pt.js\": 79834,\n\t\"./ro\": 24457,\n\t\"./ro.js\": 24457,\n\t\"./ru\": 82271,\n\t\"./ru.js\": 82271,\n\t\"./sd\": 1221,\n\t\"./sd.js\": 1221,\n\t\"./se\": 33478,\n\t\"./se.js\": 33478,\n\t\"./si\": 17538,\n\t\"./si.js\": 17538,\n\t\"./sk\": 5784,\n\t\"./sk.js\": 5784,\n\t\"./sl\": 46637,\n\t\"./sl.js\": 46637,\n\t\"./sq\": 86794,\n\t\"./sq.js\": 86794,\n\t\"./sr\": 45719,\n\t\"./sr-cyrl\": 3322,\n\t\"./sr-cyrl.js\": 3322,\n\t\"./sr.js\": 45719,\n\t\"./ss\": 56000,\n\t\"./ss.js\": 56000,\n\t\"./sv\": 41011,\n\t\"./sv.js\": 41011,\n\t\"./sw\": 40748,\n\t\"./sw.js\": 40748,\n\t\"./ta\": 11025,\n\t\"./ta.js\": 11025,\n\t\"./te\": 11885,\n\t\"./te.js\": 11885,\n\t\"./tet\": 28861,\n\t\"./tet.js\": 28861,\n\t\"./tg\": 86571,\n\t\"./tg.js\": 86571,\n\t\"./th\": 55802,\n\t\"./th.js\": 55802,\n\t\"./tk\": 59527,\n\t\"./tk.js\": 59527,\n\t\"./tl-ph\": 29231,\n\t\"./tl-ph.js\": 29231,\n\t\"./tlh\": 31052,\n\t\"./tlh.js\": 31052,\n\t\"./tr\": 85096,\n\t\"./tr.js\": 85096,\n\t\"./tzl\": 79846,\n\t\"./tzl.js\": 79846,\n\t\"./tzm\": 81765,\n\t\"./tzm-latn\": 97711,\n\t\"./tzm-latn.js\": 97711,\n\t\"./tzm.js\": 81765,\n\t\"./ug-cn\": 48414,\n\t\"./ug-cn.js\": 48414,\n\t\"./uk\": 16618,\n\t\"./uk.js\": 16618,\n\t\"./ur\": 57777,\n\t\"./ur.js\": 57777,\n\t\"./uz\": 57609,\n\t\"./uz-latn\": 72475,\n\t\"./uz-latn.js\": 72475,\n\t\"./uz.js\": 57609,\n\t\"./vi\": 21135,\n\t\"./vi.js\": 21135,\n\t\"./x-pseudo\": 64051,\n\t\"./x-pseudo.js\": 64051,\n\t\"./yo\": 82218,\n\t\"./yo.js\": 82218,\n\t\"./zh-cn\": 52648,\n\t\"./zh-cn.js\": 52648,\n\t\"./zh-hk\": 1632,\n\t\"./zh-hk.js\": 1632,\n\t\"./zh-mo\": 31541,\n\t\"./zh-mo.js\": 31541,\n\t\"./zh-tw\": 50304,\n\t\"./zh-tw.js\": 50304\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 35358;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \"-\" + chunkId + \".js?v=\" + {\"4005\":\"ea0438a7997fd9e715c6\",\"4017\":\"dec6f3d66ff15c8062d0\",\"5236\":\"311a02bae05374304a11\",\"7859\":\"374481dd0197cd96efe4\",\"8374\":\"a1555d19d2bb52436702\",\"8436\":\"e9ae15ec61caab34615a\",\"8689\":\"81e9b831f82f55de32df\",\"9553\":\"c8ce7bd4445f06a11ae6\"}[chunkId] + \"\";\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 1418;","var scriptUrl;\nif (globalThis.importScripts) scriptUrl = globalThis.location + \"\";\nvar document = globalThis.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript && document.currentScript.tagName.toUpperCase() === 'SCRIPT')\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && (!scriptUrl || !/^http(s?):/.test(scriptUrl))) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/^blob:/, \"\").replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","__webpack_require__.b = (typeof document !== 'undefined' && document.baseURI) || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t1418: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = globalThis[\"webpackChunknextcloud_ui_legacy\"] = globalThis[\"webpackChunknextcloud_ui_legacy\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [4208], () => (__webpack_require__(43218)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","inProgress","dataWebpackPrefix","login_LoginButtonvue_type_script_lang_js","name","components","ArrowRight","A","NcButton","props","value","type","String","default","t","valueLoading","loading","Boolean","required","invertedColors","options","styleTagTransform","styleTagTransform_default","setAttributes","setAttributesWithoutAttributes_default","insert","insertBySelector_default","bind","domAPI","styleDomAPI_default","insertStyleElement","insertStyleElement_default","injectStylesIntoStyleTag_default","LoginButtonvue_type_style_index_0_id_bbf83d00_prod_lang_scss_scoped_true","locals","LoginButton","componentNormalizer","_vm","this","_c","_self","attrs","variant","wide","disabled","on","click","$event","$emit","scopedSlots","_u","key","fn","staticClass","proxy","_v","_s","auth","computed","userNameInputLengthIs255","user","length","userInputHelperText","login_LoginFormvue_type_script_lang_js","NcCheckboxRadioSwitch","NcPasswordField","NcTextField","NcNoteCard","mixins","AuthMixin","username","redirectUrl","errors","Array","messages","throttleDelay","Number","autoCompleteAllowed","remembermeAllowed","directLogin","emailStates","setup","l10n_dist","Tl","headlineText","productName","OC","theme","undefined","sanitize","escape","loginTimeout","loadState","requestToken","window","timezone","Intl","DateTimeFormat","resolvedOptions","timeZone","timezoneOffset","Date","getTimezoneOffset","data","password","rememberme","visible","resetFormTimeout","debounce","handleResetForm","isError","invalidPassword","userDisabled","errorLabel","apacheAuthFailed","indexOf","csrfCheckFailed","internalException","loadingIcon","imagePath","loginActionUrl","generateUrl","emailEnabled","every","state","loginText","watch","mounted","$refs","inputField","input","focus","methods","updateUsername","submit","event","preventDefault","LoginFormvue_type_style_index_0_id_fac76c6a_prod_lang_scss_scoped_true_options","LoginFormvue_type_style_index_0_id_fac76c6a_prod_lang_scss_scoped_true","LoginForm","ref","method","action","title","_e","heading","_l","message","index","class","id","alt","src","staticStyle","clear","shake","label","maxlength","autocapitalize","spellchecking","autocomplete","error","change","model","callback","$$v","expression","domProps","browserSupportsWebAuthn","_browserSupportsWebAuthnInternals","stubThis","globalThis","PublicKeyCredential","WebAuthnError","Error","constructor","code","cause","super","Object","defineProperty","enumerable","configurable","writable","WebAuthnAbortService","createNewAbortSignal","controller","abortError","abort","newController","AbortController","signal","cancelCeremony","bufferToBase64URLString_bufferToBase64URLString","buffer","bytes","Uint8Array","str","charCode","fromCharCode","btoa","replace","base64URLStringToBuffer_base64URLStringToBuffer","base64URLString","base64","padLength","padded","padEnd","binary","atob","ArrayBuffer","i","charCodeAt","_browserSupportsWebAuthnAutofillInternals","toPublicKeyCredentialDescriptor_toPublicKeyCredentialDescriptor","descriptor","transports","attachments","toAuthenticatorAttachment_toAuthenticatorAttachment","attachment","vue_material_design_icons_LockOpenvue_type_script_lang_js","emits","fillColor","size","LockOpen","_b","role","$attrs","fill","width","height","viewBox","d","logger","getCurrentUser","getLoggerBuilder","setApp","build","setUid","uid","detectUser","NoValidCredentials","login_PasswordLessLoginFormvue_type_script_lang_js","defineComponent","InformationIcon","InformationOutline","LockOpenIcon","NcEmptyContent","isHttps","isLocalhost","supportsWebauthn","validCredentials","authenticate","loginForm","checkValidity","debug","params","async","loginName","url","Axios","post","allowCredentials","optionsJSON","challenge","console","warn","useBrowserAutofill","verifyBrowserAutofillInput","map","publicKey","getOptions","Promise","resolve","globalPublicKeyCredential","isConditionalMediationAvailable","browserSupportsWebAuthnAutofill","document","querySelectorAll","mediation","credential","navigator","credentials","get","err","AbortSignal","effectiveDomain","location","hostname","test","rpId","identifyAuthenticationError","rawId","response","userHandle","authenticatorData","clientDataJSON","signature","clientExtensionResults","getClientExtensionResults","authenticatorAttachment","startWebauthnAuthentication","startAuthentication","completeAuthentication","changeUsername","authData","JSON","stringify","finishAuthentication","then","defaultRedirectUrl","charAt","href","getBaseUrl","catch","PasswordLessLoginFormvue_type_style_index_0_id_25758ef3_prod_lang_scss_scoped_true_options","PasswordLessLoginFormvue_type_style_index_0_id_25758ef3_prod_lang_scss_scoped_true","PasswordLessLoginForm_component","_setupProxy","apply","arguments","placeholder","description","PasswordLessLoginForm","login_ResetPasswordvue_type_script_lang_ts","resetPasswordLink","axios","status","ResetPasswordvue_type_style_index_0_id_759a0fdd_prod_lang_scss_scoped_true_options","ResetPasswordvue_type_style_index_0_id_759a0fdd_prod_lang_scss_scoped_true","ResetPassword_component","ResetPassword","login_UpdatePasswordvue_type_script_lang_js","resetPasswordTarget","encrypted","proceed","encryption","msg","e","UpdatePasswordvue_type_style_index_0_id_2c0ecaf9_prod_scoped_true_lang_css_options","UpdatePasswordvue_type_style_index_0_id_2c0ecaf9_prod_scoped_true_lang_css","UpdatePassword_component","for","directives","rawName","spellcheck","target","composing","checked","isArray","_i","$$a","$$el","$$c","$$i","concat","slice","warning","UpdatePassword","query","queryString","parse","search","localStorage","sessionStorage","indexedDBList","indexedDB","databases","deleteDatabase","wipeBrowserStorages","views_Loginvue_type_script_lang_js","passwordlessLogin","resetPassword","canResetPassword","resetPasswordUser","direct","hasPasswordless","countAlternativeLogins","alternativeLogins","protocol","hideLoginForm","passwordResetFinished","Loginvue_type_style_index_0_id_518c0816_prod_scoped_true_lang_scss_options","Loginvue_type_style_index_0_id_518c0816_prod_scoped_true_lang_scss","Login","mode","done","alternativeLogin","isAdmin","_oc_isadmin","appConfig","oc_appconfig","OC_appswebroots","_oc_appswebroots","OC_config","_oc_config","rawUid","getElementsByTagName","getAttribute","displayName","currentUser","_oc_debug","Dialogs","YES_NO_BUTTONS","OK_BUTTONS","FILEPICKER_TYPE_CHOOSE","FILEPICKER_TYPE_MOVE","FILEPICKER_TYPE_COPY","FILEPICKER_TYPE_COPY_MOVE","FILEPICKER_TYPE_CUSTOM","alert","text","modal","OK_BUTTON","info","confirm","confirmDestructive","buttons","DialogBuilder","setName","setText","setButtons","clicked","_getLegacyButtons","show","confirmHtml","setHTML","prompt","spawnDialog","defineAsyncComponent","all","__webpack_require__","inputName","isPassword","args","filepicker","multiselect","mimetype","_modal","FilePickerType","Choose","path","legacyCallback","getPath","node","root","startsWith","nodes","builder","getFilePickerBuilder","forEach","button","addButton","defaultButton","setButtonFactory","displayname","basename","push","multiSelect","file","CopyMove","Copy","icon","IconCopy","Move","setMimeTypeFilter","filter","setFilter","fileid","mime","mtime","getTime","permissions","attributes","etag","hasPreview","mountType","quotaAvailableBytes","sharePermissions","nodeToLegacyFile","allowDirectories","allowDirectoryChooser","includes","setMultiSelect","startAt","pick","content","dialogType","allowHtml","setSeverity","dialog","_clicked","buttonList","cancel","dialogs","getRequestToken","head","dataset","requesttoken","OCEventSource","joinChar","dataStr","typelessListeners","closed","encodeURIComponent","source","EventSource","onmessage","listen","close","prototype","call","addEventListener","eventsource","l10n","load","loadTranslations","register","kz","_unregister","unregister","translate","translatePlural","iconCache","Map","getIconUrl","mimeType","MimeTypeList","aliases","has","gotIcon","folder","themes","getRootUrl","getMimeTypeIcon","files","OCA","Theming","cacheBuster","set","RegExp","split","clearIconCache","startSaving","selector","startAction","el","querySelector","HTMLElement","textContent","classList","remove","getAnimations","animation","style","display","finishedSaving","finishedAction","finishedSuccess","finishedError","add","setTimeout","animate","opacity","duration","password_confirmation","requiresPasswordConfirmation","isPasswordConfirmationRequired","requirePasswordConfirmation","rejectCallback","confirmPassword","plugins","_plugins","targetName","plugin","getPlugins","attach","targetObject","detach","_theme","util_history","_handlers","_pushState","strParams","buildQueryString","history","pushState","pathname","userAgent","toLowerCase","parseInt","pop","patterns","pattern","ii","stroke","removeAttribute","setAttribute","replaceState","hash","_cancelPop","addOnPopStateHandler","handler","_parseHashQuery","pos","substr","_decodeQuery","parseUrlQuery","parseQueryString","_onPopState","chunkify","tz","c","x","y","n","m","util","History","humanFileSize","files_dist","v7","computerFileSize","string","s","trim","matches","match","parseFloat","isFinite","b","k","kb","mb","gb","g","tb","pb","p","Math","round","formatDate","timestamp","format","TESTING","moment","relativeModifiedDate","diff","fromNow","getScrollBarWidth","_scrollBarWidth","inner","createElement","outer","position","top","left","visibility","overflow","appendChild","body","w1","offsetWidth","w2","clientWidth","removeChild","stripTime","date","getFullYear","getMonth","getDate","naturalSortCompare","a","aa","bb","aNum","bNum","localeCompare","getLanguage","waitFor","interval","internalCallback","isCookieSetToValue","cookies","cookie","webroot","_oc_webroot","lastIndexOf","OC_webroot","src_OC","coreApps","menuSpeed","PERMISSION_ALL","PERMISSION_CREATE","PERMISSION_DELETE","PERMISSION_NONE","PERMISSION_READ","PERMISSION_SHARE","PERMISSION_UPDATE","TAG_FAVORITE","appswebroots","config","Config","MimeType","mimeType_namespaceObject","isUserAdmin","L10N","registerXHRForErrorProcessing","getCapabilities","realGetCapabilities","paths_dist","P8","encodePath","O0","dirname","pD","isSamePath","ys","joinPaths","join","getCanonicalLocale","lO","getLocale","JK","Z0","URLSearchParams","toString","fromEntries","entries","PasswordConfirmation","Plugins","Util","filePath","generateFilePath","router_dist","Jv","getRootPath","d0","linkTo","uM","linkToOCS","service","version","generateOcsUrl","ocsVersion","linkToRemote","generateRemoteUrl","linkToRemoteBase","realGetRootUrl","subscribe","token","Nextcloud","L10n","Vue","mixin","extend","LoginView","$mount","___CSS_LOADER_EXPORT___","_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default","_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default","module","sources","names","mappings","sourcesContent","sourceRoot","__WEBPACK_DEFAULT_EXPORT__","webpackContext","req","webpackContextResolve","o","keys","exports","__webpack_module_cache__","moduleId","cachedModule","loaded","__webpack_modules__","O","result","chunkIds","priority","notFulfilled","Infinity","fulfilled","j","splice","r","getter","__esModule","definition","f","chunkId","reduce","promises","u","obj","prop","hasOwnProperty","l","script","needAttach","scripts","charset","nc","onScriptComplete","prev","onerror","onload","clearTimeout","timeout","doneFns","parentNode","Symbol","toStringTag","nmd","paths","children","scriptUrl","importScripts","currentScript","tagName","toUpperCase","baseURI","self","installedChunks","installedChunkData","promise","reject","errorType","realSrc","request","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"core-login.js?v=4ac87b6ada1ea2a5fe16","mappings":"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4BC,KAE1DF,EAAA7S,KAAA,CAAAgT,EAAAnmB,GAAA,iGAAwI,IAAOglB,QAAA,EAAAoB,QAAA,4DAAAC,MAAA,GAAAC,SAAA,iDAAAC,eAAA,8GAAmRC,WAAA,MAEla,MAAAC,EAAA,iFCJAT,QAA8BC,GAA4BC,KAE1DF,EAAA7S,KAAA,CAAAgT,EAAAnmB,GAAA,sbAA6d,IAAOglB,QAAA,EAAAoB,QAAA,yCAAAC,MAAA,GAAAC,SAAA,yIAAAC,eAAA,mfAA6tBC,WAAA,MAEjsC,MAAAC,EAAA,iFCJAT,QAA8BC,GAA4BC,KAE1DF,EAAA7S,KAAA,CAAAgT,EAAAnmB,GAAA,2HAOA,IAAOglB,QAAA,EAAAoB,QAAA,6DAAAC,MAAA,GAAAC,SAAA,8CAAiJC,eAAA,+qGAAgrGC,WAAA,MAEx0G,MAAAC,EAAA,gBCdA,IAAAlf,EAAA,CACA,aACA,gBACA,aACA,gBACA,mBACA,gBACA,mBACA,gBACA,mBACA,gBACA,mBACA,eACA,kBACA,gBACA,mBACA,gBACA,mBACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,mBACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,YACA,eACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,mBACA,gBACA,mBACA,gBACA,aACA,gBACA,aACA,gBACA,gBACA,mBACA,gBACA,mBACA,gBACA,mBACA,gBACA,mBACA,gBACA,mBACA,eACA,kBACA,gBACA,mBACA,gBACA,mBACA,aACA,gBACA,aACA,gBACA,mBACA,gBACA,mBACA,gBACA,mBACA,gBACA,YACA,eACA,YACA,eACA,WACA,cACA,aACA,gBACA,cACA,iBACA,aACA,gBACA,aACA,gBACA,mBACA,gBACA,mBACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,mBACA,sBACA,mBACA,sBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,gBACA,mBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,mBACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,mBACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,mBACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,YACA,eACA,aACA,gBACA,mBACA,gBACA,aACA,gBACA,iBACA,oBACA,gBACA,mBACA,aACA,gBACA,aACA,gBACA,mBACA,gBACA,aACA,gBACA,aACA,gBACA,YACA,eACA,aACA,gBACA,aACA,gBACA,YACA,eACA,aACA,gBACA,aACA,gBACA,aACA,iBACA,oBACA,gBACA,YACA,eACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,cACA,iBACA,aACA,gBACA,aACA,gBACA,aACA,gBACA,gBACA,mBACA,cACA,iBACA,aACA,gBACA,cACA,iBACA,cACA,mBACA,sBACA,iBACA,gBACA,mBACA,aACA,gBACA,aACA,gBACA,aACA,kBACA,qBACA,gBACA,aACA,gBACA,mBACA,sBACA,aACA,gBACA,gBACA,mBACA,eACA,kBACA,gBACA,mBACA,gBACA,oBAIA,SAAAmf,EAAAC,GACA,IAAA3mB,EAAA4mB,EAAAD,GACA,OAAAlV,EAAAzR,EACA,CACA,SAAA4mB,EAAAD,GACA,IAAAlV,EAAAoV,EAAAtf,EAAAof,GAAA,CACA,IAAA/a,EAAA,IAAApK,MAAA,uBAAAmlB,EAAA,KAEA,MADA/a,EAAAlK,KAAA,mBACAkK,CACA,CACA,OAAArE,EAAAof,EACA,CACAD,EAAAI,KAAA,WACA,OAAAjlB,OAAAilB,KAAAvf,EACA,EACAmf,EAAA/e,QAAAif,EACAT,EAAAY,QAAAL,EACAA,EAAA1mB,GAAA,QCtSAgnB,EAAA,GAGA,SAAAvV,EAAAwV,GAEA,IAAAC,EA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","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/webpack/runtime/load script","webpack:///nextcloud/core/src/components/login/LoginButton.vue","webpack:///nextcloud/core/src/components/login/LoginButton.vue?vue&type=script&lang=js","webpack://nextcloud/./core/src/components/login/LoginButton.vue?428d","webpack://nextcloud/./core/src/components/login/LoginButton.vue?14f0","webpack://nextcloud/./core/src/components/login/LoginButton.vue?82aa","webpack:///nextcloud/core/src/mixins/auth.js","webpack:///nextcloud/core/src/components/login/LoginForm.vue?vue&type=script&lang=js","webpack:///nextcloud/core/src/components/login/LoginForm.vue","webpack://nextcloud/./core/src/components/login/LoginForm.vue?367b","webpack://nextcloud/./core/src/components/login/LoginForm.vue?a678","webpack://nextcloud/./core/src/components/login/LoginForm.vue?4366","webpack:///nextcloud/node_modules/@simplewebauthn/browser/esm/helpers/browserSupportsWebAuthn.js","webpack:///nextcloud/node_modules/@simplewebauthn/browser/esm/helpers/webAuthnError.js","webpack:///nextcloud/node_modules/@simplewebauthn/browser/esm/helpers/webAuthnAbortService.js","webpack:///nextcloud/node_modules/@simplewebauthn/browser/esm/helpers/bufferToBase64URLString.js","webpack:///nextcloud/node_modules/@simplewebauthn/browser/esm/helpers/base64URLStringToBuffer.js","webpack:///nextcloud/node_modules/@simplewebauthn/browser/esm/helpers/browserSupportsWebAuthnAutofill.js","webpack:///nextcloud/node_modules/@simplewebauthn/browser/esm/helpers/toPublicKeyCredentialDescriptor.js","webpack:///nextcloud/node_modules/@simplewebauthn/browser/esm/helpers/toAuthenticatorAttachment.js","webpack:///nextcloud/node_modules/vue-material-design-icons/LockOpen.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/LockOpen.vue?vue&type=script&lang=js","webpack://nextcloud/./node_modules/vue-material-design-icons/LockOpen.vue?104d","webpack:///nextcloud/node_modules/vue-material-design-icons/LockOpen.vue?vue&type=template&id=d7513faa","webpack:///nextcloud/core/src/logger.js","webpack:///nextcloud/core/src/services/WebAuthnAuthenticationService.ts","webpack:///nextcloud/core/src/components/login/PasswordLessLoginForm.vue","webpack:///nextcloud/core/src/components/login/PasswordLessLoginForm.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/@simplewebauthn/browser/esm/methods/startAuthentication.js","webpack:///nextcloud/node_modules/@simplewebauthn/browser/esm/helpers/identifyAuthenticationError.js","webpack:///nextcloud/node_modules/@simplewebauthn/browser/esm/helpers/isValidDomain.js","webpack://nextcloud/./core/src/components/login/PasswordLessLoginForm.vue?933f","webpack://nextcloud/./core/src/components/login/PasswordLessLoginForm.vue?09eb","webpack://nextcloud/./core/src/components/login/PasswordLessLoginForm.vue?16ec","webpack:///nextcloud/core/src/components/login/ResetPassword.vue?vue&type=script&lang=ts","webpack:///nextcloud/core/src/components/login/ResetPassword.vue","webpack://nextcloud/./core/src/components/login/ResetPassword.vue?e816","webpack://nextcloud/./core/src/components/login/ResetPassword.vue?9d75","webpack:///nextcloud/core/src/components/login/UpdatePassword.vue?vue&type=script&lang=js","webpack:///nextcloud/core/src/components/login/UpdatePassword.vue","webpack://nextcloud/./core/src/components/login/UpdatePassword.vue?84cd","webpack://nextcloud/./core/src/components/login/UpdatePassword.vue?30ca","webpack://nextcloud/./core/src/components/login/UpdatePassword.vue?1c8f","webpack:///nextcloud/core/src/views/Login.vue","webpack:///nextcloud/core/src/utils/xhr-request.js","webpack:///nextcloud/core/src/views/Login.vue?vue&type=script&lang=js","webpack://nextcloud/./core/src/views/Login.vue?6921","webpack://nextcloud/./core/src/views/Login.vue?3468","webpack://nextcloud/./core/src/views/Login.vue?ae59","webpack:///nextcloud/core/src/OC/admin.js","webpack:///nextcloud/core/src/OC/appconfig.js","webpack:///nextcloud/core/src/OC/appswebroots.js","webpack:///nextcloud/core/src/OC/config.js","webpack:///nextcloud/core/src/OC/currentuser.js","webpack:///nextcloud/core/src/OC/debug.js","webpack:///nextcloud/core/src/OC/dialogs.js","webpack:///nextcloud/core/src/OC/requesttoken.ts","webpack:///nextcloud/core/src/OC/eventsource.js","webpack:///nextcloud/core/src/OC/l10n.js","webpack:///nextcloud/core/src/OC/mimeType.js","webpack:///nextcloud/core/src/OC/msg.ts","webpack:///nextcloud/core/src/OC/password-confirmation.js","webpack:///nextcloud/core/src/OC/plugins.js","webpack:///nextcloud/core/src/OC/theme.js","webpack:///nextcloud/core/src/OC/util-history.js","webpack:///nextcloud/core/src/OC/util.js","webpack:///nextcloud/core/src/OC/webroot.js","webpack:///nextcloud/core/src/OC/index.js","webpack:///nextcloud/core/src/OC/constants.js","webpack:///nextcloud/core/src/OC/capabilities.js","webpack:///nextcloud/core/src/OC/query-string.ts","webpack:///nextcloud/core/src/OC/routing.js","webpack:///nextcloud/core/src/mixins/Nextcloud.js","webpack:///nextcloud/core/src/login.js","webpack:///nextcloud/core/src/components/login/LoginButton.vue?vue&type=style&index=0&id=bbf83d00&prod&lang=scss&scoped=true","webpack:///nextcloud/core/src/components/login/LoginForm.vue?vue&type=style&index=0&id=fac76c6a&prod&lang=scss&scoped=true","webpack:///nextcloud/core/src/components/login/PasswordLessLoginForm.vue?vue&type=style&index=0&id=25758ef3&prod&lang=scss&scoped=true","webpack:///nextcloud/core/src/components/login/ResetPassword.vue?vue&type=style&index=0&id=759a0fdd&prod&lang=scss&scoped=true","webpack:///nextcloud/core/src/views/Login.vue?vue&type=style&index=0&id=518c0816&prod&scoped=true&lang=scss","webpack:///nextcloud/core/src/components/login/UpdatePassword.vue?vue&type=style&index=0&id=2c0ecaf9&prod&scoped=true&lang=css","webpack:///nextcloud/node_modules/moment/locale|sync|/^\\.\\/.*$","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};","\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!./LoginButton.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!./LoginButton.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!./LoginButton.vue?vue&type=style&index=0&id=bbf83d00&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!./LoginButton.vue?vue&type=style&index=0&id=bbf83d00&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./LoginButton.vue?vue&type=template&id=bbf83d00&scoped=true\"\nimport script from \"./LoginButton.vue?vue&type=script&lang=js\"\nexport * from \"./LoginButton.vue?vue&type=script&lang=js\"\nimport style0 from \"./LoginButton.vue?vue&type=style&index=0&id=bbf83d00&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 \"bbf83d00\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('NcButton',{attrs:{\"variant\":\"primary\",\"type\":\"submit\",\"wide\":true,\"disabled\":_vm.loading},on:{\"click\":function($event){return _vm.$emit('click')}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [(_vm.loading)?_c('div',{staticClass:\"submit-wrapper__icon icon-loading-small-dark\"}):_c('ArrowRight',{staticClass:\"submit-wrapper__icon\"})]},proxy:true}])},[_vm._v(\"\\n\\t\"+_vm._s(!_vm.loading ? _vm.value : _vm.valueLoading)+\"\\n\\t\")])\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\nexport default {\n\n\tcomputed: {\n\t\tuserNameInputLengthIs255() {\n\t\t\treturn this.user.length >= 255\n\t\t},\n\t\tuserInputHelperText() {\n\t\t\tif (this.userNameInputLengthIs255) {\n\t\t\t\treturn t('core', 'Email length is at max (255)')\n\t\t\t}\n\t\t\treturn undefined\n\t\t},\n\t},\n}\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoginForm.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!./LoginForm.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!./LoginForm.vue?vue&type=style&index=0&id=fac76c6a&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!./LoginForm.vue?vue&type=style&index=0&id=fac76c6a&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./LoginForm.vue?vue&type=template&id=fac76c6a&scoped=true\"\nimport script from \"./LoginForm.vue?vue&type=script&lang=js\"\nexport * from \"./LoginForm.vue?vue&type=script&lang=js\"\nimport style0 from \"./LoginForm.vue?vue&type=style&index=0&id=fac76c6a&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 \"fac76c6a\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('form',{ref:\"loginForm\",staticClass:\"login-form\",attrs:{\"method\":\"post\",\"name\":\"login\",\"action\":_vm.loginActionUrl},on:{\"submit\":_vm.submit}},[_c('fieldset',{staticClass:\"login-form__fieldset\",attrs:{\"data-login-form\":\"\"}},[(_vm.apacheAuthFailed)?_c('NcNoteCard',{attrs:{\"title\":_vm.t('core', 'Server side authentication failed!'),\"type\":\"warning\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('core', 'Please contact your administrator.'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.csrfCheckFailed)?_c('NcNoteCard',{attrs:{\"heading\":_vm.t('core', 'Session error'),\"type\":\"error\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('core', 'It appears your session token has expired, please refresh the page and try again.'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.messages.length > 0)?_c('NcNoteCard',_vm._l((_vm.messages),function(message,index){return _c('div',{key:index},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(message)),_c('br')])}),0):_vm._e(),_vm._v(\" \"),(_vm.internalException)?_c('NcNoteCard',{class:_vm.t('core', 'An internal error occurred.'),attrs:{\"type\":\"warning\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('core', 'Please try again or contact your administrator.'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"hidden\",attrs:{\"id\":\"message\"}},[_c('img',{staticClass:\"float-spinner\",attrs:{\"alt\":\"\",\"src\":_vm.loadingIcon}}),_vm._v(\" \"),_c('span',{attrs:{\"id\":\"messageText\"}}),_vm._v(\" \"),_c('div',{staticStyle:{\"clear\":\"both\"}})]),_vm._v(\" \"),_c('h2',{staticClass:\"login-form__headline\",attrs:{\"data-login-form-headline\":\"\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.headlineText)+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('NcTextField',{ref:\"user\",class:{ shake: _vm.invalidPassword },attrs:{\"id\":\"user\",\"label\":_vm.loginText,\"name\":\"user\",\"maxlength\":255,\"autocapitalize\":\"none\",\"spellchecking\":false,\"autocomplete\":_vm.autoCompleteAllowed ? 'username' : 'off',\"required\":\"\",\"error\":_vm.userNameInputLengthIs255,\"helper-text\":_vm.userInputHelperText,\"data-login-form-input-user\":\"\"},on:{\"change\":_vm.updateUsername},model:{value:(_vm.user),callback:function ($$v) {_vm.user=$$v},expression:\"user\"}}),_vm._v(\" \"),_c('NcPasswordField',{ref:\"password\",class:{ shake: _vm.invalidPassword },attrs:{\"id\":\"password\",\"name\":\"password\",\"spellchecking\":false,\"autocapitalize\":\"none\",\"autocomplete\":_vm.autoCompleteAllowed ? 'current-password' : 'off',\"label\":_vm.t('core', 'Password'),\"helper-text\":_vm.errorLabel,\"error\":_vm.isError,\"visible\":_vm.visible,\"data-login-form-input-password\":\"\",\"required\":\"\"},model:{value:(_vm.password),callback:function ($$v) {_vm.password=$$v},expression:\"password\"}}),_vm._v(\" \"),(_vm.remembermeAllowed)?_c('NcCheckboxRadioSwitch',{ref:\"rememberme\",attrs:{\"id\":\"rememberme\",\"name\":\"rememberme\",\"value\":\"1\",\"data-login-form-input-rememberme\":\"\"},model:{value:(_vm.rememberme),callback:function ($$v) {_vm.rememberme=$$v},expression:\"rememberme\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('core', 'Remember me'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),_c('LoginButton',{attrs:{\"data-login-form-submit\":\"\",\"loading\":_vm.loading}}),_vm._v(\" \"),(_vm.redirectUrl)?_c('input',{attrs:{\"type\":\"hidden\",\"name\":\"redirect_url\"},domProps:{\"value\":_vm.redirectUrl}}):_vm._e(),_vm._v(\" \"),_c('input',{attrs:{\"type\":\"hidden\",\"name\":\"timezone\"},domProps:{\"value\":_vm.timezone}}),_vm._v(\" \"),_c('input',{attrs:{\"type\":\"hidden\",\"name\":\"timezone_offset\"},domProps:{\"value\":_vm.timezoneOffset}}),_vm._v(\" \"),_c('input',{attrs:{\"type\":\"hidden\",\"name\":\"requesttoken\"},domProps:{\"value\":_vm.requestToken}}),_vm._v(\" \"),(_vm.directLogin)?_c('input',{attrs:{\"type\":\"hidden\",\"name\":\"direct\",\"value\":\"1\"}}):_vm._e()],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * Determine if the browser is capable of Webauthn\n */\nexport function browserSupportsWebAuthn() {\n return _browserSupportsWebAuthnInternals.stubThis(globalThis?.PublicKeyCredential !== undefined &&\n typeof globalThis.PublicKeyCredential === 'function');\n}\n/**\n * Make it possible to stub the return value during testing\n * @ignore Don't include this in docs output\n */\nexport const _browserSupportsWebAuthnInternals = {\n stubThis: (value) => value,\n};\n","/**\n * A custom Error used to return a more nuanced error detailing _why_ one of the eight documented\n * errors in the spec was raised after calling `navigator.credentials.create()` or\n * `navigator.credentials.get()`:\n *\n * - `AbortError`\n * - `ConstraintError`\n * - `InvalidStateError`\n * - `NotAllowedError`\n * - `NotSupportedError`\n * - `SecurityError`\n * - `TypeError`\n * - `UnknownError`\n *\n * Error messages were determined through investigation of the spec to determine under which\n * scenarios a given error would be raised.\n */\nexport class WebAuthnError extends Error {\n constructor({ message, code, cause, name, }) {\n // @ts-ignore: help Rollup understand that `cause` is okay to set\n super(message, { cause });\n Object.defineProperty(this, \"code\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n this.name = name ?? cause.name;\n this.code = code;\n }\n}\n","class BaseWebAuthnAbortService {\n constructor() {\n Object.defineProperty(this, \"controller\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n }\n createNewAbortSignal() {\n // Abort any existing calls to navigator.credentials.create() or navigator.credentials.get()\n if (this.controller) {\n const abortError = new Error('Cancelling existing WebAuthn API call for new one');\n abortError.name = 'AbortError';\n this.controller.abort(abortError);\n }\n const newController = new AbortController();\n this.controller = newController;\n return newController.signal;\n }\n cancelCeremony() {\n if (this.controller) {\n const abortError = new Error('Manually cancelling existing WebAuthn API call');\n abortError.name = 'AbortError';\n this.controller.abort(abortError);\n this.controller = undefined;\n }\n }\n}\n/**\n * A service singleton to help ensure that only a single WebAuthn ceremony is active at a time.\n *\n * Users of **@simplewebauthn/browser** shouldn't typically need to use this, but it can help e.g.\n * developers building projects that use client-side routing to better control the behavior of\n * their UX in response to router navigation events.\n */\nexport const WebAuthnAbortService = new BaseWebAuthnAbortService();\n","/**\n * Convert the given array buffer into a Base64URL-encoded string. Ideal for converting various\n * credential response ArrayBuffers to string for sending back to the server as JSON.\n *\n * Helper method to compliment `base64URLStringToBuffer`\n */\nexport function bufferToBase64URLString(buffer) {\n const bytes = new Uint8Array(buffer);\n let str = '';\n for (const charCode of bytes) {\n str += String.fromCharCode(charCode);\n }\n const base64String = btoa(str);\n return base64String.replace(/\\+/g, '-').replace(/\\//g, '_').replace(/=/g, '');\n}\n","/**\n * Convert from a Base64URL-encoded string to an Array Buffer. Best used when converting a\n * credential ID from a JSON string to an ArrayBuffer, like in allowCredentials or\n * excludeCredentials\n *\n * Helper method to compliment `bufferToBase64URLString`\n */\nexport function base64URLStringToBuffer(base64URLString) {\n // Convert from Base64URL to Base64\n const base64 = base64URLString.replace(/-/g, '+').replace(/_/g, '/');\n /**\n * Pad with '=' until it's a multiple of four\n * (4 - (85 % 4 = 1) = 3) % 4 = 3 padding\n * (4 - (86 % 4 = 2) = 2) % 4 = 2 padding\n * (4 - (87 % 4 = 3) = 1) % 4 = 1 padding\n * (4 - (88 % 4 = 0) = 4) % 4 = 0 padding\n */\n const padLength = (4 - (base64.length % 4)) % 4;\n const padded = base64.padEnd(base64.length + padLength, '=');\n // Convert to a binary string\n const binary = atob(padded);\n // Convert binary string to buffer\n const buffer = new ArrayBuffer(binary.length);\n const bytes = new Uint8Array(buffer);\n for (let i = 0; i < binary.length; i++) {\n bytes[i] = binary.charCodeAt(i);\n }\n return buffer;\n}\n","import { browserSupportsWebAuthn } from './browserSupportsWebAuthn.js';\n/**\n * Determine if the browser supports conditional UI, so that WebAuthn credentials can\n * be shown to the user in the browser's typical password autofill popup.\n */\nexport function browserSupportsWebAuthnAutofill() {\n if (!browserSupportsWebAuthn()) {\n return _browserSupportsWebAuthnAutofillInternals.stubThis(new Promise((resolve) => resolve(false)));\n }\n /**\n * I don't like the `as unknown` here but there's a `declare var PublicKeyCredential` in\n * TS' DOM lib that's making it difficult for me to just go `as PublicKeyCredentialFuture` as I\n * want. I think I'm fine with this for now since it's _supposed_ to be temporary, until TS types\n * have a chance to catch up.\n */\n const globalPublicKeyCredential = globalThis\n .PublicKeyCredential;\n if (globalPublicKeyCredential?.isConditionalMediationAvailable === undefined) {\n return _browserSupportsWebAuthnAutofillInternals.stubThis(new Promise((resolve) => resolve(false)));\n }\n return _browserSupportsWebAuthnAutofillInternals.stubThis(globalPublicKeyCredential.isConditionalMediationAvailable());\n}\n// Make it possible to stub the return value during testing\nexport const _browserSupportsWebAuthnAutofillInternals = {\n stubThis: (value) => value,\n};\n","import { base64URLStringToBuffer } from './base64URLStringToBuffer.js';\nexport function toPublicKeyCredentialDescriptor(descriptor) {\n const { id } = descriptor;\n return {\n ...descriptor,\n id: base64URLStringToBuffer(id),\n /**\n * `descriptor.transports` is an array of our `AuthenticatorTransportFuture` that includes newer\n * transports that TypeScript's DOM lib is ignorant of. Convince TS that our list of transports\n * are fine to pass to WebAuthn since browsers will recognize the new value.\n */\n transports: descriptor.transports,\n };\n}\n","const attachments = ['cross-platform', 'platform'];\n/**\n * If possible coerce a `string` value into a known `AuthenticatorAttachment`\n */\nexport function toAuthenticatorAttachment(attachment) {\n if (!attachment) {\n return;\n }\n if (attachments.indexOf(attachment) < 0) {\n return;\n }\n return attachment;\n}\n","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./LockOpen.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./LockOpen.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./LockOpen.vue?vue&type=template&id=d7513faa\"\nimport script from \"./LockOpen.vue?vue&type=script&lang=js\"\nexport * from \"./LockOpen.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 lock-open-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\":\"M18,8A2,2 0 0,1 20,10V20A2,2 0 0,1 18,22H6C4.89,22 4,21.1 4,20V10A2,2 0 0,1 6,8H15V6A3,3 0 0,0 12,3A3,3 0 0,0 9,6H7A5,5 0 0,1 12,1A5,5 0 0,1 17,6V8H18M12,17A2,2 0 0,0 14,15A2,2 0 0,0 12,13A2,2 0 0,0 10,15A2,2 0 0,0 12,17Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { getCurrentUser } from '@nextcloud/auth'\nimport { getLoggerBuilder } from '@nextcloud/logger'\n\n/**\n *\n * @param user\n */\nfunction getLogger(user) {\n\tif (user === null) {\n\t\treturn getLoggerBuilder()\n\t\t\t.setApp('core')\n\t\t\t.build()\n\t}\n\treturn getLoggerBuilder()\n\t\t.setApp('core')\n\t\t.setUid(user.uid)\n\t\t.build()\n}\n\nexport default getLogger(getCurrentUser())\n\nexport const unifiedSearchLogger = getLoggerBuilder()\n\t.setApp('unified-search')\n\t.detectUser()\n\t.build()\n","/**\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport Axios from '@nextcloud/axios';\nimport { generateUrl } from '@nextcloud/router';\nimport { startAuthentication as startWebauthnAuthentication } from '@simplewebauthn/browser';\nimport logger from '../logger.js';\nexport class NoValidCredentials extends Error {\n}\n/**\n * Start webautn authentication\n * This loads the challenge, connects to the authenticator and returns the repose that needs to be sent to the server.\n *\n * @param loginName Name to login\n */\nexport async function startAuthentication(loginName) {\n const url = generateUrl('/login/webauthn/start');\n const { data } = await Axios.post(url, { loginName });\n if (!data.allowCredentials || data.allowCredentials.length === 0) {\n logger.error('No valid credentials returned for webauthn');\n throw new NoValidCredentials();\n }\n return await startWebauthnAuthentication({ optionsJSON: data });\n}\n/**\n * Verify webauthn authentication\n *\n * @param authData The authentication data to sent to the server\n */\nexport async function finishAuthentication(authData) {\n const url = generateUrl('/login/webauthn/finish');\n const { data } = await Axios.post(url, { data: JSON.stringify(authData) });\n return data;\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!./PasswordLessLoginForm.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!./PasswordLessLoginForm.vue?vue&type=script&lang=js\"","import { bufferToBase64URLString } from '../helpers/bufferToBase64URLString.js';\nimport { base64URLStringToBuffer } from '../helpers/base64URLStringToBuffer.js';\nimport { browserSupportsWebAuthn } from '../helpers/browserSupportsWebAuthn.js';\nimport { browserSupportsWebAuthnAutofill } from '../helpers/browserSupportsWebAuthnAutofill.js';\nimport { toPublicKeyCredentialDescriptor } from '../helpers/toPublicKeyCredentialDescriptor.js';\nimport { identifyAuthenticationError } from '../helpers/identifyAuthenticationError.js';\nimport { WebAuthnAbortService } from '../helpers/webAuthnAbortService.js';\nimport { toAuthenticatorAttachment } from '../helpers/toAuthenticatorAttachment.js';\n/**\n * Begin authenticator \"login\" via WebAuthn assertion\n *\n * @param optionsJSON Output from **@simplewebauthn/server**'s `generateAuthenticationOptions()`\n * @param useBrowserAutofill (Optional) Initialize conditional UI to enable logging in via browser autofill prompts. Defaults to `false`.\n * @param verifyBrowserAutofillInput (Optional) Ensure a suitable `` element is present when `useBrowserAutofill` is `true`. Defaults to `true`.\n */\nexport async function startAuthentication(options) {\n // @ts-ignore: Intentionally check for old call structure to warn about improper API call\n if (!options.optionsJSON && options.challenge) {\n console.warn('startAuthentication() was not called correctly. It will try to continue with the provided options, but this call should be refactored to use the expected call structure instead. See https://simplewebauthn.dev/docs/packages/browser#typeerror-cannot-read-properties-of-undefined-reading-challenge for more information.');\n // @ts-ignore: Reassign the options, passed in as a positional argument, to the expected variable\n options = { optionsJSON: options };\n }\n const { optionsJSON, useBrowserAutofill = false, verifyBrowserAutofillInput = true, } = options;\n if (!browserSupportsWebAuthn()) {\n throw new Error('WebAuthn is not supported in this browser');\n }\n // We need to avoid passing empty array to avoid blocking retrieval\n // of public key\n let allowCredentials;\n if (optionsJSON.allowCredentials?.length !== 0) {\n allowCredentials = optionsJSON.allowCredentials?.map(toPublicKeyCredentialDescriptor);\n }\n // We need to convert some values to Uint8Arrays before passing the credentials to the navigator\n const publicKey = {\n ...optionsJSON,\n challenge: base64URLStringToBuffer(optionsJSON.challenge),\n allowCredentials,\n };\n // Prepare options for `.get()`\n const getOptions = {};\n /**\n * Set up the page to prompt the user to select a credential for authentication via the browser's\n * input autofill mechanism.\n */\n if (useBrowserAutofill) {\n if (!(await browserSupportsWebAuthnAutofill())) {\n throw Error('Browser does not support WebAuthn autofill');\n }\n // Check for an with \"webauthn\" in its `autocomplete` attribute\n const eligibleInputs = document.querySelectorAll(\"input[autocomplete$='webauthn']\");\n // WebAuthn autofill requires at least one valid input\n if (eligibleInputs.length < 1 && verifyBrowserAutofillInput) {\n throw Error('No with \"webauthn\" as the only or last value in its `autocomplete` attribute was detected');\n }\n // `CredentialMediationRequirement` doesn't know about \"conditional\" yet as of\n // typescript@4.6.3\n getOptions.mediation = 'conditional';\n // Conditional UI requires an empty allow list\n publicKey.allowCredentials = [];\n }\n // Finalize options\n getOptions.publicKey = publicKey;\n // Set up the ability to cancel this request if the user attempts another\n getOptions.signal = WebAuthnAbortService.createNewAbortSignal();\n // Wait for the user to complete assertion\n let credential;\n try {\n credential = (await navigator.credentials.get(getOptions));\n }\n catch (err) {\n throw identifyAuthenticationError({ error: err, options: getOptions });\n }\n if (!credential) {\n throw new Error('Authentication was not completed');\n }\n const { id, rawId, response, type } = credential;\n let userHandle = undefined;\n if (response.userHandle) {\n userHandle = bufferToBase64URLString(response.userHandle);\n }\n // Convert values to base64 to make it easier to send back to the server\n return {\n id,\n rawId: bufferToBase64URLString(rawId),\n response: {\n authenticatorData: bufferToBase64URLString(response.authenticatorData),\n clientDataJSON: bufferToBase64URLString(response.clientDataJSON),\n signature: bufferToBase64URLString(response.signature),\n userHandle,\n },\n type,\n clientExtensionResults: credential.getClientExtensionResults(),\n authenticatorAttachment: toAuthenticatorAttachment(credential.authenticatorAttachment),\n };\n}\n","import { isValidDomain } from './isValidDomain.js';\nimport { WebAuthnError } from './webAuthnError.js';\n/**\n * Attempt to intuit _why_ an error was raised after calling `navigator.credentials.get()`\n */\nexport function identifyAuthenticationError({ error, options, }) {\n const { publicKey } = options;\n if (!publicKey) {\n throw Error('options was missing required publicKey property');\n }\n if (error.name === 'AbortError') {\n if (options.signal instanceof AbortSignal) {\n // https://www.w3.org/TR/webauthn-2/#sctn-createCredential (Step 16)\n return new WebAuthnError({\n message: 'Authentication ceremony was sent an abort signal',\n code: 'ERROR_CEREMONY_ABORTED',\n cause: error,\n });\n }\n }\n else if (error.name === 'NotAllowedError') {\n /**\n * Pass the error directly through. Platforms are overloading this error beyond what the spec\n * defines and we don't want to overwrite potentially useful error messages.\n */\n return new WebAuthnError({\n message: error.message,\n code: 'ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY',\n cause: error,\n });\n }\n else if (error.name === 'SecurityError') {\n const effectiveDomain = globalThis.location.hostname;\n if (!isValidDomain(effectiveDomain)) {\n // https://www.w3.org/TR/webauthn-2/#sctn-discover-from-external-source (Step 5)\n return new WebAuthnError({\n message: `${globalThis.location.hostname} is an invalid domain`,\n code: 'ERROR_INVALID_DOMAIN',\n cause: error,\n });\n }\n else if (publicKey.rpId !== effectiveDomain) {\n // https://www.w3.org/TR/webauthn-2/#sctn-discover-from-external-source (Step 6)\n return new WebAuthnError({\n message: `The RP ID \"${publicKey.rpId}\" is invalid for this domain`,\n code: 'ERROR_INVALID_RP_ID',\n cause: error,\n });\n }\n }\n else if (error.name === 'UnknownError') {\n // https://www.w3.org/TR/webauthn-2/#sctn-op-get-assertion (Step 1)\n // https://www.w3.org/TR/webauthn-2/#sctn-op-get-assertion (Step 12)\n return new WebAuthnError({\n message: 'The authenticator was unable to process the specified options, or could not create a new assertion signature',\n code: 'ERROR_AUTHENTICATOR_GENERAL_ERROR',\n cause: error,\n });\n }\n return error;\n}\n","/**\n * A simple test to determine if a hostname is a properly-formatted domain name\n *\n * A \"valid domain\" is defined here: https://url.spec.whatwg.org/#valid-domain\n *\n * Regex was originally sourced from here, then remixed to add punycode support:\n * https://www.oreilly.com/library/view/regular-expressions-cookbook/9781449327453/ch08s15.html\n */\nexport function isValidDomain(hostname) {\n return (\n // Consider localhost valid as well since it's okay wrt Secure Contexts\n hostname === 'localhost' ||\n // Support punycode (ACE) or ascii labels and domains\n /^((xn--[a-z0-9-]+|[a-z0-9]+(-[a-z0-9]+)*)\\.)+([a-z]{2,}|xn--[a-z0-9-]+)$/i.test(hostname));\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!./PasswordLessLoginForm.vue?vue&type=style&index=0&id=25758ef3&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!./PasswordLessLoginForm.vue?vue&type=style&index=0&id=25758ef3&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./PasswordLessLoginForm.vue?vue&type=template&id=25758ef3&scoped=true\"\nimport script from \"./PasswordLessLoginForm.vue?vue&type=script&lang=js\"\nexport * from \"./PasswordLessLoginForm.vue?vue&type=script&lang=js\"\nimport style0 from \"./PasswordLessLoginForm.vue?vue&type=style&index=0&id=25758ef3&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 \"25758ef3\",\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.isHttps || _vm.isLocalhost) && _vm.supportsWebauthn)?_c('form',{ref:\"loginForm\",staticClass:\"password-less-login-form\",attrs:{\"aria-labelledby\":\"password-less-login-form-title\",\"method\":\"post\",\"name\":\"login\"},on:{\"submit\":function($event){$event.preventDefault();return _vm.submit.apply(null, arguments)}}},[_c('h2',{attrs:{\"id\":\"password-less-login-form-title\"}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('core', 'Log in with a device'))+\"\\n\\t\")]),_vm._v(\" \"),_c('NcTextField',{attrs:{\"required\":\"\",\"model-value\":_vm.user,\"autocomplete\":_vm.autoCompleteAllowed ? 'on' : 'off',\"error\":!_vm.validCredentials,\"label\":_vm.t('core', 'Login or email'),\"placeholder\":_vm.t('core', 'Login or email'),\"helper-text\":!_vm.validCredentials ? _vm.t('core', 'Your account is not setup for passwordless login.') : ''},on:{\"update:value\":_vm.changeUsername}}),_vm._v(\" \"),(_vm.validCredentials)?_c('LoginButton',{attrs:{\"loading\":_vm.loading},on:{\"click\":_vm.authenticate}}):_vm._e()],1):(!_vm.isHttps && !_vm.isLocalhost)?_c('NcEmptyContent',{attrs:{\"name\":_vm.t('core', 'Your connection is not secure'),\"description\":_vm.t('core', 'Passwordless authentication is only available over a secure connection.')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('LockOpenIcon')]},proxy:true}])}):_c('NcEmptyContent',{attrs:{\"name\":_vm.t('core', 'Browser not supported'),\"description\":_vm.t('core', 'Passwordless authentication is not supported in your browser.')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('InformationIcon')]},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-6.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ResetPassword.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-6.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ResetPassword.vue?vue&type=script&lang=ts\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('form',{staticClass:\"reset-password-form\",on:{\"submit\":function($event){$event.preventDefault();return _vm.submit.apply(null, arguments)}}},[_c('h2',[_vm._v(_vm._s(_vm.t('core', 'Reset password')))]),_vm._v(\" \"),_c('NcTextField',{attrs:{\"id\":\"user\",\"name\":\"user\",\"maxlength\":255,\"autocapitalize\":\"off\",\"label\":_vm.t('core', 'Login or email'),\"error\":_vm.userNameInputLengthIs255,\"helper-text\":_vm.userInputHelperText,\"required\":\"\"},on:{\"change\":_vm.updateUsername},model:{value:(_vm.user),callback:function ($$v) {_vm.user=$$v},expression:\"user\"}}),_vm._v(\" \"),_c('LoginButton',{attrs:{\"loading\":_vm.loading,\"value\":_vm.t('core', 'Reset password')}}),_vm._v(\" \"),_c('NcButton',{attrs:{\"variant\":\"tertiary\",\"wide\":\"\"},on:{\"click\":function($event){return _vm.$emit('abort')}}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('core', 'Back to login'))+\"\\n\\t\")]),_vm._v(\" \"),(_vm.message === 'send-success')?_c('NcNoteCard',{attrs:{\"type\":\"success\"}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('core', 'If this account exists, a password reset message has been sent to its email address. If you do not receive it, verify your email address and/or Login, check your spam/junk folders or ask your local administration for help.'))+\"\\n\\t\")]):(_vm.message === 'send-error')?_c('NcNoteCard',{attrs:{\"type\":\"error\"}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('core', 'Couldn\\'t send reset email. Please contact your administrator.'))+\"\\n\\t\")]):(_vm.message === 'reset-error')?_c('NcNoteCard',{attrs:{\"type\":\"error\"}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('core', 'Password cannot be changed. Please contact your administrator.'))+\"\\n\\t\")]):_vm._e()],1)\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!./ResetPassword.vue?vue&type=style&index=0&id=759a0fdd&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!./ResetPassword.vue?vue&type=style&index=0&id=759a0fdd&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./ResetPassword.vue?vue&type=template&id=759a0fdd&scoped=true\"\nimport script from \"./ResetPassword.vue?vue&type=script&lang=ts\"\nexport * from \"./ResetPassword.vue?vue&type=script&lang=ts\"\nimport style0 from \"./ResetPassword.vue?vue&type=style&index=0&id=759a0fdd&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 \"759a0fdd\",\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!./UpdatePassword.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!./UpdatePassword.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/vue-loader/lib/index.js??vue-loader-options!./UpdatePassword.vue?vue&type=style&index=0&id=2c0ecaf9&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!./UpdatePassword.vue?vue&type=style&index=0&id=2c0ecaf9&prod&scoped=true&lang=css\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./UpdatePassword.vue?vue&type=template&id=2c0ecaf9&scoped=true\"\nimport script from \"./UpdatePassword.vue?vue&type=script&lang=js\"\nexport * from \"./UpdatePassword.vue?vue&type=script&lang=js\"\nimport style0 from \"./UpdatePassword.vue?vue&type=style&index=0&id=2c0ecaf9&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 \"2c0ecaf9\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.submit.apply(null, arguments)}}},[_c('fieldset',[_c('p',[_c('label',{staticClass:\"infield\",attrs:{\"for\":\"password\"}},[_vm._v(_vm._s(_vm.t('core', 'New password')))]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.password),expression:\"password\"}],attrs:{\"id\":\"password\",\"type\":\"password\",\"name\":\"password\",\"autocomplete\":\"new-password\",\"autocapitalize\":\"none\",\"spellcheck\":\"false\",\"required\":\"\",\"placeholder\":_vm.t('core', 'New password')},domProps:{\"value\":(_vm.password)},on:{\"input\":function($event){if($event.target.composing)return;_vm.password=$event.target.value}}})]),_vm._v(\" \"),(_vm.encrypted)?_c('div',{staticClass:\"update\"},[_c('p',[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('core', 'Your files are encrypted. There will be no way to get your data back after your password is reset. If you are not sure what to do, please contact your administrator before you continue. Do you really want to continue?'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.proceed),expression:\"proceed\"}],staticClass:\"checkbox\",attrs:{\"id\":\"encrypted-continue\",\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.proceed)?_vm._i(_vm.proceed,null)>-1:(_vm.proceed)},on:{\"change\":function($event){var $$a=_vm.proceed,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.proceed=$$a.concat([$$v]))}else{$$i>-1&&(_vm.proceed=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.proceed=$$c}}}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":\"encrypted-continue\"}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('core', 'I know what I\\'m doing'))+\"\\n\\t\\t\\t\")])]):_vm._e(),_vm._v(\" \"),_c('LoginButton',{attrs:{\"loading\":_vm.loading,\"value\":_vm.t('core', 'Reset password'),\"value-loading\":_vm.t('core', 'Resetting password')}}),_vm._v(\" \"),(_vm.error && _vm.message)?_c('p',{class:{ warning: _vm.error }},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.message)+\"\\n\\t\\t\")]):_vm._e()],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { getCurrentUser } from '@nextcloud/auth'\nimport { generateUrl, getRootUrl } from '@nextcloud/router'\nimport logger from '../logger.js'\n\n/**\n *\n * @param {string} url the URL to check\n * @return {boolean}\n */\nfunction isRelativeUrl(url) {\n\treturn !url.startsWith('https://') && !url.startsWith('http://')\n}\n\n/**\n * @param {string} url The URL to check\n * @return {boolean} true if the URL points to this nextcloud instance\n */\nfunction isNextcloudUrl(url) {\n\tconst nextcloudBaseUrl = window.location.protocol + '//' + window.location.host + getRootUrl()\n\t// if the URL is absolute and starts with the baseUrl+rootUrl\n\t// OR if the URL is relative and starts with rootUrl\n\treturn url.startsWith(nextcloudBaseUrl)\n\t\t|| (isRelativeUrl(url) && url.startsWith(getRootUrl()))\n}\n\n/**\n * Check if a user was logged in but is now logged-out.\n * If this is the case then the user will be forwarded to the login page.\n *\n * @return {Promise}\n */\nasync function checkLoginStatus() {\n\t// skip if no logged in user\n\tif (getCurrentUser() === null) {\n\t\treturn\n\t}\n\n\t// skip if already running\n\tif (checkLoginStatus.running === true) {\n\t\treturn\n\t}\n\n\t// only run one request in parallel\n\tcheckLoginStatus.running = true\n\n\ttry {\n\t\t// We need to check this as a 401 in the first place could also come from other reasons\n\t\tconst { status } = await window.fetch(generateUrl('/apps/files'))\n\t\tif (status === 401) {\n\t\t\tlogger.warn('User session was terminated, forwarding to login page.')\n\t\t\tawait wipeBrowserStorages()\n\t\t\twindow.location = generateUrl('/login?redirect_url={url}', {\n\t\t\t\turl: window.location.pathname + window.location.search + window.location.hash,\n\t\t\t})\n\t\t}\n\t} catch (error) {\n\t\tlogger.warn('Could not check login-state', { error })\n\t} finally {\n\t\tdelete checkLoginStatus.running\n\t}\n}\n\n/**\n * Clear all Browser storages connected to current origin.\n *\n * @return {Promise}\n */\nexport async function wipeBrowserStorages() {\n\ttry {\n\t\twindow.localStorage.clear()\n\t\twindow.sessionStorage.clear()\n\t\tconst indexedDBList = await window.indexedDB.databases()\n\t\tfor (const indexedDB of indexedDBList) {\n\t\t\tawait window.indexedDB.deleteDatabase(indexedDB.name)\n\t\t}\n\t\tlogger.debug('Browser storages cleared')\n\t} catch (error) {\n\t\tlogger.error('Could not clear browser storages', { error })\n\t}\n}\n\n/**\n * Intercept XMLHttpRequest and fetch API calls to add X-Requested-With header\n *\n * This is also done in @nextcloud/axios but not all requests pass through that\n */\nexport function interceptRequests() {\n\tXMLHttpRequest.prototype.open = (function(open) {\n\t\treturn function(method, url) {\n\t\t\topen.apply(this, arguments)\n\t\t\tif (isNextcloudUrl(url)) {\n\t\t\t\tif (!this.getResponseHeader('X-Requested-With')) {\n\t\t\t\t\tthis.setRequestHeader('X-Requested-With', 'XMLHttpRequest')\n\t\t\t\t}\n\t\t\t\tthis.addEventListener('loadend', function() {\n\t\t\t\t\tif (this.status === 401) {\n\t\t\t\t\t\tcheckLoginStatus()\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t})(XMLHttpRequest.prototype.open)\n\n\twindow.fetch = (function(fetch) {\n\t\treturn async (resource, options) => {\n\t\t\t// fetch allows the `input` to be either a Request object or any stringifyable value\n\t\t\tif (!isNextcloudUrl(resource.url ?? resource.toString())) {\n\t\t\t\treturn await fetch(resource, options)\n\t\t\t}\n\t\t\tif (!options) {\n\t\t\t\toptions = {}\n\t\t\t}\n\t\t\tif (!options.headers) {\n\t\t\t\toptions.headers = new Headers()\n\t\t\t}\n\n\t\t\tif (options.headers instanceof Headers && !options.headers.has('X-Requested-With')) {\n\t\t\t\toptions.headers.append('X-Requested-With', 'XMLHttpRequest')\n\t\t\t} else if (options.headers instanceof Object && !options.headers['X-Requested-With']) {\n\t\t\t\toptions.headers['X-Requested-With'] = 'XMLHttpRequest'\n\t\t\t}\n\n\t\t\tconst response = await fetch(resource, options)\n\t\t\tif (response.status === 401) {\n\t\t\t\tcheckLoginStatus()\n\t\t\t}\n\t\t\treturn response\n\t\t}\n\t})(window.fetch)\n}\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Login.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!./Login.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!./Login.vue?vue&type=style&index=0&id=518c0816&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!./Login.vue?vue&type=style&index=0&id=518c0816&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./Login.vue?vue&type=template&id=518c0816&scoped=true\"\nimport script from \"./Login.vue?vue&type=script&lang=js\"\nexport * from \"./Login.vue?vue&type=script&lang=js\"\nimport style0 from \"./Login.vue?vue&type=style&index=0&id=518c0816&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 \"518c0816\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"guest-box login-box\"},[(!_vm.hideLoginForm || _vm.directLogin)?[_c('transition',{attrs:{\"name\":\"fade\",\"mode\":\"out-in\"}},[(!_vm.passwordlessLogin && !_vm.resetPassword && _vm.resetPasswordTarget === '')?_c('div',{staticClass:\"login-box__wrapper\"},[_c('LoginForm',{attrs:{\"username\":_vm.user,\"redirect-url\":_vm.redirectUrl,\"direct-login\":_vm.directLogin,\"messages\":_vm.messages,\"errors\":_vm.errors,\"throttle-delay\":_vm.throttleDelay,\"auto-complete-allowed\":_vm.autoCompleteAllowed,\"rememberme-allowed\":_vm.remembermeAllowed,\"email-states\":_vm.emailStates},on:{\"update:username\":function($event){_vm.user=$event},\"submit\":function($event){_vm.loading = true}}}),_vm._v(\" \"),(_vm.hasPasswordless)?_c('NcButton',{attrs:{\"variant\":\"tertiary\",\"wide\":\"\"},on:{\"click\":function($event){$event.preventDefault();_vm.passwordlessLogin = true}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('core', 'Log in with a device'))+\"\\n\\t\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.canResetPassword && _vm.resetPasswordLink !== '')?_c('NcButton',{attrs:{\"id\":\"lost-password\",\"href\":_vm.resetPasswordLink,\"variant\":\"tertiary-no-background\",\"wide\":\"\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('core', 'Forgot password?'))+\"\\n\\t\\t\\t\\t\")]):(_vm.canResetPassword && !_vm.resetPassword)?_c('NcButton',{attrs:{\"id\":\"lost-password\",\"variant\":\"tertiary\",\"wide\":\"\"},on:{\"click\":function($event){$event.preventDefault();_vm.resetPassword = true}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('core', 'Forgot password?'))+\"\\n\\t\\t\\t\\t\")]):_vm._e()],1):(!_vm.loading && _vm.passwordlessLogin)?_c('div',{key:\"reset-pw-less\",staticClass:\"login-additional login-box__wrapper\"},[_c('PasswordLessLoginForm',{attrs:{\"username\":_vm.user,\"redirect-url\":_vm.redirectUrl,\"auto-complete-allowed\":_vm.autoCompleteAllowed,\"is-https\":_vm.isHttps,\"is-localhost\":_vm.isLocalhost},on:{\"update:username\":function($event){_vm.user=$event},\"submit\":function($event){_vm.loading = true}}}),_vm._v(\" \"),_c('NcButton',{attrs:{\"variant\":\"tertiary\",\"aria-label\":_vm.t('core', 'Back to login form'),\"wide\":true},on:{\"click\":function($event){_vm.passwordlessLogin = false}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('core', 'Back'))+\"\\n\\t\\t\\t\\t\")])],1):(!_vm.loading && _vm.canResetPassword)?_c('div',{key:\"reset-can-reset\",staticClass:\"login-additional\"},[_c('div',{staticClass:\"lost-password-container\"},[(_vm.resetPassword)?_c('ResetPassword',{attrs:{\"username\":_vm.user,\"reset-password-link\":_vm.resetPasswordLink},on:{\"update:username\":function($event){_vm.user=$event},\"abort\":function($event){_vm.resetPassword = false}}}):_vm._e()],1)]):(_vm.resetPasswordTarget !== '')?_c('div',[_c('UpdatePassword',{attrs:{\"username\":_vm.user,\"reset-password-target\":_vm.resetPasswordTarget},on:{\"update:username\":function($event){_vm.user=$event},\"done\":_vm.passwordResetFinished}})],1):_vm._e()])]:[_c('transition',{attrs:{\"name\":\"fade\",\"mode\":\"out-in\"}},[_c('NcNoteCard',{attrs:{\"type\":\"info\",\"title\":_vm.t('core', 'Login form is disabled.')}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('core', 'The Nextcloud login form is disabled. Use another login option if available or contact your administration.'))+\"\\n\\t\\t\\t\")])],1)],_vm._v(\" \"),_c('div',{staticClass:\"login-box__alternative-logins\",attrs:{\"id\":\"alternative-logins\"}},_vm._l((_vm.alternativeLogins),function(alternativeLogin,index){return _c('NcButton',{key:index,class:[alternativeLogin.class],attrs:{\"variant\":\"secondary\",\"wide\":true,\"role\":\"link\",\"href\":alternativeLogin.href}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(alternativeLogin.name)+\"\\n\\t\\t\")])}),1)],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nconst isAdmin = !!window._oc_isadmin\n\n/**\n * Returns whether the current user is an administrator\n *\n * @return {boolean} true if the user is an admin, false otherwise\n * @since 9.0.0\n */\nexport const isUserAdmin = () => isAdmin\n","/*!\n * SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors\n * SPDX-FileCopyrightText: 2014 ownCloud, Inc.\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\n/**\n * @deprecated 16.0.0 Use OCP.AppConfig instead\n */\nexport const appConfig = window.oc_appconfig || {}\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nconst appswebroots = (window._oc_appswebroots !== undefined) ? window._oc_appswebroots : false\n\nexport default appswebroots\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nconst config = window._oc_config || {}\n\nexport default config\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nconst rawUid = document\n\t.getElementsByTagName('head')[0]\n\t.getAttribute('data-user')\nconst displayName = document\n\t.getElementsByTagName('head')[0]\n\t.getAttribute('data-user-displayname')\n\nexport const currentUser = rawUid !== undefined ? rawUid : false\n\n/**\n *\n */\nexport function getCurrentUser() {\n\treturn {\n\t\tuid: currentUser,\n\t\tdisplayName,\n\t}\n}\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nconst base = window._oc_debug\n\nexport const debug = base\n","/**\n * SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors\n * SPDX-FileCopyrightText: 2015 ownCloud, Inc.\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport IconMove from '@mdi/svg/svg/folder-move.svg?raw'\nimport IconCopy from '@mdi/svg/svg/folder-multiple-outline.svg?raw'\nimport { DialogBuilder, FilePickerType, getFilePickerBuilder } from '@nextcloud/dialogs'\nimport { t } from '@nextcloud/l10n'\nimport { spawnDialog } from '@nextcloud/vue/functions/dialog'\nimport { basename } from 'path'\nimport { defineAsyncComponent } from 'vue'\nimport logger from '../logger.js'\n\n/**\n * this class to ease the usage of dialogs\n */\nconst Dialogs = {\n\t// dialog button types\n\t/** @deprecated use `@nextcloud/dialogs` */\n\tYES_NO_BUTTONS: 70,\n\t/** @deprecated use `@nextcloud/dialogs` */\n\tOK_BUTTONS: 71,\n\n\t/** @deprecated use FilePickerType from `@nextcloud/dialogs` */\n\tFILEPICKER_TYPE_CHOOSE: 1,\n\t/** @deprecated use FilePickerType from `@nextcloud/dialogs` */\n\tFILEPICKER_TYPE_MOVE: 2,\n\t/** @deprecated use FilePickerType from `@nextcloud/dialogs` */\n\tFILEPICKER_TYPE_COPY: 3,\n\t/** @deprecated use FilePickerType from `@nextcloud/dialogs` */\n\tFILEPICKER_TYPE_COPY_MOVE: 4,\n\t/** @deprecated use FilePickerType from `@nextcloud/dialogs` */\n\tFILEPICKER_TYPE_CUSTOM: 5,\n\n\t/**\n\t * displays alert dialog\n\t *\n\t * @param {string} text content of dialog\n\t * @param {string} title dialog title\n\t * @param {Function} callback which will be triggered when user presses OK\n\t * @param {boolean} [modal] make the dialog modal\n\t *\n\t * @deprecated 30.0.0 Use `@nextcloud/dialogs` instead or build your own with `@nextcloud/vue` NcDialog\n\t */\n\talert: function(text, title, callback, modal) {\n\t\tthis.message(\n\t\t\ttext,\n\t\t\ttitle,\n\t\t\t'alert',\n\t\t\tDialogs.OK_BUTTON,\n\t\t\tcallback,\n\t\t\tmodal,\n\t\t)\n\t},\n\n\t/**\n\t * displays info dialog\n\t *\n\t * @param {string} text content of dialog\n\t * @param {string} title dialog title\n\t * @param {Function} callback which will be triggered when user presses OK\n\t * @param {boolean} [modal] make the dialog modal\n\t *\n\t * @deprecated 30.0.0 Use `@nextcloud/dialogs` instead or build your own with `@nextcloud/vue` NcDialog\n\t */\n\tinfo: function(text, title, callback, modal) {\n\t\tthis.message(text, title, 'info', Dialogs.OK_BUTTON, callback, modal)\n\t},\n\n\t/**\n\t * displays confirmation dialog\n\t *\n\t * @param {string} text content of dialog\n\t * @param {string} title dialog title\n\t * @param {Function} callback which will be triggered when user presses OK (true or false would be passed to callback respectively)\n\t * @param {boolean} [modal] make the dialog modal\n\t * @return {Promise}\n\t *\n\t * @deprecated 30.0.0 Use `@nextcloud/dialogs` instead or build your own with `@nextcloud/vue` NcDialog\n\t */\n\tconfirm: function(text, title, callback, modal) {\n\t\treturn this.message(\n\t\t\ttext,\n\t\t\ttitle,\n\t\t\t'notice',\n\t\t\tDialogs.YES_NO_BUTTONS,\n\t\t\tcallback,\n\t\t\tmodal,\n\t\t)\n\t},\n\t/**\n\t * displays confirmation dialog\n\t *\n\t * @param {string} text content of dialog\n\t * @param {string} title dialog title\n\t * @param {(number|{type: number, confirm: string, cancel: string, confirmClasses: string})} buttons text content of buttons\n\t * @param {Function} callback which will be triggered when user presses OK (true or false would be passed to callback respectively)\n\t * @return {Promise}\n\t *\n\t * @deprecated 30.0.0 Use `@nextcloud/dialogs` instead or build your own with `@nextcloud/vue` NcDialog\n\t */\n\tconfirmDestructive: function(text, title, buttons = Dialogs.OK_BUTTONS, callback = () => {}) {\n\t\treturn (new DialogBuilder())\n\t\t\t.setName(title)\n\t\t\t.setText(text)\n\t\t\t.setButtons(buttons === Dialogs.OK_BUTTONS\n\t\t\t\t? [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: t('core', 'Yes'),\n\t\t\t\t\t\t\tvariant: 'error',\n\t\t\t\t\t\t\tcallback: () => {\n\t\t\t\t\t\t\t\tcallback.clicked = true\n\t\t\t\t\t\t\t\tcallback(true)\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t]\n\t\t\t\t: Dialogs._getLegacyButtons(buttons, callback))\n\t\t\t.build()\n\t\t\t.show()\n\t\t\t.then(() => {\n\t\t\t\tif (!callback.clicked) {\n\t\t\t\t\tcallback(false)\n\t\t\t\t}\n\t\t\t})\n\t},\n\t/**\n\t * displays confirmation dialog\n\t *\n\t * @param {string} text content of dialog\n\t * @param {string} title dialog title\n\t * @param {Function} callback which will be triggered when user presses OK (true or false would be passed to callback respectively)\n\t * @return {Promise}\n\t *\n\t * @deprecated 30.0.0 Use `@nextcloud/dialogs` instead or build your own with `@nextcloud/vue` NcDialog\n\t */\n\tconfirmHtml: function(text, title, callback) {\n\t\treturn (new DialogBuilder())\n\t\t\t.setName(title)\n\t\t\t.setText('')\n\t\t\t.setButtons([\n\t\t\t\t{\n\t\t\t\t\tlabel: t('core', 'No'),\n\t\t\t\t\tcallback: () => {},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: t('core', 'Yes'),\n\t\t\t\t\tvariant: 'primary',\n\t\t\t\t\tcallback: () => {\n\t\t\t\t\t\tcallback.clicked = true\n\t\t\t\t\t\tcallback(true)\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t])\n\t\t\t.build()\n\t\t\t.setHTML(text)\n\t\t\t.show()\n\t\t\t.then(() => {\n\t\t\t\tif (!callback.clicked) {\n\t\t\t\t\tcallback(false)\n\t\t\t\t}\n\t\t\t})\n\t},\n\t/**\n\t * displays prompt dialog\n\t *\n\t * @param {string} text content of dialog\n\t * @param {string} title dialog title\n\t * @param {Function} callback which will be triggered when user presses OK (true or false would be passed to callback respectively)\n\t * @param {boolean} [modal] make the dialog modal\n\t * @param {string} name name of the input field\n\t * @param {boolean} password whether the input should be a password input\n\t * @return {Promise}\n\t *\n\t * @deprecated Use NcDialog from `@nextcloud/vue` instead\n\t */\n\tprompt: function(text, title, callback, modal, name, password) {\n\t\treturn new Promise((resolve) => {\n\t\t\tspawnDialog(\n\t\t\t\tdefineAsyncComponent(() => import('../components/LegacyDialogPrompt.vue')),\n\t\t\t\t{\n\t\t\t\t\ttext,\n\t\t\t\t\tname: title,\n\t\t\t\t\tcallback,\n\t\t\t\t\tinputName: name,\n\t\t\t\t\tisPassword: !!password,\n\t\t\t\t},\n\t\t\t\t(...args) => {\n\t\t\t\t\tcallback(...args)\n\t\t\t\t\tresolve()\n\t\t\t\t},\n\t\t\t)\n\t\t})\n\t},\n\n\t/**\n\t * Legacy wrapper to the new Vue based filepicker from `@nextcloud/dialogs`\n\t *\n\t * Prefer to use the Vue filepicker directly instead.\n\t *\n\t * In order to pick several types of mime types they need to be passed as an\n\t * array of strings.\n\t *\n\t * When no mime type filter is given only files can be selected. In order to\n\t * be able to select both files and folders \"['*', 'httpd/unix-directory']\"\n\t * should be used instead.\n\t *\n\t * @param {string} title dialog title\n\t * @param {Function} callback which will be triggered when user presses Choose\n\t * @param {boolean} [multiselect] whether it should be possible to select multiple files\n\t * @param {string[]} [mimetype] mimetype to filter by - directories will always be included\n\t * @param {boolean} [_modal] do not use\n\t * @param {string} [type] Type of file picker : Choose, copy, move, copy and move\n\t * @param {string} [path] path to the folder that the the file can be picket from\n\t * @param {object} [options] additional options that need to be set\n\t * @param {Function} [options.filter] filter function for advanced filtering\n\t * @param {boolean} [options.allowDirectoryChooser] Allow to select directories\n\t * @deprecated since 27.1.0 use the filepicker from `@nextcloud/dialogs` instead\n\t */\n\t// eslint-disable-next-line no-unused-vars\n\tfilepicker(title, callback, multiselect = false, mimetype = undefined, _modal = undefined, type = FilePickerType.Choose, path = undefined, options = undefined) {\n\t\t/**\n\t\t * Create legacy callback wrapper to support old filepicker syntax\n\t\t *\n\t\t * @param fn The original callback\n\t\t * @param type The file picker type which was used to pick the file(s)\n\t\t */\n\t\tconst legacyCallback = (fn, type) => {\n\t\t\tconst getPath = (node) => {\n\t\t\t\tconst root = node?.root || ''\n\t\t\t\tlet path = node?.path || ''\n\t\t\t\t// TODO: Fix this in @nextcloud/files\n\t\t\t\tif (path.startsWith(root)) {\n\t\t\t\t\tpath = path.slice(root.length) || '/'\n\t\t\t\t}\n\t\t\t\treturn path\n\t\t\t}\n\n\t\t\tif (multiselect) {\n\t\t\t\treturn (nodes) => fn(nodes.map(getPath), type)\n\t\t\t} else {\n\t\t\t\treturn (nodes) => fn(getPath(nodes[0]), type)\n\t\t\t}\n\t\t}\n\n\t\t/**\n\t\t * Converting a Node into a legacy file info to support the OC.dialogs.filepicker filter function\n\t\t *\n\t\t * @param node The node to convert\n\t\t */\n\t\tconst nodeToLegacyFile = (node) => ({\n\t\t\tid: node.fileid || null,\n\t\t\tpath: node.path,\n\t\t\tmimetype: node.mime || null,\n\t\t\tmtime: node.mtime?.getTime() || null,\n\t\t\tpermissions: node.permissions,\n\t\t\tname: node.attributes?.displayName || node.basename,\n\t\t\tetag: node.attributes?.etag || null,\n\t\t\thasPreview: node.attributes?.hasPreview || null,\n\t\t\tmountType: node.attributes?.mountType || null,\n\t\t\tquotaAvailableBytes: node.attributes?.quotaAvailableBytes || null,\n\t\t\ticon: null,\n\t\t\tsharePermissions: null,\n\t\t})\n\n\t\tconst builder = getFilePickerBuilder(title)\n\n\t\t// Setup buttons\n\t\tif (type === this.FILEPICKER_TYPE_CUSTOM) {\n\t\t\t(options.buttons || []).forEach((button) => {\n\t\t\t\tbuilder.addButton({\n\t\t\t\t\tcallback: legacyCallback(callback, button.type),\n\t\t\t\t\tlabel: button.text,\n\t\t\t\t\tvariant: button.defaultButton ? 'primary' : 'secondary',\n\t\t\t\t})\n\t\t\t})\n\t\t} else {\n\t\t\tbuilder.setButtonFactory((nodes, path) => {\n\t\t\t\tconst buttons = []\n\t\t\t\tconst [node] = nodes\n\t\t\t\tconst target = node?.displayname || node?.basename || basename(path)\n\n\t\t\t\tif (type === FilePickerType.Choose) {\n\t\t\t\t\tbuttons.push({\n\t\t\t\t\t\tcallback: legacyCallback(callback, FilePickerType.Choose),\n\t\t\t\t\t\tlabel: node && !this.multiSelect ? t('core', 'Choose {file}', { file: target }) : t('core', 'Choose'),\n\t\t\t\t\t\tvariant: 'primary',\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\tif (type === FilePickerType.CopyMove || type === FilePickerType.Copy) {\n\t\t\t\t\tbuttons.push({\n\t\t\t\t\t\tcallback: legacyCallback(callback, FilePickerType.Copy),\n\t\t\t\t\t\tlabel: target ? t('core', 'Copy to {target}', { target }) : t('core', 'Copy'),\n\t\t\t\t\t\tvariant: 'primary',\n\t\t\t\t\t\ticon: IconCopy,\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\tif (type === FilePickerType.Move || type === FilePickerType.CopyMove) {\n\t\t\t\t\tbuttons.push({\n\t\t\t\t\t\tcallback: legacyCallback(callback, FilePickerType.Move),\n\t\t\t\t\t\tlabel: target ? t('core', 'Move to {target}', { target }) : t('core', 'Move'),\n\t\t\t\t\t\tvariant: type === FilePickerType.Move ? 'primary' : 'secondary',\n\t\t\t\t\t\ticon: IconMove,\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\treturn buttons\n\t\t\t})\n\t\t}\n\n\t\tif (mimetype) {\n\t\t\tbuilder.setMimeTypeFilter(typeof mimetype === 'string' ? [mimetype] : (mimetype || []))\n\t\t}\n\t\tif (typeof options?.filter === 'function') {\n\t\t\tbuilder.setFilter((node) => options.filter(nodeToLegacyFile(node)))\n\t\t}\n\t\tbuilder.allowDirectories(options?.allowDirectoryChooser === true || mimetype?.includes('httpd/unix-directory') || false)\n\t\t\t.setMultiSelect(multiselect)\n\t\t\t.startAt(path)\n\t\t\t.build()\n\t\t\t.pick()\n\t},\n\n\t/**\n\t * Displays raw dialog\n\t * You better use a wrapper instead ...\n\t *\n\t * @param content\n\t * @param title\n\t * @param dialogType\n\t * @param buttons\n\t * @param callback\n\t * @param modal\n\t * @param allowHtml\n\t * @deprecated 30.0.0 Use `@nextcloud/dialogs` instead or build your own with `@nextcloud/vue` NcDialog\n\t */\n\tmessage: function(content, title, dialogType, buttons, callback = () => {}, modal, allowHtml) {\n\t\tconst builder = (new DialogBuilder())\n\t\t\t.setName(title)\n\t\t\t.setText(allowHtml ? '' : content)\n\t\t\t.setButtons(Dialogs._getLegacyButtons(buttons, callback))\n\n\t\tswitch (dialogType) {\n\t\t\tcase 'alert':\n\t\t\t\tbuilder.setSeverity('warning')\n\t\t\t\tbreak\n\t\t\tcase 'notice':\n\t\t\t\tbuilder.setSeverity('info')\n\t\t\t\tbreak\n\t\t\tdefault:\n\t\t\t\tbreak\n\t\t}\n\n\t\tconst dialog = builder.build()\n\n\t\tif (allowHtml) {\n\t\t\tdialog.setHTML(content)\n\t\t}\n\n\t\treturn dialog.show().then(() => {\n\t\t\tif (!callback._clicked) {\n\t\t\t\tcallback(false)\n\t\t\t}\n\t\t})\n\t},\n\n\t/**\n\t * Helper for legacy API\n\t *\n\t * @param buttons\n\t * @param callback\n\t * @deprecated\n\t */\n\t_getLegacyButtons(buttons, callback) {\n\t\tconst buttonList = []\n\n\t\tswitch (typeof buttons === 'object' ? buttons.type : buttons) {\n\t\t\tcase Dialogs.YES_NO_BUTTONS:\n\t\t\t\tbuttonList.push({\n\t\t\t\t\tlabel: buttons?.cancel ?? t('core', 'No'),\n\t\t\t\t\tcallback: () => {\n\t\t\t\t\t\tcallback._clicked = true\n\t\t\t\t\t\tcallback(false)\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\tbuttonList.push({\n\t\t\t\t\tlabel: buttons?.confirm ?? t('core', 'Yes'),\n\t\t\t\t\tvariant: 'primary',\n\t\t\t\t\tcallback: () => {\n\t\t\t\t\t\tcallback._clicked = true\n\t\t\t\t\t\tcallback(true)\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\tbreak\n\t\t\tcase Dialogs.OK_BUTTONS:\n\t\t\t\tbuttonList.push({\n\t\t\t\t\tlabel: buttons?.confirm ?? t('core', 'OK'),\n\t\t\t\t\tvariant: 'primary',\n\t\t\t\t\tcallback: () => {\n\t\t\t\t\t\tcallback._clicked = true\n\t\t\t\t\t\tcallback(true)\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('Invalid call to OC.dialogs')\n\t\t\t\tbreak\n\t\t}\n\t\treturn buttonList\n\t},\n}\n\nexport default Dialogs\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { emit } from '@nextcloud/event-bus';\nimport { generateUrl } from '@nextcloud/router';\n/**\n * Get the current CSRF token.\n */\nexport function getRequestToken() {\n return document.head.dataset.requesttoken;\n}\n/**\n * Set a new CSRF token (e.g. because of session refresh).\n * This also emits an event bus event for the updated token.\n *\n * @param token - The new token\n * @fires Error - If the passed token is not a potential valid token\n */\nexport function setRequestToken(token) {\n if (!token || typeof token !== 'string') {\n throw new Error('Invalid CSRF token given', { cause: { token } });\n }\n document.head.dataset.requesttoken = token;\n emit('csrf-token-update', { token });\n}\n/**\n * Fetch the request token from the API.\n * This does also set it on the current context, see `setRequestToken`.\n *\n * @fires Error - If the request failed\n */\nexport async function fetchRequestToken() {\n const url = generateUrl('/csrftoken');\n const response = await fetch(url);\n if (!response.ok) {\n throw new Error('Could not fetch CSRF token from API', { cause: response });\n }\n const { token } = await response.json();\n setRequestToken(token);\n return token;\n}\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-FileCopyrightText: 2015 ownCloud, Inc.\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { getRequestToken } from './requesttoken.ts'\n\n/**\n * Create a new event source\n *\n * @param {string} src\n * @param {object} [data] to be send as GET\n *\n * @constructs OCEventSource\n */\nfunction OCEventSource(src, data) {\n\tlet dataStr = ''\n\tlet name\n\tlet joinChar\n\tthis.typelessListeners = []\n\tthis.closed = false\n\tif (data) {\n\t\tfor (name in data) {\n\t\t\tdataStr += name + '=' + encodeURIComponent(data[name]) + '&'\n\t\t}\n\t}\n\tdataStr += 'requesttoken=' + encodeURIComponent(getRequestToken())\n\tjoinChar = '&'\n\tif (src.indexOf('?') === -1) {\n\t\tjoinChar = '?'\n\t}\n\tthis.source = new EventSource(src + joinChar + dataStr)\n\tthis.source.onmessage = function(e) {\n\t\tfor (let i = 0; i < this.typelessListeners.length; i++) {\n\t\t\tthis.typelessListeners[i](JSON.parse(e.data))\n\t\t}\n\t}.bind(this)\n\t// add close listener\n\tthis.listen('__internal__', function(data) {\n\t\tif (data === 'close') {\n\t\t\tthis.close()\n\t\t}\n\t}.bind(this))\n}\nOCEventSource.prototype = {\n\ttypelessListeners: [],\n\t/**\n\t * Listen to a given type of events.\n\t *\n\t * @param {string} type event type\n\t * @param {Function} callback event callback\n\t */\n\tlisten: function(type, callback) {\n\t\tif (callback && callback.call) {\n\t\t\tif (type) {\n\t\t\t\tthis.source.addEventListener(type, function(e) {\n\t\t\t\t\tif (typeof e.data !== 'undefined') {\n\t\t\t\t\t\tcallback(JSON.parse(e.data))\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcallback('')\n\t\t\t\t\t}\n\t\t\t\t}, false)\n\t\t\t} else {\n\t\t\t\tthis.typelessListeners.push(callback)\n\t\t\t}\n\t\t}\n\t},\n\t/**\n\t * Closes this event source.\n\t */\n\tclose: function() {\n\t\tthis.closed = true\n\t\tthis.source.close()\n\t},\n}\n\nexport default OCEventSource\n","/**\n * SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors\n * SPDX-FileCopyrightText: 2014 ownCloud, Inc.\n * SPDX-FileCopyrightText: 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport {\n\tloadTranslations,\n\tregister,\n\ttranslate,\n\ttranslatePlural,\n\tunregister,\n} from '@nextcloud/l10n'\n\n/**\n * L10N namespace with localization functions.\n *\n * @namespace OC.L10n\n * @deprecated 26.0.0 use https://www.npmjs.com/package/@nextcloud/l10n\n */\nconst L10n = {\n\n\t/**\n\t * Load an app's translation bundle if not loaded already.\n\t *\n\t * @deprecated 26.0.0 use `loadTranslations` from https://www.npmjs.com/package/@nextcloud/l10n\n\t *\n\t * @param {string} appName name of the app\n\t * @param {Function} callback callback to be called when\n\t * the translations are loaded\n\t * @return {Promise} promise\n\t */\n\tload: loadTranslations,\n\n\t/**\n\t * Register an app's translation bundle.\n\t *\n\t * @deprecated 26.0.0 use `register` from https://www.npmjs.com/package/@nextcloud/l10\n\t *\n\t * @param {string} appName name of the app\n\t * @param {Record} bundle bundle\n\t */\n\tregister,\n\n\t/**\n\t * @private\n\t * @deprecated 26.0.0 use `unregister` from https://www.npmjs.com/package/@nextcloud/l10n\n\t */\n\t_unregister: unregister,\n\n\t/**\n\t * Translate a string\n\t *\n\t * @deprecated 26.0.0 use `translate` from https://www.npmjs.com/package/@nextcloud/l10n\n\t *\n\t * @param {string} app the id of the app for which to translate the string\n\t * @param {string} text the string to translate\n\t * @param {object} [vars] map of placeholder key to value\n\t * @param {number} [count] number to replace %n with\n\t * @param {Array} [options] options array\n\t * @param {boolean} [options.escape=true] enable/disable auto escape of placeholders (by default enabled)\n\t * @param {boolean} [options.sanitize=true] enable/disable sanitization (by default enabled)\n\t * @return {string}\n\t */\n\ttranslate,\n\n\t/**\n\t * Translate a plural string\n\t *\n\t * @deprecated 26.0.0 use `translatePlural` from https://www.npmjs.com/package/@nextcloud/l10n\n\t *\n\t * @param {string} app the id of the app for which to translate the string\n\t * @param {string} textSingular the string to translate for exactly one object\n\t * @param {string} textPlural the string to translate for n objects\n\t * @param {number} count number to determine whether to use singular or plural\n\t * @param {object} [vars] map of placeholder key to value\n\t * @param {Array} [options] options array\n\t * @param {boolean} [options.escape=true] enable/disable auto escape of placeholders (by default enabled)\n\t * @return {string} Translated string\n\t */\n\ttranslatePlural,\n}\n\nexport default L10n\n","/**\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { generateUrl, getRootUrl } from '@nextcloud/router'\n\nconst iconCache = new Map()\n\n/**\n * Return the url to icon of the given mimeType\n *\n * @param {string} mimeType The mimeType to get the icon for\n * @return {string} Url to the icon for mimeType\n */\nexport function getIconUrl(mimeType) {\n\tif (typeof mimeType === 'undefined') {\n\t\treturn undefined\n\t}\n\n\twhile (mimeType in window.OC.MimeTypeList.aliases) {\n\t\tmimeType = window.OC.MimeTypeList.aliases[mimeType]\n\t}\n\n\tif (!iconCache.has(mimeType)) {\n\t\tlet gotIcon = false\n\t\tlet path = ''\n\t\t// First try to get the correct icon from the current legacy-theme\n\t\tif (OC.theme.folder !== '' && Array.isArray(OC.MimeTypeList.themes[OC.theme.folder])) {\n\t\t\tpath = getRootUrl() + '/themes/' + window.OC.theme.folder + '/core/img/filetypes/'\n\t\t\tconst icon = getMimeTypeIcon(mimeType, window.OC.MimeTypeList.themes[OC.theme.folder])\n\t\t\tif (icon) {\n\t\t\t\tgotIcon = true\n\t\t\t\tpath += icon + '.svg'\n\t\t\t}\n\t\t}\n\n\t\t// theming is always enabled since Nextcloud 20 so we get it from that\n\t\tif (!gotIcon) {\n\t\t\tpath = generateUrl('/apps/theming/img/core/filetypes/' + getMimeTypeIcon(mimeType, window.OC.MimeTypeList.files) + '.svg')\n\t\t}\n\n\t\tpath += '?v=' + window.OCA.Theming.cacheBuster\n\t\t// Cache the result\n\t\ticonCache.set(mimeType, path)\n\t}\n\n\treturn iconCache.get(mimeType)\n}\n\n/**\n * Return the file icon we want to use for the given mimeType.\n * The file needs to be present in the supplied file list\n *\n * @param {string} mimeType The mimeType we want an icon for\n * @param {string[]} files The available icons in this theme\n * @return {string | null} The icon to use or null if there is no match\n */\nfunction getMimeTypeIcon(mimeType, files) {\n\tconst icon = mimeType.replace(new RegExp('/', 'g'), '-')\n\n\t// Generate path\n\tif (mimeType === 'dir' && files.includes('folder')) {\n\t\treturn 'folder'\n\t} else if (mimeType === 'dir-encrypted' && files.includes('folder-encrypted')) {\n\t\treturn 'folder-encrypted'\n\t} else if (mimeType === 'dir-shared' && files.includes('folder-shared')) {\n\t\treturn 'folder-shared'\n\t} else if (mimeType === 'dir-public' && files.includes('folder-public')) {\n\t\treturn 'folder-public'\n\t} else if ((mimeType === 'dir-external' || mimeType === 'dir-external-root') && files.includes('folder-external')) {\n\t\treturn 'folder-external'\n\t} else if (files.includes(icon)) {\n\t\treturn icon\n\t} else if (files.includes(icon.split('-')[0])) {\n\t\treturn icon.split('-')[0]\n\t} else if (files.includes('file')) {\n\t\treturn 'file'\n\t}\n\n\treturn null\n}\n\n/**\n * Clear the icon cache\n */\nexport function clearIconCache() {\n\ticonCache.clear()\n}\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { t } from '@nextcloud/l10n';\n/**\n * A little class to manage a status field for a \"saving\" process.\n * It can be used to display a starting message (e.g. \"Saving...\") and then\n * replace it with a green success message or a red error message.\n */\nexport default {\n /**\n * Displays a \"Saving...\" message in the given message placeholder\n *\n * @param selector - Query selectior for the element to display the message in\n */\n startSaving(selector) {\n this.startAction(selector, t('core', 'Saving …'));\n },\n /**\n * Displays a custom message in the given message placeholder\n *\n * @param selector - Query selectior for the element to display the message in\n * @param message - Plain text message to display (no HTML allowed)\n */\n startAction(selector, message) {\n const el = document.querySelector(selector);\n if (!el || !(el instanceof HTMLElement)) {\n return;\n }\n el.textContent = message;\n el.classList.remove('success');\n el.classList.remove('error');\n el.getAnimations?.().forEach((animation) => animation.cancel());\n el.style.display = 'block';\n },\n /**\n * Displays an success/error message in the given selector\n *\n * @param selector - Query selectior for the element to display the message in\n * @param response - Response of the server\n * @param response.data - Data of the servers response\n * @param response.data.message - Plain text message to display (no HTML allowed)\n * @param response.status - is being used to decide whether the message is displayed as an error/success\n */\n finishedSaving(selector, response) {\n this.finishedAction(selector, response);\n },\n /**\n * Displays an success/error message in the given selector\n *\n * @param selector - Query selector for the element to display the message in\n * @param response - Response of the server\n * @param response.data - Data of the servers response\n * @param response.data.message - Plain text message to display (no HTML allowed)\n * @param response.status . Is being used to decide whether the message is displayed as an error/success\n */\n finishedAction(selector, response) {\n if (response.status === 'success') {\n this.finishedSuccess(selector, response.data.message);\n }\n else {\n this.finishedError(selector, response.data.message);\n }\n },\n /**\n * Displays an success message in the given selector\n *\n * @param selector - Query selector for the element to display the message in\n * @param message - Plain text success message to display (no HTML allowed)\n */\n finishedSuccess(selector, message) {\n const el = document.querySelector(selector);\n if (!el || !(el instanceof HTMLElement)) {\n return;\n }\n el.textContent = message;\n el.classList.remove('error');\n el.classList.add('success');\n el.getAnimations?.().forEach((animation) => animation.cancel());\n window.setTimeout(fadeOut, 3000);\n el.style.display = 'block';\n /**\n * Fades out the message element\n */\n function fadeOut() {\n if (!el || !(el instanceof HTMLElement)) {\n return;\n }\n const animation = el.animate?.([\n { opacity: 1 },\n { opacity: 0 },\n ], {\n duration: 900,\n fill: 'forwards',\n });\n if (animation) {\n animation.addEventListener('finish', () => {\n el.style.display = 'none';\n });\n }\n else {\n window.setTimeout(() => {\n el.style.display = 'none';\n }, 900);\n }\n }\n },\n /**\n * Displays an error message in the given selector\n *\n * @param selector - Query selector for the element to display the message in\n * @param message - Plain text error message to display (no HTML allowed)\n */\n finishedError(selector, message) {\n const el = document.querySelector(selector);\n if (!el || !(el instanceof HTMLElement)) {\n return;\n }\n el.textContent = message;\n el.classList.remove('success');\n el.classList.add('error');\n el.style.display = 'block';\n },\n};\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { confirmPassword, isPasswordConfirmationRequired } from '@nextcloud/password-confirmation'\n\n/**\n * @namespace OC.PasswordConfirmation\n */\nexport default {\n\n\t/**\n\t * @deprecated 28.0.0 use methods from '@nextcloud/password-confirmation'\n\t */\n\trequiresPasswordConfirmation() {\n\t\treturn isPasswordConfirmationRequired()\n\t},\n\n\t/**\n\t * @param {Function} callback success callback function\n\t * @param {object} options options currently not used by confirmPassword\n\t * @param {Function} rejectCallback error callback function\n\t *\n\t * @deprecated 28.0.0 use methods from '@nextcloud/password-confirmation'\n\t */\n\trequirePasswordConfirmation(callback, options, rejectCallback) {\n\t\tconfirmPassword().then(callback, rejectCallback)\n\t},\n}\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nexport default {\n\n\t/**\n\t * @type {Array.}\n\t */\n\t_plugins: {},\n\n\t/**\n\t * Register plugin\n\t *\n\t * @param {string} targetName app name / class name to hook into\n\t * @param {OC.Plugin} plugin plugin\n\t */\n\tregister(targetName, plugin) {\n\t\tlet plugins = this._plugins[targetName]\n\t\tif (!plugins) {\n\t\t\tplugins = this._plugins[targetName] = []\n\t\t}\n\t\tplugins.push(plugin)\n\t},\n\n\t/**\n\t * Returns all plugin registered to the given target\n\t * name / app name / class name.\n\t *\n\t * @param {string} targetName app name / class name to hook into\n\t * @return {Array.} array of plugins\n\t */\n\tgetPlugins(targetName) {\n\t\treturn this._plugins[targetName] || []\n\t},\n\n\t/**\n\t * Call attach() on all plugins registered to the given target name.\n\t *\n\t * @param {string} targetName app name / class name\n\t * @param {object} targetObject to be extended\n\t * @param {object} [options] options\n\t */\n\tattach(targetName, targetObject, options) {\n\t\tconst plugins = this.getPlugins(targetName)\n\t\tfor (let i = 0; i < plugins.length; i++) {\n\t\t\tif (plugins[i].attach) {\n\t\t\t\tplugins[i].attach(targetObject, options)\n\t\t\t}\n\t\t}\n\t},\n\n\t/**\n\t * Call detach() on all plugins registered to the given target name.\n\t *\n\t * @param {string} targetName app name / class name\n\t * @param {object} targetObject to be extended\n\t * @param {object} [options] options\n\t */\n\tdetach(targetName, targetObject, options) {\n\t\tconst plugins = this.getPlugins(targetName)\n\t\tfor (let i = 0; i < plugins.length; i++) {\n\t\t\tif (plugins[i].detach) {\n\t\t\t\tplugins[i].detach(targetObject, options)\n\t\t\t}\n\t\t}\n\t},\n\n}\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nexport const theme = window._theme || {}\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport OC from './index.js'\n\n/**\n * Utility class for the history API,\n * includes fallback to using the URL hash when\n * the browser doesn't support the history API.\n *\n * @namespace OC.Util.History\n */\nexport default {\n\n\t_handlers: [],\n\n\t/**\n\t * Push the current URL parameters to the history stack\n\t * and change the visible URL.\n\t * Note: this includes a workaround for IE8/IE9 that uses\n\t * the hash part instead of the search part.\n\t *\n\t * @param {object | string} params to append to the URL, can be either a string\n\t * or a map\n\t * @param {string} [url] URL to be used, otherwise the current URL will be used,\n\t * using the params as query string\n\t * @param {boolean} [replace] whether to replace instead of pushing\n\t */\n\t_pushState(params, url, replace) {\n\t\tlet strParams\n\t\tif (typeof (params) === 'string') {\n\t\t\tstrParams = params\n\t\t} else {\n\t\t\tstrParams = OC.buildQueryString(params)\n\t\t}\n\n\t\tif (window.history.pushState) {\n\t\t\turl = url || location.pathname + '?' + strParams\n\t\t\t// Workaround for bug with SVG and window.history.pushState on Firefox < 51\n\t\t\t// https://bugzilla.mozilla.org/show_bug.cgi?id=652991\n\t\t\tconst isFirefox = navigator.userAgent.toLowerCase().indexOf('firefox') > -1\n\t\t\tif (isFirefox && parseInt(navigator.userAgent.split('/').pop()) < 51) {\n\t\t\t\tconst patterns = document.querySelectorAll('[fill^=\"url(#\"], [stroke^=\"url(#\"], [filter^=\"url(#invert\"]')\n\t\t\t\tfor (let i = 0, ii = patterns.length, pattern; i < ii; i++) {\n\t\t\t\t\tpattern = patterns[i]\n\t\t\t\t\t// eslint-disable-next-line no-self-assign\n\t\t\t\t\tpattern.style.fill = pattern.style.fill\n\t\t\t\t\t// eslint-disable-next-line no-self-assign\n\t\t\t\t\tpattern.style.stroke = pattern.style.stroke\n\t\t\t\t\tpattern.removeAttribute('filter')\n\t\t\t\t\tpattern.setAttribute('filter', 'url(#invert)')\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (replace) {\n\t\t\t\twindow.history.replaceState(params, '', url)\n\t\t\t} else {\n\t\t\t\twindow.history.pushState(params, '', url)\n\t\t\t}\n\t\t} else {\n\t\t\t// use URL hash for IE8\n\t\t\twindow.location.hash = '?' + strParams\n\t\t\t// inhibit next onhashchange that just added itself\n\t\t\t// to the event queue\n\t\t\tthis._cancelPop = true\n\t\t}\n\t},\n\n\t/**\n\t * Push the current URL parameters to the history stack\n\t * and change the visible URL.\n\t * Note: this includes a workaround for IE8/IE9 that uses\n\t * the hash part instead of the search part.\n\t *\n\t * @param {object | string} params to append to the URL, can be either a string or a map\n\t * @param {string} [url] URL to be used, otherwise the current URL will be used, using the params as query string\n\t */\n\tpushState(params, url) {\n\t\tthis._pushState(params, url, false)\n\t},\n\n\t/**\n\t * Push the current URL parameters to the history stack\n\t * and change the visible URL.\n\t * Note: this includes a workaround for IE8/IE9 that uses\n\t * the hash part instead of the search part.\n\t *\n\t * @param {object | string} params to append to the URL, can be either a string\n\t * or a map\n\t * @param {string} [url] URL to be used, otherwise the current URL will be used,\n\t * using the params as query string\n\t */\n\treplaceState(params, url) {\n\t\tthis._pushState(params, url, true)\n\t},\n\n\t/**\n\t * Add a popstate handler\n\t *\n\t * @param {Function} handler handler\n\t */\n\taddOnPopStateHandler(handler) {\n\t\tthis._handlers.push(handler)\n\t},\n\n\t/**\n\t * Parse a query string from the hash part of the URL.\n\t * (workaround for IE8 / IE9)\n\t *\n\t * @return {string}\n\t */\n\t_parseHashQuery() {\n\t\tconst hash = window.location.hash\n\t\tconst pos = hash.indexOf('?')\n\t\tif (pos >= 0) {\n\t\t\treturn hash.substr(pos + 1)\n\t\t}\n\t\tif (hash.length) {\n\t\t\t// remove hash sign\n\t\t\treturn hash.substr(1)\n\t\t}\n\t\treturn ''\n\t},\n\n\t_decodeQuery(query) {\n\t\treturn query.replace(/\\+/g, ' ')\n\t},\n\n\t/**\n\t * Parse the query/search part of the URL.\n\t * Also try and parse it from the URL hash (for IE8)\n\t *\n\t * @return {object} map of parameters\n\t */\n\tparseUrlQuery() {\n\t\tconst query = this._parseHashQuery()\n\t\tlet params\n\t\t// try and parse from URL hash first\n\t\tif (query) {\n\t\t\tparams = OC.parseQueryString(this._decodeQuery(query))\n\t\t}\n\t\t// else read from query attributes\n\t\treturn {\n\t\t\t...(params || {}),\n\t\t\t...OC.parseQueryString(this._decodeQuery(location.search)),\n\t\t}\n\t},\n\n\t_onPopState(e) {\n\t\tif (this._cancelPop) {\n\t\t\tthis._cancelPop = false\n\t\t\treturn\n\t\t}\n\t\tlet params\n\t\tif (!this._handlers.length) {\n\t\t\treturn\n\t\t}\n\t\tparams = (e && e.state)\n\t\tif (typeof params === 'string') {\n\t\t\tparams = OC.parseQueryString(params)\n\t\t} else if (!params) {\n\t\t\tparams = this.parseUrlQuery() || {}\n\t\t}\n\t\tfor (let i = 0; i < this._handlers.length; i++) {\n\t\t\tthis._handlers[i](params)\n\t\t}\n\t},\n}\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { formatFileSize as humanFileSize } from '@nextcloud/files'\nimport moment from 'moment'\nimport logger from '../logger.js'\nimport OC from './index.js'\nimport History from './util-history.js'\n\n/**\n * @param {any} t -\n */\nfunction chunkify(t) {\n\t// Adapted from http://my.opera.com/GreyWyvern/blog/show.dml/1671288\n\tconst tz = []\n\tlet x = 0\n\tlet y = -1\n\tlet n = 0\n\tlet c\n\n\twhile (x < t.length) {\n\t\tc = t.charAt(x)\n\t\t// only include the dot in strings\n\t\tconst m = ((!n && c === '.') || (c >= '0' && c <= '9'))\n\t\tif (m !== n) {\n\t\t\t// next chunk\n\t\t\ty++\n\t\t\ttz[y] = ''\n\t\t\tn = m\n\t\t}\n\t\ttz[y] += c\n\t\tx++\n\t}\n\treturn tz\n}\n\n/**\n * Utility functions\n *\n * @namespace OC.Util\n */\nexport default {\n\n\tHistory,\n\n\t/**\n\t * @deprecated use https://nextcloud.github.io/nextcloud-files/functions/formatFileSize.html\n\t */\n\thumanFileSize,\n\n\t/**\n\t * Returns a file size in bytes from a humanly readable string\n\t * Makes 2kB to 2048.\n\t * Inspired by computerFileSize in helper.php\n\t *\n\t * @param {string} string file size in human-readable format\n\t * @return {number} or null if string could not be parsed\n\t */\n\tcomputerFileSize(string) {\n\t\tif (typeof string !== 'string') {\n\t\t\treturn null\n\t\t}\n\n\t\tconst s = string.toLowerCase().trim()\n\t\tconst bytesArray = {\n\t\t\tb: 1,\n\t\t\tk: 1024,\n\t\t\tkb: 1024,\n\t\t\tmb: 1024 * 1024,\n\t\t\tm: 1024 * 1024,\n\t\t\tgb: 1024 * 1024 * 1024,\n\t\t\tg: 1024 * 1024 * 1024,\n\t\t\ttb: 1024 * 1024 * 1024 * 1024,\n\t\t\tt: 1024 * 1024 * 1024 * 1024,\n\t\t\tpb: 1024 * 1024 * 1024 * 1024 * 1024,\n\t\t\tp: 1024 * 1024 * 1024 * 1024 * 1024,\n\t\t}\n\n\t\tlet bytes\n\t\tconst matches = s.match(/^[\\s+]?([0-9]*)(\\.([0-9]+))?( +)?([kmgtp]?b?)$/i)\n\t\tif (matches !== null) {\n\t\t\tbytes = parseFloat(s)\n\t\t\tif (!isFinite(bytes)) {\n\t\t\t\treturn null\n\t\t\t}\n\t\t} else {\n\t\t\treturn null\n\t\t}\n\t\tif (matches[5]) {\n\t\t\tbytes = bytes * bytesArray[matches[5]]\n\t\t}\n\n\t\tbytes = Math.round(bytes)\n\t\treturn bytes\n\t},\n\n\t/**\n\t * @param {string|number} timestamp timestamp\n\t * @param {string} format date format, see momentjs docs\n\t * @return {string} timestamp formatted as requested\n\t */\n\tformatDate(timestamp, format) {\n\t\tif (window.TESTING === undefined && OC.debug) {\n\t\t\tlogger.warn('OC.Util.formatDate is deprecated and will be removed in Nextcloud 21. See @nextcloud/moment')\n\t\t}\n\t\tformat = format || 'LLL'\n\t\treturn moment(timestamp).format(format)\n\t},\n\n\t/**\n\t * @param {string|number} timestamp timestamp\n\t * @return {string} human readable difference from now\n\t */\n\trelativeModifiedDate(timestamp) {\n\t\tif (window.TESTING === undefined && OC.debug) {\n\t\t\tlogger.warn('OC.Util.relativeModifiedDate is deprecated and will be removed in Nextcloud 21. See @nextcloud/moment')\n\t\t}\n\t\tconst diff = moment().diff(moment(timestamp))\n\t\tif (diff >= 0 && diff < 45000) {\n\t\t\treturn t('core', 'seconds ago')\n\t\t}\n\t\treturn moment(timestamp).fromNow()\n\t},\n\n\t/**\n\t * Returns the width of a generic browser scrollbar\n\t *\n\t * @return {number} width of scrollbar\n\t */\n\tgetScrollBarWidth() {\n\t\tif (this._scrollBarWidth) {\n\t\t\treturn this._scrollBarWidth\n\t\t}\n\n\t\tconst inner = document.createElement('p')\n\t\tinner.style.width = '100%'\n\t\tinner.style.height = '200px'\n\n\t\tconst outer = document.createElement('div')\n\t\touter.style.position = 'absolute'\n\t\touter.style.top = '0px'\n\t\touter.style.left = '0px'\n\t\touter.style.visibility = 'hidden'\n\t\touter.style.width = '200px'\n\t\touter.style.height = '150px'\n\t\touter.style.overflow = 'hidden'\n\t\touter.appendChild(inner)\n\n\t\tdocument.body.appendChild(outer)\n\t\tconst w1 = inner.offsetWidth\n\t\touter.style.overflow = 'scroll'\n\t\tlet w2 = inner.offsetWidth\n\t\tif (w1 === w2) {\n\t\t\tw2 = outer.clientWidth\n\t\t}\n\n\t\tdocument.body.removeChild(outer)\n\n\t\tthis._scrollBarWidth = (w1 - w2)\n\n\t\treturn this._scrollBarWidth\n\t},\n\n\t/**\n\t * Remove the time component from a given date\n\t *\n\t * @param {Date} date date\n\t * @return {Date} date with stripped time\n\t */\n\tstripTime(date) {\n\t\t// FIXME: likely to break when crossing DST\n\t\t// would be better to use a library like momentJS\n\t\treturn new Date(date.getFullYear(), date.getMonth(), date.getDate())\n\t},\n\n\t/**\n\t * Compare two strings to provide a natural sort\n\t *\n\t * @param {string} a first string to compare\n\t * @param {string} b second string to compare\n\t * @return {number} -1 if b comes before a, 1 if a comes before b\n\t * or 0 if the strings are identical\n\t */\n\tnaturalSortCompare(a, b) {\n\t\tlet x\n\t\tconst aa = chunkify(a)\n\t\tconst bb = chunkify(b)\n\n\t\tfor (x = 0; aa[x] && bb[x]; x++) {\n\t\t\tif (aa[x] !== bb[x]) {\n\t\t\t\tconst aNum = Number(aa[x])\n\t\t\t\tconst bNum = Number(bb[x])\n\t\t\t\t// note: == is correct here to include null == undefined\n\t\t\t\t// eslint-disable-next-line eqeqeq\n\t\t\t\tif (aNum == aa[x] && bNum == bb[x]) {\n\t\t\t\t\treturn aNum - bNum\n\t\t\t\t} else {\n\t\t\t\t\t// Note: This locale setting isn't supported by all browsers but for the ones\n\t\t\t\t\t// that do there will be more consistency between client-server sorting\n\t\t\t\t\treturn aa[x].localeCompare(bb[x], OC.getLanguage())\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn aa.length - bb.length\n\t},\n\n\t/**\n\t * Calls the callback in a given interval until it returns true\n\t *\n\t * @param {Function} callback function to call on success\n\t * @param {number} interval in milliseconds\n\t */\n\twaitFor(callback, interval) {\n\t\tconst internalCallback = function() {\n\t\t\tif (callback() !== true) {\n\t\t\t\tsetTimeout(internalCallback, interval)\n\t\t\t}\n\t\t}\n\n\t\tinternalCallback()\n\t},\n\n\t/**\n\t * Checks if a cookie with the given name is present and is set to the provided value.\n\t *\n\t * @param {string} name name of the cookie\n\t * @param {string} value value of the cookie\n\t * @return {boolean} true if the cookie with the given name has the given value\n\t */\n\tisCookieSetToValue(name, value) {\n\t\tconst cookies = document.cookie.split(';')\n\t\tfor (let i = 0; i < cookies.length; i++) {\n\t\t\tconst cookie = cookies[i].split('=')\n\t\t\tif (cookie[0].trim() === name && cookie[1].trim() === value) {\n\t\t\t\treturn true\n\t\t\t}\n\t\t}\n\t\treturn false\n\t},\n}\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nlet webroot = window._oc_webroot\n\nif (typeof webroot === 'undefined') {\n\twebroot = location.pathname\n\tconst pos = webroot.indexOf('/index.php/')\n\tif (pos !== -1) {\n\t\twebroot = webroot.substr(0, pos)\n\t} else {\n\t\twebroot = webroot.substr(0, webroot.lastIndexOf('/'))\n\t}\n}\n\nexport default webroot\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { subscribe } from '@nextcloud/event-bus'\nimport {\n\tgetCanonicalLocale,\n\tgetLanguage,\n\tgetLocale,\n} from '@nextcloud/l10n'\nimport {\n\tbasename,\n\tdirname,\n\tencodePath,\n\tisSamePath,\n\tjoin,\n} from '@nextcloud/paths'\nimport {\n\tgenerateFilePath,\n\tgenerateOcsUrl,\n\tgenerateRemoteUrl,\n\tgenerateUrl,\n\tgetRootUrl,\n\timagePath,\n\tlinkTo,\n} from '@nextcloud/router'\nimport logger from '../logger.js'\nimport { isUserAdmin } from './admin.js'\nimport { appConfig } from './appconfig.js'\nimport appswebroots from './appswebroots.js'\nimport { getCapabilities } from './capabilities.js'\nimport Config from './config.js'\nimport {\n\tcoreApps,\n\tmenuSpeed,\n\tPERMISSION_ALL,\n\tPERMISSION_CREATE,\n\tPERMISSION_DELETE,\n\tPERMISSION_NONE,\n\tPERMISSION_READ,\n\tPERMISSION_SHARE,\n\tPERMISSION_UPDATE,\n\tTAG_FAVORITE,\n} from './constants.js'\nimport { currentUser, getCurrentUser } from './currentuser.js'\nimport { debug } from './debug.js'\nimport Dialogs from './dialogs.js'\nimport EventSource from './eventsource.js'\nimport L10N from './l10n.js'\nimport * as MimeType from './mimeType.js'\nimport msg from './msg.js'\nimport PasswordConfirmation from './password-confirmation.js'\nimport Plugins from './plugins.js'\nimport {\n\tbuild as buildQueryString,\n\tparse as parseQueryString,\n} from './query-string.ts'\nimport { getRequestToken } from './requesttoken.ts'\nimport {\n\tlinkToRemoteBase,\n} from './routing.js'\nimport { theme } from './theme.js'\nimport Util from './util.js'\nimport webroot from './webroot.js'\n\n/** @namespace OC */\nexport default {\n\t/*\n\t * Constants\n\t */\n\tcoreApps,\n\tmenuSpeed,\n\tPERMISSION_ALL,\n\tPERMISSION_CREATE,\n\tPERMISSION_DELETE,\n\tPERMISSION_NONE,\n\tPERMISSION_READ,\n\tPERMISSION_SHARE,\n\tPERMISSION_UPDATE,\n\tTAG_FAVORITE,\n\n\t/*\n\t * Deprecated helpers to be removed\n\t */\n\tappConfig,\n\tappswebroots,\n\tconfig: Config,\n\t/**\n\t * Currently logged in user or null if none\n\t *\n\t * @type {string}\n\t * @deprecated use `getCurrentUser` from https://www.npmjs.com/package/@nextcloud/auth\n\t */\n\tcurrentUser,\n\tdialogs: Dialogs,\n\tEventSource,\n\tMimeType,\n\t/**\n\t * Returns the currently logged in user or null if there is no logged in\n\t * user (public page mode)\n\t *\n\t * @since 9.0.0\n\t * @deprecated 19.0.0 use `getCurrentUser` from https://www.npmjs.com/package/@nextcloud/auth\n\t */\n\tgetCurrentUser,\n\tisUserAdmin,\n\tL10N,\n\n\t/**\n\t * This is already handled by `interceptRequests` in `core/src/init.js`.\n\t *\n\t * @deprecated 33.0.0 - unused by Nextcloud and only a stub remains. Just remove usage.\n\t */\n\tregisterXHRForErrorProcessing: () => {},\n\n\t/**\n\t * Capabilities\n\t *\n\t * @type {Array}\n\t * @deprecated 20.0.0 use @nextcloud/capabilities instead\n\t */\n\tgetCapabilities,\n\n\t/*\n\t * Path helpers\n\t */\n\t/**\n\t * @deprecated 18.0.0 use https://www.npmjs.com/package/@nextcloud/paths\n\t */\n\tbasename,\n\t/**\n\t * @deprecated 18.0.0 use https://www.npmjs.com/package/@nextcloud/paths\n\t */\n\tencodePath,\n\t/**\n\t * @deprecated 18.0.0 use https://www.npmjs.com/package/@nextcloud/paths\n\t */\n\tdirname,\n\t/**\n\t * @deprecated 18.0.0 use https://www.npmjs.com/package/@nextcloud/paths\n\t */\n\tisSamePath,\n\t/**\n\t * @deprecated 18.0.0 use https://www.npmjs.com/package/@nextcloud/paths\n\t */\n\tjoinPaths: join,\n\n\t/**\n\t * @deprecated 20.0.0 use `getCanonicalLocale` from https://www.npmjs.com/package/@nextcloud/l10n\n\t */\n\tgetCanonicalLocale,\n\t/**\n\t * @deprecated 26.0.0 use `getLocale` from https://www.npmjs.com/package/@nextcloud/l10n\n\t */\n\tgetLocale,\n\t/**\n\t * @deprecated 26.0.0 use `getLanguage` from https://www.npmjs.com/package/@nextcloud/l10n\n\t */\n\tgetLanguage,\n\n\t// Query string helpers\n\tbuildQueryString,\n\tparseQueryString,\n\n\tmsg,\n\t/**\n\t * @deprecated 28.0.0 use methods from '@nextcloud/password-confirmation'\n\t */\n\tPasswordConfirmation,\n\tPlugins,\n\ttheme,\n\tUtil,\n\tdebug,\n\t/**\n\t * @deprecated 19.0.0 use `generateFilePath` from https://www.npmjs.com/package/@nextcloud/router\n\t */\n\tfilePath: generateFilePath,\n\t/**\n\t * @deprecated 19.0.0 use `generateUrl` from https://www.npmjs.com/package/@nextcloud/router\n\t */\n\tgenerateUrl,\n\t/**\n\t * @deprecated 19.0.0 use `getRootUrl` from https://www.npmjs.com/package/@nextcloud/router\n\t */\n\tgetRootPath: getRootUrl,\n\t/**\n\t * @deprecated 19.0.0 use `imagePath` from https://www.npmjs.com/package/@nextcloud/router\n\t */\n\timagePath,\n\trequestToken: getRequestToken(),\n\t/**\n\t * @deprecated 19.0.0 use `linkTo` from https://www.npmjs.com/package/@nextcloud/router\n\t */\n\tlinkTo,\n\t/**\n\t * @param {string} service service name\n\t * @param {number} version OCS API version\n\t * @return {string} OCS API base path\n\t * @deprecated 19.0.0 use `generateOcsUrl` from https://www.npmjs.com/package/@nextcloud/router\n\t */\n\tlinkToOCS: (service, version) => {\n\t\treturn generateOcsUrl(service, {}, {\n\t\t\tocsVersion: version || 1,\n\t\t}) + '/'\n\t},\n\t/**\n\t * @deprecated 19.0.0 use `generateRemoteUrl` from https://www.npmjs.com/package/@nextcloud/router\n\t */\n\tlinkToRemote: generateRemoteUrl,\n\tlinkToRemoteBase,\n\t/**\n\t * Relative path to Nextcloud root.\n\t * For example: \"/nextcloud\"\n\t *\n\t * @type {string}\n\t *\n\t * @deprecated 19.0.0 use `getRootUrl` from https://www.npmjs.com/package/@nextcloud/router\n\t * @see OC#getRootPath\n\t */\n\twebroot,\n}\n\n// Keep the request token prop in sync\nsubscribe('csrf-token-update', (e) => {\n\tOC.requestToken = e.token\n\n\t// Logging might help debug (Sentry) issues\n\tlogger.info('OC.requestToken changed', { token: e.token })\n})\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nexport const coreApps = ['', 'admin', 'log', 'core/search', 'core', '3rdparty']\nexport const menuSpeed = 50\nexport const PERMISSION_NONE = 0\nexport const PERMISSION_CREATE = 4\nexport const PERMISSION_READ = 1\nexport const PERMISSION_UPDATE = 2\nexport const PERMISSION_DELETE = 8\nexport const PERMISSION_SHARE = 16\nexport const PERMISSION_ALL = 31\nexport const TAG_FAVORITE = '_$!!$_'\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { getCapabilities as realGetCapabilities } from '@nextcloud/capabilities'\nimport logger from '../logger.js'\n\n/**\n * Returns the capabilities\n *\n * @return {Array} capabilities\n *\n * @since 14.0.0\n */\nexport function getCapabilities() {\n\tif (OC.debug) {\n\t\tlogger.warn('OC.getCapabilities is deprecated and will be removed in Nextcloud 21. See @nextcloud/capabilities')\n\t}\n\treturn realGetCapabilities()\n}\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * Parses a URL query string into a JS map\n *\n * @param queryString - Query string in the format param1=1234¶m2=abcde¶m3=xyz\n * @return Object containing key/values matching the URL parameters\n * @deprecated 33.0.0 - Use `URLSearchParams` instead\n */\nexport function parse(queryString) {\n const params = new URLSearchParams(queryString);\n return Object.fromEntries(params.entries());\n}\n/**\n * Builds a URL query from a JS map.\n *\n * @param params - Object containing key/values matching the URL parameters\n * @return String containing a URL query (without question) mark\n * @deprecated 33.0.0 - Use `URLSearchParams` instead\n */\nexport function build(params) {\n if (!params) {\n return '';\n }\n const search = new URLSearchParams(params);\n return search.toString();\n}\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport {\n\tgetRootUrl as realGetRootUrl,\n} from '@nextcloud/router'\n\n/**\n * Creates a relative url for remote use\n *\n * @param {string} service id\n * @return {string} the url\n */\nexport function linkToRemoteBase(service) {\n\treturn realGetRootUrl() + '/remote.php/' + service\n}\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport OC from '../OC/index.js'\nimport L10n from '../OC/l10n.js'\n\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tOC,\n\t\t}\n\t},\n\tmethods: {\n\t\tt: L10n.translate.bind(L10n),\n\t\tn: L10n.translatePlural.bind(L10n),\n\t},\n}\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport Vue from 'vue'\nimport LoginView from './views/Login.vue'\nimport Nextcloud from './mixins/Nextcloud.js'\n// eslint-disable-next-line no-unused-vars\nimport OC from './OC/index.js' // TODO: Not needed but L10n breaks if removed\n\nVue.mixin(Nextcloud)\n\nconst View = Vue.extend(LoginView)\nnew View().$mount('#login')\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, `.button-vue[data-v-bbf83d00]{margin-top:.5rem}`, \"\",{\"version\":3,\"sources\":[\"webpack://./core/src/components/login/LoginButton.vue\"],\"names\":[],\"mappings\":\"AACA,6BACC,gBAAA\",\"sourcesContent\":[\"\\n.button-vue {\\n\\tmargin-top: .5rem;\\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, `.login-form[data-v-fac76c6a]{text-align:start;font-size:1rem;margin:0}.login-form__fieldset[data-v-fac76c6a]{width:100%;display:flex;flex-direction:column;gap:.5rem}.login-form__headline[data-v-fac76c6a]{text-align:center;overflow-wrap:anywhere}.login-form[data-v-fac76c6a] input:invalid:not(:user-invalid){border-color:var(--color-border-maxcontrast) !important}`, \"\",{\"version\":3,\"sources\":[\"webpack://./core/src/components/login/LoginForm.vue\"],\"names\":[],\"mappings\":\"AACA,6BACC,gBAAA,CACA,cAAA,CACA,QAAA,CAEA,uCACC,UAAA,CACA,YAAA,CACA,qBAAA,CACA,SAAA,CAGD,uCACC,iBAAA,CACA,sBAAA,CAID,8DACC,uDAAA\",\"sourcesContent\":[\"\\n.login-form {\\n\\ttext-align: start;\\n\\tfont-size: 1rem;\\n\\tmargin: 0;\\n\\n\\t&__fieldset {\\n\\t\\twidth: 100%;\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\tgap: .5rem;\\n\\t}\\n\\n\\t&__headline {\\n\\t\\ttext-align: center;\\n\\t\\toverflow-wrap: anywhere;\\n\\t}\\n\\n\\t// Only show the error state if the user interacted with the login box\\n\\t:deep(input:invalid:not(:user-invalid)) {\\n\\t\\tborder-color: var(--color-border-maxcontrast) !important;\\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, `.password-less-login-form[data-v-25758ef3]{display:flex;flex-direction:column;gap:.5rem;margin:0}`, \"\",{\"version\":3,\"sources\":[\"webpack://./core/src/components/login/PasswordLessLoginForm.vue\"],\"names\":[],\"mappings\":\"AACA,2CACC,YAAA,CACA,qBAAA,CACA,SAAA,CACA,QAAA\",\"sourcesContent\":[\"\\n.password-less-login-form {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\tgap: 0.5rem;\\n\\tmargin: 0;\\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, `.reset-password-form[data-v-759a0fdd]{display:flex;flex-direction:column;gap:.5rem;width:100%}`, \"\",{\"version\":3,\"sources\":[\"webpack://./core/src/components/login/ResetPassword.vue\"],\"names\":[],\"mappings\":\"AACA,sCACC,YAAA,CACA,qBAAA,CACA,SAAA,CACA,UAAA\",\"sourcesContent\":[\"\\n.reset-password-form {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\tgap: .5rem;\\n\\twidth: 100%;\\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, `.login-box[data-v-518c0816]{width:320px;box-sizing:border-box}.login-box__wrapper[data-v-518c0816]{display:flex;flex-direction:column;gap:calc(2*var(--default-grid-baseline))}.login-box__alternative-logins[data-v-518c0816]{display:flex;flex-direction:column;gap:.75rem}.fade-enter-active[data-v-518c0816],.fade-leave-active[data-v-518c0816]{transition:opacity .3s}.fade-enter[data-v-518c0816],.fade-leave-to[data-v-518c0816]{opacity:0}`, \"\",{\"version\":3,\"sources\":[\"webpack://./core/src/views/Login.vue\"],\"names\":[],\"mappings\":\"AACA,4BAEC,WAAA,CACA,qBAAA,CAEA,qCACC,YAAA,CACA,qBAAA,CACA,wCAAA,CAGD,gDACC,YAAA,CACA,qBAAA,CACA,UAAA,CAIF,wEACC,sBAAA,CAGD,6DACC,SAAA\",\"sourcesContent\":[\"\\n.login-box {\\n\\t// Same size as dashboard panels\\n\\twidth: 320px;\\n\\tbox-sizing: border-box;\\n\\n\\t&__wrapper {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\tgap: calc(2 * var(--default-grid-baseline));\\n\\t}\\n\\n\\t&__alternative-logins {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\tgap: 0.75rem;\\n\\t}\\n}\\n\\n.fade-enter-active, .fade-leave-active {\\n\\ttransition: opacity .3s;\\n}\\n\\n.fade-enter, .fade-leave-to /* .fade-leave-active below version 2.1.8 */ {\\n\\topacity: 0;\\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, `\nfieldset[data-v-2c0ecaf9] {\n\ttext-align: center;\n}\ninput[type=submit][data-v-2c0ecaf9] {\n\tmargin-top: 20px;\n}\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./core/src/components/login/UpdatePassword.vue\"],\"names\":[],\"mappings\":\";AAmIA;CACA,kBAAA;AACA;AAEA;CACA,gBAAA;AACA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","var map = {\n\t\"./af\": 25177,\n\t\"./af.js\": 25177,\n\t\"./ar\": 61509,\n\t\"./ar-dz\": 41488,\n\t\"./ar-dz.js\": 41488,\n\t\"./ar-kw\": 58676,\n\t\"./ar-kw.js\": 58676,\n\t\"./ar-ly\": 42353,\n\t\"./ar-ly.js\": 42353,\n\t\"./ar-ma\": 24496,\n\t\"./ar-ma.js\": 24496,\n\t\"./ar-ps\": 6947,\n\t\"./ar-ps.js\": 6947,\n\t\"./ar-sa\": 82682,\n\t\"./ar-sa.js\": 82682,\n\t\"./ar-tn\": 89756,\n\t\"./ar-tn.js\": 89756,\n\t\"./ar.js\": 61509,\n\t\"./az\": 95533,\n\t\"./az.js\": 95533,\n\t\"./be\": 28959,\n\t\"./be.js\": 28959,\n\t\"./bg\": 47777,\n\t\"./bg.js\": 47777,\n\t\"./bm\": 54903,\n\t\"./bm.js\": 54903,\n\t\"./bn\": 61290,\n\t\"./bn-bd\": 17357,\n\t\"./bn-bd.js\": 17357,\n\t\"./bn.js\": 61290,\n\t\"./bo\": 31545,\n\t\"./bo.js\": 31545,\n\t\"./br\": 11470,\n\t\"./br.js\": 11470,\n\t\"./bs\": 44429,\n\t\"./bs.js\": 44429,\n\t\"./ca\": 7306,\n\t\"./ca.js\": 7306,\n\t\"./cs\": 56464,\n\t\"./cs.js\": 56464,\n\t\"./cv\": 73635,\n\t\"./cv.js\": 73635,\n\t\"./cy\": 64226,\n\t\"./cy.js\": 64226,\n\t\"./da\": 93601,\n\t\"./da.js\": 93601,\n\t\"./de\": 77853,\n\t\"./de-at\": 26111,\n\t\"./de-at.js\": 26111,\n\t\"./de-ch\": 54697,\n\t\"./de-ch.js\": 54697,\n\t\"./de.js\": 77853,\n\t\"./dv\": 60708,\n\t\"./dv.js\": 60708,\n\t\"./el\": 54691,\n\t\"./el.js\": 54691,\n\t\"./en-au\": 53872,\n\t\"./en-au.js\": 53872,\n\t\"./en-ca\": 28298,\n\t\"./en-ca.js\": 28298,\n\t\"./en-gb\": 56195,\n\t\"./en-gb.js\": 56195,\n\t\"./en-ie\": 66584,\n\t\"./en-ie.js\": 66584,\n\t\"./en-il\": 65543,\n\t\"./en-il.js\": 65543,\n\t\"./en-in\": 9033,\n\t\"./en-in.js\": 9033,\n\t\"./en-nz\": 79402,\n\t\"./en-nz.js\": 79402,\n\t\"./en-sg\": 43004,\n\t\"./en-sg.js\": 43004,\n\t\"./eo\": 32934,\n\t\"./eo.js\": 32934,\n\t\"./es\": 97650,\n\t\"./es-do\": 20838,\n\t\"./es-do.js\": 20838,\n\t\"./es-mx\": 17730,\n\t\"./es-mx.js\": 17730,\n\t\"./es-us\": 56575,\n\t\"./es-us.js\": 56575,\n\t\"./es.js\": 97650,\n\t\"./et\": 3035,\n\t\"./et.js\": 3035,\n\t\"./eu\": 3508,\n\t\"./eu.js\": 3508,\n\t\"./fa\": 119,\n\t\"./fa.js\": 119,\n\t\"./fi\": 90527,\n\t\"./fi.js\": 90527,\n\t\"./fil\": 95995,\n\t\"./fil.js\": 95995,\n\t\"./fo\": 52477,\n\t\"./fo.js\": 52477,\n\t\"./fr\": 85498,\n\t\"./fr-ca\": 26435,\n\t\"./fr-ca.js\": 26435,\n\t\"./fr-ch\": 37892,\n\t\"./fr-ch.js\": 37892,\n\t\"./fr.js\": 85498,\n\t\"./fy\": 37071,\n\t\"./fy.js\": 37071,\n\t\"./ga\": 41734,\n\t\"./ga.js\": 41734,\n\t\"./gd\": 70217,\n\t\"./gd.js\": 70217,\n\t\"./gl\": 77329,\n\t\"./gl.js\": 77329,\n\t\"./gom-deva\": 32124,\n\t\"./gom-deva.js\": 32124,\n\t\"./gom-latn\": 93383,\n\t\"./gom-latn.js\": 93383,\n\t\"./gu\": 95050,\n\t\"./gu.js\": 95050,\n\t\"./he\": 11713,\n\t\"./he.js\": 11713,\n\t\"./hi\": 43861,\n\t\"./hi.js\": 43861,\n\t\"./hr\": 26308,\n\t\"./hr.js\": 26308,\n\t\"./hu\": 90609,\n\t\"./hu.js\": 90609,\n\t\"./hy-am\": 17160,\n\t\"./hy-am.js\": 17160,\n\t\"./id\": 74063,\n\t\"./id.js\": 74063,\n\t\"./is\": 89374,\n\t\"./is.js\": 89374,\n\t\"./it\": 88383,\n\t\"./it-ch\": 21827,\n\t\"./it-ch.js\": 21827,\n\t\"./it.js\": 88383,\n\t\"./ja\": 23827,\n\t\"./ja.js\": 23827,\n\t\"./jv\": 89722,\n\t\"./jv.js\": 89722,\n\t\"./ka\": 41794,\n\t\"./ka.js\": 41794,\n\t\"./kk\": 27088,\n\t\"./kk.js\": 27088,\n\t\"./km\": 96870,\n\t\"./km.js\": 96870,\n\t\"./kn\": 84451,\n\t\"./kn.js\": 84451,\n\t\"./ko\": 63164,\n\t\"./ko.js\": 63164,\n\t\"./ku\": 98174,\n\t\"./ku-kmr\": 6181,\n\t\"./ku-kmr.js\": 6181,\n\t\"./ku.js\": 98174,\n\t\"./ky\": 78474,\n\t\"./ky.js\": 78474,\n\t\"./lb\": 79680,\n\t\"./lb.js\": 79680,\n\t\"./lo\": 15867,\n\t\"./lo.js\": 15867,\n\t\"./lt\": 45766,\n\t\"./lt.js\": 45766,\n\t\"./lv\": 69532,\n\t\"./lv.js\": 69532,\n\t\"./me\": 58076,\n\t\"./me.js\": 58076,\n\t\"./mi\": 41848,\n\t\"./mi.js\": 41848,\n\t\"./mk\": 30306,\n\t\"./mk.js\": 30306,\n\t\"./ml\": 73739,\n\t\"./ml.js\": 73739,\n\t\"./mn\": 99053,\n\t\"./mn.js\": 99053,\n\t\"./mr\": 86169,\n\t\"./mr.js\": 86169,\n\t\"./ms\": 73386,\n\t\"./ms-my\": 92297,\n\t\"./ms-my.js\": 92297,\n\t\"./ms.js\": 73386,\n\t\"./mt\": 77075,\n\t\"./mt.js\": 77075,\n\t\"./my\": 72264,\n\t\"./my.js\": 72264,\n\t\"./nb\": 22274,\n\t\"./nb.js\": 22274,\n\t\"./ne\": 8235,\n\t\"./ne.js\": 8235,\n\t\"./nl\": 92572,\n\t\"./nl-be\": 43784,\n\t\"./nl-be.js\": 43784,\n\t\"./nl.js\": 92572,\n\t\"./nn\": 54566,\n\t\"./nn.js\": 54566,\n\t\"./oc-lnc\": 69330,\n\t\"./oc-lnc.js\": 69330,\n\t\"./pa-in\": 29849,\n\t\"./pa-in.js\": 29849,\n\t\"./pl\": 94418,\n\t\"./pl.js\": 94418,\n\t\"./pt\": 79834,\n\t\"./pt-br\": 48303,\n\t\"./pt-br.js\": 48303,\n\t\"./pt.js\": 79834,\n\t\"./ro\": 24457,\n\t\"./ro.js\": 24457,\n\t\"./ru\": 82271,\n\t\"./ru.js\": 82271,\n\t\"./sd\": 1221,\n\t\"./sd.js\": 1221,\n\t\"./se\": 33478,\n\t\"./se.js\": 33478,\n\t\"./si\": 17538,\n\t\"./si.js\": 17538,\n\t\"./sk\": 5784,\n\t\"./sk.js\": 5784,\n\t\"./sl\": 46637,\n\t\"./sl.js\": 46637,\n\t\"./sq\": 86794,\n\t\"./sq.js\": 86794,\n\t\"./sr\": 45719,\n\t\"./sr-cyrl\": 3322,\n\t\"./sr-cyrl.js\": 3322,\n\t\"./sr.js\": 45719,\n\t\"./ss\": 56000,\n\t\"./ss.js\": 56000,\n\t\"./sv\": 41011,\n\t\"./sv.js\": 41011,\n\t\"./sw\": 40748,\n\t\"./sw.js\": 40748,\n\t\"./ta\": 11025,\n\t\"./ta.js\": 11025,\n\t\"./te\": 11885,\n\t\"./te.js\": 11885,\n\t\"./tet\": 28861,\n\t\"./tet.js\": 28861,\n\t\"./tg\": 86571,\n\t\"./tg.js\": 86571,\n\t\"./th\": 55802,\n\t\"./th.js\": 55802,\n\t\"./tk\": 59527,\n\t\"./tk.js\": 59527,\n\t\"./tl-ph\": 29231,\n\t\"./tl-ph.js\": 29231,\n\t\"./tlh\": 31052,\n\t\"./tlh.js\": 31052,\n\t\"./tr\": 85096,\n\t\"./tr.js\": 85096,\n\t\"./tzl\": 79846,\n\t\"./tzl.js\": 79846,\n\t\"./tzm\": 81765,\n\t\"./tzm-latn\": 97711,\n\t\"./tzm-latn.js\": 97711,\n\t\"./tzm.js\": 81765,\n\t\"./ug-cn\": 48414,\n\t\"./ug-cn.js\": 48414,\n\t\"./uk\": 16618,\n\t\"./uk.js\": 16618,\n\t\"./ur\": 57777,\n\t\"./ur.js\": 57777,\n\t\"./uz\": 57609,\n\t\"./uz-latn\": 72475,\n\t\"./uz-latn.js\": 72475,\n\t\"./uz.js\": 57609,\n\t\"./vi\": 21135,\n\t\"./vi.js\": 21135,\n\t\"./x-pseudo\": 64051,\n\t\"./x-pseudo.js\": 64051,\n\t\"./yo\": 82218,\n\t\"./yo.js\": 82218,\n\t\"./zh-cn\": 52648,\n\t\"./zh-cn.js\": 52648,\n\t\"./zh-hk\": 1632,\n\t\"./zh-hk.js\": 1632,\n\t\"./zh-mo\": 31541,\n\t\"./zh-mo.js\": 31541,\n\t\"./zh-tw\": 50304,\n\t\"./zh-tw.js\": 50304\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 35358;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \"-\" + chunkId + \".js?v=\" + {\"4005\":\"ea0438a7997fd9e715c6\",\"4017\":\"dec6f3d66ff15c8062d0\",\"5236\":\"311a02bae05374304a11\",\"7859\":\"374481dd0197cd96efe4\",\"8374\":\"a1555d19d2bb52436702\",\"8436\":\"e9ae15ec61caab34615a\",\"8689\":\"81e9b831f82f55de32df\",\"9553\":\"c8ce7bd4445f06a11ae6\"}[chunkId] + \"\";\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 1418;","var scriptUrl;\nif (globalThis.importScripts) scriptUrl = globalThis.location + \"\";\nvar document = globalThis.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript && document.currentScript.tagName.toUpperCase() === 'SCRIPT')\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && (!scriptUrl || !/^http(s?):/.test(scriptUrl))) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/^blob:/, \"\").replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","__webpack_require__.b = (typeof document !== 'undefined' && document.baseURI) || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t1418: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = globalThis[\"webpackChunknextcloud_ui_legacy\"] = globalThis[\"webpackChunknextcloud_ui_legacy\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [4208], () => (__webpack_require__(43218)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","inProgress","dataWebpackPrefix","login_LoginButtonvue_type_script_lang_js","name","components","ArrowRight","A","NcButton","props","value","type","String","default","t","valueLoading","loading","Boolean","required","invertedColors","options","styleTagTransform","styleTagTransform_default","setAttributes","setAttributesWithoutAttributes_default","insert","insertBySelector_default","bind","domAPI","styleDomAPI_default","insertStyleElement","insertStyleElement_default","injectStylesIntoStyleTag_default","LoginButtonvue_type_style_index_0_id_bbf83d00_prod_lang_scss_scoped_true","locals","LoginButton","componentNormalizer","_vm","this","_c","_self","attrs","variant","wide","disabled","on","click","$event","$emit","scopedSlots","_u","key","fn","staticClass","proxy","_v","_s","auth","computed","userNameInputLengthIs255","user","length","userInputHelperText","login_LoginFormvue_type_script_lang_js","NcCheckboxRadioSwitch","NcPasswordField","NcTextField","NcNoteCard","mixins","AuthMixin","username","redirectUrl","errors","Array","messages","throttleDelay","Number","autoCompleteAllowed","remembermeAllowed","directLogin","emailStates","setup","l10n_dist","Tl","headlineText","productName","OC","theme","undefined","sanitize","escape","loginTimeout","loadState","requestToken","window","timezone","Intl","DateTimeFormat","resolvedOptions","timeZone","timezoneOffset","Date","getTimezoneOffset","data","password","rememberme","visible","resetFormTimeout","debounce","handleResetForm","isError","invalidPassword","userDisabled","errorLabel","apacheAuthFailed","indexOf","csrfCheckFailed","internalException","loadingIcon","imagePath","loginActionUrl","generateUrl","emailEnabled","every","state","loginText","watch","mounted","$refs","inputField","input","focus","methods","updateUsername","submit","event","preventDefault","LoginFormvue_type_style_index_0_id_fac76c6a_prod_lang_scss_scoped_true_options","LoginFormvue_type_style_index_0_id_fac76c6a_prod_lang_scss_scoped_true","LoginForm","ref","method","action","title","_e","heading","_l","message","index","class","id","alt","src","staticStyle","clear","shake","label","maxlength","autocapitalize","spellchecking","autocomplete","error","change","model","callback","$$v","expression","domProps","browserSupportsWebAuthn","_browserSupportsWebAuthnInternals","stubThis","globalThis","PublicKeyCredential","WebAuthnError","Error","constructor","code","cause","super","Object","defineProperty","enumerable","configurable","writable","WebAuthnAbortService","createNewAbortSignal","controller","abortError","abort","newController","AbortController","signal","cancelCeremony","bufferToBase64URLString_bufferToBase64URLString","buffer","bytes","Uint8Array","str","charCode","fromCharCode","btoa","replace","base64URLStringToBuffer_base64URLStringToBuffer","base64URLString","base64","padLength","padded","padEnd","binary","atob","ArrayBuffer","i","charCodeAt","_browserSupportsWebAuthnAutofillInternals","toPublicKeyCredentialDescriptor_toPublicKeyCredentialDescriptor","descriptor","transports","attachments","toAuthenticatorAttachment_toAuthenticatorAttachment","attachment","vue_material_design_icons_LockOpenvue_type_script_lang_js","emits","fillColor","size","LockOpen","_b","role","$attrs","fill","width","height","viewBox","d","logger","getCurrentUser","getLoggerBuilder","setApp","build","setUid","uid","detectUser","NoValidCredentials","login_PasswordLessLoginFormvue_type_script_lang_js","defineComponent","InformationIcon","InformationOutline","LockOpenIcon","NcEmptyContent","isHttps","isLocalhost","supportsWebauthn","validCredentials","authenticate","loginForm","checkValidity","debug","params","async","loginName","url","Axios","post","allowCredentials","optionsJSON","challenge","console","warn","useBrowserAutofill","verifyBrowserAutofillInput","map","publicKey","getOptions","Promise","resolve","globalPublicKeyCredential","isConditionalMediationAvailable","browserSupportsWebAuthnAutofill","document","querySelectorAll","mediation","credential","navigator","credentials","get","err","AbortSignal","effectiveDomain","location","hostname","test","rpId","identifyAuthenticationError","rawId","response","userHandle","authenticatorData","clientDataJSON","signature","clientExtensionResults","getClientExtensionResults","authenticatorAttachment","startWebauthnAuthentication","startAuthentication","completeAuthentication","changeUsername","authData","JSON","stringify","finishAuthentication","then","defaultRedirectUrl","charAt","href","getBaseUrl","catch","PasswordLessLoginFormvue_type_style_index_0_id_25758ef3_prod_lang_scss_scoped_true_options","PasswordLessLoginFormvue_type_style_index_0_id_25758ef3_prod_lang_scss_scoped_true","PasswordLessLoginForm_component","_setupProxy","apply","arguments","placeholder","description","PasswordLessLoginForm","login_ResetPasswordvue_type_script_lang_ts","resetPasswordLink","axios","status","ResetPasswordvue_type_style_index_0_id_759a0fdd_prod_lang_scss_scoped_true_options","ResetPasswordvue_type_style_index_0_id_759a0fdd_prod_lang_scss_scoped_true","ResetPassword_component","ResetPassword","login_UpdatePasswordvue_type_script_lang_js","resetPasswordTarget","encrypted","proceed","encryption","msg","e","UpdatePasswordvue_type_style_index_0_id_2c0ecaf9_prod_scoped_true_lang_css_options","UpdatePasswordvue_type_style_index_0_id_2c0ecaf9_prod_scoped_true_lang_css","UpdatePassword_component","for","directives","rawName","spellcheck","target","composing","checked","isArray","_i","$$a","$$el","$$c","$$i","concat","slice","warning","UpdatePassword","query","queryString","parse","search","localStorage","sessionStorage","indexedDBList","indexedDB","databases","deleteDatabase","wipeBrowserStorages","views_Loginvue_type_script_lang_js","passwordlessLogin","resetPassword","canResetPassword","resetPasswordUser","direct","hasPasswordless","countAlternativeLogins","alternativeLogins","protocol","hideLoginForm","passwordResetFinished","Loginvue_type_style_index_0_id_518c0816_prod_scoped_true_lang_scss_options","Loginvue_type_style_index_0_id_518c0816_prod_scoped_true_lang_scss","Login","mode","done","alternativeLogin","isAdmin","_oc_isadmin","appConfig","oc_appconfig","OC_appswebroots","_oc_appswebroots","OC_config","_oc_config","rawUid","getElementsByTagName","getAttribute","displayName","currentUser","_oc_debug","Dialogs","YES_NO_BUTTONS","OK_BUTTONS","FILEPICKER_TYPE_CHOOSE","FILEPICKER_TYPE_MOVE","FILEPICKER_TYPE_COPY","FILEPICKER_TYPE_COPY_MOVE","FILEPICKER_TYPE_CUSTOM","alert","text","modal","OK_BUTTON","info","confirm","confirmDestructive","buttons","DialogBuilder","setName","setText","setButtons","clicked","_getLegacyButtons","show","confirmHtml","setHTML","prompt","spawnDialog","defineAsyncComponent","all","__webpack_require__","inputName","isPassword","args","filepicker","multiselect","mimetype","_modal","FilePickerType","Choose","path","legacyCallback","getPath","node","root","startsWith","nodes","builder","getFilePickerBuilder","forEach","button","addButton","defaultButton","setButtonFactory","displayname","basename","push","multiSelect","file","CopyMove","Copy","icon","IconCopy","Move","setMimeTypeFilter","filter","setFilter","fileid","mime","mtime","getTime","permissions","attributes","etag","hasPreview","mountType","quotaAvailableBytes","sharePermissions","nodeToLegacyFile","allowDirectories","allowDirectoryChooser","includes","setMultiSelect","startAt","pick","content","dialogType","allowHtml","setSeverity","dialog","_clicked","buttonList","cancel","dialogs","getRequestToken","head","dataset","requesttoken","OCEventSource","joinChar","dataStr","typelessListeners","closed","encodeURIComponent","source","EventSource","onmessage","listen","close","prototype","call","addEventListener","eventsource","l10n","load","loadTranslations","register","kz","_unregister","unregister","translate","translatePlural","iconCache","Map","getIconUrl","mimeType","MimeTypeList","aliases","has","gotIcon","folder","themes","getRootUrl","getMimeTypeIcon","files","OCA","Theming","cacheBuster","set","RegExp","split","clearIconCache","startSaving","selector","startAction","el","querySelector","HTMLElement","textContent","classList","remove","getAnimations","animation","style","display","finishedSaving","finishedAction","finishedSuccess","finishedError","add","setTimeout","animate","opacity","duration","password_confirmation","requiresPasswordConfirmation","isPasswordConfirmationRequired","requirePasswordConfirmation","rejectCallback","confirmPassword","plugins","_plugins","targetName","plugin","getPlugins","attach","targetObject","detach","_theme","util_history","_handlers","_pushState","strParams","buildQueryString","history","pushState","pathname","userAgent","toLowerCase","parseInt","pop","patterns","pattern","ii","stroke","removeAttribute","setAttribute","replaceState","hash","_cancelPop","addOnPopStateHandler","handler","_parseHashQuery","pos","substr","_decodeQuery","parseUrlQuery","parseQueryString","_onPopState","chunkify","tz","c","x","y","n","m","util","History","humanFileSize","files_dist","v7","computerFileSize","string","s","trim","matches","match","parseFloat","isFinite","b","k","kb","mb","gb","g","tb","pb","p","Math","round","formatDate","timestamp","format","TESTING","moment","relativeModifiedDate","diff","fromNow","getScrollBarWidth","_scrollBarWidth","inner","createElement","outer","position","top","left","visibility","overflow","appendChild","body","w1","offsetWidth","w2","clientWidth","removeChild","stripTime","date","getFullYear","getMonth","getDate","naturalSortCompare","a","aa","bb","aNum","bNum","localeCompare","getLanguage","waitFor","interval","internalCallback","isCookieSetToValue","cookies","cookie","webroot","_oc_webroot","lastIndexOf","OC_webroot","src_OC","coreApps","menuSpeed","PERMISSION_ALL","PERMISSION_CREATE","PERMISSION_DELETE","PERMISSION_NONE","PERMISSION_READ","PERMISSION_SHARE","PERMISSION_UPDATE","TAG_FAVORITE","appswebroots","config","Config","MimeType","mimeType_namespaceObject","isUserAdmin","L10N","registerXHRForErrorProcessing","getCapabilities","realGetCapabilities","paths_dist","P8","encodePath","O0","dirname","pD","isSamePath","ys","joinPaths","join","getCanonicalLocale","lO","getLocale","JK","Z0","URLSearchParams","toString","fromEntries","entries","PasswordConfirmation","Plugins","Util","filePath","generateFilePath","router_dist","Jv","getRootPath","d0","linkTo","uM","linkToOCS","service","version","generateOcsUrl","ocsVersion","linkToRemote","generateRemoteUrl","linkToRemoteBase","realGetRootUrl","subscribe","token","Nextcloud","L10n","Vue","mixin","extend","LoginView","$mount","___CSS_LOADER_EXPORT___","_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default","_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default","module","sources","names","mappings","sourcesContent","sourceRoot","__WEBPACK_DEFAULT_EXPORT__","webpackContext","req","webpackContextResolve","o","keys","exports","__webpack_module_cache__","moduleId","cachedModule","loaded","__webpack_modules__","O","result","chunkIds","priority","notFulfilled","Infinity","fulfilled","j","splice","r","getter","__esModule","definition","f","chunkId","reduce","promises","u","obj","prop","hasOwnProperty","l","script","needAttach","scripts","charset","nc","onScriptComplete","prev","onerror","onload","clearTimeout","timeout","doneFns","parentNode","Symbol","toStringTag","nmd","paths","children","scriptUrl","importScripts","currentScript","tagName","toUpperCase","baseURI","self","installedChunks","installedChunkData","promise","reject","errorType","realSrc","request","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/core-main.js b/dist/core-main.js index 95664e06c9f3f..c298cd60063e0 100644 --- a/dist/core-main.js +++ b/dist/core-main.js @@ -1,2 +1,2 @@ -(()=>{var e,r,n,o={99014(e,r,n){"use strict";var o={};n.r(o),n.d(o,{clearIconCache:()=>Me,getIconUrl:()=>Ie});var i={};n.r(i),n.d(i,{deleteKey:()=>Ye,getApps:()=>We,getKeys:()=>Ge,getValue:()=>$e,setValue:()=>Ke});var a={};n.r(a),n.d(a,{formatLinksPlain:()=>or,formatLinksRich:()=>nr,plainToRich:()=>er,richToPlain:()=>rr});var s=n(21777),c=n(44368),u=n(63814),l=n(53334),f=n(95093),p=n.n(f),d=n(85471),h=n(9165),v=n(80474),g=n(46855),m=n(57505),y=n(24764),A=n(74095),b=n(48943),w=n(2769),x=n(6695),C=n(88289),_=n(82182),E=n(23739),S=n(13741),k=n(58582),O=n(41944);const T={name:"ContactMenuEntry",components:{NcActionLink:S.A,NcActionText:k.A,NcActionButton:m.A,NcActions:y.A,NcAvatar:O.A,NcIconSvgWrapper:x.A},props:{contact:{required:!0,type:Object}},computed:{actions(){return this.contact.topAction?[this.contact.topAction,...this.contact.actions]:this.contact.actions},jsActions(){return(0,E.N)(this.contact)},preloadedUserStatus(){if(this.contact.status)return{status:this.contact.status,message:this.contact.statusMessage,icon:this.contact.statusIcon}}}};var I=n(85072),R=n.n(I),M=n(97825),j=n.n(M),N=n(77659),P=n.n(N),L=n(55056),D=n.n(L),B=n(10540),U=n.n(B),F=n(41113),z=n.n(F),H=n(89004),V={};V.styleTagTransform=z(),V.setAttributes=D(),V.insert=P().bind(null,"head"),V.domAPI=j(),V.insertStyleElement=U(),R()(H.A,V),H.A&&H.A.locals&&H.A.locals;var q=n(14486);const W=(0,q.A)(T,function(){var t=this,e=t._self._c;return e("li",{staticClass:"contact"},[e("NcAvatar",{staticClass:"contact__avatar",attrs:{user:t.contact.isUser?t.contact.uid:void 0,"is-no-user":!t.contact.isUser,"disable-menu":!0,"display-name":t.contact.avatarLabel,"preloaded-user-status":t.preloadedUserStatus}}),t._v(" "),e("a",{staticClass:"contact__body",attrs:{href:t.contact.profileUrl||t.contact.topAction?.hyperlink}},[e("div",{staticClass:"contact__body__full-name"},[t._v(t._s(t.contact.fullName))]),t._v(" "),t.contact.lastMessage?e("div",{staticClass:"contact__body__last-message"},[t._v(t._s(t.contact.lastMessage))]):t._e(),t._v(" "),t.contact.statusMessage?e("div",{staticClass:"contact__body__status-message"},[t._v(t._s(t.contact.statusMessage))]):e("div",{staticClass:"contact__body__email-address"},[t._v(t._s(t.contact.emailAddresses[0]))])]),t._v(" "),t.actions.length?e("NcActions",{attrs:{inline:t.contact.topAction?1:0}},[t._l(t.actions,function(r,n){return["#"!==r.hyperlink?e("NcActionLink",{key:`${n}-link`,staticClass:"other-actions",attrs:{href:r.hyperlink},scopedSlots:t._u([{key:"icon",fn:function(){return[e("img",{staticClass:"contact__action__icon",attrs:{"aria-hidden":"true",src:r.icon}})]},proxy:!0}],null,!0)},[t._v("\n\t\t\t\t"+t._s(r.title)+"\n\t\t\t")]):e("NcActionText",{key:`${n}-text`,staticClass:"other-actions",scopedSlots:t._u([{key:"icon",fn:function(){return[e("img",{staticClass:"contact__action__icon",attrs:{"aria-hidden":"true",src:r.icon}})]},proxy:!0}],null,!0)},[t._v("\n\t\t\t\t"+t._s(r.title)+"\n\t\t\t")])]}),t._v(" "),t._l(t.jsActions,function(r){return e("NcActionButton",{key:r.id,staticClass:"other-actions",attrs:{"close-after-click":!0},on:{click:function(e){return r.callback(t.contact)}},scopedSlots:t._u([{key:"icon",fn:function(){return[e("NcIconSvgWrapper",{attrs:{svg:r.iconSvg(t.contact)}})]},proxy:!0}],null,!0)},[t._v("\n\t\t\t"+t._s(r.displayName(t.contact))+"\n\t\t")])})],2):t._e()],1)},[],!1,null,"56b7b257",null).exports;var G=n(35947);const $=null===(K=(0,s.HW)())?(0,G.YK)().setApp("core").build():(0,G.YK)().setApp("core").setUid(K.uid).build();var K;(0,G.YK)().setApp("unified-search").detectUser().build();const Y=[],J=(0,d.pM)({__name:"ContactsMenu",setup(t){const e=(0,v.c0)("core:contacts").persist(!0).clearOnLogout(!0).build(),r=(0,s.HW)(),n=(0,u.Jv)("/apps/contacts"),o=(0,u.Jv)("/settings/apps/social/contacts"),i=(0,d.KR)(),a=(0,d.KR)(window.OC?.ContactsMenu?.actions||[]),f=(0,d.KR)(!1),p=(0,d.KR)([]),E=(0,d.KR)(),S=(0,d.KR)(!1),k=(0,d.KR)(""),O=(0,d.KR)([]),T=(0,d.KR)("$_all_$"),I=(0,d.EW)(()=>O.value.find(t=>t.teamId===T.value)?.displayName);async function R(t){E.value=""===t?(0,l.t)("core","Loading your contacts …"):(0,l.t)("core","Looking for {term} …",{term:t}),S.value=!1;try{const{data:e}=await c.Ay.post((0,u.Jv)("/contactsmenu/contacts"),{filter:t,teamId:"$_all_$"!==T.value?T.value:void 0});p.value=e.contacts,f.value=e.contactsAppEnabled,E.value=void 0}catch(e){$.error("could not load contacts",{error:e,searchTerm:t}),S.value=!0}}(0,d.sV)(async()=>{const t=e.getItem("core:contacts:team");if(t&&(T.value=JSON.parse(t)),0===Y.length)try{const{data:t}=await c.Ay.get((0,u.Jv)("/contactsmenu/teams"));Y.push(...t)}catch(t){$.error("could not load user teams",{error:t})}O.value=[...Y]}),(0,d.wB)(T,()=>{e.setItem("core:contacts:team",JSON.stringify(T.value)),R(k.value)});const M=(0,g.A)(function(){R(k.value)},500);function j(){(0,d.dY)(()=>{i.value?.focus(),i.value?.select()})}return{__sfc:!0,userTeams:Y,storage:e,user:r,contactsAppURL:n,contactsAppMgmtURL:o,contactsMenuInput:i,actions:a,contactsAppEnabled:f,contacts:p,loadingText:E,hasError:S,searchTerm:k,teams:O,selectedTeam:T,selectedTeamName:I,onOpened:async function(){await R("")},getContacts:R,onInputDebounced:M,onReset:function(){k.value="",p.value=[],j()},focusInput:j,mdiAccountGroupOutline:h.dgQ,mdiContacts:h.aB4,mdiMagnify:h.U4M,t:l.t,NcActionButton:m.A,NcActions:y.A,NcButton:A.A,NcEmptyContent:b.A,NcHeaderMenu:w.A,NcIconSvgWrapper:x.A,NcLoadingIcon:C.A,NcTextField:_.A,ContactMenuEntry:W}}}),Q=J;var X=n(32351),Z={};Z.styleTagTransform=z(),Z.setAttributes=D(),Z.insert=P().bind(null,"head"),Z.domAPI=j(),Z.insertStyleElement=U(),R()(X.A,Z),X.A&&X.A.locals&&X.A.locals;const tt=(0,q.A)(Q,function(){var t=this,e=t._self._c,r=t._self._setupProxy;return e(r.NcHeaderMenu,{staticClass:"contactsmenu",attrs:{id:"contactsmenu","aria-label":r.t("core","Search contacts"),"exclude-click-outside-selectors":".v-popper__popper"},on:{open:r.onOpened},scopedSlots:t._u([{key:"trigger",fn:function(){return[e(r.NcIconSvgWrapper,{staticClass:"contactsmenu__trigger-icon",attrs:{path:r.mdiContacts}})]},proxy:!0}])},[t._v(" "),e("div",{staticClass:"contactsmenu__menu"},[e("div",{staticClass:"contactsmenu__menu__search-container"},[e("div",{staticClass:"contactsmenu__menu__input-wrapper"},[e(r.NcActions,{attrs:{"force-menu":"","aria-label":r.t("core","Filter by team"),variant:"tertiary"},scopedSlots:t._u([{key:"icon",fn:function(){return[e(r.NcIconSvgWrapper,{attrs:{path:r.mdiAccountGroupOutline}})]},proxy:!0},{key:"default",fn:function(){return[e(r.NcActionButton,{attrs:{modelValue:r.selectedTeam,value:"$_all_$",type:"radio"},on:{"update:modelValue":function(t){r.selectedTeam=t},"update:model-value":function(t){r.selectedTeam=t}}},[t._v("\n\t\t\t\t\t\t\t"+t._s(r.t("core","All teams"))+"\n\t\t\t\t\t\t")]),t._v(" "),t._l(r.teams,function(n){return e(r.NcActionButton,{key:n.teamId,attrs:{modelValue:r.selectedTeam,value:n.teamId,type:"radio"},on:{"update:modelValue":function(t){r.selectedTeam=t},"update:model-value":function(t){r.selectedTeam=t}}},[t._v("\n\t\t\t\t\t\t\t"+t._s(n.displayName)+"\n\t\t\t\t\t\t")])})]},proxy:!0}])}),t._v(" "),e(r.NcTextField,{ref:"contactsMenuInput",staticClass:"contactsmenu__menu__search",attrs:{id:"contactsmenu__menu__search","trailing-button-icon":"close",label:r.selectedTeamName?r.t("core","Search contacts in team {team}",{team:r.selectedTeamName}):r.t("core","Search contacts …"),"trailing-button-label":r.t("core","Reset search"),"show-trailing-button":""!==r.searchTerm,type:"search"},on:{input:r.onInputDebounced,"trailing-button-click":r.onReset},model:{value:r.searchTerm,callback:function(t){r.searchTerm=t},expression:"searchTerm"}})],1),t._v(" "),t._l(r.actions,function(n){return e(r.NcButton,{key:n.id,staticClass:"contactsmenu__menu__action",attrs:{"aria-label":n.label,title:n.label,variant:"tertiary-no-background"},on:{click:n.onClick},scopedSlots:t._u([{key:"icon",fn:function(){return[e(r.NcIconSvgWrapper,{attrs:{svg:n.icon}})]},proxy:!0}],null,!0)})})],2),t._v(" "),r.hasError?e(r.NcEmptyContent,{attrs:{name:r.t("core","Could not load your contacts")},scopedSlots:t._u([{key:"icon",fn:function(){return[e(r.NcIconSvgWrapper,{attrs:{path:r.mdiMagnify}})]},proxy:!0}],null,!1,1853740774)}):r.loadingText?e(r.NcEmptyContent,{attrs:{name:r.loadingText},scopedSlots:t._u([{key:"icon",fn:function(){return[e(r.NcLoadingIcon)]},proxy:!0}])}):0===r.contacts.length?e(r.NcEmptyContent,{attrs:{name:r.t("core","No contacts found")},scopedSlots:t._u([{key:"icon",fn:function(){return[e(r.NcIconSvgWrapper,{attrs:{path:r.mdiMagnify}})]},proxy:!0}])}):e("div",{staticClass:"contactsmenu__menu__content"},[e("div",{attrs:{id:"contactsmenu-contacts"}},[e("ul",{attrs:{"aria-label":r.t("core","Contacts list")}},t._l(r.contacts,function(t){return e(r.ContactMenuEntry,{key:t.id,attrs:{contact:t}})}),1)]),t._v(" "),r.contactsAppEnabled?e("div",{staticClass:"contactsmenu__menu__content__footer"},[e(r.NcButton,{attrs:{variant:"tertiary",href:r.contactsAppURL}},[t._v("\n\t\t\t\t\t"+t._s(r.t("core","Show all contacts"))+"\n\t\t\t\t")])],1):r.user.isAdmin?e("div",{staticClass:"contactsmenu__menu__content__footer"},[e(r.NcButton,{attrs:{variant:"tertiary",href:r.contactsAppMgmtURL}},[t._v("\n\t\t\t\t\t"+t._s(r.t("core","Install the Contacts app"))+"\n\t\t\t\t")])],1):t._e()])],1)])},[],!1,null,"253ecd69",null).exports;class et{constructor(){(function(t,e,r){(e=function(t){var e=function(t){if("object"!=typeof t||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var r=e.call(t,"string");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==typeof e?e:e+""}(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r})(this,"_actions",void 0),this._actions=[]}get actions(){return this._actions}addAction(t){this._actions.push(t)}}var rt=n(61338),nt=n(81222),ot=n(54562);const it={name:"CogIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},at=(0,q.A)(it,function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon cog-icon",attrs:{"aria-hidden":t.title?null:"true","aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M12,15.5A3.5,3.5 0 0,1 8.5,12A3.5,3.5 0 0,1 12,8.5A3.5,3.5 0 0,1 15.5,12A3.5,3.5 0 0,1 12,15.5M19.43,12.97C19.47,12.65 19.5,12.33 19.5,12C19.5,11.67 19.47,11.34 19.43,11L21.54,9.37C21.73,9.22 21.78,8.95 21.66,8.73L19.66,5.27C19.54,5.05 19.27,4.96 19.05,5.05L16.56,6.05C16.04,5.66 15.5,5.32 14.87,5.07L14.5,2.42C14.46,2.18 14.25,2 14,2H10C9.75,2 9.54,2.18 9.5,2.42L9.13,5.07C8.5,5.32 7.96,5.66 7.44,6.05L4.95,5.05C4.73,4.96 4.46,5.05 4.34,5.27L2.34,8.73C2.21,8.95 2.27,9.22 2.46,9.37L4.57,11C4.53,11.34 4.5,11.67 4.5,12C4.5,12.33 4.53,12.65 4.57,12.97L2.46,14.63C2.27,14.78 2.21,15.05 2.34,15.27L4.34,18.73C4.46,18.95 4.73,19.03 4.95,18.95L7.44,17.94C7.96,18.34 8.5,18.68 9.13,18.93L9.5,21.58C9.54,21.82 9.75,22 10,22H14C14.25,22 14.46,21.82 14.5,21.58L14.87,18.93C15.5,18.67 16.04,18.34 16.56,17.94L19.05,18.95C19.27,19.03 19.54,18.95 19.66,18.73L21.66,15.27C21.78,15.05 21.73,14.78 21.54,14.63L19.43,12.97Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])},[],!1,null,null,null).exports,st={name:"DotsGridIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},ct=(0,q.A)(st,function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon dots-grid-icon",attrs:{"aria-hidden":t.title?null:"true","aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M12 16C13.1 16 14 16.9 14 18S13.1 20 12 20 10 19.1 10 18 10.9 16 12 16M12 10C13.1 10 14 10.9 14 12S13.1 14 12 14 10 13.1 10 12 10.9 10 12 10M12 4C13.1 4 14 4.9 14 6S13.1 8 12 8 10 7.1 10 6 10.9 4 12 4M6 16C7.1 16 8 16.9 8 18S7.1 20 6 20 4 19.1 4 18 4.9 16 6 16M6 10C7.1 10 8 10.9 8 12S7.1 14 6 14 4 13.1 4 12 4.9 10 6 10M6 4C7.1 4 8 4.9 8 6S7.1 8 6 8 4 7.1 4 6 4.9 4 6 4M18 16C19.1 16 20 16.9 20 18S19.1 20 18 20 16 19.1 16 18 16.9 16 18 16M18 10C19.1 10 20 10.9 20 12S19.1 14 18 14 16 13.1 16 12 16.9 10 18 10M18 4C19.1 4 20 4.9 20 6S19.1 8 18 8 16 7.1 16 6 16.9 4 18 4Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])},[],!1,null,null,null).exports,ut=(0,d.pM)({__name:"AppIcon",props:{icon:null,outlined:{type:Boolean,default:!1}},setup(t){const e=t,r=(0,d.EW)(()=>({"--app-icon-url":`url("${e.icon.replace(/["\\]/g,"\\$&")}")`}));return{__sfc:!0,props:e,iconStyle:r}}});var lt=n(53628),ft={};ft.styleTagTransform=z(),ft.setAttributes=D(),ft.insert=P().bind(null,"head"),ft.domAPI=j(),ft.insertStyleElement=U(),R()(lt.A,ft),lt.A&<.A.locals&<.A.locals;const pt=(0,q.A)(ut,function(){var t=this,e=t._self._c,r=t._self._setupProxy;return e("span",{staticClass:"app-icon",class:{"app-icon--outlined":t.outlined}},[t.icon?e("span",{staticClass:"app-icon__img",style:r.iconStyle,attrs:{"aria-hidden":"true"}}):t._e(),t._v(" "),t._t("default")],2)},[],!1,null,"42bb03fc",null).exports,dt=(0,d.pM)({__name:"AppItem",props:{app:null,newTab:{type:Boolean},outlined:{type:Boolean},tabindex:{default:-1}},setup(t){const e=t,r=(0,d.EW)(()=>{if(e.app.unread)return(0,l.n)("core","{count} notification","{count} notifications",e.app.unread,{count:e.app.unread})});return{__sfc:!0,props:e,unreadLabel:r,AppIcon:pt}}});var ht=n(12481),vt={};vt.styleTagTransform=z(),vt.setAttributes=D(),vt.insert=P().bind(null,"head"),vt.domAPI=j(),vt.insertStyleElement=U(),R()(ht.A,vt),ht.A&&ht.A.locals&&ht.A.locals;const gt=(0,q.A)(dt,function(){var t=this,e=t._self._c,r=t._self._setupProxy;return e("a",{staticClass:"app-item",class:{"app-item--active":t.app.active},attrs:{href:t.app.href,target:t.newTab?"_blank":void 0,rel:t.newTab?"noopener noreferrer":void 0,"aria-current":t.app.active?"page":void 0,tabindex:t.tabindex,title:t.app.name,role:"menuitem"}},[e(r.AppIcon,{attrs:{icon:t.app.icon,outlined:t.outlined}},[t.app.unread?e("span",{staticClass:"app-item__unread",attrs:{"aria-hidden":"true"}}):t._e()]),t._v(" "),e("span",{staticClass:"app-item__label"},[t._v("\n\t\t"+t._s(t.app.name)+"\n\t\t"),t.app.unread?e("span",{staticClass:"hidden-visually"},[t._v(", "+t._s(r.unreadLabel))]):t._e()])],1)},[],!1,null,"5ea5a006",null).exports,mt=new Set(["logout"]),yt=(0,d.pM)({name:"AppMenu",components:{AppItem:gt,IconCog:at,IconDotsGrid:ct,NcButton:A.A,NcPopover:ot.A},setup(){const t=(0,d.KR)(!1);return{t:l.t,n:l.n,opened:t}},data:()=>({appList:(0,nt.C)("core","apps",[]),settingsList:(0,nt.C)("core","settingsNavEntries",{}),isAdmin:(0,s.HW)()?.isAdmin??!1,focusedIndex:0,openedFrom:null,moreAppsEntry:{id:"more-apps",active:!1,order:Number.MAX_SAFE_INTEGER,href:(0,u.Jv)("/settings/apps"),icon:(0,u.d0)("core","actions/add.svg"),type:"link",name:(0,l.t)("core","More apps"),unread:0},appStoreEntry:{id:"app-store",active:!1,order:Number.MAX_SAFE_INTEGER,href:"https://apps.nextcloud.com/",icon:(0,u.d0)("core","actions/add.svg"),type:"link",name:(0,l.t)("core","App store"),unread:0},popoverSkidding:(0,l.V8)()?82:-82}),computed:{currentApp(){return this.appList.find(t=>t.active)??Object.values(this.settingsList).find(t=>t.active&&!mt.has(t.id))},displayName(){return this.currentApp?"settings"===this.currentApp.type?(0,l.t)("core","Settings"):this.currentApp.name:""},currentAppLabel(){return this.currentApp?(0,l.t)("core","Open apps menu, currently in {app}",{app:this.displayName}):(0,l.t)("core","Open apps menu")},gridItems(){const t=this.isAdmin?this.moreAppsEntry:this.appStoreEntry;return[...this.appList,t]}},watch:{opened(t){t&&(this.focusedIndex=this.activeGridIndex(),this.tryRecomputeGridMaxHeight(5))}},mounted(){(0,rt.B1)("nextcloud:app-menu.refresh",this.setApps),this.focusedIndex=this.activeGridIndex(),this.$refs.popover.$on("after-hide",this.onPopoverAfterHide)},beforeUnmount(){(0,rt.al)("nextcloud:app-menu.refresh",this.setApps),this.$refs.popover?.$off("after-hide",this.onPopoverAfterHide)},methods:{returnFocusTarget(){return"currentApp"===this.openedFrom?this.$el.querySelector(".app-menu__current-app"):this.$el.querySelector(".app-menu__waffle")},onPopoverAfterHide(){this.openedFrom=null},onTriggerClick(t){this.openedFrom=t,this.opened=!this.opened},setNavigationCounter(t,e){const r=this.appList.find(({app:e})=>e===t);r?r.unread=e:$.warn(`Could not find app "${t}" for setting navigation count`)},setApps({apps:t}){this.appList=t,this.focusedIndex>=this.gridItems.length&&(this.focusedIndex=this.activeGridIndex())},tryRecomputeGridMaxHeight(t){!this.opened||t<=0||(this.$refs.grid?this.recomputeGridMaxHeight():requestAnimationFrame(()=>this.tryRecomputeGridMaxHeight(t-1)))},recomputeGridMaxHeight(){const t=this.$refs.grid;if(!t)return;const e=t.children;if(e.length<=24)return void(t.style.maxHeight="");const r=e[24],n=e[0];if(!r||!n)return;const o=r.getBoundingClientRect().top-n.getBoundingClientRect().top,i=parseFloat(getComputedStyle(t).getPropertyValue("--default-grid-baseline"))||4;t.style.maxHeight=`${o+6*i}px`},activeGridIndex(){const t=this.gridItems.findIndex(t=>t.active);return-1===t?0:t},async onGridKeydown(t){if(t.ctrlKey||t.metaKey||t.altKey||t.shiftKey)return;if(0===this.gridItems.length)return;const e=this.gridItems.length,r=this.focusedIndex;let n=r;switch(t.key){case"ArrowRight":r%4!=3&&r+1=0&&(n=r-4);break;case"Home":n=0;break;case"End":n=e-1;break;case"Enter":case" ":{const e=this.$refs.items;return e?.[this.focusedIndex]?.$el?.click(),this.opened=!1,t.preventDefault(),void t.stopPropagation()}default:return}t.preventDefault(),t.stopPropagation(),n!==r&&(this.focusedIndex=n),await this.$nextTick();const o=this.$refs.items;o?.[this.focusedIndex]?.$el?.focus()}}});var At=n(47559),bt={};bt.styleTagTransform=z(),bt.setAttributes=D(),bt.insert=P().bind(null,"head"),bt.domAPI=j(),bt.insertStyleElement=U(),R()(At.A,bt),At.A&&At.A.locals&&At.A.locals;var wt=n(49783),xt={};xt.styleTagTransform=z(),xt.setAttributes=D(),xt.insert=P().bind(null,"head"),xt.domAPI=j(),xt.insertStyleElement=U(),R()(wt.A,xt),wt.A&&wt.A.locals&&wt.A.locals;const Ct=(0,q.A)(yt,function(){var t=this,e=t._self._c;return t._self._setupProxy,e("nav",{staticClass:"app-menu",attrs:{"aria-label":t.t("core","Applications")}},[e("NcPopover",{ref:"popover",attrs:{shown:t.opened,triggers:[],placement:"bottom-start",skidding:t.popoverSkidding,"set-return-focus":t.returnFocusTarget,"popover-base-class":"app-menu__popover-base","popup-role":"menu"},on:{"update:shown":function(e){t.opened=e}},scopedSlots:t._u([{key:"trigger",fn:function(){return[e("NcButton",{staticClass:"app-menu__waffle",attrs:{variant:"tertiary-no-background","aria-label":t.t("core","Open apps menu"),"aria-haspopup":"menu","aria-expanded":t.opened?"true":"false"},on:{click:function(e){return t.onTriggerClick("waffle")}},scopedSlots:t._u([{key:"icon",fn:function(){return[e("IconDotsGrid",{attrs:{size:20}})]},proxy:!0}])})]},proxy:!0}])},[t._v(" "),e("div",{staticClass:"app-menu__popover",attrs:{role:"menu","aria-label":t.t("core","Apps")}},[e("div",{ref:"grid",staticClass:"app-menu__grid",on:{keydown:t.onGridKeydown}},t._l(t.gridItems,function(r,n){return e("AppItem",{key:r.id,ref:"items",refInFor:!0,attrs:{app:r,outlined:"more-apps"===r.id||"app-store"===r.id,"new-tab":"app-store"===r.id,tabindex:n===t.focusedIndex?0:-1}})}),1)])]),t._v(" "),t.currentApp?e("NcButton",{staticClass:"app-menu__current-app",attrs:{variant:"tertiary-no-background","aria-label":t.currentAppLabel,"aria-haspopup":"menu","aria-expanded":t.opened?"true":"false"},on:{click:function(e){return t.onTriggerClick("currentApp")}},scopedSlots:t._u([{key:"icon",fn:function(){return["settings"===t.currentApp.type?e("IconCog",{staticClass:"app-menu__current-app-cog",attrs:{size:20}}):e("img",{staticClass:"app-menu__current-app-icon",attrs:{src:t.currentApp.icon,alt:"","aria-hidden":"true"}})]},proxy:!0}],null,!1,3821102756)},[t._v(" "),e("span",{staticClass:"app-menu__current-app-name"},[t._v("\n\t\t\t"+t._s(t.displayName)+"\n\t\t")])]):t._e()],1)},[],!1,null,"d8dfb304",null).exports;var _t=n(87485),Et=n(1522);const St=(0,nt.C)("core","versionHash",""),kt=(0,d.pM)({name:"AccountMenuEntry",components:{NcListItem:Et.A,NcLoadingIcon:C.A},props:{id:{type:String,required:!0},name:{type:String,required:!0},href:{type:String,required:!0},active:{type:Boolean,default:!1},icon:{type:String,default:""}},data:()=>({loading:!1}),computed:{iconSource(){return`${this.icon}?v=${St}`}},methods:{onClick(t){this.$emit("click",t),t.defaultPrevented||(this.loading=!0)}}});var Ot=n(51286),Tt={};Tt.styleTagTransform=z(),Tt.setAttributes=D(),Tt.insert=P().bind(null,"head"),Tt.domAPI=j(),Tt.insertStyleElement=U(),R()(Ot.A,Tt),Ot.A&&Ot.A.locals&&Ot.A.locals;const It=(0,q.A)(kt,function(){var t=this,e=t._self._c;return t._self._setupProxy,e("NcListItem",{staticClass:"account-menu-entry",attrs:{id:t.href?void 0:t.id,"anchor-id":t.id,active:t.active,compact:"",href:t.href,name:t.name,target:"_self"},on:{click:t.onClick},scopedSlots:t._u([{key:"icon",fn:function(){return[t.loading?e("NcLoadingIcon",{staticClass:"account-menu-entry__loading",attrs:{size:20}}):t.$scopedSlots.icon?t._t("icon"):e("img",{staticClass:"account-menu-entry__icon",class:{"account-menu-entry__icon--active":t.active},attrs:{src:t.iconSource,alt:""}})]},proxy:!0}])})},[],!1,null,"bdb908d2",null).exports;var Rt=n(77690),Mt=n(98469);const jt={name:"QrcodeScanIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Nt=(0,q.A)(jt,function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon qrcode-scan-icon",attrs:{"aria-hidden":t.title?null:"true","aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M4,4H10V10H4V4M20,4V10H14V4H20M14,15H16V13H14V11H16V13H18V11H20V13H18V15H20V18H18V20H16V18H13V20H11V16H14V15M16,15V18H18V15H16M4,20V14H10V20H4M6,6V8H8V6H6M16,6V8H18V6H16M6,16V18H8V16H6M4,11H6V13H4V11M9,11H13V15H11V13H9V11M11,6H13V10H11V6M2,2V6H0V2A2,2 0 0,1 2,0H6V2H2M22,0A2,2 0 0,1 24,2V6H22V2H18V0H22M2,18V22H6V24H2A2,2 0 0,1 0,22V18H2M22,22V18H24V22A2,2 0 0,1 22,24H18V22H22Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])},[],!1,null,null,null).exports;var Pt=n(17816),Lt=n.n(Pt),Dt=n(55581),Bt=n(94219);const Ut=(0,d.pM)({__name:"AccountQRLoginDialog",props:{data:null},emits:["close"],setup(t,{emit:e}){const r=t,n=window.OC.theme.productName,o=[{label:(0,l.t)("spreed","Done"),variant:"primary",callback:()=>{}}],i=3===(r.data?.deviceToken?.type??1),a=(0,d.EW)(()=>{const t=r.data?.loginName??"",e=r.data?.token??"";return`nc://${i?"onetime-login":"login"}/user:${t}&password:${e}&server:${(0,u.$_)()}`}),s=(r.data?.deviceToken?.lastActivity?1e3*r.data.deviceToken.lastActivity:Date.now())+12e4,c=setTimeout(()=>{p("expired")},s-Date.now()),f=(0,Dt.SX)(s);function p(t){clearTimeout(c),e("close",t)}return{__sfc:!0,props:r,emit:e,productName:n,buttons:o,isOneTimeToken:i,qrUrl:a,expirationTimestamp:s,expireTimeout:c,timeCountdown:f,onClosing:p,QR:Lt(),t:l.t,NcDialog:Bt.A}}}),Ft=Ut;var zt=n(35644),Ht={};Ht.styleTagTransform=z(),Ht.setAttributes=D(),Ht.insert=P().bind(null,"head"),Ht.domAPI=j(),Ht.insertStyleElement=U(),R()(zt.A,Ht),zt.A&&zt.A.locals&&zt.A.locals;const Vt=(0,q.A)(Ft,function(){var t=this,e=t._self._c,r=t._self._setupProxy;return e(r.NcDialog,{attrs:{name:r.t("core","Scan QR code to log in"),buttons:r.buttons},on:{closing:r.onClosing}},[e("div",{staticClass:"qr-login__content"},[e("p",{staticClass:"qr-login__description"},[t._v("\n\t\t\t"+t._s(r.t("core","Use {productName} mobile client you want to connect to scan the code",{productName:r.productName}))+"\n\t\t")]),t._v(" "),e(r.QR,{attrs:{value:r.qrUrl}}),t._v(" "),r.isOneTimeToken?[t._v("\n\t\t\t"+t._s(r.t("core","Code will expire {timeCountdown} or after use",{timeCountdown:r.timeCountdown}))+"\n\t\t")]:t._e()],2)])},[],!1,null,null,null).exports;(0,Rt.IF)(c.Ay);const{profileEnabled:qt}=(0,nt.C)("user_status","profileEnabled",{profileEnabled:!1}),Wt=(0,_t.F)().core?.["can-create-app-token"]??!1,Gt=(0,d.pM)({name:"AccountMenuProfileEntry",components:{IconQrcodeScan:Nt,NcButton:A.A,NcListItem:Et.A,NcLoadingIcon:C.A},props:{id:{type:String,required:!0},name:{type:String,required:!0},href:{type:String,required:!0},active:{type:Boolean,required:!0}},setup:()=>({canCreateAppToken:Wt,displayName:(0,s.HW)().displayName,profileEnabled:qt,t:l.t}),data:()=>({loading:!1}),mounted(){(0,rt.B1)("settings:profile-enabled:updated",this.handleProfileEnabledUpdate),(0,rt.B1)("settings:display-name:updated",this.handleDisplayNameUpdate)},beforeDestroy(){(0,rt.al)("settings:profile-enabled:updated",this.handleProfileEnabledUpdate),(0,rt.al)("settings:display-name:updated",this.handleDisplayNameUpdate)},methods:{handleClick(){this.profileEnabled&&(this.loading=!0)},async handleQrCodeClick(){const{data:t}=await c.Ay.post((0,u.Jv)("/settings/personal/authtokens"),{qrcodeLogin:!0},{confirmPassword:Rt.mH.Strict});await(0,Mt.S)(Vt,{data:t})},handleProfileEnabledUpdate(t){this.profileEnabled=t},handleDisplayNameUpdate(t){this.displayName=t}}}),$t=Gt,Kt=(0,q.A)($t,function(){var t=this,e=t._self._c;return t._self._setupProxy,e("NcListItem",{attrs:{id:t.profileEnabled?void 0:t.id,"anchor-id":t.id,active:t.active,compact:"",href:t.profileEnabled?t.href:void 0,name:t.displayName,target:"_self"},scopedSlots:t._u([t.profileEnabled?{key:"subname",fn:function(){return[t._v("\n\t\t"+t._s(t.name)+"\n\t")]},proxy:!0}:null,t.canCreateAppToken?{key:"extra-actions",fn:function(){return[e("NcButton",{attrs:{"aria-label":t.t("core","Show QR code for mobile app login"),variant:"secondary"},on:{click:t.handleQrCodeClick},scopedSlots:t._u([{key:"icon",fn:function(){return[e("IconQrcodeScan",{attrs:{size:20}})]},proxy:!0}],null,!1,3784924786)})]},proxy:!0}:null,t.loading?{key:"indicator",fn:function(){return[e("NcLoadingIcon")]},proxy:!0}:null],null,!0)})},[],!1,null,null,null).exports,Yt=[{type:"online",label:(0,l.t)("user_status","Online")},{type:"away",label:(0,l.t)("user_status","Away")},{type:"busy",label:(0,l.t)("user_status","Busy")},{type:"dnd",label:(0,l.t)("user_status","Do not disturb"),subline:(0,l.t)("user_status","Mute all notifications")},{type:"invisible",label:(0,l.t)("user_status","Invisible"),subline:(0,l.t)("user_status","Appear offline")}],Jt=(0,d.pM)({name:"AccountMenu",components:{AccountMenuEntry:It,AccountMenuProfileEntry:Kt,NcAvatar:O.A,NcHeaderMenu:w.A},setup(){const t=(0,nt.C)("core","settingsNavEntries",{}),{profile:e,...r}=t;return{currentDisplayName:(0,s.HW)()?.displayName??(0,s.HW)().uid,currentUserId:(0,s.HW)().uid,profileEntry:e,otherEntries:r,t:l.t}},data:()=>({showUserStatus:!1,userStatus:{status:null,icon:null,message:null}}),computed:{translatedUserStatus(){return{...this.userStatus,status:this.translateStatus(this.userStatus.status)}},avatarDescription(){return[(0,l.t)("core","Avatar of {displayName}",{displayName:this.currentDisplayName}),...Object.values(this.translatedUserStatus).filter(Boolean)].join(" — ")}},async created(){if(!(0,_t.F)()?.user_status?.enabled)return;const t=(0,u.KT)("/apps/user_status/api/v1/user_status");try{const e=await c.Ay.get(t),{status:r,icon:n,message:o}=e.data.ocs.data;this.userStatus={status:r,icon:n,message:o}}catch(t){$.error("Failed to load user status",{error:t})}this.showUserStatus=!0},mounted(){(0,rt.B1)("user_status:status.updated",this.handleUserStatusUpdated),(0,rt.Ic)("core:user-menu:mounted")},methods:{handleUserStatusUpdated(t){this.currentUserId===t.userId&&(this.userStatus={status:t.status,icon:t.icon,message:t.message})},translateStatus(t){const e=Object.fromEntries(Yt.map(({type:t,label:e})=>[t,e]));return e[t]?e[t]:t}}});var Qt=n(33096),Xt={};Xt.styleTagTransform=z(),Xt.setAttributes=D(),Xt.insert=P().bind(null,"head"),Xt.domAPI=j(),Xt.insertStyleElement=U(),R()(Qt.A,Xt),Qt.A&&Qt.A.locals&&Qt.A.locals;const Zt=(0,q.A)(Jt,function(){var t=this,e=t._self._c;return t._self._setupProxy,e("NcHeaderMenu",{staticClass:"account-menu",attrs:{id:"user-menu","is-nav":"","aria-label":t.t("core","Settings menu"),description:t.avatarDescription},scopedSlots:t._u([{key:"trigger",fn:function(){return[e("NcAvatar",{key:String(t.showUserStatus),staticClass:"account-menu__avatar",attrs:{"disable-menu":"","disable-tooltip":"","hide-user-status":!t.showUserStatus,user:t.currentUserId,"preloaded-user-status":t.userStatus}})]},proxy:!0}])},[t._v(" "),e("ul",{staticClass:"account-menu__list"},[e("AccountMenuProfileEntry",{attrs:{id:t.profileEntry.id,name:t.profileEntry.name,href:t.profileEntry.href,active:t.profileEntry.active}}),t._v(" "),t._l(t.otherEntries,function(t){return e("AccountMenuEntry",{key:t.id,attrs:{id:t.id,name:t.name,href:t.href,active:t.active,icon:t.icon}})})],2)])},[],!1,null,"6c007912",null).exports;function te(){return document.head.dataset.requesttoken}const{auto_logout:ee,session_keepalive:re,session_lifetime:ne}=(0,nt.C)("core","config",{});async function oe(){try{await async function(){const t=(0,u.Jv)("/csrftoken"),e=await fetch(t);if(!e.ok)throw new Error("Could not fetch CSRF token from API",{cause:e});const{token:r}=await e.json();return function(t){if(!t||"string"!=typeof t)throw new Error("Invalid CSRF token given",{cause:{token:t}});document.head.dataset.requesttoken=t,(0,rt.Ic)("csrf-token-update",{token:t})}(r),r}()}catch(t){$.error("session heartbeat failed",{error:t})}}function ie(){const t=window.setInterval(oe,1e3*function(){const t=ne?Math.floor(ne/2):900;return Math.min(86400,Math.max(60,t))}());return $.info("session heartbeat polling started"),t}function ae(t){const e=document.createElement("textarea"),r=document.createTextNode(t);e.appendChild(r),document.body.appendChild(e),e.focus({preventScroll:!0}),e.select();try{document.execCommand("copy")}catch(e){window.prompt((0,l.t)("core","Clipboard not available, please copy manually"),t),$.error("files Unable to copy to clipboard",{error:e})}document.body.removeChild(e)}function se(t){const e=window.location.protocol+"//"+window.location.host+(0,u.aU)();return t.startsWith(e)||function(t){return!t.startsWith("https://")&&!t.startsWith("http://")}(t)&&t.startsWith((0,u.aU)())}async function ce(){if(null!==(0,s.HW)()&&!0!==ce.running){ce.running=!0;try{const{status:t}=await window.fetch((0,u.Jv)("/apps/files"));401===t&&($.warn("User session was terminated, forwarding to login page."),await async function(){try{window.localStorage.clear(),window.sessionStorage.clear();const t=await window.indexedDB.databases();for(const e of t)await window.indexedDB.deleteDatabase(e.name);$.debug("Browser storages cleared")}catch(t){$.error("Could not clear browser storages",{error:t})}}(),window.location=(0,u.Jv)("/login?redirect_url={url}",{url:window.location.pathname+window.location.search+window.location.hash}))}catch(t){$.warn("Could not check login-state",{error:t})}finally{delete ce.running}}}const ue={zh:"zh-cn",zh_Hans:"zh-cn",zh_Hans_CN:"zh-cn",zh_Hans_HK:"zh-cn",zh_Hans_MO:"zh-cn",zh_Hans_SG:"zh-cn",zh_Hant:"zh-hk",zh_Hant_HK:"zh-hk",zh_Hant_MO:"zh-mo",zh_Hant_TW:"zh-tw"};let le=(0,l.JK)();function fe(){var t;XMLHttpRequest.prototype.open=(t=XMLHttpRequest.prototype.open,function(e,r){t.apply(this,arguments),se(r)&&(this.getResponseHeader("X-Requested-With")||this.setRequestHeader("X-Requested-With","XMLHttpRequest"),this.addEventListener("loadend",function(){401===this.status&&ce()}))}),window.fetch=function(t){return async(e,r)=>{if(!se(e.url??e.toString()))return await t(e,r);r||(r={}),r.headers||(r.headers=new Headers),r.headers instanceof Headers&&!r.headers.has("X-Requested-With")?r.headers.append("X-Requested-With","XMLHttpRequest"):r.headers instanceof Object&&!r.headers["X-Requested-With"]&&(r.headers["X-Requested-With"]="XMLHttpRequest");const n=await t(e,r);return 401===n.status&&ce(),n}}(window.fetch),window.navigator?.clipboard?.writeText||($.info("Clipboard API not available, using fallback"),Object.defineProperty(window.navigator,"clipboard",{value:{writeText:ae},writable:!1})),function(){if(function(){if(!ee||!(0,s.HW)())return;let t=Date.now();window.addEventListener("mousemove",()=>{t=Date.now(),localStorage.setItem("lastActive",JSON.stringify(t))}),window.addEventListener("touchstart",()=>{t=Date.now(),localStorage.setItem("lastActive",JSON.stringify(t))}),window.addEventListener("storage",e=>{"lastActive"===e.key&&null!==e.newValue&&(t=JSON.parse(e.newValue))});let e=0;e=window.setInterval(()=>{const r=Date.now()-1e3*(ne??86400);if(t{$.info("Browser is online again, resuming heartbeat"),t=ie();try{await oe(),$.info("Session token successfully updated after resuming network"),(0,rt.Ic)("networkOnline",{success:!0})}catch(t){$.error("could not update session token after resuming network",{error:t}),(0,rt.Ic)("networkOnline",{success:!1})}}),window.addEventListener("offline",()=>{$.info("Browser is offline, stopping heartbeat"),(0,rt.Ic)("networkOffline",{}),clearInterval(t),$.info("Session heartbeat polling stopped")})}(),function(){d.Ay.mixin({methods:{t:l.Tl,n:l.zw}});const t=document.getElementById("header-start__appmenu");if(!t)return;const e=new(d.Ay.extend(Ct))({}).$mount(t);Object.assign(OC,{setNavigationCounter(t,r){e.setNavigationCounter(t,r)}})}(),function(){const t=document.getElementById("user-menu");t&&new d.Ay({name:"AccountMenuRoot",el:t,render:t=>t(Zt)})}(),function(){const t=document.getElementById("contactsmenu");t&&(window.OC.ContactsMenu=new et,new d.Ay({name:"ContactsMenuRoot",el:t,render:t=>t(tt)}))}()}Object.hasOwn(ue,le)&&(le=ue[le]),p().locale(le);var pe=n(71225);const de=!!window._oc_isadmin,he=window.oc_appconfig||{},ve=void 0!==window._oc_appswebroots&&window._oc_appswebroots,ge=window._oc_config||{},me=document.getElementsByTagName("head")[0].getAttribute("data-user"),ye=document.getElementsByTagName("head")[0].getAttribute("data-user-displayname"),Ae=void 0!==me&&me,be=window._oc_debug;var we=n(21363),xe=n(85168),Ce=n(43627);const _e={YES_NO_BUTTONS:70,OK_BUTTONS:71,FILEPICKER_TYPE_CHOOSE:1,FILEPICKER_TYPE_MOVE:2,FILEPICKER_TYPE_COPY:3,FILEPICKER_TYPE_COPY_MOVE:4,FILEPICKER_TYPE_CUSTOM:5,alert:function(t,e,r,n){this.message(t,e,"alert",_e.OK_BUTTON,r,n)},info:function(t,e,r,n){this.message(t,e,"info",_e.OK_BUTTON,r,n)},confirm:function(t,e,r,n){return this.message(t,e,"notice",_e.YES_NO_BUTTONS,r,n)},confirmDestructive:function(t,e,r=_e.OK_BUTTONS,n=()=>{}){return(new xe.ik).setName(e).setText(t).setButtons(r===_e.OK_BUTTONS?[{label:(0,l.t)("core","Yes"),variant:"error",callback:()=>{n.clicked=!0,n(!0)}}]:_e._getLegacyButtons(r,n)).build().show().then(()=>{n.clicked||n(!1)})},confirmHtml:function(t,e,r){return(new xe.ik).setName(e).setText("").setButtons([{label:(0,l.t)("core","No"),callback:()=>{}},{label:(0,l.t)("core","Yes"),variant:"primary",callback:()=>{r.clicked=!0,r(!0)}}]).build().setHTML(t).show().then(()=>{r.clicked||r(!1)})},prompt:function(t,e,r,o,i,a){return new Promise(o=>{(0,Mt.S)((0,d.$V)(()=>Promise.all([n.e(4208),n.e(9553)]).then(n.bind(n,99553))),{text:t,name:e,callback:r,inputName:i,isPassword:!!a},(...t)=>{r(...t),o()})})},filepicker(t,e,r=!1,n=void 0,o=void 0,i=xe.bh.Choose,a=void 0,s=void 0){const c=(t,e)=>{const n=t=>{const e=t?.root||"";let r=t?.path||"";return r.startsWith(e)&&(r=r.slice(e.length)||"/"),r};return r?r=>t(r.map(n),e):r=>t(n(r[0]),e)},u=(0,xe.a1)(t);i===this.FILEPICKER_TYPE_CUSTOM?(s.buttons||[]).forEach(t=>{u.addButton({callback:c(e,t.type),label:t.text,variant:t.defaultButton?"primary":"secondary"})}):u.setButtonFactory((t,r)=>{const n=[],[o]=t,a=o?.displayname||o?.basename||(0,Ce.basename)(r);return i===xe.bh.Choose&&n.push({callback:c(e,xe.bh.Choose),label:o&&!this.multiSelect?(0,l.t)("core","Choose {file}",{file:a}):(0,l.t)("core","Choose"),variant:"primary"}),i!==xe.bh.CopyMove&&i!==xe.bh.Copy||n.push({callback:c(e,xe.bh.Copy),label:a?(0,l.t)("core","Copy to {target}",{target:a}):(0,l.t)("core","Copy"),variant:"primary",icon:we}),i!==xe.bh.Move&&i!==xe.bh.CopyMove||n.push({callback:c(e,xe.bh.Move),label:a?(0,l.t)("core","Move to {target}",{target:a}):(0,l.t)("core","Move"),variant:i===xe.bh.Move?"primary":"secondary",icon:''}),n}),n&&u.setMimeTypeFilter("string"==typeof n?[n]:n||[]),"function"==typeof s?.filter&&u.setFilter(t=>s.filter((t=>({id:t.fileid||null,path:t.path,mimetype:t.mime||null,mtime:t.mtime?.getTime()||null,permissions:t.permissions,name:t.attributes?.displayName||t.basename,etag:t.attributes?.etag||null,hasPreview:t.attributes?.hasPreview||null,mountType:t.attributes?.mountType||null,quotaAvailableBytes:t.attributes?.quotaAvailableBytes||null,icon:null,sharePermissions:null}))(t))),u.allowDirectories(!0===s?.allowDirectoryChooser||n?.includes("httpd/unix-directory")||!1).setMultiSelect(r).startAt(a).build().pick()},message:function(t,e,r,n,o=()=>{},i,a){const s=(new xe.ik).setName(e).setText(a?"":t).setButtons(_e._getLegacyButtons(n,o));switch(r){case"alert":s.setSeverity("warning");break;case"notice":s.setSeverity("info")}const c=s.build();return a&&c.setHTML(t),c.show().then(()=>{o._clicked||o(!1)})},_getLegacyButtons(t,e){const r=[];switch("object"==typeof t?t.type:t){case _e.YES_NO_BUTTONS:r.push({label:t?.cancel??(0,l.t)("core","No"),callback:()=>{e._clicked=!0,e(!1)}}),r.push({label:t?.confirm??(0,l.t)("core","Yes"),variant:"primary",callback:()=>{e._clicked=!0,e(!0)}});break;case _e.OK_BUTTONS:r.push({label:t?.confirm??(0,l.t)("core","OK"),variant:"primary",callback:()=>{e._clicked=!0,e(!0)}});break;default:$.error("Invalid call to OC.dialogs")}return r}},Ee=_e;function Se(t,e){let r,n,o="";if(this.typelessListeners=[],this.closed=!1,e)for(r in e)o+=r+"="+encodeURIComponent(e[r])+"&";o+="requesttoken="+encodeURIComponent(te()),n="&",-1===t.indexOf("?")&&(n="?"),this.source=new EventSource(t+n+o),this.source.onmessage=function(t){for(let e=0;et.cancel()),r.style.display="block")},finishedSaving(t,e){this.finishedAction(t,e)},finishedAction(t,e){"success"===e.status?this.finishedSuccess(t,e.data.message):this.finishedError(t,e.data.message)},finishedSuccess(t,e){const r=document.querySelector(t);r&&r instanceof HTMLElement&&(r.textContent=e,r.classList.remove("error"),r.classList.add("success"),r.getAnimations?.().forEach(t=>t.cancel()),window.setTimeout(function(){if(!(r&&r instanceof HTMLElement))return;const t=r.animate?.([{opacity:1},{opacity:0}],{duration:900,fill:"forwards"});t?t.addEventListener("finish",()=>{r.style.display="none"}):window.setTimeout(()=>{r.style.display="none"},900)},3e3),r.style.display="block")},finishedError(t,e){const r=document.querySelector(t);r&&r instanceof HTMLElement&&(r.textContent=e,r.classList.remove("success"),r.classList.add("error"),r.style.display="block")}},Ne={requiresPasswordConfirmation:()=>(0,Rt.oB)(),requirePasswordConfirmation(t,e,r){(0,Rt.C5)().then(t,r)}},Pe={_plugins:{},register(t,e){let r=this._plugins[t];r||(r=this._plugins[t]=[]),r.push(e)},getPlugins(t){return this._plugins[t]||[]},attach(t,e,r){const n=this.getPlugins(t);for(let t=0;t="0"&&r<="9";a!==i&&(o++,e[o]="",i=a),e[o]+=r,n++}return e}const Ue={History:{_handlers:[],_pushState(t,e,r){let n;if(n="string"==typeof t?t:He.buildQueryString(t),window.history.pushState){if(e=e||location.pathname+"?"+n,navigator.userAgent.toLowerCase().indexOf("firefox")>-1&&parseInt(navigator.userAgent.split("/").pop())<51){const t=document.querySelectorAll('[fill^="url(#"], [stroke^="url(#"], [filter^="url(#invert"]');for(let e,r=0,n=t.length;r=0?t.substr(e+1):t.length?t.substr(1):""},_decodeQuery:t=>t.replace(/\+/g," "),parseUrlQuery(){const t=this._parseHashQuery();let e;return t&&(e=He.parseQueryString(this._decodeQuery(t))),{...e||{},...He.parseQueryString(this._decodeQuery(location.search))}},_onPopState(t){if(this._cancelPop)return void(this._cancelPop=!1);let e;if(this._handlers.length){e=t&&t.state,"string"==typeof e?e=He.parseQueryString(e):e||(e=this.parseUrlQuery()||{});for(let t=0;t(void 0===window.TESTING&&He.debug&&$.warn("OC.Util.formatDate is deprecated and will be removed in Nextcloud 21. See @nextcloud/moment"),e=e||"LLL",p()(t).format(e)),relativeModifiedDate(e){void 0===window.TESTING&&He.debug&&$.warn("OC.Util.relativeModifiedDate is deprecated and will be removed in Nextcloud 21. See @nextcloud/moment");const r=p()().diff(p()(e));return r>=0&&r<45e3?t("core","seconds ago"):p()(e).fromNow()},getScrollBarWidth(){if(this._scrollBarWidth)return this._scrollBarWidth;const t=document.createElement("p");t.style.width="100%",t.style.height="200px";const e=document.createElement("div");e.style.position="absolute",e.style.top="0px",e.style.left="0px",e.style.visibility="hidden",e.style.width="200px",e.style.height="150px",e.style.overflow="hidden",e.appendChild(t),document.body.appendChild(e);const r=t.offsetWidth;e.style.overflow="scroll";let n=t.offsetWidth;return r===n&&(n=e.clientWidth),document.body.removeChild(e),this._scrollBarWidth=r-n,this._scrollBarWidth},stripTime:t=>new Date(t.getFullYear(),t.getMonth(),t.getDate()),naturalSortCompare(t,e){let r;const n=Be(t),o=Be(e);for(r=0;n[r]&&o[r];r++)if(n[r]!==o[r]){const t=Number(n[r]),e=Number(o[r]);return t==n[r]&&e==o[r]?t-e:n[r].localeCompare(o[r],He.getLanguage())}return n.length-o.length},waitFor(t,e){const r=function(){!0!==t()&&setTimeout(r,e)};r()},isCookieSetToValue(t,e){const r=document.cookie.split(";");for(let n=0;n!$_",appConfig:he,appswebroots:ve,config:ge,currentUser:Ae,dialogs:Ee,EventSource:ke,MimeType:o,getCurrentUser:function(){return{uid:Ae,displayName:ye}},isUserAdmin:()=>de,L10N:Oe,registerXHRForErrorProcessing:()=>{},getCapabilities:function(){return OC.debug&&$.warn("OC.getCapabilities is deprecated and will be removed in Nextcloud 21. See @nextcloud/capabilities"),(0,_t.F)()},basename:pe.P8,encodePath:pe.O0,dirname:pe.pD,isSamePath:pe.ys,joinPaths:pe.fj,getCanonicalLocale:l.lO,getLocale:l.JK,getLanguage:l.Z0,buildQueryString:function(t){return t?new URLSearchParams(t).toString():""},parseQueryString:function(t){const e=new URLSearchParams(t);return Object.fromEntries(e.entries())},msg:je,PasswordConfirmation:Ne,Plugins:Pe,theme:Le,Util:Ue,debug:be,filePath:u.fg,generateUrl:u.Jv,getRootPath:u.aU,imagePath:u.d0,requestToken:te(),linkTo:u.uM,linkToOCS:(t,e)=>(0,u.KT)(t,{},{ocsVersion:e||1})+"/",linkToRemote:u.dC,linkToRemoteBase:function(t){return(0,u.aU)()+"/remote.php/"+t},webroot:ze};(0,rt.B1)("csrf-token-update",t=>{OC.requestToken=t.token,$.info("OC.requestToken changed",{token:t.token})}),n(84315),n(7452);const Ve={disableKeyboardShortcuts:()=>(0,nt.C)("theming","shortcutsDisabled",!1),setPageHeading:function(t){const e=document.getElementById("page-heading-level-1");e&&(e.textContent=t)}};async function qe(t,e,r={}){"post"!==t&&"delete"!==t||!(0,Rt.oB)(Rt.mH.Lax)||await(0,Rt.C5)();try{const{data:n}=await c.Ay.request({method:t.toLowerCase(),url:(0,u.KT)("apps/provisioning_api/api/v1/config/apps")+e,data:r.data||{}});r.success?.(n.ocs.data)}catch(t){r.error?.(t)}}function We(t){qe("get","",t)}function Ge(t,e){qe("get","/"+t,e)}function $e(t,e,r,n){(n=n||{}).data={defaultValue:r},qe("get","/"+t+"/"+e,n)}function Ke(t,e,r,n){(n=n||{}).data={value:r},qe("post","/"+t+"/"+e,n)}function Ye(t,e,r){qe("delete","/"+t+"/"+e,r)}var Je=n(70580),Qe=n.n(Je);const Xe={},Ze={registerType(t,e){Xe[t]=e},trigger:t=>Xe[t].action(),getTypes:()=>Object.keys(Xe),getIcon:t=>Xe[t].typeIconClass||"",getLabel:t=>Qe()(Xe[t].typeString||t),getLink:(t,e)=>void 0!==Xe[t]?Xe[t].link(e):""},tr=/(\s|^)(https?:\/\/)([-A-Z0-9+_.]+(?::[0-9]+)?(?:\/[-A-Z0-9+&@#%?=~_|!:,.;()]*)*)(\s|$)/gi;function er(t){return nr(t)}function rr(t){return or(t)}function nr(t){return t.replace(tr,function(t,e,r,n,o){let i=n;return r?"http://"===r&&(i=r+n):r="https://",e+''+i+""+o})}function or(t){const e=document.createElement("div");return e.innerHTML=t,e.querySelectorAll("a").forEach(t=>{t.replaceWith(document.createTextNode(t.getAttribute("href")||""))}),e.innerHTML}const ir={},ar={},sr={loadScript(t,e){const r=t+e;return Object.hasOwn(ir,r)?Promise.resolve():(ir[r]=!0,new Promise(function(r,n){const o=(0,u.fg)(t,"js",e),i=document.createElement("script");i.src=o,i.setAttribute("nonce",btoa(OC.requestToken)),i.onload=()=>r(),i.onerror=()=>n(new Error(`Failed to load script from ${o}`)),document.head.appendChild(i)}))},loadStylesheet(t,e){const r=t+e;return Object.hasOwn(ar,r)?Promise.resolve():(ar[r]=!0,new Promise(function(r,n){const o=(0,u.fg)(t,"css",e),i=document.createElement("link");i.href=o,i.type="text/css",i.rel="stylesheet",i.onload=()=>r(),i.onerror=()=>n(new Error(`Failed to load stylesheet from ${o}`)),document.head.appendChild(i)}))}},cr={success:(t,e)=>(0,xe.Te)(t,e),warning:(t,e)=>(0,xe.I9)(t,e),error:(t,e)=>(0,xe.Qg)(t,e),info:(t,e)=>(0,xe.cf)(t,e),message:(t,e)=>(0,xe.rG)(t,e)},ur={Accessibility:Ve,AppConfig:i,Collaboration:Ze,Comments:a,InitialState:{loadState:nt.C},Loader:sr,Toast:cr};window.OC=He,function(t,e,r){(Array.isArray(t)?t:[t]).forEach(t=>{void 0!==window[t]&&delete window[t],Object.defineProperty(window,t,{get:()=>(function(...t){void 0===window.TESTING&&He.debug&&console.warn.apply(console,t)}(r?`${t} is deprecated: ${r}`:`${t} is deprecated`),fe)})})}("initCore",0,"this is an internal function"),window.OCP=ur,window.OCA={},window.t=l.t,window.n=l.n,n.nc=(0,s.aV)(),window.addEventListener("DOMContentLoaded",function(){fe(),window.history.pushState?window.onpopstate=He.Util.History._onPopState.bind(He.Util.History):window.onhashchange=He.Util.History._onPopState.bind(He.Util.History)}),document.addEventListener("DOMContentLoaded",function(){const t=document.getElementById("password-input-form");t&&t.addEventListener("submit",async function(e){e.preventDefault();const r=document.getElementById("requesttoken");if(r){const t=(0,u.Jv)("/csrftoken"),e=await c.Ay.get(t);r.value=e.data.token}t.submit()})})},51286(t,e,r){"use strict";r.d(e,{A:()=>s});var n=r(71354),o=r.n(n),i=r(76314),a=r.n(i)()(o());a.push([t.id,".account-menu-entry__icon[data-v-bdb908d2]{height:16px;width:16px;margin:calc((var(--default-clickable-area) - 16px)/2);filter:var(--background-invert-if-dark)}.account-menu-entry__icon--active[data-v-bdb908d2]{filter:var(--primary-invert-if-dark)}.account-menu-entry__loading[data-v-bdb908d2]{height:20px;width:20px;margin:calc((var(--default-clickable-area) - 20px)/2)}.account-menu-entry[data-v-bdb908d2] .list-item-content__main{width:fit-content}","",{version:3,sources:["webpack://./core/src/components/AccountMenu/AccountMenuEntry.vue"],names:[],mappings:"AAEC,2CACC,WAAA,CACA,UAAA,CACA,qDAAA,CACA,uCAAA,CAEA,mDACC,oCAAA,CAIF,8CACC,WAAA,CACA,UAAA,CACA,qDAAA,CAGD,8DACC,iBAAA",sourcesContent:["\n.account-menu-entry {\n\t&__icon {\n\t\theight: 16px;\n\t\twidth: 16px;\n\t\tmargin: calc((var(--default-clickable-area) - 16px) / 2); // 16px icon size\n\t\tfilter: var(--background-invert-if-dark);\n\n\t\t&--active {\n\t\t\tfilter: var(--primary-invert-if-dark);\n\t\t}\n\t}\n\n\t&__loading {\n\t\theight: 20px;\n\t\twidth: 20px;\n\t\tmargin: calc((var(--default-clickable-area) - 20px) / 2); // 20px icon size\n\t}\n\n\t:deep(.list-item-content__main) {\n\t\twidth: fit-content;\n\t}\n}\n"],sourceRoot:""}]);const s=a},35644(t,e,r){"use strict";r.d(e,{A:()=>s});var n=r(71354),o=r.n(n),i=r(76314),a=r.n(i)()(o());a.push([t.id,".qr-login__content{display:flex;flex-direction:column;align-items:center;gap:var(--default-grid-baseline)}.qr-login__description{text-align:center}","",{version:3,sources:["webpack://./core/src/components/AccountMenu/AccountQRLoginDialog.vue"],names:[],mappings:"AACA,mBACC,YAAA,CACA,qBAAA,CACA,kBAAA,CACA,gCAAA,CAGD,uBACC,iBAAA",sourcesContent:["\n.qr-login__content {\n\tdisplay: flex;\n\tflex-direction: column;\n\talign-items: center;\n\tgap: var(--default-grid-baseline);\n}\n\n.qr-login__description {\n\ttext-align: center;\n}\n"],sourceRoot:""}]);const s=a},53628(t,e,r){"use strict";r.d(e,{A:()=>s});var n=r(71354),o=r.n(n),i=r(76314),a=r.n(i)()(o());a.push([t.id,".app-icon[data-v-42bb03fc]{--app-icon-circle-size: calc(var(--default-grid-baseline) * 12);--app-icon-icon-size: calc(var(--app-icon-circle-size) * 7 / 12);--app-icon-bevel: inset 0 -1px 0 0 color-mix(in srgb, var(--color-primary-element-light), 10% var(--color-primary-element)), inset 0 -4px 6px -4px color-mix(in srgb, var(--color-primary-element-light), 16% var(--color-primary-element));box-sizing:border-box;position:relative;display:flex;align-items:center;justify-content:center;width:var(--app-icon-circle-size);height:var(--app-icon-circle-size);border-radius:50%;transform:scale(var(--app-icon-scale, 1));transition:transform var(--animation-quick) ease-out;background-color:var(--color-primary-element-light);background-image:linear-gradient(to bottom, color-mix(in srgb, var(--color-primary-element-light), 15% var(--color-main-background)) 0%, var(--color-primary-element-light) 100%);box-shadow:var(--app-icon-bevel)}@media(prefers-color-scheme: dark){.app-icon[data-v-42bb03fc]{--app-icon-bevel: none}}@media(prefers-reduced-motion: reduce){.app-icon[data-v-42bb03fc]{transition:none}}.app-icon__img[data-v-42bb03fc]{width:var(--app-icon-icon-size);height:var(--app-icon-icon-size);background-color:var(--color-primary-element);background-image:linear-gradient(to bottom, color-mix(in srgb, var(--color-primary-element), 28% var(--color-primary-element-light)) 0%, var(--color-primary-element) 100%);mask:var(--app-icon-url) center/contain no-repeat}@media(forced-colors: active){.app-icon__img[data-v-42bb03fc]{background-color:CanvasText;background-image:none}}.app-icon--outlined[data-v-42bb03fc]{background:rgba(0,0,0,0);background-image:none;box-shadow:inset 0 0 0 2px var(--color-border-maxcontrast)}.app-icon--outlined .app-icon__img[data-v-42bb03fc]{background-color:var(--color-main-text);background-image:none}[data-themes*=dark] .app-icon{--app-icon-bevel: none}[data-themes*=light] .app-icon{--app-icon-bevel: inset 0 -1px 0 0 color-mix(in srgb, var(--color-primary-element-light), 10% var(--color-primary-element)), inset 0 -4px 6px -4px color-mix(in srgb, var(--color-primary-element-light), 16% var(--color-primary-element))}","",{version:3,sources:["webpack://./core/src/components/AppIcon.vue"],names:[],mappings:"AAKA,2BACC,+DAAA,CAEA,gEAAA,CACA,2OAAA,CACA,qBAAA,CACA,iBAAA,CACA,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,iCAAA,CACA,kCAAA,CACA,iBAAA,CACA,yCAAA,CACA,oDAAA,CACA,mDAAA,CACA,iLAAA,CAKA,gCAAA,CAEA,mCAvBD,2BAwBE,sBAAA,CAAA,CAGD,uCA3BD,2BA4BE,eAAA,CAAA,CAGD,gCACC,+BAAA,CACA,gCAAA,CAGA,6CAAA,CACA,2KAAA,CAKA,iDAAA,CAID,8BACC,gCACC,2BAAA,CACA,qBAAA,CAAA,CAIF,qCACC,wBAAA,CACA,qBAAA,CACA,0DAAA,CAGD,oDACC,uCAAA,CACA,qBAAA,CAKF,8BACC,sBAAA,CAGD,+BACC,2OAAA",sourcesContent:["\n$bevel:\n\tinset 0 -1px 0 0 color-mix(in srgb, var(--color-primary-element-light), 10% var(--color-primary-element)),\n\tinset 0 -4px 6px -4px color-mix(in srgb, var(--color-primary-element-light), 16% var(--color-primary-element));\n\n.app-icon {\n\t--app-icon-circle-size: calc(var(--default-grid-baseline) * 12);\n\t// 28px on a 48px circle, so it follows when consumers resize the circle.\n\t--app-icon-icon-size: calc(var(--app-icon-circle-size) * 7 / 12);\n\t--app-icon-bevel: #{$bevel};\n\tbox-sizing: border-box;\n\tposition: relative;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\twidth: var(--app-icon-circle-size);\n\theight: var(--app-icon-circle-size);\n\tborder-radius: 50%;\n\ttransform: scale(var(--app-icon-scale, 1));\n\ttransition: transform var(--animation-quick) ease-out;\n\tbackground-color: var(--color-primary-element-light);\n\tbackground-image: linear-gradient(\n\t\tto bottom,\n\t\tcolor-mix(in srgb, var(--color-primary-element-light), 15% var(--color-main-background)) 0%,\n\t\tvar(--color-primary-element-light) 100%\n\t);\n\tbox-shadow: var(--app-icon-bevel);\n\n\t@media (prefers-color-scheme: dark) {\n\t\t--app-icon-bevel: none;\n\t}\n\n\t@media (prefers-reduced-motion: reduce) {\n\t\ttransition: none;\n\t}\n\n\t&__img {\n\t\twidth: var(--app-icon-icon-size);\n\t\theight: var(--app-icon-icon-size);\n\t\t// Masked rather than shown: app icons ship a hardcoded fill, so\n\t\t// currentColor never applies and a filter could only flip black and white.\n\t\tbackground-color: var(--color-primary-element);\n\t\tbackground-image: linear-gradient(\n\t\t\tto bottom,\n\t\t\tcolor-mix(in srgb, var(--color-primary-element), 28% var(--color-primary-element-light)) 0%,\n\t\t\tvar(--color-primary-element) 100%\n\t\t);\n\t\tmask: var(--app-icon-url) center / contain no-repeat;\n\t}\n\n\t// Masked backgrounds are not force-adjusted the way is.\n\t@media (forced-colors: active) {\n\t\t&__img {\n\t\t\tbackground-color: CanvasText;\n\t\t\tbackground-image: none;\n\t\t}\n\t}\n\n\t&--outlined {\n\t\tbackground: transparent;\n\t\tbackground-image: none;\n\t\tbox-shadow: inset 0 0 0 2px var(--color-border-maxcontrast);\n\t}\n\n\t&--outlined &__img {\n\t\tbackground-color: var(--color-main-text);\n\t\tbackground-image: none;\n\t}\n}\n\n// An explicit theme choice must beat the media query above, which only sees the OS.\n:global([data-themes*=dark] .app-icon) {\n\t--app-icon-bevel: none;\n}\n\n:global([data-themes*=light] .app-icon) {\n\t--app-icon-bevel: #{$bevel};\n}\n"],sourceRoot:""}]);const s=a},12481(t,e,r){"use strict";r.d(e,{A:()=>s});var n=r(71354),o=r.n(n),i=r(76314),a=r.n(i)()(o());a.push([t.id,".app-item[data-v-5ea5a006]{display:flex;flex-direction:column;align-items:center;gap:var(--default-grid-baseline);padding-block:var(--default-grid-baseline);border-radius:var(--border-radius-element);text-decoration:none;color:var(--color-main-text);min-width:0}.app-item[data-v-5ea5a006]:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--color-primary-element)}.app-item[data-v-5ea5a006]:hover,.app-item[data-v-5ea5a006]:focus-visible{--app-icon-scale: 1.08}.app-item[data-v-5ea5a006]:active{--app-icon-scale: 0.96}.app-item__unread[data-v-5ea5a006]{position:absolute;top:0;inset-inline-end:0;width:calc(var(--default-grid-baseline)*3);height:calc(var(--default-grid-baseline)*3);border-radius:50%;background-color:var(--color-error);border:2px solid var(--color-main-background);box-sizing:content-box}.app-item__label[data-v-5ea5a006]{font-size:12px;line-height:1.3;text-align:center;color:var(--color-main-text);-webkit-hyphens:auto;hyphens:auto;word-break:normal;overflow-wrap:break-word;max-width:100%;letter-spacing:-0.3px}.app-item--active .app-item__label[data-v-5ea5a006]{font-weight:bold}","",{version:3,sources:["webpack://./core/src/components/AppItem.vue"],names:[],mappings:"AACA,2BACC,YAAA,CACA,qBAAA,CACA,kBAAA,CACA,gCAAA,CAEA,0CAAA,CACA,0CAAA,CACA,oBAAA,CACA,4BAAA,CACA,WAAA,CAKA,yCACC,YAAA,CACA,uDAAA,CAGD,0EAEC,sBAAA,CAGD,kCACC,sBAAA,CAGD,mCACC,iBAAA,CACA,KAAA,CACA,kBAAA,CACA,0CAAA,CACA,2CAAA,CACA,iBAAA,CACA,mCAAA,CACA,6CAAA,CACA,sBAAA,CAGD,kCACC,cAAA,CACA,eAAA,CACA,iBAAA,CACA,4BAAA,CAEA,oBAAA,CACA,YAAA,CACA,iBAAA,CACA,wBAAA,CACA,cAAA,CACA,qBAAA,CAGD,oDACC,gBAAA",sourcesContent:["\n.app-item {\n\tdisplay: flex;\n\tflex-direction: column;\n\talign-items: center;\n\tgap: var(--default-grid-baseline);\n\t// Keeps the grown circle and the focus ring off the tile's edge.\n\tpadding-block: var(--default-grid-baseline);\n\tborder-radius: var(--border-radius-element);\n\ttext-decoration: none;\n\tcolor: var(--color-main-text);\n\tmin-width: 0;\n\n\t// Inset ring instead of outline + offset: the offset version visibly\n\t// clips at the popover's rounded edge for items in the first/last row\n\t// or column. The inset shadow stays inside the tile's own bounds.\n\t&:focus-visible {\n\t\toutline: none;\n\t\tbox-shadow: inset 0 0 0 2px var(--color-primary-element);\n\t}\n\n\t&:hover,\n\t&:focus-visible {\n\t\t--app-icon-scale: 1.08;\n\t}\n\n\t&:active {\n\t\t--app-icon-scale: 0.96;\n\t}\n\n\t&__unread {\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tinset-inline-end: 0;\n\t\twidth: calc(var(--default-grid-baseline) * 3);\n\t\theight: calc(var(--default-grid-baseline) * 3);\n\t\tborder-radius: 50%;\n\t\tbackground-color: var(--color-error);\n\t\tborder: 2px solid var(--color-main-background);\n\t\tbox-sizing: content-box;\n\t}\n\n\t&__label {\n\t\tfont-size: 12px;\n\t\tline-height: 1.3;\n\t\ttext-align: center;\n\t\tcolor: var(--color-main-text);\n\t\t// Needs a matching to actually break with a hyphen.\n\t\t-webkit-hyphens: auto;\n\t\thyphens: auto;\n\t\tword-break: normal;\n\t\toverflow-wrap: break-word;\n\t\tmax-width: 100%;\n\t\tletter-spacing: -0.3px;\n\t}\n\n\t&--active &__label {\n\t\tfont-weight: bold;\n\t}\n}\n"],sourceRoot:""}]);const s=a},47559(t,e,r){"use strict";r.d(e,{A:()=>s});var n=r(71354),o=r.n(n),i=r(76314),a=r.n(i)()(o());a.push([t.id,".app-menu[data-v-d8dfb304]{display:flex;align-items:center}.app-menu__waffle[data-v-d8dfb304]{--color-main-text: var(--color-background-plain-text);color:var(--color-background-plain-text)}.app-menu__waffle[data-v-d8dfb304]:hover:not(:disabled){background-color:rgba(0,0,0,.1) !important}.app-menu__waffle[data-v-d8dfb304]:active:not(:disabled){background-color:rgba(0,0,0,.15) !important}.app-menu__waffle[data-v-d8dfb304]:focus-visible{background-color:rgba(0,0,0,.1) !important;outline:none !important;box-shadow:inset 0 0 0 2px var(--color-background-plain-text) !important}.app-menu__current-app[data-v-d8dfb304]{--color-main-text: var(--color-background-plain-text);color:var(--color-background-plain-text)}.app-menu__current-app[data-v-d8dfb304]:hover:not(:disabled){background-color:rgba(0,0,0,.1) !important}.app-menu__current-app[data-v-d8dfb304]:active:not(:disabled){background-color:rgba(0,0,0,.15) !important}.app-menu__current-app[data-v-d8dfb304]:focus-visible{background-color:rgba(0,0,0,.1) !important;outline:none !important;box-shadow:inset 0 0 0 2px var(--color-background-plain-text) !important}.app-menu__current-app[data-v-d8dfb304] .button-vue__text{min-width:0}@media only screen and (max-width: 1024px){.app-menu__current-app[data-v-d8dfb304]{display:none !important}}.app-menu__current-app-icon[data-v-d8dfb304]{width:calc(var(--default-grid-baseline)*5);height:calc(var(--default-grid-baseline)*5);filter:var(--background-image-invert-if-bright);mask:var(--header-menu-icon-mask)}.app-menu__current-app-cog[data-v-d8dfb304]{mask:var(--header-menu-icon-mask)}.app-menu__current-app-name[data-v-d8dfb304]{display:inline-block;vertical-align:middle;font-size:var(--default-font-size);font-weight:500;white-space:nowrap;letter-spacing:-0.5px;overflow:hidden;text-overflow:ellipsis;max-width:clamp(80px,22vw,320px)}.app-menu__popover[data-v-d8dfb304]{max-width:calc(100vw - var(--default-grid-baseline)*4);background-color:var(--color-main-background)}.app-menu__grid[data-v-d8dfb304]{--app-item-col-width: 69px;--app-item-row-height: 72px;box-sizing:border-box;padding:calc(var(--default-grid-baseline)*2);display:grid;grid-template-columns:repeat(4, var(--app-item-col-width));grid-auto-rows:minmax(var(--app-item-row-height), max-content);overflow-y:auto;overflow-x:hidden}.app-menu__grid[data-v-d8dfb304]>:nth-child(-n+4){padding-block-start:calc(var(--default-grid-baseline)*2) !important}.app-menu__grid[data-v-d8dfb304]{scrollbar-width:thin;scrollbar-color:var(--color-scrollbar) rgba(0,0,0,0)}","",{version:3,sources:["webpack://./core/src/components/AppMenu.vue"],names:[],mappings:"AACA,2BACC,YAAA,CACA,kBAAA,CAEA,mCAIC,qDAAA,CACA,wCAAA,CAKA,wDACC,0CAAA,CAGD,yDACC,2CAAA,CAGD,iDACC,0CAAA,CACA,uBAAA,CACA,wEAAA,CAIF,wCAIC,qDAAA,CACA,wCAAA,CAMA,6DACC,0CAAA,CAGD,8DACC,2CAAA,CAGD,sDACC,0CAAA,CACA,uBAAA,CACA,wEAAA,CAKD,0DACC,WAAA,CAGD,2CA/BD,wCAgCE,uBAAA,CAAA,CAIF,6CACC,0CAAA,CACA,2CAAA,CAEA,+CAAA,CACA,iCAAA,CAGD,4CACC,iCAAA,CAGD,6CAEC,oBAAA,CACA,qBAAA,CACA,kCAAA,CACA,eAAA,CACA,kBAAA,CACA,qBAAA,CACA,eAAA,CACA,sBAAA,CAGA,gCAAA,CAGD,oCACC,sDAAA,CACA,6CAAA,CAGD,iCACC,0BAAA,CACA,2BAAA,CAGA,qBAAA,CACA,4CAAA,CACA,YAAA,CACA,0DAAA,CACA,8DAAA,CAEA,eAAA,CACA,iBAAA,CAKA,kDACC,mEAAA,CAlBF,iCAuBC,oBAAA,CACA,oDAAA",sourcesContent:["\n.app-menu {\n\tdisplay: flex;\n\talign-items: center;\n\n\t&__waffle {\n\t\t// NcButton's tertiary-no-background variant uses --color-main-text,\n\t\t// which is dark on light themes. The header sits on the theme primary\n\t\t// background, so override to use the matching plain-text color.\n\t\t--color-main-text: var(--color-background-plain-text);\n\t\tcolor: var(--color-background-plain-text);\n\n\t\t// Class merges onto NcButton's root