diff --git a/apps/dav/src/components/AbsenceForm.vue b/apps/dav/src/components/AbsenceForm.vue index c0b1b6ac3d93b..4782e0c9d3df5 100644 --- a/apps/dav/src/components/AbsenceForm.vue +++ b/apps/dav/src/components/AbsenceForm.vue @@ -149,7 +149,7 @@ export default { ShareType.User, ] - let request = null + let request try { request = await axios.get(generateOcsUrl('apps/files_sharing/api/v1/sharees'), { params: { diff --git a/apps/files/src/components/FilesListVirtual.vue b/apps/files/src/components/FilesListVirtual.vue index 256f9361ec0ae..2dc71799b9317 100644 --- a/apps/files/src/components/FilesListVirtual.vue +++ b/apps/files/src/components/FilesListVirtual.vue @@ -428,8 +428,7 @@ export default defineComponent({ } if (event.key !== 'ArrowUp' && event.key !== 'ArrowDown' - && (!this.userConfig.grid_view || (event.key !== 'ArrowLeft' && event.key !== 'ArrowRight')) - ) { + && (!this.userConfig.grid_view || (event.key !== 'ArrowLeft' && event.key !== 'ArrowRight'))) { // not an arrow key we handle return } diff --git a/apps/files/src/components/FilesNavigationListItem.vue b/apps/files/src/components/FilesNavigationListItem.vue index a4bda51a19140..f5f2bf01156ce 100644 --- a/apps/files/src/components/FilesNavigationListItem.vue +++ b/apps/files/src/components/FilesNavigationListItem.vue @@ -141,7 +141,7 @@ export default { allow-collapse :loading="isLoading" :data-cy-files-navigation-item="view.id" - :exact="hasChildViews /* eslint-disable-line @nextcloud/vue/no-deprecated-props */" + :exact="hasChildViews" :name="view.name" :open="isExpanded" :pinned="view.sticky" diff --git a/apps/files/src/composables/usePreviewImage.ts b/apps/files/src/composables/usePreviewImage.ts index c13d17f873e1b..692474113ae8d 100644 --- a/apps/files/src/composables/usePreviewImage.ts +++ b/apps/files/src/composables/usePreviewImage.ts @@ -38,8 +38,7 @@ export function usePreviewImage( const fallback = toValue(options).fallback ?? true if (source.attributes['has-preview'] !== true && source.mime !== undefined - && source.mime !== 'application/octet-stream' - ) { + && source.mime !== 'application/octet-stream') { if (!fallback) { return } diff --git a/apps/files/src/store/renaming.ts b/apps/files/src/store/renaming.ts index 9bdd256d731e5..c3761a9b0daf4 100644 --- a/apps/files/src/store/renaming.ts +++ b/apps/files/src/store/renaming.ts @@ -66,8 +66,7 @@ export const useRenamingStore = defineStore('renaming', () => { // Check for extension change for files if (node.type === FileType.File && oldExtension !== newExtension - && !(await showFileExtensionDialog(oldExtension, newExtension)) - ) { + && !(await showFileExtensionDialog(oldExtension, newExtension))) { // user selected to use the old extension newName = basename(newName, newExtension) + oldExtension if (oldName === newName) { @@ -78,8 +77,7 @@ export const useRenamingStore = defineStore('renaming', () => { if (!userConfig.userConfig.show_hidden && newName.startsWith('.') && !oldName.startsWith('.') - && !(await showHiddenFileDialog(newName)) - ) { + && !(await showHiddenFileDialog(newName))) { return false } } @@ -126,7 +124,7 @@ export const useRenamingStore = defineStore('renaming', () => { if (isAxiosError(error)) { // TODO: 409 means current folder does not exist, redirect ? if (error?.response?.status === 404) { - throw new Error(t('files', 'Could not rename "{oldName}", it does not exist any more', { oldName })) + throw new Error(t('files', 'Could not rename "{oldName}", it does not exist any more', { oldName }), { cause: error }) } else if (error?.response?.status === 412) { throw new Error(t( 'files', @@ -135,11 +133,11 @@ export const useRenamingStore = defineStore('renaming', () => { newName, dir: basename(renamingNode.value!.dirname), }, - )) + ), { cause: error }) } } // Unknown error - throw new Error(t('files', 'Could not rename "{oldName}"', { oldName })) + throw new Error(t('files', 'Could not rename "{oldName}"', { oldName }), { cause: error }) } finally { Vue.set(node, 'status', undefined) isRenaming.value = false diff --git a/apps/files/src/utils/permissions.ts b/apps/files/src/utils/permissions.ts index 17339cfc6305d..5e07f6eb40edd 100644 --- a/apps/files/src/utils/permissions.ts +++ b/apps/files/src/utils/permissions.ts @@ -21,8 +21,7 @@ export function isDownloadable(node: INode): boolean { // check hide-download property of shares if (node.attributes['hide-download'] === true - || node.attributes['hide-download'] === 'true' - ) { + || node.attributes['hide-download'] === 'true') { return false } diff --git a/apps/files_sharing/src/components/SharingInput.vue b/apps/files_sharing/src/components/SharingInput.vue index 7f3d81980c900..17677e90de3bc 100644 --- a/apps/files_sharing/src/components/SharingInput.vue +++ b/apps/files_sharing/src/components/SharingInput.vue @@ -231,7 +231,7 @@ export default { shareType.push(...remoteTypes) } - let request = null + let request try { request = await axios.get(generateOcsUrl('apps/files_sharing/api/v1/sharees'), { params: { @@ -321,7 +321,7 @@ export default { async getRecommendations() { this.loading = true - let request = null + let request try { request = await axios.get(generateOcsUrl('apps/files_sharing/api/v1/sharees_recommended'), { params: { diff --git a/apps/files_sharing/src/mixins/ShareDetails.js b/apps/files_sharing/src/mixins/ShareDetails.js index e91b3f2fe77bb..8c716e74e13b3 100644 --- a/apps/files_sharing/src/mixins/ShareDetails.js +++ b/apps/files_sharing/src/mixins/ShareDetails.js @@ -11,7 +11,7 @@ import logger from '../services/logger.ts' export default { methods: { async openSharingDetails(shareRequestObject) { - let share = {} + let share // handle externalResults from OCA.Sharing.ShareSearch // TODO : Better name/interface for handler required // For example `externalAppCreateShareHook` with proper documentation diff --git a/apps/files_versions/src/utils/versions.ts b/apps/files_versions/src/utils/versions.ts index f818779b0ecd6..47943b1590102 100644 --- a/apps/files_versions/src/utils/versions.ts +++ b/apps/files_versions/src/utils/versions.ts @@ -98,11 +98,11 @@ export async function restoreVersion(version: Version) { */ function formatVersion(version: Required, node: INode): Version { const mtime = Date.parse(version.lastmod) - let previewUrl = '' + let previewUrl: string if (mtime === node.mtime?.getTime()) { // Version is the current one previewUrl = generateUrl('/core/preview?fileId={fileId}&c={fileEtag}&x=250&y=250&forceIcon=0&a=0&forceIcon=1&mimeFallback=1', { - fileId: node.fileid, + fileId: node.id, fileEtag: node.attributes.etag, }) } else { @@ -113,7 +113,7 @@ function formatVersion(version: Required, node: INode): Version { } return { - fileId: node.fileid!.toString(), + fileId: node.id!, // If version-label is defined make sure it is a string (prevent issue if the label is a number an PHP returns a number then) label: version.props['version-label'] ? String(version.props['version-label']) : '', author: version.props['version-author'] ? String(version.props['version-author']) : null, diff --git a/apps/settings/src/components/WebAuthn/WebAuthnAddDevice.vue b/apps/settings/src/components/WebAuthn/WebAuthnAddDevice.vue index 1f7fa5024abac..4d22d1d6cc44e 100644 --- a/apps/settings/src/components/WebAuthn/WebAuthnAddDevice.vue +++ b/apps/settings/src/components/WebAuthn/WebAuthnAddDevice.vue @@ -170,7 +170,7 @@ export default { this.$emit('added', device) } catch (err) { logger.error('Error persisting webauthn registration', { error: err }) - throw new Error(t('settings', 'Server error while trying to complete WebAuthn device registration')) + throw new Error(t('settings', 'Server error while trying to complete WebAuthn device registration'), { cause: err }) } }, diff --git a/apps/settings/src/service/WebAuthnRegistrationSerice.ts b/apps/settings/src/service/WebAuthnRegistrationSerice.ts index bfb2135fdb5a6..6e4c0c6b9393d 100644 --- a/apps/settings/src/service/WebAuthnRegistrationSerice.ts +++ b/apps/settings/src/service/WebAuthnRegistrationSerice.ts @@ -28,11 +28,11 @@ export async function startRegistration() { } catch (e) { logger.error(e as Error) if (isAxiosError(e)) { - throw new Error(t('settings', 'Could not register device: Network error')) + throw new Error(t('settings', 'Could not register device: Network error'), { cause: e }) } else if ((e as Error).name === 'InvalidStateError') { - throw new Error(t('settings', 'Could not register device: Probably already registered')) + throw new Error(t('settings', 'Could not register device: Probably already registered'), { cause: e }) } - throw new Error(t('settings', 'Could not register device')) + throw new Error(t('settings', 'Could not register device'), { cause: e }) } } diff --git a/apps/systemtags/src/services/api.ts b/apps/systemtags/src/services/api.ts index 9c040c785bd7d..c4a533532f9ea 100644 --- a/apps/systemtags/src/services/api.ts +++ b/apps/systemtags/src/services/api.ts @@ -43,7 +43,7 @@ export async function fetchTags(): Promise { return parseTags(tags) } catch (error) { logger.error(t('systemtags', 'Failed to load tags'), { error }) - throw new Error(t('systemtags', 'Failed to load tags')) + throw new Error(t('systemtags', 'Failed to load tags'), { cause: error }) } } @@ -62,7 +62,7 @@ export async function fetchTag(tagId: number): Promise { return parseTags([tag])[0]! } catch (error) { logger.error(t('systemtags', 'Failed to load tag'), { error }) - throw new Error(t('systemtags', 'Failed to load tag')) + throw new Error(t('systemtags', 'Failed to load tag'), { cause: error }) } } @@ -76,7 +76,7 @@ export async function fetchLastUsedTagIds(): Promise { return lastUsedTagIds.map(Number) } catch (error) { logger.error(t('systemtags', 'Failed to load last used tags'), { error }) - throw new Error(t('systemtags', 'Failed to load last used tags')) + throw new Error(t('systemtags', 'Failed to load last used tags'), { cause: error }) } } @@ -103,10 +103,10 @@ export async function createTag(tag: Tag | ServerTag): Promise { } catch (error) { if ((error as WebDAVClientError)?.response?.status === 409) { logger.error(t('systemtags', 'A tag with the same name already exists'), { error }) - throw new Error(t('systemtags', 'A tag with the same name already exists')) + throw new Error(t('systemtags', 'A tag with the same name already exists'), { cause: error }) } logger.error(t('systemtags', 'Failed to create tag'), { error }) - throw new Error(t('systemtags', 'Failed to create tag')) + throw new Error(t('systemtags', 'Failed to create tag'), { cause: error }) } } @@ -137,7 +137,7 @@ export async function updateTag(tag: TagWithId): Promise { emit('systemtags:tag:updated', tag) } catch (error) { logger.error(t('systemtags', 'Failed to update tag'), { error }) - throw new Error(t('systemtags', 'Failed to update tag')) + throw new Error(t('systemtags', 'Failed to update tag'), { cause: error }) } } @@ -153,7 +153,7 @@ export async function deleteTag(tag: TagWithId): Promise { emit('systemtags:tag:deleted', tag) } catch (error) { logger.error(t('systemtags', 'Failed to delete tag'), { error }) - throw new Error(t('systemtags', 'Failed to delete tag')) + throw new Error(t('systemtags', 'Failed to delete tag'), { cause: error }) } } diff --git a/apps/systemtags/src/services/files.ts b/apps/systemtags/src/services/files.ts index fbe270a71f834..a7c7e4fcfc589 100644 --- a/apps/systemtags/src/services/files.ts +++ b/apps/systemtags/src/services/files.ts @@ -28,7 +28,7 @@ export async function fetchTagsForFile(fileId: number): Promise { return parseTags(tags) } catch (error) { logger.error(t('systemtags', 'Failed to load tags for file'), { error }) - throw new Error(t('systemtags', 'Failed to load tags for file')) + throw new Error(t('systemtags', 'Failed to load tags for file'), { cause: error }) } } @@ -66,7 +66,7 @@ export async function setTagForFile(tag: TagWithId | ServerTagWithId, fileId: nu }) } catch (error) { logger.error(t('systemtags', 'Failed to set tag for file'), { error }) - throw new Error(t('systemtags', 'Failed to set tag for file')) + throw new Error(t('systemtags', 'Failed to set tag for file'), { cause: error }) } } @@ -82,6 +82,6 @@ export async function deleteTagForFile(tag: TagWithId, fileId: number): Promise< await davClient.deleteFile(path) } catch (error) { logger.error(t('systemtags', 'Failed to delete tag for file'), { error }) - throw new Error(t('systemtags', 'Failed to delete tag for file')) + throw new Error(t('systemtags', 'Failed to delete tag for file'), { cause: error }) } } diff --git a/build/eslint-baseline-legacy.json b/build/eslint-baseline-legacy.json index 575c034981eec..67d17c73b4f4f 100644 --- a/build/eslint-baseline-legacy.json +++ b/build/eslint-baseline-legacy.json @@ -1,11 +1,11 @@ { - "apps/files/src/components/FilesNavigationItem.vue": { - "@nextcloud/vue/no-deprecated-props": { + "apps/files/src/components/FilesNavigationListItem.vue": { + "@nextcloud/no-deprecated-library-props": { "count": 1 } }, "apps/files/src/components/TransferOwnershipDialogue.vue": { - "@nextcloud/vue/no-deprecated-props": { + "@nextcloud/no-deprecated-library-props": { "count": 1 } }, @@ -15,7 +15,7 @@ } }, "apps/files_sharing/src/components/SharingInput.vue": { - "@nextcloud/vue/no-deprecated-props": { + "@nextcloud/no-deprecated-library-props": { "count": 1 } }, @@ -30,12 +30,12 @@ } }, "apps/settings/src/components/GroupListItem.vue": { - "@nextcloud/vue/no-deprecated-props": { + "@nextcloud/no-deprecated-library-props": { "count": 1 } }, "apps/settings/src/components/Users/NewUserDialog.vue": { - "@nextcloud/vue/no-deprecated-props": { + "@nextcloud/no-deprecated-library-props": { "count": 1 }, "vue/no-mutating-props": { @@ -43,7 +43,7 @@ } }, "apps/settings/src/views/UserManagementNavigation.vue": { - "@nextcloud/vue/no-deprecated-props": { + "@nextcloud/no-deprecated-library-props": { "count": 4 } }, diff --git a/core/src/OC/dialogs.js b/core/src/OC/dialogs.js index 46d97965a3da7..26b001dc8a64f 100644 --- a/core/src/OC/dialogs.js +++ b/core/src/OC/dialogs.js @@ -510,7 +510,7 @@ const Dialogs = { for (let j = 0; j < H2; j++) { for (let i = 0; i < W2; i++) { const x2 = (i + j * W2) * 4 - let weight = 0 + let weight let weights = 0 let weights_alpha = 0 let gx_r = 0 diff --git a/core/src/OC/util.js b/core/src/OC/util.js index 42ee94141f5c8..b057057993857 100644 --- a/core/src/OC/util.js +++ b/core/src/OC/util.js @@ -64,8 +64,6 @@ export default { } const s = string.toLowerCase().trim() - let bytes = null - const bytesArray = { b: 1, k: 1024, @@ -80,6 +78,7 @@ export default { p: 1024 * 1024 * 1024 * 1024 * 1024, } + let bytes const matches = s.match(/^[\s+]?([0-9]*)(\.([0-9]+))?( +)?([kmgtp]?b?)$/i) if (matches !== null) { bytes = parseFloat(s) diff --git a/core/src/globals.js b/core/src/globals.js index 01569fef01833..be835c171a839 100644 --- a/core/src/globals.js +++ b/core/src/globals.js @@ -1,10 +1,9 @@ -/** +/* eslint-disable @nextcloud/no-deprecated-globals */ +/*! * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors * SPDX-License-Identifier: AGPL-3.0-or-later */ -/* eslint-disable @nextcloud/no-deprecations */ -// END TODO import Backbone from 'backbone' import ClipboardJS from 'clipboard' import { dav } from 'davclient.js' @@ -43,9 +42,9 @@ function warnIfNotTesting() { * Mark a function as deprecated and automatically * warn if used! * - * @param {Function} func the library to deprecate - * @param {string} funcName the name of the library - * @param {number} version the version this gets removed + * @param {Function} func - The library to deprecate + * @param {string} funcName - The name of the library + * @param {number} version - The version this gets removed * @return {Function} */ function deprecate(func, funcName, version) { @@ -59,10 +58,11 @@ function deprecate(func, funcName, version) { } /** + * Mark a global variable as deprecated and automatically * - * @param global - * @param cb - * @param msg + * @param global - the global variable to deprecate, can be a string or an array of strings + * @param cb - a callback that returns the value of the global variable, this is needed to avoid circular dependencies + * @param msg - an optional message to show in the warning, e.g. to suggest an alternative, this will be appended to the default warning message */ function setDeprecatedProp(global, cb, msg) { (Array.isArray(global) ? global : [global]).forEach((global) => { diff --git a/core/src/jquery/ocdialog.js b/core/src/jquery/ocdialog.js index 9729c89568546..bbf28b0c3f301 100644 --- a/core/src/jquery/ocdialog.js +++ b/core/src/jquery/ocdialog.js @@ -207,11 +207,6 @@ $.widget('oc.ocdialog', { } const self = this - let contentDiv = $('#content') - if (contentDiv.length === 0) { - // nextcloud-vue compatibility - contentDiv = $('.content') - } this.overlay = $('
') .addClass('oc-dialog-dim') .insertBefore(this.$dialog) diff --git a/cypress/support/commands.ts b/cypress/support/commands.ts index 84947bc25c8e4..49a95e8f1321d 100644 --- a/cypress/support/commands.ts +++ b/cypress/support/commands.ts @@ -88,9 +88,9 @@ Cypress.Commands.add('setFileAsFavorite', (user: User, target: string, favorite `, }) cy.log(`Created directory ${target}`, response) - } catch (error) { - cy.log('error', error) - throw new Error('Unable to process fixture') + } catch (cause) { + cy.log('error', cause) + throw new Error('Unable to process fixture', { cause }) } }) }) @@ -111,9 +111,9 @@ Cypress.Commands.add('mkdir', (user: User, target: string) => { }) cy.log(`Created directory ${target}`, response) return response - } catch (error) { - cy.log('error', error) - throw new Error('Unable to create directory') + } catch (cause) { + cy.log('error', cause) + throw new Error('Unable to create directory', { cause }) } }) }) @@ -133,9 +133,9 @@ Cypress.Commands.add('rm', (user: User, target: string) => { }, }) cy.log(`delete file or directory ${target}`, response) - } catch (error) { - cy.log('error', error) - throw new Error('Unable to delete file or directory') + } catch (cause) { + cy.log('error', cause) + throw new Error('Unable to delete file or directory', { cause }) } }) }) @@ -174,9 +174,9 @@ Cypress.Commands.add('uploadContent', (user: User, blob: Blob, mimeType: string, }) cy.log(`Uploaded content as ${fileName}`, response) return response - } catch (error) { - cy.log('error', error) - throw new Error('Unable to process fixture') + } catch (cause) { + cy.log('error', cause) + throw new Error('Unable to process fixture', { cause }) } }) }) diff --git a/dist/6775-6775.js b/dist/6775-6775.js new file mode 100644 index 0000000000000..5b323330270f7 --- /dev/null +++ b/dist/6775-6775.js @@ -0,0 +1,2 @@ +"use strict";(globalThis.webpackChunknextcloud_ui_legacy=globalThis.webpackChunknextcloud_ui_legacy||[]).push([[6775],{5016(e,t,i){i.d(t,{A:()=>o});var s=i(71354),a=i.n(s),n=i(76314),r=i.n(n)()(a());r.push([e.id,".share-expiry-time[data-v-c9199db0]{display:inline-flex;align-items:center;justify-content:center}.share-expiry-time .hint-icon[data-v-c9199db0]{padding:0;margin:0;width:24px;height:24px}.hint-heading[data-v-c9199db0]{text-align:center;font-size:1rem;margin-top:8px;padding-bottom:8px;margin-bottom:0;border-bottom:1px solid var(--color-border)}.hint-body[data-v-c9199db0]{padding:var(--border-radius-element);max-width:300px}","",{version:3,sources:["webpack://./apps/files_sharing/src/components/ShareExpiryTime.vue"],names:[],mappings:"AACA,oCACI,mBAAA,CACA,kBAAA,CACA,sBAAA,CAEA,+CACI,SAAA,CACA,QAAA,CACA,UAAA,CACA,WAAA,CAIR,+BACI,iBAAA,CACA,cAAA,CACA,cAAA,CACA,kBAAA,CACA,eAAA,CACA,2CAAA,CAGJ,4BACI,oCAAA,CACA,eAAA",sourcesContent:["\n.share-expiry-time {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n\n .hint-icon {\n padding: 0;\n margin: 0;\n width: 24px;\n height: 24px;\n }\n}\n\n.hint-heading {\n text-align: center;\n font-size: 1rem;\n margin-top: 8px;\n padding-bottom: 8px;\n margin-bottom: 0;\n border-bottom: 1px solid var(--color-border);\n}\n\n.hint-body {\n padding: var(--border-radius-element);\n max-width: 300px;\n}\n"],sourceRoot:""}]);const o=r},10322(e,t,i){i.d(t,{A:()=>o});var s=i(71354),a=i.n(s),n=i(76314),r=i.n(n)()(a());r.push([e.id,".sharing-entry[data-v-469e5e80]{display:flex;align-items:center;height:44px}.sharing-entry__summary[data-v-469e5e80]{padding:8px;padding-inline-start:10px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;flex:1 0;min-width:0}.sharing-entry__summary__desc[data-v-469e5e80]{display:inline-block;padding-bottom:0;line-height:1.2em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sharing-entry__summary__desc p[data-v-469e5e80],.sharing-entry__summary__desc small[data-v-469e5e80]{color:var(--color-text-maxcontrast)}.sharing-entry__summary__desc-unique[data-v-469e5e80]{color:var(--color-text-maxcontrast)}","",{version:3,sources:["webpack://./apps/files_sharing/src/components/SharingEntry.vue"],names:[],mappings:"AACA,gCACC,YAAA,CACA,kBAAA,CACA,WAAA,CACA,yCACC,WAAA,CACA,yBAAA,CACA,YAAA,CACA,qBAAA,CACA,sBAAA,CACA,sBAAA,CACA,QAAA,CACA,WAAA,CAEA,+CACC,oBAAA,CACA,gBAAA,CACA,iBAAA,CACA,kBAAA,CACA,eAAA,CACA,sBAAA,CAEA,sGAEC,mCAAA,CAGD,sDACC,mCAAA",sourcesContent:["\n.sharing-entry {\n\tdisplay: flex;\n\talign-items: center;\n\theight: 44px;\n\t&__summary {\n\t\tpadding: 8px;\n\t\tpadding-inline-start: 10px;\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tjustify-content: center;\n\t\talign-items: flex-start;\n\t\tflex: 1 0;\n\t\tmin-width: 0;\n\n\t\t&__desc {\n\t\t\tdisplay: inline-block;\n\t\t\tpadding-bottom: 0;\n\t\t\tline-height: 1.2em;\n\t\t\twhite-space: nowrap;\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\n\t\t\tp,\n\t\t\tsmall {\n\t\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t\t}\n\n\t\t\t&-unique {\n\t\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t\t}\n\t\t}\n\t}\n\n}\n"],sourceRoot:""}]);const o=r},50618(e,t,i){i.d(t,{A:()=>o});var s=i(71354),a=i.n(s),n=i(76314),r=i.n(n)()(a());r.push([e.id,".sharing-entry[data-v-731a9650]{display:flex;align-items:center;height:44px}.sharing-entry__desc[data-v-731a9650]{display:flex;flex-direction:column;justify-content:space-between;padding:8px;padding-inline-start:10px;line-height:1.2em}.sharing-entry__desc p[data-v-731a9650]{color:var(--color-text-maxcontrast)}.sharing-entry__actions[data-v-731a9650]{margin-inline-start:auto}","",{version:3,sources:["webpack://./apps/files_sharing/src/components/SharingEntryInherited.vue"],names:[],mappings:"AACA,gCACC,YAAA,CACA,kBAAA,CACA,WAAA,CACA,sCACC,YAAA,CACA,qBAAA,CACA,6BAAA,CACA,WAAA,CACA,yBAAA,CACA,iBAAA,CACA,wCACC,mCAAA,CAGF,yCACC,wBAAA",sourcesContent:["\n.sharing-entry {\n\tdisplay: flex;\n\talign-items: center;\n\theight: 44px;\n\t&__desc {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tjustify-content: space-between;\n\t\tpadding: 8px;\n\t\tpadding-inline-start: 10px;\n\t\tline-height: 1.2em;\n\t\tp {\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t}\n\t}\n\t&__actions {\n\t\tmargin-inline-start: auto;\n\t}\n}\n"],sourceRoot:""}]);const o=r},84388(e,t,i){i.d(t,{A:()=>o});var s=i(71354),a=i.n(s),n=i(76314),r=i.n(n)()(a());r.push([e.id,".sharing-entry__internal .avatar-external[data-v-6c4cb23b]{width:32px;height:32px;line-height:32px;font-size:18px;background-color:var(--color-text-maxcontrast);border-radius:50%;flex-shrink:0}.sharing-entry__internal .icon-checkmark-color[data-v-6c4cb23b]{opacity:1;color:var(--color-border-success)}","",{version:3,sources:["webpack://./apps/files_sharing/src/components/SharingEntryInternal.vue"],names:[],mappings:"AAEC,2DACC,UAAA,CACA,WAAA,CACA,gBAAA,CACA,cAAA,CACA,8CAAA,CACA,iBAAA,CACA,aAAA,CAED,gEACC,SAAA,CACA,iCAAA",sourcesContent:["\n.sharing-entry__internal {\n\t.avatar-external {\n\t\twidth: 32px;\n\t\theight: 32px;\n\t\tline-height: 32px;\n\t\tfont-size: 18px;\n\t\tbackground-color: var(--color-text-maxcontrast);\n\t\tborder-radius: 50%;\n\t\tflex-shrink: 0;\n\t}\n\t.icon-checkmark-color {\n\t\topacity: 1;\n\t\tcolor: var(--color-border-success);\n\t}\n}\n"],sourceRoot:""}]);const o=r},12231(e,t,i){i.d(t,{A:()=>o});var s=i(71354),a=i.n(s),n=i(76314),r=i.n(n)()(a());r.push([e.id,".sharing-entry[data-v-4ca4172c]{display:flex;align-items:center;min-height:44px}.sharing-entry__summary[data-v-4ca4172c]{padding:8px;padding-inline-start:10px;display:flex;justify-content:space-between;flex:1 0;min-width:0}.sharing-entry__desc[data-v-4ca4172c]{display:flex;flex-direction:column;line-height:1.2em}.sharing-entry__desc p[data-v-4ca4172c]{color:var(--color-text-maxcontrast)}.sharing-entry__desc__title[data-v-4ca4172c]{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.sharing-entry__actions[data-v-4ca4172c]{display:flex;align-items:center;margin-inline-start:auto}.sharing-entry:not(.sharing-entry--share) .sharing-entry__actions .new-share-link[data-v-4ca4172c]{border-top:1px solid var(--color-border)}.sharing-entry[data-v-4ca4172c] .avatar-link-share{background-color:var(--color-primary-element)}.sharing-entry .sharing-entry__action--public-upload[data-v-4ca4172c]{border-bottom:1px solid var(--color-border)}.sharing-entry__loading[data-v-4ca4172c]{width:44px;height:44px;margin:0;padding:14px;margin-inline-start:auto}.sharing-entry .action-item~.action-item[data-v-4ca4172c],.sharing-entry .action-item~.sharing-entry__loading[data-v-4ca4172c]{margin-inline-start:0}.sharing-entry__copy-icon--success[data-v-4ca4172c]{color:var(--color-border-success)}.qr-code-dialog[data-v-4ca4172c]{display:flex;width:100%;justify-content:center}.qr-code-dialog__img[data-v-4ca4172c]{width:100%;height:auto}","",{version:3,sources:["webpack://./apps/files_sharing/src/components/SharingEntryLink.vue"],names:[],mappings:"AACA,gCACC,YAAA,CACA,kBAAA,CACA,eAAA,CAEA,yCACC,WAAA,CACA,yBAAA,CACA,YAAA,CACA,6BAAA,CACA,QAAA,CACA,WAAA,CAGA,sCACC,YAAA,CACA,qBAAA,CACA,iBAAA,CAEA,wCACC,mCAAA,CAGD,6CACC,sBAAA,CACA,eAAA,CACA,kBAAA,CAIF,yCACC,YAAA,CACA,kBAAA,CACA,wBAAA,CAID,mGACC,wCAAA,CAIF,mDACC,6CAAA,CAGD,sEACC,2CAAA,CAGD,yCACC,UAAA,CACA,WAAA,CACA,QAAA,CACA,YAAA,CACA,wBAAA,CAOA,+HAEC,qBAAA,CAIF,oDACC,iCAAA,CAKF,iCACC,YAAA,CACA,UAAA,CACA,sBAAA,CAEA,sCACC,UAAA,CACA,WAAA",sourcesContent:["\n.sharing-entry {\n\tdisplay: flex;\n\talign-items: center;\n\tmin-height: 44px;\n\n\t&__summary {\n\t\tpadding: 8px;\n\t\tpadding-inline-start: 10px;\n\t\tdisplay: flex;\n\t\tjustify-content: space-between;\n\t\tflex: 1 0;\n\t\tmin-width: 0;\n\t}\n\n\t\t&__desc {\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t\tline-height: 1.2em;\n\n\t\t\tp {\n\t\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t\t}\n\n\t\t\t&__title {\n\t\t\t\ttext-overflow: ellipsis;\n\t\t\t\toverflow: hidden;\n\t\t\t\twhite-space: nowrap;\n\t\t\t}\n\t\t}\n\n\t\t&__actions {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tmargin-inline-start: auto;\n\t\t}\n\n\t&:not(.sharing-entry--share) &__actions {\n\t\t.new-share-link {\n\t\t\tborder-top: 1px solid var(--color-border);\n\t\t}\n\t}\n\n\t:deep(.avatar-link-share) {\n\t\tbackground-color: var(--color-primary-element);\n\t}\n\n\t.sharing-entry__action--public-upload {\n\t\tborder-bottom: 1px solid var(--color-border);\n\t}\n\n\t&__loading {\n\t\twidth: 44px;\n\t\theight: 44px;\n\t\tmargin: 0;\n\t\tpadding: 14px;\n\t\tmargin-inline-start: auto;\n\t}\n\n\t// put menus to the left\n\t// but only the first one\n\t.action-item {\n\n\t\t~.action-item,\n\t\t~.sharing-entry__loading {\n\t\t\tmargin-inline-start: 0;\n\t\t}\n\t}\n\n\t&__copy-icon--success {\n\t\tcolor: var(--color-border-success);\n\t}\n}\n\n// styling for the qr-code container\n.qr-code-dialog {\n\tdisplay: flex;\n\twidth: 100%;\n\tjustify-content: center;\n\n\t&__img {\n\t\twidth: 100%;\n\t\theight: auto;\n\t}\n}\n"],sourceRoot:""}]);const o=r},56953(e,t,i){i.d(t,{A:()=>o});var s=i(71354),a=i.n(s),n=i(76314),r=i.n(n)()(a());r.push([e.id,".share-select[data-v-b5eca1ec]{display:block}.share-select[data-v-b5eca1ec] .action-item__menutoggle{color:var(--color-primary-element) !important;font-size:12.5px !important;height:auto !important;min-height:auto !important}.share-select[data-v-b5eca1ec] .action-item__menutoggle .button-vue__text{font-weight:normal !important}.share-select[data-v-b5eca1ec] .action-item__menutoggle .button-vue__icon{height:24px !important;min-height:24px !important;width:24px !important;min-width:24px !important}.share-select[data-v-b5eca1ec] .action-item__menutoggle .button-vue__wrapper{flex-direction:row-reverse !important}","",{version:3,sources:["webpack://./apps/files_sharing/src/components/SharingEntryQuickShareSelect.vue"],names:[],mappings:"AACA,+BACC,aAAA,CAIA,wDACC,6CAAA,CACA,2BAAA,CACA,sBAAA,CACA,0BAAA,CAEA,0EACC,6BAAA,CAGD,0EACC,sBAAA,CACA,0BAAA,CACA,qBAAA,CACA,yBAAA,CAGD,6EAEC,qCAAA",sourcesContent:["\n.share-select {\n\tdisplay: block;\n\n\t// TODO: NcActions should have a slot for custom trigger button like NcPopover\n\t// Overrider NcActionms button to make it small\n\t:deep(.action-item__menutoggle) {\n\t\tcolor: var(--color-primary-element) !important;\n\t\tfont-size: 12.5px !important;\n\t\theight: auto !important;\n\t\tmin-height: auto !important;\n\n\t\t.button-vue__text {\n\t\t\tfont-weight: normal !important;\n\t\t}\n\n\t\t.button-vue__icon {\n\t\t\theight: 24px !important;\n\t\t\tmin-height: 24px !important;\n\t\t\twidth: 24px !important;\n\t\t\tmin-width: 24px !important;\n\t\t}\n\n\t\t.button-vue__wrapper {\n\t\t\t// Emulate NcButton's alignment=center-reverse\n\t\t\tflex-direction: row-reverse !important;\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const o=r},18999(e,t,i){i.d(t,{A:()=>o});var s=i(71354),a=i.n(s),n=i(76314),r=i.n(n)()(a());r.push([e.id,".sharing-entry[data-v-13d4a0bb]{display:flex;align-items:center;min-height:44px}.sharing-entry__desc[data-v-13d4a0bb]{padding:8px;padding-inline-start:10px;line-height:1.2em;position:relative;flex:1 1;min-width:0}.sharing-entry__desc p[data-v-13d4a0bb]{color:var(--color-text-maxcontrast)}.sharing-entry__title[data-v-13d4a0bb]{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;max-width:inherit}.sharing-entry__actions[data-v-13d4a0bb]{margin-inline-start:auto !important}","",{version:3,sources:["webpack://./apps/files_sharing/src/components/SharingEntrySimple.vue"],names:[],mappings:"AACA,gCACC,YAAA,CACA,kBAAA,CACA,eAAA,CACA,sCACC,WAAA,CACA,yBAAA,CACA,iBAAA,CACA,iBAAA,CACA,QAAA,CACA,WAAA,CACA,wCACC,mCAAA,CAGF,uCACC,kBAAA,CACA,sBAAA,CACA,eAAA,CACA,iBAAA,CAED,yCACC,mCAAA",sourcesContent:["\n.sharing-entry {\n\tdisplay: flex;\n\talign-items: center;\n\tmin-height: 44px;\n\t&__desc {\n\t\tpadding: 8px;\n\t\tpadding-inline-start: 10px;\n\t\tline-height: 1.2em;\n\t\tposition: relative;\n\t\tflex: 1 1;\n\t\tmin-width: 0;\n\t\tp {\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t}\n\t}\n\t&__title {\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t\toverflow: hidden;\n\t\tmax-width: inherit;\n\t}\n\t&__actions {\n\t\tmargin-inline-start: auto !important;\n\t}\n}\n"],sourceRoot:""}]);const o=r},30760(e,t,i){i.d(t,{A:()=>o});var s=i(71354),a=i.n(s),n=i(76314),r=i.n(n)()(a());r.push([e.id,".sharing-search{display:flex;flex-direction:column;margin-bottom:4px}.sharing-search label[for=sharing-search-input]{margin-bottom:2px}.sharing-search__input{width:100%;margin:10px 0}.vs__dropdown-menu span[lookup] .avatardiv{background-image:var(--icon-search-white);background-repeat:no-repeat;background-position:center;background-color:var(--color-text-maxcontrast) !important}.vs__dropdown-menu span[lookup] .avatardiv .avatardiv__initials-wrapper{display:none}","",{version:3,sources:["webpack://./apps/files_sharing/src/components/SharingInput.vue"],names:[],mappings:"AACA,gBACC,YAAA,CACA,qBAAA,CACA,iBAAA,CAEA,gDACC,iBAAA,CAGD,uBACC,UAAA,CACA,aAAA,CAOA,2CACC,yCAAA,CACA,2BAAA,CACA,0BAAA,CACA,yDAAA,CACA,wEACC,YAAA",sourcesContent:['\n.sharing-search {\n\tdisplay: flex;\n\tflex-direction: column;\n\tmargin-bottom: 4px;\n\n\tlabel[for="sharing-search-input"] {\n\t\tmargin-bottom: 2px;\n\t}\n\n\t&__input {\n\t\twidth: 100%;\n\t\tmargin: 10px 0;\n\t}\n}\n\n.vs__dropdown-menu {\n\t// properly style the lookup entry\n\tspan[lookup] {\n\t\t.avatardiv {\n\t\t\tbackground-image: var(--icon-search-white);\n\t\t\tbackground-repeat: no-repeat;\n\t\t\tbackground-position: center;\n\t\t\tbackground-color: var(--color-text-maxcontrast) !important;\n\t\t\t.avatardiv__initials-wrapper {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\t\t}\n\t}\n}\n'],sourceRoot:""}]);const o=r},25431(e,t,i){i.d(t,{A:()=>o});var s=i(71354),a=i.n(s),n=i(76314),r=i.n(n)()(a());r.push([e.id,".sharingTabDetailsView[data-v-16ed4bff]{display:flex;flex-direction:column;width:100%;margin:0 auto;position:relative;height:100%;overflow:hidden}.sharingTabDetailsView__header[data-v-16ed4bff]{display:flex;align-items:center;box-sizing:border-box;margin:.2em}.sharingTabDetailsView__header span[data-v-16ed4bff]{display:flex;align-items:center}.sharingTabDetailsView__header span h1[data-v-16ed4bff]{font-size:15px;padding-inline-start:.3em}.sharingTabDetailsView__wrapper[data-v-16ed4bff]{position:relative;overflow:scroll;flex-shrink:1;padding:4px;padding-inline-end:12px}.sharingTabDetailsView__quick-permissions[data-v-16ed4bff]{display:flex;justify-content:center;width:100%;margin:0 auto;border-radius:0}.sharingTabDetailsView__quick-permissions div[data-v-16ed4bff]{width:100%}.sharingTabDetailsView__quick-permissions div span[data-v-16ed4bff]{width:100%}.sharingTabDetailsView__quick-permissions div span span[data-v-16ed4bff]:nth-child(1){align-items:center;justify-content:center;padding:.1em}.sharingTabDetailsView__quick-permissions div span[data-v-16ed4bff] label span{display:flex;flex-direction:column}.sharingTabDetailsView__quick-permissions div span[data-v-16ed4bff] span.checkbox-content__text.checkbox-radio-switch__text{flex-wrap:wrap}.sharingTabDetailsView__quick-permissions div span[data-v-16ed4bff] span.checkbox-content__text.checkbox-radio-switch__text .subline{display:block;flex-basis:100%}.sharingTabDetailsView__advanced-control[data-v-16ed4bff]{width:100%}.sharingTabDetailsView__advanced-control button[data-v-16ed4bff]{margin-top:.5em}.sharingTabDetailsView__advanced[data-v-16ed4bff]{width:100%;margin-bottom:.5em;text-align:start;padding-inline-start:0}.sharingTabDetailsView__advanced section textarea[data-v-16ed4bff],.sharingTabDetailsView__advanced section div.mx-datepicker[data-v-16ed4bff]{width:100%}.sharingTabDetailsView__advanced section textarea[data-v-16ed4bff]{height:80px;margin:0}.sharingTabDetailsView__advanced section span[data-v-16ed4bff] label{padding-inline-start:0 !important;background-color:initial !important;border:none !important}.sharingTabDetailsView__advanced section section.custom-permissions-group[data-v-16ed4bff]{padding-inline-start:1.5em}.sharingTabDetailsView__label[data-v-16ed4bff]{padding-block-end:6px}.sharingTabDetailsView__delete>button[data-v-16ed4bff]:first-child{color:#df0707}.sharingTabDetailsView__footer[data-v-16ed4bff]{width:100%;display:flex;position:sticky;bottom:0;flex-direction:column;justify-content:space-between;align-items:flex-start;background:linear-gradient(to bottom, rgba(255, 255, 255, 0), var(--color-main-background))}.sharingTabDetailsView__footer .button-group[data-v-16ed4bff]{display:flex;justify-content:space-between;width:100%;margin-top:16px}.sharingTabDetailsView__footer .button-group button[data-v-16ed4bff]{margin-inline-start:16px}.sharingTabDetailsView__footer .button-group button[data-v-16ed4bff]:first-child{margin-inline-start:0}","",{version:3,sources:["webpack://./apps/files_sharing/src/views/SharingDetailsTab.vue"],names:[],mappings:"AACA,wCACC,YAAA,CACA,qBAAA,CACA,UAAA,CACA,aAAA,CACA,iBAAA,CACA,WAAA,CACA,eAAA,CAEA,gDACC,YAAA,CACA,kBAAA,CACA,qBAAA,CACA,WAAA,CAEA,qDACC,YAAA,CACA,kBAAA,CAEA,wDACC,cAAA,CACA,yBAAA,CAMH,iDACC,iBAAA,CACA,eAAA,CACA,aAAA,CACA,WAAA,CACA,uBAAA,CAGD,2DACC,YAAA,CACA,sBAAA,CACA,UAAA,CACA,aAAA,CACA,eAAA,CAEA,+DACC,UAAA,CAEA,oEACC,UAAA,CAEA,sFACC,kBAAA,CACA,sBAAA,CACA,YAAA,CAGD,+EACC,YAAA,CACA,qBAAA,CAID,4HACC,cAAA,CAEA,qIACC,aAAA,CACA,eAAA,CAQL,0DACC,UAAA,CAEA,iEACC,eAAA,CAKF,kDACC,UAAA,CACA,kBAAA,CACA,gBAAA,CACA,sBAAA,CAIC,+IAEC,UAAA,CAGD,mEACC,WAAA,CACA,QAAA,CAYD,qEACC,iCAAA,CACA,mCAAA,CACA,sBAAA,CAGD,2FACC,0BAAA,CAKH,+CACC,qBAAA,CAIA,mEACC,aAAA,CAIF,gDACC,UAAA,CACA,YAAA,CACA,eAAA,CACA,QAAA,CACA,qBAAA,CACA,6BAAA,CACA,sBAAA,CACA,2FAAA,CAEA,8DACC,YAAA,CACA,6BAAA,CACA,UAAA,CACA,eAAA,CAEA,qEACC,wBAAA,CAEA,iFACC,qBAAA",sourcesContent:["\n.sharingTabDetailsView {\n\tdisplay: flex;\n\tflex-direction: column;\n\twidth: 100%;\n\tmargin: 0 auto;\n\tposition: relative;\n\theight: 100%;\n\toverflow: hidden;\n\n\t&__header {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tbox-sizing: border-box;\n\t\tmargin: 0.2em;\n\n\t\tspan {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\n\t\t\th1 {\n\t\t\t\tfont-size: 15px;\n\t\t\t\tpadding-inline-start: 0.3em;\n\t\t\t}\n\n\t\t}\n\t}\n\n\t&__wrapper {\n\t\tposition: relative;\n\t\toverflow: scroll;\n\t\tflex-shrink: 1;\n\t\tpadding: 4px;\n\t\tpadding-inline-end: 12px;\n\t}\n\n\t&__quick-permissions {\n\t\tdisplay: flex;\n\t\tjustify-content: center;\n\t\twidth: 100%;\n\t\tmargin: 0 auto;\n\t\tborder-radius: 0;\n\n\t\tdiv {\n\t\t\twidth: 100%;\n\n\t\t\tspan {\n\t\t\t\twidth: 100%;\n\n\t\t\t\tspan:nth-child(1) {\n\t\t\t\t\talign-items: center;\n\t\t\t\t\tjustify-content: center;\n\t\t\t\t\tpadding: 0.1em;\n\t\t\t\t}\n\n\t\t\t\t:deep(label span) {\n\t\t\t\t\tdisplay: flex;\n\t\t\t\t\tflex-direction: column;\n\t\t\t\t}\n\n\t\t\t\t/* Target component based style in NcCheckboxRadioSwitch slot content*/\n\t\t\t\t:deep(span.checkbox-content__text.checkbox-radio-switch__text) {\n\t\t\t\t\tflex-wrap: wrap;\n\n\t\t\t\t\t.subline {\n\t\t\t\t\t\tdisplay: block;\n\t\t\t\t\t\tflex-basis: 100%;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\t}\n\n\t&__advanced-control {\n\t\twidth: 100%;\n\n\t\tbutton {\n\t\t\tmargin-top: 0.5em;\n\t\t}\n\n\t}\n\n\t&__advanced {\n\t\twidth: 100%;\n\t\tmargin-bottom: 0.5em;\n\t\ttext-align: start;\n\t\tpadding-inline-start: 0;\n\n\t\tsection {\n\n\t\t\ttextarea,\n\t\t\tdiv.mx-datepicker {\n\t\t\t\twidth: 100%;\n\t\t\t}\n\n\t\t\ttextarea {\n\t\t\t\theight: 80px;\n\t\t\t\tmargin: 0;\n\t\t\t}\n\n\t\t\t/*\n\t\t\t The following style is applied out of the component's scope\n\t\t\t to remove padding from the label.checkbox-radio-switch__label,\n\t\t\t which is used to group radio checkbox items. The use of ::v-deep\n\t\t\t ensures that the padding is modified without being affected by\n\t\t\t the component's scoping.\n\t\t\t Without this achieving left alignment for the checkboxes would not\n\t\t\t be possible.\n\t\t\t*/\n\t\t\tspan :deep(label) {\n\t\t\t\tpadding-inline-start: 0 !important;\n\t\t\t\tbackground-color: initial !important;\n\t\t\t\tborder: none !important;\n\t\t\t}\n\n\t\t\tsection.custom-permissions-group {\n\t\t\t\tpadding-inline-start: 1.5em;\n\t\t\t}\n\t\t}\n\t}\n\n\t&__label {\n\t\tpadding-block-end: 6px;\n\t}\n\n\t&__delete {\n\t\t> button:first-child {\n\t\t\tcolor: rgb(223, 7, 7);\n\t\t}\n\t}\n\n\t&__footer {\n\t\twidth: 100%;\n\t\tdisplay: flex;\n\t\tposition: sticky;\n\t\tbottom: 0;\n\t\tflex-direction: column;\n\t\tjustify-content: space-between;\n\t\talign-items: flex-start;\n\t\tbackground: linear-gradient(to bottom, rgba(255, 255, 255, 0), var(--color-main-background));\n\n\t\t.button-group {\n\t\t\tdisplay: flex;\n\t\t\tjustify-content: space-between;\n\t\t\twidth: 100%;\n\t\t\tmargin-top: 16px;\n\n\t\t\tbutton {\n\t\t\t\tmargin-inline-start: 16px;\n\n\t\t\t\t&:first-child {\n\t\t\t\t\tmargin-inline-start: 0;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const o=r},27920(e,t,i){i.d(t,{A:()=>o});var s=i(71354),a=i.n(s),n=i(76314),r=i.n(n)()(a());r.push([e.id,".sharing-entry__inherited .avatar-shared[data-v-cedf3238]{width:32px;height:32px;line-height:32px;font-size:18px;background-color:var(--color-text-maxcontrast);border-radius:50%;flex-shrink:0}","",{version:3,sources:["webpack://./apps/files_sharing/src/views/SharingInherited.vue"],names:[],mappings:"AAEC,0DACC,UAAA,CACA,WAAA,CACA,gBAAA,CACA,cAAA,CACA,8CAAA,CACA,iBAAA,CACA,aAAA",sourcesContent:["\n.sharing-entry__inherited {\n\t.avatar-shared {\n\t\twidth: 32px;\n\t\theight: 32px;\n\t\tline-height: 32px;\n\t\tfont-size: 18px;\n\t\tbackground-color: var(--color-text-maxcontrast);\n\t\tborder-radius: 50%;\n\t\tflex-shrink: 0;\n\t}\n}\n"],sourceRoot:""}]);const o=r},14536(e,t,i){i.d(t,{A:()=>o});var s=i(71354),a=i.n(s),n=i(76314),r=i.n(n)()(a());r.push([e.id,".emptyContentWithSections[data-v-cd6ad9ee]{margin:1rem auto}.sharingTab[data-v-cd6ad9ee]{position:relative;height:100%}.sharingTab__content[data-v-cd6ad9ee]{padding:0 6px}.sharingTab__content section[data-v-cd6ad9ee]{padding-bottom:16px}.sharingTab__content section .section-header[data-v-cd6ad9ee]{margin-top:2px;margin-bottom:2px;display:flex;align-items:center;padding-bottom:4px}.sharingTab__content section .section-header h4[data-v-cd6ad9ee]{margin:0;font-size:16px}.sharingTab__content section .section-header .visually-hidden[data-v-cd6ad9ee]{display:none}.sharingTab__content section .section-header .hint-icon[data-v-cd6ad9ee]{color:var(--color-primary-element)}.sharingTab__content>section[data-v-cd6ad9ee]:not(:last-child){border-bottom:2px solid var(--color-border)}.sharingTab__additionalContent[data-v-cd6ad9ee]{margin:var(--default-clickable-area) 0}.hint-body[data-v-cd6ad9ee]{max-width:300px;padding:var(--border-radius-element)}","",{version:3,sources:["webpack://./apps/files_sharing/src/views/SharingTab.vue"],names:[],mappings:"AACA,2CACC,gBAAA,CAGD,6BACC,iBAAA,CACA,WAAA,CAEA,sCACC,aAAA,CAEA,8CACC,mBAAA,CAEA,8DACC,cAAA,CACA,iBAAA,CACA,YAAA,CACA,kBAAA,CACA,kBAAA,CAEA,iEACC,QAAA,CACA,cAAA,CAGD,+EACC,YAAA,CAGD,yEACC,kCAAA,CAOH,+DACC,2CAAA,CAKF,gDACC,sCAAA,CAIF,4BACC,eAAA,CACA,oCAAA",sourcesContent:["\n.emptyContentWithSections {\n\tmargin: 1rem auto;\n}\n\n.sharingTab {\n\tposition: relative;\n\theight: 100%;\n\n\t&__content {\n\t\tpadding: 0 6px;\n\n\t\tsection {\n\t\t\tpadding-bottom: 16px;\n\n\t\t\t.section-header {\n\t\t\t\tmargin-top: 2px;\n\t\t\t\tmargin-bottom: 2px;\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\t\t\t\tpadding-bottom: 4px;\n\n\t\t\t\th4 {\n\t\t\t\t\tmargin: 0;\n\t\t\t\t\tfont-size: 16px;\n\t\t\t\t}\n\n\t\t\t\t.visually-hidden {\n\t\t\t\t\tdisplay: none;\n\t\t\t\t}\n\n\t\t\t\t.hint-icon {\n\t\t\t\t\tcolor: var(--color-primary-element);\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\n\n\t\t& > section:not(:last-child) {\n\t\t\tborder-bottom: 2px solid var(--color-border);\n\t\t}\n\n\t}\n\n\t&__additionalContent {\n\t\tmargin: var(--default-clickable-area) 0;\n\t}\n}\n\n.hint-body {\n\tmax-width: 300px;\n\tpadding: var(--border-radius-element);\n}\n"],sourceRoot:""}]);const o=r},70544(e,t,i){i.d(t,{A:()=>o});var s=i(71354),a=i.n(s),n=i(76314),r=i.n(n)()(a());r.push([e.id,"\n.sharing-tab-external-section-legacy[data-v-3e4e67d2] {\n\twidth: 100%;\n}\n","",{version:3,sources:["webpack://./apps/files_sharing/src/components/SidebarTabExternal/SidebarTabExternalSectionLegacy.vue"],names:[],mappings:";AAkCA;CACA,WAAA;AACA",sourcesContent:['\x3c!--\n - SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n--\x3e\n\n\n\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (_setup.fileInfo)?_c(_setup.SharingTab,{attrs:{\"file-info\":_setup.fileInfo}}):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./ContentCopy.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./ContentCopy.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ContentCopy.vue?vue&type=template&id=0e8bd3c4\"\nimport script from \"./ContentCopy.vue?vue&type=script&lang=js\"\nexport * from \"./ContentCopy.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 content-copy-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\":\"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('li',{staticClass:\"sharing-entry\"},[_vm._t(\"avatar\"),_vm._v(\" \"),_c('div',{staticClass:\"sharing-entry__desc\"},[_c('span',{staticClass:\"sharing-entry__title\"},[_vm._v(_vm._s(_vm.title))]),_vm._v(\" \"),(_vm.subtitle)?_c('p',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.subtitle)+\"\\n\\t\\t\")]):_vm._e()]),_vm._v(\" \"),(_vm.$slots['default'])?_c('NcActions',{ref:\"actionsComponent\",staticClass:\"sharing-entry__actions\",attrs:{\"menu-align\":\"right\",\"aria-expanded\":_vm.ariaExpandedValue}},[_vm._t(\"default\")],2):_vm._e()],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntrySimple.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!./SharingEntrySimple.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!./SharingEntrySimple.vue?vue&type=style&index=0&id=13d4a0bb&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!./SharingEntrySimple.vue?vue&type=style&index=0&id=13d4a0bb&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SharingEntrySimple.vue?vue&type=template&id=13d4a0bb&scoped=true\"\nimport script from \"./SharingEntrySimple.vue?vue&type=script&lang=js\"\nexport * from \"./SharingEntrySimple.vue?vue&type=script&lang=js\"\nimport style0 from \"./SharingEntrySimple.vue?vue&type=style&index=0&id=13d4a0bb&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 \"13d4a0bb\",\n null\n \n)\n\nexport default component.exports","/**\n * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { getCapabilities } from '@nextcloud/capabilities';\nimport { generateUrl, getBaseUrl } from '@nextcloud/router';\n/**\n * @param fileid - The file ID to generate the direct file link for\n */\nexport function generateFileUrl(fileid) {\n const baseURL = getBaseUrl();\n const { globalscale } = getCapabilities();\n if (globalscale?.token) {\n return generateUrl('/gf/{token}/{fileid}', {\n token: globalscale.token,\n fileid,\n }, { baseURL });\n }\n return generateUrl('/f/{fileid}', {\n fileid,\n }, {\n baseURL,\n });\n}\n","\n\n\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryInternal.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!./SharingEntryInternal.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!./SharingEntryInternal.vue?vue&type=style&index=0&id=6c4cb23b&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!./SharingEntryInternal.vue?vue&type=style&index=0&id=6c4cb23b&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SharingEntryInternal.vue?vue&type=template&id=6c4cb23b&scoped=true\"\nimport script from \"./SharingEntryInternal.vue?vue&type=script&lang=js\"\nexport * from \"./SharingEntryInternal.vue?vue&type=script&lang=js\"\nimport style0 from \"./SharingEntryInternal.vue?vue&type=style&index=0&id=6c4cb23b&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 \"6c4cb23b\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('ul',[_c('SharingEntrySimple',{ref:\"shareEntrySimple\",staticClass:\"sharing-entry__internal\",attrs:{\"title\":_vm.t('files_sharing', 'Internal link'),\"subtitle\":_vm.internalLinkSubtitle},scopedSlots:_vm._u([{key:\"avatar\",fn:function(){return [_c('div',{staticClass:\"avatar-external icon-external-white\"})]},proxy:true}])},[_vm._v(\" \"),_c('NcActionButton',{attrs:{\"title\":_vm.copyLinkTooltip,\"aria-label\":_vm.copyLinkTooltip},on:{\"click\":_vm.copyLink},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [(_vm.copied && _vm.copySuccess)?_c('CheckIcon',{staticClass:\"icon-checkmark-color\",attrs:{\"size\":20}}):_c('ClipboardIcon',{attrs:{\"size\":20}})]},proxy:true}])})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"sharing-search\"},[_c('label',{staticClass:\"hidden-visually\",attrs:{\"for\":_vm.shareInputId}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.isExternal\n\t\t\t? _vm.t('files_sharing', 'Enter external recipients')\n\t\t\t: _vm.t('files_sharing', 'Search for internal recipients'))+\"\\n\\t\")]),_vm._v(\" \"),_c('NcSelect',{ref:\"select\",staticClass:\"sharing-search__input\",attrs:{\"input-id\":_vm.shareInputId,\"disabled\":!_vm.canReshare,\"loading\":_vm.loading,\"filterable\":false,\"placeholder\":_vm.inputPlaceholder,\"clear-search-on-blur\":() => false,\"user-select\":true,\"options\":_vm.options,\"label-outside\":true},on:{\"search\":_vm.asyncFind,\"option:selected\":_vm.onSelected},scopedSlots:_vm._u([{key:\"no-options\",fn:function({ search }){return [_vm._v(\"\\n\\t\\t\\t\"+_vm._s(search ? _vm.noResultText : _vm.placeholder)+\"\\n\\t\\t\")]}}]),model:{value:(_vm.value),callback:function ($$v) {_vm.value=$$v},expression:\"value\"}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nexport const ATOMIC_PERMISSIONS = {\n\tNONE: 0,\n\tREAD: 1,\n\tUPDATE: 2,\n\tCREATE: 4,\n\tDELETE: 8,\n\tSHARE: 16,\n}\n\nconst BUNDLED_PERMISSIONS = {\n\tREAD_ONLY: ATOMIC_PERMISSIONS.READ,\n\tUPLOAD_AND_UPDATE: ATOMIC_PERMISSIONS.READ | ATOMIC_PERMISSIONS.UPDATE | ATOMIC_PERMISSIONS.CREATE | ATOMIC_PERMISSIONS.DELETE,\n\tFILE_DROP: ATOMIC_PERMISSIONS.CREATE,\n\tALL: ATOMIC_PERMISSIONS.UPDATE | ATOMIC_PERMISSIONS.CREATE | ATOMIC_PERMISSIONS.READ | ATOMIC_PERMISSIONS.DELETE | ATOMIC_PERMISSIONS.SHARE,\n\tALL_FILE: ATOMIC_PERMISSIONS.UPDATE | ATOMIC_PERMISSIONS.READ | ATOMIC_PERMISSIONS.SHARE,\n}\n\n/**\n * Get bundled permissions based on config.\n *\n * @param {boolean} excludeShare - Whether to exclude SHARE permission from ALL and ALL_FILE bundles.\n * @return {object}\n */\nexport function getBundledPermissions(excludeShare = false) {\n\tif (excludeShare) {\n\t\treturn {\n\t\t\t...BUNDLED_PERMISSIONS,\n\t\t\tALL: BUNDLED_PERMISSIONS.ALL & ~ATOMIC_PERMISSIONS.SHARE,\n\t\t\tALL_FILE: BUNDLED_PERMISSIONS.ALL_FILE & ~ATOMIC_PERMISSIONS.SHARE,\n\t\t}\n\t}\n\treturn BUNDLED_PERMISSIONS\n}\n\n/**\n * Return whether a given permissions set contains some permissions.\n *\n * @param {number} initialPermissionSet - the permissions set.\n * @param {number} permissionsToCheck - the permissions to check.\n * @return {boolean}\n */\nexport function hasPermissions(initialPermissionSet, permissionsToCheck) {\n\treturn initialPermissionSet !== ATOMIC_PERMISSIONS.NONE && (initialPermissionSet & permissionsToCheck) === permissionsToCheck\n}\n\n/**\n * Return whether a given permissions set is valid.\n *\n * @param {number} permissionsSet - the permissions set.\n *\n * @return {boolean}\n */\nexport function permissionsSetIsValid(permissionsSet) {\n\t// Must have at least READ or CREATE permission.\n\tif (!hasPermissions(permissionsSet, ATOMIC_PERMISSIONS.READ) && !hasPermissions(permissionsSet, ATOMIC_PERMISSIONS.CREATE)) {\n\t\treturn false\n\t}\n\n\t// Must have READ permission if have UPDATE or DELETE.\n\tif (!hasPermissions(permissionsSet, ATOMIC_PERMISSIONS.READ) && (\n\t\thasPermissions(permissionsSet, ATOMIC_PERMISSIONS.UPDATE) || hasPermissions(permissionsSet, ATOMIC_PERMISSIONS.DELETE)\n\t)) {\n\t\treturn false\n\t}\n\n\treturn true\n}\n\n/**\n * Add some permissions to an initial set of permissions.\n *\n * @param {number} initialPermissionSet - the initial permissions.\n * @param {number} permissionsToAdd - the permissions to add.\n *\n * @return {number}\n */\nexport function addPermissions(initialPermissionSet, permissionsToAdd) {\n\treturn initialPermissionSet | permissionsToAdd\n}\n\n/**\n * Remove some permissions from an initial set of permissions.\n *\n * @param {number} initialPermissionSet - the initial permissions.\n * @param {number} permissionsToSubtract - the permissions to remove.\n *\n * @return {number}\n */\nexport function subtractPermissions(initialPermissionSet, permissionsToSubtract) {\n\treturn initialPermissionSet & ~permissionsToSubtract\n}\n\n/**\n * Toggle some permissions from an initial set of permissions.\n *\n * @param {number} initialPermissionSet - the permissions set.\n * @param {number} permissionsToToggle - the permissions to toggle.\n *\n * @return {number}\n */\nexport function togglePermissions(initialPermissionSet, permissionsToToggle) {\n\tif (hasPermissions(initialPermissionSet, permissionsToToggle)) {\n\t\treturn subtractPermissions(initialPermissionSet, permissionsToToggle)\n\t} else {\n\t\treturn addPermissions(initialPermissionSet, permissionsToToggle)\n\t}\n}\n\n/**\n * Return whether some given permissions can be toggled from a permission set.\n *\n * @param {number} permissionSet - the initial permissions set.\n * @param {number} permissionsToToggle - the permissions to toggle.\n *\n * @return {boolean}\n */\nexport function canTogglePermissions(permissionSet, permissionsToToggle) {\n\treturn permissionsSetIsValid(togglePermissions(permissionSet, permissionsToToggle))\n}\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport logger from '../services/logger.ts';\nimport { isFileRequest } from '../services/SharingService.ts';\nexport default class Share {\n _share;\n /**\n * Create the share object\n *\n * @param ocsData ocs request response\n */\n constructor(ocsData) {\n if (ocsData.ocs && ocsData.ocs.data && ocsData.ocs.data[0]) {\n ocsData = ocsData.ocs.data[0];\n }\n // string to int\n if (typeof ocsData.id === 'string') {\n ocsData.id = Number.parseInt(ocsData.id);\n }\n // convert int into boolean\n ocsData.hide_download = !!ocsData.hide_download;\n ocsData.mail_send = !!ocsData.mail_send;\n if (ocsData.attributes && typeof ocsData.attributes === 'string') {\n try {\n ocsData.attributes = JSON.parse(ocsData.attributes);\n }\n catch {\n logger.warn('Could not parse share attributes returned by server', ocsData.attributes);\n }\n }\n ocsData.attributes = ocsData.attributes ?? [];\n // store state\n this._share = ocsData;\n }\n /**\n * Get the share state\n * ! used for reactivity purpose\n * Do not remove. It allow vuejs to\n * inject its watchers into the #share\n * state and make the whole class reactive\n *\n * @return the share raw state\n */\n get state() {\n return this._share;\n }\n /**\n * get the share id\n */\n get id() {\n return this._share.id;\n }\n /**\n * Get the share type\n */\n get type() {\n return this._share.share_type;\n }\n /**\n * Get the share permissions\n * See window.OC.PERMISSION_* variables\n */\n get permissions() {\n return this._share.permissions;\n }\n /**\n * Get the share attributes\n */\n get attributes() {\n return this._share.attributes || [];\n }\n /**\n * Set the share permissions\n * See window.OC.PERMISSION_* variables\n */\n set permissions(permissions) {\n this._share.permissions = permissions;\n }\n // SHARE OWNER --------------------------------------------------\n /**\n * Get the share owner uid\n */\n get owner() {\n return this._share.uid_owner;\n }\n /**\n * Get the share owner's display name\n */\n get ownerDisplayName() {\n return this._share.displayname_owner;\n }\n // SHARED WITH --------------------------------------------------\n /**\n * Get the share with entity uid\n */\n get shareWith() {\n return this._share.share_with;\n }\n /**\n * Get the share with entity display name\n * fallback to its uid if none\n */\n get shareWithDisplayName() {\n return this._share.share_with_displayname\n || this._share.share_with;\n }\n /**\n * Unique display name in case of multiple\n * duplicates results with the same name.\n */\n get shareWithDisplayNameUnique() {\n return this._share.share_with_displayname_unique\n || this._share.share_with;\n }\n /**\n * Get the share with entity link\n */\n get shareWithLink() {\n return this._share.share_with_link;\n }\n /**\n * Get the share with avatar if any\n */\n get shareWithAvatar() {\n return this._share.share_with_avatar;\n }\n // SHARED FILE OR FOLDER OWNER ----------------------------------\n /**\n * Get the shared item owner uid\n */\n get uidFileOwner() {\n return this._share.uid_file_owner;\n }\n /**\n * Get the shared item display name\n * fallback to its uid if none\n */\n get displaynameFileOwner() {\n return this._share.displayname_file_owner\n || this._share.uid_file_owner;\n }\n // TIME DATA ----------------------------------------------------\n /**\n * Get the share creation timestamp\n */\n get createdTime() {\n return this._share.stime;\n }\n /**\n * Get the expiration date\n *\n * @return date with YYYY-MM-DD format\n */\n get expireDate() {\n return this._share.expiration;\n }\n /**\n * Set the expiration date\n *\n * @param date the share expiration date with YYYY-MM-DD format\n */\n set expireDate(date) {\n this._share.expiration = date;\n }\n // EXTRA DATA ---------------------------------------------------\n /**\n * Get the public share token\n */\n get token() {\n return this._share.token;\n }\n /**\n * Set the public share token\n */\n set token(token) {\n this._share.token = token;\n }\n /**\n * Get the share note if any\n */\n get note() {\n return this._share.note;\n }\n /**\n * Set the share note if any\n */\n set note(note) {\n this._share.note = note;\n }\n /**\n * Get the share label if any\n * Should only exist on link shares\n */\n get label() {\n return this._share.label ?? '';\n }\n /**\n * Set the share label if any\n * Should only be set on link shares\n */\n set label(label) {\n this._share.label = label;\n }\n /**\n * Have a mail been sent\n */\n get mailSend() {\n return this._share.mail_send === true;\n }\n /**\n * Hide the download button on public page\n */\n get hideDownload() {\n return this._share.hide_download === true\n || this.attributes.find?.(({ scope, key, value }) => scope === 'permissions' && key === 'download' && !value) !== undefined;\n }\n /**\n * Hide the download button on public page\n */\n set hideDownload(state) {\n // disabling hide-download also enables the download permission\n // needed for regression in Nextcloud 31.0.0 until (incl.) 31.0.3\n if (!state) {\n const attribute = this.attributes.find(({ key, scope }) => key === 'download' && scope === 'permissions');\n if (attribute) {\n attribute.value = true;\n }\n }\n this._share.hide_download = state === true;\n }\n /**\n * Password protection of the share\n */\n get password() {\n return this._share.password;\n }\n /**\n * Password protection of the share\n */\n set password(password) {\n this._share.password = password;\n }\n /**\n * Password expiration time\n *\n * @return date with YYYY-MM-DD format\n */\n get passwordExpirationTime() {\n return this._share.password_expiration_time;\n }\n /**\n * Password expiration time\n *\n * @param passwordExpirationTime date with YYYY-MM-DD format\n */\n set passwordExpirationTime(passwordExpirationTime) {\n this._share.password_expiration_time = passwordExpirationTime;\n }\n /**\n * Password protection by Talk of the share\n */\n get sendPasswordByTalk() {\n return this._share.send_password_by_talk;\n }\n /**\n * Password protection by Talk of the share\n *\n * @param sendPasswordByTalk whether to send the password by Talk or not\n */\n set sendPasswordByTalk(sendPasswordByTalk) {\n this._share.send_password_by_talk = sendPasswordByTalk;\n }\n // SHARED ITEM DATA ---------------------------------------------\n /**\n * Get the shared item absolute full path\n */\n get path() {\n return this._share.path;\n }\n /**\n * Return the item type: file or folder\n *\n * @return 'folder' | 'file'\n */\n get itemType() {\n return this._share.item_type;\n }\n /**\n * Get the shared item mimetype\n */\n get mimetype() {\n return this._share.mimetype;\n }\n /**\n * Get the shared item id\n */\n get fileSource() {\n return this._share.file_source;\n }\n /**\n * Get the target path on the receiving end\n * e.g the file /xxx/aaa will be shared in\n * the receiving root as /aaa, the fileTarget is /aaa\n */\n get fileTarget() {\n return this._share.file_target;\n }\n /**\n * Get the parent folder id if any\n */\n get fileParent() {\n return this._share.file_parent;\n }\n // PERMISSIONS Shortcuts\n /**\n * Does this share have READ permissions\n */\n get hasReadPermission() {\n return !!((this.permissions & window.OC.PERMISSION_READ));\n }\n /**\n * Does this share have CREATE permissions\n */\n get hasCreatePermission() {\n return !!((this.permissions & window.OC.PERMISSION_CREATE));\n }\n /**\n * Does this share have DELETE permissions\n */\n get hasDeletePermission() {\n return !!((this.permissions & window.OC.PERMISSION_DELETE));\n }\n /**\n * Does this share have UPDATE permissions\n */\n get hasUpdatePermission() {\n return !!((this.permissions & window.OC.PERMISSION_UPDATE));\n }\n /**\n * Does this share have SHARE permissions\n */\n get hasSharePermission() {\n return !!((this.permissions & window.OC.PERMISSION_SHARE));\n }\n /**\n * Does this share have download permissions\n */\n get hasDownloadPermission() {\n const hasDisabledDownload = (attribute) => {\n return attribute.scope === 'permissions' && attribute.key === 'download' && attribute.value === false;\n };\n return this.attributes.some(hasDisabledDownload);\n }\n /**\n * Is this mail share a file request ?\n */\n get isFileRequest() {\n return isFileRequest(JSON.stringify(this.attributes));\n }\n set hasDownloadPermission(enabled) {\n this.setAttribute('permissions', 'download', !!enabled);\n }\n setAttribute(scope, key, value) {\n const attrUpdate = {\n scope,\n key,\n value,\n };\n // try and replace existing\n for (const i in this._share.attributes) {\n const attr = this._share.attributes[i];\n if (attr.scope === attrUpdate.scope && attr.key === attrUpdate.key) {\n this._share.attributes.splice(i, 1, attrUpdate);\n return;\n }\n }\n this._share.attributes.push(attrUpdate);\n }\n // PERMISSIONS Shortcuts for the CURRENT USER\n // ! the permissions above are the share settings,\n // ! meaning the permissions for the recipient\n /**\n * Can the current user EDIT this share ?\n */\n get canEdit() {\n return this._share.can_edit === true;\n }\n /**\n * Can the current user DELETE this share ?\n */\n get canDelete() {\n return this._share.can_delete === true;\n }\n /**\n * Top level accessible shared folder fileid for the current user\n */\n get viaFileid() {\n return this._share.via_fileid;\n }\n /**\n * Top level accessible shared folder path for the current user\n */\n get viaPath() {\n return this._share.via_path;\n }\n // TODO: SORT THOSE PROPERTIES\n get parent() {\n return this._share.parent;\n }\n get storageId() {\n return this._share.storage_id;\n }\n get storage() {\n return this._share.storage;\n }\n get itemSource() {\n return this._share.item_source;\n }\n get status() {\n return this._share.status;\n }\n /**\n * Is the share from a trusted server\n */\n get isTrustedServer() {\n return !!this._share.is_trusted_server;\n }\n}\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n// TODO: Fix this instead of disabling ESLint!!!\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { getCurrentUser } from '@nextcloud/auth';\nimport axios from '@nextcloud/axios';\nimport { File, Folder, Permission } from '@nextcloud/files';\nimport { getRemoteURL, getRootPath } from '@nextcloud/files/dav';\nimport { generateOcsUrl } from '@nextcloud/router';\nimport logger from './logger.ts';\nconst headers = {\n 'Content-Type': 'application/json',\n};\n/**\n *\n * @param ocsEntry\n */\nasync function ocsEntryToNode(ocsEntry) {\n try {\n // Federated share handling\n if (ocsEntry?.remote_id !== undefined) {\n if (!ocsEntry.mimetype) {\n const mime = (await import('mime')).default;\n // This won't catch files without an extension, but this is the best we can do\n ocsEntry.mimetype = mime.getType(ocsEntry.name);\n }\n const type = ocsEntry.type === 'dir' ? 'folder' : ocsEntry.type;\n ocsEntry.item_type = type || (ocsEntry.mimetype ? 'file' : 'folder');\n // different naming for remote shares\n ocsEntry.item_mtime = ocsEntry.mtime;\n ocsEntry.file_target = ocsEntry.file_target || ocsEntry.mountpoint;\n if (ocsEntry.file_target.includes('TemporaryMountPointName')) {\n ocsEntry.file_target = ocsEntry.name;\n }\n // If the share is not accepted yet we don't know which permissions it will have\n if (!ocsEntry.accepted) {\n // Need to set permissions to NONE for federated shares\n ocsEntry.item_permissions = Permission.NONE;\n ocsEntry.permissions = Permission.NONE;\n }\n ocsEntry.uid_owner = ocsEntry.owner;\n // TODO: have the real display name stored somewhere\n ocsEntry.displayname_owner = ocsEntry.owner;\n }\n const isFolder = ocsEntry?.item_type === 'folder';\n const hasPreview = ocsEntry?.has_preview === true;\n const Node = isFolder ? Folder : File;\n // If this is an external share that is not yet accepted,\n // we don't have an id. We can fallback to the row id temporarily\n // local shares (this server) use `file_source`, but remote shares (federated) use `file_id`\n const fileid = ocsEntry.file_source || ocsEntry.file_id || ocsEntry.id;\n // Generate path and strip double slashes\n const path = ocsEntry.path || ocsEntry.file_target || ocsEntry.name;\n const source = `${getRemoteURL()}${getRootPath()}/${path.replace(/^\\/+/, '')}`;\n let mtime = ocsEntry.item_mtime ? new Date((ocsEntry.item_mtime) * 1000) : undefined;\n // Prefer share time if more recent than item mtime\n if (ocsEntry?.stime > (ocsEntry?.item_mtime || 0)) {\n mtime = new Date((ocsEntry.stime) * 1000);\n }\n let sharees;\n if ('share_with' in ocsEntry) {\n sharees = {\n sharee: {\n id: ocsEntry.share_with,\n 'display-name': ocsEntry.share_with_displayname || ocsEntry.share_with,\n type: ocsEntry.share_type,\n },\n };\n }\n return new Node({\n id: fileid,\n source,\n owner: ocsEntry?.uid_owner,\n mime: ocsEntry?.mimetype || 'application/octet-stream',\n mtime,\n size: ocsEntry?.item_size ?? undefined,\n permissions: ocsEntry?.item_permissions || ocsEntry?.permissions,\n root: getRootPath(),\n attributes: {\n ...ocsEntry,\n 'has-preview': hasPreview,\n 'hide-download': ocsEntry?.hide_download === 1,\n // Also check the sharingStatusAction.ts code\n 'owner-id': ocsEntry?.uid_owner,\n 'owner-display-name': ocsEntry?.displayname_owner,\n 'share-types': ocsEntry?.share_type,\n 'share-attributes': ocsEntry?.attributes || '[]',\n sharees,\n favorite: ocsEntry?.tags?.includes(window.OC.TAG_FAVORITE) ? 1 : 0,\n },\n });\n }\n catch (error) {\n logger.error('Error while parsing OCS entry', { error });\n return null;\n }\n}\n/**\n *\n * @param shareWithMe\n */\nfunction getShares(shareWithMe = false) {\n const url = generateOcsUrl('apps/files_sharing/api/v1/shares');\n return axios.get(url, {\n headers,\n params: {\n shared_with_me: shareWithMe,\n include_tags: true,\n },\n });\n}\n/**\n *\n */\nfunction getSharedWithYou() {\n return getShares(true);\n}\n/**\n *\n */\nfunction getSharedWithOthers() {\n return getShares();\n}\n/**\n *\n */\nfunction getRemoteShares() {\n const url = generateOcsUrl('apps/files_sharing/api/v1/remote_shares');\n return axios.get(url, {\n headers,\n params: {\n include_tags: true,\n },\n });\n}\n/**\n *\n */\nfunction getPendingShares() {\n const url = generateOcsUrl('apps/files_sharing/api/v1/shares/pending');\n return axios.get(url, {\n headers,\n params: {\n include_tags: true,\n },\n });\n}\n/**\n *\n */\nfunction getRemotePendingShares() {\n const url = generateOcsUrl('apps/files_sharing/api/v1/remote_shares/pending');\n return axios.get(url, {\n headers,\n params: {\n include_tags: true,\n },\n });\n}\n/**\n *\n */\nfunction getDeletedShares() {\n const url = generateOcsUrl('apps/files_sharing/api/v1/deletedshares');\n return axios.get(url, {\n headers,\n params: {\n include_tags: true,\n },\n });\n}\n/**\n * Check if a file request is enabled\n *\n * @param attributes the share attributes json-encoded array\n */\nexport function isFileRequest(attributes = '[]') {\n const isFileRequest = (attribute) => {\n return attribute.scope === 'fileRequest' && attribute.key === 'enabled' && attribute.value === true;\n };\n try {\n const attributesArray = JSON.parse(attributes);\n return attributesArray.some(isFileRequest);\n }\n catch (error) {\n logger.error('Error while parsing share attributes', { error });\n return false;\n }\n}\n/**\n * Group an array of objects (here Nodes) by a key\n * and return an array of arrays of them.\n *\n * @param nodes Nodes to group\n * @param key The attribute to group by\n */\nfunction groupBy(nodes, key) {\n return Object.values(nodes.reduce(function (acc, curr) {\n (acc[curr[key]] = acc[curr[key]] || []).push(curr);\n return acc;\n }, {}));\n}\n/**\n *\n * @param sharedWithYou\n * @param sharedWithOthers\n * @param pendingShares\n * @param deletedshares\n * @param filterTypes\n */\nexport async function getContents(sharedWithYou = true, sharedWithOthers = true, pendingShares = false, deletedshares = false, filterTypes = []) {\n const promises = [];\n if (sharedWithYou) {\n promises.push(getSharedWithYou(), getRemoteShares());\n }\n if (sharedWithOthers) {\n promises.push(getSharedWithOthers());\n }\n if (pendingShares) {\n promises.push(getPendingShares(), getRemotePendingShares());\n }\n if (deletedshares) {\n promises.push(getDeletedShares());\n }\n const responses = await Promise.all(promises);\n const data = responses.map((response) => response.data.ocs.data).flat();\n let contents = (await Promise.all(data.map(ocsEntryToNode)))\n .filter((node) => node !== null);\n if (filterTypes.length > 0) {\n contents = contents.filter((node) => filterTypes.includes(node.attributes?.share_type));\n }\n // Merge duplicate shares and group their attributes\n // Also check the sharingStatusAction.ts code\n contents = groupBy(contents, 'source').map((nodes) => {\n const node = nodes[0];\n node.attributes['share-types'] = nodes.map((node) => node.attributes['share-types']);\n return node;\n });\n return {\n folder: new Folder({\n id: 0,\n source: `${getRemoteURL()}${getRootPath()}`,\n owner: getCurrentUser()?.uid || null,\n root: getRootPath(),\n }),\n contents,\n };\n}\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { getCapabilities } from '@nextcloud/capabilities';\nimport { loadState } from '@nextcloud/initial-state';\nexport default class Config {\n _capabilities;\n constructor() {\n this._capabilities = getCapabilities();\n }\n /**\n * Get default share permissions, if any\n */\n get defaultPermissions() {\n return this._capabilities.files_sharing?.default_permissions;\n }\n /**\n * Should SHARE permission be excluded from \"Allow editing\" bundled permissions\n */\n get excludeReshareFromEdit() {\n return this._capabilities.files_sharing?.exclude_reshare_from_edit === true;\n }\n /**\n * Is public upload allowed on link shares ?\n * This covers File request and Full upload/edit option.\n */\n get isPublicUploadEnabled() {\n return this._capabilities.files_sharing?.public?.upload === true;\n }\n /**\n * Get the federated sharing documentation link\n */\n get federatedShareDocLink() {\n return window.OC.appConfig.core.federatedCloudShareDoc;\n }\n /**\n * Get the default link share expiration date\n */\n get defaultExpirationDate() {\n if (this.isDefaultExpireDateEnabled && this.defaultExpireDate !== null) {\n return new Date(new Date().setDate(new Date().getDate() + this.defaultExpireDate));\n }\n return null;\n }\n /**\n * Get the default internal expiration date\n */\n get defaultInternalExpirationDate() {\n if (this.isDefaultInternalExpireDateEnabled && this.defaultInternalExpireDate !== null) {\n return new Date(new Date().setDate(new Date().getDate() + this.defaultInternalExpireDate));\n }\n return null;\n }\n /**\n * Get the default remote expiration date\n */\n get defaultRemoteExpirationDateString() {\n if (this.isDefaultRemoteExpireDateEnabled && this.defaultRemoteExpireDate !== null) {\n return new Date(new Date().setDate(new Date().getDate() + this.defaultRemoteExpireDate));\n }\n return null;\n }\n /**\n * Are link shares password-enforced ?\n */\n get enforcePasswordForPublicLink() {\n return window.OC.appConfig.core.enforcePasswordForPublicLink === true;\n }\n /**\n * Is password asked by default on link shares ?\n */\n get enableLinkPasswordByDefault() {\n return window.OC.appConfig.core.enableLinkPasswordByDefault === true;\n }\n /**\n * Is link shares expiration enforced ?\n */\n get isDefaultExpireDateEnforced() {\n return window.OC.appConfig.core.defaultExpireDateEnforced === true;\n }\n /**\n * Is there a default expiration date for new link shares ?\n */\n get isDefaultExpireDateEnabled() {\n return window.OC.appConfig.core.defaultExpireDateEnabled === true;\n }\n /**\n * Is internal shares expiration enforced ?\n */\n get isDefaultInternalExpireDateEnforced() {\n return window.OC.appConfig.core.defaultInternalExpireDateEnforced === true;\n }\n /**\n * Is there a default expiration date for new internal shares ?\n */\n get isDefaultInternalExpireDateEnabled() {\n return window.OC.appConfig.core.defaultInternalExpireDateEnabled === true;\n }\n /**\n * Is remote shares expiration enforced ?\n */\n get isDefaultRemoteExpireDateEnforced() {\n return window.OC.appConfig.core.defaultRemoteExpireDateEnforced === true;\n }\n /**\n * Is there a default expiration date for new remote shares ?\n */\n get isDefaultRemoteExpireDateEnabled() {\n return window.OC.appConfig.core.defaultRemoteExpireDateEnabled === true;\n }\n /**\n * Are users on this server allowed to send shares to other servers ?\n */\n get isRemoteShareAllowed() {\n return window.OC.appConfig.core.remoteShareAllowed === true;\n }\n /**\n * Is federation enabled ?\n */\n get isFederationEnabled() {\n return this._capabilities?.files_sharing?.federation?.outgoing === true;\n }\n /**\n * Is public sharing enabled ?\n */\n get isPublicShareAllowed() {\n return this._capabilities?.files_sharing?.public?.enabled === true;\n }\n /**\n * Is sharing my mail (link share) enabled ?\n */\n get isMailShareAllowed() {\n return this._capabilities?.files_sharing?.sharebymail?.enabled === true\n && this.isPublicShareAllowed === true;\n }\n /**\n * Get the default days to link shares expiration\n */\n get defaultExpireDate() {\n return window.OC.appConfig.core.defaultExpireDate;\n }\n /**\n * Get the default days to internal shares expiration\n */\n get defaultInternalExpireDate() {\n return window.OC.appConfig.core.defaultInternalExpireDate;\n }\n /**\n * Get the default days to remote shares expiration\n */\n get defaultRemoteExpireDate() {\n return window.OC.appConfig.core.defaultRemoteExpireDate;\n }\n /**\n * Is resharing allowed ?\n */\n get isResharingAllowed() {\n return window.OC.appConfig.core.resharingAllowed === true;\n }\n /**\n * Is password enforced for mail shares ?\n */\n get isPasswordForMailSharesRequired() {\n return this._capabilities.files_sharing?.sharebymail?.password?.enforced === true;\n }\n /**\n * Always show the email or userid unique sharee label if enabled by the admin\n */\n get shouldAlwaysShowUnique() {\n return this._capabilities.files_sharing?.sharee?.always_show_unique === true;\n }\n /**\n * Is sharing with groups allowed ?\n */\n get allowGroupSharing() {\n return window.OC.appConfig.core.allowGroupSharing === true;\n }\n /**\n * Get the maximum results of a share search\n */\n get maxAutocompleteResults() {\n return parseInt(window.OC.config['sharing.maxAutocompleteResults'], 10) || 25;\n }\n /**\n * Get the minimal string length\n * to initiate a share search\n */\n get minSearchStringLength() {\n return parseInt(window.OC.config['sharing.minSearchStringLength'], 10) || 0;\n }\n /**\n * Get the password policy configuration\n */\n get passwordPolicy() {\n return this._capabilities?.password_policy || {};\n }\n /**\n * Returns true if custom tokens are allowed\n */\n get allowCustomTokens() {\n return this._capabilities?.files_sharing?.public?.custom_tokens;\n }\n /**\n * Show federated shares as internal shares\n *\n * @return\n */\n get showFederatedSharesAsInternal() {\n return loadState('files_sharing', 'showFederatedSharesAsInternal', false);\n }\n /**\n * Show federated shares to trusted servers as internal shares\n *\n * @return\n */\n get showFederatedSharesToTrustedServersAsInternal() {\n return loadState('files_sharing', 'showFederatedSharesToTrustedServersAsInternal', false);\n }\n /**\n * Show the external share ui\n */\n get showExternalSharing() {\n return loadState('files_sharing', 'showExternalSharing', true);\n }\n}\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { ATOMIC_PERMISSIONS } from '../lib/SharePermissionsToolBox.js'\nimport Share from '../models/Share.ts'\nimport Config from '../services/ConfigService.ts'\nimport logger from '../services/logger.ts'\n\nexport default {\n\tmethods: {\n\t\tasync openSharingDetails(shareRequestObject) {\n\t\t\tlet share\n\t\t\t// handle externalResults from OCA.Sharing.ShareSearch\n\t\t\t// TODO : Better name/interface for handler required\n\t\t\t// For example `externalAppCreateShareHook` with proper documentation\n\t\t\tif (shareRequestObject.handler) {\n\t\t\t\tconst handlerInput = {}\n\t\t\t\tif (this.suggestions) {\n\t\t\t\t\thandlerInput.suggestions = this.suggestions\n\t\t\t\t\thandlerInput.fileInfo = this.fileInfo\n\t\t\t\t\thandlerInput.query = this.query\n\t\t\t\t}\n\t\t\t\tconst externalShareRequestObject = await shareRequestObject.handler(handlerInput)\n\t\t\t\tshare = this.mapShareRequestToShareObject(externalShareRequestObject)\n\t\t\t} else {\n\t\t\t\tshare = this.mapShareRequestToShareObject(shareRequestObject)\n\t\t\t}\n\n\t\t\tif (this.fileInfo.type !== 'dir') {\n\t\t\t\tconst originalPermissions = share.permissions\n\t\t\t\tconst strippedPermissions = originalPermissions\n\t\t\t\t\t& ~ATOMIC_PERMISSIONS.CREATE\n\t\t\t\t\t& ~ATOMIC_PERMISSIONS.DELETE\n\n\t\t\t\tif (originalPermissions !== strippedPermissions) {\n\t\t\t\t\tlogger.debug('Removed create/delete permissions from file share (only valid for folders)')\n\t\t\t\t\tshare.permissions = strippedPermissions\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst shareDetails = {\n\t\t\t\tfileInfo: this.fileInfo,\n\t\t\t\tshare,\n\t\t\t}\n\n\t\t\tthis.$emit('open-sharing-details', shareDetails)\n\t\t},\n\t\topenShareDetailsForCustomSettings(share) {\n\t\t\tshare.setCustomPermissions = true\n\t\t\tthis.openSharingDetails(share)\n\t\t},\n\t\tmapShareRequestToShareObject(shareRequestObject) {\n\t\t\tif (shareRequestObject.id) {\n\t\t\t\treturn shareRequestObject\n\t\t\t}\n\n\t\t\tconst share = {\n\t\t\t\tattributes: [\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: true,\n\t\t\t\t\t\tkey: 'download',\n\t\t\t\t\t\tscope: 'permissions',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\thideDownload: false,\n\t\t\t\tshare_type: shareRequestObject.shareType,\n\t\t\t\tshare_with: shareRequestObject.shareWith,\n\t\t\t\tis_no_user: shareRequestObject.isNoUser,\n\t\t\t\tuser: shareRequestObject.shareWith,\n\t\t\t\tshare_with_displayname: shareRequestObject.displayName,\n\t\t\t\tsubtitle: shareRequestObject.subtitle,\n\t\t\t\tpermissions: shareRequestObject.permissions ?? new Config().defaultPermissions,\n\t\t\t\texpiration: '',\n\t\t\t}\n\n\t\t\treturn new Share(share)\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 axios, { isAxiosError } from '@nextcloud/axios'\nimport { showError } from '@nextcloud/dialogs'\nimport { emit } from '@nextcloud/event-bus'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport Share from '../models/Share.ts'\nimport logger from '../services/logger.ts'\n\nconst shareUrl = generateOcsUrl('apps/files_sharing/api/v1/shares')\n\nexport default {\n\tmethods: {\n\t\t/**\n\t\t * Create a new share\n\t\t *\n\t\t * @param {object} data destructuring object\n\t\t * @param {string} data.path path to the file/folder which should be shared\n\t\t * @param {number} data.shareType 0 = user; 1 = group; 3 = public link; 6 = federated cloud share\n\t\t * @param {string} data.shareWith user/group id with which the file should be shared (optional for shareType > 1)\n\t\t * @param {boolean} [data.publicUpload] allow public upload to a public shared folder\n\t\t * @param {string} [data.password] password to protect public link Share with\n\t\t * @param {number} [data.permissions] 1 = read; 2 = update; 4 = create; 8 = delete; 16 = share; 31 = all (default: 31, for public shares: 1)\n\t\t * @param {boolean} [data.sendPasswordByTalk] send the password via a talk conversation\n\t\t * @param {string} [data.expireDate] expire the share automatically after\n\t\t * @param {string} [data.label] custom label\n\t\t * @param {string} [data.attributes] Share attributes encoded as json\n\t\t * @param {string} data.note custom note to recipient\n\t\t * @return {Share} the new share\n\t\t * @throws {Error}\n\t\t */\n\t\tasync createShare({ path, permissions, shareType, shareWith, publicUpload, password, sendPasswordByTalk, expireDate, label, note, attributes }) {\n\t\t\ttry {\n\t\t\t\tconst request = await axios.post(shareUrl, { path, permissions, shareType, shareWith, publicUpload, password, sendPasswordByTalk, expireDate, label, note, attributes })\n\t\t\t\tif (!request?.data?.ocs) {\n\t\t\t\t\tthrow request\n\t\t\t\t}\n\t\t\t\tconst share = new Share(request.data.ocs.data)\n\t\t\t\temit('files_sharing:share:created', { share })\n\t\t\t\treturn share\n\t\t\t} catch (error) {\n\t\t\t\tconst errorMessage = getErrorMessage(error) ?? t('files_sharing', 'Error creating the share')\n\t\t\t\tshowError(errorMessage)\n\t\t\t\tthrow new Error(errorMessage, { cause: error })\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Delete a share\n\t\t *\n\t\t * @param {number} id share id\n\t\t * @throws {Error}\n\t\t */\n\t\tasync deleteShare(id) {\n\t\t\ttry {\n\t\t\t\tconst request = await axios.delete(shareUrl + `/${id}`)\n\t\t\t\tif (!request?.data?.ocs) {\n\t\t\t\t\tthrow request\n\t\t\t\t}\n\t\t\t\temit('files_sharing:share:deleted', { id })\n\t\t\t\treturn true\n\t\t\t} catch (error) {\n\t\t\t\tconst errorMessage = getErrorMessage(error) ?? t('files_sharing', 'Error deleting the share')\n\t\t\t\tshowError(errorMessage)\n\t\t\t\tthrow new Error(errorMessage, { cause: error })\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Update a share\n\t\t *\n\t\t * @param {number} id share id\n\t\t * @param {object} properties key-value object of the properties to update\n\t\t */\n\t\tasync updateShare(id, properties) {\n\t\t\ttry {\n\t\t\t\tconst request = await axios.put(shareUrl + `/${id}`, properties)\n\t\t\t\temit('files_sharing:share:updated', { id })\n\t\t\t\tif (!request?.data?.ocs) {\n\t\t\t\t\tthrow request\n\t\t\t\t} else {\n\t\t\t\t\treturn request.data.ocs.data\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\tlogger.error('Error while updating share', { error })\n\t\t\t\tconst errorMessage = getErrorMessage(error) ?? t('files_sharing', 'Error updating the share')\n\t\t\t\t// the error will be shown in apps/files_sharing/src/mixins/SharesMixin.js\n\t\t\t\tthrow new Error(errorMessage, { cause: error })\n\t\t\t}\n\t\t},\n\t},\n}\n\n/**\n * Handle an error response from the server and show a notification with the error message if possible\n *\n * @param {unknown} error - The received error\n * @return {string|undefined} the error message if it could be extracted from the response, otherwise undefined\n */\nfunction getErrorMessage(error) {\n\tif (isAxiosError(error) && error.response.data?.ocs) {\n\t\t/** @type {import('@nextcloud/typings/ocs').OCSResponse} */\n\t\tconst response = error.response.data\n\t\tif (response.ocs.meta?.message) {\n\t\t\treturn response.ocs.meta.message\n\t\t}\n\t}\n}\n","\n\n\n\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingInput.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!./SharingInput.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!./SharingInput.vue?vue&type=style&index=0&id=0b151499&prod&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!./SharingInput.vue?vue&type=style&index=0&id=0b151499&prod&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SharingInput.vue?vue&type=template&id=0b151499\"\nimport script from \"./SharingInput.vue?vue&type=script&lang=js\"\nexport * from \"./SharingInput.vue?vue&type=script&lang=js\"\nimport style0 from \"./SharingInput.vue?vue&type=style&index=0&id=0b151499&prod&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 null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-6.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SidebarTabExternalSection.vue?vue&type=script&lang=ts&setup=true\"; 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!./SidebarTabExternalSection.vue?vue&type=script&lang=ts&setup=true\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c(_vm.section.element,{ref:\"sectionElement\",tag:\"component\",domProps:{\"node\":_vm.node}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./SidebarTabExternalSection.vue?vue&type=template&id=9785f99e\"\nimport script from \"./SidebarTabExternalSection.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./SidebarTabExternalSection.vue?vue&type=script&lang=ts&setup=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 null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-6.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SidebarTabExternalSectionLegacy.vue?vue&type=script&lang=ts&setup=true\"; 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!./SidebarTabExternalSectionLegacy.vue?vue&type=script&lang=ts&setup=true\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"sharing-tab-external-section-legacy\"},[_c(_setup.component,{tag:\"component\",attrs:{\"file-info\":_vm.fileInfo}})],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/vue-loader/lib/index.js??vue-loader-options!./SidebarTabExternalSectionLegacy.vue?vue&type=style&index=0&id=3e4e67d2&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!./SidebarTabExternalSectionLegacy.vue?vue&type=style&index=0&id=3e4e67d2&prod&scoped=true&lang=css\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SidebarTabExternalSectionLegacy.vue?vue&type=template&id=3e4e67d2&scoped=true\"\nimport script from \"./SidebarTabExternalSectionLegacy.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./SidebarTabExternalSectionLegacy.vue?vue&type=script&lang=ts&setup=true\"\nimport style0 from \"./SidebarTabExternalSectionLegacy.vue?vue&type=style&index=0&id=3e4e67d2&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 \"3e4e67d2\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"sharingTabDetailsView\"},[_c('div',{staticClass:\"sharingTabDetailsView__header\"},[_c('span',[(_vm.isUserShare)?_c('NcAvatar',{staticClass:\"sharing-entry__avatar\",attrs:{\"is-no-user\":_vm.share.shareType !== _vm.ShareType.User,\"user\":_vm.share.shareWith,\"display-name\":_vm.share.shareWithDisplayName,\"menu-position\":\"left\",\"url\":_vm.share.shareWithAvatar}}):_vm._e(),_vm._v(\" \"),_c(_vm.getShareTypeIcon(_vm.share.type),{tag:\"component\",attrs:{\"size\":32}})],1),_vm._v(\" \"),_c('span',[_c('h1',[_vm._v(_vm._s(_vm.title))])])]),_vm._v(\" \"),_c('div',{staticClass:\"sharingTabDetailsView__wrapper\"},[_c('div',{ref:\"quickPermissions\",staticClass:\"sharingTabDetailsView__quick-permissions\"},[_c('div',[_c('NcCheckboxRadioSwitch',{attrs:{\"button-variant\":true,\"data-cy-files-sharing-share-permissions-bundle\":\"read-only\",\"value\":_vm.bundledPermissions.READ_ONLY.toString(),\"name\":\"sharing_permission_radio\",\"type\":\"radio\",\"button-variant-grouped\":\"vertical\"},on:{\"update:modelValue\":_vm.toggleCustomPermissions},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('ViewIcon',{attrs:{\"size\":20}})]},proxy:true}]),model:{value:(_vm.sharingPermission),callback:function ($$v) {_vm.sharingPermission=$$v},expression:\"sharingPermission\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'View only'))+\"\\n\\t\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"button-variant\":true,\"data-cy-files-sharing-share-permissions-bundle\":\"upload-edit\",\"value\":_vm.allPermissions,\"name\":\"sharing_permission_radio\",\"type\":\"radio\",\"button-variant-grouped\":\"vertical\"},on:{\"update:modelValue\":_vm.toggleCustomPermissions},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('EditIcon',{attrs:{\"size\":20}})]},proxy:true}]),model:{value:(_vm.sharingPermission),callback:function ($$v) {_vm.sharingPermission=$$v},expression:\"sharingPermission\"}},[(_vm.allowsFileDrop)?[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Allow upload and editing'))+\"\\n\\t\\t\\t\\t\\t\")]:[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Allow editing'))+\"\\n\\t\\t\\t\\t\\t\")]],2),_vm._v(\" \"),(_vm.allowsFileDrop)?_c('NcCheckboxRadioSwitch',{attrs:{\"data-cy-files-sharing-share-permissions-bundle\":\"file-drop\",\"button-variant\":true,\"value\":_vm.bundledPermissions.FILE_DROP.toString(),\"name\":\"sharing_permission_radio\",\"type\":\"radio\",\"button-variant-grouped\":\"vertical\"},on:{\"update:modelValue\":_vm.toggleCustomPermissions},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('UploadIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,1083194048),model:{value:(_vm.sharingPermission),callback:function ($$v) {_vm.sharingPermission=$$v},expression:\"sharingPermission\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'File request'))+\"\\n\\t\\t\\t\\t\\t\"),_c('small',{staticClass:\"subline\"},[_vm._v(_vm._s(_vm.t('files_sharing', 'Upload only')))])]):_vm._e(),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"button-variant\":true,\"data-cy-files-sharing-share-permissions-bundle\":\"custom\",\"value\":\"custom\",\"name\":\"sharing_permission_radio\",\"type\":\"radio\",\"button-variant-grouped\":\"vertical\"},on:{\"update:modelValue\":_vm.expandCustomPermissions},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('DotsHorizontalIcon',{attrs:{\"size\":20}})]},proxy:true}]),model:{value:(_vm.sharingPermission),callback:function ($$v) {_vm.sharingPermission=$$v},expression:\"sharingPermission\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Custom permissions'))+\"\\n\\t\\t\\t\\t\\t\"),_c('small',{staticClass:\"subline\"},[_vm._v(_vm._s(_vm.customPermissionsList))])])],1)]),_vm._v(\" \"),_c('div',{staticClass:\"sharingTabDetailsView__advanced-control\"},[_c('NcButton',{attrs:{\"id\":\"advancedSectionAccordionAdvancedControl\",\"variant\":\"tertiary\",\"alignment\":\"end-reverse\",\"aria-controls\":\"advancedSectionAccordionAdvanced\",\"aria-expanded\":_vm.advancedControlExpandedValue},on:{\"click\":function($event){_vm.advancedSectionAccordionExpanded = !_vm.advancedSectionAccordionExpanded}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [(!_vm.advancedSectionAccordionExpanded)?_c('MenuDownIcon'):_c('MenuUpIcon')]},proxy:true}])},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Advanced settings'))+\"\\n\\t\\t\\t\\t\")])],1),_vm._v(\" \"),(_vm.advancedSectionAccordionExpanded)?_c('div',{staticClass:\"sharingTabDetailsView__advanced\",attrs:{\"id\":\"advancedSectionAccordionAdvanced\",\"aria-labelledby\":\"advancedSectionAccordionAdvancedControl\",\"role\":\"region\"}},[_c('section',[(_vm.isPublicShare)?_c('NcInputField',{staticClass:\"sharingTabDetailsView__label\",attrs:{\"autocomplete\":\"off\",\"label\":_vm.t('files_sharing', 'Share label')},model:{value:(_vm.share.label),callback:function ($$v) {_vm.$set(_vm.share, \"label\", $$v)},expression:\"share.label\"}}):_vm._e(),_vm._v(\" \"),(_vm.config.allowCustomTokens && _vm.isPublicShare && !_vm.isNewShare)?_c('NcInputField',{attrs:{\"autocomplete\":\"off\",\"label\":_vm.t('files_sharing', 'Share link token'),\"helper-text\":_vm.t('files_sharing', 'Set the public share link token to something easy to remember or generate a new token. It is not recommended to use a guessable token for shares which contain sensitive information.'),\"show-trailing-button\":\"\",\"trailing-button-label\":_vm.loadingToken ? _vm.t('files_sharing', 'Generating…') : _vm.t('files_sharing', 'Generate new token')},on:{\"trailing-button-click\":_vm.generateNewToken},scopedSlots:_vm._u([{key:\"trailing-button-icon\",fn:function(){return [(_vm.loadingToken)?_c('NcLoadingIcon'):_c('Refresh',{attrs:{\"size\":20}})]},proxy:true}],null,false,4228062821),model:{value:(_vm.share.token),callback:function ($$v) {_vm.$set(_vm.share, \"token\", $$v)},expression:\"share.token\"}}):_vm._e(),_vm._v(\" \"),(_vm.isPublicShare)?[_c('NcCheckboxRadioSwitch',{attrs:{\"disabled\":_vm.isPasswordEnforced},model:{value:(_vm.isPasswordProtected),callback:function ($$v) {_vm.isPasswordProtected=$$v},expression:\"isPasswordProtected\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Set password'))+\"\\n\\t\\t\\t\\t\\t\")]),_vm._v(\" \"),(_vm.isPasswordProtected)?_c('NcPasswordField',{attrs:{\"autocomplete\":\"new-password\",\"model-value\":_vm.share.newPassword ?? '',\"error\":_vm.passwordError,\"helper-text\":_vm.errorPasswordLabel || _vm.passwordHint,\"required\":_vm.isPasswordEnforced && _vm.isNewShare,\"label\":_vm.t('files_sharing', 'Password')},on:{\"update:value\":_vm.onPasswordChange}}):_vm._e(),_vm._v(\" \"),(_vm.isEmailShareType && _vm.passwordExpirationTime)?_c('span',{attrs:{\"icon\":\"icon-info\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Password expires {passwordExpirationTime}', { passwordExpirationTime: _vm.passwordExpirationTime }))+\"\\n\\t\\t\\t\\t\\t\")]):(_vm.isEmailShareType && _vm.passwordExpirationTime !== null)?_c('span',{attrs:{\"icon\":\"icon-error\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Password expired'))+\"\\n\\t\\t\\t\\t\\t\")]):_vm._e()]:_vm._e(),_vm._v(\" \"),(_vm.canTogglePasswordProtectedByTalkAvailable)?_c('NcCheckboxRadioSwitch',{on:{\"update:modelValue\":_vm.onPasswordProtectedByTalkChange},model:{value:(_vm.isPasswordProtectedByTalk),callback:function ($$v) {_vm.isPasswordProtectedByTalk=$$v},expression:\"isPasswordProtectedByTalk\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Video verification'))+\"\\n\\t\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"disabled\":_vm.isExpiryDateEnforced},model:{value:(_vm.hasExpirationDate),callback:function ($$v) {_vm.hasExpirationDate=$$v},expression:\"hasExpirationDate\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.isExpiryDateEnforced\n\t\t\t\t\t\t? _vm.t('files_sharing', 'Expiration date (enforced)')\n\t\t\t\t\t\t: _vm.t('files_sharing', 'Set expiration date'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),(_vm.hasExpirationDate)?_c('NcDateTimePickerNative',{attrs:{\"id\":\"share-date-picker\",\"model-value\":new Date(_vm.share.expireDate ?? _vm.dateTomorrow),\"min\":_vm.dateTomorrow,\"max\":_vm.maxExpirationDateEnforced,\"hide-label\":\"\",\"label\":_vm.t('files_sharing', 'Expiration date'),\"placeholder\":_vm.t('files_sharing', 'Expiration date'),\"type\":\"date\"},on:{\"input\":_vm.onExpirationChange}}):_vm._e(),_vm._v(\" \"),(_vm.isPublicShare)?_c('NcCheckboxRadioSwitch',{attrs:{\"disabled\":_vm.canChangeHideDownload},on:{\"update:modelValue\":function($event){return _vm.queueUpdate('hideDownload')}},model:{value:(_vm.share.hideDownload),callback:function ($$v) {_vm.$set(_vm.share, \"hideDownload\", $$v)},expression:\"share.hideDownload\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Hide download'))+\"\\n\\t\\t\\t\\t\")]):_c('NcCheckboxRadioSwitch',{attrs:{\"disabled\":!_vm.canSetDownload,\"data-cy-files-sharing-share-permissions-checkbox\":\"download\"},model:{value:(_vm.canDownload),callback:function ($$v) {_vm.canDownload=$$v},expression:\"canDownload\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Allow download and sync'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{model:{value:(_vm.writeNoteToRecipientIsChecked),callback:function ($$v) {_vm.writeNoteToRecipientIsChecked=$$v},expression:\"writeNoteToRecipientIsChecked\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Note to recipient'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),(_vm.writeNoteToRecipientIsChecked)?[_c('NcTextArea',{attrs:{\"label\":_vm.t('files_sharing', 'Note to recipient'),\"placeholder\":_vm.t('files_sharing', 'Enter a note for the share recipient')},model:{value:(_vm.share.note),callback:function ($$v) {_vm.$set(_vm.share, \"note\", $$v)},expression:\"share.note\"}})]:_vm._e(),_vm._v(\" \"),(_vm.isPublicShare && _vm.isFolder)?_c('NcCheckboxRadioSwitch',{model:{value:(_vm.showInGridView),callback:function ($$v) {_vm.showInGridView=$$v},expression:\"showInGridView\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Show files in grid view'))+\"\\n\\t\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),_vm._l((_vm.sortedExternalShareActions),function(action){return _c('SidebarTabExternalAction',{key:action.id,ref:\"externalShareActions\",refInFor:true,attrs:{\"action\":action,\"node\":_vm.fileInfo.node /* TODO: Fix once we have proper Node API */,\"share\":_vm.share}})}),_vm._v(\" \"),_vm._l((_vm.externalLegacyShareActions),function(action){return _c('SidebarTabExternalActionLegacy',{key:action.id,ref:\"externalLinkActions\",refInFor:true,attrs:{\"id\":action.id,\"action\":action,\"file-info\":_vm.fileInfo,\"share\":_vm.share}})}),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{model:{value:(_vm.setCustomPermissions),callback:function ($$v) {_vm.setCustomPermissions=$$v},expression:\"setCustomPermissions\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Custom permissions'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),(_vm.setCustomPermissions)?_c('section',{staticClass:\"custom-permissions-group\"},[_c('NcCheckboxRadioSwitch',{attrs:{\"disabled\":!_vm.canRemoveReadPermission,\"data-cy-files-sharing-share-permissions-checkbox\":\"read\"},model:{value:(_vm.hasRead),callback:function ($$v) {_vm.hasRead=$$v},expression:\"hasRead\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Read'))+\"\\n\\t\\t\\t\\t\\t\")]),_vm._v(\" \"),(_vm.isFolder)?_c('NcCheckboxRadioSwitch',{attrs:{\"disabled\":!_vm.canSetCreate,\"data-cy-files-sharing-share-permissions-checkbox\":\"create\"},model:{value:(_vm.canCreate),callback:function ($$v) {_vm.canCreate=$$v},expression:\"canCreate\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Create'))+\"\\n\\t\\t\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"disabled\":!_vm.canSetEdit,\"data-cy-files-sharing-share-permissions-checkbox\":\"update\"},model:{value:(_vm.canEdit),callback:function ($$v) {_vm.canEdit=$$v},expression:\"canEdit\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Edit'))+\"\\n\\t\\t\\t\\t\\t\")]),_vm._v(\" \"),(_vm.resharingIsPossible)?_c('NcCheckboxRadioSwitch',{attrs:{\"disabled\":!_vm.canSetReshare,\"data-cy-files-sharing-share-permissions-checkbox\":\"share\"},model:{value:(_vm.canReshare),callback:function ($$v) {_vm.canReshare=$$v},expression:\"canReshare\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Share'))+\"\\n\\t\\t\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"disabled\":!_vm.canSetDelete,\"data-cy-files-sharing-share-permissions-checkbox\":\"delete\"},model:{value:(_vm.canDelete),callback:function ($$v) {_vm.canDelete=$$v},expression:\"canDelete\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Delete'))+\"\\n\\t\\t\\t\\t\\t\")])],1):_vm._e()],2)]):_vm._e()]),_vm._v(\" \"),_c('div',{staticClass:\"sharingTabDetailsView__footer\"},[_c('div',{staticClass:\"button-group\"},[_c('NcButton',{attrs:{\"data-cy-files-sharing-share-editor-action\":\"cancel\"},on:{\"click\":_vm.cancel}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Cancel'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('div',{staticClass:\"sharingTabDetailsView__delete\"},[(!_vm.isNewShare)?_c('NcButton',{attrs:{\"aria-label\":_vm.t('files_sharing', 'Delete share'),\"disabled\":false,\"readonly\":false,\"variant\":\"tertiary\"},on:{\"click\":function($event){$event.preventDefault();return _vm.removeShare.apply(null, arguments)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('CloseIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,2428343285)},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Delete share'))+\"\\n\\t\\t\\t\\t\")]):_vm._e()],1),_vm._v(\" \"),_c('NcButton',{attrs:{\"variant\":\"primary\",\"data-cy-files-sharing-share-editor-action\":\"save\",\"disabled\":_vm.creating},on:{\"click\":_vm.saveShare},scopedSlots:_vm._u([(_vm.creating)?{key:\"icon\",fn:function(){return [_c('NcLoadingIcon')]},proxy:true}:null],null,true)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.shareButtonText)+\"\\n\\t\\t\\t\\t\")])],1)])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./AccountCircleOutline.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./AccountCircleOutline.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./AccountCircleOutline.vue?vue&type=template&id=5b2fe1de\"\nimport script from \"./AccountCircleOutline.vue?vue&type=script&lang=js\"\nexport * from \"./AccountCircleOutline.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 account-circle-outline-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\":\"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M7.07,18.28C7.5,17.38 10.12,16.5 12,16.5C13.88,16.5 16.5,17.38 16.93,18.28C15.57,19.36 13.86,20 12,20C10.14,20 8.43,19.36 7.07,18.28M18.36,16.83C16.93,15.09 13.46,14.5 12,14.5C10.54,14.5 7.07,15.09 5.64,16.83C4.62,15.5 4,13.82 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,13.82 19.38,15.5 18.36,16.83M12,6C10.06,6 8.5,7.56 8.5,9.5C8.5,11.44 10.06,13 12,13C13.94,13 15.5,11.44 15.5,9.5C15.5,7.56 13.94,6 12,6M12,11A1.5,1.5 0 0,1 10.5,9.5A1.5,1.5 0 0,1 12,8A1.5,1.5 0 0,1 13.5,9.5A1.5,1.5 0 0,1 12,11Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./AccountGroup.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./AccountGroup.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./AccountGroup.vue?vue&type=template&id=fa2b1464\"\nimport script from \"./AccountGroup.vue?vue&type=script&lang=js\"\nexport * from \"./AccountGroup.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 account-group-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\":\"M12,5.5A3.5,3.5 0 0,1 15.5,9A3.5,3.5 0 0,1 12,12.5A3.5,3.5 0 0,1 8.5,9A3.5,3.5 0 0,1 12,5.5M5,8C5.56,8 6.08,8.15 6.53,8.42C6.38,9.85 6.8,11.27 7.66,12.38C7.16,13.34 6.16,14 5,14A3,3 0 0,1 2,11A3,3 0 0,1 5,8M19,8A3,3 0 0,1 22,11A3,3 0 0,1 19,14C17.84,14 16.84,13.34 16.34,12.38C17.2,11.27 17.62,9.85 17.47,8.42C17.92,8.15 18.44,8 19,8M5.5,18.25C5.5,16.18 8.41,14.5 12,14.5C15.59,14.5 18.5,16.18 18.5,18.25V20H5.5V18.25M0,20V18.5C0,17.11 1.89,15.94 4.45,15.6C3.86,16.28 3.5,17.22 3.5,18.25V20H0M24,20H20.5V18.25C20.5,17.22 20.14,16.28 19.55,15.6C22.11,15.94 24,17.11 24,18.5V20Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./CircleOutline.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./CircleOutline.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./CircleOutline.vue?vue&type=template&id=c013567c\"\nimport script from \"./CircleOutline.vue?vue&type=script&lang=js\"\nexport * from \"./CircleOutline.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 circle-outline-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\":\"M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Email.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Email.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Email.vue?vue&type=template&id=7dd7f6aa\"\nimport script from \"./Email.vue?vue&type=script&lang=js\"\nexport * from \"./Email.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 email-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\":\"M20,8L12,13L4,8V6L12,11L20,6M20,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V6C22,4.89 21.1,4 20,4Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Eye.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Eye.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./Eye.vue?vue&type=template&id=4ae2345c\"\nimport script from \"./Eye.vue?vue&type=script&lang=js\"\nexport * from \"./Eye.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 eye-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\":\"M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9M12,17A5,5 0 0,1 7,12A5,5 0 0,1 12,7A5,5 0 0,1 17,12A5,5 0 0,1 12,17M12,4.5C7,4.5 2.73,7.61 1,12C2.73,16.39 7,19.5 12,19.5C17,19.5 21.27,16.39 23,12C21.27,7.61 17,4.5 12,4.5Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./ShareCircle.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./ShareCircle.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ShareCircle.vue?vue&type=template&id=0e958886\"\nimport script from \"./ShareCircle.vue?vue&type=script&lang=js\"\nexport * from \"./ShareCircle.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 share-circle-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\":\"M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M14 16V13C10.39 13 7.81 14.43 6 17C6.72 13.33 8.94 9.73 14 9V6L19 11L14 16Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./TrayArrowUp.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./TrayArrowUp.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./TrayArrowUp.vue?vue&type=template&id=ae55bf4e\"\nimport script from \"./TrayArrowUp.vue?vue&type=script&lang=js\"\nexport * from \"./TrayArrowUp.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 tray-arrow-up-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\":\"M2 12H4V17H20V12H22V17C22 18.11 21.11 19 20 19H4C2.9 19 2 18.11 2 17V12M12 2L6.46 7.46L7.88 8.88L11 5.75V15H13V5.75L16.13 8.88L17.55 7.45L12 2Z\"}},[(_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/ts-loader/index.js??clonedRuleSet-6.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SidebarTabExternalAction.vue?vue&type=script&lang=ts&setup=true\"; 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!./SidebarTabExternalAction.vue?vue&type=script&lang=ts&setup=true\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c(_vm.action.element,{key:_vm.action.id,ref:\"actionElement\",tag:\"component\",domProps:{\"share\":_vm.share,\"node\":_vm.node,\"onSave\":_setup.onSave}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./SidebarTabExternalAction.vue?vue&type=template&id=5ea2e6c7\"\nimport script from \"./SidebarTabExternalAction.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./SidebarTabExternalAction.vue?vue&type=script&lang=ts&setup=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 null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SidebarTabExternalActionLegacy.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!./SidebarTabExternalActionLegacy.vue?vue&type=script&lang=js\"","\n\n\n\n\n","import { render, staticRenderFns } from \"./SidebarTabExternalActionLegacy.vue?vue&type=template&id=50e2cb04\"\nimport script from \"./SidebarTabExternalActionLegacy.vue?vue&type=script&lang=js\"\nexport * from \"./SidebarTabExternalActionLegacy.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c(_vm.data.is,_vm._g(_vm._b({tag:\"component\"},'component',_vm.data,false),_vm.action.handlers),[_vm._v(\"\\n\\t\"+_vm._s(_vm.data.text)+\"\\n\")])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/*!\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { getClient, getDefaultPropfind, getRootPath, resultToNode } from '@nextcloud/files/dav';\nexport const client = getClient();\n/**\n * Fetches a node from the given path\n *\n * @param path - The path to fetch the node from\n */\nexport async function fetchNode(path) {\n const propfindPayload = getDefaultPropfind();\n const result = await client.stat(`${getRootPath()}${path}`, {\n details: true,\n data: propfindPayload,\n });\n return resultToNode(result.data);\n}\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 { showError, showSuccess } from '@nextcloud/dialogs';\nimport { t } from '@nextcloud/l10n';\nimport Config from '../services/ConfigService.ts';\nimport logger from '../services/logger.ts';\nconst config = new Config();\n// note: some chars removed on purpose to make them human friendly when read out\nconst passwordSet = 'abcdefgijkmnopqrstwxyzABCDEFGHJKLMNPQRSTWXYZ23456789';\n/**\n * Generate a valid policy password or request a valid password if password_policy is enabled\n *\n * @param verbose If enabled the the status is shown to the user via toast\n */\nexport default async function (verbose = false) {\n // password policy is enabled, let's request a pass\n if (config.passwordPolicy.api && config.passwordPolicy.api.generate) {\n try {\n const request = await axios.get(config.passwordPolicy.api.generate);\n if (request.data.ocs.data.password) {\n if (verbose) {\n showSuccess(t('files_sharing', 'Password created successfully'));\n }\n return request.data.ocs.data.password;\n }\n }\n catch (error) {\n logger.info('Error generating password from password_policy', { error });\n if (verbose) {\n showError(t('files_sharing', 'Error generating password from password policy'));\n }\n }\n }\n const array = new Uint8Array(10);\n const ratio = passwordSet.length / 255;\n getRandomValues(array);\n let password = '';\n for (let i = 0; i < array.length; i++) {\n password += passwordSet.charAt(array[i] * ratio);\n }\n return password;\n}\n/**\n * Fills the given array with cryptographically secure random values.\n * If the crypto API is not available, it falls back to less secure Math.random().\n * Crypto API is available in modern browsers on secure contexts (HTTPS).\n *\n * @param array - The array to fill with random values.\n */\nfunction getRandomValues(array) {\n if (self?.crypto?.getRandomValues) {\n self.crypto.getRandomValues(array);\n return;\n }\n let len = array.length;\n while (len--) {\n array[len] = Math.floor(Math.random() * 256);\n }\n}\n","/**\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 { showError, showSuccess } from '@nextcloud/dialogs'\nimport { emit } from '@nextcloud/event-bus'\nimport { ShareType } from '@nextcloud/sharing'\nimport debounce from 'debounce'\nimport PQueue from 'p-queue'\nimport { fetchNode } from '../../../files/src/services/WebdavClient.ts'\nimport {\n\tATOMIC_PERMISSIONS,\n\tgetBundledPermissions,\n} from '../lib/SharePermissionsToolBox.js'\nimport Share from '../models/Share.ts'\nimport Config from '../services/ConfigService.ts'\nimport logger from '../services/logger.ts'\nimport GeneratePassword from '../utils/GeneratePassword.ts'\nimport SharesRequests from './ShareRequests.js'\n\nexport default {\n\tmixins: [SharesRequests],\n\n\tprops: {\n\t\tfileInfo: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => { },\n\t\t\trequired: true,\n\t\t},\n\t\tshare: {\n\t\t\ttype: Share,\n\t\t\tdefault: null,\n\t\t},\n\t\tisUnique: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tconfig: new Config(),\n\t\t\tnode: null,\n\t\t\tShareType,\n\n\t\t\t// errors helpers\n\t\t\terrors: {},\n\n\t\t\t// component status toggles\n\t\t\tloading: false,\n\t\t\tsaving: false,\n\t\t\topen: false,\n\n\t\t\t/** @type {boolean | undefined} */\n\t\t\tpasswordProtectedState: undefined,\n\n\t\t\t// concurrency management queue\n\t\t\t// we want one queue per share\n\t\t\tupdateQueue: new PQueue({ concurrency: 1 }),\n\n\t\t\t/**\n\t\t\t * ! This allow vue to make the Share class state reactive\n\t\t\t * ! do not remove it ot you'll lose all reactivity here\n\t\t\t */\n\t\t\treactiveState: this.share?.state,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tpath() {\n\t\t\treturn (this.fileInfo.path + '/' + this.fileInfo.name).replace('//', '/')\n\t\t},\n\t\t/**\n\t\t * Does the current share have a note\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\thasNote: {\n\t\t\tget() {\n\t\t\t\treturn this.share.note !== ''\n\t\t\t},\n\t\t\tset(enabled) {\n\t\t\t\tthis.share.note = enabled\n\t\t\t\t\t? null // enabled but user did not changed the content yet\n\t\t\t\t\t: '' // empty = no note = disabled\n\t\t\t},\n\t\t},\n\n\t\tdateTomorrow() {\n\t\t\treturn new Date(new Date().setDate(new Date().getDate() + 1))\n\t\t},\n\n\t\t// Datepicker language\n\t\tlang() {\n\t\t\tconst weekdaysShort = window.dayNamesShort\n\t\t\t\t? window.dayNamesShort // provided by Nextcloud\n\t\t\t\t: ['Sun.', 'Mon.', 'Tue.', 'Wed.', 'Thu.', 'Fri.', 'Sat.']\n\t\t\tconst monthsShort = window.monthNamesShort\n\t\t\t\t? window.monthNamesShort // provided by Nextcloud\n\t\t\t\t: ['Jan.', 'Feb.', 'Mar.', 'Apr.', 'May.', 'Jun.', 'Jul.', 'Aug.', 'Sep.', 'Oct.', 'Nov.', 'Dec.']\n\t\t\tconst firstDayOfWeek = window.firstDay ? window.firstDay : 0\n\n\t\t\treturn {\n\t\t\t\tformatLocale: {\n\t\t\t\t\tfirstDayOfWeek,\n\t\t\t\t\tmonthsShort,\n\t\t\t\t\tweekdaysMin: weekdaysShort,\n\t\t\t\t\tweekdaysShort,\n\t\t\t\t},\n\t\t\t\tmonthFormat: 'MMM',\n\t\t\t}\n\t\t},\n\t\tisNewShare() {\n\t\t\treturn !this.share.id\n\t\t},\n\t\tisFolder() {\n\t\t\treturn this.fileInfo.type === 'dir'\n\t\t},\n\t\tisPublicShare() {\n\t\t\tconst shareType = this.share.shareType ?? this.share.type\n\t\t\treturn [ShareType.Link, ShareType.Email].includes(shareType)\n\t\t},\n\t\tisRemoteShare() {\n\t\t\treturn this.share.type === ShareType.RemoteGroup || this.share.type === ShareType.Remote\n\t\t},\n\t\tisShareOwner() {\n\t\t\treturn this.share && this.share.owner === getCurrentUser().uid\n\t\t},\n\t\tisExpiryDateEnforced() {\n\t\t\tif (this.isPublicShare) {\n\t\t\t\treturn this.config.isDefaultExpireDateEnforced\n\t\t\t}\n\t\t\tif (this.isRemoteShare) {\n\t\t\t\treturn this.config.isDefaultRemoteExpireDateEnforced\n\t\t\t}\n\t\t\treturn this.config.isDefaultInternalExpireDateEnforced\n\t\t},\n\t\thasCustomPermissions() {\n\t\t\tconst basePermissions = getBundledPermissions(true)\n\t\t\tconst bundledPermissions = [\n\t\t\t\tbasePermissions.ALL,\n\t\t\t\tbasePermissions.ALL_FILE,\n\t\t\t\tbasePermissions.READ_ONLY,\n\t\t\t\tbasePermissions.FILE_DROP,\n\t\t\t]\n\t\t\tconst permissionsWithoutShare = this.share.permissions & ~ATOMIC_PERMISSIONS.SHARE\n\t\t\treturn !bundledPermissions.includes(permissionsWithoutShare)\n\t\t},\n\t\tmaxExpirationDateEnforced() {\n\t\t\tif (this.isExpiryDateEnforced) {\n\t\t\t\tif (this.isPublicShare) {\n\t\t\t\t\treturn this.config.defaultExpirationDate\n\t\t\t\t}\n\t\t\t\tif (this.isRemoteShare) {\n\t\t\t\t\treturn this.config.defaultRemoteExpirationDateString\n\t\t\t\t}\n\t\t\t\t// If it get's here then it must be an internal share\n\t\t\t\treturn this.config.defaultInternalExpirationDate\n\t\t\t}\n\t\t\treturn null\n\t\t},\n\t\t/**\n\t\t * Is the current share password protected ?\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tisPasswordProtected: {\n\t\t\tget() {\n\t\t\t\tif (this.config.enforcePasswordForPublicLink) {\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t\tif (this.passwordProtectedState !== undefined) {\n\t\t\t\t\treturn this.passwordProtectedState\n\t\t\t\t}\n\t\t\t\treturn typeof this.share.newPassword === 'string'\n\t\t\t\t\t|| typeof this.share.password === 'string'\n\t\t\t},\n\t\t\tasync set(enabled) {\n\t\t\t\tif (enabled) {\n\t\t\t\t\tthis.passwordProtectedState = true\n\t\t\t\t\tconst generatedPassword = await GeneratePassword(true)\n\t\t\t\t\tif (!this.share.newPassword) {\n\t\t\t\t\t\tthis.$set(this.share, 'newPassword', generatedPassword)\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tthis.passwordProtectedState = false\n\t\t\t\t\tthis.$set(this.share, 'newPassword', '')\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Fetch WebDAV node\n\t\t *\n\t\t * @return {Node}\n\t\t */\n\t\tasync getNode() {\n\t\t\tconst node = { path: this.path }\n\t\t\ttry {\n\t\t\t\tthis.node = await fetchNode(node.path)\n\t\t\t\tlogger.info('Fetched node:', { node: this.node })\n\t\t\t} catch (error) {\n\t\t\t\tlogger.error('Error:', error)\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Check if a share is valid before\n\t\t * firing the request\n\t\t *\n\t\t * @param {Share} share the share to check\n\t\t * @return {boolean}\n\t\t */\n\t\tcheckShare(share) {\n\t\t\tif (share.password) {\n\t\t\t\tif (typeof share.password !== 'string' || share.password.trim() === '') {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (share.newPassword) {\n\t\t\t\tif (typeof share.newPassword !== 'string') {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (share.expirationDate) {\n\t\t\t\tconst date = share.expirationDate\n\t\t\t\tif (!date.isValid()) {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true\n\t\t},\n\n\t\t/**\n\t\t * @param {Date} date the date to format\n\t\t * @return {string} date a date with YYYY-MM-DD format\n\t\t */\n\t\tformatDateToString(date) {\n\t\t\t// Force utc time. Drop time information to be timezone-less\n\t\t\tconst utcDate = new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate()))\n\t\t\t// Format to YYYY-MM-DD\n\t\t\treturn utcDate.toISOString().split('T')[0]\n\t\t},\n\n\t\t/**\n\t\t * Save given value to expireDate and trigger queueUpdate\n\t\t *\n\t\t * @param {Date} date\n\t\t */\n\t\tonExpirationChange(date) {\n\t\t\tif (!date) {\n\t\t\t\tthis.share.expireDate = null\n\t\t\t\tthis.$set(this.share, 'expireDate', null)\n\t\t\t\treturn\n\t\t\t}\n\t\t\tconst parsedDate = (date instanceof Date) ? date : new Date(date)\n\t\t\tthis.share.expireDate = this.formatDateToString(parsedDate)\n\t\t},\n\n\t\t/**\n\t\t * Note changed, let's save it to a different key\n\t\t *\n\t\t * @param {string} note the share note\n\t\t */\n\t\tonNoteChange(note) {\n\t\t\tthis.$set(this.share, 'newNote', note.trim())\n\t\t},\n\n\t\t/**\n\t\t * When the note change, we trim, save and dispatch\n\t\t *\n\t\t */\n\t\tonNoteSubmit() {\n\t\t\tif (this.share.newNote) {\n\t\t\t\tthis.share.note = this.share.newNote\n\t\t\t\tthis.$delete(this.share, 'newNote')\n\t\t\t\tthis.queueUpdate('note')\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Delete share button handler\n\t\t */\n\t\tasync onDelete() {\n\t\t\ttry {\n\t\t\t\tthis.loading = true\n\t\t\t\tthis.open = false\n\t\t\t\tawait this.deleteShare(this.share.id)\n\t\t\t\tlogger.debug('Share deleted', { shareId: this.share.id })\n\t\t\t\tconst message = this.share.itemType === 'file'\n\t\t\t\t\t? t('files_sharing', 'File \"{path}\" has been unshared', { path: this.share.path })\n\t\t\t\t\t: t('files_sharing', 'Folder \"{path}\" has been unshared', { path: this.share.path })\n\t\t\t\tshowSuccess(message)\n\t\t\t\tthis.$emit('remove:share', this.share)\n\t\t\t\tawait this.getNode()\n\t\t\t\temit('files:node:updated', this.node)\n\t\t\t} catch {\n\t\t\t\t// re-open menu if error\n\t\t\t\tthis.open = true\n\t\t\t} finally {\n\t\t\t\tthis.loading = false\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Send an update of the share to the queue\n\t\t *\n\t\t * @param {Array} propertyNames the properties to sync\n\t\t */\n\t\tqueueUpdate(...propertyNames) {\n\t\t\tif (propertyNames.length === 0) {\n\t\t\t\t// Nothing to update\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tif (this.share.id) {\n\t\t\t\tconst properties = {}\n\t\t\t\t// force value to string because that is what our\n\t\t\t\t// share api controller accepts\n\t\t\t\tfor (const name of propertyNames) {\n\t\t\t\t\tif (name === 'password') {\n\t\t\t\t\t\tif (this.share.newPassword !== undefined) {\n\t\t\t\t\t\t\tproperties[name] = this.share.newPassword\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcontinue\n\t\t\t\t\t}\n\n\t\t\t\t\tif (this.share[name] === null || this.share[name] === undefined) {\n\t\t\t\t\t\tproperties[name] = ''\n\t\t\t\t\t} else if ((typeof this.share[name]) === 'object') {\n\t\t\t\t\t\tproperties[name] = JSON.stringify(this.share[name])\n\t\t\t\t\t} else {\n\t\t\t\t\t\tproperties[name] = this.share[name].toString()\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn this.updateQueue.add(async () => {\n\t\t\t\t\tthis.saving = true\n\t\t\t\t\tthis.errors = {}\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconst updatedShare = await this.updateShare(this.share.id, properties)\n\n\t\t\t\t\t\tif (propertyNames.includes('password')) {\n\t\t\t\t\t\t\t// reset password state after sync\n\t\t\t\t\t\t\tthis.share.password = this.share.newPassword || undefined\n\t\t\t\t\t\t\tthis.$delete(this.share, 'newPassword')\n\n\t\t\t\t\t\t\t// updates password expiration time after sync\n\t\t\t\t\t\t\tthis.share.passwordExpirationTime = updatedShare.password_expiration_time\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// clear any previous errors\n\t\t\t\t\t\tfor (const property of propertyNames) {\n\t\t\t\t\t\t\tthis.$delete(this.errors, property)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tshowSuccess(this.updateSuccessMessage(propertyNames))\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tlogger.error('Could not update share', { error, share: this.share, propertyNames })\n\n\t\t\t\t\t\tconst { message } = error\n\t\t\t\t\t\tif (message && message !== '') {\n\t\t\t\t\t\t\tfor (const property of propertyNames) {\n\t\t\t\t\t\t\t\tthis.onSyncError(property, message)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tshowError(message)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// We do not have information what happened, but we should still inform the user\n\t\t\t\t\t\t\tshowError(t('files_sharing', 'Could not update share'))\n\t\t\t\t\t\t}\n\t\t\t\t\t} finally {\n\t\t\t\t\t\tthis.saving = false\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\n\t\t\t// This share does not exists on the server yet\n\t\t\tlogger.debug('Updated local share', { share: this.share })\n\t\t},\n\n\t\t/**\n\t\t * @param {string[]} names Properties changed\n\t\t */\n\t\tupdateSuccessMessage(names) {\n\t\t\tif (names.length !== 1) {\n\t\t\t\treturn t('files_sharing', 'Share saved')\n\t\t\t}\n\n\t\t\tswitch (names[0]) {\n\t\t\t\tcase 'expireDate':\n\t\t\t\t\treturn t('files_sharing', 'Share expiry date saved')\n\t\t\t\tcase 'hideDownload':\n\t\t\t\t\treturn t('files_sharing', 'Share hide-download state saved')\n\t\t\t\tcase 'label':\n\t\t\t\t\treturn t('files_sharing', 'Share label saved')\n\t\t\t\tcase 'note':\n\t\t\t\t\treturn t('files_sharing', 'Share note for recipient saved')\n\t\t\t\tcase 'password':\n\t\t\t\t\treturn t('files_sharing', 'Share password saved')\n\t\t\t\tcase 'permissions':\n\t\t\t\t\treturn t('files_sharing', 'Share permissions saved')\n\t\t\t\tdefault:\n\t\t\t\t\treturn t('files_sharing', 'Share saved')\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Manage sync errors\n\t\t *\n\t\t * @param {string} property the errored property, e.g. 'password'\n\t\t * @param {string} message the error message\n\t\t */\n\t\tonSyncError(property, message) {\n\t\t\tif (property === 'password' && this.share.newPassword !== undefined) {\n\t\t\t\tif (this.share.newPassword === this.share.password) {\n\t\t\t\t\tthis.share.password = ''\n\t\t\t\t}\n\t\t\t\tthis.$delete(this.share, 'newPassword')\n\t\t\t}\n\n\t\t\t// re-open menu if closed\n\t\t\tthis.open = true\n\t\t\tswitch (property) {\n\t\t\t\tcase 'password':\n\t\t\t\tcase 'pending':\n\t\t\t\tcase 'expireDate':\n\t\t\t\tcase 'label':\n\t\t\t\tcase 'note': {\n\t\t\t\t// show error\n\t\t\t\t\tthis.$set(this.errors, property, message)\n\n\t\t\t\t\tlet propertyEl = this.$refs[property]\n\t\t\t\t\tif (propertyEl) {\n\t\t\t\t\t\tif (propertyEl.$el) {\n\t\t\t\t\t\t\tpropertyEl = propertyEl.$el\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// focus if there is a focusable action element\n\t\t\t\t\t\tconst focusable = propertyEl.querySelector('.focusable')\n\t\t\t\t\t\tif (focusable) {\n\t\t\t\t\t\t\tfocusable.focus()\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\tcase 'sendPasswordByTalk': {\n\t\t\t\t// show error\n\t\t\t\t\tthis.$set(this.errors, property, message)\n\n\t\t\t\t\t// Restore previous state\n\t\t\t\t\tthis.share.sendPasswordByTalk = !this.share.sendPasswordByTalk\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Debounce queueUpdate to avoid requests spamming\n\t\t * more importantly for text data\n\t\t *\n\t\t * @param {string} property the property to sync\n\t\t */\n\t\tdebounceQueueUpdate: debounce(function(property) {\n\t\t\tthis.queueUpdate(property)\n\t\t}, 500),\n\t},\n}\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingDetailsTab.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!./SharingDetailsTab.vue?vue&type=script&lang=js\"","\n\n\n\n\n\n","/*!\n * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: GPL-3.0-or-later\n */\nimport isSvg from 'is-svg';\n/**\n * Register a new sidebar action\n *\n * @param action - The action to register\n */\nexport function registerSidebarAction(action) {\n if (!action.id) {\n throw new Error('Sidebar actions must have an id');\n }\n if (!action.element || !action.element.startsWith('oca_') || !window.customElements.get(action.element)) {\n throw new Error('Sidebar actions must provide a registered custom web component identifier');\n }\n if (typeof action.order !== 'number') {\n throw new Error('Sidebar actions must have the order property');\n }\n if (typeof action.enabled !== 'function') {\n throw new Error('Sidebar actions must implement the \"enabled\" method');\n }\n window._nc_files_sharing_sidebar_actions ??= new Map();\n if (window._nc_files_sharing_sidebar_actions.has(action.id)) {\n throw new Error(`Sidebar action with id \"${action.id}\" is already registered`);\n }\n window._nc_files_sharing_sidebar_actions.set(action.id, action);\n}\n/**\n * Register a new sidebar action\n *\n * @param action - The action to register\n */\nexport function registerSidebarInlineAction(action) {\n if (!action.id) {\n throw new Error('Sidebar actions must have an id');\n }\n if (typeof action.order !== 'number') {\n throw new Error('Sidebar actions must have the \"order\" property');\n }\n if (typeof action.iconSvg !== 'string' || !isSvg(action.iconSvg)) {\n throw new Error('Sidebar actions must have the \"iconSvg\" property');\n }\n if (typeof action.label !== 'function') {\n throw new Error('Sidebar actions must implement the \"label\" method');\n }\n if (typeof action.exec !== 'function') {\n throw new Error('Sidebar actions must implement the \"exec\" method');\n }\n if (typeof action.enabled !== 'function') {\n throw new Error('Sidebar actions must implement the \"enabled\" method');\n }\n window._nc_files_sharing_sidebar_inline_actions ??= new Map();\n if (window._nc_files_sharing_sidebar_inline_actions.has(action.id)) {\n throw new Error(`Sidebar action with id \"${action.id}\" is already registered`);\n }\n window._nc_files_sharing_sidebar_inline_actions.set(action.id, action);\n}\n/**\n * Get all registered sidebar actions\n */\nexport function getSidebarActions() {\n return [...(window._nc_files_sharing_sidebar_actions?.values() ?? [])];\n}\n/**\n * Get all registered sidebar inline actions\n */\nexport function getSidebarInlineActions() {\n return [...(window._nc_files_sharing_sidebar_inline_actions?.values() ?? [])];\n}\n","/**\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport axios from '@nextcloud/axios';\nimport { generateOcsUrl } from '@nextcloud/router';\n/**\n *\n */\nexport async function generateToken() {\n const { data } = await axios.get(generateOcsUrl('/apps/files_sharing/api/v1/token'));\n return data.ocs.data.token;\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!./SharingDetailsTab.vue?vue&type=style&index=0&id=16ed4bff&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!./SharingDetailsTab.vue?vue&type=style&index=0&id=16ed4bff&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SharingDetailsTab.vue?vue&type=template&id=16ed4bff&scoped=true\"\nimport script from \"./SharingDetailsTab.vue?vue&type=script&lang=js\"\nexport * from \"./SharingDetailsTab.vue?vue&type=script&lang=js\"\nimport style0 from \"./SharingDetailsTab.vue?vue&type=style&index=0&id=16ed4bff&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 \"16ed4bff\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('ul',{attrs:{\"id\":\"sharing-inherited-shares\"}},[_c('SharingEntrySimple',{staticClass:\"sharing-entry__inherited\",attrs:{\"title\":_vm.mainTitle,\"subtitle\":_vm.subTitle,\"aria-expanded\":_vm.showInheritedShares},scopedSlots:_vm._u([{key:\"avatar\",fn:function(){return [_c('div',{staticClass:\"avatar-shared icon-more-white\"})]},proxy:true}])},[_vm._v(\" \"),_c('NcActionButton',{attrs:{\"icon\":_vm.showInheritedSharesIcon,\"aria-label\":_vm.toggleTooltip,\"title\":_vm.toggleTooltip},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.toggleInheritedShares.apply(null, arguments)}}})],1),_vm._v(\" \"),_vm._l((_vm.shares),function(share){return _c('SharingEntryInherited',{key:share.id,attrs:{\"file-info\":_vm.fileInfo,\"share\":share},on:{\"remove:share\":_vm.removeShare}})})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryInherited.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!./SharingEntryInherited.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!./SharingEntryInherited.vue?vue&type=style&index=0&id=731a9650&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!./SharingEntryInherited.vue?vue&type=style&index=0&id=731a9650&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SharingEntryInherited.vue?vue&type=template&id=731a9650&scoped=true\"\nimport script from \"./SharingEntryInherited.vue?vue&type=script&lang=js\"\nexport * from \"./SharingEntryInherited.vue?vue&type=script&lang=js\"\nimport style0 from \"./SharingEntryInherited.vue?vue&type=style&index=0&id=731a9650&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 \"731a9650\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('SharingEntrySimple',{key:_vm.share.id,staticClass:\"sharing-entry__inherited\",attrs:{\"title\":_vm.share.shareWithDisplayName},scopedSlots:_vm._u([{key:\"avatar\",fn:function(){return [_c('NcAvatar',{staticClass:\"sharing-entry__avatar\",attrs:{\"user\":_vm.share.shareWith,\"display-name\":_vm.share.shareWithDisplayName}})]},proxy:true}])},[_vm._v(\" \"),_c('NcActionText',{attrs:{\"icon\":\"icon-user\"}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Added by {initiator}', { initiator: _vm.share.ownerDisplayName }))+\"\\n\\t\")]),_vm._v(\" \"),(_vm.share.viaPath && _vm.share.viaFileid)?_c('NcActionLink',{attrs:{\"icon\":\"icon-folder\",\"href\":_vm.viaFileTargetUrl}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Via “{folder}”', { folder: _vm.viaFolderName }))+\"\\n\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.share.canDelete)?_c('NcActionButton',{attrs:{\"icon\":\"icon-close\"},on:{\"click\":function($event){$event.preventDefault();return _vm.onDelete.apply(null, arguments)}}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Unshare'))+\"\\n\\t\")]):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingInherited.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!./SharingInherited.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!./SharingInherited.vue?vue&type=style&index=0&id=cedf3238&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!./SharingInherited.vue?vue&type=style&index=0&id=cedf3238&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SharingInherited.vue?vue&type=template&id=cedf3238&scoped=true\"\nimport script from \"./SharingInherited.vue?vue&type=script&lang=js\"\nexport * from \"./SharingInherited.vue?vue&type=script&lang=js\"\nimport style0 from \"./SharingInherited.vue?vue&type=style&index=0&id=cedf3238&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 \"cedf3238\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.canLinkShare)?_c('ul',{staticClass:\"sharing-link-list\",attrs:{\"aria-label\":_vm.t('files_sharing', 'Link shares')}},[(_vm.hasShares)?_vm._l((_vm.shares),function(share,index){return _c('SharingEntryLink',{key:share.id,attrs:{\"index\":_vm.shares.length > 1 ? index + 1 : null,\"can-reshare\":_vm.canReshare,\"share\":_vm.shares[index],\"file-info\":_vm.fileInfo},on:{\"update:share\":[function($event){return _vm.$set(_vm.shares, index, $event)},function($event){return _vm.awaitForShare(...arguments)}],\"add:share\":function($event){return _vm.addShare(...arguments)},\"remove:share\":_vm.removeShare,\"open-sharing-details\":function($event){return _vm.openSharingDetails(share)}}})}):_vm._e(),_vm._v(\" \"),(!_vm.hasLinkShares && _vm.canReshare)?_c('SharingEntryLink',{attrs:{\"can-reshare\":_vm.canReshare,\"file-info\":_vm.fileInfo},on:{\"add:share\":_vm.addShare}}):_vm._e()],2):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./CalendarBlankOutline.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./CalendarBlankOutline.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./CalendarBlankOutline.vue?vue&type=template&id=784b59e6\"\nimport script from \"./CalendarBlankOutline.vue?vue&type=script&lang=js\"\nexport * from \"./CalendarBlankOutline.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 calendar-blank-outline-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\":\"M19 3H18V1H16V3H8V1H6V3H5C3.89 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.9 20.11 3 19 3M19 19H5V9H19V19M19 7H5V5H19V7Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./CheckBold.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./CheckBold.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./CheckBold.vue?vue&type=template&id=5603f41f\"\nimport script from \"./CheckBold.vue?vue&type=script&lang=js\"\nexport * from \"./CheckBold.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 check-bold-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,20.42L2.79,14.21L5.62,11.38L9,14.77L18.88,4.88L21.71,7.71L9,20.42Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Exclamation.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Exclamation.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./Exclamation.vue?vue&type=template&id=03239926\"\nimport script from \"./Exclamation.vue?vue&type=script&lang=js\"\nexport * from \"./Exclamation.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 exclamation-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\":\"M 11,4L 13,4L 13,15L 11,15L 11,4 Z M 13,18L 13,20L 11,20L 11,18L 13,18 Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./LockOutline.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./LockOutline.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./LockOutline.vue?vue&type=template&id=54353a96\"\nimport script from \"./LockOutline.vue?vue&type=script&lang=js\"\nexport * from \"./LockOutline.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-outline-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\":\"M12,17C10.89,17 10,16.1 10,15C10,13.89 10.89,13 12,13A2,2 0 0,1 14,15A2,2 0 0,1 12,17M18,20V10H6V20H18M18,8A2,2 0 0,1 20,10V20A2,2 0 0,1 18,22H6C4.89,22 4,21.1 4,20V10C4,8.89 4.89,8 6,8H7V6A5,5 0 0,1 12,1A5,5 0 0,1 17,6V8H18M12,3A3,3 0 0,0 9,6V8H15V6A3,3 0 0,0 12,3Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Plus.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Plus.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./Plus.vue?vue&type=template&id=055261ec\"\nimport script from \"./Plus.vue?vue&type=script&lang=js\"\nexport * from \"./Plus.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 plus-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\":\"M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Qrcode.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Qrcode.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./Qrcode.vue?vue&type=template&id=aba87788\"\nimport script from \"./Qrcode.vue?vue&type=script&lang=js\"\nexport * from \"./Qrcode.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 qrcode-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\":\"M3,11H5V13H3V11M11,5H13V9H11V5M9,11H13V15H11V13H9V11M15,11H17V13H19V11H21V13H19V15H21V19H19V21H17V19H13V21H11V17H15V15H17V13H15V11M19,19V15H17V19H19M15,3H21V9H15V3M17,5V7H19V5H17M3,3H9V9H3V3M5,5V7H7V5H5M3,15H9V21H3V15M5,17V19H7V17H5Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Tune.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Tune.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./Tune.vue?vue&type=template&id=18d04e6a\"\nimport script from \"./Tune.vue?vue&type=script&lang=js\"\nexport * from \"./Tune.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 tune-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\":\"M3,17V19H9V17H3M3,5V7H13V5H3M13,21V19H21V17H13V15H11V21H13M7,9V11H3V13H7V15H9V9H7M21,13V11H11V13H21M15,9H17V7H21V5H17V3H15V9Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"share-expiry-time\"},[_c('NcPopover',{attrs:{\"popup-role\":\"dialog\"},scopedSlots:_vm._u([{key:\"trigger\",fn:function(){return [(_vm.expiryTime)?_c('NcButton',{staticClass:\"hint-icon\",attrs:{\"variant\":\"tertiary\",\"aria-label\":_vm.t('files_sharing', 'Share expiration: {date}', { date: new Date(_vm.expiryTime).toLocaleString() })},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('ClockIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,3754271979)}):_vm._e()]},proxy:true}])},[_vm._v(\" \"),_c('h3',{staticClass:\"hint-heading\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Share Expiration'))+\"\\n\\t\\t\")]),_vm._v(\" \"),(_vm.expiryTime)?_c('p',{staticClass:\"hint-body\"},[_c('NcDateTime',{attrs:{\"timestamp\":_vm.expiryTime,\"format\":_vm.timeFormat,\"relative-time\":false}}),_vm._v(\" (\"),_c('NcDateTime',{attrs:{\"timestamp\":_vm.expiryTime}}),_vm._v(\")\\n\\t\\t\")],1):_vm._e()])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./ClockOutline.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./ClockOutline.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ClockOutline.vue?vue&type=template&id=1a84e403\"\nimport script from \"./ClockOutline.vue?vue&type=script&lang=js\"\nexport * from \"./ClockOutline.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 clock-outline-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\":\"M12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22C6.47,22 2,17.5 2,12A10,10 0 0,1 12,2M12.5,7V12.25L17,14.92L16.25,16.15L11,13V7H12.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!./ShareExpiryTime.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!./ShareExpiryTime.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!./ShareExpiryTime.vue?vue&type=style&index=0&id=c9199db0&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!./ShareExpiryTime.vue?vue&type=style&index=0&id=c9199db0&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./ShareExpiryTime.vue?vue&type=template&id=c9199db0&scoped=true\"\nimport script from \"./ShareExpiryTime.vue?vue&type=script&lang=js\"\nexport * from \"./ShareExpiryTime.vue?vue&type=script&lang=js\"\nimport style0 from \"./ShareExpiryTime.vue?vue&type=style&index=0&id=c9199db0&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 \"c9199db0\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./EyeOutline.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./EyeOutline.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./EyeOutline.vue?vue&type=template&id=e26de6f6\"\nimport script from \"./EyeOutline.vue?vue&type=script&lang=js\"\nexport * from \"./EyeOutline.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 eye-outline-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\":\"M12,9A3,3 0 0,1 15,12A3,3 0 0,1 12,15A3,3 0 0,1 9,12A3,3 0 0,1 12,9M12,4.5C17,4.5 21.27,7.61 23,12C21.27,16.39 17,19.5 12,19.5C7,19.5 2.73,16.39 1,12C2.73,7.61 7,4.5 12,4.5M3.18,12C4.83,15.36 8.24,17.5 12,17.5C15.76,17.5 19.17,15.36 20.82,12C19.17,8.64 15.76,6.5 12,6.5C8.24,6.5 4.83,8.64 3.18,12Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./TriangleSmallDown.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./TriangleSmallDown.vue?vue&type=script&lang=js\"","\n\n","\n\n\n\n\n\n","import { render, staticRenderFns } from \"./TriangleSmallDown.vue?vue&type=template&id=1eed3dd9\"\nimport script from \"./TriangleSmallDown.vue?vue&type=script&lang=js\"\nexport * from \"./TriangleSmallDown.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 triangle-small-down-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\":\"M8 9H16L12 16\"}},[(_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!./SharingEntryQuickShareSelect.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!./SharingEntryQuickShareSelect.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!./SharingEntryQuickShareSelect.vue?vue&type=style&index=0&id=b5eca1ec&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!./SharingEntryQuickShareSelect.vue?vue&type=style&index=0&id=b5eca1ec&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SharingEntryQuickShareSelect.vue?vue&type=template&id=b5eca1ec&scoped=true\"\nimport script from \"./SharingEntryQuickShareSelect.vue?vue&type=script&lang=js\"\nexport * from \"./SharingEntryQuickShareSelect.vue?vue&type=script&lang=js\"\nimport style0 from \"./SharingEntryQuickShareSelect.vue?vue&type=style&index=0&id=b5eca1ec&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 \"b5eca1ec\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('NcActions',{ref:\"quickShareActions\",staticClass:\"share-select\",attrs:{\"menu-name\":_vm.selectedOption,\"aria-label\":_vm.ariaLabel,\"variant\":\"tertiary-no-background\",\"disabled\":!_vm.share.canEdit,\"force-name\":\"\"},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('DropdownIcon',{attrs:{\"size\":15}})]},proxy:true}])},[_vm._v(\" \"),_vm._l((_vm.options),function(option){return _c('NcActionButton',{key:option.label,attrs:{\"type\":\"radio\",\"model-value\":option.label === _vm.selectedOption,\"close-after-click\":\"\"},on:{\"click\":function($event){return _vm.selectOption(option.label)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(option.icon,{tag:\"component\"})]},proxy:true}],null,true)},[_vm._v(\"\\n\\t\\t\"+_vm._s(option.label)+\"\\n\\t\")])})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryLink.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!./SharingEntryLink.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!./SharingEntryLink.vue?vue&type=style&index=0&id=4ca4172c&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!./SharingEntryLink.vue?vue&type=style&index=0&id=4ca4172c&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SharingEntryLink.vue?vue&type=template&id=4ca4172c&scoped=true\"\nimport script from \"./SharingEntryLink.vue?vue&type=script&lang=js\"\nexport * from \"./SharingEntryLink.vue?vue&type=script&lang=js\"\nimport style0 from \"./SharingEntryLink.vue?vue&type=style&index=0&id=4ca4172c&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 \"4ca4172c\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('li',{staticClass:\"sharing-entry sharing-entry__link\",class:{ 'sharing-entry--share': _vm.share }},[_c('NcAvatar',{staticClass:\"sharing-entry__avatar\",attrs:{\"is-no-user\":true,\"icon-class\":_vm.isEmailShareType ? 'avatar-link-share icon-mail-white' : 'avatar-link-share icon-public-white'}}),_vm._v(\" \"),_c('div',{staticClass:\"sharing-entry__summary\"},[_c('div',{staticClass:\"sharing-entry__desc\"},[_c('span',{staticClass:\"sharing-entry__title\",attrs:{\"title\":_vm.title}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.title)+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),(_vm.subtitle)?_c('p',[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.subtitle)+\"\\n\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.share && _vm.share.permissions !== undefined)?_c('SharingEntryQuickShareSelect',{attrs:{\"share\":_vm.share,\"file-info\":_vm.fileInfo},on:{\"open-sharing-details\":function($event){return _vm.openShareDetailsForCustomSettings(_vm.share)}}}):_vm._e()],1),_vm._v(\" \"),_c('div',{staticClass:\"sharing-entry__actions\"},[(_vm.share && _vm.share.expireDate)?_c('ShareExpiryTime',{attrs:{\"share\":_vm.share}}):_vm._e(),_vm._v(\" \"),_c('div',[(_vm.share && (!_vm.isEmailShareType || _vm.isFileRequest) && _vm.share.token)?_c('NcActions',{ref:\"copyButton\",staticClass:\"sharing-entry__copy\"},[_c('NcActionButton',{attrs:{\"aria-label\":_vm.copyLinkLabel,\"title\":_vm.copySuccess ? _vm.t('files_sharing', 'Successfully copied public link') : undefined,\"href\":_vm.shareLink},on:{\"click\":function($event){$event.preventDefault();return _vm.copyLink.apply(null, arguments)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{staticClass:\"sharing-entry__copy-icon\",class:{ 'sharing-entry__copy-icon--success': _vm.copySuccess },attrs:{\"path\":_vm.copySuccess ? _vm.mdiCheck : _vm.mdiContentCopy}})]},proxy:true}],null,false,1728815133)})],1):_vm._e()],1)],1)]),_vm._v(\" \"),(!_vm.pending && _vm.pendingDataIsMissing)?_c('NcActions',{staticClass:\"sharing-entry__actions\",attrs:{\"aria-label\":_vm.actionsTooltip,\"menu-align\":\"right\",\"open\":_vm.open},on:{\"update:open\":function($event){_vm.open=$event},\"close\":_vm.onCancel}},[(_vm.errors.pending)?_c('NcActionText',{staticClass:\"error\",scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('ErrorIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,1966124155)},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.errors.pending)+\"\\n\\t\\t\")]):_c('NcActionText',{attrs:{\"icon\":\"icon-info\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Please enter the following required information before creating the share'))+\"\\n\\t\\t\")]),_vm._v(\" \"),(_vm.pendingPassword)?_c('NcActionCheckbox',{staticClass:\"share-link-password-checkbox\",attrs:{\"disabled\":_vm.config.enforcePasswordForPublicLink || _vm.saving},on:{\"uncheck\":_vm.onPasswordDisable},model:{value:(_vm.isPasswordProtected),callback:function ($$v) {_vm.isPasswordProtected=$$v},expression:\"isPasswordProtected\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.config.enforcePasswordForPublicLink ? _vm.t('files_sharing', 'Password protection (enforced)') : _vm.t('files_sharing', 'Password protection'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.pendingEnforcedPassword || _vm.isPasswordProtected)?_c('NcActionInput',{staticClass:\"share-link-password\",attrs:{\"label\":_vm.t('files_sharing', 'Enter a password'),\"disabled\":_vm.saving,\"required\":_vm.config.enableLinkPasswordByDefault || _vm.config.enforcePasswordForPublicLink,\"minlength\":_vm.isPasswordPolicyEnabled && _vm.config.passwordPolicy.minLength,\"autocomplete\":\"new-password\"},on:{\"submit\":function($event){return _vm.onNewLinkShare(true)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('LockIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,2056568168),model:{value:(_vm.share.newPassword),callback:function ($$v) {_vm.$set(_vm.share, \"newPassword\", $$v)},expression:\"share.newPassword\"}}):_vm._e(),_vm._v(\" \"),(_vm.pendingDefaultExpirationDate)?_c('NcActionCheckbox',{staticClass:\"share-link-expiration-date-checkbox\",attrs:{\"disabled\":_vm.pendingEnforcedExpirationDate || _vm.saving},on:{\"update:model-value\":_vm.onExpirationDateToggleUpdate},model:{value:(_vm.defaultExpirationDateEnabled),callback:function ($$v) {_vm.defaultExpirationDateEnabled=$$v},expression:\"defaultExpirationDateEnabled\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.config.isDefaultExpireDateEnforced ? _vm.t('files_sharing', 'Enable link expiration (enforced)') : _vm.t('files_sharing', 'Enable link expiration'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),((_vm.pendingDefaultExpirationDate || _vm.pendingEnforcedExpirationDate) && _vm.defaultExpirationDateEnabled)?_c('NcActionInput',{staticClass:\"share-link-expire-date\",attrs:{\"data-cy-files-sharing-expiration-date-input\":\"\",\"label\":_vm.pendingEnforcedExpirationDate ? _vm.t('files_sharing', 'Enter expiration date (enforced)') : _vm.t('files_sharing', 'Enter expiration date'),\"disabled\":_vm.saving,\"is-native-picker\":true,\"hide-label\":true,\"model-value\":new Date(_vm.share.expireDate),\"type\":\"date\",\"min\":_vm.dateTomorrow,\"max\":_vm.maxExpirationDateEnforced},on:{\"update:model-value\":_vm.onExpirationChange,\"change\":_vm.expirationDateChanged},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('IconCalendarBlank',{attrs:{\"size\":20}})]},proxy:true}],null,false,3418578971)}):_vm._e(),_vm._v(\" \"),_c('NcActionButton',{attrs:{\"disabled\":_vm.pendingEnforcedPassword && !_vm.share.newPassword},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.onNewLinkShare(true)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('CheckIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,2630571749)},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Create share'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('NcActionButton',{on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.onCancel.apply(null, arguments)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('CloseIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,2428343285)},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Cancel'))+\"\\n\\t\\t\")])],1):(!_vm.loading)?_c('NcActions',{staticClass:\"sharing-entry__actions\",attrs:{\"aria-label\":_vm.actionsTooltip,\"menu-align\":\"right\",\"open\":_vm.open},on:{\"update:open\":function($event){_vm.open=$event},\"close\":_vm.onMenuClose}},[(_vm.share)?[(_vm.share.canEdit && _vm.canReshare)?[_c('NcActionButton',{attrs:{\"disabled\":_vm.saving,\"close-after-click\":true},on:{\"click\":function($event){$event.preventDefault();return _vm.openSharingDetails.apply(null, arguments)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Tune',{attrs:{\"size\":20}})]},proxy:true}],null,false,1300586850)},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Customize link'))+\"\\n\\t\\t\\t\\t\")])]:_vm._e(),_vm._v(\" \"),_c('NcActionButton',{attrs:{\"close-after-click\":true},on:{\"click\":function($event){$event.preventDefault();_vm.showQRCode = true}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('IconQr',{attrs:{\"size\":20}})]},proxy:true}],null,false,1082198240)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Generate QR code'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcActionSeparator'),_vm._v(\" \"),_vm._l((_vm.sortedExternalShareActions),function(action){return _c('NcActionButton',{key:action.id,on:{\"click\":function($event){return action.exec(_vm.share, _vm.fileInfo.node)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{attrs:{\"svg\":action.iconSvg}})]},proxy:true}],null,true)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(action.label(_vm.share, _vm.fileInfo.node))+\"\\n\\t\\t\\t\")])}),_vm._v(\" \"),_vm._l((_vm.externalLegacyShareActions),function(action){return _c('SidebarTabExternalActionLegacy',{key:action.id,attrs:{\"id\":action.id,\"action\":action,\"file-info\":_vm.fileInfo,\"share\":_vm.share}})}),_vm._v(\" \"),(!_vm.isEmailShareType && _vm.canReshare)?_c('NcActionButton',{staticClass:\"new-share-link\",on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.onNewLinkShare.apply(null, arguments)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('PlusIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,2953566425)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Add another link'))+\"\\n\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.share.canDelete)?_c('NcActionButton',{attrs:{\"disabled\":_vm.saving},on:{\"click\":function($event){$event.preventDefault();return _vm.onDelete.apply(null, arguments)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('CloseIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,2428343285)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Unshare'))+\"\\n\\t\\t\\t\")]):_vm._e()]:(_vm.canReshare)?_c('NcActionButton',{staticClass:\"new-share-link\",attrs:{\"title\":_vm.t('files_sharing', 'Create a new share link'),\"aria-label\":_vm.t('files_sharing', 'Create a new share link'),\"icon\":_vm.loading ? 'icon-loading-small' : 'icon-add'},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.onNewLinkShare.apply(null, arguments)}}}):_vm._e()],2):_c('NcLoadingIcon',{staticClass:\"sharing-entry__loading\"}),_vm._v(\" \"),(_vm.showQRCode)?_c('NcDialog',{attrs:{\"size\":\"normal\",\"open\":_vm.showQRCode,\"name\":_vm.title,\"close-on-click-outside\":true},on:{\"update:open\":function($event){_vm.showQRCode=$event},\"close\":function($event){_vm.showQRCode = false}}},[_c('div',{staticClass:\"qr-code-dialog\"},[_c('VueQrcode',{staticClass:\"qr-code-dialog__img\",attrs:{\"tag\":\"img\",\"value\":_vm.shareLink}})],1)]):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingLinkList.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!./SharingLinkList.vue?vue&type=script&lang=js\"","\n\n\n\n\n","import { render, staticRenderFns } from \"./SharingLinkList.vue?vue&type=template&id=708b3104\"\nimport script from \"./SharingLinkList.vue?vue&type=script&lang=js\"\nexport * from \"./SharingLinkList.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntry.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!./SharingEntry.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!./SharingEntry.vue?vue&type=style&index=0&id=469e5e80&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!./SharingEntry.vue?vue&type=style&index=0&id=469e5e80&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SharingEntry.vue?vue&type=template&id=469e5e80&scoped=true\"\nimport script from \"./SharingEntry.vue?vue&type=script&lang=js\"\nexport * from \"./SharingEntry.vue?vue&type=script&lang=js\"\nimport style0 from \"./SharingEntry.vue?vue&type=style&index=0&id=469e5e80&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 \"469e5e80\",\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!./SharingList.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!./SharingList.vue?vue&type=script&lang=js\"","\n\n\n\n\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('li',{staticClass:\"sharing-entry\"},[_c('NcAvatar',{staticClass:\"sharing-entry__avatar\",attrs:{\"is-no-user\":_vm.share.type !== _vm.ShareType.User,\"user\":_vm.share.shareWith,\"display-name\":_vm.share.shareWithDisplayName,\"menu-position\":\"left\",\"url\":_vm.share.shareWithAvatar}}),_vm._v(\" \"),_c('div',{staticClass:\"sharing-entry__summary\"},[_c(_vm.share.shareWithLink ? 'a' : 'div',{tag:\"component\",staticClass:\"sharing-entry__summary__desc\",attrs:{\"title\":_vm.tooltip,\"aria-label\":_vm.tooltip,\"href\":_vm.share.shareWithLink}},[_c('span',[_vm._v(_vm._s(_vm.title)+\"\\n\\t\\t\\t\\t\"),(!_vm.isUnique)?_c('span',{staticClass:\"sharing-entry__summary__desc-unique\"},[_vm._v(\"\\n\\t\\t\\t\\t\\t(\"+_vm._s(_vm.share.shareWithDisplayNameUnique)+\")\\n\\t\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.hasStatus && _vm.share.status.message)?_c('small',[_vm._v(\"(\"+_vm._s(_vm.share.status.message)+\")\")]):_vm._e()])]),_vm._v(\" \"),_c('SharingEntryQuickShareSelect',{attrs:{\"share\":_vm.share,\"file-info\":_vm.fileInfo},on:{\"open-sharing-details\":function($event){return _vm.openShareDetailsForCustomSettings(_vm.share)}}})],1),_vm._v(\" \"),(_vm.share && _vm.share.expireDate)?_c('ShareExpiryTime',{attrs:{\"share\":_vm.share}}):_vm._e(),_vm._v(\" \"),(_vm.share.canEdit)?_c('NcButton',{staticClass:\"sharing-entry__action\",attrs:{\"data-cy-files-sharing-share-actions\":\"\",\"aria-label\":_vm.t('files_sharing', 'Open Sharing Details'),\"variant\":\"tertiary\"},on:{\"click\":function($event){return _vm.openSharingDetails(_vm.share)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('DotsHorizontalIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,1700783217)}):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./SharingList.vue?vue&type=template&id=7e1141c6\"\nimport script from \"./SharingList.vue?vue&type=script&lang=js\"\nexport * from \"./SharingList.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('ul',{staticClass:\"sharing-sharee-list\",attrs:{\"aria-label\":_vm.t('files_sharing', 'Shares')}},_vm._l((_vm.shares),function(share){return _c('SharingEntry',{key:share.id,attrs:{\"file-info\":_vm.fileInfo,\"share\":share,\"is-unique\":_vm.isUnique(share)},on:{\"open-sharing-details\":function($event){return _vm.openSharingDetails(share)}}})}),1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","/*!\n * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: GPL-3.0-or-later\n */\n/**\n * Register a new sidebar section inside the files sharing sidebar tab.\n *\n * @param section - The section to register\n */\nexport function registerSidebarSection(section) {\n if (!section.id) {\n throw new Error('Sidebar sections must have an id');\n }\n if (!section.element || !section.element.startsWith('oca_') || !window.customElements.get(section.element)) {\n throw new Error('Sidebar sections must provide a registered custom web component identifier');\n }\n if (typeof section.order !== 'number') {\n throw new Error('Sidebar sections must have the order property');\n }\n if (typeof section.enabled !== 'function') {\n throw new Error('Sidebar sections must implement the enabled method');\n }\n window._nc_files_sharing_sidebar_sections ??= new Map();\n if (window._nc_files_sharing_sidebar_sections.has(section.id)) {\n throw new Error(`Sidebar section with id \"${section.id}\" is already registered`);\n }\n window._nc_files_sharing_sidebar_sections.set(section.id, section);\n}\n/**\n * Get all registered sidebar sections for the files sharing sidebar tab.\n */\nexport function getSidebarSections() {\n return [...(window._nc_files_sharing_sidebar_sections?.values() ?? [])];\n}\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { ShareType } from '@nextcloud/sharing'\n\n/**\n *\n * @param share\n */\nfunction shareWithTitle(share) {\n\tif (share.type === ShareType.Group) {\n\t\treturn t(\n\t\t\t'files_sharing',\n\t\t\t'Shared with you and the group {group} by {owner}',\n\t\t\t{\n\t\t\t\tgroup: share.shareWithDisplayName,\n\t\t\t\towner: share.ownerDisplayName,\n\t\t\t},\n\t\t\tundefined,\n\t\t\t{ escape: false },\n\t\t)\n\t} else if (share.type === ShareType.Team) {\n\t\treturn t(\n\t\t\t'files_sharing',\n\t\t\t'Shared with you and {circle} by {owner}',\n\t\t\t{\n\t\t\t\tcircle: share.shareWithDisplayName,\n\t\t\t\towner: share.ownerDisplayName,\n\t\t\t},\n\t\t\tundefined,\n\t\t\t{ escape: false },\n\t\t)\n\t} else if (share.type === ShareType.Room) {\n\t\tif (share.shareWithDisplayName) {\n\t\t\treturn t(\n\t\t\t\t'files_sharing',\n\t\t\t\t'Shared with you and the conversation {conversation} by {owner}',\n\t\t\t\t{\n\t\t\t\t\tconversation: share.shareWithDisplayName,\n\t\t\t\t\towner: share.ownerDisplayName,\n\t\t\t\t},\n\t\t\t\tundefined,\n\t\t\t\t{ escape: false },\n\t\t\t)\n\t\t} else {\n\t\t\treturn t(\n\t\t\t\t'files_sharing',\n\t\t\t\t'Shared with you in a conversation by {owner}',\n\t\t\t\t{\n\t\t\t\t\towner: share.ownerDisplayName,\n\t\t\t\t},\n\t\t\t\tundefined,\n\t\t\t\t{ escape: false },\n\t\t\t)\n\t\t}\n\t} else {\n\t\treturn t(\n\t\t\t'files_sharing',\n\t\t\t'Shared with you by {owner}',\n\t\t\t{ owner: share.ownerDisplayName },\n\t\t\tundefined,\n\t\t\t{ escape: false },\n\t\t)\n\t}\n}\n\nexport { shareWithTitle }\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingTab.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!./SharingTab.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!./SharingTab.vue?vue&type=style&index=0&id=cd6ad9ee&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!./SharingTab.vue?vue&type=style&index=0&id=cd6ad9ee&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SharingTab.vue?vue&type=template&id=cd6ad9ee&scoped=true\"\nimport script from \"./SharingTab.vue?vue&type=script&lang=js\"\nexport * from \"./SharingTab.vue?vue&type=script&lang=js\"\nimport style0 from \"./SharingTab.vue?vue&type=style&index=0&id=cd6ad9ee&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 \"cd6ad9ee\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"sharingTab\",class:{ 'icon-loading': _vm.loading }},[(_vm.error)?_c('div',{staticClass:\"emptycontent\",class:{ emptyContentWithSections: _vm.hasExternalSections }},[_c('div',{staticClass:\"icon icon-error\"}),_vm._v(\" \"),_c('h2',[_vm._v(_vm._s(_vm.error))])]):_vm._e(),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.showSharingDetailsView),expression:\"!showSharingDetailsView\"}],staticClass:\"sharingTab__content\"},[(_vm.isSharedWithMe)?_c('ul',[_c('SharingEntrySimple',_vm._b({staticClass:\"sharing-entry__reshare\",scopedSlots:_vm._u([{key:\"avatar\",fn:function(){return [_c('NcAvatar',{staticClass:\"sharing-entry__avatar\",attrs:{\"user\":_vm.sharedWithMe.user,\"display-name\":_vm.sharedWithMe.displayName}})]},proxy:true}],null,false,3197855346)},'SharingEntrySimple',_vm.sharedWithMe,false))],1):_vm._e(),_vm._v(\" \"),_c('section',[_c('div',{staticClass:\"section-header\"},[_c('h4',[_vm._v(_vm._s(_vm.t('files_sharing', 'Internal shares')))]),_vm._v(\" \"),_c('NcPopover',{attrs:{\"popup-role\":\"dialog\"},scopedSlots:_vm._u([{key:\"trigger\",fn:function(){return [_c('NcButton',{staticClass:\"hint-icon\",attrs:{\"variant\":\"tertiary-no-background\",\"aria-label\":_vm.t('files_sharing', 'Internal shares explanation')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('InfoIcon',{attrs:{\"size\":20}})]},proxy:true}])})]},proxy:true}])},[_vm._v(\" \"),_c('p',{staticClass:\"hint-body\"},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.internalSharesHelpText)+\"\\n\\t\\t\\t\\t\\t\")])])],1),_vm._v(\" \"),(!_vm.loading)?_c('SharingInput',{attrs:{\"can-reshare\":_vm.canReshare,\"file-info\":_vm.fileInfo,\"link-shares\":_vm.linkShares,\"reshare\":_vm.reshare,\"shares\":_vm.shares,\"placeholder\":_vm.internalShareInputPlaceholder},on:{\"open-sharing-details\":_vm.toggleShareDetailsView}}):_vm._e(),_vm._v(\" \"),(!_vm.loading)?_c('SharingList',{ref:\"shareList\",attrs:{\"shares\":_vm.shares,\"file-info\":_vm.fileInfo},on:{\"open-sharing-details\":_vm.toggleShareDetailsView}}):_vm._e(),_vm._v(\" \"),(_vm.canReshare && !_vm.loading)?_c('SharingInherited',{attrs:{\"file-info\":_vm.fileInfo}}):_vm._e(),_vm._v(\" \"),_c('SharingEntryInternal',{attrs:{\"file-info\":_vm.fileInfo}})],1),_vm._v(\" \"),(_vm.config.showExternalSharing)?_c('section',[_c('div',{staticClass:\"section-header\"},[_c('h4',[_vm._v(_vm._s(_vm.t('files_sharing', 'External shares')))]),_vm._v(\" \"),_c('NcPopover',{attrs:{\"popup-role\":\"dialog\"},scopedSlots:_vm._u([{key:\"trigger\",fn:function(){return [_c('NcButton',{staticClass:\"hint-icon\",attrs:{\"variant\":\"tertiary-no-background\",\"aria-label\":_vm.t('files_sharing', 'External shares explanation')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('InfoIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,915383693)})]},proxy:true}],null,false,4045083138)},[_vm._v(\" \"),_c('p',{staticClass:\"hint-body\"},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.externalSharesHelpText)+\"\\n\\t\\t\\t\\t\\t\")])])],1),_vm._v(\" \"),(!_vm.loading)?_c('SharingInput',{attrs:{\"can-reshare\":_vm.canReshare,\"file-info\":_vm.fileInfo,\"link-shares\":_vm.linkShares,\"is-external\":true,\"placeholder\":_vm.externalShareInputPlaceholder,\"reshare\":_vm.reshare,\"shares\":_vm.shares},on:{\"open-sharing-details\":_vm.toggleShareDetailsView}}):_vm._e(),_vm._v(\" \"),(!_vm.loading)?_c('SharingList',{attrs:{\"shares\":_vm.externalShares,\"file-info\":_vm.fileInfo},on:{\"open-sharing-details\":_vm.toggleShareDetailsView}}):_vm._e(),_vm._v(\" \"),(!_vm.loading && _vm.isLinkSharingAllowed)?_c('SharingLinkList',{ref:\"linkShareList\",attrs:{\"can-reshare\":_vm.canReshare,\"file-info\":_vm.fileInfo,\"shares\":_vm.linkShares},on:{\"open-sharing-details\":_vm.toggleShareDetailsView}}):_vm._e()],1):_vm._e(),_vm._v(\" \"),(_vm.hasExternalSections && !_vm.showSharingDetailsView)?_c('section',[_c('div',{staticClass:\"section-header\"},[_c('h4',[_vm._v(_vm._s(_vm.t('files_sharing', 'Additional shares')))]),_vm._v(\" \"),_c('NcPopover',{attrs:{\"popup-role\":\"dialog\"},scopedSlots:_vm._u([{key:\"trigger\",fn:function(){return [_c('NcButton',{staticClass:\"hint-icon\",attrs:{\"variant\":\"tertiary-no-background\",\"aria-label\":_vm.t('files_sharing', 'Additional shares explanation')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('InfoIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,915383693)})]},proxy:true}],null,false,880248230)},[_vm._v(\" \"),_c('p',{staticClass:\"hint-body\"},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.additionalSharesHelpText)+\"\\n\\t\\t\\t\\t\\t\")])])],1),_vm._v(\" \"),_vm._l((_vm.sortedExternalSections),function(section){return _c('SidebarTabExternalSection',{key:section.id,staticClass:\"sharingTab__additionalContent\",attrs:{\"section\":section,\"node\":_vm.fileInfo.node /* TODO: Fix once we have proper Node API */}})}),_vm._v(\" \"),_vm._l((_vm.legacySections),function(section,index){return _c('SidebarTabExternalSectionLegacy',{key:index,staticClass:\"sharingTab__additionalContent\",attrs:{\"file-info\":_vm.fileInfo,\"section-callback\":section}})}),_vm._v(\" \"),(_vm.projectsEnabled)?_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.showSharingDetailsView && _vm.fileInfo),expression:\"!showSharingDetailsView && fileInfo\"}],staticClass:\"sharingTab__additionalContent\"},[_c('NcCollectionList',{attrs:{\"id\":`${_vm.fileInfo.id}`,\"type\":\"file\",\"name\":_vm.fileInfo.name}})],1):_vm._e()],2):_vm._e()]),_vm._v(\" \"),(_vm.showSharingDetailsView)?_c('SharingDetailsTab',{attrs:{\"file-info\":_vm.shareDetailsData.fileInfo,\"share\":_vm.shareDetailsData.share},on:{\"close-sharing-details\":_vm.toggleShareDetailsView,\"add:share\":_vm.addShare,\"remove:share\":_vm.removeShare}}):_vm._e()],1)\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/**\n * Convert Node to legacy file info\n *\n * @param node - The Node to convert\n */\nexport default function (node) {\n const rawFileInfo = {\n id: node.fileid,\n path: node.dirname,\n name: node.basename,\n mtime: node.mtime?.getTime(),\n etag: node.attributes.etag,\n size: node.size,\n hasPreview: node.attributes.hasPreview,\n isEncrypted: node.attributes.isEncrypted === 1,\n isFavourited: node.attributes.favorite === 1,\n mimetype: node.mime,\n permissions: node.permissions,\n mountType: node.attributes['mount-type'],\n sharePermissions: node.attributes['share-permissions'],\n shareAttributes: JSON.parse(node.attributes['share-attributes'] || '[]'),\n type: node.type === 'file' ? 'file' : 'dir',\n attributes: node.attributes,\n };\n const fileInfo = new OC.Files.FileInfo(rawFileInfo);\n // TODO remove when no more legacy backbone is used\n fileInfo.get = (key) => fileInfo[key];\n fileInfo.isDirectory = () => fileInfo.mimetype === 'httpd/unix-directory';\n fileInfo.canEdit = () => Boolean(fileInfo.permissions & OC.PERMISSION_UPDATE);\n fileInfo.node = node;\n return fileInfo;\n}\n","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!./FilesSidebarTab.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-6.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesSidebarTab.vue?vue&type=script&setup=true&lang=ts\"","import { render, staticRenderFns } from \"./FilesSidebarTab.vue?vue&type=template&id=8a2257be\"\nimport script from \"./FilesSidebarTab.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./FilesSidebarTab.vue?vue&type=script&setup=true&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { getCurrentUser, onRequestTokenUpdate, getRequestToken } from \"@nextcloud/auth\";\nimport { generateRemoteUrl } from \"@nextcloud/router\";\nimport { isPublicShare, getSharingToken } from \"@nextcloud/sharing/public\";\nimport { createClient, getPatcher } from \"webdav\";\nimport { P as Permission, s as scopedGlobals, l as logger, c as NodeStatus, a as File, b as Folder } from \"./chunks/folder-29HuacU_.mjs\";\nimport \"@nextcloud/paths\";\n/*!\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nfunction parsePermissions(permString = \"\") {\n let permissions = Permission.NONE;\n if (!permString) {\n return permissions;\n }\n if (permString.includes(\"G\")) {\n permissions |= Permission.READ;\n }\n if (permString.includes(\"W\")) {\n permissions |= Permission.WRITE;\n }\n if (permString.includes(\"CK\")) {\n permissions |= Permission.CREATE;\n }\n if (permString.includes(\"NV\")) {\n permissions |= Permission.UPDATE;\n }\n if (permString.includes(\"D\")) {\n permissions |= Permission.DELETE;\n }\n if (permString.includes(\"R\")) {\n permissions |= Permission.SHARE;\n }\n return permissions;\n}\nconst defaultDavProperties = [\n \"d:getcontentlength\",\n \"d:getcontenttype\",\n \"d:getetag\",\n \"d:getlastmodified\",\n \"d:creationdate\",\n \"d:displayname\",\n \"d:quota-available-bytes\",\n \"d:resourcetype\",\n \"nc:has-preview\",\n \"nc:is-encrypted\",\n \"nc:mount-type\",\n \"oc:comments-unread\",\n \"oc:favorite\",\n \"oc:fileid\",\n \"oc:owner-display-name\",\n \"oc:owner-id\",\n \"oc:permissions\",\n \"oc:size\"\n];\nconst defaultDavNamespaces = {\n d: \"DAV:\",\n nc: \"http://nextcloud.org/ns\",\n oc: \"http://owncloud.org/ns\",\n ocs: \"http://open-collaboration-services.org/ns\"\n};\nfunction registerDavProperty(prop, namespace = { nc: \"http://nextcloud.org/ns\" }) {\n scopedGlobals.davNamespaces ??= { ...defaultDavNamespaces };\n scopedGlobals.davProperties ??= [...defaultDavProperties];\n const namespaces = { ...scopedGlobals.davNamespaces, ...namespace };\n if (scopedGlobals.davProperties.find((search) => search === prop)) {\n logger.warn(`${prop} already registered`, { prop });\n return false;\n }\n if (prop.startsWith(\"<\") || prop.split(\":\").length !== 2) {\n logger.error(`${prop} is not valid. See example: 'oc:fileid'`, { prop });\n return false;\n }\n const ns = prop.split(\":\")[0];\n if (!namespaces[ns]) {\n logger.error(`${prop} namespace unknown`, { prop, namespaces });\n return false;\n }\n scopedGlobals.davProperties.push(prop);\n scopedGlobals.davNamespaces = namespaces;\n return true;\n}\nfunction getDavProperties() {\n scopedGlobals.davProperties ??= [...defaultDavProperties];\n return scopedGlobals.davProperties.map((prop) => `<${prop} />`).join(\" \");\n}\nfunction getDavNameSpaces() {\n scopedGlobals.davNamespaces ??= { ...defaultDavNamespaces };\n return Object.keys(scopedGlobals.davNamespaces).map((ns) => `xmlns:${ns}=\"${scopedGlobals.davNamespaces?.[ns]}\"`).join(\" \");\n}\nfunction getDefaultPropfind() {\n return `\n\t\t\n\t\t\t\n\t\t\t\t${getDavProperties()}\n\t\t\t\n\t\t`;\n}\nfunction getFavoritesReport() {\n return `\n\t\t\n\t\t\t\n\t\t\t\t${getDavProperties()}\n\t\t\t\n\t\t\t\n\t\t\t\t1\n\t\t\t\n\t\t`;\n}\nfunction getRecentSearch(lastModified) {\n return `\n\n\t\n\t\t\n\t\t\t\n\t\t\t\t${getDavProperties()}\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t/files/${getCurrentUser()?.uid}/\n\t\t\t\tinfinity\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\thttpd/unix-directory\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t0\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t${lastModified}\n\t\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t100\n\t\t\t0\n\t\t\n\t\n`;\n}\nfunction getRootPath() {\n if (isPublicShare()) {\n return `/files/${getSharingToken()}`;\n }\n return `/files/${getCurrentUser()?.uid}`;\n}\nconst defaultRootPath = getRootPath();\nfunction getRemoteURL() {\n const url = generateRemoteUrl(\"dav\");\n if (isPublicShare()) {\n return url.replace(\"remote.php\", \"public.php\");\n }\n return url;\n}\nconst defaultRemoteURL = getRemoteURL();\nfunction getClient(remoteURL = defaultRemoteURL, headers = {}) {\n const client = createClient(remoteURL, { headers });\n function setHeaders(token) {\n client.setHeaders({\n ...headers,\n // Add this so the server knows it is an request from the browser\n \"X-Requested-With\": \"XMLHttpRequest\",\n // Inject user auth\n requesttoken: token ?? \"\"\n });\n }\n onRequestTokenUpdate(setHeaders);\n setHeaders(getRequestToken());\n const patcher = getPatcher();\n patcher.patch(\"fetch\", (url, options) => {\n const headers2 = options.headers;\n if (headers2?.method) {\n options.method = headers2.method;\n delete headers2.method;\n }\n return fetch(url, options);\n });\n return client;\n}\nasync function getFavoriteNodes(options = {}) {\n const client = options.client ?? getClient();\n const path = options.path ?? \"/\";\n const davRoot = options.davRoot ?? defaultRootPath;\n const contentsResponse = await client.getDirectoryContents(`${davRoot}${path}`, {\n signal: options.signal,\n details: true,\n data: getFavoritesReport(),\n headers: {\n // see getClient for patched webdav client\n method: \"REPORT\"\n },\n includeSelf: true\n });\n return contentsResponse.data.filter((node) => node.filename !== path).map((result) => resultToNode(result, davRoot));\n}\nfunction resultToNode(node, filesRoot = defaultRootPath, remoteURL = defaultRemoteURL) {\n let userId = getCurrentUser()?.uid;\n if (isPublicShare()) {\n userId = userId ?? \"anonymous\";\n } else if (!userId) {\n throw new Error(\"No user id found\");\n }\n const props = node.props;\n const permissions = parsePermissions(props?.permissions);\n const owner = String(props?.[\"owner-id\"] || userId);\n const id = props.fileid || 0;\n const mtime = new Date(Date.parse(node.lastmod));\n const crtime = new Date(Date.parse(props.creationdate));\n const nodeData = {\n id,\n source: `${remoteURL}${node.filename}`,\n mtime: !isNaN(mtime.getTime()) && mtime.getTime() !== 0 ? mtime : void 0,\n crtime: !isNaN(crtime.getTime()) && crtime.getTime() !== 0 ? crtime : void 0,\n mime: node.mime || \"application/octet-stream\",\n // Manually cast to work around for https://github.com/perry-mitchell/webdav-client/pull/380\n displayname: props.displayname !== void 0 ? String(props.displayname) : void 0,\n size: props?.size || Number.parseInt(props.getcontentlength || \"0\"),\n // The fileid is set to -1 for failed requests\n status: id < 0 ? NodeStatus.FAILED : void 0,\n permissions,\n owner,\n root: filesRoot,\n attributes: {\n ...node,\n ...props,\n hasPreview: props?.[\"has-preview\"]\n }\n };\n delete nodeData.attributes?.props;\n return node.type === \"file\" ? new File(nodeData) : new Folder(nodeData);\n}\nexport {\n defaultDavNamespaces,\n defaultDavProperties,\n defaultRemoteURL,\n defaultRootPath,\n getClient,\n getDavNameSpaces,\n getDavProperties,\n getDefaultPropfind,\n getFavoriteNodes,\n getFavoritesReport,\n getRecentSearch,\n getRemoteURL,\n getRootPath,\n parsePermissions,\n registerDavProperty,\n resultToNode\n};\n//# sourceMappingURL=dav.mjs.map\n"],"names":["___CSS_LOADER_EXPORT___","push","module","id","name","emits","props","title","type","String","fillColor","default","size","Number","_vm","this","_c","_self","_b","staticClass","attrs","on","$event","$emit","$attrs","_v","_s","_e","components","NcActions","required","subtitle","isUnique","Boolean","ariaExpanded","computed","ariaExpandedValue","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","_t","$slots","ref","generateFileUrl","fileid","baseURL","getBaseUrl","globalscale","getCapabilities","token","generateUrl","NcActionButton","SharingEntrySimple","CheckIcon","ClipboardIcon","fileInfo","Object","data","copied","copySuccess","internalLink","copyLinkTooltip","t","internalLinkSubtitle","methods","copyLink","navigator","clipboard","writeText","showSuccess","$refs","shareEntrySimple","actionsComponent","$el","focus","error","logger","setTimeout","scopedSlots","_u","key","fn","proxy","ATOMIC_PERMISSIONS","BUNDLED_PERMISSIONS","READ_ONLY","UPLOAD_AND_UPDATE","FILE_DROP","ALL","ALL_FILE","getBundledPermissions","excludeShare","Share","constructor","ocsData","_defineProperty","ocs","parseInt","hide_download","mail_send","attributes","JSON","parse","warn","_share","state","share_type","permissions","owner","uid_owner","ownerDisplayName","displayname_owner","shareWith","share_with","shareWithDisplayName","share_with_displayname","shareWithDisplayNameUnique","share_with_displayname_unique","shareWithLink","share_with_link","shareWithAvatar","share_with_avatar","uidFileOwner","uid_file_owner","displaynameFileOwner","displayname_file_owner","createdTime","stime","expireDate","expiration","date","note","label","mailSend","hideDownload","undefined","find","scope","value","attribute","password","passwordExpirationTime","password_expiration_time","sendPasswordByTalk","send_password_by_talk","path","itemType","item_type","mimetype","fileSource","file_source","fileTarget","file_target","fileParent","file_parent","hasReadPermission","window","OC","PERMISSION_READ","hasCreatePermission","PERMISSION_CREATE","hasDeletePermission","PERMISSION_DELETE","hasUpdatePermission","PERMISSION_UPDATE","hasSharePermission","PERMISSION_SHARE","hasDownloadPermission","some","isFileRequest","stringify","enabled","setAttribute","attrUpdate","i","attr","splice","canEdit","can_edit","canDelete","can_delete","viaFileid","via_fileid","viaPath","via_path","parent","storageId","storage_id","storage","itemSource","item_source","status","isTrustedServer","is_trusted_server","Config","_capabilities","defaultPermissions","files_sharing","default_permissions","excludeReshareFromEdit","exclude_reshare_from_edit","isPublicUploadEnabled","public","upload","federatedShareDocLink","appConfig","core","federatedCloudShareDoc","defaultExpirationDate","isDefaultExpireDateEnabled","defaultExpireDate","Date","setDate","getDate","defaultInternalExpirationDate","isDefaultInternalExpireDateEnabled","defaultInternalExpireDate","defaultRemoteExpirationDateString","isDefaultRemoteExpireDateEnabled","defaultRemoteExpireDate","enforcePasswordForPublicLink","enableLinkPasswordByDefault","isDefaultExpireDateEnforced","defaultExpireDateEnforced","defaultExpireDateEnabled","isDefaultInternalExpireDateEnforced","defaultInternalExpireDateEnforced","defaultInternalExpireDateEnabled","isDefaultRemoteExpireDateEnforced","defaultRemoteExpireDateEnforced","defaultRemoteExpireDateEnabled","isRemoteShareAllowed","remoteShareAllowed","isFederationEnabled","federation","outgoing","isPublicShareAllowed","isMailShareAllowed","sharebymail","isResharingAllowed","resharingAllowed","isPasswordForMailSharesRequired","enforced","shouldAlwaysShowUnique","sharee","always_show_unique","allowGroupSharing","maxAutocompleteResults","config","minSearchStringLength","passwordPolicy","password_policy","allowCustomTokens","custom_tokens","showFederatedSharesAsInternal","loadState","showFederatedSharesToTrustedServersAsInternal","showExternalSharing","openSharingDetails","shareRequestObject","share","handler","handlerInput","suggestions","query","externalShareRequestObject","mapShareRequestToShareObject","originalPermissions","strippedPermissions","debug","shareDetails","openShareDetailsForCustomSettings","setCustomPermissions","shareType","is_no_user","isNoUser","user","displayName","shareUrl","generateOcsUrl","createShare","publicUpload","request","axios","post","emit","errorMessage","getErrorMessage","showError","Error","cause","deleteShare","delete","updateShare","properties","put","isAxiosError","response","meta","message","NcSelect","mixins","ShareRequests","ShareDetails","shares","Array","linkShares","reshare","canReshare","isExternal","placeholder","setup","shareInputId","Math","random","toString","slice","loading","recommendations","ShareSearch","OCA","Sharing","externalResults","results","inputPlaceholder","allowRemoteSharing","isValidQuery","trim","length","noResultText","mounted","getRecommendations","onSelected","option","asyncFind","debounceGetSuggestions","getSuggestions","search","lookup","query_lookup_default","remoteTypes","ShareType","Remote","RemoteGroup","showFederatedAsInternal","shouldAddRemoteTypes","Email","User","Group","Team","Room","Guest","Deck","ScienceMesh","get","params","format","perPage","exact","rawExactSuggestions","values","flat","rawSuggestions","exactSuggestions","filterOutExistingShares","filter","result","filterByTrustedServer","map","formatForMultiselect","sort","a","b","lookupEntry","lookupEnabled","condition","allSuggestions","concat","nameCounts","reduce","item","desc","debounce","args","rawRecommendations","arr","elem","getCurrentUser","uid","indexOf","sharesObj","obj","shareTypeToIcon","icon","iconTitle","Sciencemesh","subname","extra","email","server","shareWithDescription","uuid","clear-search-on-blur","model","callback","$$v","expression","_defineComponent","__name","node","section","__props","sectionElement","watchEffect","__sfc","_setupProxy","element","tag","domProps","sectionCallback","Function","component","action","expose","save","actionElement","savingCallback","onSave","toRaw","_setup","is","_g","handlers","text","client","getClient","async","verbose","api","generate","info","array","Uint8Array","ratio","passwordSet","self","crypto","getRandomValues","len","floor","charAt","SharesRequests","errors","saving","open","passwordProtectedState","updateQueue","PQueue","concurrency","reactiveState","replace","hasNote","set","dateTomorrow","lang","weekdaysShort","dayNamesShort","monthsShort","monthNamesShort","formatLocale","firstDayOfWeek","firstDay","weekdaysMin","monthFormat","isNewShare","isFolder","isPublicShare","Link","includes","isRemoteShare","isShareOwner","isExpiryDateEnforced","hasCustomPermissions","basePermissions","bundledPermissions","permissionsWithoutShare","maxExpirationDateEnforced","isPasswordProtected","newPassword","generatedPassword","GeneratePassword","$set","getNode","propfindPayload","getDefaultPropfind","stat","getRootPath","details","resultToNode","fetchNode","checkShare","expirationDate","isValid","formatDateToString","UTC","getFullYear","getMonth","toISOString","split","onExpirationChange","parsedDate","onNoteChange","onNoteSubmit","newNote","$delete","queueUpdate","onDelete","shareId","propertyNames","add","updatedShare","property","updateSuccessMessage","onSyncError","names","propertyEl","focusable","querySelector","debounceQueueUpdate","NcAvatar","NcButton","NcCheckboxRadioSwitch","NcDateTimePickerNative","NcInputField","NcLoadingIcon","NcPasswordField","NcTextArea","CloseIcon","CircleIcon","EditIcon","LinkIcon","GroupIcon","ShareIcon","UserIcon","UploadIcon","ViewIcon","MenuDownIcon","MenuUpIcon","DotsHorizontalIcon","Refresh","SidebarTabExternalAction","SidebarTabExternalActionLegacy","SharesMixin","shareRequestValue","writeNoteToRecipientIsChecked","sharingPermission","revertSharingPermission","passwordError","advancedSectionAccordionExpanded","isFirstComponentLoad","test","creating","initialToken","loadingToken","externalShareActions","_nc_files_sharing_sidebar_actions","ExternalShareActions","allPermissions","checked","updateAtomicPermissions","isEditChecked","canCreate","isCreateChecked","isDeleteChecked","isReshareChecked","showInGridView","getShareAttribute","setShareAttribute","canDownload","hasRead","isReadChecked","hasExpirationDate","isValidShareAttribute","defaultExpiryDate","isSetDownloadButtonVisible","isPasswordEnforced","isGroupShare","isUserShare","allowsFileDrop","hasFileDropPermissions","shareButtonText","resharingIsPossible","canSetEdit","sharePermissions","canSetCreate","canSetDelete","canSetReshare","canSetDownload","canRemoveReadPermission","hasUnsavedPassword","expirationTime","moment","diff","fromNow","isTalkEnabled","appswebroots","spreed","isPasswordProtectedByTalkAvailable","isPasswordProtectedByTalk","isEmailShareType","canTogglePasswordProtectedByTalkAvailable","canChangeHideDownload","shareAttributes","shareAttribute","customPermissionsList","translatedPermissions","permission","hasPermissions","initialPermissionSet","permissionsToCheck","index","toLocaleLowerCase","getLanguage","join","advancedControlExpandedValue","errorPasswordLabel","passwordHint","sortedExternalShareActions","order","externalLegacyShareActions","actions","advanced","watch","isChecked","beforeMount","initializePermissions","initializeAttributes","quickPermissions","fallback","generateNewToken","generateToken","cancel","expandCustomPermissions","toggleCustomPermissions","selectedPermission","isCustomPermissions","toDateString","handleShareType","handleDefaultPermissions","handleCustomPermissions","saveShare","permissionsAndAttributes","publicShareAttributes","sharePermissionsSet","incomingShare","addShare","prop","Promise","allSettled","externalLinkActions","$children","at","resolve","removeShare","onPasswordChange","onPasswordProtectedByTalkChange","getShareTypeIcon","EmailIcon","_l","refInFor","preventDefault","apply","arguments","NcActionLink","NcActionText","viaFileTargetUrl","viaFolderName","basename","initiator","folder","SharingEntryInherited","loaded","showInheritedShares","showInheritedSharesIcon","mainTitle","subTitle","toggleTooltip","fullPath","resetState","toggleInheritedShares","fetchInheritedShares","url","Notification","showTemporary","findIndex","stopPropagation","NcPopover","NcDateTime","ClockIcon","expiryTime","getTime","timeFormat","dateStyle","timeStyle","toLocaleString","DropdownIcon","selectedOption","ariaLabel","canViewText","canEditText","fileDropText","customPermissionsText","preSelectedOption","IconEyeOutline","IconPencil","supportsFileDrop","IconFileUpload","IconTune","dropDownPermissionValue","created","subscribe","unmounted","unsubscribe","selectOption","optionLabel","quickShareActions","menuButton","NcActionCheckbox","NcActionInput","NcActionSeparator","NcDialog","NcIconSvgWrapper","VueQrcode","Tune","IconCalendarBlank","IconQr","ErrorIcon","LockIcon","PlusIcon","SharingEntryQuickShareSelect","ShareExpiryTime","mdiCheck","mdiContentCopy","shareCreationComplete","defaultExpirationDateEnabled","pending","_nc_files_sharing_sidebar_inline_actions","showQRCode","l10nOptions","escape","pendingDataIsMissing","pendingPassword","pendingEnforcedPassword","pendingDefaultExpirationDate","pendingEnforcedExpirationDate","isPendingShare","isNaN","sharePolicyHasEnforcedProperties","enforcedPropertiesMissing","isPasswordMissing","isExpireDateMissing","shareLink","actionsTooltip","copyLinkLabel","isPasswordPolicyEnabled","shareRequiresReview","shareReviewComplete","onNewLinkShare","shareDefaults","pushNewLinkShare","e","update","newShare","match","copyButton","prompt","onPasswordDisable","onPasswordSubmit","onMenuClose","onExpirationDateToggleUpdate","expirationDateChanged","event","target","onCancel","class","minLength","exec","iconSvg","SharingEntryLink","canLinkShare","hasLinkShares","hasShares","awaitForShare","$nextTick","showAsInternal","tooltip","hasStatus","isArray","SharingEntry","productName","theme","InfoIcon","NcCollectionList","SharingEntryInternal","SharingInherited","SharingInput","SharingLinkList","SharingList","SharingDetailsTab","SidebarTabExternalSection","SidebarTabExternalSectionLegacy","deleteEvent","expirationInterval","sharedWithMe","externalShares","legacySections","ShareTabSections","getSections","sections","_nc_files_sharing_sidebar_sections","projectsEnabled","showSharingDetailsView","shareDetailsData","returnFocusElement","internalSharesHelpText","externalSharesHelpText","additionalSharesHelpText","hasExternalSections","sortedExternalSections","isSharedWithMe","isLinkSharingAllowed","capabilities","internalShareInputPlaceholder","externalShareInputPlaceholder","immediate","newValue","oldValue","getShares","fetchShares","reshares","fetchSharedWithMe","shared_with_me","all","processSharedWithMe","processShares","clearInterval","updateExpirationSubtitle","unix","relativetime","orderBy","findShareListByShare","group","circle","conversation","shareWithTitle","setInterval","shareOwnerId","shareOwner","unshift","removeShareFromList","shareList","listComponent","linkShareList","toggleShareDetailsView","eventData","from","document","activeElement","classList","className","startsWith","menuId","closest","emptyContentWithSections","directives","rawName","rawFileInfo","dirname","mtime","etag","hasPreview","isEncrypted","isFavourited","favorite","mime","mountType","Files","FileInfo","isDirectory","active","view","SharingTab","defaultDavProperties","defaultDavNamespaces","d","nc","oc","getDavProperties","s","davProperties","getDavNameSpaces","davNamespaces","keys","ns","getRecentSearch","lastModified","defaultRootPath","defaultRemoteURL","getRemoteURL","remoteURL","headers","setHeaders","requesttoken","patch","headers2","method","fetch","getFavoriteNodes","davRoot","getDirectoryContents","signal","includeSelf","filename","filesRoot","userId","permString","P","NONE","READ","WRITE","CREATE","UPDATE","DELETE","SHARE","parsePermissions","lastmod","crtime","creationdate","nodeData","source","displayname","getcontentlength","FAILED","root"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/6775-6775.js.map.license b/dist/6775-6775.js.map.license new file mode 120000 index 0000000000000..4259f5dc3da50 --- /dev/null +++ b/dist/6775-6775.js.map.license @@ -0,0 +1 @@ +6775-6775.js.license \ No newline at end of file diff --git a/dist/6984-6984.js b/dist/6984-6984.js deleted file mode 100644 index 852b4cbd8ded9..0000000000000 --- a/dist/6984-6984.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(globalThis.webpackChunknextcloud_ui_legacy=globalThis.webpackChunknextcloud_ui_legacy||[]).push([[6984],{5016(e,t,i){i.d(t,{A:()=>o});var s=i(71354),a=i.n(s),n=i(76314),r=i.n(n)()(a());r.push([e.id,".share-expiry-time[data-v-c9199db0]{display:inline-flex;align-items:center;justify-content:center}.share-expiry-time .hint-icon[data-v-c9199db0]{padding:0;margin:0;width:24px;height:24px}.hint-heading[data-v-c9199db0]{text-align:center;font-size:1rem;margin-top:8px;padding-bottom:8px;margin-bottom:0;border-bottom:1px solid var(--color-border)}.hint-body[data-v-c9199db0]{padding:var(--border-radius-element);max-width:300px}","",{version:3,sources:["webpack://./apps/files_sharing/src/components/ShareExpiryTime.vue"],names:[],mappings:"AACA,oCACI,mBAAA,CACA,kBAAA,CACA,sBAAA,CAEA,+CACI,SAAA,CACA,QAAA,CACA,UAAA,CACA,WAAA,CAIR,+BACI,iBAAA,CACA,cAAA,CACA,cAAA,CACA,kBAAA,CACA,eAAA,CACA,2CAAA,CAGJ,4BACI,oCAAA,CACA,eAAA",sourcesContent:["\n.share-expiry-time {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n\n .hint-icon {\n padding: 0;\n margin: 0;\n width: 24px;\n height: 24px;\n }\n}\n\n.hint-heading {\n text-align: center;\n font-size: 1rem;\n margin-top: 8px;\n padding-bottom: 8px;\n margin-bottom: 0;\n border-bottom: 1px solid var(--color-border);\n}\n\n.hint-body {\n padding: var(--border-radius-element);\n max-width: 300px;\n}\n"],sourceRoot:""}]);const o=r},10322(e,t,i){i.d(t,{A:()=>o});var s=i(71354),a=i.n(s),n=i(76314),r=i.n(n)()(a());r.push([e.id,".sharing-entry[data-v-469e5e80]{display:flex;align-items:center;height:44px}.sharing-entry__summary[data-v-469e5e80]{padding:8px;padding-inline-start:10px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;flex:1 0;min-width:0}.sharing-entry__summary__desc[data-v-469e5e80]{display:inline-block;padding-bottom:0;line-height:1.2em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sharing-entry__summary__desc p[data-v-469e5e80],.sharing-entry__summary__desc small[data-v-469e5e80]{color:var(--color-text-maxcontrast)}.sharing-entry__summary__desc-unique[data-v-469e5e80]{color:var(--color-text-maxcontrast)}","",{version:3,sources:["webpack://./apps/files_sharing/src/components/SharingEntry.vue"],names:[],mappings:"AACA,gCACC,YAAA,CACA,kBAAA,CACA,WAAA,CACA,yCACC,WAAA,CACA,yBAAA,CACA,YAAA,CACA,qBAAA,CACA,sBAAA,CACA,sBAAA,CACA,QAAA,CACA,WAAA,CAEA,+CACC,oBAAA,CACA,gBAAA,CACA,iBAAA,CACA,kBAAA,CACA,eAAA,CACA,sBAAA,CAEA,sGAEC,mCAAA,CAGD,sDACC,mCAAA",sourcesContent:["\n.sharing-entry {\n\tdisplay: flex;\n\talign-items: center;\n\theight: 44px;\n\t&__summary {\n\t\tpadding: 8px;\n\t\tpadding-inline-start: 10px;\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tjustify-content: center;\n\t\talign-items: flex-start;\n\t\tflex: 1 0;\n\t\tmin-width: 0;\n\n\t\t&__desc {\n\t\t\tdisplay: inline-block;\n\t\t\tpadding-bottom: 0;\n\t\t\tline-height: 1.2em;\n\t\t\twhite-space: nowrap;\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\n\t\t\tp,\n\t\t\tsmall {\n\t\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t\t}\n\n\t\t\t&-unique {\n\t\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t\t}\n\t\t}\n\t}\n\n}\n"],sourceRoot:""}]);const o=r},50618(e,t,i){i.d(t,{A:()=>o});var s=i(71354),a=i.n(s),n=i(76314),r=i.n(n)()(a());r.push([e.id,".sharing-entry[data-v-731a9650]{display:flex;align-items:center;height:44px}.sharing-entry__desc[data-v-731a9650]{display:flex;flex-direction:column;justify-content:space-between;padding:8px;padding-inline-start:10px;line-height:1.2em}.sharing-entry__desc p[data-v-731a9650]{color:var(--color-text-maxcontrast)}.sharing-entry__actions[data-v-731a9650]{margin-inline-start:auto}","",{version:3,sources:["webpack://./apps/files_sharing/src/components/SharingEntryInherited.vue"],names:[],mappings:"AACA,gCACC,YAAA,CACA,kBAAA,CACA,WAAA,CACA,sCACC,YAAA,CACA,qBAAA,CACA,6BAAA,CACA,WAAA,CACA,yBAAA,CACA,iBAAA,CACA,wCACC,mCAAA,CAGF,yCACC,wBAAA",sourcesContent:["\n.sharing-entry {\n\tdisplay: flex;\n\talign-items: center;\n\theight: 44px;\n\t&__desc {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tjustify-content: space-between;\n\t\tpadding: 8px;\n\t\tpadding-inline-start: 10px;\n\t\tline-height: 1.2em;\n\t\tp {\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t}\n\t}\n\t&__actions {\n\t\tmargin-inline-start: auto;\n\t}\n}\n"],sourceRoot:""}]);const o=r},84388(e,t,i){i.d(t,{A:()=>o});var s=i(71354),a=i.n(s),n=i(76314),r=i.n(n)()(a());r.push([e.id,".sharing-entry__internal .avatar-external[data-v-6c4cb23b]{width:32px;height:32px;line-height:32px;font-size:18px;background-color:var(--color-text-maxcontrast);border-radius:50%;flex-shrink:0}.sharing-entry__internal .icon-checkmark-color[data-v-6c4cb23b]{opacity:1;color:var(--color-border-success)}","",{version:3,sources:["webpack://./apps/files_sharing/src/components/SharingEntryInternal.vue"],names:[],mappings:"AAEC,2DACC,UAAA,CACA,WAAA,CACA,gBAAA,CACA,cAAA,CACA,8CAAA,CACA,iBAAA,CACA,aAAA,CAED,gEACC,SAAA,CACA,iCAAA",sourcesContent:["\n.sharing-entry__internal {\n\t.avatar-external {\n\t\twidth: 32px;\n\t\theight: 32px;\n\t\tline-height: 32px;\n\t\tfont-size: 18px;\n\t\tbackground-color: var(--color-text-maxcontrast);\n\t\tborder-radius: 50%;\n\t\tflex-shrink: 0;\n\t}\n\t.icon-checkmark-color {\n\t\topacity: 1;\n\t\tcolor: var(--color-border-success);\n\t}\n}\n"],sourceRoot:""}]);const o=r},12231(e,t,i){i.d(t,{A:()=>o});var s=i(71354),a=i.n(s),n=i(76314),r=i.n(n)()(a());r.push([e.id,".sharing-entry[data-v-4ca4172c]{display:flex;align-items:center;min-height:44px}.sharing-entry__summary[data-v-4ca4172c]{padding:8px;padding-inline-start:10px;display:flex;justify-content:space-between;flex:1 0;min-width:0}.sharing-entry__desc[data-v-4ca4172c]{display:flex;flex-direction:column;line-height:1.2em}.sharing-entry__desc p[data-v-4ca4172c]{color:var(--color-text-maxcontrast)}.sharing-entry__desc__title[data-v-4ca4172c]{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.sharing-entry__actions[data-v-4ca4172c]{display:flex;align-items:center;margin-inline-start:auto}.sharing-entry:not(.sharing-entry--share) .sharing-entry__actions .new-share-link[data-v-4ca4172c]{border-top:1px solid var(--color-border)}.sharing-entry[data-v-4ca4172c] .avatar-link-share{background-color:var(--color-primary-element)}.sharing-entry .sharing-entry__action--public-upload[data-v-4ca4172c]{border-bottom:1px solid var(--color-border)}.sharing-entry__loading[data-v-4ca4172c]{width:44px;height:44px;margin:0;padding:14px;margin-inline-start:auto}.sharing-entry .action-item~.action-item[data-v-4ca4172c],.sharing-entry .action-item~.sharing-entry__loading[data-v-4ca4172c]{margin-inline-start:0}.sharing-entry__copy-icon--success[data-v-4ca4172c]{color:var(--color-border-success)}.qr-code-dialog[data-v-4ca4172c]{display:flex;width:100%;justify-content:center}.qr-code-dialog__img[data-v-4ca4172c]{width:100%;height:auto}","",{version:3,sources:["webpack://./apps/files_sharing/src/components/SharingEntryLink.vue"],names:[],mappings:"AACA,gCACC,YAAA,CACA,kBAAA,CACA,eAAA,CAEA,yCACC,WAAA,CACA,yBAAA,CACA,YAAA,CACA,6BAAA,CACA,QAAA,CACA,WAAA,CAGA,sCACC,YAAA,CACA,qBAAA,CACA,iBAAA,CAEA,wCACC,mCAAA,CAGD,6CACC,sBAAA,CACA,eAAA,CACA,kBAAA,CAIF,yCACC,YAAA,CACA,kBAAA,CACA,wBAAA,CAID,mGACC,wCAAA,CAIF,mDACC,6CAAA,CAGD,sEACC,2CAAA,CAGD,yCACC,UAAA,CACA,WAAA,CACA,QAAA,CACA,YAAA,CACA,wBAAA,CAOA,+HAEC,qBAAA,CAIF,oDACC,iCAAA,CAKF,iCACC,YAAA,CACA,UAAA,CACA,sBAAA,CAEA,sCACC,UAAA,CACA,WAAA",sourcesContent:["\n.sharing-entry {\n\tdisplay: flex;\n\talign-items: center;\n\tmin-height: 44px;\n\n\t&__summary {\n\t\tpadding: 8px;\n\t\tpadding-inline-start: 10px;\n\t\tdisplay: flex;\n\t\tjustify-content: space-between;\n\t\tflex: 1 0;\n\t\tmin-width: 0;\n\t}\n\n\t\t&__desc {\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t\tline-height: 1.2em;\n\n\t\t\tp {\n\t\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t\t}\n\n\t\t\t&__title {\n\t\t\t\ttext-overflow: ellipsis;\n\t\t\t\toverflow: hidden;\n\t\t\t\twhite-space: nowrap;\n\t\t\t}\n\t\t}\n\n\t\t&__actions {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tmargin-inline-start: auto;\n\t\t}\n\n\t&:not(.sharing-entry--share) &__actions {\n\t\t.new-share-link {\n\t\t\tborder-top: 1px solid var(--color-border);\n\t\t}\n\t}\n\n\t:deep(.avatar-link-share) {\n\t\tbackground-color: var(--color-primary-element);\n\t}\n\n\t.sharing-entry__action--public-upload {\n\t\tborder-bottom: 1px solid var(--color-border);\n\t}\n\n\t&__loading {\n\t\twidth: 44px;\n\t\theight: 44px;\n\t\tmargin: 0;\n\t\tpadding: 14px;\n\t\tmargin-inline-start: auto;\n\t}\n\n\t// put menus to the left\n\t// but only the first one\n\t.action-item {\n\n\t\t~.action-item,\n\t\t~.sharing-entry__loading {\n\t\t\tmargin-inline-start: 0;\n\t\t}\n\t}\n\n\t&__copy-icon--success {\n\t\tcolor: var(--color-border-success);\n\t}\n}\n\n// styling for the qr-code container\n.qr-code-dialog {\n\tdisplay: flex;\n\twidth: 100%;\n\tjustify-content: center;\n\n\t&__img {\n\t\twidth: 100%;\n\t\theight: auto;\n\t}\n}\n"],sourceRoot:""}]);const o=r},56953(e,t,i){i.d(t,{A:()=>o});var s=i(71354),a=i.n(s),n=i(76314),r=i.n(n)()(a());r.push([e.id,".share-select[data-v-b5eca1ec]{display:block}.share-select[data-v-b5eca1ec] .action-item__menutoggle{color:var(--color-primary-element) !important;font-size:12.5px !important;height:auto !important;min-height:auto !important}.share-select[data-v-b5eca1ec] .action-item__menutoggle .button-vue__text{font-weight:normal !important}.share-select[data-v-b5eca1ec] .action-item__menutoggle .button-vue__icon{height:24px !important;min-height:24px !important;width:24px !important;min-width:24px !important}.share-select[data-v-b5eca1ec] .action-item__menutoggle .button-vue__wrapper{flex-direction:row-reverse !important}","",{version:3,sources:["webpack://./apps/files_sharing/src/components/SharingEntryQuickShareSelect.vue"],names:[],mappings:"AACA,+BACC,aAAA,CAIA,wDACC,6CAAA,CACA,2BAAA,CACA,sBAAA,CACA,0BAAA,CAEA,0EACC,6BAAA,CAGD,0EACC,sBAAA,CACA,0BAAA,CACA,qBAAA,CACA,yBAAA,CAGD,6EAEC,qCAAA",sourcesContent:["\n.share-select {\n\tdisplay: block;\n\n\t// TODO: NcActions should have a slot for custom trigger button like NcPopover\n\t// Overrider NcActionms button to make it small\n\t:deep(.action-item__menutoggle) {\n\t\tcolor: var(--color-primary-element) !important;\n\t\tfont-size: 12.5px !important;\n\t\theight: auto !important;\n\t\tmin-height: auto !important;\n\n\t\t.button-vue__text {\n\t\t\tfont-weight: normal !important;\n\t\t}\n\n\t\t.button-vue__icon {\n\t\t\theight: 24px !important;\n\t\t\tmin-height: 24px !important;\n\t\t\twidth: 24px !important;\n\t\t\tmin-width: 24px !important;\n\t\t}\n\n\t\t.button-vue__wrapper {\n\t\t\t// Emulate NcButton's alignment=center-reverse\n\t\t\tflex-direction: row-reverse !important;\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const o=r},18999(e,t,i){i.d(t,{A:()=>o});var s=i(71354),a=i.n(s),n=i(76314),r=i.n(n)()(a());r.push([e.id,".sharing-entry[data-v-13d4a0bb]{display:flex;align-items:center;min-height:44px}.sharing-entry__desc[data-v-13d4a0bb]{padding:8px;padding-inline-start:10px;line-height:1.2em;position:relative;flex:1 1;min-width:0}.sharing-entry__desc p[data-v-13d4a0bb]{color:var(--color-text-maxcontrast)}.sharing-entry__title[data-v-13d4a0bb]{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;max-width:inherit}.sharing-entry__actions[data-v-13d4a0bb]{margin-inline-start:auto !important}","",{version:3,sources:["webpack://./apps/files_sharing/src/components/SharingEntrySimple.vue"],names:[],mappings:"AACA,gCACC,YAAA,CACA,kBAAA,CACA,eAAA,CACA,sCACC,WAAA,CACA,yBAAA,CACA,iBAAA,CACA,iBAAA,CACA,QAAA,CACA,WAAA,CACA,wCACC,mCAAA,CAGF,uCACC,kBAAA,CACA,sBAAA,CACA,eAAA,CACA,iBAAA,CAED,yCACC,mCAAA",sourcesContent:["\n.sharing-entry {\n\tdisplay: flex;\n\talign-items: center;\n\tmin-height: 44px;\n\t&__desc {\n\t\tpadding: 8px;\n\t\tpadding-inline-start: 10px;\n\t\tline-height: 1.2em;\n\t\tposition: relative;\n\t\tflex: 1 1;\n\t\tmin-width: 0;\n\t\tp {\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t}\n\t}\n\t&__title {\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t\toverflow: hidden;\n\t\tmax-width: inherit;\n\t}\n\t&__actions {\n\t\tmargin-inline-start: auto !important;\n\t}\n}\n"],sourceRoot:""}]);const o=r},77127(e,t,i){i.d(t,{A:()=>o});var s=i(71354),a=i.n(s),n=i(76314),r=i.n(n)()(a());r.push([e.id,".sharing-search{display:flex;flex-direction:column;margin-bottom:4px}.sharing-search label[for=sharing-search-input]{margin-bottom:2px}.sharing-search__input{width:100%;margin:10px 0}.vs__dropdown-menu span[lookup] .avatardiv{background-image:var(--icon-search-white);background-repeat:no-repeat;background-position:center;background-color:var(--color-text-maxcontrast) !important}.vs__dropdown-menu span[lookup] .avatardiv .avatardiv__initials-wrapper{display:none}","",{version:3,sources:["webpack://./apps/files_sharing/src/components/SharingInput.vue"],names:[],mappings:"AACA,gBACC,YAAA,CACA,qBAAA,CACA,iBAAA,CAEA,gDACC,iBAAA,CAGD,uBACC,UAAA,CACA,aAAA,CAOA,2CACC,yCAAA,CACA,2BAAA,CACA,0BAAA,CACA,yDAAA,CACA,wEACC,YAAA",sourcesContent:['\n.sharing-search {\n\tdisplay: flex;\n\tflex-direction: column;\n\tmargin-bottom: 4px;\n\n\tlabel[for="sharing-search-input"] {\n\t\tmargin-bottom: 2px;\n\t}\n\n\t&__input {\n\t\twidth: 100%;\n\t\tmargin: 10px 0;\n\t}\n}\n\n.vs__dropdown-menu {\n\t// properly style the lookup entry\n\tspan[lookup] {\n\t\t.avatardiv {\n\t\t\tbackground-image: var(--icon-search-white);\n\t\t\tbackground-repeat: no-repeat;\n\t\t\tbackground-position: center;\n\t\t\tbackground-color: var(--color-text-maxcontrast) !important;\n\t\t\t.avatardiv__initials-wrapper {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\t\t}\n\t}\n}\n'],sourceRoot:""}]);const o=r},25431(e,t,i){i.d(t,{A:()=>o});var s=i(71354),a=i.n(s),n=i(76314),r=i.n(n)()(a());r.push([e.id,".sharingTabDetailsView[data-v-16ed4bff]{display:flex;flex-direction:column;width:100%;margin:0 auto;position:relative;height:100%;overflow:hidden}.sharingTabDetailsView__header[data-v-16ed4bff]{display:flex;align-items:center;box-sizing:border-box;margin:.2em}.sharingTabDetailsView__header span[data-v-16ed4bff]{display:flex;align-items:center}.sharingTabDetailsView__header span h1[data-v-16ed4bff]{font-size:15px;padding-inline-start:.3em}.sharingTabDetailsView__wrapper[data-v-16ed4bff]{position:relative;overflow:scroll;flex-shrink:1;padding:4px;padding-inline-end:12px}.sharingTabDetailsView__quick-permissions[data-v-16ed4bff]{display:flex;justify-content:center;width:100%;margin:0 auto;border-radius:0}.sharingTabDetailsView__quick-permissions div[data-v-16ed4bff]{width:100%}.sharingTabDetailsView__quick-permissions div span[data-v-16ed4bff]{width:100%}.sharingTabDetailsView__quick-permissions div span span[data-v-16ed4bff]:nth-child(1){align-items:center;justify-content:center;padding:.1em}.sharingTabDetailsView__quick-permissions div span[data-v-16ed4bff] label span{display:flex;flex-direction:column}.sharingTabDetailsView__quick-permissions div span[data-v-16ed4bff] span.checkbox-content__text.checkbox-radio-switch__text{flex-wrap:wrap}.sharingTabDetailsView__quick-permissions div span[data-v-16ed4bff] span.checkbox-content__text.checkbox-radio-switch__text .subline{display:block;flex-basis:100%}.sharingTabDetailsView__advanced-control[data-v-16ed4bff]{width:100%}.sharingTabDetailsView__advanced-control button[data-v-16ed4bff]{margin-top:.5em}.sharingTabDetailsView__advanced[data-v-16ed4bff]{width:100%;margin-bottom:.5em;text-align:start;padding-inline-start:0}.sharingTabDetailsView__advanced section textarea[data-v-16ed4bff],.sharingTabDetailsView__advanced section div.mx-datepicker[data-v-16ed4bff]{width:100%}.sharingTabDetailsView__advanced section textarea[data-v-16ed4bff]{height:80px;margin:0}.sharingTabDetailsView__advanced section span[data-v-16ed4bff] label{padding-inline-start:0 !important;background-color:initial !important;border:none !important}.sharingTabDetailsView__advanced section section.custom-permissions-group[data-v-16ed4bff]{padding-inline-start:1.5em}.sharingTabDetailsView__label[data-v-16ed4bff]{padding-block-end:6px}.sharingTabDetailsView__delete>button[data-v-16ed4bff]:first-child{color:#df0707}.sharingTabDetailsView__footer[data-v-16ed4bff]{width:100%;display:flex;position:sticky;bottom:0;flex-direction:column;justify-content:space-between;align-items:flex-start;background:linear-gradient(to bottom, rgba(255, 255, 255, 0), var(--color-main-background))}.sharingTabDetailsView__footer .button-group[data-v-16ed4bff]{display:flex;justify-content:space-between;width:100%;margin-top:16px}.sharingTabDetailsView__footer .button-group button[data-v-16ed4bff]{margin-inline-start:16px}.sharingTabDetailsView__footer .button-group button[data-v-16ed4bff]:first-child{margin-inline-start:0}","",{version:3,sources:["webpack://./apps/files_sharing/src/views/SharingDetailsTab.vue"],names:[],mappings:"AACA,wCACC,YAAA,CACA,qBAAA,CACA,UAAA,CACA,aAAA,CACA,iBAAA,CACA,WAAA,CACA,eAAA,CAEA,gDACC,YAAA,CACA,kBAAA,CACA,qBAAA,CACA,WAAA,CAEA,qDACC,YAAA,CACA,kBAAA,CAEA,wDACC,cAAA,CACA,yBAAA,CAMH,iDACC,iBAAA,CACA,eAAA,CACA,aAAA,CACA,WAAA,CACA,uBAAA,CAGD,2DACC,YAAA,CACA,sBAAA,CACA,UAAA,CACA,aAAA,CACA,eAAA,CAEA,+DACC,UAAA,CAEA,oEACC,UAAA,CAEA,sFACC,kBAAA,CACA,sBAAA,CACA,YAAA,CAGD,+EACC,YAAA,CACA,qBAAA,CAID,4HACC,cAAA,CAEA,qIACC,aAAA,CACA,eAAA,CAQL,0DACC,UAAA,CAEA,iEACC,eAAA,CAKF,kDACC,UAAA,CACA,kBAAA,CACA,gBAAA,CACA,sBAAA,CAIC,+IAEC,UAAA,CAGD,mEACC,WAAA,CACA,QAAA,CAYD,qEACC,iCAAA,CACA,mCAAA,CACA,sBAAA,CAGD,2FACC,0BAAA,CAKH,+CACC,qBAAA,CAIA,mEACC,aAAA,CAIF,gDACC,UAAA,CACA,YAAA,CACA,eAAA,CACA,QAAA,CACA,qBAAA,CACA,6BAAA,CACA,sBAAA,CACA,2FAAA,CAEA,8DACC,YAAA,CACA,6BAAA,CACA,UAAA,CACA,eAAA,CAEA,qEACC,wBAAA,CAEA,iFACC,qBAAA",sourcesContent:["\n.sharingTabDetailsView {\n\tdisplay: flex;\n\tflex-direction: column;\n\twidth: 100%;\n\tmargin: 0 auto;\n\tposition: relative;\n\theight: 100%;\n\toverflow: hidden;\n\n\t&__header {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tbox-sizing: border-box;\n\t\tmargin: 0.2em;\n\n\t\tspan {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\n\t\t\th1 {\n\t\t\t\tfont-size: 15px;\n\t\t\t\tpadding-inline-start: 0.3em;\n\t\t\t}\n\n\t\t}\n\t}\n\n\t&__wrapper {\n\t\tposition: relative;\n\t\toverflow: scroll;\n\t\tflex-shrink: 1;\n\t\tpadding: 4px;\n\t\tpadding-inline-end: 12px;\n\t}\n\n\t&__quick-permissions {\n\t\tdisplay: flex;\n\t\tjustify-content: center;\n\t\twidth: 100%;\n\t\tmargin: 0 auto;\n\t\tborder-radius: 0;\n\n\t\tdiv {\n\t\t\twidth: 100%;\n\n\t\t\tspan {\n\t\t\t\twidth: 100%;\n\n\t\t\t\tspan:nth-child(1) {\n\t\t\t\t\talign-items: center;\n\t\t\t\t\tjustify-content: center;\n\t\t\t\t\tpadding: 0.1em;\n\t\t\t\t}\n\n\t\t\t\t:deep(label span) {\n\t\t\t\t\tdisplay: flex;\n\t\t\t\t\tflex-direction: column;\n\t\t\t\t}\n\n\t\t\t\t/* Target component based style in NcCheckboxRadioSwitch slot content*/\n\t\t\t\t:deep(span.checkbox-content__text.checkbox-radio-switch__text) {\n\t\t\t\t\tflex-wrap: wrap;\n\n\t\t\t\t\t.subline {\n\t\t\t\t\t\tdisplay: block;\n\t\t\t\t\t\tflex-basis: 100%;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\t}\n\n\t&__advanced-control {\n\t\twidth: 100%;\n\n\t\tbutton {\n\t\t\tmargin-top: 0.5em;\n\t\t}\n\n\t}\n\n\t&__advanced {\n\t\twidth: 100%;\n\t\tmargin-bottom: 0.5em;\n\t\ttext-align: start;\n\t\tpadding-inline-start: 0;\n\n\t\tsection {\n\n\t\t\ttextarea,\n\t\t\tdiv.mx-datepicker {\n\t\t\t\twidth: 100%;\n\t\t\t}\n\n\t\t\ttextarea {\n\t\t\t\theight: 80px;\n\t\t\t\tmargin: 0;\n\t\t\t}\n\n\t\t\t/*\n\t\t\t The following style is applied out of the component's scope\n\t\t\t to remove padding from the label.checkbox-radio-switch__label,\n\t\t\t which is used to group radio checkbox items. The use of ::v-deep\n\t\t\t ensures that the padding is modified without being affected by\n\t\t\t the component's scoping.\n\t\t\t Without this achieving left alignment for the checkboxes would not\n\t\t\t be possible.\n\t\t\t*/\n\t\t\tspan :deep(label) {\n\t\t\t\tpadding-inline-start: 0 !important;\n\t\t\t\tbackground-color: initial !important;\n\t\t\t\tborder: none !important;\n\t\t\t}\n\n\t\t\tsection.custom-permissions-group {\n\t\t\t\tpadding-inline-start: 1.5em;\n\t\t\t}\n\t\t}\n\t}\n\n\t&__label {\n\t\tpadding-block-end: 6px;\n\t}\n\n\t&__delete {\n\t\t> button:first-child {\n\t\t\tcolor: rgb(223, 7, 7);\n\t\t}\n\t}\n\n\t&__footer {\n\t\twidth: 100%;\n\t\tdisplay: flex;\n\t\tposition: sticky;\n\t\tbottom: 0;\n\t\tflex-direction: column;\n\t\tjustify-content: space-between;\n\t\talign-items: flex-start;\n\t\tbackground: linear-gradient(to bottom, rgba(255, 255, 255, 0), var(--color-main-background));\n\n\t\t.button-group {\n\t\t\tdisplay: flex;\n\t\t\tjustify-content: space-between;\n\t\t\twidth: 100%;\n\t\t\tmargin-top: 16px;\n\n\t\t\tbutton {\n\t\t\t\tmargin-inline-start: 16px;\n\n\t\t\t\t&:first-child {\n\t\t\t\t\tmargin-inline-start: 0;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const o=r},27920(e,t,i){i.d(t,{A:()=>o});var s=i(71354),a=i.n(s),n=i(76314),r=i.n(n)()(a());r.push([e.id,".sharing-entry__inherited .avatar-shared[data-v-cedf3238]{width:32px;height:32px;line-height:32px;font-size:18px;background-color:var(--color-text-maxcontrast);border-radius:50%;flex-shrink:0}","",{version:3,sources:["webpack://./apps/files_sharing/src/views/SharingInherited.vue"],names:[],mappings:"AAEC,0DACC,UAAA,CACA,WAAA,CACA,gBAAA,CACA,cAAA,CACA,8CAAA,CACA,iBAAA,CACA,aAAA",sourcesContent:["\n.sharing-entry__inherited {\n\t.avatar-shared {\n\t\twidth: 32px;\n\t\theight: 32px;\n\t\tline-height: 32px;\n\t\tfont-size: 18px;\n\t\tbackground-color: var(--color-text-maxcontrast);\n\t\tborder-radius: 50%;\n\t\tflex-shrink: 0;\n\t}\n}\n"],sourceRoot:""}]);const o=r},14536(e,t,i){i.d(t,{A:()=>o});var s=i(71354),a=i.n(s),n=i(76314),r=i.n(n)()(a());r.push([e.id,".emptyContentWithSections[data-v-cd6ad9ee]{margin:1rem auto}.sharingTab[data-v-cd6ad9ee]{position:relative;height:100%}.sharingTab__content[data-v-cd6ad9ee]{padding:0 6px}.sharingTab__content section[data-v-cd6ad9ee]{padding-bottom:16px}.sharingTab__content section .section-header[data-v-cd6ad9ee]{margin-top:2px;margin-bottom:2px;display:flex;align-items:center;padding-bottom:4px}.sharingTab__content section .section-header h4[data-v-cd6ad9ee]{margin:0;font-size:16px}.sharingTab__content section .section-header .visually-hidden[data-v-cd6ad9ee]{display:none}.sharingTab__content section .section-header .hint-icon[data-v-cd6ad9ee]{color:var(--color-primary-element)}.sharingTab__content>section[data-v-cd6ad9ee]:not(:last-child){border-bottom:2px solid var(--color-border)}.sharingTab__additionalContent[data-v-cd6ad9ee]{margin:var(--default-clickable-area) 0}.hint-body[data-v-cd6ad9ee]{max-width:300px;padding:var(--border-radius-element)}","",{version:3,sources:["webpack://./apps/files_sharing/src/views/SharingTab.vue"],names:[],mappings:"AACA,2CACC,gBAAA,CAGD,6BACC,iBAAA,CACA,WAAA,CAEA,sCACC,aAAA,CAEA,8CACC,mBAAA,CAEA,8DACC,cAAA,CACA,iBAAA,CACA,YAAA,CACA,kBAAA,CACA,kBAAA,CAEA,iEACC,QAAA,CACA,cAAA,CAGD,+EACC,YAAA,CAGD,yEACC,kCAAA,CAOH,+DACC,2CAAA,CAKF,gDACC,sCAAA,CAIF,4BACC,eAAA,CACA,oCAAA",sourcesContent:["\n.emptyContentWithSections {\n\tmargin: 1rem auto;\n}\n\n.sharingTab {\n\tposition: relative;\n\theight: 100%;\n\n\t&__content {\n\t\tpadding: 0 6px;\n\n\t\tsection {\n\t\t\tpadding-bottom: 16px;\n\n\t\t\t.section-header {\n\t\t\t\tmargin-top: 2px;\n\t\t\t\tmargin-bottom: 2px;\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\t\t\t\tpadding-bottom: 4px;\n\n\t\t\t\th4 {\n\t\t\t\t\tmargin: 0;\n\t\t\t\t\tfont-size: 16px;\n\t\t\t\t}\n\n\t\t\t\t.visually-hidden {\n\t\t\t\t\tdisplay: none;\n\t\t\t\t}\n\n\t\t\t\t.hint-icon {\n\t\t\t\t\tcolor: var(--color-primary-element);\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\n\n\t\t& > section:not(:last-child) {\n\t\t\tborder-bottom: 2px solid var(--color-border);\n\t\t}\n\n\t}\n\n\t&__additionalContent {\n\t\tmargin: var(--default-clickable-area) 0;\n\t}\n}\n\n.hint-body {\n\tmax-width: 300px;\n\tpadding: var(--border-radius-element);\n}\n"],sourceRoot:""}]);const o=r},70544(e,t,i){i.d(t,{A:()=>o});var s=i(71354),a=i.n(s),n=i(76314),r=i.n(n)()(a());r.push([e.id,"\n.sharing-tab-external-section-legacy[data-v-3e4e67d2] {\n\twidth: 100%;\n}\n","",{version:3,sources:["webpack://./apps/files_sharing/src/components/SidebarTabExternal/SidebarTabExternalSectionLegacy.vue"],names:[],mappings:";AAkCA;CACA,WAAA;AACA",sourcesContent:['\x3c!--\n - SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n--\x3e\n\n\n\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (_setup.fileInfo)?_c(_setup.SharingTab,{attrs:{\"file-info\":_setup.fileInfo}}):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./ContentCopy.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./ContentCopy.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ContentCopy.vue?vue&type=template&id=0e8bd3c4\"\nimport script from \"./ContentCopy.vue?vue&type=script&lang=js\"\nexport * from \"./ContentCopy.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 content-copy-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\":\"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('li',{staticClass:\"sharing-entry\"},[_vm._t(\"avatar\"),_vm._v(\" \"),_c('div',{staticClass:\"sharing-entry__desc\"},[_c('span',{staticClass:\"sharing-entry__title\"},[_vm._v(_vm._s(_vm.title))]),_vm._v(\" \"),(_vm.subtitle)?_c('p',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.subtitle)+\"\\n\\t\\t\")]):_vm._e()]),_vm._v(\" \"),(_vm.$slots['default'])?_c('NcActions',{ref:\"actionsComponent\",staticClass:\"sharing-entry__actions\",attrs:{\"menu-align\":\"right\",\"aria-expanded\":_vm.ariaExpandedValue}},[_vm._t(\"default\")],2):_vm._e()],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntrySimple.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!./SharingEntrySimple.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!./SharingEntrySimple.vue?vue&type=style&index=0&id=13d4a0bb&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!./SharingEntrySimple.vue?vue&type=style&index=0&id=13d4a0bb&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SharingEntrySimple.vue?vue&type=template&id=13d4a0bb&scoped=true\"\nimport script from \"./SharingEntrySimple.vue?vue&type=script&lang=js\"\nexport * from \"./SharingEntrySimple.vue?vue&type=script&lang=js\"\nimport style0 from \"./SharingEntrySimple.vue?vue&type=style&index=0&id=13d4a0bb&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 \"13d4a0bb\",\n null\n \n)\n\nexport default component.exports","/**\n * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { getCapabilities } from '@nextcloud/capabilities';\nimport { generateUrl, getBaseUrl } from '@nextcloud/router';\n/**\n * @param fileid - The file ID to generate the direct file link for\n */\nexport function generateFileUrl(fileid) {\n const baseURL = getBaseUrl();\n const { globalscale } = getCapabilities();\n if (globalscale?.token) {\n return generateUrl('/gf/{token}/{fileid}', {\n token: globalscale.token,\n fileid,\n }, { baseURL });\n }\n return generateUrl('/f/{fileid}', {\n fileid,\n }, {\n baseURL,\n });\n}\n","\n\n\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryInternal.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!./SharingEntryInternal.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!./SharingEntryInternal.vue?vue&type=style&index=0&id=6c4cb23b&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!./SharingEntryInternal.vue?vue&type=style&index=0&id=6c4cb23b&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SharingEntryInternal.vue?vue&type=template&id=6c4cb23b&scoped=true\"\nimport script from \"./SharingEntryInternal.vue?vue&type=script&lang=js\"\nexport * from \"./SharingEntryInternal.vue?vue&type=script&lang=js\"\nimport style0 from \"./SharingEntryInternal.vue?vue&type=style&index=0&id=6c4cb23b&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 \"6c4cb23b\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('ul',[_c('SharingEntrySimple',{ref:\"shareEntrySimple\",staticClass:\"sharing-entry__internal\",attrs:{\"title\":_vm.t('files_sharing', 'Internal link'),\"subtitle\":_vm.internalLinkSubtitle},scopedSlots:_vm._u([{key:\"avatar\",fn:function(){return [_c('div',{staticClass:\"avatar-external icon-external-white\"})]},proxy:true}])},[_vm._v(\" \"),_c('NcActionButton',{attrs:{\"title\":_vm.copyLinkTooltip,\"aria-label\":_vm.copyLinkTooltip},on:{\"click\":_vm.copyLink},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [(_vm.copied && _vm.copySuccess)?_c('CheckIcon',{staticClass:\"icon-checkmark-color\",attrs:{\"size\":20}}):_c('ClipboardIcon',{attrs:{\"size\":20}})]},proxy:true}])})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"sharing-search\"},[_c('label',{staticClass:\"hidden-visually\",attrs:{\"for\":_vm.shareInputId}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.isExternal\n\t\t\t? _vm.t('files_sharing', 'Enter external recipients')\n\t\t\t: _vm.t('files_sharing', 'Search for internal recipients'))+\"\\n\\t\")]),_vm._v(\" \"),_c('NcSelect',{ref:\"select\",staticClass:\"sharing-search__input\",attrs:{\"input-id\":_vm.shareInputId,\"disabled\":!_vm.canReshare,\"loading\":_vm.loading,\"filterable\":false,\"placeholder\":_vm.inputPlaceholder,\"clear-search-on-blur\":() => false,\"user-select\":true,\"options\":_vm.options,\"label-outside\":true},on:{\"search\":_vm.asyncFind,\"option:selected\":_vm.onSelected},scopedSlots:_vm._u([{key:\"no-options\",fn:function({ search }){return [_vm._v(\"\\n\\t\\t\\t\"+_vm._s(search ? _vm.noResultText : _vm.placeholder)+\"\\n\\t\\t\")]}}]),model:{value:(_vm.value),callback:function ($$v) {_vm.value=$$v},expression:\"value\"}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nexport const ATOMIC_PERMISSIONS = {\n\tNONE: 0,\n\tREAD: 1,\n\tUPDATE: 2,\n\tCREATE: 4,\n\tDELETE: 8,\n\tSHARE: 16,\n}\n\nconst BUNDLED_PERMISSIONS = {\n\tREAD_ONLY: ATOMIC_PERMISSIONS.READ,\n\tUPLOAD_AND_UPDATE: ATOMIC_PERMISSIONS.READ | ATOMIC_PERMISSIONS.UPDATE | ATOMIC_PERMISSIONS.CREATE | ATOMIC_PERMISSIONS.DELETE,\n\tFILE_DROP: ATOMIC_PERMISSIONS.CREATE,\n\tALL: ATOMIC_PERMISSIONS.UPDATE | ATOMIC_PERMISSIONS.CREATE | ATOMIC_PERMISSIONS.READ | ATOMIC_PERMISSIONS.DELETE | ATOMIC_PERMISSIONS.SHARE,\n\tALL_FILE: ATOMIC_PERMISSIONS.UPDATE | ATOMIC_PERMISSIONS.READ | ATOMIC_PERMISSIONS.SHARE,\n}\n\n/**\n * Get bundled permissions based on config.\n *\n * @param {boolean} excludeShare - Whether to exclude SHARE permission from ALL and ALL_FILE bundles.\n * @return {object}\n */\nexport function getBundledPermissions(excludeShare = false) {\n\tif (excludeShare) {\n\t\treturn {\n\t\t\t...BUNDLED_PERMISSIONS,\n\t\t\tALL: BUNDLED_PERMISSIONS.ALL & ~ATOMIC_PERMISSIONS.SHARE,\n\t\t\tALL_FILE: BUNDLED_PERMISSIONS.ALL_FILE & ~ATOMIC_PERMISSIONS.SHARE,\n\t\t}\n\t}\n\treturn BUNDLED_PERMISSIONS\n}\n\n/**\n * Return whether a given permissions set contains some permissions.\n *\n * @param {number} initialPermissionSet - the permissions set.\n * @param {number} permissionsToCheck - the permissions to check.\n * @return {boolean}\n */\nexport function hasPermissions(initialPermissionSet, permissionsToCheck) {\n\treturn initialPermissionSet !== ATOMIC_PERMISSIONS.NONE && (initialPermissionSet & permissionsToCheck) === permissionsToCheck\n}\n\n/**\n * Return whether a given permissions set is valid.\n *\n * @param {number} permissionsSet - the permissions set.\n *\n * @return {boolean}\n */\nexport function permissionsSetIsValid(permissionsSet) {\n\t// Must have at least READ or CREATE permission.\n\tif (!hasPermissions(permissionsSet, ATOMIC_PERMISSIONS.READ) && !hasPermissions(permissionsSet, ATOMIC_PERMISSIONS.CREATE)) {\n\t\treturn false\n\t}\n\n\t// Must have READ permission if have UPDATE or DELETE.\n\tif (!hasPermissions(permissionsSet, ATOMIC_PERMISSIONS.READ) && (\n\t\thasPermissions(permissionsSet, ATOMIC_PERMISSIONS.UPDATE) || hasPermissions(permissionsSet, ATOMIC_PERMISSIONS.DELETE)\n\t)) {\n\t\treturn false\n\t}\n\n\treturn true\n}\n\n/**\n * Add some permissions to an initial set of permissions.\n *\n * @param {number} initialPermissionSet - the initial permissions.\n * @param {number} permissionsToAdd - the permissions to add.\n *\n * @return {number}\n */\nexport function addPermissions(initialPermissionSet, permissionsToAdd) {\n\treturn initialPermissionSet | permissionsToAdd\n}\n\n/**\n * Remove some permissions from an initial set of permissions.\n *\n * @param {number} initialPermissionSet - the initial permissions.\n * @param {number} permissionsToSubtract - the permissions to remove.\n *\n * @return {number}\n */\nexport function subtractPermissions(initialPermissionSet, permissionsToSubtract) {\n\treturn initialPermissionSet & ~permissionsToSubtract\n}\n\n/**\n * Toggle some permissions from an initial set of permissions.\n *\n * @param {number} initialPermissionSet - the permissions set.\n * @param {number} permissionsToToggle - the permissions to toggle.\n *\n * @return {number}\n */\nexport function togglePermissions(initialPermissionSet, permissionsToToggle) {\n\tif (hasPermissions(initialPermissionSet, permissionsToToggle)) {\n\t\treturn subtractPermissions(initialPermissionSet, permissionsToToggle)\n\t} else {\n\t\treturn addPermissions(initialPermissionSet, permissionsToToggle)\n\t}\n}\n\n/**\n * Return whether some given permissions can be toggled from a permission set.\n *\n * @param {number} permissionSet - the initial permissions set.\n * @param {number} permissionsToToggle - the permissions to toggle.\n *\n * @return {boolean}\n */\nexport function canTogglePermissions(permissionSet, permissionsToToggle) {\n\treturn permissionsSetIsValid(togglePermissions(permissionSet, permissionsToToggle))\n}\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport logger from '../services/logger.ts';\nimport { isFileRequest } from '../services/SharingService.ts';\nexport default class Share {\n _share;\n /**\n * Create the share object\n *\n * @param ocsData ocs request response\n */\n constructor(ocsData) {\n if (ocsData.ocs && ocsData.ocs.data && ocsData.ocs.data[0]) {\n ocsData = ocsData.ocs.data[0];\n }\n // string to int\n if (typeof ocsData.id === 'string') {\n ocsData.id = Number.parseInt(ocsData.id);\n }\n // convert int into boolean\n ocsData.hide_download = !!ocsData.hide_download;\n ocsData.mail_send = !!ocsData.mail_send;\n if (ocsData.attributes && typeof ocsData.attributes === 'string') {\n try {\n ocsData.attributes = JSON.parse(ocsData.attributes);\n }\n catch {\n logger.warn('Could not parse share attributes returned by server', ocsData.attributes);\n }\n }\n ocsData.attributes = ocsData.attributes ?? [];\n // store state\n this._share = ocsData;\n }\n /**\n * Get the share state\n * ! used for reactivity purpose\n * Do not remove. It allow vuejs to\n * inject its watchers into the #share\n * state and make the whole class reactive\n *\n * @return the share raw state\n */\n get state() {\n return this._share;\n }\n /**\n * get the share id\n */\n get id() {\n return this._share.id;\n }\n /**\n * Get the share type\n */\n get type() {\n return this._share.share_type;\n }\n /**\n * Get the share permissions\n * See window.OC.PERMISSION_* variables\n */\n get permissions() {\n return this._share.permissions;\n }\n /**\n * Get the share attributes\n */\n get attributes() {\n return this._share.attributes || [];\n }\n /**\n * Set the share permissions\n * See window.OC.PERMISSION_* variables\n */\n set permissions(permissions) {\n this._share.permissions = permissions;\n }\n // SHARE OWNER --------------------------------------------------\n /**\n * Get the share owner uid\n */\n get owner() {\n return this._share.uid_owner;\n }\n /**\n * Get the share owner's display name\n */\n get ownerDisplayName() {\n return this._share.displayname_owner;\n }\n // SHARED WITH --------------------------------------------------\n /**\n * Get the share with entity uid\n */\n get shareWith() {\n return this._share.share_with;\n }\n /**\n * Get the share with entity display name\n * fallback to its uid if none\n */\n get shareWithDisplayName() {\n return this._share.share_with_displayname\n || this._share.share_with;\n }\n /**\n * Unique display name in case of multiple\n * duplicates results with the same name.\n */\n get shareWithDisplayNameUnique() {\n return this._share.share_with_displayname_unique\n || this._share.share_with;\n }\n /**\n * Get the share with entity link\n */\n get shareWithLink() {\n return this._share.share_with_link;\n }\n /**\n * Get the share with avatar if any\n */\n get shareWithAvatar() {\n return this._share.share_with_avatar;\n }\n // SHARED FILE OR FOLDER OWNER ----------------------------------\n /**\n * Get the shared item owner uid\n */\n get uidFileOwner() {\n return this._share.uid_file_owner;\n }\n /**\n * Get the shared item display name\n * fallback to its uid if none\n */\n get displaynameFileOwner() {\n return this._share.displayname_file_owner\n || this._share.uid_file_owner;\n }\n // TIME DATA ----------------------------------------------------\n /**\n * Get the share creation timestamp\n */\n get createdTime() {\n return this._share.stime;\n }\n /**\n * Get the expiration date\n *\n * @return date with YYYY-MM-DD format\n */\n get expireDate() {\n return this._share.expiration;\n }\n /**\n * Set the expiration date\n *\n * @param date the share expiration date with YYYY-MM-DD format\n */\n set expireDate(date) {\n this._share.expiration = date;\n }\n // EXTRA DATA ---------------------------------------------------\n /**\n * Get the public share token\n */\n get token() {\n return this._share.token;\n }\n /**\n * Set the public share token\n */\n set token(token) {\n this._share.token = token;\n }\n /**\n * Get the share note if any\n */\n get note() {\n return this._share.note;\n }\n /**\n * Set the share note if any\n */\n set note(note) {\n this._share.note = note;\n }\n /**\n * Get the share label if any\n * Should only exist on link shares\n */\n get label() {\n return this._share.label ?? '';\n }\n /**\n * Set the share label if any\n * Should only be set on link shares\n */\n set label(label) {\n this._share.label = label;\n }\n /**\n * Have a mail been sent\n */\n get mailSend() {\n return this._share.mail_send === true;\n }\n /**\n * Hide the download button on public page\n */\n get hideDownload() {\n return this._share.hide_download === true\n || this.attributes.find?.(({ scope, key, value }) => scope === 'permissions' && key === 'download' && !value) !== undefined;\n }\n /**\n * Hide the download button on public page\n */\n set hideDownload(state) {\n // disabling hide-download also enables the download permission\n // needed for regression in Nextcloud 31.0.0 until (incl.) 31.0.3\n if (!state) {\n const attribute = this.attributes.find(({ key, scope }) => key === 'download' && scope === 'permissions');\n if (attribute) {\n attribute.value = true;\n }\n }\n this._share.hide_download = state === true;\n }\n /**\n * Password protection of the share\n */\n get password() {\n return this._share.password;\n }\n /**\n * Password protection of the share\n */\n set password(password) {\n this._share.password = password;\n }\n /**\n * Password expiration time\n *\n * @return date with YYYY-MM-DD format\n */\n get passwordExpirationTime() {\n return this._share.password_expiration_time;\n }\n /**\n * Password expiration time\n *\n * @param passwordExpirationTime date with YYYY-MM-DD format\n */\n set passwordExpirationTime(passwordExpirationTime) {\n this._share.password_expiration_time = passwordExpirationTime;\n }\n /**\n * Password protection by Talk of the share\n */\n get sendPasswordByTalk() {\n return this._share.send_password_by_talk;\n }\n /**\n * Password protection by Talk of the share\n *\n * @param sendPasswordByTalk whether to send the password by Talk or not\n */\n set sendPasswordByTalk(sendPasswordByTalk) {\n this._share.send_password_by_talk = sendPasswordByTalk;\n }\n // SHARED ITEM DATA ---------------------------------------------\n /**\n * Get the shared item absolute full path\n */\n get path() {\n return this._share.path;\n }\n /**\n * Return the item type: file or folder\n *\n * @return 'folder' | 'file'\n */\n get itemType() {\n return this._share.item_type;\n }\n /**\n * Get the shared item mimetype\n */\n get mimetype() {\n return this._share.mimetype;\n }\n /**\n * Get the shared item id\n */\n get fileSource() {\n return this._share.file_source;\n }\n /**\n * Get the target path on the receiving end\n * e.g the file /xxx/aaa will be shared in\n * the receiving root as /aaa, the fileTarget is /aaa\n */\n get fileTarget() {\n return this._share.file_target;\n }\n /**\n * Get the parent folder id if any\n */\n get fileParent() {\n return this._share.file_parent;\n }\n // PERMISSIONS Shortcuts\n /**\n * Does this share have READ permissions\n */\n get hasReadPermission() {\n return !!((this.permissions & window.OC.PERMISSION_READ));\n }\n /**\n * Does this share have CREATE permissions\n */\n get hasCreatePermission() {\n return !!((this.permissions & window.OC.PERMISSION_CREATE));\n }\n /**\n * Does this share have DELETE permissions\n */\n get hasDeletePermission() {\n return !!((this.permissions & window.OC.PERMISSION_DELETE));\n }\n /**\n * Does this share have UPDATE permissions\n */\n get hasUpdatePermission() {\n return !!((this.permissions & window.OC.PERMISSION_UPDATE));\n }\n /**\n * Does this share have SHARE permissions\n */\n get hasSharePermission() {\n return !!((this.permissions & window.OC.PERMISSION_SHARE));\n }\n /**\n * Does this share have download permissions\n */\n get hasDownloadPermission() {\n const hasDisabledDownload = (attribute) => {\n return attribute.scope === 'permissions' && attribute.key === 'download' && attribute.value === false;\n };\n return this.attributes.some(hasDisabledDownload);\n }\n /**\n * Is this mail share a file request ?\n */\n get isFileRequest() {\n return isFileRequest(JSON.stringify(this.attributes));\n }\n set hasDownloadPermission(enabled) {\n this.setAttribute('permissions', 'download', !!enabled);\n }\n setAttribute(scope, key, value) {\n const attrUpdate = {\n scope,\n key,\n value,\n };\n // try and replace existing\n for (const i in this._share.attributes) {\n const attr = this._share.attributes[i];\n if (attr.scope === attrUpdate.scope && attr.key === attrUpdate.key) {\n this._share.attributes.splice(i, 1, attrUpdate);\n return;\n }\n }\n this._share.attributes.push(attrUpdate);\n }\n // PERMISSIONS Shortcuts for the CURRENT USER\n // ! the permissions above are the share settings,\n // ! meaning the permissions for the recipient\n /**\n * Can the current user EDIT this share ?\n */\n get canEdit() {\n return this._share.can_edit === true;\n }\n /**\n * Can the current user DELETE this share ?\n */\n get canDelete() {\n return this._share.can_delete === true;\n }\n /**\n * Top level accessible shared folder fileid for the current user\n */\n get viaFileid() {\n return this._share.via_fileid;\n }\n /**\n * Top level accessible shared folder path for the current user\n */\n get viaPath() {\n return this._share.via_path;\n }\n // TODO: SORT THOSE PROPERTIES\n get parent() {\n return this._share.parent;\n }\n get storageId() {\n return this._share.storage_id;\n }\n get storage() {\n return this._share.storage;\n }\n get itemSource() {\n return this._share.item_source;\n }\n get status() {\n return this._share.status;\n }\n /**\n * Is the share from a trusted server\n */\n get isTrustedServer() {\n return !!this._share.is_trusted_server;\n }\n}\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n// TODO: Fix this instead of disabling ESLint!!!\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { getCurrentUser } from '@nextcloud/auth';\nimport axios from '@nextcloud/axios';\nimport { File, Folder, Permission } from '@nextcloud/files';\nimport { getRemoteURL, getRootPath } from '@nextcloud/files/dav';\nimport { generateOcsUrl } from '@nextcloud/router';\nimport logger from './logger.ts';\nconst headers = {\n 'Content-Type': 'application/json',\n};\n/**\n *\n * @param ocsEntry\n */\nasync function ocsEntryToNode(ocsEntry) {\n try {\n // Federated share handling\n if (ocsEntry?.remote_id !== undefined) {\n if (!ocsEntry.mimetype) {\n const mime = (await import('mime')).default;\n // This won't catch files without an extension, but this is the best we can do\n ocsEntry.mimetype = mime.getType(ocsEntry.name);\n }\n const type = ocsEntry.type === 'dir' ? 'folder' : ocsEntry.type;\n ocsEntry.item_type = type || (ocsEntry.mimetype ? 'file' : 'folder');\n // different naming for remote shares\n ocsEntry.item_mtime = ocsEntry.mtime;\n ocsEntry.file_target = ocsEntry.file_target || ocsEntry.mountpoint;\n if (ocsEntry.file_target.includes('TemporaryMountPointName')) {\n ocsEntry.file_target = ocsEntry.name;\n }\n // If the share is not accepted yet we don't know which permissions it will have\n if (!ocsEntry.accepted) {\n // Need to set permissions to NONE for federated shares\n ocsEntry.item_permissions = Permission.NONE;\n ocsEntry.permissions = Permission.NONE;\n }\n ocsEntry.uid_owner = ocsEntry.owner;\n // TODO: have the real display name stored somewhere\n ocsEntry.displayname_owner = ocsEntry.owner;\n }\n const isFolder = ocsEntry?.item_type === 'folder';\n const hasPreview = ocsEntry?.has_preview === true;\n const Node = isFolder ? Folder : File;\n // If this is an external share that is not yet accepted,\n // we don't have an id. We can fallback to the row id temporarily\n // local shares (this server) use `file_source`, but remote shares (federated) use `file_id`\n const fileid = ocsEntry.file_source || ocsEntry.file_id || ocsEntry.id;\n // Generate path and strip double slashes\n const path = ocsEntry.path || ocsEntry.file_target || ocsEntry.name;\n const source = `${getRemoteURL()}${getRootPath()}/${path.replace(/^\\/+/, '')}`;\n let mtime = ocsEntry.item_mtime ? new Date((ocsEntry.item_mtime) * 1000) : undefined;\n // Prefer share time if more recent than item mtime\n if (ocsEntry?.stime > (ocsEntry?.item_mtime || 0)) {\n mtime = new Date((ocsEntry.stime) * 1000);\n }\n let sharees;\n if ('share_with' in ocsEntry) {\n sharees = {\n sharee: {\n id: ocsEntry.share_with,\n 'display-name': ocsEntry.share_with_displayname || ocsEntry.share_with,\n type: ocsEntry.share_type,\n },\n };\n }\n return new Node({\n id: fileid,\n source,\n owner: ocsEntry?.uid_owner,\n mime: ocsEntry?.mimetype || 'application/octet-stream',\n mtime,\n size: ocsEntry?.item_size ?? undefined,\n permissions: ocsEntry?.item_permissions || ocsEntry?.permissions,\n root: getRootPath(),\n attributes: {\n ...ocsEntry,\n 'has-preview': hasPreview,\n 'hide-download': ocsEntry?.hide_download === 1,\n // Also check the sharingStatusAction.ts code\n 'owner-id': ocsEntry?.uid_owner,\n 'owner-display-name': ocsEntry?.displayname_owner,\n 'share-types': ocsEntry?.share_type,\n 'share-attributes': ocsEntry?.attributes || '[]',\n sharees,\n favorite: ocsEntry?.tags?.includes(window.OC.TAG_FAVORITE) ? 1 : 0,\n },\n });\n }\n catch (error) {\n logger.error('Error while parsing OCS entry', { error });\n return null;\n }\n}\n/**\n *\n * @param shareWithMe\n */\nfunction getShares(shareWithMe = false) {\n const url = generateOcsUrl('apps/files_sharing/api/v1/shares');\n return axios.get(url, {\n headers,\n params: {\n shared_with_me: shareWithMe,\n include_tags: true,\n },\n });\n}\n/**\n *\n */\nfunction getSharedWithYou() {\n return getShares(true);\n}\n/**\n *\n */\nfunction getSharedWithOthers() {\n return getShares();\n}\n/**\n *\n */\nfunction getRemoteShares() {\n const url = generateOcsUrl('apps/files_sharing/api/v1/remote_shares');\n return axios.get(url, {\n headers,\n params: {\n include_tags: true,\n },\n });\n}\n/**\n *\n */\nfunction getPendingShares() {\n const url = generateOcsUrl('apps/files_sharing/api/v1/shares/pending');\n return axios.get(url, {\n headers,\n params: {\n include_tags: true,\n },\n });\n}\n/**\n *\n */\nfunction getRemotePendingShares() {\n const url = generateOcsUrl('apps/files_sharing/api/v1/remote_shares/pending');\n return axios.get(url, {\n headers,\n params: {\n include_tags: true,\n },\n });\n}\n/**\n *\n */\nfunction getDeletedShares() {\n const url = generateOcsUrl('apps/files_sharing/api/v1/deletedshares');\n return axios.get(url, {\n headers,\n params: {\n include_tags: true,\n },\n });\n}\n/**\n * Check if a file request is enabled\n *\n * @param attributes the share attributes json-encoded array\n */\nexport function isFileRequest(attributes = '[]') {\n const isFileRequest = (attribute) => {\n return attribute.scope === 'fileRequest' && attribute.key === 'enabled' && attribute.value === true;\n };\n try {\n const attributesArray = JSON.parse(attributes);\n return attributesArray.some(isFileRequest);\n }\n catch (error) {\n logger.error('Error while parsing share attributes', { error });\n return false;\n }\n}\n/**\n * Group an array of objects (here Nodes) by a key\n * and return an array of arrays of them.\n *\n * @param nodes Nodes to group\n * @param key The attribute to group by\n */\nfunction groupBy(nodes, key) {\n return Object.values(nodes.reduce(function (acc, curr) {\n (acc[curr[key]] = acc[curr[key]] || []).push(curr);\n return acc;\n }, {}));\n}\n/**\n *\n * @param sharedWithYou\n * @param sharedWithOthers\n * @param pendingShares\n * @param deletedshares\n * @param filterTypes\n */\nexport async function getContents(sharedWithYou = true, sharedWithOthers = true, pendingShares = false, deletedshares = false, filterTypes = []) {\n const promises = [];\n if (sharedWithYou) {\n promises.push(getSharedWithYou(), getRemoteShares());\n }\n if (sharedWithOthers) {\n promises.push(getSharedWithOthers());\n }\n if (pendingShares) {\n promises.push(getPendingShares(), getRemotePendingShares());\n }\n if (deletedshares) {\n promises.push(getDeletedShares());\n }\n const responses = await Promise.all(promises);\n const data = responses.map((response) => response.data.ocs.data).flat();\n let contents = (await Promise.all(data.map(ocsEntryToNode)))\n .filter((node) => node !== null);\n if (filterTypes.length > 0) {\n contents = contents.filter((node) => filterTypes.includes(node.attributes?.share_type));\n }\n // Merge duplicate shares and group their attributes\n // Also check the sharingStatusAction.ts code\n contents = groupBy(contents, 'source').map((nodes) => {\n const node = nodes[0];\n node.attributes['share-types'] = nodes.map((node) => node.attributes['share-types']);\n return node;\n });\n return {\n folder: new Folder({\n id: 0,\n source: `${getRemoteURL()}${getRootPath()}`,\n owner: getCurrentUser()?.uid || null,\n root: getRootPath(),\n }),\n contents,\n };\n}\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { getCapabilities } from '@nextcloud/capabilities';\nimport { loadState } from '@nextcloud/initial-state';\nexport default class Config {\n _capabilities;\n constructor() {\n this._capabilities = getCapabilities();\n }\n /**\n * Get default share permissions, if any\n */\n get defaultPermissions() {\n return this._capabilities.files_sharing?.default_permissions;\n }\n /**\n * Should SHARE permission be excluded from \"Allow editing\" bundled permissions\n */\n get excludeReshareFromEdit() {\n return this._capabilities.files_sharing?.exclude_reshare_from_edit === true;\n }\n /**\n * Is public upload allowed on link shares ?\n * This covers File request and Full upload/edit option.\n */\n get isPublicUploadEnabled() {\n return this._capabilities.files_sharing?.public?.upload === true;\n }\n /**\n * Get the federated sharing documentation link\n */\n get federatedShareDocLink() {\n return window.OC.appConfig.core.federatedCloudShareDoc;\n }\n /**\n * Get the default link share expiration date\n */\n get defaultExpirationDate() {\n if (this.isDefaultExpireDateEnabled && this.defaultExpireDate !== null) {\n return new Date(new Date().setDate(new Date().getDate() + this.defaultExpireDate));\n }\n return null;\n }\n /**\n * Get the default internal expiration date\n */\n get defaultInternalExpirationDate() {\n if (this.isDefaultInternalExpireDateEnabled && this.defaultInternalExpireDate !== null) {\n return new Date(new Date().setDate(new Date().getDate() + this.defaultInternalExpireDate));\n }\n return null;\n }\n /**\n * Get the default remote expiration date\n */\n get defaultRemoteExpirationDateString() {\n if (this.isDefaultRemoteExpireDateEnabled && this.defaultRemoteExpireDate !== null) {\n return new Date(new Date().setDate(new Date().getDate() + this.defaultRemoteExpireDate));\n }\n return null;\n }\n /**\n * Are link shares password-enforced ?\n */\n get enforcePasswordForPublicLink() {\n return window.OC.appConfig.core.enforcePasswordForPublicLink === true;\n }\n /**\n * Is password asked by default on link shares ?\n */\n get enableLinkPasswordByDefault() {\n return window.OC.appConfig.core.enableLinkPasswordByDefault === true;\n }\n /**\n * Is link shares expiration enforced ?\n */\n get isDefaultExpireDateEnforced() {\n return window.OC.appConfig.core.defaultExpireDateEnforced === true;\n }\n /**\n * Is there a default expiration date for new link shares ?\n */\n get isDefaultExpireDateEnabled() {\n return window.OC.appConfig.core.defaultExpireDateEnabled === true;\n }\n /**\n * Is internal shares expiration enforced ?\n */\n get isDefaultInternalExpireDateEnforced() {\n return window.OC.appConfig.core.defaultInternalExpireDateEnforced === true;\n }\n /**\n * Is there a default expiration date for new internal shares ?\n */\n get isDefaultInternalExpireDateEnabled() {\n return window.OC.appConfig.core.defaultInternalExpireDateEnabled === true;\n }\n /**\n * Is remote shares expiration enforced ?\n */\n get isDefaultRemoteExpireDateEnforced() {\n return window.OC.appConfig.core.defaultRemoteExpireDateEnforced === true;\n }\n /**\n * Is there a default expiration date for new remote shares ?\n */\n get isDefaultRemoteExpireDateEnabled() {\n return window.OC.appConfig.core.defaultRemoteExpireDateEnabled === true;\n }\n /**\n * Are users on this server allowed to send shares to other servers ?\n */\n get isRemoteShareAllowed() {\n return window.OC.appConfig.core.remoteShareAllowed === true;\n }\n /**\n * Is federation enabled ?\n */\n get isFederationEnabled() {\n return this._capabilities?.files_sharing?.federation?.outgoing === true;\n }\n /**\n * Is public sharing enabled ?\n */\n get isPublicShareAllowed() {\n return this._capabilities?.files_sharing?.public?.enabled === true;\n }\n /**\n * Is sharing my mail (link share) enabled ?\n */\n get isMailShareAllowed() {\n return this._capabilities?.files_sharing?.sharebymail?.enabled === true\n && this.isPublicShareAllowed === true;\n }\n /**\n * Get the default days to link shares expiration\n */\n get defaultExpireDate() {\n return window.OC.appConfig.core.defaultExpireDate;\n }\n /**\n * Get the default days to internal shares expiration\n */\n get defaultInternalExpireDate() {\n return window.OC.appConfig.core.defaultInternalExpireDate;\n }\n /**\n * Get the default days to remote shares expiration\n */\n get defaultRemoteExpireDate() {\n return window.OC.appConfig.core.defaultRemoteExpireDate;\n }\n /**\n * Is resharing allowed ?\n */\n get isResharingAllowed() {\n return window.OC.appConfig.core.resharingAllowed === true;\n }\n /**\n * Is password enforced for mail shares ?\n */\n get isPasswordForMailSharesRequired() {\n return this._capabilities.files_sharing?.sharebymail?.password?.enforced === true;\n }\n /**\n * Always show the email or userid unique sharee label if enabled by the admin\n */\n get shouldAlwaysShowUnique() {\n return this._capabilities.files_sharing?.sharee?.always_show_unique === true;\n }\n /**\n * Is sharing with groups allowed ?\n */\n get allowGroupSharing() {\n return window.OC.appConfig.core.allowGroupSharing === true;\n }\n /**\n * Get the maximum results of a share search\n */\n get maxAutocompleteResults() {\n return parseInt(window.OC.config['sharing.maxAutocompleteResults'], 10) || 25;\n }\n /**\n * Get the minimal string length\n * to initiate a share search\n */\n get minSearchStringLength() {\n return parseInt(window.OC.config['sharing.minSearchStringLength'], 10) || 0;\n }\n /**\n * Get the password policy configuration\n */\n get passwordPolicy() {\n return this._capabilities?.password_policy || {};\n }\n /**\n * Returns true if custom tokens are allowed\n */\n get allowCustomTokens() {\n return this._capabilities?.files_sharing?.public?.custom_tokens;\n }\n /**\n * Show federated shares as internal shares\n *\n * @return\n */\n get showFederatedSharesAsInternal() {\n return loadState('files_sharing', 'showFederatedSharesAsInternal', false);\n }\n /**\n * Show federated shares to trusted servers as internal shares\n *\n * @return\n */\n get showFederatedSharesToTrustedServersAsInternal() {\n return loadState('files_sharing', 'showFederatedSharesToTrustedServersAsInternal', false);\n }\n /**\n * Show the external share ui\n */\n get showExternalSharing() {\n return loadState('files_sharing', 'showExternalSharing', true);\n }\n}\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { ATOMIC_PERMISSIONS } from '../lib/SharePermissionsToolBox.js'\nimport Share from '../models/Share.ts'\nimport Config from '../services/ConfigService.ts'\nimport logger from '../services/logger.ts'\n\nexport default {\n\tmethods: {\n\t\tasync openSharingDetails(shareRequestObject) {\n\t\t\tlet share = {}\n\t\t\t// handle externalResults from OCA.Sharing.ShareSearch\n\t\t\t// TODO : Better name/interface for handler required\n\t\t\t// For example `externalAppCreateShareHook` with proper documentation\n\t\t\tif (shareRequestObject.handler) {\n\t\t\t\tconst handlerInput = {}\n\t\t\t\tif (this.suggestions) {\n\t\t\t\t\thandlerInput.suggestions = this.suggestions\n\t\t\t\t\thandlerInput.fileInfo = this.fileInfo\n\t\t\t\t\thandlerInput.query = this.query\n\t\t\t\t}\n\t\t\t\tconst externalShareRequestObject = await shareRequestObject.handler(handlerInput)\n\t\t\t\tshare = this.mapShareRequestToShareObject(externalShareRequestObject)\n\t\t\t} else {\n\t\t\t\tshare = this.mapShareRequestToShareObject(shareRequestObject)\n\t\t\t}\n\n\t\t\tif (this.fileInfo.type !== 'dir') {\n\t\t\t\tconst originalPermissions = share.permissions\n\t\t\t\tconst strippedPermissions = originalPermissions\n\t\t\t\t\t& ~ATOMIC_PERMISSIONS.CREATE\n\t\t\t\t\t& ~ATOMIC_PERMISSIONS.DELETE\n\n\t\t\t\tif (originalPermissions !== strippedPermissions) {\n\t\t\t\t\tlogger.debug('Removed create/delete permissions from file share (only valid for folders)')\n\t\t\t\t\tshare.permissions = strippedPermissions\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst shareDetails = {\n\t\t\t\tfileInfo: this.fileInfo,\n\t\t\t\tshare,\n\t\t\t}\n\n\t\t\tthis.$emit('open-sharing-details', shareDetails)\n\t\t},\n\t\topenShareDetailsForCustomSettings(share) {\n\t\t\tshare.setCustomPermissions = true\n\t\t\tthis.openSharingDetails(share)\n\t\t},\n\t\tmapShareRequestToShareObject(shareRequestObject) {\n\t\t\tif (shareRequestObject.id) {\n\t\t\t\treturn shareRequestObject\n\t\t\t}\n\n\t\t\tconst share = {\n\t\t\t\tattributes: [\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: true,\n\t\t\t\t\t\tkey: 'download',\n\t\t\t\t\t\tscope: 'permissions',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\thideDownload: false,\n\t\t\t\tshare_type: shareRequestObject.shareType,\n\t\t\t\tshare_with: shareRequestObject.shareWith,\n\t\t\t\tis_no_user: shareRequestObject.isNoUser,\n\t\t\t\tuser: shareRequestObject.shareWith,\n\t\t\t\tshare_with_displayname: shareRequestObject.displayName,\n\t\t\t\tsubtitle: shareRequestObject.subtitle,\n\t\t\t\tpermissions: shareRequestObject.permissions ?? new Config().defaultPermissions,\n\t\t\t\texpiration: '',\n\t\t\t}\n\n\t\t\treturn new Share(share)\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 axios, { isAxiosError } from '@nextcloud/axios'\nimport { showError } from '@nextcloud/dialogs'\nimport { emit } from '@nextcloud/event-bus'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport Share from '../models/Share.ts'\nimport logger from '../services/logger.ts'\n\nconst shareUrl = generateOcsUrl('apps/files_sharing/api/v1/shares')\n\nexport default {\n\tmethods: {\n\t\t/**\n\t\t * Create a new share\n\t\t *\n\t\t * @param {object} data destructuring object\n\t\t * @param {string} data.path path to the file/folder which should be shared\n\t\t * @param {number} data.shareType 0 = user; 1 = group; 3 = public link; 6 = federated cloud share\n\t\t * @param {string} data.shareWith user/group id with which the file should be shared (optional for shareType > 1)\n\t\t * @param {boolean} [data.publicUpload] allow public upload to a public shared folder\n\t\t * @param {string} [data.password] password to protect public link Share with\n\t\t * @param {number} [data.permissions] 1 = read; 2 = update; 4 = create; 8 = delete; 16 = share; 31 = all (default: 31, for public shares: 1)\n\t\t * @param {boolean} [data.sendPasswordByTalk] send the password via a talk conversation\n\t\t * @param {string} [data.expireDate] expire the share automatically after\n\t\t * @param {string} [data.label] custom label\n\t\t * @param {string} [data.attributes] Share attributes encoded as json\n\t\t * @param {string} data.note custom note to recipient\n\t\t * @return {Share} the new share\n\t\t * @throws {Error}\n\t\t */\n\t\tasync createShare({ path, permissions, shareType, shareWith, publicUpload, password, sendPasswordByTalk, expireDate, label, note, attributes }) {\n\t\t\ttry {\n\t\t\t\tconst request = await axios.post(shareUrl, { path, permissions, shareType, shareWith, publicUpload, password, sendPasswordByTalk, expireDate, label, note, attributes })\n\t\t\t\tif (!request?.data?.ocs) {\n\t\t\t\t\tthrow request\n\t\t\t\t}\n\t\t\t\tconst share = new Share(request.data.ocs.data)\n\t\t\t\temit('files_sharing:share:created', { share })\n\t\t\t\treturn share\n\t\t\t} catch (error) {\n\t\t\t\tconst errorMessage = getErrorMessage(error) ?? t('files_sharing', 'Error creating the share')\n\t\t\t\tshowError(errorMessage)\n\t\t\t\tthrow new Error(errorMessage, { cause: error })\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Delete a share\n\t\t *\n\t\t * @param {number} id share id\n\t\t * @throws {Error}\n\t\t */\n\t\tasync deleteShare(id) {\n\t\t\ttry {\n\t\t\t\tconst request = await axios.delete(shareUrl + `/${id}`)\n\t\t\t\tif (!request?.data?.ocs) {\n\t\t\t\t\tthrow request\n\t\t\t\t}\n\t\t\t\temit('files_sharing:share:deleted', { id })\n\t\t\t\treturn true\n\t\t\t} catch (error) {\n\t\t\t\tconst errorMessage = getErrorMessage(error) ?? t('files_sharing', 'Error deleting the share')\n\t\t\t\tshowError(errorMessage)\n\t\t\t\tthrow new Error(errorMessage, { cause: error })\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Update a share\n\t\t *\n\t\t * @param {number} id share id\n\t\t * @param {object} properties key-value object of the properties to update\n\t\t */\n\t\tasync updateShare(id, properties) {\n\t\t\ttry {\n\t\t\t\tconst request = await axios.put(shareUrl + `/${id}`, properties)\n\t\t\t\temit('files_sharing:share:updated', { id })\n\t\t\t\tif (!request?.data?.ocs) {\n\t\t\t\t\tthrow request\n\t\t\t\t} else {\n\t\t\t\t\treturn request.data.ocs.data\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\tlogger.error('Error while updating share', { error })\n\t\t\t\tconst errorMessage = getErrorMessage(error) ?? t('files_sharing', 'Error updating the share')\n\t\t\t\t// the error will be shown in apps/files_sharing/src/mixins/SharesMixin.js\n\t\t\t\tthrow new Error(errorMessage, { cause: error })\n\t\t\t}\n\t\t},\n\t},\n}\n\n/**\n * Handle an error response from the server and show a notification with the error message if possible\n *\n * @param {unknown} error - The received error\n * @return {string|undefined} the error message if it could be extracted from the response, otherwise undefined\n */\nfunction getErrorMessage(error) {\n\tif (isAxiosError(error) && error.response.data?.ocs) {\n\t\t/** @type {import('@nextcloud/typings/ocs').OCSResponse} */\n\t\tconst response = error.response.data\n\t\tif (response.ocs.meta?.message) {\n\t\t\treturn response.ocs.meta.message\n\t\t}\n\t}\n}\n","\n\n\n\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingInput.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!./SharingInput.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!./SharingInput.vue?vue&type=style&index=0&id=b9057cce&prod&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!./SharingInput.vue?vue&type=style&index=0&id=b9057cce&prod&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SharingInput.vue?vue&type=template&id=b9057cce\"\nimport script from \"./SharingInput.vue?vue&type=script&lang=js\"\nexport * from \"./SharingInput.vue?vue&type=script&lang=js\"\nimport style0 from \"./SharingInput.vue?vue&type=style&index=0&id=b9057cce&prod&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 null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-6.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SidebarTabExternalSection.vue?vue&type=script&lang=ts&setup=true\"; 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!./SidebarTabExternalSection.vue?vue&type=script&lang=ts&setup=true\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c(_vm.section.element,{ref:\"sectionElement\",tag:\"component\",domProps:{\"node\":_vm.node}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./SidebarTabExternalSection.vue?vue&type=template&id=9785f99e\"\nimport script from \"./SidebarTabExternalSection.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./SidebarTabExternalSection.vue?vue&type=script&lang=ts&setup=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 null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-6.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SidebarTabExternalSectionLegacy.vue?vue&type=script&lang=ts&setup=true\"; 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!./SidebarTabExternalSectionLegacy.vue?vue&type=script&lang=ts&setup=true\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"sharing-tab-external-section-legacy\"},[_c(_setup.component,{tag:\"component\",attrs:{\"file-info\":_vm.fileInfo}})],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/vue-loader/lib/index.js??vue-loader-options!./SidebarTabExternalSectionLegacy.vue?vue&type=style&index=0&id=3e4e67d2&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!./SidebarTabExternalSectionLegacy.vue?vue&type=style&index=0&id=3e4e67d2&prod&scoped=true&lang=css\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SidebarTabExternalSectionLegacy.vue?vue&type=template&id=3e4e67d2&scoped=true\"\nimport script from \"./SidebarTabExternalSectionLegacy.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./SidebarTabExternalSectionLegacy.vue?vue&type=script&lang=ts&setup=true\"\nimport style0 from \"./SidebarTabExternalSectionLegacy.vue?vue&type=style&index=0&id=3e4e67d2&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 \"3e4e67d2\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"sharingTabDetailsView\"},[_c('div',{staticClass:\"sharingTabDetailsView__header\"},[_c('span',[(_vm.isUserShare)?_c('NcAvatar',{staticClass:\"sharing-entry__avatar\",attrs:{\"is-no-user\":_vm.share.shareType !== _vm.ShareType.User,\"user\":_vm.share.shareWith,\"display-name\":_vm.share.shareWithDisplayName,\"menu-position\":\"left\",\"url\":_vm.share.shareWithAvatar}}):_vm._e(),_vm._v(\" \"),_c(_vm.getShareTypeIcon(_vm.share.type),{tag:\"component\",attrs:{\"size\":32}})],1),_vm._v(\" \"),_c('span',[_c('h1',[_vm._v(_vm._s(_vm.title))])])]),_vm._v(\" \"),_c('div',{staticClass:\"sharingTabDetailsView__wrapper\"},[_c('div',{ref:\"quickPermissions\",staticClass:\"sharingTabDetailsView__quick-permissions\"},[_c('div',[_c('NcCheckboxRadioSwitch',{attrs:{\"button-variant\":true,\"data-cy-files-sharing-share-permissions-bundle\":\"read-only\",\"value\":_vm.bundledPermissions.READ_ONLY.toString(),\"name\":\"sharing_permission_radio\",\"type\":\"radio\",\"button-variant-grouped\":\"vertical\"},on:{\"update:modelValue\":_vm.toggleCustomPermissions},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('ViewIcon',{attrs:{\"size\":20}})]},proxy:true}]),model:{value:(_vm.sharingPermission),callback:function ($$v) {_vm.sharingPermission=$$v},expression:\"sharingPermission\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'View only'))+\"\\n\\t\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"button-variant\":true,\"data-cy-files-sharing-share-permissions-bundle\":\"upload-edit\",\"value\":_vm.allPermissions,\"name\":\"sharing_permission_radio\",\"type\":\"radio\",\"button-variant-grouped\":\"vertical\"},on:{\"update:modelValue\":_vm.toggleCustomPermissions},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('EditIcon',{attrs:{\"size\":20}})]},proxy:true}]),model:{value:(_vm.sharingPermission),callback:function ($$v) {_vm.sharingPermission=$$v},expression:\"sharingPermission\"}},[(_vm.allowsFileDrop)?[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Allow upload and editing'))+\"\\n\\t\\t\\t\\t\\t\")]:[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Allow editing'))+\"\\n\\t\\t\\t\\t\\t\")]],2),_vm._v(\" \"),(_vm.allowsFileDrop)?_c('NcCheckboxRadioSwitch',{attrs:{\"data-cy-files-sharing-share-permissions-bundle\":\"file-drop\",\"button-variant\":true,\"value\":_vm.bundledPermissions.FILE_DROP.toString(),\"name\":\"sharing_permission_radio\",\"type\":\"radio\",\"button-variant-grouped\":\"vertical\"},on:{\"update:modelValue\":_vm.toggleCustomPermissions},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('UploadIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,1083194048),model:{value:(_vm.sharingPermission),callback:function ($$v) {_vm.sharingPermission=$$v},expression:\"sharingPermission\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'File request'))+\"\\n\\t\\t\\t\\t\\t\"),_c('small',{staticClass:\"subline\"},[_vm._v(_vm._s(_vm.t('files_sharing', 'Upload only')))])]):_vm._e(),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"button-variant\":true,\"data-cy-files-sharing-share-permissions-bundle\":\"custom\",\"value\":\"custom\",\"name\":\"sharing_permission_radio\",\"type\":\"radio\",\"button-variant-grouped\":\"vertical\"},on:{\"update:modelValue\":_vm.expandCustomPermissions},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('DotsHorizontalIcon',{attrs:{\"size\":20}})]},proxy:true}]),model:{value:(_vm.sharingPermission),callback:function ($$v) {_vm.sharingPermission=$$v},expression:\"sharingPermission\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Custom permissions'))+\"\\n\\t\\t\\t\\t\\t\"),_c('small',{staticClass:\"subline\"},[_vm._v(_vm._s(_vm.customPermissionsList))])])],1)]),_vm._v(\" \"),_c('div',{staticClass:\"sharingTabDetailsView__advanced-control\"},[_c('NcButton',{attrs:{\"id\":\"advancedSectionAccordionAdvancedControl\",\"variant\":\"tertiary\",\"alignment\":\"end-reverse\",\"aria-controls\":\"advancedSectionAccordionAdvanced\",\"aria-expanded\":_vm.advancedControlExpandedValue},on:{\"click\":function($event){_vm.advancedSectionAccordionExpanded = !_vm.advancedSectionAccordionExpanded}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [(!_vm.advancedSectionAccordionExpanded)?_c('MenuDownIcon'):_c('MenuUpIcon')]},proxy:true}])},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Advanced settings'))+\"\\n\\t\\t\\t\\t\")])],1),_vm._v(\" \"),(_vm.advancedSectionAccordionExpanded)?_c('div',{staticClass:\"sharingTabDetailsView__advanced\",attrs:{\"id\":\"advancedSectionAccordionAdvanced\",\"aria-labelledby\":\"advancedSectionAccordionAdvancedControl\",\"role\":\"region\"}},[_c('section',[(_vm.isPublicShare)?_c('NcInputField',{staticClass:\"sharingTabDetailsView__label\",attrs:{\"autocomplete\":\"off\",\"label\":_vm.t('files_sharing', 'Share label')},model:{value:(_vm.share.label),callback:function ($$v) {_vm.$set(_vm.share, \"label\", $$v)},expression:\"share.label\"}}):_vm._e(),_vm._v(\" \"),(_vm.config.allowCustomTokens && _vm.isPublicShare && !_vm.isNewShare)?_c('NcInputField',{attrs:{\"autocomplete\":\"off\",\"label\":_vm.t('files_sharing', 'Share link token'),\"helper-text\":_vm.t('files_sharing', 'Set the public share link token to something easy to remember or generate a new token. It is not recommended to use a guessable token for shares which contain sensitive information.'),\"show-trailing-button\":\"\",\"trailing-button-label\":_vm.loadingToken ? _vm.t('files_sharing', 'Generating…') : _vm.t('files_sharing', 'Generate new token')},on:{\"trailing-button-click\":_vm.generateNewToken},scopedSlots:_vm._u([{key:\"trailing-button-icon\",fn:function(){return [(_vm.loadingToken)?_c('NcLoadingIcon'):_c('Refresh',{attrs:{\"size\":20}})]},proxy:true}],null,false,4228062821),model:{value:(_vm.share.token),callback:function ($$v) {_vm.$set(_vm.share, \"token\", $$v)},expression:\"share.token\"}}):_vm._e(),_vm._v(\" \"),(_vm.isPublicShare)?[_c('NcCheckboxRadioSwitch',{attrs:{\"disabled\":_vm.isPasswordEnforced},model:{value:(_vm.isPasswordProtected),callback:function ($$v) {_vm.isPasswordProtected=$$v},expression:\"isPasswordProtected\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Set password'))+\"\\n\\t\\t\\t\\t\\t\")]),_vm._v(\" \"),(_vm.isPasswordProtected)?_c('NcPasswordField',{attrs:{\"autocomplete\":\"new-password\",\"model-value\":_vm.share.newPassword ?? '',\"error\":_vm.passwordError,\"helper-text\":_vm.errorPasswordLabel || _vm.passwordHint,\"required\":_vm.isPasswordEnforced && _vm.isNewShare,\"label\":_vm.t('files_sharing', 'Password')},on:{\"update:value\":_vm.onPasswordChange}}):_vm._e(),_vm._v(\" \"),(_vm.isEmailShareType && _vm.passwordExpirationTime)?_c('span',{attrs:{\"icon\":\"icon-info\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Password expires {passwordExpirationTime}', { passwordExpirationTime: _vm.passwordExpirationTime }))+\"\\n\\t\\t\\t\\t\\t\")]):(_vm.isEmailShareType && _vm.passwordExpirationTime !== null)?_c('span',{attrs:{\"icon\":\"icon-error\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Password expired'))+\"\\n\\t\\t\\t\\t\\t\")]):_vm._e()]:_vm._e(),_vm._v(\" \"),(_vm.canTogglePasswordProtectedByTalkAvailable)?_c('NcCheckboxRadioSwitch',{on:{\"update:modelValue\":_vm.onPasswordProtectedByTalkChange},model:{value:(_vm.isPasswordProtectedByTalk),callback:function ($$v) {_vm.isPasswordProtectedByTalk=$$v},expression:\"isPasswordProtectedByTalk\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Video verification'))+\"\\n\\t\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"disabled\":_vm.isExpiryDateEnforced},model:{value:(_vm.hasExpirationDate),callback:function ($$v) {_vm.hasExpirationDate=$$v},expression:\"hasExpirationDate\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.isExpiryDateEnforced\n\t\t\t\t\t\t? _vm.t('files_sharing', 'Expiration date (enforced)')\n\t\t\t\t\t\t: _vm.t('files_sharing', 'Set expiration date'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),(_vm.hasExpirationDate)?_c('NcDateTimePickerNative',{attrs:{\"id\":\"share-date-picker\",\"model-value\":new Date(_vm.share.expireDate ?? _vm.dateTomorrow),\"min\":_vm.dateTomorrow,\"max\":_vm.maxExpirationDateEnforced,\"hide-label\":\"\",\"label\":_vm.t('files_sharing', 'Expiration date'),\"placeholder\":_vm.t('files_sharing', 'Expiration date'),\"type\":\"date\"},on:{\"input\":_vm.onExpirationChange}}):_vm._e(),_vm._v(\" \"),(_vm.isPublicShare)?_c('NcCheckboxRadioSwitch',{attrs:{\"disabled\":_vm.canChangeHideDownload},on:{\"update:modelValue\":function($event){return _vm.queueUpdate('hideDownload')}},model:{value:(_vm.share.hideDownload),callback:function ($$v) {_vm.$set(_vm.share, \"hideDownload\", $$v)},expression:\"share.hideDownload\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Hide download'))+\"\\n\\t\\t\\t\\t\")]):_c('NcCheckboxRadioSwitch',{attrs:{\"disabled\":!_vm.canSetDownload,\"data-cy-files-sharing-share-permissions-checkbox\":\"download\"},model:{value:(_vm.canDownload),callback:function ($$v) {_vm.canDownload=$$v},expression:\"canDownload\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Allow download and sync'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{model:{value:(_vm.writeNoteToRecipientIsChecked),callback:function ($$v) {_vm.writeNoteToRecipientIsChecked=$$v},expression:\"writeNoteToRecipientIsChecked\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Note to recipient'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),(_vm.writeNoteToRecipientIsChecked)?[_c('NcTextArea',{attrs:{\"label\":_vm.t('files_sharing', 'Note to recipient'),\"placeholder\":_vm.t('files_sharing', 'Enter a note for the share recipient')},model:{value:(_vm.share.note),callback:function ($$v) {_vm.$set(_vm.share, \"note\", $$v)},expression:\"share.note\"}})]:_vm._e(),_vm._v(\" \"),(_vm.isPublicShare && _vm.isFolder)?_c('NcCheckboxRadioSwitch',{model:{value:(_vm.showInGridView),callback:function ($$v) {_vm.showInGridView=$$v},expression:\"showInGridView\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Show files in grid view'))+\"\\n\\t\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),_vm._l((_vm.sortedExternalShareActions),function(action){return _c('SidebarTabExternalAction',{key:action.id,ref:\"externalShareActions\",refInFor:true,attrs:{\"action\":action,\"node\":_vm.fileInfo.node /* TODO: Fix once we have proper Node API */,\"share\":_vm.share}})}),_vm._v(\" \"),_vm._l((_vm.externalLegacyShareActions),function(action){return _c('SidebarTabExternalActionLegacy',{key:action.id,ref:\"externalLinkActions\",refInFor:true,attrs:{\"id\":action.id,\"action\":action,\"file-info\":_vm.fileInfo,\"share\":_vm.share}})}),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{model:{value:(_vm.setCustomPermissions),callback:function ($$v) {_vm.setCustomPermissions=$$v},expression:\"setCustomPermissions\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Custom permissions'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),(_vm.setCustomPermissions)?_c('section',{staticClass:\"custom-permissions-group\"},[_c('NcCheckboxRadioSwitch',{attrs:{\"disabled\":!_vm.canRemoveReadPermission,\"data-cy-files-sharing-share-permissions-checkbox\":\"read\"},model:{value:(_vm.hasRead),callback:function ($$v) {_vm.hasRead=$$v},expression:\"hasRead\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Read'))+\"\\n\\t\\t\\t\\t\\t\")]),_vm._v(\" \"),(_vm.isFolder)?_c('NcCheckboxRadioSwitch',{attrs:{\"disabled\":!_vm.canSetCreate,\"data-cy-files-sharing-share-permissions-checkbox\":\"create\"},model:{value:(_vm.canCreate),callback:function ($$v) {_vm.canCreate=$$v},expression:\"canCreate\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Create'))+\"\\n\\t\\t\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"disabled\":!_vm.canSetEdit,\"data-cy-files-sharing-share-permissions-checkbox\":\"update\"},model:{value:(_vm.canEdit),callback:function ($$v) {_vm.canEdit=$$v},expression:\"canEdit\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Edit'))+\"\\n\\t\\t\\t\\t\\t\")]),_vm._v(\" \"),(_vm.resharingIsPossible)?_c('NcCheckboxRadioSwitch',{attrs:{\"disabled\":!_vm.canSetReshare,\"data-cy-files-sharing-share-permissions-checkbox\":\"share\"},model:{value:(_vm.canReshare),callback:function ($$v) {_vm.canReshare=$$v},expression:\"canReshare\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Share'))+\"\\n\\t\\t\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"disabled\":!_vm.canSetDelete,\"data-cy-files-sharing-share-permissions-checkbox\":\"delete\"},model:{value:(_vm.canDelete),callback:function ($$v) {_vm.canDelete=$$v},expression:\"canDelete\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Delete'))+\"\\n\\t\\t\\t\\t\\t\")])],1):_vm._e()],2)]):_vm._e()]),_vm._v(\" \"),_c('div',{staticClass:\"sharingTabDetailsView__footer\"},[_c('div',{staticClass:\"button-group\"},[_c('NcButton',{attrs:{\"data-cy-files-sharing-share-editor-action\":\"cancel\"},on:{\"click\":_vm.cancel}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Cancel'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('div',{staticClass:\"sharingTabDetailsView__delete\"},[(!_vm.isNewShare)?_c('NcButton',{attrs:{\"aria-label\":_vm.t('files_sharing', 'Delete share'),\"disabled\":false,\"readonly\":false,\"variant\":\"tertiary\"},on:{\"click\":function($event){$event.preventDefault();return _vm.removeShare.apply(null, arguments)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('CloseIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,2428343285)},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Delete share'))+\"\\n\\t\\t\\t\\t\")]):_vm._e()],1),_vm._v(\" \"),_c('NcButton',{attrs:{\"variant\":\"primary\",\"data-cy-files-sharing-share-editor-action\":\"save\",\"disabled\":_vm.creating},on:{\"click\":_vm.saveShare},scopedSlots:_vm._u([(_vm.creating)?{key:\"icon\",fn:function(){return [_c('NcLoadingIcon')]},proxy:true}:null],null,true)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.shareButtonText)+\"\\n\\t\\t\\t\\t\")])],1)])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./AccountCircleOutline.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./AccountCircleOutline.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./AccountCircleOutline.vue?vue&type=template&id=5b2fe1de\"\nimport script from \"./AccountCircleOutline.vue?vue&type=script&lang=js\"\nexport * from \"./AccountCircleOutline.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 account-circle-outline-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\":\"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M7.07,18.28C7.5,17.38 10.12,16.5 12,16.5C13.88,16.5 16.5,17.38 16.93,18.28C15.57,19.36 13.86,20 12,20C10.14,20 8.43,19.36 7.07,18.28M18.36,16.83C16.93,15.09 13.46,14.5 12,14.5C10.54,14.5 7.07,15.09 5.64,16.83C4.62,15.5 4,13.82 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,13.82 19.38,15.5 18.36,16.83M12,6C10.06,6 8.5,7.56 8.5,9.5C8.5,11.44 10.06,13 12,13C13.94,13 15.5,11.44 15.5,9.5C15.5,7.56 13.94,6 12,6M12,11A1.5,1.5 0 0,1 10.5,9.5A1.5,1.5 0 0,1 12,8A1.5,1.5 0 0,1 13.5,9.5A1.5,1.5 0 0,1 12,11Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./AccountGroup.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./AccountGroup.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./AccountGroup.vue?vue&type=template&id=fa2b1464\"\nimport script from \"./AccountGroup.vue?vue&type=script&lang=js\"\nexport * from \"./AccountGroup.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 account-group-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\":\"M12,5.5A3.5,3.5 0 0,1 15.5,9A3.5,3.5 0 0,1 12,12.5A3.5,3.5 0 0,1 8.5,9A3.5,3.5 0 0,1 12,5.5M5,8C5.56,8 6.08,8.15 6.53,8.42C6.38,9.85 6.8,11.27 7.66,12.38C7.16,13.34 6.16,14 5,14A3,3 0 0,1 2,11A3,3 0 0,1 5,8M19,8A3,3 0 0,1 22,11A3,3 0 0,1 19,14C17.84,14 16.84,13.34 16.34,12.38C17.2,11.27 17.62,9.85 17.47,8.42C17.92,8.15 18.44,8 19,8M5.5,18.25C5.5,16.18 8.41,14.5 12,14.5C15.59,14.5 18.5,16.18 18.5,18.25V20H5.5V18.25M0,20V18.5C0,17.11 1.89,15.94 4.45,15.6C3.86,16.28 3.5,17.22 3.5,18.25V20H0M24,20H20.5V18.25C20.5,17.22 20.14,16.28 19.55,15.6C22.11,15.94 24,17.11 24,18.5V20Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./CircleOutline.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./CircleOutline.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./CircleOutline.vue?vue&type=template&id=c013567c\"\nimport script from \"./CircleOutline.vue?vue&type=script&lang=js\"\nexport * from \"./CircleOutline.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 circle-outline-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\":\"M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Email.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Email.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Email.vue?vue&type=template&id=7dd7f6aa\"\nimport script from \"./Email.vue?vue&type=script&lang=js\"\nexport * from \"./Email.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 email-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\":\"M20,8L12,13L4,8V6L12,11L20,6M20,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V6C22,4.89 21.1,4 20,4Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Eye.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Eye.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./Eye.vue?vue&type=template&id=4ae2345c\"\nimport script from \"./Eye.vue?vue&type=script&lang=js\"\nexport * from \"./Eye.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 eye-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\":\"M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9M12,17A5,5 0 0,1 7,12A5,5 0 0,1 12,7A5,5 0 0,1 17,12A5,5 0 0,1 12,17M12,4.5C7,4.5 2.73,7.61 1,12C2.73,16.39 7,19.5 12,19.5C17,19.5 21.27,16.39 23,12C21.27,7.61 17,4.5 12,4.5Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./ShareCircle.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./ShareCircle.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ShareCircle.vue?vue&type=template&id=0e958886\"\nimport script from \"./ShareCircle.vue?vue&type=script&lang=js\"\nexport * from \"./ShareCircle.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 share-circle-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\":\"M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M14 16V13C10.39 13 7.81 14.43 6 17C6.72 13.33 8.94 9.73 14 9V6L19 11L14 16Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./TrayArrowUp.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./TrayArrowUp.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./TrayArrowUp.vue?vue&type=template&id=ae55bf4e\"\nimport script from \"./TrayArrowUp.vue?vue&type=script&lang=js\"\nexport * from \"./TrayArrowUp.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 tray-arrow-up-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\":\"M2 12H4V17H20V12H22V17C22 18.11 21.11 19 20 19H4C2.9 19 2 18.11 2 17V12M12 2L6.46 7.46L7.88 8.88L11 5.75V15H13V5.75L16.13 8.88L17.55 7.45L12 2Z\"}},[(_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/ts-loader/index.js??clonedRuleSet-6.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SidebarTabExternalAction.vue?vue&type=script&lang=ts&setup=true\"; 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!./SidebarTabExternalAction.vue?vue&type=script&lang=ts&setup=true\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c(_vm.action.element,{key:_vm.action.id,ref:\"actionElement\",tag:\"component\",domProps:{\"share\":_vm.share,\"node\":_vm.node,\"onSave\":_setup.onSave}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./SidebarTabExternalAction.vue?vue&type=template&id=5ea2e6c7\"\nimport script from \"./SidebarTabExternalAction.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./SidebarTabExternalAction.vue?vue&type=script&lang=ts&setup=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 null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SidebarTabExternalActionLegacy.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!./SidebarTabExternalActionLegacy.vue?vue&type=script&lang=js\"","\n\n\n\n\n","import { render, staticRenderFns } from \"./SidebarTabExternalActionLegacy.vue?vue&type=template&id=50e2cb04\"\nimport script from \"./SidebarTabExternalActionLegacy.vue?vue&type=script&lang=js\"\nexport * from \"./SidebarTabExternalActionLegacy.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c(_vm.data.is,_vm._g(_vm._b({tag:\"component\"},'component',_vm.data,false),_vm.action.handlers),[_vm._v(\"\\n\\t\"+_vm._s(_vm.data.text)+\"\\n\")])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/*!\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { getClient, getDefaultPropfind, getRootPath, resultToNode } from '@nextcloud/files/dav';\nexport const client = getClient();\n/**\n * Fetches a node from the given path\n *\n * @param path - The path to fetch the node from\n */\nexport async function fetchNode(path) {\n const propfindPayload = getDefaultPropfind();\n const result = await client.stat(`${getRootPath()}${path}`, {\n details: true,\n data: propfindPayload,\n });\n return resultToNode(result.data);\n}\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 { showError, showSuccess } from '@nextcloud/dialogs';\nimport { t } from '@nextcloud/l10n';\nimport Config from '../services/ConfigService.ts';\nimport logger from '../services/logger.ts';\nconst config = new Config();\n// note: some chars removed on purpose to make them human friendly when read out\nconst passwordSet = 'abcdefgijkmnopqrstwxyzABCDEFGHJKLMNPQRSTWXYZ23456789';\n/**\n * Generate a valid policy password or request a valid password if password_policy is enabled\n *\n * @param verbose If enabled the the status is shown to the user via toast\n */\nexport default async function (verbose = false) {\n // password policy is enabled, let's request a pass\n if (config.passwordPolicy.api && config.passwordPolicy.api.generate) {\n try {\n const request = await axios.get(config.passwordPolicy.api.generate);\n if (request.data.ocs.data.password) {\n if (verbose) {\n showSuccess(t('files_sharing', 'Password created successfully'));\n }\n return request.data.ocs.data.password;\n }\n }\n catch (error) {\n logger.info('Error generating password from password_policy', { error });\n if (verbose) {\n showError(t('files_sharing', 'Error generating password from password policy'));\n }\n }\n }\n const array = new Uint8Array(10);\n const ratio = passwordSet.length / 255;\n getRandomValues(array);\n let password = '';\n for (let i = 0; i < array.length; i++) {\n password += passwordSet.charAt(array[i] * ratio);\n }\n return password;\n}\n/**\n * Fills the given array with cryptographically secure random values.\n * If the crypto API is not available, it falls back to less secure Math.random().\n * Crypto API is available in modern browsers on secure contexts (HTTPS).\n *\n * @param array - The array to fill with random values.\n */\nfunction getRandomValues(array) {\n if (self?.crypto?.getRandomValues) {\n self.crypto.getRandomValues(array);\n return;\n }\n let len = array.length;\n while (len--) {\n array[len] = Math.floor(Math.random() * 256);\n }\n}\n","/**\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 { showError, showSuccess } from '@nextcloud/dialogs'\nimport { emit } from '@nextcloud/event-bus'\nimport { ShareType } from '@nextcloud/sharing'\nimport debounce from 'debounce'\nimport PQueue from 'p-queue'\nimport { fetchNode } from '../../../files/src/services/WebdavClient.ts'\nimport {\n\tATOMIC_PERMISSIONS,\n\tgetBundledPermissions,\n} from '../lib/SharePermissionsToolBox.js'\nimport Share from '../models/Share.ts'\nimport Config from '../services/ConfigService.ts'\nimport logger from '../services/logger.ts'\nimport GeneratePassword from '../utils/GeneratePassword.ts'\nimport SharesRequests from './ShareRequests.js'\n\nexport default {\n\tmixins: [SharesRequests],\n\n\tprops: {\n\t\tfileInfo: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => { },\n\t\t\trequired: true,\n\t\t},\n\t\tshare: {\n\t\t\ttype: Share,\n\t\t\tdefault: null,\n\t\t},\n\t\tisUnique: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tconfig: new Config(),\n\t\t\tnode: null,\n\t\t\tShareType,\n\n\t\t\t// errors helpers\n\t\t\terrors: {},\n\n\t\t\t// component status toggles\n\t\t\tloading: false,\n\t\t\tsaving: false,\n\t\t\topen: false,\n\n\t\t\t/** @type {boolean | undefined} */\n\t\t\tpasswordProtectedState: undefined,\n\n\t\t\t// concurrency management queue\n\t\t\t// we want one queue per share\n\t\t\tupdateQueue: new PQueue({ concurrency: 1 }),\n\n\t\t\t/**\n\t\t\t * ! This allow vue to make the Share class state reactive\n\t\t\t * ! do not remove it ot you'll lose all reactivity here\n\t\t\t */\n\t\t\treactiveState: this.share?.state,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tpath() {\n\t\t\treturn (this.fileInfo.path + '/' + this.fileInfo.name).replace('//', '/')\n\t\t},\n\t\t/**\n\t\t * Does the current share have a note\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\thasNote: {\n\t\t\tget() {\n\t\t\t\treturn this.share.note !== ''\n\t\t\t},\n\t\t\tset(enabled) {\n\t\t\t\tthis.share.note = enabled\n\t\t\t\t\t? null // enabled but user did not changed the content yet\n\t\t\t\t\t: '' // empty = no note = disabled\n\t\t\t},\n\t\t},\n\n\t\tdateTomorrow() {\n\t\t\treturn new Date(new Date().setDate(new Date().getDate() + 1))\n\t\t},\n\n\t\t// Datepicker language\n\t\tlang() {\n\t\t\tconst weekdaysShort = window.dayNamesShort\n\t\t\t\t? window.dayNamesShort // provided by Nextcloud\n\t\t\t\t: ['Sun.', 'Mon.', 'Tue.', 'Wed.', 'Thu.', 'Fri.', 'Sat.']\n\t\t\tconst monthsShort = window.monthNamesShort\n\t\t\t\t? window.monthNamesShort // provided by Nextcloud\n\t\t\t\t: ['Jan.', 'Feb.', 'Mar.', 'Apr.', 'May.', 'Jun.', 'Jul.', 'Aug.', 'Sep.', 'Oct.', 'Nov.', 'Dec.']\n\t\t\tconst firstDayOfWeek = window.firstDay ? window.firstDay : 0\n\n\t\t\treturn {\n\t\t\t\tformatLocale: {\n\t\t\t\t\tfirstDayOfWeek,\n\t\t\t\t\tmonthsShort,\n\t\t\t\t\tweekdaysMin: weekdaysShort,\n\t\t\t\t\tweekdaysShort,\n\t\t\t\t},\n\t\t\t\tmonthFormat: 'MMM',\n\t\t\t}\n\t\t},\n\t\tisNewShare() {\n\t\t\treturn !this.share.id\n\t\t},\n\t\tisFolder() {\n\t\t\treturn this.fileInfo.type === 'dir'\n\t\t},\n\t\tisPublicShare() {\n\t\t\tconst shareType = this.share.shareType ?? this.share.type\n\t\t\treturn [ShareType.Link, ShareType.Email].includes(shareType)\n\t\t},\n\t\tisRemoteShare() {\n\t\t\treturn this.share.type === ShareType.RemoteGroup || this.share.type === ShareType.Remote\n\t\t},\n\t\tisShareOwner() {\n\t\t\treturn this.share && this.share.owner === getCurrentUser().uid\n\t\t},\n\t\tisExpiryDateEnforced() {\n\t\t\tif (this.isPublicShare) {\n\t\t\t\treturn this.config.isDefaultExpireDateEnforced\n\t\t\t}\n\t\t\tif (this.isRemoteShare) {\n\t\t\t\treturn this.config.isDefaultRemoteExpireDateEnforced\n\t\t\t}\n\t\t\treturn this.config.isDefaultInternalExpireDateEnforced\n\t\t},\n\t\thasCustomPermissions() {\n\t\t\tconst basePermissions = getBundledPermissions(true)\n\t\t\tconst bundledPermissions = [\n\t\t\t\tbasePermissions.ALL,\n\t\t\t\tbasePermissions.ALL_FILE,\n\t\t\t\tbasePermissions.READ_ONLY,\n\t\t\t\tbasePermissions.FILE_DROP,\n\t\t\t]\n\t\t\tconst permissionsWithoutShare = this.share.permissions & ~ATOMIC_PERMISSIONS.SHARE\n\t\t\treturn !bundledPermissions.includes(permissionsWithoutShare)\n\t\t},\n\t\tmaxExpirationDateEnforced() {\n\t\t\tif (this.isExpiryDateEnforced) {\n\t\t\t\tif (this.isPublicShare) {\n\t\t\t\t\treturn this.config.defaultExpirationDate\n\t\t\t\t}\n\t\t\t\tif (this.isRemoteShare) {\n\t\t\t\t\treturn this.config.defaultRemoteExpirationDateString\n\t\t\t\t}\n\t\t\t\t// If it get's here then it must be an internal share\n\t\t\t\treturn this.config.defaultInternalExpirationDate\n\t\t\t}\n\t\t\treturn null\n\t\t},\n\t\t/**\n\t\t * Is the current share password protected ?\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tisPasswordProtected: {\n\t\t\tget() {\n\t\t\t\tif (this.config.enforcePasswordForPublicLink) {\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t\tif (this.passwordProtectedState !== undefined) {\n\t\t\t\t\treturn this.passwordProtectedState\n\t\t\t\t}\n\t\t\t\treturn typeof this.share.newPassword === 'string'\n\t\t\t\t\t|| typeof this.share.password === 'string'\n\t\t\t},\n\t\t\tasync set(enabled) {\n\t\t\t\tif (enabled) {\n\t\t\t\t\tthis.passwordProtectedState = true\n\t\t\t\t\tconst generatedPassword = await GeneratePassword(true)\n\t\t\t\t\tif (!this.share.newPassword) {\n\t\t\t\t\t\tthis.$set(this.share, 'newPassword', generatedPassword)\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tthis.passwordProtectedState = false\n\t\t\t\t\tthis.$set(this.share, 'newPassword', '')\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Fetch WebDAV node\n\t\t *\n\t\t * @return {Node}\n\t\t */\n\t\tasync getNode() {\n\t\t\tconst node = { path: this.path }\n\t\t\ttry {\n\t\t\t\tthis.node = await fetchNode(node.path)\n\t\t\t\tlogger.info('Fetched node:', { node: this.node })\n\t\t\t} catch (error) {\n\t\t\t\tlogger.error('Error:', error)\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Check if a share is valid before\n\t\t * firing the request\n\t\t *\n\t\t * @param {Share} share the share to check\n\t\t * @return {boolean}\n\t\t */\n\t\tcheckShare(share) {\n\t\t\tif (share.password) {\n\t\t\t\tif (typeof share.password !== 'string' || share.password.trim() === '') {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (share.newPassword) {\n\t\t\t\tif (typeof share.newPassword !== 'string') {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (share.expirationDate) {\n\t\t\t\tconst date = share.expirationDate\n\t\t\t\tif (!date.isValid()) {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true\n\t\t},\n\n\t\t/**\n\t\t * @param {Date} date the date to format\n\t\t * @return {string} date a date with YYYY-MM-DD format\n\t\t */\n\t\tformatDateToString(date) {\n\t\t\t// Force utc time. Drop time information to be timezone-less\n\t\t\tconst utcDate = new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate()))\n\t\t\t// Format to YYYY-MM-DD\n\t\t\treturn utcDate.toISOString().split('T')[0]\n\t\t},\n\n\t\t/**\n\t\t * Save given value to expireDate and trigger queueUpdate\n\t\t *\n\t\t * @param {Date} date\n\t\t */\n\t\tonExpirationChange(date) {\n\t\t\tif (!date) {\n\t\t\t\tthis.share.expireDate = null\n\t\t\t\tthis.$set(this.share, 'expireDate', null)\n\t\t\t\treturn\n\t\t\t}\n\t\t\tconst parsedDate = (date instanceof Date) ? date : new Date(date)\n\t\t\tthis.share.expireDate = this.formatDateToString(parsedDate)\n\t\t},\n\n\t\t/**\n\t\t * Note changed, let's save it to a different key\n\t\t *\n\t\t * @param {string} note the share note\n\t\t */\n\t\tonNoteChange(note) {\n\t\t\tthis.$set(this.share, 'newNote', note.trim())\n\t\t},\n\n\t\t/**\n\t\t * When the note change, we trim, save and dispatch\n\t\t *\n\t\t */\n\t\tonNoteSubmit() {\n\t\t\tif (this.share.newNote) {\n\t\t\t\tthis.share.note = this.share.newNote\n\t\t\t\tthis.$delete(this.share, 'newNote')\n\t\t\t\tthis.queueUpdate('note')\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Delete share button handler\n\t\t */\n\t\tasync onDelete() {\n\t\t\ttry {\n\t\t\t\tthis.loading = true\n\t\t\t\tthis.open = false\n\t\t\t\tawait this.deleteShare(this.share.id)\n\t\t\t\tlogger.debug('Share deleted', { shareId: this.share.id })\n\t\t\t\tconst message = this.share.itemType === 'file'\n\t\t\t\t\t? t('files_sharing', 'File \"{path}\" has been unshared', { path: this.share.path })\n\t\t\t\t\t: t('files_sharing', 'Folder \"{path}\" has been unshared', { path: this.share.path })\n\t\t\t\tshowSuccess(message)\n\t\t\t\tthis.$emit('remove:share', this.share)\n\t\t\t\tawait this.getNode()\n\t\t\t\temit('files:node:updated', this.node)\n\t\t\t} catch {\n\t\t\t\t// re-open menu if error\n\t\t\t\tthis.open = true\n\t\t\t} finally {\n\t\t\t\tthis.loading = false\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Send an update of the share to the queue\n\t\t *\n\t\t * @param {Array} propertyNames the properties to sync\n\t\t */\n\t\tqueueUpdate(...propertyNames) {\n\t\t\tif (propertyNames.length === 0) {\n\t\t\t\t// Nothing to update\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tif (this.share.id) {\n\t\t\t\tconst properties = {}\n\t\t\t\t// force value to string because that is what our\n\t\t\t\t// share api controller accepts\n\t\t\t\tfor (const name of propertyNames) {\n\t\t\t\t\tif (name === 'password') {\n\t\t\t\t\t\tif (this.share.newPassword !== undefined) {\n\t\t\t\t\t\t\tproperties[name] = this.share.newPassword\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcontinue\n\t\t\t\t\t}\n\n\t\t\t\t\tif (this.share[name] === null || this.share[name] === undefined) {\n\t\t\t\t\t\tproperties[name] = ''\n\t\t\t\t\t} else if ((typeof this.share[name]) === 'object') {\n\t\t\t\t\t\tproperties[name] = JSON.stringify(this.share[name])\n\t\t\t\t\t} else {\n\t\t\t\t\t\tproperties[name] = this.share[name].toString()\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn this.updateQueue.add(async () => {\n\t\t\t\t\tthis.saving = true\n\t\t\t\t\tthis.errors = {}\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconst updatedShare = await this.updateShare(this.share.id, properties)\n\n\t\t\t\t\t\tif (propertyNames.includes('password')) {\n\t\t\t\t\t\t\t// reset password state after sync\n\t\t\t\t\t\t\tthis.share.password = this.share.newPassword || undefined\n\t\t\t\t\t\t\tthis.$delete(this.share, 'newPassword')\n\n\t\t\t\t\t\t\t// updates password expiration time after sync\n\t\t\t\t\t\t\tthis.share.passwordExpirationTime = updatedShare.password_expiration_time\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// clear any previous errors\n\t\t\t\t\t\tfor (const property of propertyNames) {\n\t\t\t\t\t\t\tthis.$delete(this.errors, property)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tshowSuccess(this.updateSuccessMessage(propertyNames))\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tlogger.error('Could not update share', { error, share: this.share, propertyNames })\n\n\t\t\t\t\t\tconst { message } = error\n\t\t\t\t\t\tif (message && message !== '') {\n\t\t\t\t\t\t\tfor (const property of propertyNames) {\n\t\t\t\t\t\t\t\tthis.onSyncError(property, message)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tshowError(message)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// We do not have information what happened, but we should still inform the user\n\t\t\t\t\t\t\tshowError(t('files_sharing', 'Could not update share'))\n\t\t\t\t\t\t}\n\t\t\t\t\t} finally {\n\t\t\t\t\t\tthis.saving = false\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\n\t\t\t// This share does not exists on the server yet\n\t\t\tlogger.debug('Updated local share', { share: this.share })\n\t\t},\n\n\t\t/**\n\t\t * @param {string[]} names Properties changed\n\t\t */\n\t\tupdateSuccessMessage(names) {\n\t\t\tif (names.length !== 1) {\n\t\t\t\treturn t('files_sharing', 'Share saved')\n\t\t\t}\n\n\t\t\tswitch (names[0]) {\n\t\t\t\tcase 'expireDate':\n\t\t\t\t\treturn t('files_sharing', 'Share expiry date saved')\n\t\t\t\tcase 'hideDownload':\n\t\t\t\t\treturn t('files_sharing', 'Share hide-download state saved')\n\t\t\t\tcase 'label':\n\t\t\t\t\treturn t('files_sharing', 'Share label saved')\n\t\t\t\tcase 'note':\n\t\t\t\t\treturn t('files_sharing', 'Share note for recipient saved')\n\t\t\t\tcase 'password':\n\t\t\t\t\treturn t('files_sharing', 'Share password saved')\n\t\t\t\tcase 'permissions':\n\t\t\t\t\treturn t('files_sharing', 'Share permissions saved')\n\t\t\t\tdefault:\n\t\t\t\t\treturn t('files_sharing', 'Share saved')\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Manage sync errors\n\t\t *\n\t\t * @param {string} property the errored property, e.g. 'password'\n\t\t * @param {string} message the error message\n\t\t */\n\t\tonSyncError(property, message) {\n\t\t\tif (property === 'password' && this.share.newPassword !== undefined) {\n\t\t\t\tif (this.share.newPassword === this.share.password) {\n\t\t\t\t\tthis.share.password = ''\n\t\t\t\t}\n\t\t\t\tthis.$delete(this.share, 'newPassword')\n\t\t\t}\n\n\t\t\t// re-open menu if closed\n\t\t\tthis.open = true\n\t\t\tswitch (property) {\n\t\t\t\tcase 'password':\n\t\t\t\tcase 'pending':\n\t\t\t\tcase 'expireDate':\n\t\t\t\tcase 'label':\n\t\t\t\tcase 'note': {\n\t\t\t\t// show error\n\t\t\t\t\tthis.$set(this.errors, property, message)\n\n\t\t\t\t\tlet propertyEl = this.$refs[property]\n\t\t\t\t\tif (propertyEl) {\n\t\t\t\t\t\tif (propertyEl.$el) {\n\t\t\t\t\t\t\tpropertyEl = propertyEl.$el\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// focus if there is a focusable action element\n\t\t\t\t\t\tconst focusable = propertyEl.querySelector('.focusable')\n\t\t\t\t\t\tif (focusable) {\n\t\t\t\t\t\t\tfocusable.focus()\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\tcase 'sendPasswordByTalk': {\n\t\t\t\t// show error\n\t\t\t\t\tthis.$set(this.errors, property, message)\n\n\t\t\t\t\t// Restore previous state\n\t\t\t\t\tthis.share.sendPasswordByTalk = !this.share.sendPasswordByTalk\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Debounce queueUpdate to avoid requests spamming\n\t\t * more importantly for text data\n\t\t *\n\t\t * @param {string} property the property to sync\n\t\t */\n\t\tdebounceQueueUpdate: debounce(function(property) {\n\t\t\tthis.queueUpdate(property)\n\t\t}, 500),\n\t},\n}\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingDetailsTab.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!./SharingDetailsTab.vue?vue&type=script&lang=js\"","\n\n\n\n\n\n","/*!\n * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: GPL-3.0-or-later\n */\nimport isSvg from 'is-svg';\n/**\n * Register a new sidebar action\n *\n * @param action - The action to register\n */\nexport function registerSidebarAction(action) {\n if (!action.id) {\n throw new Error('Sidebar actions must have an id');\n }\n if (!action.element || !action.element.startsWith('oca_') || !window.customElements.get(action.element)) {\n throw new Error('Sidebar actions must provide a registered custom web component identifier');\n }\n if (typeof action.order !== 'number') {\n throw new Error('Sidebar actions must have the order property');\n }\n if (typeof action.enabled !== 'function') {\n throw new Error('Sidebar actions must implement the \"enabled\" method');\n }\n window._nc_files_sharing_sidebar_actions ??= new Map();\n if (window._nc_files_sharing_sidebar_actions.has(action.id)) {\n throw new Error(`Sidebar action with id \"${action.id}\" is already registered`);\n }\n window._nc_files_sharing_sidebar_actions.set(action.id, action);\n}\n/**\n * Register a new sidebar action\n *\n * @param action - The action to register\n */\nexport function registerSidebarInlineAction(action) {\n if (!action.id) {\n throw new Error('Sidebar actions must have an id');\n }\n if (typeof action.order !== 'number') {\n throw new Error('Sidebar actions must have the \"order\" property');\n }\n if (typeof action.iconSvg !== 'string' || !isSvg(action.iconSvg)) {\n throw new Error('Sidebar actions must have the \"iconSvg\" property');\n }\n if (typeof action.label !== 'function') {\n throw new Error('Sidebar actions must implement the \"label\" method');\n }\n if (typeof action.exec !== 'function') {\n throw new Error('Sidebar actions must implement the \"exec\" method');\n }\n if (typeof action.enabled !== 'function') {\n throw new Error('Sidebar actions must implement the \"enabled\" method');\n }\n window._nc_files_sharing_sidebar_inline_actions ??= new Map();\n if (window._nc_files_sharing_sidebar_inline_actions.has(action.id)) {\n throw new Error(`Sidebar action with id \"${action.id}\" is already registered`);\n }\n window._nc_files_sharing_sidebar_inline_actions.set(action.id, action);\n}\n/**\n * Get all registered sidebar actions\n */\nexport function getSidebarActions() {\n return [...(window._nc_files_sharing_sidebar_actions?.values() ?? [])];\n}\n/**\n * Get all registered sidebar inline actions\n */\nexport function getSidebarInlineActions() {\n return [...(window._nc_files_sharing_sidebar_inline_actions?.values() ?? [])];\n}\n","/**\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport axios from '@nextcloud/axios';\nimport { generateOcsUrl } from '@nextcloud/router';\n/**\n *\n */\nexport async function generateToken() {\n const { data } = await axios.get(generateOcsUrl('/apps/files_sharing/api/v1/token'));\n return data.ocs.data.token;\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!./SharingDetailsTab.vue?vue&type=style&index=0&id=16ed4bff&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!./SharingDetailsTab.vue?vue&type=style&index=0&id=16ed4bff&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SharingDetailsTab.vue?vue&type=template&id=16ed4bff&scoped=true\"\nimport script from \"./SharingDetailsTab.vue?vue&type=script&lang=js\"\nexport * from \"./SharingDetailsTab.vue?vue&type=script&lang=js\"\nimport style0 from \"./SharingDetailsTab.vue?vue&type=style&index=0&id=16ed4bff&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 \"16ed4bff\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('ul',{attrs:{\"id\":\"sharing-inherited-shares\"}},[_c('SharingEntrySimple',{staticClass:\"sharing-entry__inherited\",attrs:{\"title\":_vm.mainTitle,\"subtitle\":_vm.subTitle,\"aria-expanded\":_vm.showInheritedShares},scopedSlots:_vm._u([{key:\"avatar\",fn:function(){return [_c('div',{staticClass:\"avatar-shared icon-more-white\"})]},proxy:true}])},[_vm._v(\" \"),_c('NcActionButton',{attrs:{\"icon\":_vm.showInheritedSharesIcon,\"aria-label\":_vm.toggleTooltip,\"title\":_vm.toggleTooltip},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.toggleInheritedShares.apply(null, arguments)}}})],1),_vm._v(\" \"),_vm._l((_vm.shares),function(share){return _c('SharingEntryInherited',{key:share.id,attrs:{\"file-info\":_vm.fileInfo,\"share\":share},on:{\"remove:share\":_vm.removeShare}})})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryInherited.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!./SharingEntryInherited.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!./SharingEntryInherited.vue?vue&type=style&index=0&id=731a9650&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!./SharingEntryInherited.vue?vue&type=style&index=0&id=731a9650&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SharingEntryInherited.vue?vue&type=template&id=731a9650&scoped=true\"\nimport script from \"./SharingEntryInherited.vue?vue&type=script&lang=js\"\nexport * from \"./SharingEntryInherited.vue?vue&type=script&lang=js\"\nimport style0 from \"./SharingEntryInherited.vue?vue&type=style&index=0&id=731a9650&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 \"731a9650\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('SharingEntrySimple',{key:_vm.share.id,staticClass:\"sharing-entry__inherited\",attrs:{\"title\":_vm.share.shareWithDisplayName},scopedSlots:_vm._u([{key:\"avatar\",fn:function(){return [_c('NcAvatar',{staticClass:\"sharing-entry__avatar\",attrs:{\"user\":_vm.share.shareWith,\"display-name\":_vm.share.shareWithDisplayName}})]},proxy:true}])},[_vm._v(\" \"),_c('NcActionText',{attrs:{\"icon\":\"icon-user\"}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Added by {initiator}', { initiator: _vm.share.ownerDisplayName }))+\"\\n\\t\")]),_vm._v(\" \"),(_vm.share.viaPath && _vm.share.viaFileid)?_c('NcActionLink',{attrs:{\"icon\":\"icon-folder\",\"href\":_vm.viaFileTargetUrl}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Via “{folder}”', { folder: _vm.viaFolderName }))+\"\\n\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.share.canDelete)?_c('NcActionButton',{attrs:{\"icon\":\"icon-close\"},on:{\"click\":function($event){$event.preventDefault();return _vm.onDelete.apply(null, arguments)}}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Unshare'))+\"\\n\\t\")]):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingInherited.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!./SharingInherited.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!./SharingInherited.vue?vue&type=style&index=0&id=cedf3238&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!./SharingInherited.vue?vue&type=style&index=0&id=cedf3238&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SharingInherited.vue?vue&type=template&id=cedf3238&scoped=true\"\nimport script from \"./SharingInherited.vue?vue&type=script&lang=js\"\nexport * from \"./SharingInherited.vue?vue&type=script&lang=js\"\nimport style0 from \"./SharingInherited.vue?vue&type=style&index=0&id=cedf3238&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 \"cedf3238\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.canLinkShare)?_c('ul',{staticClass:\"sharing-link-list\",attrs:{\"aria-label\":_vm.t('files_sharing', 'Link shares')}},[(_vm.hasShares)?_vm._l((_vm.shares),function(share,index){return _c('SharingEntryLink',{key:share.id,attrs:{\"index\":_vm.shares.length > 1 ? index + 1 : null,\"can-reshare\":_vm.canReshare,\"share\":_vm.shares[index],\"file-info\":_vm.fileInfo},on:{\"update:share\":[function($event){return _vm.$set(_vm.shares, index, $event)},function($event){return _vm.awaitForShare(...arguments)}],\"add:share\":function($event){return _vm.addShare(...arguments)},\"remove:share\":_vm.removeShare,\"open-sharing-details\":function($event){return _vm.openSharingDetails(share)}}})}):_vm._e(),_vm._v(\" \"),(!_vm.hasLinkShares && _vm.canReshare)?_c('SharingEntryLink',{attrs:{\"can-reshare\":_vm.canReshare,\"file-info\":_vm.fileInfo},on:{\"add:share\":_vm.addShare}}):_vm._e()],2):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./CalendarBlankOutline.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./CalendarBlankOutline.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./CalendarBlankOutline.vue?vue&type=template&id=784b59e6\"\nimport script from \"./CalendarBlankOutline.vue?vue&type=script&lang=js\"\nexport * from \"./CalendarBlankOutline.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 calendar-blank-outline-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\":\"M19 3H18V1H16V3H8V1H6V3H5C3.89 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.9 20.11 3 19 3M19 19H5V9H19V19M19 7H5V5H19V7Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./CheckBold.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./CheckBold.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./CheckBold.vue?vue&type=template&id=5603f41f\"\nimport script from \"./CheckBold.vue?vue&type=script&lang=js\"\nexport * from \"./CheckBold.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 check-bold-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,20.42L2.79,14.21L5.62,11.38L9,14.77L18.88,4.88L21.71,7.71L9,20.42Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Exclamation.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Exclamation.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./Exclamation.vue?vue&type=template&id=03239926\"\nimport script from \"./Exclamation.vue?vue&type=script&lang=js\"\nexport * from \"./Exclamation.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 exclamation-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\":\"M 11,4L 13,4L 13,15L 11,15L 11,4 Z M 13,18L 13,20L 11,20L 11,18L 13,18 Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./LockOutline.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./LockOutline.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./LockOutline.vue?vue&type=template&id=54353a96\"\nimport script from \"./LockOutline.vue?vue&type=script&lang=js\"\nexport * from \"./LockOutline.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-outline-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\":\"M12,17C10.89,17 10,16.1 10,15C10,13.89 10.89,13 12,13A2,2 0 0,1 14,15A2,2 0 0,1 12,17M18,20V10H6V20H18M18,8A2,2 0 0,1 20,10V20A2,2 0 0,1 18,22H6C4.89,22 4,21.1 4,20V10C4,8.89 4.89,8 6,8H7V6A5,5 0 0,1 12,1A5,5 0 0,1 17,6V8H18M12,3A3,3 0 0,0 9,6V8H15V6A3,3 0 0,0 12,3Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Plus.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Plus.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./Plus.vue?vue&type=template&id=055261ec\"\nimport script from \"./Plus.vue?vue&type=script&lang=js\"\nexport * from \"./Plus.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 plus-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\":\"M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Qrcode.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Qrcode.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./Qrcode.vue?vue&type=template&id=aba87788\"\nimport script from \"./Qrcode.vue?vue&type=script&lang=js\"\nexport * from \"./Qrcode.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 qrcode-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\":\"M3,11H5V13H3V11M11,5H13V9H11V5M9,11H13V15H11V13H9V11M15,11H17V13H19V11H21V13H19V15H21V19H19V21H17V19H13V21H11V17H15V15H17V13H15V11M19,19V15H17V19H19M15,3H21V9H15V3M17,5V7H19V5H17M3,3H9V9H3V3M5,5V7H7V5H5M3,15H9V21H3V15M5,17V19H7V17H5Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Tune.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Tune.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./Tune.vue?vue&type=template&id=18d04e6a\"\nimport script from \"./Tune.vue?vue&type=script&lang=js\"\nexport * from \"./Tune.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 tune-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\":\"M3,17V19H9V17H3M3,5V7H13V5H3M13,21V19H21V17H13V15H11V21H13M7,9V11H3V13H7V15H9V9H7M21,13V11H11V13H21M15,9H17V7H21V5H17V3H15V9Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"share-expiry-time\"},[_c('NcPopover',{attrs:{\"popup-role\":\"dialog\"},scopedSlots:_vm._u([{key:\"trigger\",fn:function(){return [(_vm.expiryTime)?_c('NcButton',{staticClass:\"hint-icon\",attrs:{\"variant\":\"tertiary\",\"aria-label\":_vm.t('files_sharing', 'Share expiration: {date}', { date: new Date(_vm.expiryTime).toLocaleString() })},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('ClockIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,3754271979)}):_vm._e()]},proxy:true}])},[_vm._v(\" \"),_c('h3',{staticClass:\"hint-heading\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Share Expiration'))+\"\\n\\t\\t\")]),_vm._v(\" \"),(_vm.expiryTime)?_c('p',{staticClass:\"hint-body\"},[_c('NcDateTime',{attrs:{\"timestamp\":_vm.expiryTime,\"format\":_vm.timeFormat,\"relative-time\":false}}),_vm._v(\" (\"),_c('NcDateTime',{attrs:{\"timestamp\":_vm.expiryTime}}),_vm._v(\")\\n\\t\\t\")],1):_vm._e()])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./ClockOutline.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./ClockOutline.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ClockOutline.vue?vue&type=template&id=1a84e403\"\nimport script from \"./ClockOutline.vue?vue&type=script&lang=js\"\nexport * from \"./ClockOutline.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 clock-outline-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\":\"M12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22C6.47,22 2,17.5 2,12A10,10 0 0,1 12,2M12.5,7V12.25L17,14.92L16.25,16.15L11,13V7H12.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!./ShareExpiryTime.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!./ShareExpiryTime.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!./ShareExpiryTime.vue?vue&type=style&index=0&id=c9199db0&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!./ShareExpiryTime.vue?vue&type=style&index=0&id=c9199db0&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./ShareExpiryTime.vue?vue&type=template&id=c9199db0&scoped=true\"\nimport script from \"./ShareExpiryTime.vue?vue&type=script&lang=js\"\nexport * from \"./ShareExpiryTime.vue?vue&type=script&lang=js\"\nimport style0 from \"./ShareExpiryTime.vue?vue&type=style&index=0&id=c9199db0&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 \"c9199db0\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./EyeOutline.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./EyeOutline.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./EyeOutline.vue?vue&type=template&id=e26de6f6\"\nimport script from \"./EyeOutline.vue?vue&type=script&lang=js\"\nexport * from \"./EyeOutline.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 eye-outline-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\":\"M12,9A3,3 0 0,1 15,12A3,3 0 0,1 12,15A3,3 0 0,1 9,12A3,3 0 0,1 12,9M12,4.5C17,4.5 21.27,7.61 23,12C21.27,16.39 17,19.5 12,19.5C7,19.5 2.73,16.39 1,12C2.73,7.61 7,4.5 12,4.5M3.18,12C4.83,15.36 8.24,17.5 12,17.5C15.76,17.5 19.17,15.36 20.82,12C19.17,8.64 15.76,6.5 12,6.5C8.24,6.5 4.83,8.64 3.18,12Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./TriangleSmallDown.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./TriangleSmallDown.vue?vue&type=script&lang=js\"","\n\n","\n\n\n\n\n\n","import { render, staticRenderFns } from \"./TriangleSmallDown.vue?vue&type=template&id=1eed3dd9\"\nimport script from \"./TriangleSmallDown.vue?vue&type=script&lang=js\"\nexport * from \"./TriangleSmallDown.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 triangle-small-down-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\":\"M8 9H16L12 16\"}},[(_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!./SharingEntryQuickShareSelect.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!./SharingEntryQuickShareSelect.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!./SharingEntryQuickShareSelect.vue?vue&type=style&index=0&id=b5eca1ec&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!./SharingEntryQuickShareSelect.vue?vue&type=style&index=0&id=b5eca1ec&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SharingEntryQuickShareSelect.vue?vue&type=template&id=b5eca1ec&scoped=true\"\nimport script from \"./SharingEntryQuickShareSelect.vue?vue&type=script&lang=js\"\nexport * from \"./SharingEntryQuickShareSelect.vue?vue&type=script&lang=js\"\nimport style0 from \"./SharingEntryQuickShareSelect.vue?vue&type=style&index=0&id=b5eca1ec&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 \"b5eca1ec\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('NcActions',{ref:\"quickShareActions\",staticClass:\"share-select\",attrs:{\"menu-name\":_vm.selectedOption,\"aria-label\":_vm.ariaLabel,\"variant\":\"tertiary-no-background\",\"disabled\":!_vm.share.canEdit,\"force-name\":\"\"},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('DropdownIcon',{attrs:{\"size\":15}})]},proxy:true}])},[_vm._v(\" \"),_vm._l((_vm.options),function(option){return _c('NcActionButton',{key:option.label,attrs:{\"type\":\"radio\",\"model-value\":option.label === _vm.selectedOption,\"close-after-click\":\"\"},on:{\"click\":function($event){return _vm.selectOption(option.label)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(option.icon,{tag:\"component\"})]},proxy:true}],null,true)},[_vm._v(\"\\n\\t\\t\"+_vm._s(option.label)+\"\\n\\t\")])})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryLink.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!./SharingEntryLink.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!./SharingEntryLink.vue?vue&type=style&index=0&id=4ca4172c&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!./SharingEntryLink.vue?vue&type=style&index=0&id=4ca4172c&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SharingEntryLink.vue?vue&type=template&id=4ca4172c&scoped=true\"\nimport script from \"./SharingEntryLink.vue?vue&type=script&lang=js\"\nexport * from \"./SharingEntryLink.vue?vue&type=script&lang=js\"\nimport style0 from \"./SharingEntryLink.vue?vue&type=style&index=0&id=4ca4172c&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 \"4ca4172c\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('li',{staticClass:\"sharing-entry sharing-entry__link\",class:{ 'sharing-entry--share': _vm.share }},[_c('NcAvatar',{staticClass:\"sharing-entry__avatar\",attrs:{\"is-no-user\":true,\"icon-class\":_vm.isEmailShareType ? 'avatar-link-share icon-mail-white' : 'avatar-link-share icon-public-white'}}),_vm._v(\" \"),_c('div',{staticClass:\"sharing-entry__summary\"},[_c('div',{staticClass:\"sharing-entry__desc\"},[_c('span',{staticClass:\"sharing-entry__title\",attrs:{\"title\":_vm.title}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.title)+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),(_vm.subtitle)?_c('p',[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.subtitle)+\"\\n\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.share && _vm.share.permissions !== undefined)?_c('SharingEntryQuickShareSelect',{attrs:{\"share\":_vm.share,\"file-info\":_vm.fileInfo},on:{\"open-sharing-details\":function($event){return _vm.openShareDetailsForCustomSettings(_vm.share)}}}):_vm._e()],1),_vm._v(\" \"),_c('div',{staticClass:\"sharing-entry__actions\"},[(_vm.share && _vm.share.expireDate)?_c('ShareExpiryTime',{attrs:{\"share\":_vm.share}}):_vm._e(),_vm._v(\" \"),_c('div',[(_vm.share && (!_vm.isEmailShareType || _vm.isFileRequest) && _vm.share.token)?_c('NcActions',{ref:\"copyButton\",staticClass:\"sharing-entry__copy\"},[_c('NcActionButton',{attrs:{\"aria-label\":_vm.copyLinkLabel,\"title\":_vm.copySuccess ? _vm.t('files_sharing', 'Successfully copied public link') : undefined,\"href\":_vm.shareLink},on:{\"click\":function($event){$event.preventDefault();return _vm.copyLink.apply(null, arguments)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{staticClass:\"sharing-entry__copy-icon\",class:{ 'sharing-entry__copy-icon--success': _vm.copySuccess },attrs:{\"path\":_vm.copySuccess ? _vm.mdiCheck : _vm.mdiContentCopy}})]},proxy:true}],null,false,1728815133)})],1):_vm._e()],1)],1)]),_vm._v(\" \"),(!_vm.pending && _vm.pendingDataIsMissing)?_c('NcActions',{staticClass:\"sharing-entry__actions\",attrs:{\"aria-label\":_vm.actionsTooltip,\"menu-align\":\"right\",\"open\":_vm.open},on:{\"update:open\":function($event){_vm.open=$event},\"close\":_vm.onCancel}},[(_vm.errors.pending)?_c('NcActionText',{staticClass:\"error\",scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('ErrorIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,1966124155)},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.errors.pending)+\"\\n\\t\\t\")]):_c('NcActionText',{attrs:{\"icon\":\"icon-info\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Please enter the following required information before creating the share'))+\"\\n\\t\\t\")]),_vm._v(\" \"),(_vm.pendingPassword)?_c('NcActionCheckbox',{staticClass:\"share-link-password-checkbox\",attrs:{\"disabled\":_vm.config.enforcePasswordForPublicLink || _vm.saving},on:{\"uncheck\":_vm.onPasswordDisable},model:{value:(_vm.isPasswordProtected),callback:function ($$v) {_vm.isPasswordProtected=$$v},expression:\"isPasswordProtected\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.config.enforcePasswordForPublicLink ? _vm.t('files_sharing', 'Password protection (enforced)') : _vm.t('files_sharing', 'Password protection'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.pendingEnforcedPassword || _vm.isPasswordProtected)?_c('NcActionInput',{staticClass:\"share-link-password\",attrs:{\"label\":_vm.t('files_sharing', 'Enter a password'),\"disabled\":_vm.saving,\"required\":_vm.config.enableLinkPasswordByDefault || _vm.config.enforcePasswordForPublicLink,\"minlength\":_vm.isPasswordPolicyEnabled && _vm.config.passwordPolicy.minLength,\"autocomplete\":\"new-password\"},on:{\"submit\":function($event){return _vm.onNewLinkShare(true)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('LockIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,2056568168),model:{value:(_vm.share.newPassword),callback:function ($$v) {_vm.$set(_vm.share, \"newPassword\", $$v)},expression:\"share.newPassword\"}}):_vm._e(),_vm._v(\" \"),(_vm.pendingDefaultExpirationDate)?_c('NcActionCheckbox',{staticClass:\"share-link-expiration-date-checkbox\",attrs:{\"disabled\":_vm.pendingEnforcedExpirationDate || _vm.saving},on:{\"update:model-value\":_vm.onExpirationDateToggleUpdate},model:{value:(_vm.defaultExpirationDateEnabled),callback:function ($$v) {_vm.defaultExpirationDateEnabled=$$v},expression:\"defaultExpirationDateEnabled\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.config.isDefaultExpireDateEnforced ? _vm.t('files_sharing', 'Enable link expiration (enforced)') : _vm.t('files_sharing', 'Enable link expiration'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),((_vm.pendingDefaultExpirationDate || _vm.pendingEnforcedExpirationDate) && _vm.defaultExpirationDateEnabled)?_c('NcActionInput',{staticClass:\"share-link-expire-date\",attrs:{\"data-cy-files-sharing-expiration-date-input\":\"\",\"label\":_vm.pendingEnforcedExpirationDate ? _vm.t('files_sharing', 'Enter expiration date (enforced)') : _vm.t('files_sharing', 'Enter expiration date'),\"disabled\":_vm.saving,\"is-native-picker\":true,\"hide-label\":true,\"model-value\":new Date(_vm.share.expireDate),\"type\":\"date\",\"min\":_vm.dateTomorrow,\"max\":_vm.maxExpirationDateEnforced},on:{\"update:model-value\":_vm.onExpirationChange,\"change\":_vm.expirationDateChanged},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('IconCalendarBlank',{attrs:{\"size\":20}})]},proxy:true}],null,false,3418578971)}):_vm._e(),_vm._v(\" \"),_c('NcActionButton',{attrs:{\"disabled\":_vm.pendingEnforcedPassword && !_vm.share.newPassword},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.onNewLinkShare(true)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('CheckIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,2630571749)},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Create share'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('NcActionButton',{on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.onCancel.apply(null, arguments)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('CloseIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,2428343285)},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Cancel'))+\"\\n\\t\\t\")])],1):(!_vm.loading)?_c('NcActions',{staticClass:\"sharing-entry__actions\",attrs:{\"aria-label\":_vm.actionsTooltip,\"menu-align\":\"right\",\"open\":_vm.open},on:{\"update:open\":function($event){_vm.open=$event},\"close\":_vm.onMenuClose}},[(_vm.share)?[(_vm.share.canEdit && _vm.canReshare)?[_c('NcActionButton',{attrs:{\"disabled\":_vm.saving,\"close-after-click\":true},on:{\"click\":function($event){$event.preventDefault();return _vm.openSharingDetails.apply(null, arguments)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Tune',{attrs:{\"size\":20}})]},proxy:true}],null,false,1300586850)},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Customize link'))+\"\\n\\t\\t\\t\\t\")])]:_vm._e(),_vm._v(\" \"),_c('NcActionButton',{attrs:{\"close-after-click\":true},on:{\"click\":function($event){$event.preventDefault();_vm.showQRCode = true}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('IconQr',{attrs:{\"size\":20}})]},proxy:true}],null,false,1082198240)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Generate QR code'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcActionSeparator'),_vm._v(\" \"),_vm._l((_vm.sortedExternalShareActions),function(action){return _c('NcActionButton',{key:action.id,on:{\"click\":function($event){return action.exec(_vm.share, _vm.fileInfo.node)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{attrs:{\"svg\":action.iconSvg}})]},proxy:true}],null,true)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(action.label(_vm.share, _vm.fileInfo.node))+\"\\n\\t\\t\\t\")])}),_vm._v(\" \"),_vm._l((_vm.externalLegacyShareActions),function(action){return _c('SidebarTabExternalActionLegacy',{key:action.id,attrs:{\"id\":action.id,\"action\":action,\"file-info\":_vm.fileInfo,\"share\":_vm.share}})}),_vm._v(\" \"),(!_vm.isEmailShareType && _vm.canReshare)?_c('NcActionButton',{staticClass:\"new-share-link\",on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.onNewLinkShare.apply(null, arguments)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('PlusIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,2953566425)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Add another link'))+\"\\n\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.share.canDelete)?_c('NcActionButton',{attrs:{\"disabled\":_vm.saving},on:{\"click\":function($event){$event.preventDefault();return _vm.onDelete.apply(null, arguments)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('CloseIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,2428343285)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Unshare'))+\"\\n\\t\\t\\t\")]):_vm._e()]:(_vm.canReshare)?_c('NcActionButton',{staticClass:\"new-share-link\",attrs:{\"title\":_vm.t('files_sharing', 'Create a new share link'),\"aria-label\":_vm.t('files_sharing', 'Create a new share link'),\"icon\":_vm.loading ? 'icon-loading-small' : 'icon-add'},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.onNewLinkShare.apply(null, arguments)}}}):_vm._e()],2):_c('NcLoadingIcon',{staticClass:\"sharing-entry__loading\"}),_vm._v(\" \"),(_vm.showQRCode)?_c('NcDialog',{attrs:{\"size\":\"normal\",\"open\":_vm.showQRCode,\"name\":_vm.title,\"close-on-click-outside\":true},on:{\"update:open\":function($event){_vm.showQRCode=$event},\"close\":function($event){_vm.showQRCode = false}}},[_c('div',{staticClass:\"qr-code-dialog\"},[_c('VueQrcode',{staticClass:\"qr-code-dialog__img\",attrs:{\"tag\":\"img\",\"value\":_vm.shareLink}})],1)]):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingLinkList.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!./SharingLinkList.vue?vue&type=script&lang=js\"","\n\n\n\n\n","import { render, staticRenderFns } from \"./SharingLinkList.vue?vue&type=template&id=708b3104\"\nimport script from \"./SharingLinkList.vue?vue&type=script&lang=js\"\nexport * from \"./SharingLinkList.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntry.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!./SharingEntry.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!./SharingEntry.vue?vue&type=style&index=0&id=469e5e80&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!./SharingEntry.vue?vue&type=style&index=0&id=469e5e80&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SharingEntry.vue?vue&type=template&id=469e5e80&scoped=true\"\nimport script from \"./SharingEntry.vue?vue&type=script&lang=js\"\nexport * from \"./SharingEntry.vue?vue&type=script&lang=js\"\nimport style0 from \"./SharingEntry.vue?vue&type=style&index=0&id=469e5e80&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 \"469e5e80\",\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!./SharingList.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!./SharingList.vue?vue&type=script&lang=js\"","\n\n\n\n\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('li',{staticClass:\"sharing-entry\"},[_c('NcAvatar',{staticClass:\"sharing-entry__avatar\",attrs:{\"is-no-user\":_vm.share.type !== _vm.ShareType.User,\"user\":_vm.share.shareWith,\"display-name\":_vm.share.shareWithDisplayName,\"menu-position\":\"left\",\"url\":_vm.share.shareWithAvatar}}),_vm._v(\" \"),_c('div',{staticClass:\"sharing-entry__summary\"},[_c(_vm.share.shareWithLink ? 'a' : 'div',{tag:\"component\",staticClass:\"sharing-entry__summary__desc\",attrs:{\"title\":_vm.tooltip,\"aria-label\":_vm.tooltip,\"href\":_vm.share.shareWithLink}},[_c('span',[_vm._v(_vm._s(_vm.title)+\"\\n\\t\\t\\t\\t\"),(!_vm.isUnique)?_c('span',{staticClass:\"sharing-entry__summary__desc-unique\"},[_vm._v(\"\\n\\t\\t\\t\\t\\t(\"+_vm._s(_vm.share.shareWithDisplayNameUnique)+\")\\n\\t\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.hasStatus && _vm.share.status.message)?_c('small',[_vm._v(\"(\"+_vm._s(_vm.share.status.message)+\")\")]):_vm._e()])]),_vm._v(\" \"),_c('SharingEntryQuickShareSelect',{attrs:{\"share\":_vm.share,\"file-info\":_vm.fileInfo},on:{\"open-sharing-details\":function($event){return _vm.openShareDetailsForCustomSettings(_vm.share)}}})],1),_vm._v(\" \"),(_vm.share && _vm.share.expireDate)?_c('ShareExpiryTime',{attrs:{\"share\":_vm.share}}):_vm._e(),_vm._v(\" \"),(_vm.share.canEdit)?_c('NcButton',{staticClass:\"sharing-entry__action\",attrs:{\"data-cy-files-sharing-share-actions\":\"\",\"aria-label\":_vm.t('files_sharing', 'Open Sharing Details'),\"variant\":\"tertiary\"},on:{\"click\":function($event){return _vm.openSharingDetails(_vm.share)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('DotsHorizontalIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,1700783217)}):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./SharingList.vue?vue&type=template&id=7e1141c6\"\nimport script from \"./SharingList.vue?vue&type=script&lang=js\"\nexport * from \"./SharingList.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('ul',{staticClass:\"sharing-sharee-list\",attrs:{\"aria-label\":_vm.t('files_sharing', 'Shares')}},_vm._l((_vm.shares),function(share){return _c('SharingEntry',{key:share.id,attrs:{\"file-info\":_vm.fileInfo,\"share\":share,\"is-unique\":_vm.isUnique(share)},on:{\"open-sharing-details\":function($event){return _vm.openSharingDetails(share)}}})}),1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","/*!\n * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: GPL-3.0-or-later\n */\n/**\n * Register a new sidebar section inside the files sharing sidebar tab.\n *\n * @param section - The section to register\n */\nexport function registerSidebarSection(section) {\n if (!section.id) {\n throw new Error('Sidebar sections must have an id');\n }\n if (!section.element || !section.element.startsWith('oca_') || !window.customElements.get(section.element)) {\n throw new Error('Sidebar sections must provide a registered custom web component identifier');\n }\n if (typeof section.order !== 'number') {\n throw new Error('Sidebar sections must have the order property');\n }\n if (typeof section.enabled !== 'function') {\n throw new Error('Sidebar sections must implement the enabled method');\n }\n window._nc_files_sharing_sidebar_sections ??= new Map();\n if (window._nc_files_sharing_sidebar_sections.has(section.id)) {\n throw new Error(`Sidebar section with id \"${section.id}\" is already registered`);\n }\n window._nc_files_sharing_sidebar_sections.set(section.id, section);\n}\n/**\n * Get all registered sidebar sections for the files sharing sidebar tab.\n */\nexport function getSidebarSections() {\n return [...(window._nc_files_sharing_sidebar_sections?.values() ?? [])];\n}\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { ShareType } from '@nextcloud/sharing'\n\n/**\n *\n * @param share\n */\nfunction shareWithTitle(share) {\n\tif (share.type === ShareType.Group) {\n\t\treturn t(\n\t\t\t'files_sharing',\n\t\t\t'Shared with you and the group {group} by {owner}',\n\t\t\t{\n\t\t\t\tgroup: share.shareWithDisplayName,\n\t\t\t\towner: share.ownerDisplayName,\n\t\t\t},\n\t\t\tundefined,\n\t\t\t{ escape: false },\n\t\t)\n\t} else if (share.type === ShareType.Team) {\n\t\treturn t(\n\t\t\t'files_sharing',\n\t\t\t'Shared with you and {circle} by {owner}',\n\t\t\t{\n\t\t\t\tcircle: share.shareWithDisplayName,\n\t\t\t\towner: share.ownerDisplayName,\n\t\t\t},\n\t\t\tundefined,\n\t\t\t{ escape: false },\n\t\t)\n\t} else if (share.type === ShareType.Room) {\n\t\tif (share.shareWithDisplayName) {\n\t\t\treturn t(\n\t\t\t\t'files_sharing',\n\t\t\t\t'Shared with you and the conversation {conversation} by {owner}',\n\t\t\t\t{\n\t\t\t\t\tconversation: share.shareWithDisplayName,\n\t\t\t\t\towner: share.ownerDisplayName,\n\t\t\t\t},\n\t\t\t\tundefined,\n\t\t\t\t{ escape: false },\n\t\t\t)\n\t\t} else {\n\t\t\treturn t(\n\t\t\t\t'files_sharing',\n\t\t\t\t'Shared with you in a conversation by {owner}',\n\t\t\t\t{\n\t\t\t\t\towner: share.ownerDisplayName,\n\t\t\t\t},\n\t\t\t\tundefined,\n\t\t\t\t{ escape: false },\n\t\t\t)\n\t\t}\n\t} else {\n\t\treturn t(\n\t\t\t'files_sharing',\n\t\t\t'Shared with you by {owner}',\n\t\t\t{ owner: share.ownerDisplayName },\n\t\t\tundefined,\n\t\t\t{ escape: false },\n\t\t)\n\t}\n}\n\nexport { shareWithTitle }\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingTab.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!./SharingTab.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!./SharingTab.vue?vue&type=style&index=0&id=cd6ad9ee&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!./SharingTab.vue?vue&type=style&index=0&id=cd6ad9ee&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SharingTab.vue?vue&type=template&id=cd6ad9ee&scoped=true\"\nimport script from \"./SharingTab.vue?vue&type=script&lang=js\"\nexport * from \"./SharingTab.vue?vue&type=script&lang=js\"\nimport style0 from \"./SharingTab.vue?vue&type=style&index=0&id=cd6ad9ee&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 \"cd6ad9ee\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"sharingTab\",class:{ 'icon-loading': _vm.loading }},[(_vm.error)?_c('div',{staticClass:\"emptycontent\",class:{ emptyContentWithSections: _vm.hasExternalSections }},[_c('div',{staticClass:\"icon icon-error\"}),_vm._v(\" \"),_c('h2',[_vm._v(_vm._s(_vm.error))])]):_vm._e(),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.showSharingDetailsView),expression:\"!showSharingDetailsView\"}],staticClass:\"sharingTab__content\"},[(_vm.isSharedWithMe)?_c('ul',[_c('SharingEntrySimple',_vm._b({staticClass:\"sharing-entry__reshare\",scopedSlots:_vm._u([{key:\"avatar\",fn:function(){return [_c('NcAvatar',{staticClass:\"sharing-entry__avatar\",attrs:{\"user\":_vm.sharedWithMe.user,\"display-name\":_vm.sharedWithMe.displayName}})]},proxy:true}],null,false,3197855346)},'SharingEntrySimple',_vm.sharedWithMe,false))],1):_vm._e(),_vm._v(\" \"),_c('section',[_c('div',{staticClass:\"section-header\"},[_c('h4',[_vm._v(_vm._s(_vm.t('files_sharing', 'Internal shares')))]),_vm._v(\" \"),_c('NcPopover',{attrs:{\"popup-role\":\"dialog\"},scopedSlots:_vm._u([{key:\"trigger\",fn:function(){return [_c('NcButton',{staticClass:\"hint-icon\",attrs:{\"variant\":\"tertiary-no-background\",\"aria-label\":_vm.t('files_sharing', 'Internal shares explanation')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('InfoIcon',{attrs:{\"size\":20}})]},proxy:true}])})]},proxy:true}])},[_vm._v(\" \"),_c('p',{staticClass:\"hint-body\"},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.internalSharesHelpText)+\"\\n\\t\\t\\t\\t\\t\")])])],1),_vm._v(\" \"),(!_vm.loading)?_c('SharingInput',{attrs:{\"can-reshare\":_vm.canReshare,\"file-info\":_vm.fileInfo,\"link-shares\":_vm.linkShares,\"reshare\":_vm.reshare,\"shares\":_vm.shares,\"placeholder\":_vm.internalShareInputPlaceholder},on:{\"open-sharing-details\":_vm.toggleShareDetailsView}}):_vm._e(),_vm._v(\" \"),(!_vm.loading)?_c('SharingList',{ref:\"shareList\",attrs:{\"shares\":_vm.shares,\"file-info\":_vm.fileInfo},on:{\"open-sharing-details\":_vm.toggleShareDetailsView}}):_vm._e(),_vm._v(\" \"),(_vm.canReshare && !_vm.loading)?_c('SharingInherited',{attrs:{\"file-info\":_vm.fileInfo}}):_vm._e(),_vm._v(\" \"),_c('SharingEntryInternal',{attrs:{\"file-info\":_vm.fileInfo}})],1),_vm._v(\" \"),(_vm.config.showExternalSharing)?_c('section',[_c('div',{staticClass:\"section-header\"},[_c('h4',[_vm._v(_vm._s(_vm.t('files_sharing', 'External shares')))]),_vm._v(\" \"),_c('NcPopover',{attrs:{\"popup-role\":\"dialog\"},scopedSlots:_vm._u([{key:\"trigger\",fn:function(){return [_c('NcButton',{staticClass:\"hint-icon\",attrs:{\"variant\":\"tertiary-no-background\",\"aria-label\":_vm.t('files_sharing', 'External shares explanation')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('InfoIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,915383693)})]},proxy:true}],null,false,4045083138)},[_vm._v(\" \"),_c('p',{staticClass:\"hint-body\"},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.externalSharesHelpText)+\"\\n\\t\\t\\t\\t\\t\")])])],1),_vm._v(\" \"),(!_vm.loading)?_c('SharingInput',{attrs:{\"can-reshare\":_vm.canReshare,\"file-info\":_vm.fileInfo,\"link-shares\":_vm.linkShares,\"is-external\":true,\"placeholder\":_vm.externalShareInputPlaceholder,\"reshare\":_vm.reshare,\"shares\":_vm.shares},on:{\"open-sharing-details\":_vm.toggleShareDetailsView}}):_vm._e(),_vm._v(\" \"),(!_vm.loading)?_c('SharingList',{attrs:{\"shares\":_vm.externalShares,\"file-info\":_vm.fileInfo},on:{\"open-sharing-details\":_vm.toggleShareDetailsView}}):_vm._e(),_vm._v(\" \"),(!_vm.loading && _vm.isLinkSharingAllowed)?_c('SharingLinkList',{ref:\"linkShareList\",attrs:{\"can-reshare\":_vm.canReshare,\"file-info\":_vm.fileInfo,\"shares\":_vm.linkShares},on:{\"open-sharing-details\":_vm.toggleShareDetailsView}}):_vm._e()],1):_vm._e(),_vm._v(\" \"),(_vm.hasExternalSections && !_vm.showSharingDetailsView)?_c('section',[_c('div',{staticClass:\"section-header\"},[_c('h4',[_vm._v(_vm._s(_vm.t('files_sharing', 'Additional shares')))]),_vm._v(\" \"),_c('NcPopover',{attrs:{\"popup-role\":\"dialog\"},scopedSlots:_vm._u([{key:\"trigger\",fn:function(){return [_c('NcButton',{staticClass:\"hint-icon\",attrs:{\"variant\":\"tertiary-no-background\",\"aria-label\":_vm.t('files_sharing', 'Additional shares explanation')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('InfoIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,915383693)})]},proxy:true}],null,false,880248230)},[_vm._v(\" \"),_c('p',{staticClass:\"hint-body\"},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.additionalSharesHelpText)+\"\\n\\t\\t\\t\\t\\t\")])])],1),_vm._v(\" \"),_vm._l((_vm.sortedExternalSections),function(section){return _c('SidebarTabExternalSection',{key:section.id,staticClass:\"sharingTab__additionalContent\",attrs:{\"section\":section,\"node\":_vm.fileInfo.node /* TODO: Fix once we have proper Node API */}})}),_vm._v(\" \"),_vm._l((_vm.legacySections),function(section,index){return _c('SidebarTabExternalSectionLegacy',{key:index,staticClass:\"sharingTab__additionalContent\",attrs:{\"file-info\":_vm.fileInfo,\"section-callback\":section}})}),_vm._v(\" \"),(_vm.projectsEnabled)?_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.showSharingDetailsView && _vm.fileInfo),expression:\"!showSharingDetailsView && fileInfo\"}],staticClass:\"sharingTab__additionalContent\"},[_c('NcCollectionList',{attrs:{\"id\":`${_vm.fileInfo.id}`,\"type\":\"file\",\"name\":_vm.fileInfo.name}})],1):_vm._e()],2):_vm._e()]),_vm._v(\" \"),(_vm.showSharingDetailsView)?_c('SharingDetailsTab',{attrs:{\"file-info\":_vm.shareDetailsData.fileInfo,\"share\":_vm.shareDetailsData.share},on:{\"close-sharing-details\":_vm.toggleShareDetailsView,\"add:share\":_vm.addShare,\"remove:share\":_vm.removeShare}}):_vm._e()],1)\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/**\n * Convert Node to legacy file info\n *\n * @param node - The Node to convert\n */\nexport default function (node) {\n const rawFileInfo = {\n id: node.fileid,\n path: node.dirname,\n name: node.basename,\n mtime: node.mtime?.getTime(),\n etag: node.attributes.etag,\n size: node.size,\n hasPreview: node.attributes.hasPreview,\n isEncrypted: node.attributes.isEncrypted === 1,\n isFavourited: node.attributes.favorite === 1,\n mimetype: node.mime,\n permissions: node.permissions,\n mountType: node.attributes['mount-type'],\n sharePermissions: node.attributes['share-permissions'],\n shareAttributes: JSON.parse(node.attributes['share-attributes'] || '[]'),\n type: node.type === 'file' ? 'file' : 'dir',\n attributes: node.attributes,\n };\n const fileInfo = new OC.Files.FileInfo(rawFileInfo);\n // TODO remove when no more legacy backbone is used\n fileInfo.get = (key) => fileInfo[key];\n fileInfo.isDirectory = () => fileInfo.mimetype === 'httpd/unix-directory';\n fileInfo.canEdit = () => Boolean(fileInfo.permissions & OC.PERMISSION_UPDATE);\n fileInfo.node = node;\n return fileInfo;\n}\n","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!./FilesSidebarTab.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-6.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesSidebarTab.vue?vue&type=script&setup=true&lang=ts\"","import { render, staticRenderFns } from \"./FilesSidebarTab.vue?vue&type=template&id=8a2257be\"\nimport script from \"./FilesSidebarTab.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./FilesSidebarTab.vue?vue&type=script&setup=true&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { getCurrentUser, onRequestTokenUpdate, getRequestToken } from \"@nextcloud/auth\";\nimport { generateRemoteUrl } from \"@nextcloud/router\";\nimport { isPublicShare, getSharingToken } from \"@nextcloud/sharing/public\";\nimport { createClient, getPatcher } from \"webdav\";\nimport { P as Permission, s as scopedGlobals, l as logger, c as NodeStatus, a as File, b as Folder } from \"./chunks/folder-29HuacU_.mjs\";\nimport \"@nextcloud/paths\";\n/*!\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nfunction parsePermissions(permString = \"\") {\n let permissions = Permission.NONE;\n if (!permString) {\n return permissions;\n }\n if (permString.includes(\"G\")) {\n permissions |= Permission.READ;\n }\n if (permString.includes(\"W\")) {\n permissions |= Permission.WRITE;\n }\n if (permString.includes(\"CK\")) {\n permissions |= Permission.CREATE;\n }\n if (permString.includes(\"NV\")) {\n permissions |= Permission.UPDATE;\n }\n if (permString.includes(\"D\")) {\n permissions |= Permission.DELETE;\n }\n if (permString.includes(\"R\")) {\n permissions |= Permission.SHARE;\n }\n return permissions;\n}\nconst defaultDavProperties = [\n \"d:getcontentlength\",\n \"d:getcontenttype\",\n \"d:getetag\",\n \"d:getlastmodified\",\n \"d:creationdate\",\n \"d:displayname\",\n \"d:quota-available-bytes\",\n \"d:resourcetype\",\n \"nc:has-preview\",\n \"nc:is-encrypted\",\n \"nc:mount-type\",\n \"oc:comments-unread\",\n \"oc:favorite\",\n \"oc:fileid\",\n \"oc:owner-display-name\",\n \"oc:owner-id\",\n \"oc:permissions\",\n \"oc:size\"\n];\nconst defaultDavNamespaces = {\n d: \"DAV:\",\n nc: \"http://nextcloud.org/ns\",\n oc: \"http://owncloud.org/ns\",\n ocs: \"http://open-collaboration-services.org/ns\"\n};\nfunction registerDavProperty(prop, namespace = { nc: \"http://nextcloud.org/ns\" }) {\n scopedGlobals.davNamespaces ??= { ...defaultDavNamespaces };\n scopedGlobals.davProperties ??= [...defaultDavProperties];\n const namespaces = { ...scopedGlobals.davNamespaces, ...namespace };\n if (scopedGlobals.davProperties.find((search) => search === prop)) {\n logger.warn(`${prop} already registered`, { prop });\n return false;\n }\n if (prop.startsWith(\"<\") || prop.split(\":\").length !== 2) {\n logger.error(`${prop} is not valid. See example: 'oc:fileid'`, { prop });\n return false;\n }\n const ns = prop.split(\":\")[0];\n if (!namespaces[ns]) {\n logger.error(`${prop} namespace unknown`, { prop, namespaces });\n return false;\n }\n scopedGlobals.davProperties.push(prop);\n scopedGlobals.davNamespaces = namespaces;\n return true;\n}\nfunction getDavProperties() {\n scopedGlobals.davProperties ??= [...defaultDavProperties];\n return scopedGlobals.davProperties.map((prop) => `<${prop} />`).join(\" \");\n}\nfunction getDavNameSpaces() {\n scopedGlobals.davNamespaces ??= { ...defaultDavNamespaces };\n return Object.keys(scopedGlobals.davNamespaces).map((ns) => `xmlns:${ns}=\"${scopedGlobals.davNamespaces?.[ns]}\"`).join(\" \");\n}\nfunction getDefaultPropfind() {\n return `\n\t\t\n\t\t\t\n\t\t\t\t${getDavProperties()}\n\t\t\t\n\t\t`;\n}\nfunction getFavoritesReport() {\n return `\n\t\t\n\t\t\t\n\t\t\t\t${getDavProperties()}\n\t\t\t\n\t\t\t\n\t\t\t\t1\n\t\t\t\n\t\t`;\n}\nfunction getRecentSearch(lastModified) {\n return `\n\n\t\n\t\t\n\t\t\t\n\t\t\t\t${getDavProperties()}\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t/files/${getCurrentUser()?.uid}/\n\t\t\t\tinfinity\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\thttpd/unix-directory\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t0\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t${lastModified}\n\t\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t100\n\t\t\t0\n\t\t\n\t\n`;\n}\nfunction getRootPath() {\n if (isPublicShare()) {\n return `/files/${getSharingToken()}`;\n }\n return `/files/${getCurrentUser()?.uid}`;\n}\nconst defaultRootPath = getRootPath();\nfunction getRemoteURL() {\n const url = generateRemoteUrl(\"dav\");\n if (isPublicShare()) {\n return url.replace(\"remote.php\", \"public.php\");\n }\n return url;\n}\nconst defaultRemoteURL = getRemoteURL();\nfunction getClient(remoteURL = defaultRemoteURL, headers = {}) {\n const client = createClient(remoteURL, { headers });\n function setHeaders(token) {\n client.setHeaders({\n ...headers,\n // Add this so the server knows it is an request from the browser\n \"X-Requested-With\": \"XMLHttpRequest\",\n // Inject user auth\n requesttoken: token ?? \"\"\n });\n }\n onRequestTokenUpdate(setHeaders);\n setHeaders(getRequestToken());\n const patcher = getPatcher();\n patcher.patch(\"fetch\", (url, options) => {\n const headers2 = options.headers;\n if (headers2?.method) {\n options.method = headers2.method;\n delete headers2.method;\n }\n return fetch(url, options);\n });\n return client;\n}\nasync function getFavoriteNodes(options = {}) {\n const client = options.client ?? getClient();\n const path = options.path ?? \"/\";\n const davRoot = options.davRoot ?? defaultRootPath;\n const contentsResponse = await client.getDirectoryContents(`${davRoot}${path}`, {\n signal: options.signal,\n details: true,\n data: getFavoritesReport(),\n headers: {\n // see getClient for patched webdav client\n method: \"REPORT\"\n },\n includeSelf: true\n });\n return contentsResponse.data.filter((node) => node.filename !== path).map((result) => resultToNode(result, davRoot));\n}\nfunction resultToNode(node, filesRoot = defaultRootPath, remoteURL = defaultRemoteURL) {\n let userId = getCurrentUser()?.uid;\n if (isPublicShare()) {\n userId = userId ?? \"anonymous\";\n } else if (!userId) {\n throw new Error(\"No user id found\");\n }\n const props = node.props;\n const permissions = parsePermissions(props?.permissions);\n const owner = String(props?.[\"owner-id\"] || userId);\n const id = props.fileid || 0;\n const mtime = new Date(Date.parse(node.lastmod));\n const crtime = new Date(Date.parse(props.creationdate));\n const nodeData = {\n id,\n source: `${remoteURL}${node.filename}`,\n mtime: !isNaN(mtime.getTime()) && mtime.getTime() !== 0 ? mtime : void 0,\n crtime: !isNaN(crtime.getTime()) && crtime.getTime() !== 0 ? crtime : void 0,\n mime: node.mime || \"application/octet-stream\",\n // Manually cast to work around for https://github.com/perry-mitchell/webdav-client/pull/380\n displayname: props.displayname !== void 0 ? String(props.displayname) : void 0,\n size: props?.size || Number.parseInt(props.getcontentlength || \"0\"),\n // The fileid is set to -1 for failed requests\n status: id < 0 ? NodeStatus.FAILED : void 0,\n permissions,\n owner,\n root: filesRoot,\n attributes: {\n ...node,\n ...props,\n hasPreview: props?.[\"has-preview\"]\n }\n };\n delete nodeData.attributes?.props;\n return node.type === \"file\" ? new File(nodeData) : new Folder(nodeData);\n}\nexport {\n defaultDavNamespaces,\n defaultDavProperties,\n defaultRemoteURL,\n defaultRootPath,\n getClient,\n getDavNameSpaces,\n getDavProperties,\n getDefaultPropfind,\n getFavoriteNodes,\n getFavoritesReport,\n getRecentSearch,\n getRemoteURL,\n getRootPath,\n parsePermissions,\n registerDavProperty,\n resultToNode\n};\n//# sourceMappingURL=dav.mjs.map\n"],"names":["___CSS_LOADER_EXPORT___","push","module","id","name","emits","props","title","type","String","fillColor","default","size","Number","_vm","this","_c","_self","_b","staticClass","attrs","on","$event","$emit","$attrs","_v","_s","_e","components","NcActions","required","subtitle","isUnique","Boolean","ariaExpanded","computed","ariaExpandedValue","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","_t","$slots","ref","generateFileUrl","fileid","baseURL","getBaseUrl","globalscale","getCapabilities","token","generateUrl","NcActionButton","SharingEntrySimple","CheckIcon","ClipboardIcon","fileInfo","Object","data","copied","copySuccess","internalLink","copyLinkTooltip","t","internalLinkSubtitle","methods","copyLink","navigator","clipboard","writeText","showSuccess","$refs","shareEntrySimple","actionsComponent","$el","focus","error","logger","setTimeout","scopedSlots","_u","key","fn","proxy","ATOMIC_PERMISSIONS","BUNDLED_PERMISSIONS","READ_ONLY","UPLOAD_AND_UPDATE","FILE_DROP","ALL","ALL_FILE","getBundledPermissions","excludeShare","Share","constructor","ocsData","_defineProperty","ocs","parseInt","hide_download","mail_send","attributes","JSON","parse","warn","_share","state","share_type","permissions","owner","uid_owner","ownerDisplayName","displayname_owner","shareWith","share_with","shareWithDisplayName","share_with_displayname","shareWithDisplayNameUnique","share_with_displayname_unique","shareWithLink","share_with_link","shareWithAvatar","share_with_avatar","uidFileOwner","uid_file_owner","displaynameFileOwner","displayname_file_owner","createdTime","stime","expireDate","expiration","date","note","label","mailSend","hideDownload","undefined","find","scope","value","attribute","password","passwordExpirationTime","password_expiration_time","sendPasswordByTalk","send_password_by_talk","path","itemType","item_type","mimetype","fileSource","file_source","fileTarget","file_target","fileParent","file_parent","hasReadPermission","window","OC","PERMISSION_READ","hasCreatePermission","PERMISSION_CREATE","hasDeletePermission","PERMISSION_DELETE","hasUpdatePermission","PERMISSION_UPDATE","hasSharePermission","PERMISSION_SHARE","hasDownloadPermission","some","isFileRequest","stringify","enabled","setAttribute","attrUpdate","i","attr","splice","canEdit","can_edit","canDelete","can_delete","viaFileid","via_fileid","viaPath","via_path","parent","storageId","storage_id","storage","itemSource","item_source","status","isTrustedServer","is_trusted_server","Config","_capabilities","defaultPermissions","files_sharing","default_permissions","excludeReshareFromEdit","exclude_reshare_from_edit","isPublicUploadEnabled","public","upload","federatedShareDocLink","appConfig","core","federatedCloudShareDoc","defaultExpirationDate","isDefaultExpireDateEnabled","defaultExpireDate","Date","setDate","getDate","defaultInternalExpirationDate","isDefaultInternalExpireDateEnabled","defaultInternalExpireDate","defaultRemoteExpirationDateString","isDefaultRemoteExpireDateEnabled","defaultRemoteExpireDate","enforcePasswordForPublicLink","enableLinkPasswordByDefault","isDefaultExpireDateEnforced","defaultExpireDateEnforced","defaultExpireDateEnabled","isDefaultInternalExpireDateEnforced","defaultInternalExpireDateEnforced","defaultInternalExpireDateEnabled","isDefaultRemoteExpireDateEnforced","defaultRemoteExpireDateEnforced","defaultRemoteExpireDateEnabled","isRemoteShareAllowed","remoteShareAllowed","isFederationEnabled","federation","outgoing","isPublicShareAllowed","isMailShareAllowed","sharebymail","isResharingAllowed","resharingAllowed","isPasswordForMailSharesRequired","enforced","shouldAlwaysShowUnique","sharee","always_show_unique","allowGroupSharing","maxAutocompleteResults","config","minSearchStringLength","passwordPolicy","password_policy","allowCustomTokens","custom_tokens","showFederatedSharesAsInternal","loadState","showFederatedSharesToTrustedServersAsInternal","showExternalSharing","openSharingDetails","shareRequestObject","share","handler","handlerInput","suggestions","query","externalShareRequestObject","mapShareRequestToShareObject","originalPermissions","strippedPermissions","debug","shareDetails","openShareDetailsForCustomSettings","setCustomPermissions","shareType","is_no_user","isNoUser","user","displayName","shareUrl","generateOcsUrl","createShare","publicUpload","request","axios","post","emit","errorMessage","getErrorMessage","showError","Error","cause","deleteShare","delete","updateShare","properties","put","isAxiosError","response","meta","message","NcSelect","mixins","ShareRequests","ShareDetails","shares","Array","linkShares","reshare","canReshare","isExternal","placeholder","setup","shareInputId","Math","random","toString","slice","loading","recommendations","ShareSearch","OCA","Sharing","externalResults","results","inputPlaceholder","allowRemoteSharing","isValidQuery","trim","length","noResultText","mounted","getRecommendations","onSelected","option","asyncFind","debounceGetSuggestions","getSuggestions","search","lookup","query_lookup_default","remoteTypes","ShareType","Remote","RemoteGroup","showFederatedAsInternal","shouldAddRemoteTypes","Email","User","Group","Team","Room","Guest","Deck","ScienceMesh","get","params","format","perPage","exact","rawExactSuggestions","values","flat","rawSuggestions","exactSuggestions","filterOutExistingShares","filter","result","filterByTrustedServer","map","formatForMultiselect","sort","a","b","lookupEntry","lookupEnabled","condition","allSuggestions","concat","nameCounts","reduce","item","desc","debounce","args","rawRecommendations","arr","elem","getCurrentUser","uid","indexOf","sharesObj","obj","shareTypeToIcon","icon","iconTitle","Sciencemesh","subname","extra","email","server","shareWithDescription","uuid","clear-search-on-blur","model","callback","$$v","expression","_defineComponent","__name","node","section","__props","sectionElement","watchEffect","__sfc","_setupProxy","element","tag","domProps","sectionCallback","Function","component","action","expose","save","actionElement","savingCallback","onSave","toRaw","_setup","is","_g","handlers","text","client","getClient","async","verbose","api","generate","info","array","Uint8Array","ratio","passwordSet","self","crypto","getRandomValues","len","floor","charAt","SharesRequests","errors","saving","open","passwordProtectedState","updateQueue","PQueue","concurrency","reactiveState","replace","hasNote","set","dateTomorrow","lang","weekdaysShort","dayNamesShort","monthsShort","monthNamesShort","formatLocale","firstDayOfWeek","firstDay","weekdaysMin","monthFormat","isNewShare","isFolder","isPublicShare","Link","includes","isRemoteShare","isShareOwner","isExpiryDateEnforced","hasCustomPermissions","basePermissions","bundledPermissions","permissionsWithoutShare","maxExpirationDateEnforced","isPasswordProtected","newPassword","generatedPassword","GeneratePassword","$set","getNode","propfindPayload","getDefaultPropfind","stat","getRootPath","details","resultToNode","fetchNode","checkShare","expirationDate","isValid","formatDateToString","UTC","getFullYear","getMonth","toISOString","split","onExpirationChange","parsedDate","onNoteChange","onNoteSubmit","newNote","$delete","queueUpdate","onDelete","shareId","propertyNames","add","updatedShare","property","updateSuccessMessage","onSyncError","names","propertyEl","focusable","querySelector","debounceQueueUpdate","NcAvatar","NcButton","NcCheckboxRadioSwitch","NcDateTimePickerNative","NcInputField","NcLoadingIcon","NcPasswordField","NcTextArea","CloseIcon","CircleIcon","EditIcon","LinkIcon","GroupIcon","ShareIcon","UserIcon","UploadIcon","ViewIcon","MenuDownIcon","MenuUpIcon","DotsHorizontalIcon","Refresh","SidebarTabExternalAction","SidebarTabExternalActionLegacy","SharesMixin","shareRequestValue","writeNoteToRecipientIsChecked","sharingPermission","revertSharingPermission","passwordError","advancedSectionAccordionExpanded","isFirstComponentLoad","test","creating","initialToken","loadingToken","externalShareActions","_nc_files_sharing_sidebar_actions","ExternalShareActions","allPermissions","checked","updateAtomicPermissions","isEditChecked","canCreate","isCreateChecked","isDeleteChecked","isReshareChecked","showInGridView","getShareAttribute","setShareAttribute","canDownload","hasRead","isReadChecked","hasExpirationDate","isValidShareAttribute","defaultExpiryDate","isSetDownloadButtonVisible","isPasswordEnforced","isGroupShare","isUserShare","allowsFileDrop","hasFileDropPermissions","shareButtonText","resharingIsPossible","canSetEdit","sharePermissions","canSetCreate","canSetDelete","canSetReshare","canSetDownload","canRemoveReadPermission","hasUnsavedPassword","expirationTime","moment","diff","fromNow","isTalkEnabled","appswebroots","spreed","isPasswordProtectedByTalkAvailable","isPasswordProtectedByTalk","isEmailShareType","canTogglePasswordProtectedByTalkAvailable","canChangeHideDownload","shareAttributes","shareAttribute","customPermissionsList","translatedPermissions","permission","hasPermissions","initialPermissionSet","permissionsToCheck","index","toLocaleLowerCase","getLanguage","join","advancedControlExpandedValue","errorPasswordLabel","passwordHint","sortedExternalShareActions","order","externalLegacyShareActions","actions","advanced","watch","isChecked","beforeMount","initializePermissions","initializeAttributes","quickPermissions","fallback","generateNewToken","generateToken","cancel","expandCustomPermissions","toggleCustomPermissions","selectedPermission","isCustomPermissions","toDateString","handleShareType","handleDefaultPermissions","handleCustomPermissions","saveShare","permissionsAndAttributes","publicShareAttributes","sharePermissionsSet","incomingShare","addShare","prop","Promise","allSettled","externalLinkActions","$children","at","resolve","removeShare","onPasswordChange","onPasswordProtectedByTalkChange","getShareTypeIcon","EmailIcon","_l","refInFor","preventDefault","apply","arguments","NcActionLink","NcActionText","viaFileTargetUrl","viaFolderName","basename","initiator","folder","SharingEntryInherited","loaded","showInheritedShares","showInheritedSharesIcon","mainTitle","subTitle","toggleTooltip","fullPath","resetState","toggleInheritedShares","fetchInheritedShares","url","Notification","showTemporary","findIndex","stopPropagation","NcPopover","NcDateTime","ClockIcon","expiryTime","getTime","timeFormat","dateStyle","timeStyle","toLocaleString","DropdownIcon","selectedOption","ariaLabel","canViewText","canEditText","fileDropText","customPermissionsText","preSelectedOption","IconEyeOutline","IconPencil","supportsFileDrop","IconFileUpload","IconTune","dropDownPermissionValue","created","subscribe","unmounted","unsubscribe","selectOption","optionLabel","quickShareActions","menuButton","NcActionCheckbox","NcActionInput","NcActionSeparator","NcDialog","NcIconSvgWrapper","VueQrcode","Tune","IconCalendarBlank","IconQr","ErrorIcon","LockIcon","PlusIcon","SharingEntryQuickShareSelect","ShareExpiryTime","mdiCheck","mdiContentCopy","shareCreationComplete","defaultExpirationDateEnabled","pending","_nc_files_sharing_sidebar_inline_actions","showQRCode","l10nOptions","escape","pendingDataIsMissing","pendingPassword","pendingEnforcedPassword","pendingDefaultExpirationDate","pendingEnforcedExpirationDate","isPendingShare","isNaN","sharePolicyHasEnforcedProperties","enforcedPropertiesMissing","isPasswordMissing","isExpireDateMissing","shareLink","actionsTooltip","copyLinkLabel","isPasswordPolicyEnabled","shareRequiresReview","shareReviewComplete","onNewLinkShare","shareDefaults","pushNewLinkShare","e","update","newShare","match","copyButton","prompt","onPasswordDisable","onPasswordSubmit","onMenuClose","onExpirationDateToggleUpdate","expirationDateChanged","event","target","onCancel","class","minLength","exec","iconSvg","SharingEntryLink","canLinkShare","hasLinkShares","hasShares","awaitForShare","$nextTick","showAsInternal","tooltip","hasStatus","isArray","SharingEntry","productName","theme","InfoIcon","NcCollectionList","SharingEntryInternal","SharingInherited","SharingInput","SharingLinkList","SharingList","SharingDetailsTab","SidebarTabExternalSection","SidebarTabExternalSectionLegacy","deleteEvent","expirationInterval","sharedWithMe","externalShares","legacySections","ShareTabSections","getSections","sections","_nc_files_sharing_sidebar_sections","projectsEnabled","showSharingDetailsView","shareDetailsData","returnFocusElement","internalSharesHelpText","externalSharesHelpText","additionalSharesHelpText","hasExternalSections","sortedExternalSections","isSharedWithMe","isLinkSharingAllowed","capabilities","internalShareInputPlaceholder","externalShareInputPlaceholder","immediate","newValue","oldValue","getShares","fetchShares","reshares","fetchSharedWithMe","shared_with_me","all","processSharedWithMe","processShares","clearInterval","updateExpirationSubtitle","unix","relativetime","orderBy","findShareListByShare","group","circle","conversation","shareWithTitle","setInterval","shareOwnerId","shareOwner","unshift","removeShareFromList","shareList","listComponent","linkShareList","toggleShareDetailsView","eventData","from","document","activeElement","classList","className","startsWith","menuId","closest","emptyContentWithSections","directives","rawName","rawFileInfo","dirname","mtime","etag","hasPreview","isEncrypted","isFavourited","favorite","mime","mountType","Files","FileInfo","isDirectory","active","view","SharingTab","defaultDavProperties","defaultDavNamespaces","d","nc","oc","getDavProperties","s","davProperties","getDavNameSpaces","davNamespaces","keys","ns","getRecentSearch","lastModified","defaultRootPath","defaultRemoteURL","getRemoteURL","remoteURL","headers","setHeaders","requesttoken","patch","headers2","method","fetch","getFavoriteNodes","davRoot","getDirectoryContents","signal","includeSelf","filename","filesRoot","userId","permString","P","NONE","READ","WRITE","CREATE","UPDATE","DELETE","SHARE","parsePermissions","lastmod","crtime","creationdate","nodeData","source","displayname","getcontentlength","FAILED","root"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/6984-6984.js.map.license b/dist/6984-6984.js.map.license deleted file mode 120000 index 6794a83727297..0000000000000 --- a/dist/6984-6984.js.map.license +++ /dev/null @@ -1 +0,0 @@ -6984-6984.js.license \ No newline at end of file diff --git a/dist/FilesVersionsSidebarTab-Cs7hmg7E.chunk.mjs b/dist/FilesVersionsSidebarTab-D9OwJdwP.chunk.mjs similarity index 94% rename from dist/FilesVersionsSidebarTab-Cs7hmg7E.chunk.mjs rename to dist/FilesVersionsSidebarTab-D9OwJdwP.chunk.mjs index 36419c5c7d04d..58701c1968084 100644 --- a/dist/FilesVersionsSidebarTab-Cs7hmg7E.chunk.mjs +++ b/dist/FilesVersionsSidebarTab-D9OwJdwP.chunk.mjs @@ -12,7 +12,7 @@ import{d as j,a as Y}from"./index-C1xmmKTZ-B0K6WZvT.chunk.mjs";import{a as O,g a -`,U=ze();async function pi(e){const t=`/versions/${O()?.uid}/versions/${e.fileid}`;try{const i=(await U.getDirectoryContents(t,{data:mi,details:!0})).data.filter(({mime:r})=>r!=="").map(r=>hi(r,e)),n=new Set(i.map(r=>String(r.author))),v=await He.post(J("/displaynames"),{users:[...n]});for(const r of i){const l=v.data.users[r.author??""];l&&(r.authorName=l)}return i}catch(i){throw D.error("Could not fetch version",{exception:i}),i}}async function fi(e){try{D.debug("Restoring version",{url:e.url}),await U.moveFile(`/versions/${O()?.uid}/versions/${e.fileId}/${e.fileVersion}`,`/versions/${O()?.uid}/restore/target`)}catch(t){throw D.error("Could not restore version",{exception:t}),t}}function hi(e,t){const i=Date.parse(e.lastmod);let n="";return i===t.mtime?.getTime()?n=J("/core/preview?fileId={fileId}&c={fileEtag}&x=250&y=250&forceIcon=0&a=0&forceIcon=1&mimeFallback=1",{fileId:t.fileid,fileEtag:t.attributes.etag}):n=J("/apps/files_versions/preview?file={file}&version={fileVersion}&mimeFallback=1",{file:t.path,fileVersion:e.basename}),{fileId:t.fileid.toString(),label:e.props["version-label"]?String(e.props["version-label"]):"",author:e.props["version-author"]?String(e.props["version-author"]):null,authorName:null,filename:e.filename,basename:new Date(i).toLocaleString([P(),P().split("-")[0]],{timeStyle:"long",dateStyle:"medium"}),mime:e.mime,etag:`${e.props.getetag}`,size:e.size,type:e.type,mtime:i,permissions:"R",previewUrl:n,url:le("/remote.php/dav",e.filename),source:ue("dav")+ce(e.filename),fileVersion:e.basename}}async function gi(e,t){return await U.customRequest(e.filename,{method:"PROPPATCH",data:` +`,U=ze();async function pi(e){const t=`/versions/${O()?.uid}/versions/${e.fileid}`;try{const i=(await U.getDirectoryContents(t,{data:mi,details:!0})).data.filter(({mime:r})=>r!=="").map(r=>hi(r,e)),n=new Set(i.map(r=>String(r.author))),v=await He.post(J("/displaynames"),{users:[...n]});for(const r of i){const l=v.data.users[r.author??""];l&&(r.authorName=l)}return i}catch(i){throw D.error("Could not fetch version",{exception:i}),i}}async function fi(e){try{D.debug("Restoring version",{url:e.url}),await U.moveFile(`/versions/${O()?.uid}/versions/${e.fileId}/${e.fileVersion}`,`/versions/${O()?.uid}/restore/target`)}catch(t){throw D.error("Could not restore version",{exception:t}),t}}function hi(e,t){const i=Date.parse(e.lastmod);let n;return i===t.mtime?.getTime()?n=J("/core/preview?fileId={fileId}&c={fileEtag}&x=250&y=250&forceIcon=0&a=0&forceIcon=1&mimeFallback=1",{fileId:t.id,fileEtag:t.attributes.etag}):n=J("/apps/files_versions/preview?file={file}&version={fileVersion}&mimeFallback=1",{file:t.path,fileVersion:e.basename}),{fileId:t.id,label:e.props["version-label"]?String(e.props["version-label"]):"",author:e.props["version-author"]?String(e.props["version-author"]):null,authorName:null,filename:e.filename,basename:new Date(i).toLocaleString([P(),P().split("-")[0]],{timeStyle:"long",dateStyle:"medium"}),mime:e.mime,etag:`${e.props.getetag}`,size:e.size,type:e.type,mtime:i,permissions:"R",previewUrl:n,url:le("/remote.php/dav",e.filename),source:ue("dav")+ce(e.filename),fileVersion:e.basename}}async function gi(e,t){return await U.customRequest(e.filename,{method:"PROPPATCH",data:` `})}async function bi(e){await U.deleteFile(e.filename)}const wi={key:0,class:"versions-tab__container"},yi=["aria-label"],Ki=R({__name:"FilesVersionsSidebarTab",props:{active:{type:Boolean},node:{},folder:{},view:{}},setup(e){const t=e,i=se(),n=A([]),v=A(!1),r=A(!1),l=A(null);ye(_e(()=>t.node),async()=>{if(t.node)try{v.value=!0,n.value=await pi(t.node)}finally{v.value=!1}},{immediate:!0});const H=h(()=>t.node?.mtime?.getTime()??0),p=h(()=>[...n.value].sort((o,u)=>t.node?o.mtime===t.node.mtime?.getTime()?-1:u.mtime===t.node.mtime?.getTime()?1:u.mtime-o.mtime:0)),w=h(()=>[{key:"versions",rows:p.value.map(o=>({key:o.mtime.toString(),height:68,sectionKey:"versions",items:[{id:o.mtime.toString(),version:o}]})),height:68*p.value.length}]),s=h(()=>n.value.map(o=>o.mtime).reduce((o,u)=>Math.min(o,u))),k=h(()=>t.node?window.OCA.Viewer?.mimetypes?.includes(t.node?.mime):!1),z=h(()=>!i.value&&window.OCA.Viewer?.mimetypesCompare?.includes(t.node?.mime));async function L(o){if(!t.node)return;const u=t.node.clone();u.attributes.etag=o.etag,u.size=o.size,u.mtime=new Date(o.mtime);const g={preventDefault:!1,node:u,version:o};if(I("files_versions:restore:requested",g),!g.preventDefault)try{await fi(o),o.label?j(c("files_versions",`${o.label} restored`)):o.mtime===s.value?j(c("files_versions","Initial version restored")):j(c("files_versions","Version restored")),I("files:node:updated",u),I("files_versions:restore:restored",{node:u,version:o})}catch{Y(c("files_versions","Could not restore version")),I("files_versions:restore:failed",o)}}function F(o){r.value=!0,l.value=o}async function T(o){if(l.value===null)throw new Error("editedVersion should be set at that point");const u=l.value.label;l.value.label=o,r.value=!1;try{await gi(l.value,o),l.value=null}catch(g){l.value.label=u,Y(c("files_versions","Could not set version label")),D.error("Could not set version label",{exception:g})}}async function q(o){const u=n.value.indexOf(o);n.value.splice(u,1);try{await bi(o)}catch{n.value.push(o),Y(c("files_versions","Could not delete version"))}}function K(o){if(t.node!==null){if(o.mtime===t.node?.mtime?.getTime()){window.OCA.Viewer.open({path:t.node.path});return}window.OCA.Viewer.open({fileInfo:{...o,filename:o.filename,previewUrl:void 0},enableSidebar:!1})}}function W(o){const u=n.value.map(g=>({...g,previewUrl:void 0}));window.OCA.Viewer.compare({path:t.node.path},u.find(g=>g.source===o.source))}return(o,u)=>e.node?(a(),m("div",wi,[S(vi,{sections:w.value,headerHeight:0},{default:f(({visibleSections:g})=>[C("ul",{"aria-label":d(c)("files_versions","File versions"),"data-files-versions-versions-list":""},[g.length===1?(a(!0),m(Ce,{key:0},ke(g[0].rows,$=>(a(),V(ni,{key:$.items[0].version.mtime,canView:k.value,canCompare:z.value,loadPreview:e.active,version:$.items[0].version,node:e.node,isCurrent:$.items[0].version.mtime===H.value,isFirstVersion:$.items[0].version.mtime===s.value,onClick:K,onCompare:W,onRestore:L,onLabelUpdateRequest:y=>F($.items[0].version),onDelete:q},null,8,["canView","canCompare","loadPreview","version","node","isCurrent","isFirstVersion","onLabelUpdateRequest"]))),128)):b("",!0)],8,yi)]),loader:f(()=>[v.value?(a(),V(d(ne),{key:0,class:"files-list-viewer__loader"})):b("",!0)]),_:1},8,["sections"]),l.value?(a(),V(li,{key:0,open:r.value,"onUpdate:open":u[0]||(u[0]=g=>r.value=g),label:l.value.label,"onUpdate:label":T},null,8,["open","label"])):b("",!0)])):b("",!0)}});export{Ki as default}; -//# sourceMappingURL=FilesVersionsSidebarTab-Cs7hmg7E.chunk.mjs.map +//# sourceMappingURL=FilesVersionsSidebarTab-D9OwJdwP.chunk.mjs.map diff --git a/dist/FilesVersionsSidebarTab-Cs7hmg7E.chunk.mjs.license b/dist/FilesVersionsSidebarTab-D9OwJdwP.chunk.mjs.license similarity index 100% rename from dist/FilesVersionsSidebarTab-Cs7hmg7E.chunk.mjs.license rename to dist/FilesVersionsSidebarTab-D9OwJdwP.chunk.mjs.license diff --git a/dist/FilesVersionsSidebarTab-Cs7hmg7E.chunk.mjs.map b/dist/FilesVersionsSidebarTab-D9OwJdwP.chunk.mjs.map similarity index 52% rename from dist/FilesVersionsSidebarTab-Cs7hmg7E.chunk.mjs.map rename to dist/FilesVersionsSidebarTab-D9OwJdwP.chunk.mjs.map index 4ff26781eb4db..fb69cca77bf96 100644 --- a/dist/FilesVersionsSidebarTab-Cs7hmg7E.chunk.mjs.map +++ b/dist/FilesVersionsSidebarTab-D9OwJdwP.chunk.mjs.map @@ -1 +1 @@ -{"version":3,"file":"FilesVersionsSidebarTab-Cs7hmg7E.chunk.mjs","sources":["../node_modules/vue-material-design-icons/BackupRestore.vue","../node_modules/vue-material-design-icons/FileCompare.vue","../node_modules/vue-material-design-icons/ImageOffOutline.vue","../build/frontend/apps/files_versions/src/components/VersionEntry.vue","../build/frontend/apps/files_versions/src/components/VersionLabelDialog.vue","../build/frontend/apps/files_versions/src/utils/logger.ts","../build/frontend/apps/files_versions/src/components/VirtualScrolling.vue","../build/frontend/apps/files_versions/src/utils/davRequest.ts","../build/frontend/apps/files_versions/src/utils/versions.ts","../build/frontend/apps/files_versions/src/views/FilesVersionsSidebarTab.vue"],"sourcesContent":["\n\n","\n\n","\n\n","\n\n\n\n\n\n","\n\n\n\n\n\n","/**\n * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { getLoggerBuilder } from '@nextcloud/logger'\n\nexport default getLoggerBuilder()\n\t.setApp('files_version')\n\t.detectUser()\n\t.build()\n","\n\n\n\n\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\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n`\n","/*!\n * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { INode } from '@nextcloud/files'\nimport type { FileStat, ResponseDataDetailed } from 'webdav'\n\nimport { getCurrentUser } from '@nextcloud/auth'\nimport axios from '@nextcloud/axios'\nimport { getClient } from '@nextcloud/files/dav'\nimport { getCanonicalLocale } from '@nextcloud/l10n'\nimport { encodePath, join } from '@nextcloud/paths'\nimport { generateRemoteUrl, generateUrl } from '@nextcloud/router'\nimport davRequest from '../utils/davRequest.ts'\nimport logger from '../utils/logger.ts'\n\nexport interface Version {\n\tfileId: string // The id of the file associated to the version.\n\tlabel: string // 'Current version' or ''\n\tauthor: string | null // UID for the author of the version\n\tauthorName: string | null // Display name of the author\n\tfilename: string // File name relative to the version DAV endpoint\n\tbasename: string // A base name generated from the mtime\n\tmime: string // Empty for the current version, else the actual mime type of the version\n\tetag: string // Empty for the current version, else the actual mime type of the version\n\tsize: number // File size in bytes\n\ttype: string // 'file'\n\tmtime: number // Version creation date as a timestamp\n\tpermissions: string // Only readable: 'R'\n\tpreviewUrl: string // Preview URL of the version\n\turl: string // Download URL of the version\n\tsource: string // The WebDAV endpoint of the resource\n\tfileVersion: string | null // The version id, null for the current version\n}\n\nconst client = getClient()\n\n/**\n * Get file versions for a given node\n *\n * @param node - The node to fetch versions for\n */\nexport async function fetchVersions(node: INode): Promise {\n\tconst path = `/versions/${getCurrentUser()?.uid}/versions/${node.fileid}`\n\n\ttry {\n\t\tconst response = await client.getDirectoryContents(path, {\n\t\t\tdata: davRequest,\n\t\t\tdetails: true,\n\t\t}) as ResponseDataDetailed\n\n\t\tconst versions = response.data\n\t\t\t// Filter out root\n\t\t\t.filter(({ mime }) => mime !== '')\n\t\t\t.map((version) => formatVersion(version as Required, node))\n\n\t\tconst authorIds = new Set(versions.map((version) => String(version.author)))\n\t\tconst authors = await axios.post(generateUrl('/displaynames'), { users: [...authorIds] })\n\n\t\tfor (const version of versions) {\n\t\t\tconst author = authors.data.users[version.author ?? '']\n\t\t\tif (author) {\n\t\t\t\tversion.authorName = author\n\t\t\t}\n\t\t}\n\n\t\treturn versions\n\t} catch (exception) {\n\t\tlogger.error('Could not fetch version', { exception })\n\t\tthrow exception\n\t}\n}\n\n/**\n * Restore the given version\n *\n * @param version - The version to restore\n */\nexport async function restoreVersion(version: Version) {\n\ttry {\n\t\tlogger.debug('Restoring version', { url: version.url })\n\t\tawait client.moveFile(\n\t\t\t`/versions/${getCurrentUser()?.uid}/versions/${version.fileId}/${version.fileVersion}`,\n\t\t\t`/versions/${getCurrentUser()?.uid}/restore/target`,\n\t\t)\n\t} catch (exception) {\n\t\tlogger.error('Could not restore version', { exception })\n\t\tthrow exception\n\t}\n}\n\n/**\n * Format version\n *\n * @param version - The version data from WebDAV\n * @param node - The original node\n */\nfunction formatVersion(version: Required, node: INode): Version {\n\tconst mtime = Date.parse(version.lastmod)\n\tlet previewUrl = ''\n\n\tif (mtime === node.mtime?.getTime()) { // Version is the current one\n\t\tpreviewUrl = generateUrl('/core/preview?fileId={fileId}&c={fileEtag}&x=250&y=250&forceIcon=0&a=0&forceIcon=1&mimeFallback=1', {\n\t\t\tfileId: node.fileid,\n\t\t\tfileEtag: node.attributes.etag,\n\t\t})\n\t} else {\n\t\tpreviewUrl = generateUrl('/apps/files_versions/preview?file={file}&version={fileVersion}&mimeFallback=1', {\n\t\t\tfile: node.path,\n\t\t\tfileVersion: version.basename,\n\t\t})\n\t}\n\n\treturn {\n\t\tfileId: node.fileid!.toString(),\n\t\t// If version-label is defined make sure it is a string (prevent issue if the label is a number an PHP returns a number then)\n\t\tlabel: version.props['version-label'] ? String(version.props['version-label']) : '',\n\t\tauthor: version.props['version-author'] ? String(version.props['version-author']) : null,\n\t\tauthorName: null,\n\t\tfilename: version.filename,\n\t\tbasename: new Date(mtime).toLocaleString(\n\t\t\t[getCanonicalLocale(), getCanonicalLocale().split('-')[0]!],\n\t\t\t{\n\t\t\t\ttimeStyle: 'long',\n\t\t\t\tdateStyle: 'medium',\n\t\t\t},\n\t\t),\n\t\tmime: version.mime,\n\t\tetag: `${version.props.getetag}`,\n\t\tsize: version.size,\n\t\ttype: version.type,\n\t\tmtime,\n\t\tpermissions: 'R',\n\t\tpreviewUrl,\n\t\turl: join('/remote.php/dav', version.filename),\n\t\tsource: generateRemoteUrl('dav') + encodePath(version.filename),\n\t\tfileVersion: version.basename,\n\t}\n}\n\n/**\n * Set version label\n *\n * @param version - The version to set the label for\n * @param newLabel - The new label\n */\nexport async function setVersionLabel(version: Version, newLabel: string) {\n\treturn await client.customRequest(\n\t\tversion.filename,\n\t\t{\n\t\t\tmethod: 'PROPPATCH',\n\t\t\tdata: `\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t${newLabel}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t`,\n\t\t},\n\t)\n}\n\n/**\n * Delete version\n *\n * @param version - The version to delete\n */\nexport async function deleteVersion(version: Version) {\n\tawait client.deleteFile(version.filename)\n}\n","\n\n\n\n\n\n"],"names":["_sfc_main","_hoisted_3","_createElementBlock","_mergeProps","_ctx","$props","_cache","$event","_createElementVNode","_openBlock","props","__props","emit","__emit","previewLoaded","ref","previewErrored","capabilities","loadState","humanReadableSize","computed","formatFileSize","versionLabel","label","t","versionAuthor","getCurrentUser","versionHumanExplicitDate","getCanonicalLocale","downloadURL","getRootUrl","enableLabeling","enableDeletion","hasDeletePermissions","hasPermission","Permission","hasUpdatePermissions","isDownloadable","attribute","labelUpdate","restoreVersion","deleteVersion","nextTick","click","event","compareVersion","node","permission","_createBlock","_unref","NcListItem","_createVNode","ImageOffOutline","_hoisted_1","_hoisted_4","_hoisted_5","_hoisted_6","NcAvatar","_hoisted_8","_hoisted_9","NcDateTime","NcActionButton","Pencil","_createTextVNode","FileCompare","BackupRestore","NcActionLink","Download","Delete","labelInput","useTemplateRef","internalLabel","dialogButtons","buttons","setVersionLabel","svgCheck","watchEffect","NcDialog","$emit","NcTextField","_toDisplayString","logger","getLoggerBuilder","_sfc_main$1","defineComponent","containerHeight","containerTop","containerBottom","currentRowTop","currentRowBottom","visibleSections","section","visibleRows","row","distance","visibleItems","rows","items","rowIdToKeyMap","item","usedTokens","key","unusedTokens","finalMapping","id","totalHeight","sectionHeight","paddingTop","buffer","value","currentRowTopDistanceFromTop","entries","entry","cr","_normalizeStyle","_renderSlot","davRequest","client","getClient","fetchVersions","path","versions","mime","version","formatVersion","authorIds","authors","axios","generateUrl","author","exception","mtime","previewUrl","join","generateRemoteUrl","encodePath","newLabel","isMobile","useIsMobile","loading","showVersionLabelForm","editedVersion","watch","toRef","currentVersionMtime","orderedVersions","a","b","sections","initialVersionMtime","canView","canCompare","handleRestore","restoredNode","restoreStartedEventState","showSuccess","showError","handleLabelUpdateRequest","handleLabelUpdate","oldLabel","handleDelete","index","openVersion","_versions","v","VirtualScrolling","_withCtx","_Fragment","_renderList","VersionEntry","NcLoadingIcon","VersionLabelDialog"],"mappings":"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","x_google_ignoreList":[0,1,2]} \ No newline at end of file +{"version":3,"file":"FilesVersionsSidebarTab-D9OwJdwP.chunk.mjs","sources":["../node_modules/vue-material-design-icons/BackupRestore.vue","../node_modules/vue-material-design-icons/FileCompare.vue","../node_modules/vue-material-design-icons/ImageOffOutline.vue","../build/frontend/apps/files_versions/src/components/VersionEntry.vue","../build/frontend/apps/files_versions/src/components/VersionLabelDialog.vue","../build/frontend/apps/files_versions/src/utils/logger.ts","../build/frontend/apps/files_versions/src/components/VirtualScrolling.vue","../build/frontend/apps/files_versions/src/utils/davRequest.ts","../build/frontend/apps/files_versions/src/utils/versions.ts","../build/frontend/apps/files_versions/src/views/FilesVersionsSidebarTab.vue"],"sourcesContent":["\n\n","\n\n","\n\n","\n\n\n\n\n\n","\n\n\n\n\n\n","/**\n * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { getLoggerBuilder } from '@nextcloud/logger'\n\nexport default getLoggerBuilder()\n\t.setApp('files_version')\n\t.detectUser()\n\t.build()\n","\n\n\n\n\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\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n`\n","/*!\n * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { INode } from '@nextcloud/files'\nimport type { FileStat, ResponseDataDetailed } from 'webdav'\n\nimport { getCurrentUser } from '@nextcloud/auth'\nimport axios from '@nextcloud/axios'\nimport { getClient } from '@nextcloud/files/dav'\nimport { getCanonicalLocale } from '@nextcloud/l10n'\nimport { encodePath, join } from '@nextcloud/paths'\nimport { generateRemoteUrl, generateUrl } from '@nextcloud/router'\nimport davRequest from '../utils/davRequest.ts'\nimport logger from '../utils/logger.ts'\n\nexport interface Version {\n\tfileId: string // The id of the file associated to the version.\n\tlabel: string // 'Current version' or ''\n\tauthor: string | null // UID for the author of the version\n\tauthorName: string | null // Display name of the author\n\tfilename: string // File name relative to the version DAV endpoint\n\tbasename: string // A base name generated from the mtime\n\tmime: string // Empty for the current version, else the actual mime type of the version\n\tetag: string // Empty for the current version, else the actual mime type of the version\n\tsize: number // File size in bytes\n\ttype: string // 'file'\n\tmtime: number // Version creation date as a timestamp\n\tpermissions: string // Only readable: 'R'\n\tpreviewUrl: string // Preview URL of the version\n\turl: string // Download URL of the version\n\tsource: string // The WebDAV endpoint of the resource\n\tfileVersion: string | null // The version id, null for the current version\n}\n\nconst client = getClient()\n\n/**\n * Get file versions for a given node\n *\n * @param node - The node to fetch versions for\n */\nexport async function fetchVersions(node: INode): Promise {\n\tconst path = `/versions/${getCurrentUser()?.uid}/versions/${node.fileid}`\n\n\ttry {\n\t\tconst response = await client.getDirectoryContents(path, {\n\t\t\tdata: davRequest,\n\t\t\tdetails: true,\n\t\t}) as ResponseDataDetailed\n\n\t\tconst versions = response.data\n\t\t\t// Filter out root\n\t\t\t.filter(({ mime }) => mime !== '')\n\t\t\t.map((version) => formatVersion(version as Required, node))\n\n\t\tconst authorIds = new Set(versions.map((version) => String(version.author)))\n\t\tconst authors = await axios.post(generateUrl('/displaynames'), { users: [...authorIds] })\n\n\t\tfor (const version of versions) {\n\t\t\tconst author = authors.data.users[version.author ?? '']\n\t\t\tif (author) {\n\t\t\t\tversion.authorName = author\n\t\t\t}\n\t\t}\n\n\t\treturn versions\n\t} catch (exception) {\n\t\tlogger.error('Could not fetch version', { exception })\n\t\tthrow exception\n\t}\n}\n\n/**\n * Restore the given version\n *\n * @param version - The version to restore\n */\nexport async function restoreVersion(version: Version) {\n\ttry {\n\t\tlogger.debug('Restoring version', { url: version.url })\n\t\tawait client.moveFile(\n\t\t\t`/versions/${getCurrentUser()?.uid}/versions/${version.fileId}/${version.fileVersion}`,\n\t\t\t`/versions/${getCurrentUser()?.uid}/restore/target`,\n\t\t)\n\t} catch (exception) {\n\t\tlogger.error('Could not restore version', { exception })\n\t\tthrow exception\n\t}\n}\n\n/**\n * Format version\n *\n * @param version - The version data from WebDAV\n * @param node - The original node\n */\nfunction formatVersion(version: Required, node: INode): Version {\n\tconst mtime = Date.parse(version.lastmod)\n\n\tlet previewUrl: string\n\tif (mtime === node.mtime?.getTime()) { // Version is the current one\n\t\tpreviewUrl = generateUrl('/core/preview?fileId={fileId}&c={fileEtag}&x=250&y=250&forceIcon=0&a=0&forceIcon=1&mimeFallback=1', {\n\t\t\tfileId: node.id,\n\t\t\tfileEtag: node.attributes.etag,\n\t\t})\n\t} else {\n\t\tpreviewUrl = generateUrl('/apps/files_versions/preview?file={file}&version={fileVersion}&mimeFallback=1', {\n\t\t\tfile: node.path,\n\t\t\tfileVersion: version.basename,\n\t\t})\n\t}\n\n\treturn {\n\t\tfileId: node.id!,\n\t\t// If version-label is defined make sure it is a string (prevent issue if the label is a number an PHP returns a number then)\n\t\tlabel: version.props['version-label'] ? String(version.props['version-label']) : '',\n\t\tauthor: version.props['version-author'] ? String(version.props['version-author']) : null,\n\t\tauthorName: null,\n\t\tfilename: version.filename,\n\t\tbasename: new Date(mtime).toLocaleString(\n\t\t\t[getCanonicalLocale(), getCanonicalLocale().split('-')[0]!],\n\t\t\t{\n\t\t\t\ttimeStyle: 'long',\n\t\t\t\tdateStyle: 'medium',\n\t\t\t},\n\t\t),\n\t\tmime: version.mime,\n\t\tetag: `${version.props.getetag}`,\n\t\tsize: version.size,\n\t\ttype: version.type,\n\t\tmtime,\n\t\tpermissions: 'R',\n\t\tpreviewUrl,\n\t\turl: join('/remote.php/dav', version.filename),\n\t\tsource: generateRemoteUrl('dav') + encodePath(version.filename),\n\t\tfileVersion: version.basename,\n\t}\n}\n\n/**\n * Set version label\n *\n * @param version - The version to set the label for\n * @param newLabel - The new label\n */\nexport async function setVersionLabel(version: Version, newLabel: string) {\n\treturn await client.customRequest(\n\t\tversion.filename,\n\t\t{\n\t\t\tmethod: 'PROPPATCH',\n\t\t\tdata: `\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t${newLabel}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t`,\n\t\t},\n\t)\n}\n\n/**\n * Delete version\n *\n * @param version - The version to delete\n */\nexport async function deleteVersion(version: Version) {\n\tawait client.deleteFile(version.filename)\n}\n","\n\n\n\n\n\n"],"names":["_sfc_main","_hoisted_3","_createElementBlock","_mergeProps","_ctx","$props","_cache","$event","_createElementVNode","_openBlock","props","__props","emit","__emit","previewLoaded","ref","previewErrored","capabilities","loadState","humanReadableSize","computed","formatFileSize","versionLabel","label","t","versionAuthor","getCurrentUser","versionHumanExplicitDate","getCanonicalLocale","downloadURL","getRootUrl","enableLabeling","enableDeletion","hasDeletePermissions","hasPermission","Permission","hasUpdatePermissions","isDownloadable","attribute","labelUpdate","restoreVersion","deleteVersion","nextTick","click","event","compareVersion","node","permission","_createBlock","_unref","NcListItem","_createVNode","ImageOffOutline","_hoisted_1","_hoisted_4","_hoisted_5","_hoisted_6","NcAvatar","_hoisted_8","_hoisted_9","NcDateTime","NcActionButton","Pencil","_createTextVNode","FileCompare","BackupRestore","NcActionLink","Download","Delete","labelInput","useTemplateRef","internalLabel","dialogButtons","buttons","setVersionLabel","svgCheck","watchEffect","NcDialog","$emit","NcTextField","_toDisplayString","logger","getLoggerBuilder","_sfc_main$1","defineComponent","containerHeight","containerTop","containerBottom","currentRowTop","currentRowBottom","visibleSections","section","visibleRows","row","distance","visibleItems","rows","items","rowIdToKeyMap","item","usedTokens","key","unusedTokens","finalMapping","id","totalHeight","sectionHeight","paddingTop","buffer","value","currentRowTopDistanceFromTop","entries","entry","cr","_normalizeStyle","_renderSlot","davRequest","client","getClient","fetchVersions","path","versions","mime","version","formatVersion","authorIds","authors","axios","generateUrl","author","exception","mtime","previewUrl","join","generateRemoteUrl","encodePath","newLabel","isMobile","useIsMobile","loading","showVersionLabelForm","editedVersion","watch","toRef","currentVersionMtime","orderedVersions","a","b","sections","initialVersionMtime","canView","canCompare","handleRestore","restoredNode","restoreStartedEventState","showSuccess","showError","handleLabelUpdateRequest","handleLabelUpdate","oldLabel","handleDelete","index","openVersion","_versions","v","VirtualScrolling","_withCtx","_Fragment","_renderList","VersionEntry","NcLoadingIcon","VersionLabelDialog"],"mappings":"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","x_google_ignoreList":[0,1,2]} \ No newline at end of file diff --git a/dist/FilesVersionsSidebarTab-Cs7hmg7E.chunk.mjs.map.license b/dist/FilesVersionsSidebarTab-D9OwJdwP.chunk.mjs.map.license similarity index 100% rename from dist/FilesVersionsSidebarTab-Cs7hmg7E.chunk.mjs.map.license rename to dist/FilesVersionsSidebarTab-D9OwJdwP.chunk.mjs.map.license diff --git a/dist/SystemTagPicker-CUEFfNfT.chunk.mjs b/dist/SystemTagPicker-3S6TsOoD.chunk.mjs similarity index 99% rename from dist/SystemTagPicker-CUEFfNfT.chunk.mjs rename to dist/SystemTagPicker-3S6TsOoD.chunk.mjs index ed6160339eff3..a46ee656dd96b 100644 --- a/dist/SystemTagPicker-CUEFfNfT.chunk.mjs +++ b/dist/SystemTagPicker-3S6TsOoD.chunk.mjs @@ -1,2 +1,2 @@ -import{e as E,d as q,a as J}from"./index-Bndk0DrU.chunk.mjs";import{a as _}from"./index-C1xmmKTZ-B0K6WZvT.chunk.mjs";import{a as A,l as K}from"./index-BgmsSgl5.chunk.mjs";import{t as y,g as S,e as Q,p as W,b as k}from"./translation-DoG5ZELJ-XUrtIRvk.chunk.mjs";import{N as X}from"./logger-D3RVzcfQ-DMQGvog-.chunk.mjs";import{N as Y}from"./NcCheckboxRadioSwitch-D0gFwEVl-B5lNpL29.chunk.mjs";import{N as tt}from"./NcChip-CrVOU2RM-DoSiG0f8.chunk.mjs";import{N as et}from"./NcColorPicker-D07Se8Xb-Do3g-PN4.chunk.mjs";import{N as st}from"./index-dyVhIAgS.chunk.mjs";import{P as at,N as it}from"./Plus-BpFpuICF.chunk.mjs";import{N as ot}from"./mdi-Ci1E3Cqu.chunk.mjs";import{N as lt}from"./NcNoteCard-CWiO3Dse-6Xt25E8q.chunk.mjs";import{_ as nt}from"./TrashCanOutline-ClRnWKsJ.chunk.mjs";import{j as d,o as a,k as g,l as C,t as p,z as w,b as rt,f as c,c as h,w as m,E as ct,F as R,e as u,C as dt,M as mt,g as N,G as gt,n as ht}from"./runtime-dom.esm-bundler-B7qd-bQ6.chunk.mjs";import{P as pt}from"./PencilOutline-Cl1SkJ0C.chunk.mjs";import{l as L,g as O,s as z,e as I,h as x,c as ut,i as ft,f as yt,u as Ct}from"./api-39Z_dRpm.chunk.mjs";import{e as bt,i as kt,a as Nt}from"./systemtags-init.mjs";import"./createElementId-DhjFt1I9-DNS0IeQV.chunk.mjs";import"./colors-BfjxNgsx-w424rifI.chunk.mjs";import"./NcInputField-CPL-a_MM-CXr3sWkc.chunk.mjs";import"./index-CSlgVGOl.chunk.mjs";import"./index-sH3U_332.chunk.mjs";import"./index-Bx9UJKtH.chunk.mjs";import"./NcPasswordField-BOLzDHBJ-Cjm08LBQ.chunk.mjs";import"./dav-pWWBXMOJ.chunk.mjs";import"./index-WNohR5U2.chunk.mjs";import"./folder-29HuacU_-DcJI3kE4.chunk.mjs";import"./index-Dc3d5j6o.chunk.mjs";const At={name:"CheckCircleIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},vt=["aria-hidden","aria-label"],wt=["fill","width","height"],Tt={d:"M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M10 17L5 12L6.41 10.59L10 14.17L17.59 6.58L19 8L10 17Z"},_t={key:0};function St(t,s,e,o,l,n){return a(),d("span",w(t.$attrs,{"aria-hidden":e.title?null:"true","aria-label":e.title,class:"material-design-icon check-circle-icon",role:"img",onClick:s[0]||(s[0]=i=>t.$emit("click",i))}),[(a(),d("svg",{fill:e.fillColor,class:"material-design-icon__svg",width:e.size,height:e.size,viewBox:"0 0 24 24"},[g("path",Tt,[e.title?(a(),d("title",_t,p(e.title),1)):C("",!0)])],8,wt))],16,vt)}const Lt=A(At,[["render",St]]),It={name:"CircleIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},$t=["aria-hidden","aria-label"],Et=["fill","width","height"],Rt={d:"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z"},Ot={key:0};function zt(t,s,e,o,l,n){return a(),d("span",w(t.$attrs,{"aria-hidden":e.title?null:"true","aria-label":e.title,class:"material-design-icon circle-icon",role:"img",onClick:s[0]||(s[0]=i=>t.$emit("click",i))}),[(a(),d("svg",{fill:e.fillColor,class:"material-design-icon__svg",width:e.size,height:e.size,viewBox:"0 0 24 24"},[g("path",Rt,[e.title?(a(),d("title",Ot,p(e.title),1)):C("",!0)])],8,Et))],16,$t)}const xt=A(It,[["render",zt]]),Pt={name:"CircleOutlineIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Mt=["aria-hidden","aria-label"],Vt=["fill","width","height"],Bt={d:"M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z"},Ut={key:0};function Gt(t,s,e,o,l,n){return a(),d("span",w(t.$attrs,{"aria-hidden":e.title?null:"true","aria-label":e.title,class:"material-design-icon circle-outline-icon",role:"img",onClick:s[0]||(s[0]=i=>t.$emit("click",i))}),[(a(),d("svg",{fill:e.fillColor,class:"material-design-icon__svg",width:e.size,height:e.size,viewBox:"0 0 24 24"},[g("path",Bt,[e.title?(a(),d("title",Ut,p(e.title),1)):C("",!0)])],8,Vt))],16,Mt)}const Dt=A(Pt,[["render",Gt]]),jt={name:"TagOutlineIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Ft=["aria-hidden","aria-label"],Ht=["fill","width","height"],Zt={d:"M21.41 11.58L12.41 2.58A2 2 0 0 0 11 2H4A2 2 0 0 0 2 4V11A2 2 0 0 0 2.59 12.42L11.59 21.42A2 2 0 0 0 13 22A2 2 0 0 0 14.41 21.41L21.41 14.41A2 2 0 0 0 22 13A2 2 0 0 0 21.41 11.58M13 20L4 11V4H11L20 13M6.5 5A1.5 1.5 0 1 1 5 6.5A1.5 1.5 0 0 1 6.5 5Z"},qt={key:0};function Jt(t,s,e,o,l,n){return a(),d("span",w(t.$attrs,{"aria-hidden":e.title?null:"true","aria-label":e.title,class:"material-design-icon tag-outline-icon",role:"img",onClick:s[0]||(s[0]=i=>t.$emit("click",i))}),[(a(),d("svg",{fill:e.fillColor,class:"material-design-icon__svg",width:e.size,height:e.size,viewBox:"0 0 24 24"},[g("path",Zt,[e.title?(a(),d("title",qt,p(e.title),1)):C("",!0)])],8,Ht))],16,Ft)}const Kt=A(jt,[["render",Jt]]),Qt=q(Ct,500),Wt=getComputedStyle(document.body).getPropertyValue("--color-main-background").replace("#","")||(Nt()?"000000":"ffffff");var P=(t=>(t.BASE="base",t.LOADING="loading",t.CREATING_TAG="creating-tag",t.DONE="done",t))(P||{});const Xt=K("systemtags","restrictSystemTagsCreationToAdmin",!1),Yt=rt({name:"SystemTagPicker",components:{CheckIcon:Lt,CircleIcon:xt,CircleOutlineIcon:Dt,NcButton:X,NcCheckboxRadioSwitch:Y,NcChip:tt,NcColorPicker:et,NcDialog:st,NcEmptyContent:it,NcLoadingIcon:ot,NcNoteCard:lt,NcTextField:nt,PencilIcon:pt,PlusIcon:at,TagIcon:Kt},props:{nodes:{type:Array,required:!0}},emits:{close(t){return t===null||typeof t=="boolean"}},setup(){return{emit:E,Status:P,t:y,canEditOrCreateTag:!Xt||J()?.isAdmin}},data(){return{status:"base",opened:!0,openedPicker:!1,input:"",tags:[],tagList:{},toAdd:[],toRemove:[]}},computed:{sortedTags(){return[...this.tags].sort((t,s)=>t.displayName.localeCompare(s.displayName,S(),{ignorePunctuation:!0}))},filteredTags(){return this.input.trim()===""?this.sortedTags:this.sortedTags.filter(t=>t.displayName.normalize().toLowerCase().includes(this.input.normalize().toLowerCase()))},hasChanges(){return this.toAdd.length>0||this.toRemove.length>0},canCreateTag(){return this.input.trim()!==""&&!this.tags.some(t=>t.displayName.trim().toLocaleLowerCase()===this.input.trim().toLocaleLowerCase())},statusMessage(){if(this.toAdd.length===0&&this.toRemove.length===0)return"";if(this.toAdd.length===1&&this.toRemove.length===1)return k("systemtags","{tag1} will be set and {tag2} will be removed from 1 file.","{tag1} will be set and {tag2} will be removed from {count} files.",this.nodes.length,{tag1:this.formatTagChip(this.toAdd[0]),tag2:this.formatTagChip(this.toRemove[0]),count:this.nodes.length},{escape:!1});const t=this.toAdd.map(this.formatTagChip),s=t.pop(),e=this.toRemove.map(this.formatTagChip),o=e.pop(),l=k("systemtags","{tag} will be set to 1 file.","{tag} will be set to {count} files.",this.nodes.length,{tag:s,count:this.nodes.length},{escape:!1}),n=k("systemtags","{tag} will be removed from 1 file.","{tag} will be removed from {count} files.",this.nodes.length,{tag:o,count:this.nodes.length},{escape:!1}),i=k("systemtags","{tags} and {lastTag} will be set to 1 file.","{tags} and {lastTag} will be set to {count} files.",this.nodes.length,{tags:t.join(", "),lastTag:s,count:this.nodes.length},{escape:!1}),f=k("systemtags","{tags} and {lastTag} will be removed from 1 file.","{tags} and {lastTag} will be removed from {count} files.",this.nodes.length,{tags:e.join(", "),lastTag:o,count:this.nodes.length},{escape:!1});return this.toAdd.length===1&&this.toRemove.length===0?l:this.toAdd.length===0&&this.toRemove.length===1?n:this.toAdd.length>1&&this.toRemove.length===0?i:this.toAdd.length===0&&this.toRemove.length>1?f:this.toAdd.length>1&&this.toRemove.length===1?`${i} ${n}`:this.toAdd.length===1&&this.toRemove.length>1?`${l} ${f}`:`${i} ${f}`}},beforeMount(){yt().then(t=>{this.tags=t}),this.tagList=this.nodes.reduce((t,s)=>((I(s)||[]).forEach(e=>{t[e]=(t[e]||0)+1}),t),{}),this.canEditOrCreateTag||L.debug("System tag creation is restricted to admins and the current user is not an admin")},methods:{formatTagChip(t){const s=this.$refs.chip.$el.cloneNode(!0);if(t.color){const e=this.tagListStyle(t);Object.entries(e).forEach(([o,l])=>{s.style.setProperty(o,l)})}return s.outerHTML.replace("%s",Q(W.sanitize(t.displayName)))},formatTagName(t){return t.userVisible?t.userAssignable?t.displayName:y("systemtags","{displayName} (restricted)",{displayName:t.displayName}):y("systemtags","{displayName} (hidden)",{displayName:t.displayName})},onColorChange(t,s){t.color=s.replace("#",""),Qt(t)},isChecked(t){return t.displayName in this.tagList&&this.tagList[t.displayName]===this.nodes.length},isIndeterminate(t){return t.displayName in this.tagList&&this.tagList[t.displayName]!==0&&this.tagList[t.displayName]!==this.nodes.length},onCheckUpdate(t,s){s?(this.toAdd.push(t),this.toRemove=this.toRemove.filter(e=>e.id!==t.id),this.tagList[t.displayName]=this.nodes.length):(this.toRemove.push(t),this.toAdd=this.toAdd.filter(e=>e.id!==t.id),this.tagList[t.displayName]=0)},async onNewTag(){if(!this.canEditOrCreateTag){_(y("systemtags","Only admins can create new tags"));return}this.status="creating-tag";try{const t={displayName:this.input.trim(),userAssignable:!0,userVisible:!0,canAssign:!0},s=await ut(t),e=await ft(s);this.tags.push(e),this.input="",this.onCheckUpdate(e,!0),await this.$nextTick(),Array.isArray(this.$refs.tags)&&this.$refs.tags.find(o=>o.dataset.cySystemtagsPickerTag===s.toString())?.scrollIntoView({behavior:"instant",block:"center",inline:"center"})}catch(t){_(t?.message||y("systemtags","Failed to create tag"))}finally{this.status="base"}},async onSubmit(){this.status="loading",L.debug("Applying tags",{toAdd:this.toAdd,toRemove:this.toRemove});try{for(const s of this.toAdd){const{etag:e,objects:o}=await O(s,"files"),l=[...new Set([...o.map(n=>n.id).filter(Boolean),...this.nodes.map(n=>n.fileid).filter(Boolean)])];await z(s,"files",l.map(n=>({id:n,type:"files"})),e)}for(const s of this.toRemove){const{etag:e,objects:o}=await O(s,"files"),l=new Set(this.nodes.map(i=>i.fileid)),n=o.map(i=>i.id).filter((i,f,T)=>!l.has(i)&&T.indexOf(i)===f);await z(s,"files",n.map(i=>({id:i,type:"files"})),e)}}catch(s){L.error("Failed to apply tags",{error:s}),_(y("systemtags","Failed to apply tags changes")),this.status="base";return}const t=[];this.toAdd.forEach(s=>{this.nodes.forEach(e=>{const o=[...I(e)||[],s.displayName].sort((l,n)=>l.localeCompare(n,S(),{ignorePunctuation:!0}));x(e,o),t.push(e)})}),this.toRemove.forEach(s=>{this.nodes.forEach(e=>{const o=[...I(e)||[]].filter(l=>l!==s.displayName).sort((l,n)=>l.localeCompare(n,S(),{ignorePunctuation:!0}));x(e,o),t.push(e)})}),t.forEach(s=>E("systemtags:node:updated",s)),this.status="done",setTimeout(()=>{this.opened=!1,this.$emit("close",!0)},2e3)},onCancel(){this.opened=!1,this.$emit("close",null)},tagListStyle(t){if(!t.color)return{"--color-circle-icon":"var(--color-text-maxcontrast)"};const s=bt(`#${t.color}`,`#${Wt}`),e=kt(s)?"#000000":"#ffffff";return{"--color-circle-icon":"var(--color-primary-element)","--color-primary":s,"--color-primary-text":e,"--color-primary-element":s,"--color-primary-element-text":e}}}}),te={class:"systemtags-picker__input"},ee={class:"systemtags-picker__tags","data-cy-systemtags-picker-tags":""},se=["data-cy-systemtags-picker-tag"],ae={class:"systemtags-picker__tag-create-subline"},ie={class:"systemtags-picker__note"},oe=["innerHTML"];function le(t,s,e,o,l,n){const i=c("NcLoadingIcon"),f=c("CheckIcon"),T=c("NcEmptyContent"),M=c("TagIcon"),V=c("NcTextField"),B=c("NcCheckboxRadioSwitch"),U=c("CircleIcon"),G=c("CircleOutlineIcon"),D=c("PencilIcon"),v=c("NcButton"),j=c("NcColorPicker"),F=c("PlusIcon"),$=c("NcNoteCard"),H=c("NcChip"),Z=c("NcDialog");return a(),h(Z,{"data-cy-systemtags-picker":"",noClose:t.status===t.Status.LOADING,name:t.t("systemtags","Manage tags"),open:t.opened,class:ht(["systemtags-picker--"+t.status,"systemtags-picker"]),closeOnClickOutside:"",outTransition:"","onUpdate:open":t.onCancel},{actions:m(()=>[u(v,{disabled:t.status!==t.Status.BASE,variant:"tertiary","data-cy-systemtags-picker-button-cancel":"",onClick:t.onCancel},{default:m(()=>[N(p(t.t("systemtags","Cancel")),1)]),_:1},8,["disabled","onClick"]),u(v,{disabled:!t.hasChanges||t.status!==t.Status.BASE,"data-cy-systemtags-picker-button-submit":"",onClick:t.onSubmit},{default:m(()=>[N(p(t.t("systemtags","Apply")),1)]),_:1},8,["disabled","onClick"])]),default:m(()=>[t.status===t.Status.LOADING||t.status===t.Status.DONE?(a(),h(T,{key:0,name:t.t("systemtags","Applying tags changes…")},{icon:m(()=>[t.status===t.Status.LOADING?(a(),h(i,{key:0})):(a(),h(f,{key:1,fillColor:"var(--color-border-success)"}))]),_:1},8,["name"])):(a(),d(R,{key:1},[g("div",te,[u(V,{modelValue:t.input,"onUpdate:modelValue":s[0]||(s[0]=r=>t.input=r),label:t.canEditOrCreateTag?t.t("systemtags","Search or create tag"):t.t("systemtags","Search tag"),"data-cy-systemtags-picker-input":""},{default:m(()=>[u(M,{size:20})]),_:1},8,["modelValue","label"])]),g("ul",ee,[(a(!0),d(R,null,dt(t.filteredTags,r=>(a(),d("li",{key:r.id,ref_for:!0,ref:"tags","data-cy-systemtags-picker-tag":r.id,style:mt(t.tagListStyle(r)),class:"systemtags-picker__tag"},[u(B,{modelValue:t.isChecked(r),disabled:!r.canAssign,indeterminate:t.isIndeterminate(r),label:r.displayName,class:"systemtags-picker__tag-checkbox","onUpdate:modelValue":b=>t.onCheckUpdate(r,b)},{default:m(()=>[N(p(t.formatTagName(r)),1)]),_:2},1032,["modelValue","disabled","indeterminate","label","onUpdate:modelValue"]),t.canEditOrCreateTag?(a(),h(j,{key:0,"data-cy-systemtags-picker-tag-color":r.id,modelValue:`#${r.color||"000000"}`,shown:t.openedPicker===r.id,class:"systemtags-picker__tag-color","onUpdate:shown":b=>t.openedPicker=b?r.id:!1,onSubmit:b=>t.onColorChange(r,b)},{default:m(()=>[u(v,{"aria-label":t.t("systemtags","Change tag color"),variant:"tertiary"},{icon:m(()=>[r.color?(a(),h(U,{key:0,size:24,fillColor:"var(--color-circle-icon)",class:"button-color-circle"})):(a(),h(G,{key:1,size:24,fillColor:"var(--color-circle-icon)",class:"button-color-empty"})),u(D,{class:"button-color-pencil"})]),_:2},1032,["aria-label"])]),_:2},1032,["data-cy-systemtags-picker-tag-color","modelValue","shown","onUpdate:shown","onSubmit"])):C("",!0)],12,se))),128)),g("li",null,[t.canEditOrCreateTag&&t.canCreateTag?(a(),h(v,{key:0,disabled:t.status===t.Status.CREATING_TAG,alignment:"start",class:"systemtags-picker__tag-create",type:"submit",variant:"tertiary","data-cy-systemtags-picker-button-create":"",onClick:t.onNewTag},{icon:m(()=>[u(F)]),default:m(()=>[N(p(t.input.trim()),1),s[1]||(s[1]=g("br",null,null,-1)),g("span",ae,p(t.t("systemtags","Create new tag")),1)]),_:1},8,["disabled","onClick"])):C("",!0)])]),g("div",ie,[t.hasChanges?(a(),h($,{key:1,type:"info"},{default:m(()=>[g("span",{innerHTML:t.statusMessage},null,8,oe)]),_:1})):(a(),h($,{key:0,type:"info"},{default:m(()=>[N(p(t.t("systemtags","Choose tags for the selected files")),1)]),_:1}))])],64)),ct(g("div",null,[u(H,{ref:"chip",text:"%s",noClose:"",variant:"primary"},null,512)],512),[[gt,!1]])]),_:1},8,["noClose","name","open","class","onUpdate:open"])}const xe=A(Yt,[["render",le],["__scopeId","data-v-fbaf4147"]]);export{xe as default}; -//# sourceMappingURL=SystemTagPicker-CUEFfNfT.chunk.mjs.map +import{e as E,d as q,a as J}from"./index-Bndk0DrU.chunk.mjs";import{a as _}from"./index-C1xmmKTZ-B0K6WZvT.chunk.mjs";import{a as A,l as K}from"./index-BgmsSgl5.chunk.mjs";import{t as y,g as S,e as Q,p as W,b as k}from"./translation-DoG5ZELJ-XUrtIRvk.chunk.mjs";import{N as X}from"./logger-D3RVzcfQ-DMQGvog-.chunk.mjs";import{N as Y}from"./NcCheckboxRadioSwitch-D0gFwEVl-B5lNpL29.chunk.mjs";import{N as tt}from"./NcChip-CrVOU2RM-DoSiG0f8.chunk.mjs";import{N as et}from"./NcColorPicker-D07Se8Xb-Do3g-PN4.chunk.mjs";import{N as st}from"./index-dyVhIAgS.chunk.mjs";import{P as at,N as it}from"./Plus-BpFpuICF.chunk.mjs";import{N as ot}from"./mdi-Ci1E3Cqu.chunk.mjs";import{N as lt}from"./NcNoteCard-CWiO3Dse-6Xt25E8q.chunk.mjs";import{_ as nt}from"./TrashCanOutline-ClRnWKsJ.chunk.mjs";import{j as d,o as a,k as g,l as C,t as p,z as w,b as rt,f as c,c as h,w as m,E as ct,F as R,e as u,C as dt,M as mt,g as N,G as gt,n as ht}from"./runtime-dom.esm-bundler-B7qd-bQ6.chunk.mjs";import{P as pt}from"./PencilOutline-Cl1SkJ0C.chunk.mjs";import{l as L,g as O,s as z,e as I,h as x,c as ut,i as ft,f as yt,u as Ct}from"./api-CDZNaaKR.chunk.mjs";import{e as bt,i as kt,a as Nt}from"./systemtags-init.mjs";import"./createElementId-DhjFt1I9-DNS0IeQV.chunk.mjs";import"./colors-BfjxNgsx-w424rifI.chunk.mjs";import"./NcInputField-CPL-a_MM-CXr3sWkc.chunk.mjs";import"./index-CSlgVGOl.chunk.mjs";import"./index-sH3U_332.chunk.mjs";import"./index-Bx9UJKtH.chunk.mjs";import"./NcPasswordField-BOLzDHBJ-Cjm08LBQ.chunk.mjs";import"./dav-pWWBXMOJ.chunk.mjs";import"./index-WNohR5U2.chunk.mjs";import"./folder-29HuacU_-DcJI3kE4.chunk.mjs";import"./index-Dc3d5j6o.chunk.mjs";const At={name:"CheckCircleIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},vt=["aria-hidden","aria-label"],wt=["fill","width","height"],Tt={d:"M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M10 17L5 12L6.41 10.59L10 14.17L17.59 6.58L19 8L10 17Z"},_t={key:0};function St(t,s,e,o,l,n){return a(),d("span",w(t.$attrs,{"aria-hidden":e.title?null:"true","aria-label":e.title,class:"material-design-icon check-circle-icon",role:"img",onClick:s[0]||(s[0]=i=>t.$emit("click",i))}),[(a(),d("svg",{fill:e.fillColor,class:"material-design-icon__svg",width:e.size,height:e.size,viewBox:"0 0 24 24"},[g("path",Tt,[e.title?(a(),d("title",_t,p(e.title),1)):C("",!0)])],8,wt))],16,vt)}const Lt=A(At,[["render",St]]),It={name:"CircleIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},$t=["aria-hidden","aria-label"],Et=["fill","width","height"],Rt={d:"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z"},Ot={key:0};function zt(t,s,e,o,l,n){return a(),d("span",w(t.$attrs,{"aria-hidden":e.title?null:"true","aria-label":e.title,class:"material-design-icon circle-icon",role:"img",onClick:s[0]||(s[0]=i=>t.$emit("click",i))}),[(a(),d("svg",{fill:e.fillColor,class:"material-design-icon__svg",width:e.size,height:e.size,viewBox:"0 0 24 24"},[g("path",Rt,[e.title?(a(),d("title",Ot,p(e.title),1)):C("",!0)])],8,Et))],16,$t)}const xt=A(It,[["render",zt]]),Pt={name:"CircleOutlineIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Mt=["aria-hidden","aria-label"],Vt=["fill","width","height"],Bt={d:"M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z"},Ut={key:0};function Gt(t,s,e,o,l,n){return a(),d("span",w(t.$attrs,{"aria-hidden":e.title?null:"true","aria-label":e.title,class:"material-design-icon circle-outline-icon",role:"img",onClick:s[0]||(s[0]=i=>t.$emit("click",i))}),[(a(),d("svg",{fill:e.fillColor,class:"material-design-icon__svg",width:e.size,height:e.size,viewBox:"0 0 24 24"},[g("path",Bt,[e.title?(a(),d("title",Ut,p(e.title),1)):C("",!0)])],8,Vt))],16,Mt)}const Dt=A(Pt,[["render",Gt]]),jt={name:"TagOutlineIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Ft=["aria-hidden","aria-label"],Ht=["fill","width","height"],Zt={d:"M21.41 11.58L12.41 2.58A2 2 0 0 0 11 2H4A2 2 0 0 0 2 4V11A2 2 0 0 0 2.59 12.42L11.59 21.42A2 2 0 0 0 13 22A2 2 0 0 0 14.41 21.41L21.41 14.41A2 2 0 0 0 22 13A2 2 0 0 0 21.41 11.58M13 20L4 11V4H11L20 13M6.5 5A1.5 1.5 0 1 1 5 6.5A1.5 1.5 0 0 1 6.5 5Z"},qt={key:0};function Jt(t,s,e,o,l,n){return a(),d("span",w(t.$attrs,{"aria-hidden":e.title?null:"true","aria-label":e.title,class:"material-design-icon tag-outline-icon",role:"img",onClick:s[0]||(s[0]=i=>t.$emit("click",i))}),[(a(),d("svg",{fill:e.fillColor,class:"material-design-icon__svg",width:e.size,height:e.size,viewBox:"0 0 24 24"},[g("path",Zt,[e.title?(a(),d("title",qt,p(e.title),1)):C("",!0)])],8,Ht))],16,Ft)}const Kt=A(jt,[["render",Jt]]),Qt=q(Ct,500),Wt=getComputedStyle(document.body).getPropertyValue("--color-main-background").replace("#","")||(Nt()?"000000":"ffffff");var P=(t=>(t.BASE="base",t.LOADING="loading",t.CREATING_TAG="creating-tag",t.DONE="done",t))(P||{});const Xt=K("systemtags","restrictSystemTagsCreationToAdmin",!1),Yt=rt({name:"SystemTagPicker",components:{CheckIcon:Lt,CircleIcon:xt,CircleOutlineIcon:Dt,NcButton:X,NcCheckboxRadioSwitch:Y,NcChip:tt,NcColorPicker:et,NcDialog:st,NcEmptyContent:it,NcLoadingIcon:ot,NcNoteCard:lt,NcTextField:nt,PencilIcon:pt,PlusIcon:at,TagIcon:Kt},props:{nodes:{type:Array,required:!0}},emits:{close(t){return t===null||typeof t=="boolean"}},setup(){return{emit:E,Status:P,t:y,canEditOrCreateTag:!Xt||J()?.isAdmin}},data(){return{status:"base",opened:!0,openedPicker:!1,input:"",tags:[],tagList:{},toAdd:[],toRemove:[]}},computed:{sortedTags(){return[...this.tags].sort((t,s)=>t.displayName.localeCompare(s.displayName,S(),{ignorePunctuation:!0}))},filteredTags(){return this.input.trim()===""?this.sortedTags:this.sortedTags.filter(t=>t.displayName.normalize().toLowerCase().includes(this.input.normalize().toLowerCase()))},hasChanges(){return this.toAdd.length>0||this.toRemove.length>0},canCreateTag(){return this.input.trim()!==""&&!this.tags.some(t=>t.displayName.trim().toLocaleLowerCase()===this.input.trim().toLocaleLowerCase())},statusMessage(){if(this.toAdd.length===0&&this.toRemove.length===0)return"";if(this.toAdd.length===1&&this.toRemove.length===1)return k("systemtags","{tag1} will be set and {tag2} will be removed from 1 file.","{tag1} will be set and {tag2} will be removed from {count} files.",this.nodes.length,{tag1:this.formatTagChip(this.toAdd[0]),tag2:this.formatTagChip(this.toRemove[0]),count:this.nodes.length},{escape:!1});const t=this.toAdd.map(this.formatTagChip),s=t.pop(),e=this.toRemove.map(this.formatTagChip),o=e.pop(),l=k("systemtags","{tag} will be set to 1 file.","{tag} will be set to {count} files.",this.nodes.length,{tag:s,count:this.nodes.length},{escape:!1}),n=k("systemtags","{tag} will be removed from 1 file.","{tag} will be removed from {count} files.",this.nodes.length,{tag:o,count:this.nodes.length},{escape:!1}),i=k("systemtags","{tags} and {lastTag} will be set to 1 file.","{tags} and {lastTag} will be set to {count} files.",this.nodes.length,{tags:t.join(", "),lastTag:s,count:this.nodes.length},{escape:!1}),f=k("systemtags","{tags} and {lastTag} will be removed from 1 file.","{tags} and {lastTag} will be removed from {count} files.",this.nodes.length,{tags:e.join(", "),lastTag:o,count:this.nodes.length},{escape:!1});return this.toAdd.length===1&&this.toRemove.length===0?l:this.toAdd.length===0&&this.toRemove.length===1?n:this.toAdd.length>1&&this.toRemove.length===0?i:this.toAdd.length===0&&this.toRemove.length>1?f:this.toAdd.length>1&&this.toRemove.length===1?`${i} ${n}`:this.toAdd.length===1&&this.toRemove.length>1?`${l} ${f}`:`${i} ${f}`}},beforeMount(){yt().then(t=>{this.tags=t}),this.tagList=this.nodes.reduce((t,s)=>((I(s)||[]).forEach(e=>{t[e]=(t[e]||0)+1}),t),{}),this.canEditOrCreateTag||L.debug("System tag creation is restricted to admins and the current user is not an admin")},methods:{formatTagChip(t){const s=this.$refs.chip.$el.cloneNode(!0);if(t.color){const e=this.tagListStyle(t);Object.entries(e).forEach(([o,l])=>{s.style.setProperty(o,l)})}return s.outerHTML.replace("%s",Q(W.sanitize(t.displayName)))},formatTagName(t){return t.userVisible?t.userAssignable?t.displayName:y("systemtags","{displayName} (restricted)",{displayName:t.displayName}):y("systemtags","{displayName} (hidden)",{displayName:t.displayName})},onColorChange(t,s){t.color=s.replace("#",""),Qt(t)},isChecked(t){return t.displayName in this.tagList&&this.tagList[t.displayName]===this.nodes.length},isIndeterminate(t){return t.displayName in this.tagList&&this.tagList[t.displayName]!==0&&this.tagList[t.displayName]!==this.nodes.length},onCheckUpdate(t,s){s?(this.toAdd.push(t),this.toRemove=this.toRemove.filter(e=>e.id!==t.id),this.tagList[t.displayName]=this.nodes.length):(this.toRemove.push(t),this.toAdd=this.toAdd.filter(e=>e.id!==t.id),this.tagList[t.displayName]=0)},async onNewTag(){if(!this.canEditOrCreateTag){_(y("systemtags","Only admins can create new tags"));return}this.status="creating-tag";try{const t={displayName:this.input.trim(),userAssignable:!0,userVisible:!0,canAssign:!0},s=await ut(t),e=await ft(s);this.tags.push(e),this.input="",this.onCheckUpdate(e,!0),await this.$nextTick(),Array.isArray(this.$refs.tags)&&this.$refs.tags.find(o=>o.dataset.cySystemtagsPickerTag===s.toString())?.scrollIntoView({behavior:"instant",block:"center",inline:"center"})}catch(t){_(t?.message||y("systemtags","Failed to create tag"))}finally{this.status="base"}},async onSubmit(){this.status="loading",L.debug("Applying tags",{toAdd:this.toAdd,toRemove:this.toRemove});try{for(const s of this.toAdd){const{etag:e,objects:o}=await O(s,"files"),l=[...new Set([...o.map(n=>n.id).filter(Boolean),...this.nodes.map(n=>n.fileid).filter(Boolean)])];await z(s,"files",l.map(n=>({id:n,type:"files"})),e)}for(const s of this.toRemove){const{etag:e,objects:o}=await O(s,"files"),l=new Set(this.nodes.map(i=>i.fileid)),n=o.map(i=>i.id).filter((i,f,T)=>!l.has(i)&&T.indexOf(i)===f);await z(s,"files",n.map(i=>({id:i,type:"files"})),e)}}catch(s){L.error("Failed to apply tags",{error:s}),_(y("systemtags","Failed to apply tags changes")),this.status="base";return}const t=[];this.toAdd.forEach(s=>{this.nodes.forEach(e=>{const o=[...I(e)||[],s.displayName].sort((l,n)=>l.localeCompare(n,S(),{ignorePunctuation:!0}));x(e,o),t.push(e)})}),this.toRemove.forEach(s=>{this.nodes.forEach(e=>{const o=[...I(e)||[]].filter(l=>l!==s.displayName).sort((l,n)=>l.localeCompare(n,S(),{ignorePunctuation:!0}));x(e,o),t.push(e)})}),t.forEach(s=>E("systemtags:node:updated",s)),this.status="done",setTimeout(()=>{this.opened=!1,this.$emit("close",!0)},2e3)},onCancel(){this.opened=!1,this.$emit("close",null)},tagListStyle(t){if(!t.color)return{"--color-circle-icon":"var(--color-text-maxcontrast)"};const s=bt(`#${t.color}`,`#${Wt}`),e=kt(s)?"#000000":"#ffffff";return{"--color-circle-icon":"var(--color-primary-element)","--color-primary":s,"--color-primary-text":e,"--color-primary-element":s,"--color-primary-element-text":e}}}}),te={class:"systemtags-picker__input"},ee={class:"systemtags-picker__tags","data-cy-systemtags-picker-tags":""},se=["data-cy-systemtags-picker-tag"],ae={class:"systemtags-picker__tag-create-subline"},ie={class:"systemtags-picker__note"},oe=["innerHTML"];function le(t,s,e,o,l,n){const i=c("NcLoadingIcon"),f=c("CheckIcon"),T=c("NcEmptyContent"),M=c("TagIcon"),V=c("NcTextField"),B=c("NcCheckboxRadioSwitch"),U=c("CircleIcon"),G=c("CircleOutlineIcon"),D=c("PencilIcon"),v=c("NcButton"),j=c("NcColorPicker"),F=c("PlusIcon"),$=c("NcNoteCard"),H=c("NcChip"),Z=c("NcDialog");return a(),h(Z,{"data-cy-systemtags-picker":"",noClose:t.status===t.Status.LOADING,name:t.t("systemtags","Manage tags"),open:t.opened,class:ht(["systemtags-picker--"+t.status,"systemtags-picker"]),closeOnClickOutside:"",outTransition:"","onUpdate:open":t.onCancel},{actions:m(()=>[u(v,{disabled:t.status!==t.Status.BASE,variant:"tertiary","data-cy-systemtags-picker-button-cancel":"",onClick:t.onCancel},{default:m(()=>[N(p(t.t("systemtags","Cancel")),1)]),_:1},8,["disabled","onClick"]),u(v,{disabled:!t.hasChanges||t.status!==t.Status.BASE,"data-cy-systemtags-picker-button-submit":"",onClick:t.onSubmit},{default:m(()=>[N(p(t.t("systemtags","Apply")),1)]),_:1},8,["disabled","onClick"])]),default:m(()=>[t.status===t.Status.LOADING||t.status===t.Status.DONE?(a(),h(T,{key:0,name:t.t("systemtags","Applying tags changes…")},{icon:m(()=>[t.status===t.Status.LOADING?(a(),h(i,{key:0})):(a(),h(f,{key:1,fillColor:"var(--color-border-success)"}))]),_:1},8,["name"])):(a(),d(R,{key:1},[g("div",te,[u(V,{modelValue:t.input,"onUpdate:modelValue":s[0]||(s[0]=r=>t.input=r),label:t.canEditOrCreateTag?t.t("systemtags","Search or create tag"):t.t("systemtags","Search tag"),"data-cy-systemtags-picker-input":""},{default:m(()=>[u(M,{size:20})]),_:1},8,["modelValue","label"])]),g("ul",ee,[(a(!0),d(R,null,dt(t.filteredTags,r=>(a(),d("li",{key:r.id,ref_for:!0,ref:"tags","data-cy-systemtags-picker-tag":r.id,style:mt(t.tagListStyle(r)),class:"systemtags-picker__tag"},[u(B,{modelValue:t.isChecked(r),disabled:!r.canAssign,indeterminate:t.isIndeterminate(r),label:r.displayName,class:"systemtags-picker__tag-checkbox","onUpdate:modelValue":b=>t.onCheckUpdate(r,b)},{default:m(()=>[N(p(t.formatTagName(r)),1)]),_:2},1032,["modelValue","disabled","indeterminate","label","onUpdate:modelValue"]),t.canEditOrCreateTag?(a(),h(j,{key:0,"data-cy-systemtags-picker-tag-color":r.id,modelValue:`#${r.color||"000000"}`,shown:t.openedPicker===r.id,class:"systemtags-picker__tag-color","onUpdate:shown":b=>t.openedPicker=b?r.id:!1,onSubmit:b=>t.onColorChange(r,b)},{default:m(()=>[u(v,{"aria-label":t.t("systemtags","Change tag color"),variant:"tertiary"},{icon:m(()=>[r.color?(a(),h(U,{key:0,size:24,fillColor:"var(--color-circle-icon)",class:"button-color-circle"})):(a(),h(G,{key:1,size:24,fillColor:"var(--color-circle-icon)",class:"button-color-empty"})),u(D,{class:"button-color-pencil"})]),_:2},1032,["aria-label"])]),_:2},1032,["data-cy-systemtags-picker-tag-color","modelValue","shown","onUpdate:shown","onSubmit"])):C("",!0)],12,se))),128)),g("li",null,[t.canEditOrCreateTag&&t.canCreateTag?(a(),h(v,{key:0,disabled:t.status===t.Status.CREATING_TAG,alignment:"start",class:"systemtags-picker__tag-create",type:"submit",variant:"tertiary","data-cy-systemtags-picker-button-create":"",onClick:t.onNewTag},{icon:m(()=>[u(F)]),default:m(()=>[N(p(t.input.trim()),1),s[1]||(s[1]=g("br",null,null,-1)),g("span",ae,p(t.t("systemtags","Create new tag")),1)]),_:1},8,["disabled","onClick"])):C("",!0)])]),g("div",ie,[t.hasChanges?(a(),h($,{key:1,type:"info"},{default:m(()=>[g("span",{innerHTML:t.statusMessage},null,8,oe)]),_:1})):(a(),h($,{key:0,type:"info"},{default:m(()=>[N(p(t.t("systemtags","Choose tags for the selected files")),1)]),_:1}))])],64)),ct(g("div",null,[u(H,{ref:"chip",text:"%s",noClose:"",variant:"primary"},null,512)],512),[[gt,!1]])]),_:1},8,["noClose","name","open","class","onUpdate:open"])}const xe=A(Yt,[["render",le],["__scopeId","data-v-fbaf4147"]]);export{xe as default}; +//# sourceMappingURL=SystemTagPicker-3S6TsOoD.chunk.mjs.map diff --git a/dist/SystemTagPicker-CUEFfNfT.chunk.mjs.license b/dist/SystemTagPicker-3S6TsOoD.chunk.mjs.license similarity index 100% rename from dist/SystemTagPicker-CUEFfNfT.chunk.mjs.license rename to dist/SystemTagPicker-3S6TsOoD.chunk.mjs.license diff --git a/dist/SystemTagPicker-CUEFfNfT.chunk.mjs.map b/dist/SystemTagPicker-3S6TsOoD.chunk.mjs.map similarity index 99% rename from dist/SystemTagPicker-CUEFfNfT.chunk.mjs.map rename to dist/SystemTagPicker-3S6TsOoD.chunk.mjs.map index 2364ebe37dfa3..78993e3623188 100644 --- a/dist/SystemTagPicker-CUEFfNfT.chunk.mjs.map +++ b/dist/SystemTagPicker-3S6TsOoD.chunk.mjs.map @@ -1 +1 @@ -{"version":3,"file":"SystemTagPicker-CUEFfNfT.chunk.mjs","sources":["../node_modules/vue-material-design-icons/CheckCircle.vue","../node_modules/vue-material-design-icons/Circle.vue","../node_modules/vue-material-design-icons/CircleOutline.vue","../node_modules/vue-material-design-icons/TagOutline.vue","../build/frontend/apps/systemtags/src/components/SystemTagPicker.vue"],"sourcesContent":["\n\n","\n\n","\n\n","\n\n","\n\n\n\n\n\n\n"],"names":["_sfc_main","_hoisted_3","_createElementBlock","_mergeProps","_ctx","$props","_cache","$event","_createElementVNode","_openBlock","debounceUpdateTag","debounce","updateTag","mainBackgroundColor","isDarkModeEnabled","Status","restrictSystemTagsCreationToAdmin","loadState","defineComponent","CheckIcon","CircleIcon","CircleOutlineIcon","NcButton","NcCheckboxRadioSwitch","NcChip","NcColorPicker","NcDialog","NcEmptyContent","NcLoadingIcon","NcNoteCard","NcTextField","PencilIcon","PlusIcon","TagIcon","status","emit","t","getCurrentUser","a","b","getLanguage","tag","n","tagsAdd","lastTagAdd","tagsRemove","lastTagRemove","addStringSingular","removeStringSingular","addStringPlural","removeStringPlural","fetchTags","tags","acc","node","getNodeSystemTags","logger","chipCloneEl","style","key","value","escapeHTML","domPurify","color","checked","search","showError","payload","id","createTag","fetchTag","el","error","etag","objects","getTagObjects","ids","obj","setTagObjects","nodeFileIds","index","self","nodes","setNodeSystemTags","primaryElement","elementColor","textColor","invertTextColor","_hoisted_1","_hoisted_4","_hoisted_5","_createBlock","_component_NcDialog","_normalizeClass","_withCtx","_createVNode","_component_NcButton","_createTextVNode","_toDisplayString","_component_NcEmptyContent","_component_NcLoadingIcon","_component_CheckIcon","_Fragment","_component_NcTextField","_component_TagIcon","_hoisted_2","_renderList","_normalizeStyle","_component_NcCheckboxRadioSwitch","_component_NcColorPicker","_component_CircleIcon","_component_CircleOutlineIcon","_component_PencilIcon","_component_PlusIcon","_component_NcNoteCard","_hoisted_6","_component_NcChip"],"mappings":"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","x_google_ignoreList":[0,1,2,3]} \ No newline at end of file +{"version":3,"file":"SystemTagPicker-3S6TsOoD.chunk.mjs","sources":["../node_modules/vue-material-design-icons/CheckCircle.vue","../node_modules/vue-material-design-icons/Circle.vue","../node_modules/vue-material-design-icons/CircleOutline.vue","../node_modules/vue-material-design-icons/TagOutline.vue","../build/frontend/apps/systemtags/src/components/SystemTagPicker.vue"],"sourcesContent":["\n\n","\n\n","\n\n","\n\n","\n\n\n\n\n\n\n"],"names":["_sfc_main","_hoisted_3","_createElementBlock","_mergeProps","_ctx","$props","_cache","$event","_createElementVNode","_openBlock","debounceUpdateTag","debounce","updateTag","mainBackgroundColor","isDarkModeEnabled","Status","restrictSystemTagsCreationToAdmin","loadState","defineComponent","CheckIcon","CircleIcon","CircleOutlineIcon","NcButton","NcCheckboxRadioSwitch","NcChip","NcColorPicker","NcDialog","NcEmptyContent","NcLoadingIcon","NcNoteCard","NcTextField","PencilIcon","PlusIcon","TagIcon","status","emit","t","getCurrentUser","a","b","getLanguage","tag","n","tagsAdd","lastTagAdd","tagsRemove","lastTagRemove","addStringSingular","removeStringSingular","addStringPlural","removeStringPlural","fetchTags","tags","acc","node","getNodeSystemTags","logger","chipCloneEl","style","key","value","escapeHTML","domPurify","color","checked","search","showError","payload","id","createTag","fetchTag","el","error","etag","objects","getTagObjects","ids","obj","setTagObjects","nodeFileIds","index","self","nodes","setNodeSystemTags","primaryElement","elementColor","textColor","invertTextColor","_hoisted_1","_hoisted_4","_hoisted_5","_createBlock","_component_NcDialog","_normalizeClass","_withCtx","_createVNode","_component_NcButton","_createTextVNode","_toDisplayString","_component_NcEmptyContent","_component_NcLoadingIcon","_component_CheckIcon","_Fragment","_component_NcTextField","_component_TagIcon","_hoisted_2","_renderList","_normalizeStyle","_component_NcCheckboxRadioSwitch","_component_NcColorPicker","_component_CircleIcon","_component_CircleOutlineIcon","_component_PencilIcon","_component_PlusIcon","_component_NcNoteCard","_hoisted_6","_component_NcChip"],"mappings":"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","x_google_ignoreList":[0,1,2,3]} \ No newline at end of file diff --git a/dist/SystemTagPicker-CUEFfNfT.chunk.mjs.map.license b/dist/SystemTagPicker-3S6TsOoD.chunk.mjs.map.license similarity index 100% rename from dist/SystemTagPicker-CUEFfNfT.chunk.mjs.map.license rename to dist/SystemTagPicker-3S6TsOoD.chunk.mjs.map.license diff --git a/dist/api-39Z_dRpm.chunk.mjs.map b/dist/api-39Z_dRpm.chunk.mjs.map deleted file mode 100644 index 1aa30a0950358..0000000000000 --- a/dist/api-39Z_dRpm.chunk.mjs.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"api-39Z_dRpm.chunk.mjs","sources":["../build/frontend/apps/systemtags/src/logger.ts","../build/frontend/apps/systemtags/src/utils.ts","../build/frontend/apps/systemtags/src/services/davClient.ts","../build/frontend/apps/systemtags/src/services/api.ts"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { getLoggerBuilder } from '@nextcloud/logger'\n\nexport default getLoggerBuilder()\n\t.setApp('systemtags')\n\t.detectUser()\n\t.build()\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { INode } from '@nextcloud/files'\nimport type { DAVResultResponseProps } from 'webdav'\nimport type { BaseTag, ServerTag, Tag, TagWithId } from './types.ts'\n\nimport { emit } from '@nextcloud/event-bus'\n\nexport const defaultBaseTag: BaseTag = {\n\tuserVisible: true,\n\tuserAssignable: true,\n\tcanAssign: true,\n}\n\nconst propertyMappings = Object.freeze({\n\t'display-name': 'displayName',\n\t'user-visible': 'userVisible',\n\t'user-assignable': 'userAssignable',\n\t'can-assign': 'canAssign',\n})\n\n/**\n * Parse tags from WebDAV response\n *\n * @param tags - Array of tags from WebDAV response\n */\nexport function parseTags(tags: { props: DAVResultResponseProps }[]): TagWithId[] {\n\treturn tags.map(({ props }) => Object.fromEntries(Object.entries(props)\n\t\t.map(([key, value]) => {\n\t\t\tkey = propertyMappings[key] ?? key\n\t\t\tvalue = key === 'displayName' ? String(value) : value\n\t\t\treturn [key, value]\n\t\t})) as unknown as TagWithId)\n}\n\n/**\n * Parse id from `Content-Location` header\n *\n * @param url URL to parse\n */\nexport function parseIdFromLocation(url: string): number {\n\tconst queryPos = url.indexOf('?')\n\tif (queryPos > 0) {\n\t\turl = url.substring(0, queryPos)\n\t}\n\n\tconst parts = url.split('/')\n\tlet result\n\tdo {\n\t\tresult = parts[parts.length - 1]\n\t\tparts.pop()\n\t\t// note: first result can be empty when there is a trailing slash,\n\t\t// so we take the part before that\n\t} while (!result && parts.length > 0)\n\n\treturn Number(result)\n}\n\n/**\n * Format a tag for WebDAV operations\n *\n * @param initialTag - Tag to format\n */\nexport function formatTag(initialTag: Tag | ServerTag): ServerTag {\n\tif ('name' in initialTag && !('displayName' in initialTag)) {\n\t\treturn { ...initialTag }\n\t}\n\n\tconst tag: Record = { ...initialTag }\n\ttag.name = tag.displayName\n\tdelete tag.displayName\n\n\treturn tag as unknown as ServerTag\n}\n\n/**\n * Get system tags from a node\n *\n * @param node - The node to get tags from\n */\nexport function getNodeSystemTags(node: INode): string[] {\n\tconst attribute = node.attributes?.['system-tags']?.['system-tag']\n\tif (attribute === undefined) {\n\t\treturn []\n\t}\n\n\t// if there is only one tag it is a single string or prop object\n\t// if there are multiple then its an array - so we flatten it to be always an array of string or prop objects\n\treturn [attribute]\n\t\t.flat()\n\t\t.map((tag: string | { text: string }) => (\n\t\t\ttypeof tag === 'string'\n\t\t\t\t// its a plain text prop (the tag name) without prop attributes\n\t\t\t\t? tag\n\t\t\t\t// its a prop object with attributes, the tag name is in the 'text' attribute\n\t\t\t\t: tag.text\n\t\t))\n}\n\n/**\n * Set system tags on a node\n *\n * @param node - The node to set tags on\n * @param tags - The tags to set\n */\nexport function setNodeSystemTags(node: INode, tags: string[]): void {\n\tnode.attributes['system-tags'] = {\n\t\t'system-tag': tags,\n\t}\n\temit('files:node:updated', node)\n}\n","/*!\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { Node } from '@nextcloud/files'\nimport type { FileStat, ResponseDataDetailed } from 'webdav'\n\nimport { getClient, getDefaultPropfind, getRootPath, resultToNode } from '@nextcloud/files/dav'\n\nexport const davClient = getClient()\n\n/**\n * Fetches a node from the given path\n *\n * @param path - The path to fetch the node from\n */\nexport async function fetchNode(path: string): Promise {\n\tconst propfindPayload = getDefaultPropfind()\n\tconst result = await davClient.stat(`${getRootPath()}${path}`, {\n\t\tdetails: true,\n\t\tdata: propfindPayload,\n\t}) as ResponseDataDetailed\n\treturn resultToNode(result.data)\n}\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { OCSResponse } from '@nextcloud/typings/ocs'\nimport type { FileStat, ResponseDataDetailed, WebDAVClientError } from 'webdav'\nimport type { ServerTag, Tag, TagWithId } from '../types.ts'\n\nimport axios from '@nextcloud/axios'\nimport { emit } from '@nextcloud/event-bus'\nimport { t } from '@nextcloud/l10n'\nimport { confirmPassword } from '@nextcloud/password-confirmation'\nimport { generateOcsUrl, generateUrl } from '@nextcloud/router'\nimport logger from '../logger.ts'\nimport { formatTag, parseIdFromLocation, parseTags } from '../utils.ts'\nimport { davClient } from './davClient.ts'\n\nexport const fetchTagsPayload = `\n\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n`\n\n/**\n * Fetch all tags.\n */\nexport async function fetchTags(): Promise {\n\tconst path = '/systemtags'\n\ttry {\n\t\tconst { data: tags } = await davClient.getDirectoryContents(path, {\n\t\t\tdata: fetchTagsPayload,\n\t\t\tdetails: true,\n\t\t\tglob: '/systemtags/*', // Filter out first empty tag\n\t\t}) as ResponseDataDetailed[]>\n\t\treturn parseTags(tags)\n\t} catch (error) {\n\t\tlogger.error(t('systemtags', 'Failed to load tags'), { error })\n\t\tthrow new Error(t('systemtags', 'Failed to load tags'))\n\t}\n}\n\n/**\n * Fetch a single tag by its ID.\n *\n * @param tagId - The ID of the tag to fetch\n */\nexport async function fetchTag(tagId: number): Promise {\n\tconst path = '/systemtags/' + tagId\n\ttry {\n\t\tconst { data: tag } = await davClient.stat(path, {\n\t\t\tdata: fetchTagsPayload,\n\t\t\tdetails: true,\n\t\t}) as ResponseDataDetailed>\n\t\treturn parseTags([tag])[0]!\n\t} catch (error) {\n\t\tlogger.error(t('systemtags', 'Failed to load tag'), { error })\n\t\tthrow new Error(t('systemtags', 'Failed to load tag'))\n\t}\n}\n\n/**\n * Get the last used tag IDs.\n */\nexport async function fetchLastUsedTagIds(): Promise {\n\tconst url = generateUrl('/apps/systemtags/lastused')\n\ttry {\n\t\tconst { data: lastUsedTagIds } = await axios.get(url)\n\t\treturn lastUsedTagIds.map(Number)\n\t} catch (error) {\n\t\tlogger.error(t('systemtags', 'Failed to load last used tags'), { error })\n\t\tthrow new Error(t('systemtags', 'Failed to load last used tags'))\n\t}\n}\n\n/**\n * Create a tag and return the Id of the newly created tag.\n *\n * @param tag The tag to create\n */\nexport async function createTag(tag: Tag | ServerTag): Promise {\n\tconst path = '/systemtags'\n\tconst tagToPost = formatTag(tag)\n\ttry {\n\t\tconst { headers } = await davClient.customRequest(path, {\n\t\t\tmethod: 'POST',\n\t\t\tdata: tagToPost,\n\t\t})\n\t\tconst contentLocation = headers.get('content-location')\n\t\tif (contentLocation) {\n\t\t\temit('systemtags:tag:created', tag)\n\t\t\treturn parseIdFromLocation(contentLocation)\n\t\t}\n\t\tlogger.error(t('systemtags', 'Missing \"Content-Location\" header'))\n\t\tthrow new Error(t('systemtags', 'Missing \"Content-Location\" header'))\n\t} catch (error) {\n\t\tif ((error as WebDAVClientError)?.response?.status === 409) {\n\t\t\tlogger.error(t('systemtags', 'A tag with the same name already exists'), { error })\n\t\t\tthrow new Error(t('systemtags', 'A tag with the same name already exists'))\n\t\t}\n\t\tlogger.error(t('systemtags', 'Failed to create tag'), { error })\n\t\tthrow new Error(t('systemtags', 'Failed to create tag'))\n\t}\n}\n\n/**\n * Update a tag on the server.\n *\n * @param tag - The tag to update\n */\nexport async function updateTag(tag: TagWithId): Promise {\n\tconst path = '/systemtags/' + tag.id\n\tconst data = `\n\t\n\t\t\n\t\t\t\n\t\t\t\t${tag.displayName}\n\t\t\t\t${tag.userVisible}\n\t\t\t\t${tag.userAssignable}\n\t\t\t\t${tag?.color || null}\n\t\t\t\n\t\t\n\t`\n\n\ttry {\n\t\tawait davClient.customRequest(path, {\n\t\t\tmethod: 'PROPPATCH',\n\t\t\tdata,\n\t\t})\n\t\temit('systemtags:tag:updated', tag)\n\t} catch (error) {\n\t\tlogger.error(t('systemtags', 'Failed to update tag'), { error })\n\t\tthrow new Error(t('systemtags', 'Failed to update tag'))\n\t}\n}\n\n/**\n * Delete a tag.\n *\n * @param tag - The tag to delete\n */\nexport async function deleteTag(tag: TagWithId): Promise {\n\tconst path = '/systemtags/' + tag.id\n\ttry {\n\t\tawait davClient.deleteFile(path)\n\t\temit('systemtags:tag:deleted', tag)\n\t} catch (error) {\n\t\tlogger.error(t('systemtags', 'Failed to delete tag'), { error })\n\t\tthrow new Error(t('systemtags', 'Failed to delete tag'))\n\t}\n}\n\ntype TagObject = {\n\tid: number\n\ttype: string\n}\n\ntype TagObjectResponse = {\n\tetag: string\n\tobjects: TagObject[]\n}\n\n/**\n * Get the objects for a tag.\n *\n * @param tag - The tag to get the objects for\n * @param type - The type of the objects\n */\nexport async function getTagObjects(tag: TagWithId, type: string): Promise {\n\tconst path = `/systemtags/${tag.id}/${type}`\n\tconst data = `\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t`\n\n\tconst response = await davClient.stat(path, { data, details: true }) as ResponseDataDetailed\n\tconst etag = response?.data?.props?.getetag || '\"\"'\n\tconst objects = Object.values(response?.data?.props?.['object-ids'] || []).flat() as TagObject[]\n\n\treturn {\n\t\tetag,\n\t\tobjects,\n\t}\n}\n\n/**\n * Set the objects for a tag.\n * Warning: This will overwrite the existing objects.\n *\n * @param tag The tag to set the objects for\n * @param type The type of the objects\n * @param objectIds The objects to set\n * @param etag Strongly recommended to avoid conflict and data loss.\n */\nexport async function setTagObjects(tag: TagWithId, type: string, objectIds: TagObject[], etag: string = ''): Promise {\n\tconst path = `/systemtags/${tag.id}/${type}`\n\tlet data = `\n\t\n\t\t\n\t\t\t\n\t\t\t\t${objectIds.map(({ id, type }) => `${id}${type}`).join('')}\n\t\t\t\n\t\t\n\t`\n\n\tif (objectIds.length === 0) {\n\t\tdata = `\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t`\n\t}\n\n\tawait davClient.customRequest(path, {\n\t\tmethod: 'PROPPATCH',\n\t\tdata,\n\t\theaders: {\n\t\t\t'if-match': etag,\n\t\t},\n\t})\n}\n\n/**\n * Update the system tags admin restriction setting.\n *\n * @param isAllowed - True if system tags creation is allowed for non-admins\n */\nexport async function updateSystemTagsAdminRestriction(isAllowed: boolean): Promise {\n\t// Convert to string for compatibility\n\tconst isAllowedString = isAllowed ? '1' : '0'\n\n\tconst url = generateOcsUrl('/apps/provisioning_api/api/v1/config/apps/{appId}/{key}', {\n\t\tappId: 'systemtags',\n\t\tkey: 'restrict_creation_to_admin',\n\t})\n\n\tawait confirmPassword()\n\n\tconst { data } = await axios.post(url, {\n\t\tvalue: isAllowedString,\n\t})\n\n\treturn data\n}\n"],"names":["logger","getLoggerBuilder","defaultBaseTag","propertyMappings","parseTags","tags","props","key","value","parseIdFromLocation","url","queryPos","parts","result","formatTag","initialTag","tag","getNodeSystemTags","node","attribute","setNodeSystemTags","emit","davClient","getClient","fetchTagsPayload","fetchTags","path","error","t","fetchTag","tagId","createTag","tagToPost","headers","contentLocation","updateTag","data","deleteTag","getTagObjects","type","response","etag","objects","setTagObjects","objectIds","id","updateSystemTagsAdminRestriction","isAllowed","isAllowedString","generateOcsUrl","confirmPassword","axios"],"mappings":"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"} \ No newline at end of file diff --git a/dist/api-39Z_dRpm.chunk.mjs b/dist/api-CDZNaaKR.chunk.mjs similarity index 71% rename from dist/api-39Z_dRpm.chunk.mjs rename to dist/api-CDZNaaKR.chunk.mjs index 652d8b24df0c3..b288ce8c49875 100644 --- a/dist/api-39Z_dRpm.chunk.mjs +++ b/dist/api-CDZNaaKR.chunk.mjs @@ -9,7 +9,7 @@ import{c as u}from"./index-CSlgVGOl.chunk.mjs";import{g as y,e as c}from"./index -`;async function D(){const t="/systemtags";try{const{data:s}=await n.getDirectoryContents(t,{data:l,details:!0,glob:"/systemtags/*"});return p(s)}catch(s){throw r.error(o("systemtags","Failed to load tags"),{error:s}),new Error(o("systemtags","Failed to load tags"))}}async function C(t){const s="/systemtags/"+t;try{const{data:e}=await n.stat(s,{data:l,details:!0});return p([e])[0]}catch(e){throw r.error(o("systemtags","Failed to load tag"),{error:e}),new Error(o("systemtags","Failed to load tag"))}}async function R(t){const s="/systemtags",e=v(t);try{const{headers:a}=await n.customRequest(s,{method:"POST",data:e}),i=a.get("content-location");if(i)return c("systemtags:tag:created",t),w(i);throw r.error(o("systemtags",'Missing "Content-Location" header')),new Error(o("systemtags",'Missing "Content-Location" header'))}catch(a){throw a?.response?.status===409?(r.error(o("systemtags","A tag with the same name already exists"),{error:a}),new Error(o("systemtags","A tag with the same name already exists"))):(r.error(o("systemtags","Failed to create tag"),{error:a}),new Error(o("systemtags","Failed to create tag")))}}async function T(t){const s="/systemtags/"+t.id,e=` +`;async function D(){const t="/systemtags";try{const{data:s}=await n.getDirectoryContents(t,{data:l,details:!0,glob:"/systemtags/*"});return p(s)}catch(s){throw r.error(o("systemtags","Failed to load tags"),{error:s}),new Error(o("systemtags","Failed to load tags"),{cause:s})}}async function C(t){const s="/systemtags/"+t;try{const{data:e}=await n.stat(s,{data:l,details:!0});return p([e])[0]}catch(e){throw r.error(o("systemtags","Failed to load tag"),{error:e}),new Error(o("systemtags","Failed to load tag"),{cause:e})}}async function R(t){const s="/systemtags",e=v(t);try{const{headers:a}=await n.customRequest(s,{method:"POST",data:e}),i=a.get("content-location");if(i)return c("systemtags:tag:created",t),w(i);throw r.error(o("systemtags",'Missing "Content-Location" header')),new Error(o("systemtags",'Missing "Content-Location" header'))}catch(a){throw a?.response?.status===409?(r.error(o("systemtags","A tag with the same name already exists"),{error:a}),new Error(o("systemtags","A tag with the same name already exists"),{cause:a})):(r.error(o("systemtags","Failed to create tag"),{error:a}),new Error(o("systemtags","Failed to create tag"),{cause:a}))}}async function T(t){const s="/systemtags/"+t.id,e=` @@ -19,7 +19,7 @@ import{c as u}from"./index-CSlgVGOl.chunk.mjs";import{g as y,e as c}from"./index ${t?.color||null} - `;try{await n.customRequest(s,{method:"PROPPATCH",data:e}),c("systemtags:tag:updated",t)}catch(a){throw r.error(o("systemtags","Failed to update tag"),{error:a}),new Error(o("systemtags","Failed to update tag"))}}async function _(t){const s="/systemtags/"+t.id;try{await n.deleteFile(s),c("systemtags:tag:deleted",t)}catch(e){throw r.error(o("systemtags","Failed to delete tag"),{error:e}),new Error(o("systemtags","Failed to delete tag"))}}async function q(t,s){const e=`/systemtags/${t.id}/${s}`,a=await n.stat(e,{data:` + `;try{await n.customRequest(s,{method:"PROPPATCH",data:e}),c("systemtags:tag:updated",t)}catch(a){throw r.error(o("systemtags","Failed to update tag"),{error:a}),new Error(o("systemtags","Failed to update tag"),{cause:a})}}async function _(t){const s="/systemtags/"+t.id;try{await n.deleteFile(s),c("systemtags:tag:deleted",t)}catch(e){throw r.error(o("systemtags","Failed to delete tag"),{error:e}),new Error(o("systemtags","Failed to delete tag"),{cause:e})}}async function q(t,s){const e=`/systemtags/${t.id}/${s}`,a=await n.stat(e,{data:` @@ -40,4 +40,4 @@ import{c as u}from"./index-CSlgVGOl.chunk.mjs";import{g as y,e as c}from"./index `),await n.customRequest(i,{method:"PROPPATCH",data:d,headers:{"if-match":a}})}async function H(t){const s=t?"1":"0",e=h("/apps/provisioning_api/api/v1/config/apps/{appId}/{key}",{appId:"systemtags",key:"restrict_creation_to_admin"});await f();const{data:a}=await u.post(e,{value:s});return a}export{_ as a,H as b,R as c,V as d,N as e,D as f,q as g,P as h,C as i,r as l,k as s,T as u}; -//# sourceMappingURL=api-39Z_dRpm.chunk.mjs.map +//# sourceMappingURL=api-CDZNaaKR.chunk.mjs.map diff --git a/dist/api-39Z_dRpm.chunk.mjs.license b/dist/api-CDZNaaKR.chunk.mjs.license similarity index 100% rename from dist/api-39Z_dRpm.chunk.mjs.license rename to dist/api-CDZNaaKR.chunk.mjs.license diff --git a/dist/api-CDZNaaKR.chunk.mjs.map b/dist/api-CDZNaaKR.chunk.mjs.map new file mode 100644 index 0000000000000..a5c23a5b6a57b --- /dev/null +++ b/dist/api-CDZNaaKR.chunk.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"api-CDZNaaKR.chunk.mjs","sources":["../build/frontend/apps/systemtags/src/logger.ts","../build/frontend/apps/systemtags/src/utils.ts","../build/frontend/apps/systemtags/src/services/davClient.ts","../build/frontend/apps/systemtags/src/services/api.ts"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { getLoggerBuilder } from '@nextcloud/logger'\n\nexport default getLoggerBuilder()\n\t.setApp('systemtags')\n\t.detectUser()\n\t.build()\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { INode } from '@nextcloud/files'\nimport type { DAVResultResponseProps } from 'webdav'\nimport type { BaseTag, ServerTag, Tag, TagWithId } from './types.ts'\n\nimport { emit } from '@nextcloud/event-bus'\n\nexport const defaultBaseTag: BaseTag = {\n\tuserVisible: true,\n\tuserAssignable: true,\n\tcanAssign: true,\n}\n\nconst propertyMappings = Object.freeze({\n\t'display-name': 'displayName',\n\t'user-visible': 'userVisible',\n\t'user-assignable': 'userAssignable',\n\t'can-assign': 'canAssign',\n})\n\n/**\n * Parse tags from WebDAV response\n *\n * @param tags - Array of tags from WebDAV response\n */\nexport function parseTags(tags: { props: DAVResultResponseProps }[]): TagWithId[] {\n\treturn tags.map(({ props }) => Object.fromEntries(Object.entries(props)\n\t\t.map(([key, value]) => {\n\t\t\tkey = propertyMappings[key] ?? key\n\t\t\tvalue = key === 'displayName' ? String(value) : value\n\t\t\treturn [key, value]\n\t\t})) as unknown as TagWithId)\n}\n\n/**\n * Parse id from `Content-Location` header\n *\n * @param url URL to parse\n */\nexport function parseIdFromLocation(url: string): number {\n\tconst queryPos = url.indexOf('?')\n\tif (queryPos > 0) {\n\t\turl = url.substring(0, queryPos)\n\t}\n\n\tconst parts = url.split('/')\n\tlet result\n\tdo {\n\t\tresult = parts[parts.length - 1]\n\t\tparts.pop()\n\t\t// note: first result can be empty when there is a trailing slash,\n\t\t// so we take the part before that\n\t} while (!result && parts.length > 0)\n\n\treturn Number(result)\n}\n\n/**\n * Format a tag for WebDAV operations\n *\n * @param initialTag - Tag to format\n */\nexport function formatTag(initialTag: Tag | ServerTag): ServerTag {\n\tif ('name' in initialTag && !('displayName' in initialTag)) {\n\t\treturn { ...initialTag }\n\t}\n\n\tconst tag: Record = { ...initialTag }\n\ttag.name = tag.displayName\n\tdelete tag.displayName\n\n\treturn tag as unknown as ServerTag\n}\n\n/**\n * Get system tags from a node\n *\n * @param node - The node to get tags from\n */\nexport function getNodeSystemTags(node: INode): string[] {\n\tconst attribute = node.attributes?.['system-tags']?.['system-tag']\n\tif (attribute === undefined) {\n\t\treturn []\n\t}\n\n\t// if there is only one tag it is a single string or prop object\n\t// if there are multiple then its an array - so we flatten it to be always an array of string or prop objects\n\treturn [attribute]\n\t\t.flat()\n\t\t.map((tag: string | { text: string }) => (\n\t\t\ttypeof tag === 'string'\n\t\t\t\t// its a plain text prop (the tag name) without prop attributes\n\t\t\t\t? tag\n\t\t\t\t// its a prop object with attributes, the tag name is in the 'text' attribute\n\t\t\t\t: tag.text\n\t\t))\n}\n\n/**\n * Set system tags on a node\n *\n * @param node - The node to set tags on\n * @param tags - The tags to set\n */\nexport function setNodeSystemTags(node: INode, tags: string[]): void {\n\tnode.attributes['system-tags'] = {\n\t\t'system-tag': tags,\n\t}\n\temit('files:node:updated', node)\n}\n","/*!\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { Node } from '@nextcloud/files'\nimport type { FileStat, ResponseDataDetailed } from 'webdav'\n\nimport { getClient, getDefaultPropfind, getRootPath, resultToNode } from '@nextcloud/files/dav'\n\nexport const davClient = getClient()\n\n/**\n * Fetches a node from the given path\n *\n * @param path - The path to fetch the node from\n */\nexport async function fetchNode(path: string): Promise {\n\tconst propfindPayload = getDefaultPropfind()\n\tconst result = await davClient.stat(`${getRootPath()}${path}`, {\n\t\tdetails: true,\n\t\tdata: propfindPayload,\n\t}) as ResponseDataDetailed\n\treturn resultToNode(result.data)\n}\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { OCSResponse } from '@nextcloud/typings/ocs'\nimport type { FileStat, ResponseDataDetailed, WebDAVClientError } from 'webdav'\nimport type { ServerTag, Tag, TagWithId } from '../types.ts'\n\nimport axios from '@nextcloud/axios'\nimport { emit } from '@nextcloud/event-bus'\nimport { t } from '@nextcloud/l10n'\nimport { confirmPassword } from '@nextcloud/password-confirmation'\nimport { generateOcsUrl, generateUrl } from '@nextcloud/router'\nimport logger from '../logger.ts'\nimport { formatTag, parseIdFromLocation, parseTags } from '../utils.ts'\nimport { davClient } from './davClient.ts'\n\nexport const fetchTagsPayload = `\n\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n`\n\n/**\n * Fetch all tags.\n */\nexport async function fetchTags(): Promise {\n\tconst path = '/systemtags'\n\ttry {\n\t\tconst { data: tags } = await davClient.getDirectoryContents(path, {\n\t\t\tdata: fetchTagsPayload,\n\t\t\tdetails: true,\n\t\t\tglob: '/systemtags/*', // Filter out first empty tag\n\t\t}) as ResponseDataDetailed[]>\n\t\treturn parseTags(tags)\n\t} catch (error) {\n\t\tlogger.error(t('systemtags', 'Failed to load tags'), { error })\n\t\tthrow new Error(t('systemtags', 'Failed to load tags'), { cause: error })\n\t}\n}\n\n/**\n * Fetch a single tag by its ID.\n *\n * @param tagId - The ID of the tag to fetch\n */\nexport async function fetchTag(tagId: number): Promise {\n\tconst path = '/systemtags/' + tagId\n\ttry {\n\t\tconst { data: tag } = await davClient.stat(path, {\n\t\t\tdata: fetchTagsPayload,\n\t\t\tdetails: true,\n\t\t}) as ResponseDataDetailed>\n\t\treturn parseTags([tag])[0]!\n\t} catch (error) {\n\t\tlogger.error(t('systemtags', 'Failed to load tag'), { error })\n\t\tthrow new Error(t('systemtags', 'Failed to load tag'), { cause: error })\n\t}\n}\n\n/**\n * Get the last used tag IDs.\n */\nexport async function fetchLastUsedTagIds(): Promise {\n\tconst url = generateUrl('/apps/systemtags/lastused')\n\ttry {\n\t\tconst { data: lastUsedTagIds } = await axios.get(url)\n\t\treturn lastUsedTagIds.map(Number)\n\t} catch (error) {\n\t\tlogger.error(t('systemtags', 'Failed to load last used tags'), { error })\n\t\tthrow new Error(t('systemtags', 'Failed to load last used tags'), { cause: error })\n\t}\n}\n\n/**\n * Create a tag and return the Id of the newly created tag.\n *\n * @param tag The tag to create\n */\nexport async function createTag(tag: Tag | ServerTag): Promise {\n\tconst path = '/systemtags'\n\tconst tagToPost = formatTag(tag)\n\ttry {\n\t\tconst { headers } = await davClient.customRequest(path, {\n\t\t\tmethod: 'POST',\n\t\t\tdata: tagToPost,\n\t\t})\n\t\tconst contentLocation = headers.get('content-location')\n\t\tif (contentLocation) {\n\t\t\temit('systemtags:tag:created', tag)\n\t\t\treturn parseIdFromLocation(contentLocation)\n\t\t}\n\t\tlogger.error(t('systemtags', 'Missing \"Content-Location\" header'))\n\t\tthrow new Error(t('systemtags', 'Missing \"Content-Location\" header'))\n\t} catch (error) {\n\t\tif ((error as WebDAVClientError)?.response?.status === 409) {\n\t\t\tlogger.error(t('systemtags', 'A tag with the same name already exists'), { error })\n\t\t\tthrow new Error(t('systemtags', 'A tag with the same name already exists'), { cause: error })\n\t\t}\n\t\tlogger.error(t('systemtags', 'Failed to create tag'), { error })\n\t\tthrow new Error(t('systemtags', 'Failed to create tag'), { cause: error })\n\t}\n}\n\n/**\n * Update a tag on the server.\n *\n * @param tag - The tag to update\n */\nexport async function updateTag(tag: TagWithId): Promise {\n\tconst path = '/systemtags/' + tag.id\n\tconst data = `\n\t\n\t\t\n\t\t\t\n\t\t\t\t${tag.displayName}\n\t\t\t\t${tag.userVisible}\n\t\t\t\t${tag.userAssignable}\n\t\t\t\t${tag?.color || null}\n\t\t\t\n\t\t\n\t`\n\n\ttry {\n\t\tawait davClient.customRequest(path, {\n\t\t\tmethod: 'PROPPATCH',\n\t\t\tdata,\n\t\t})\n\t\temit('systemtags:tag:updated', tag)\n\t} catch (error) {\n\t\tlogger.error(t('systemtags', 'Failed to update tag'), { error })\n\t\tthrow new Error(t('systemtags', 'Failed to update tag'), { cause: error })\n\t}\n}\n\n/**\n * Delete a tag.\n *\n * @param tag - The tag to delete\n */\nexport async function deleteTag(tag: TagWithId): Promise {\n\tconst path = '/systemtags/' + tag.id\n\ttry {\n\t\tawait davClient.deleteFile(path)\n\t\temit('systemtags:tag:deleted', tag)\n\t} catch (error) {\n\t\tlogger.error(t('systemtags', 'Failed to delete tag'), { error })\n\t\tthrow new Error(t('systemtags', 'Failed to delete tag'), { cause: error })\n\t}\n}\n\ntype TagObject = {\n\tid: number\n\ttype: string\n}\n\ntype TagObjectResponse = {\n\tetag: string\n\tobjects: TagObject[]\n}\n\n/**\n * Get the objects for a tag.\n *\n * @param tag - The tag to get the objects for\n * @param type - The type of the objects\n */\nexport async function getTagObjects(tag: TagWithId, type: string): Promise {\n\tconst path = `/systemtags/${tag.id}/${type}`\n\tconst data = `\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t`\n\n\tconst response = await davClient.stat(path, { data, details: true }) as ResponseDataDetailed\n\tconst etag = response?.data?.props?.getetag || '\"\"'\n\tconst objects = Object.values(response?.data?.props?.['object-ids'] || []).flat() as TagObject[]\n\n\treturn {\n\t\tetag,\n\t\tobjects,\n\t}\n}\n\n/**\n * Set the objects for a tag.\n * Warning: This will overwrite the existing objects.\n *\n * @param tag The tag to set the objects for\n * @param type The type of the objects\n * @param objectIds The objects to set\n * @param etag Strongly recommended to avoid conflict and data loss.\n */\nexport async function setTagObjects(tag: TagWithId, type: string, objectIds: TagObject[], etag: string = ''): Promise {\n\tconst path = `/systemtags/${tag.id}/${type}`\n\tlet data = `\n\t\n\t\t\n\t\t\t\n\t\t\t\t${objectIds.map(({ id, type }) => `${id}${type}`).join('')}\n\t\t\t\n\t\t\n\t`\n\n\tif (objectIds.length === 0) {\n\t\tdata = `\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t`\n\t}\n\n\tawait davClient.customRequest(path, {\n\t\tmethod: 'PROPPATCH',\n\t\tdata,\n\t\theaders: {\n\t\t\t'if-match': etag,\n\t\t},\n\t})\n}\n\n/**\n * Update the system tags admin restriction setting.\n *\n * @param isAllowed - True if system tags creation is allowed for non-admins\n */\nexport async function updateSystemTagsAdminRestriction(isAllowed: boolean): Promise {\n\t// Convert to string for compatibility\n\tconst isAllowedString = isAllowed ? '1' : '0'\n\n\tconst url = generateOcsUrl('/apps/provisioning_api/api/v1/config/apps/{appId}/{key}', {\n\t\tappId: 'systemtags',\n\t\tkey: 'restrict_creation_to_admin',\n\t})\n\n\tawait confirmPassword()\n\n\tconst { data } = await axios.post(url, {\n\t\tvalue: isAllowedString,\n\t})\n\n\treturn data\n}\n"],"names":["logger","getLoggerBuilder","defaultBaseTag","propertyMappings","parseTags","tags","props","key","value","parseIdFromLocation","url","queryPos","parts","result","formatTag","initialTag","tag","getNodeSystemTags","node","attribute","setNodeSystemTags","emit","davClient","getClient","fetchTagsPayload","fetchTags","path","error","t","fetchTag","tagId","createTag","tagToPost","headers","contentLocation","updateTag","data","deleteTag","getTagObjects","type","response","etag","objects","setTagObjects","objectIds","id","updateSystemTagsAdminRestriction","isAllowed","isAllowedString","generateOcsUrl","confirmPassword","axios"],"mappings":"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"} \ No newline at end of file diff --git a/dist/api-39Z_dRpm.chunk.mjs.map.license b/dist/api-CDZNaaKR.chunk.mjs.map.license similarity index 100% rename from dist/api-39Z_dRpm.chunk.mjs.map.license rename to dist/api-CDZNaaKR.chunk.mjs.map.license diff --git a/dist/core-login.js b/dist/core-login.js index d1b28bed0305f..5e7c4bad3a22f 100644 --- a/dist/core-login.js +++ b/dist/core-login.js @@ -1,2 +1,2 @@ -(()=>{var e,r,s,i={38309(e,r,s){"use strict";var i={};s.r(i),s.d(i,{clearIconCache:()=>ge,getIconUrl:()=>fe});var o=s(85471),a=s(81222),l=s(63814),c=s(82490),u=s(74095),d=s(371),h=s(53334),p=s(46855),f=s(32073),m=s(16044),g=s(82182);const v={name:"LoginButton",components:{ArrowRight:s(33691).A,NcButton:u.A},props:{value:{type:String,default:(0,h.Tl)("core","Log in")},valueLoading:{type:String,default:(0,h.Tl)("core","Logging in …")},loading:{type:Boolean,required:!0},invertedColors:{type:Boolean,default:!1}}};var y=s(85072),b=s.n(y),w=s(97825),A=s.n(w),_=s(77659),x=s.n(_),C=s(55056),k=s.n(C),P=s(10540),E=s.n(P),S=s(41113),T=s.n(S),N=s(14430),O={};O.styleTagTransform=T(),O.setAttributes=k(),O.insert=x().bind(null,"head"),O.domAPI=A(),O.insertStyleElement=E(),b()(N.A,O),N.A&&N.A.locals&&N.A.locals;var j=s(14486);const I=(0,j.A)(v,function(){var t=this,e=t._self._c;return e("NcButton",{attrs:{variant:"primary",type:"submit",wide:!0,disabled:t.loading},on:{click:function(e){return t.$emit("click")}},scopedSlots:t._u([{key:"icon",fn:function(){return[t.loading?e("div",{staticClass:"submit-wrapper__icon icon-loading-small-dark"}):e("ArrowRight",{staticClass:"submit-wrapper__icon"})]},proxy:!0}])},[t._v("\n\t"+t._s(t.loading?t.valueLoading:t.value)+"\n\t")])},[],!1,null,"bbf83d00",null).exports,L={computed:{userNameInputLengthIs255(){return this.user.length>=255},userInputHelperText(){if(this.userNameInputLengthIs255)return t("core","Email length is at max (255)")}}},M={name:"LoginForm",components:{LoginButton:I,NcCheckboxRadioSwitch:f.A,NcPasswordField:m.A,NcTextField:g.A,NcNoteCard:d.A},mixins:[L],props:{username:{type:String,default:""},redirectUrl:{type:[Boolean,String],default:!1},errors:{type:Array,default:()=>[]},messages:{type:Array,default:()=>[]},throttleDelay:{type:Number,default:0},autoCompleteAllowed:{type:Boolean,default:!0},remembermeAllowed:{type:Boolean,default:!0},directLogin:{type:Boolean,default:!1},emailStates:{type:Array,default:()=>[]}},setup:()=>({t:h.Tl,headlineText:(0,h.Tl)("core","Log in to {productName}",{productName:OC.theme.name},void 0,{sanitize:!1,escape:!1}),loginTimeout:(0,a.C)("core","loginTimeout",300),requestToken:window.OC.requestToken,timezone:(new Intl.DateTimeFormat)?.resolvedOptions()?.timeZone,timezoneOffset:-(new Date).getTimezoneOffset()/60}),data:t=>({loading:!1,user:t.username,password:"",rememberme:["1"],visible:!1}),computed:{resetFormTimeout(){return this.loginTimeout<=0?()=>{}:(0,p.A)(this.handleResetForm,1e3*this.loginTimeout)},isError(){return this.invalidPassword||this.userDisabled||this.throttleDelay>5e3},errorLabel(){return this.invalidPassword?(0,h.Tl)("core","Wrong login or password."):this.userDisabled?(0,h.Tl)("core","This account is disabled"):this.throttleDelay>5e3?(0,h.Tl)("core","Too many incorrect login attempts. Please try again in 30 seconds."):void 0},apacheAuthFailed(){return-1!==this.errors.indexOf("apacheAuthFailed")},csrfCheckFailed(){return-1!==this.errors.indexOf("csrfCheckFailed")},internalException(){return-1!==this.errors.indexOf("internalexception")},invalidPassword(){return-1!==this.errors.indexOf("invalidpassword")},userDisabled(){return-1!==this.errors.indexOf("userdisabled")},loadingIcon:()=>(0,l.d0)("core","loading-dark.gif"),loginActionUrl:()=>(0,l.Jv)("login"),emailEnabled(){return this.emailStates.every(t=>"1"===t)},loginText(){return this.emailEnabled?(0,h.Tl)("core","Account name or email"):(0,h.Tl)("core","Account name")}},watch:{password(){this.resetFormTimeout()}},mounted(){""===this.username?this.$refs.user.$refs.inputField.$refs.input.focus():this.$refs.password.$refs.inputField.$refs.input.focus()},methods:{handleResetForm(){this.password=""},updateUsername(){this.$emit("update:username",this.user)},submit(t){this.visible=!1,this.loading?t.preventDefault():(this.loading=!0,this.$emit("submit"))}}};var R=s(44098),B={};B.styleTagTransform=T(),B.setAttributes=k(),B.insert=x().bind(null,"head"),B.domAPI=A(),B.insertStyleElement=E(),b()(R.A,B),R.A&&R.A.locals&&R.A.locals;const H=(0,j.A)(M,function(){var t=this,e=t._self._c;return e("form",{ref:"loginForm",staticClass:"login-form",attrs:{method:"post",name:"login",action:t.loginActionUrl},on:{submit:t.submit}},[e("fieldset",{staticClass:"login-form__fieldset",attrs:{"data-login-form":""}},[t.apacheAuthFailed?e("NcNoteCard",{attrs:{title:t.t("core","Server side authentication failed!"),type:"warning"}},[t._v("\n\t\t\t"+t._s(t.t("core","Please contact your administrator."))+"\n\t\t")]):t._e(),t._v(" "),t.csrfCheckFailed?e("NcNoteCard",{attrs:{heading:t.t("core","Session error"),type:"error"}},[t._v("\n\t\t\t"+t._s(t.t("core","It appears your session token has expired, please refresh the page and try again."))+"\n\t\t")]):t._e(),t._v(" "),t.messages.length>0?e("NcNoteCard",t._l(t.messages,function(n,r){return e("div",{key:r},[t._v("\n\t\t\t\t"+t._s(n)),e("br")])}),0):t._e(),t._v(" "),t.internalException?e("NcNoteCard",{class:t.t("core","An internal error occurred."),attrs:{type:"warning"}},[t._v("\n\t\t\t"+t._s(t.t("core","Please try again or contact your administrator."))+"\n\t\t")]):t._e(),t._v(" "),e("div",{staticClass:"hidden",attrs:{id:"message"}},[e("img",{staticClass:"float-spinner",attrs:{alt:"",src:t.loadingIcon}}),t._v(" "),e("span",{attrs:{id:"messageText"}}),t._v(" "),e("div",{staticStyle:{clear:"both"}})]),t._v(" "),e("h2",{staticClass:"login-form__headline",attrs:{"data-login-form-headline":""}},[t._v("\n\t\t\t"+t._s(t.headlineText)+"\n\t\t")]),t._v(" "),e("NcTextField",{ref:"user",class:{shake:t.invalidPassword},attrs:{id:"user",label:t.loginText,name:"user",maxlength:255,autocapitalize:"none",spellchecking:!1,autocomplete:t.autoCompleteAllowed?"username":"off",required:"",error:t.userNameInputLengthIs255,"helper-text":t.userInputHelperText,"data-login-form-input-user":""},on:{change:t.updateUsername},model:{value:t.user,callback:function(e){t.user=e},expression:"user"}}),t._v(" "),e("NcPasswordField",{ref:"password",class:{shake:t.invalidPassword},attrs:{id:"password",name:"password",spellchecking:!1,autocapitalize:"none",autocomplete:t.autoCompleteAllowed?"current-password":"off",label:t.t("core","Password"),"helper-text":t.errorLabel,error:t.isError,visible:t.visible,"data-login-form-input-password":"",required:""},model:{value:t.password,callback:function(e){t.password=e},expression:"password"}}),t._v(" "),t.remembermeAllowed?e("NcCheckboxRadioSwitch",{ref:"rememberme",attrs:{id:"rememberme",name:"rememberme",value:"1","data-login-form-input-rememberme":""},model:{value:t.rememberme,callback:function(e){t.rememberme=e},expression:"rememberme"}},[t._v("\n\t\t\t"+t._s(t.t("core","Remember me"))+"\n\t\t")]):t._e(),t._v(" "),e("LoginButton",{attrs:{"data-login-form-submit":"",loading:t.loading}}),t._v(" "),t.redirectUrl?e("input",{attrs:{type:"hidden",name:"redirect_url"},domProps:{value:t.redirectUrl}}):t._e(),t._v(" "),e("input",{attrs:{type:"hidden",name:"timezone"},domProps:{value:t.timezone}}),t._v(" "),e("input",{attrs:{type:"hidden",name:"timezone_offset"},domProps:{value:t.timezoneOffset}}),t._v(" "),e("input",{attrs:{type:"hidden",name:"requesttoken"},domProps:{value:t.requestToken}}),t._v(" "),t.directLogin?e("input",{attrs:{type:"hidden",name:"direct",value:"1"}}):t._e()],1)])},[],!1,null,"f91ba7fe",null).exports;function F(){return U.stubThis(void 0!==globalThis?.PublicKeyCredential&&"function"==typeof globalThis.PublicKeyCredential)}const U={stubThis:t=>t};class D extends Error{constructor({message:t,code:e,cause:n,name:r}){super(t,{cause:n}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.name=r??n.name,this.code=e}}const z=new class{constructor(){Object.defineProperty(this,"controller",{enumerable:!0,configurable:!0,writable:!0,value:void 0})}createNewAbortSignal(){if(this.controller){const t=new Error("Cancelling existing WebAuthn API call for new one");t.name="AbortError",this.controller.abort(t)}const t=new AbortController;return this.controller=t,t.signal}cancelCeremony(){if(this.controller){const t=new Error("Manually cancelling existing WebAuthn API call");t.name="AbortError",this.controller.abort(t),this.controller=void 0}}};function q(t){const e=new Uint8Array(t);let n="";for(const t of e)n+=String.fromCharCode(t);return btoa(n).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function $(t){const e=t.replace(/-/g,"+").replace(/_/g,"/"),n=(4-e.length%4)%4,r=e.padEnd(e.length+n,"="),s=atob(r),i=new ArrayBuffer(s.length),o=new Uint8Array(i);for(let t=0;tt;function Y(t){const{id:e}=t;return{...t,id:$(e),transports:t.transports}}const K=["cross-platform","platform"];function W(t){if(t&&!(K.indexOf(t)<0))return t}var J=s(42507),G=s(41423);const X={name:"LockOpenIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Q=(0,j.A)(X,function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon lock-open-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:"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"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])},[],!1,null,null,null).exports;var Z=s(21777),tt=s(35947);const et=null===(nt=(0,Z.HW)())?(0,tt.YK)().setApp("core").build():(0,tt.YK)().setApp("core").setUid(nt.uid).build();var nt;(0,tt.YK)().setApp("unified-search").detectUser().build();var rt=s(19051);class st extends Error{}const it=(0,o.pM)({name:"PasswordLessLoginForm",components:{LoginButton:I,InformationIcon:G.A,LockOpenIcon:Q,NcEmptyContent:J.A,NcTextField:g.A},props:{username:{type:String,default:""},redirectUrl:{type:[Boolean,String],default:!1},autoCompleteAllowed:{type:Boolean,default:!0},isHttps:{type:Boolean,default:!1},isLocalhost:{type:Boolean,default:!1}},setup:()=>({supportsWebauthn:F()}),data(){return{user:this.username,loading:!1,validCredentials:!0}},methods:{async authenticate(){if(this.$refs.loginForm.checkValidity()){et.debug("passwordless login initiated");try{const t=await async function(t){const e=(0,l.Jv)("/login/webauthn/start"),{data:n}=await rt.Ay.post(e,{loginName:t});if(!n.allowCredentials||0===n.allowCredentials.length)throw et.error("No valid credentials returned for webauthn"),new st;return await async function(t){!t.optionsJSON&&t.challenge&&(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."),t={optionsJSON:t});const{optionsJSON:e,useBrowserAutofill:n=!1,verifyBrowserAutofillInput:r=!0}=t;if(!F())throw new Error("WebAuthn is not supported in this browser");let s;0!==e.allowCredentials?.length&&(s=e.allowCredentials?.map(Y));const i={...e,challenge:$(e.challenge),allowCredentials:s},o={};if(n){if(!await function(){if(!F())return V(new Promise(t=>t(!1)));const t=globalThis.PublicKeyCredential;return V(void 0===t?.isConditionalMediationAvailable?new Promise(t=>t(!1)):t.isConditionalMediationAvailable())}())throw Error("Browser does not support WebAuthn autofill");if(document.querySelectorAll("input[autocomplete$='webauthn']").length<1&&r)throw Error('No with "webauthn" as the only or last value in its `autocomplete` attribute was detected');o.mediation="conditional",i.allowCredentials=[]}let a;o.publicKey=i,o.signal=z.createNewAbortSignal();try{a=await navigator.credentials.get(o)}catch(t){throw function({error:t,options:e}){const{publicKey:n}=e;if(!n)throw Error("options was missing required publicKey property");if("AbortError"===t.name){if(e.signal instanceof AbortSignal)return new D({message:"Authentication ceremony was sent an abort signal",code:"ERROR_CEREMONY_ABORTED",cause:t})}else{if("NotAllowedError"===t.name)return new D({message:t.message,code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:t});if("SecurityError"===t.name){const e=globalThis.location.hostname;if("localhost"!==(r=e)&&!/^((xn--[a-z0-9-]+|[a-z0-9]+(-[a-z0-9]+)*)\.)+([a-z]{2,}|xn--[a-z0-9-]+)$/i.test(r))return new D({message:`${globalThis.location.hostname} is an invalid domain`,code:"ERROR_INVALID_DOMAIN",cause:t});if(n.rpId!==e)return new D({message:`The RP ID "${n.rpId}" is invalid for this domain`,code:"ERROR_INVALID_RP_ID",cause:t})}else if("UnknownError"===t.name)return new D({message:"The authenticator was unable to process the specified options, or could not create a new assertion signature",code:"ERROR_AUTHENTICATOR_GENERAL_ERROR",cause:t})}var r;return t}({error:t,options:o})}if(!a)throw new Error("Authentication was not completed");const{id:l,rawId:c,response:u,type:d}=a;let h;return u.userHandle&&(h=q(u.userHandle)),{id:l,rawId:q(c),response:{authenticatorData:q(u.authenticatorData),clientDataJSON:q(u.clientDataJSON),signature:q(u.signature),userHandle:h},type:d,clientExtensionResults:a.getClientExtensionResults(),authenticatorAttachment:W(a.authenticatorAttachment)}}({optionsJSON:n})}(this.user);await this.completeAuthentication(t)}catch(t){if(t instanceof st)return void(this.validCredentials=!1);et.debug(t)}}},changeUsername(t){this.user=t,this.$emit("update:username",this.user)},completeAuthentication(t){const e=this.redirectUrl;return async function(t){const e=(0,l.Jv)("/login/webauthn/finish"),{data:n}=await rt.Ay.post(e,{data:JSON.stringify(t)});return n}(t).then(({defaultRedirectUrl:t})=>{et.debug("Logged in redirecting"),window.location.href=e||t}).catch(t=>{et.debug("GOT AN ERROR WHILE SUBMITTING CHALLENGE!",{error:t})})},submit(){}}});var ot=s(57056),at={};at.styleTagTransform=T(),at.setAttributes=k(),at.insert=x().bind(null,"head"),at.domAPI=A(),at.insertStyleElement=E(),b()(ot.A,at),ot.A&&ot.A.locals&&ot.A.locals;var lt=(0,j.A)(it,function(){var t=this,e=t._self._c;return t._self._setupProxy,(t.isHttps||t.isLocalhost)&&t.supportsWebauthn?e("form",{ref:"loginForm",staticClass:"password-less-login-form",attrs:{"aria-labelledby":"password-less-login-form-title",method:"post",name:"login"},on:{submit:function(e){return e.preventDefault(),t.submit.apply(null,arguments)}}},[e("h2",{attrs:{id:"password-less-login-form-title"}},[t._v("\n\t\t"+t._s(t.t("core","Log in with a device"))+"\n\t")]),t._v(" "),e("NcTextField",{attrs:{required:"","model-value":t.user,autocomplete:t.autoCompleteAllowed?"on":"off",error:!t.validCredentials,label:t.t("core","Login or email"),placeholder:t.t("core","Login or email"),"helper-text":t.validCredentials?"":t.t("core","Your account is not setup for passwordless login.")},on:{"update:value":t.changeUsername}}),t._v(" "),t.validCredentials?e("LoginButton",{attrs:{loading:t.loading},on:{click:t.authenticate}}):t._e()],1):t.isHttps||t.isLocalhost?e("NcEmptyContent",{attrs:{name:t.t("core","Browser not supported"),description:t.t("core","Passwordless authentication is not supported in your browser.")},scopedSlots:t._u([{key:"icon",fn:function(){return[e("InformationIcon")]},proxy:!0}])}):e("NcEmptyContent",{attrs:{name:t.t("core","Your connection is not secure"),description:t.t("core","Passwordless authentication is only available over a secure connection.")},scopedSlots:t._u([{key:"icon",fn:function(){return[e("LockOpenIcon")]},proxy:!0}])})},[],!1,null,"0b57a680",null);const ct=lt.exports,ut=(0,o.pM)({name:"ResetPassword",components:{LoginButton:I,NcButton:u.A,NcNoteCard:d.A,NcTextField:g.A},mixins:[L],props:{username:{type:String,required:!0},resetPasswordLink:{type:String,required:!0}},data(){return{error:!1,loading:!1,message:"",user:this.username}},watch:{username(t){this.user=t}},methods:{updateUsername(){this.$emit("update:username",this.user)},async submit(){this.loading=!0,this.error=!1,this.message="";const t=(0,l.Jv)("/lostpassword/email");try{const{data:e}=await rt.Ay.post(t,{user:this.user});if("success"!==e.status)throw new Error(`got status ${e.status}`);this.message="send-success"}catch(t){et.error("could not send reset email request",{error:t}),this.error=!0,this.message="send-error"}finally{this.loading=!1}}}});var dt=s(99322),ht={};ht.styleTagTransform=T(),ht.setAttributes=k(),ht.insert=x().bind(null,"head"),ht.domAPI=A(),ht.insertStyleElement=E(),b()(dt.A,ht),dt.A&&dt.A.locals&&dt.A.locals;var pt=(0,j.A)(ut,function(){var t=this,e=t._self._c;return t._self._setupProxy,e("form",{staticClass:"reset-password-form",on:{submit:function(e){return e.preventDefault(),t.submit.apply(null,arguments)}}},[e("h2",[t._v(t._s(t.t("core","Reset password")))]),t._v(" "),e("NcTextField",{attrs:{id:"user",name:"user",maxlength:255,autocapitalize:"off",label:t.t("core","Login or email"),error:t.userNameInputLengthIs255,"helper-text":t.userInputHelperText,required:""},on:{change:t.updateUsername},model:{value:t.user,callback:function(e){t.user=e},expression:"user"}}),t._v(" "),e("LoginButton",{attrs:{loading:t.loading,value:t.t("core","Reset password")}}),t._v(" "),e("NcButton",{attrs:{variant:"tertiary",wide:""},on:{click:function(e){return t.$emit("abort")}}},[t._v("\n\t\t"+t._s(t.t("core","Back to login"))+"\n\t")]),t._v(" "),"send-success"===t.message?e("NcNoteCard",{attrs:{type:"success"}},[t._v("\n\t\t"+t._s(t.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")]):"send-error"===t.message?e("NcNoteCard",{attrs:{type:"error"}},[t._v("\n\t\t"+t._s(t.t("core","Couldn't send reset email. Please contact your administrator."))+"\n\t")]):"reset-error"===t.message?e("NcNoteCard",{attrs:{type:"error"}},[t._v("\n\t\t"+t._s(t.t("core","Password cannot be changed. Please contact your administrator."))+"\n\t")]):t._e()],1)},[],!1,null,"759a0fdd",null);const ft=pt.exports,mt={name:"UpdatePassword",components:{LoginButton:I},props:{username:{type:String,required:!0},resetPasswordTarget:{type:String,required:!0}},data(){return{error:!1,loading:!1,message:void 0,user:this.username,password:"",encrypted:!1,proceed:!1}},watch:{username(t){this.user=t}},methods:{async submit(){this.loading=!0,this.error=!1,this.message="";try{const{data:t}=await rt.Ay.post(this.resetPasswordTarget,{password:this.password,proceed:this.proceed});if(t&&"success"===t.status)this.message="send-success",this.$emit("update:username",this.user),this.$emit("done");else{if(!t||!t.encryption)throw t&&t.msg?new Error(t.msg):new Error;this.encrypted=!0}}catch(e){this.error=!0,this.message=e.message?e.message:t("core","Password cannot be changed. Please contact your administrator.")}finally{this.loading=!1}}}};var gt=s(81604),vt={};vt.styleTagTransform=T(),vt.setAttributes=k(),vt.insert=x().bind(null,"head"),vt.domAPI=A(),vt.insertStyleElement=E(),b()(gt.A,vt),gt.A&>.A.locals&>.A.locals;var yt=(0,j.A)(mt,function(){var t=this,e=t._self._c;return e("form",{on:{submit:function(e){return e.preventDefault(),t.submit.apply(null,arguments)}}},[e("fieldset",[e("p",[e("label",{staticClass:"infield",attrs:{for:"password"}},[t._v(t._s(t.t("core","New password")))]),t._v(" "),e("input",{directives:[{name:"model",rawName:"v-model",value:t.password,expression:"password"}],attrs:{id:"password",type:"password",name:"password",autocomplete:"new-password",autocapitalize:"none",spellcheck:"false",required:"",placeholder:t.t("core","New password")},domProps:{value:t.password},on:{input:function(e){e.target.composing||(t.password=e.target.value)}}})]),t._v(" "),t.encrypted?e("div",{staticClass:"update"},[e("p",[t._v("\n\t\t\t\t"+t._s(t.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")]),t._v(" "),e("input",{directives:[{name:"model",rawName:"v-model",value:t.proceed,expression:"proceed"}],staticClass:"checkbox",attrs:{id:"encrypted-continue",type:"checkbox"},domProps:{checked:Array.isArray(t.proceed)?t._i(t.proceed,null)>-1:t.proceed},on:{change:function(e){var n=t.proceed,r=e.target,s=!!r.checked;if(Array.isArray(n)){var i=t._i(n,null);r.checked?i<0&&(t.proceed=n.concat([null])):i>-1&&(t.proceed=n.slice(0,i).concat(n.slice(i+1)))}else t.proceed=s}}}),t._v(" "),e("label",{attrs:{for:"encrypted-continue"}},[t._v("\n\t\t\t\t"+t._s(t.t("core","I know what I'm doing"))+"\n\t\t\t")])]):t._e(),t._v(" "),e("LoginButton",{attrs:{loading:t.loading,value:t.t("core","Reset password"),"value-loading":t.t("core","Resetting password")}}),t._v(" "),t.error&&t.message?e("p",{class:{warning:t.error}},[t._v("\n\t\t\t"+t._s(t.message)+"\n\t\t")]):t._e()],1)])},[],!1,null,"2c0ecaf9",null);const bt=yt.exports;const wt=c.A.parse(location.search);"1"===wt.clear&&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);et.debug("Browser storages cleared")}catch(t){et.error("Could not clear browser storages",{error:t})}}();const At={name:"Login",components:{LoginForm:H,PasswordLessLoginForm:ct,ResetPassword:ft,UpdatePassword:bt,NcButton:u.A,NcNoteCard:d.A},data:()=>({loading:!1,user:(0,a.C)("core","loginUsername",""),passwordlessLogin:!1,resetPassword:!1,errors:(0,a.C)("core","loginErrors",[]),messages:(0,a.C)("core","loginMessages",[]),redirectUrl:(0,a.C)("core","loginRedirectUrl",!1),throttleDelay:(0,a.C)("core","loginThrottleDelay",0),canResetPassword:(0,a.C)("core","loginCanResetPassword",!1),resetPasswordLink:(0,a.C)("core","loginResetPasswordLink",""),autoCompleteAllowed:(0,a.C)("core","loginAutocomplete",!0),remembermeAllowed:(0,a.C)("core","loginCanRememberme",!0),resetPasswordTarget:(0,a.C)("core","resetPasswordTarget",""),resetPasswordUser:(0,a.C)("core","resetPasswordUser",""),directLogin:"1"===wt.direct,hasPasswordless:(0,a.C)("core","webauthn-available",!1),countAlternativeLogins:(0,a.C)("core","countAlternativeLogins",!1),alternativeLogins:(0,a.C)("core","alternativeLogins",[]),isHttps:"https:"===window.location.protocol,isLocalhost:"localhost"===window.location.hostname,hideLoginForm:(0,a.C)("core","hideLoginForm",!1),emailStates:(0,a.C)("core","emailStates",[])}),methods:{passwordResetFinished(){window.location.href=(0,l.Jv)("login")+"?direct=1"}}};var _t=s(11999),xt={};xt.styleTagTransform=T(),xt.setAttributes=k(),xt.insert=x().bind(null,"head"),xt.domAPI=A(),xt.insertStyleElement=E(),b()(_t.A,xt),_t.A&&_t.A.locals&&_t.A.locals;const Ct=(0,j.A)(At,function(){var t=this,e=t._self._c;return e("div",{staticClass:"guest-box login-box"},[!t.hideLoginForm||t.directLogin?[e("transition",{attrs:{name:"fade",mode:"out-in"}},[t.passwordlessLogin||t.resetPassword||""!==t.resetPasswordTarget?!t.loading&&t.passwordlessLogin?e("div",{key:"reset-pw-less",staticClass:"login-additional login-box__wrapper"},[e("PasswordLessLoginForm",{attrs:{username:t.user,"redirect-url":t.redirectUrl,"auto-complete-allowed":t.autoCompleteAllowed,"is-https":t.isHttps,"is-localhost":t.isLocalhost},on:{"update:username":function(e){t.user=e},submit:function(e){t.loading=!0}}}),t._v(" "),e("NcButton",{attrs:{variant:"tertiary","aria-label":t.t("core","Back to login form"),wide:!0},on:{click:function(e){t.passwordlessLogin=!1}}},[t._v("\n\t\t\t\t\t"+t._s(t.t("core","Back"))+"\n\t\t\t\t")])],1):!t.loading&&t.canResetPassword?e("div",{key:"reset-can-reset",staticClass:"login-additional"},[e("div",{staticClass:"lost-password-container"},[t.resetPassword?e("ResetPassword",{attrs:{username:t.user,"reset-password-link":t.resetPasswordLink},on:{"update:username":function(e){t.user=e},abort:function(e){t.resetPassword=!1}}}):t._e()],1)]):""!==t.resetPasswordTarget?e("div",[e("UpdatePassword",{attrs:{username:t.user,"reset-password-target":t.resetPasswordTarget},on:{"update:username":function(e){t.user=e},done:t.passwordResetFinished}})],1):t._e():e("div",{staticClass:"login-box__wrapper"},[e("LoginForm",{attrs:{username:t.user,"redirect-url":t.redirectUrl,"direct-login":t.directLogin,messages:t.messages,errors:t.errors,"throttle-delay":t.throttleDelay,"auto-complete-allowed":t.autoCompleteAllowed,"rememberme-allowed":t.remembermeAllowed,"email-states":t.emailStates},on:{"update:username":function(e){t.user=e},submit:function(e){t.loading=!0}}}),t._v(" "),t.hasPasswordless?e("NcButton",{attrs:{variant:"tertiary",wide:""},on:{click:function(e){e.preventDefault(),t.passwordlessLogin=!0}}},[t._v("\n\t\t\t\t\t"+t._s(t.t("core","Log in with a device"))+"\n\t\t\t\t")]):t._e(),t._v(" "),t.canResetPassword&&""!==t.resetPasswordLink?e("NcButton",{attrs:{id:"lost-password",href:t.resetPasswordLink,variant:"tertiary-no-background",wide:""}},[t._v("\n\t\t\t\t\t"+t._s(t.t("core","Forgot password?"))+"\n\t\t\t\t")]):t.canResetPassword&&!t.resetPassword?e("NcButton",{attrs:{id:"lost-password",variant:"tertiary",wide:""},on:{click:function(e){e.preventDefault(),t.resetPassword=!0}}},[t._v("\n\t\t\t\t\t"+t._s(t.t("core","Forgot password?"))+"\n\t\t\t\t")]):t._e()],1)])]:[e("transition",{attrs:{name:"fade",mode:"out-in"}},[e("NcNoteCard",{attrs:{type:"info",title:t.t("core","Login form is disabled.")}},[t._v("\n\t\t\t\t"+t._s(t.t("core","The Nextcloud login form is disabled. Use another login option if available or contact your administration."))+"\n\t\t\t")])],1)],t._v(" "),e("div",{staticClass:"login-box__alternative-logins",attrs:{id:"alternative-logins"}},t._l(t.alternativeLogins,function(n,r){return e("NcButton",{key:r,class:[n.class],attrs:{variant:"secondary",wide:!0,role:"link",href:n.href}},[t._v("\n\t\t\t"+t._s(n.name)+"\n\t\t")])}),1)],2)},[],!1,null,"518c0816",null).exports;var kt=s(61338),Pt=s(71225);const Et=!!window._oc_isadmin,St=window.oc_appconfig||{};var Tt=s(74692),Nt=s.n(Tt);let Ot=!1;const jt={enableDynamicSlideToggle(){Ot=!0},showAppSidebar:function(t){(t||Nt()("#app-sidebar")).removeClass("disappear").show(),Nt()("#app-content").trigger(new(Nt().Event)("appresized"))},hideAppSidebar:function(t){(t||Nt()("#app-sidebar")).hide().addClass("disappear"),Nt()("#app-content").trigger(new(Nt().Event)("appresized"))}},It=jt,Lt=void 0!==window._oc_appswebroots&&window._oc_appswebroots;var Mt=s(21391),Rt=s.n(Mt),Bt=s(78112),Ht=s(86860);const Ft={create:"POST",update:"PROPPATCH",patch:"PROPPATCH",delete:"DELETE",read:"PROPFIND"};function Ut(t,e){if(Ht.default.isArray(t))return Ht.default.map(t,function(t){return Ut(t,e)});const n={href:t.href};return Ht.default.each(t.propStat,function(t){if("HTTP/1.1 200 OK"===t.status)for(const r in t.properties){let s=r;r in e&&(s=e[r]),n[s]=t.properties[r]}}),n.id||(n.id=Dt(n.href)),n}function Dt(t){const e=t.indexOf("?");e>0&&(t=t.substr(0,e));const n=t.split("/");let r;do{r=n[n.length-1],n.pop()}while(!r&&n.length>0);return r}function zt(t){return t>=200&&t<=299}function qt(t,e,n,r){return t.propPatch(e.url,function(t,e){const n={};let r;for(r in t){let s=e[r],i=t[r];s||(et.warn('No matching DAV property for property "'+r),s=r),(Ht.default.isBoolean(i)||Ht.default.isNumber(i))&&(i=""+i),n[s]=i}return n}(n.changed,e.davProperties),r).then(function(t){zt(t.status)?Ht.default.isFunction(e.success)&&e.success(n.toJSON()):Ht.default.isFunction(e.error)&&e.error(t)})}const $t=Rt().noConflict();Object.assign($t,{davCall:function(t,e){const n=new Bt.dav.Client({baseUrl:t.url,xmlNamespaces:Ht.default.extend({"DAV:":"d","http://owncloud.org/ns":"oc"},t.xmlNamespaces||{})});n.resolveUrl=function(){return t.url};const r=Ht.default.extend({"X-Requested-With":"XMLHttpRequest",requesttoken:OC.requestToken},t.headers);return"PROPFIND"===t.type?function(t,e,n,r){return t.propFind(e.url,Ht.default.values(e.davProperties)||[],e.depth,r).then(function(t){if(zt(t.status)){if(Ht.default.isFunction(e.success)){const n=Ht.default.invert(e.davProperties),r=Ut(t.body,n);e.depth>0&&r.shift(),e.success(r)}}else Ht.default.isFunction(e.error)&&e.error(t)})}(n,t,0,r):"PROPPATCH"===t.type?qt(n,t,e,r):"MKCOL"===t.type?function(t,e,n,r){return t.request(e.type,e.url,r,null).then(function(s){zt(s.status)?qt(t,e,n,r):Ht.default.isFunction(e.error)&&e.error(s)})}(n,t,e,r):function(t,e,n,r){return r["Content-Type"]="application/json",t.request(e.type,e.url,r,e.data).then(function(t){if(zt(t.status)){if(Ht.default.isFunction(e.success)){if("PUT"===e.type||"POST"===e.type||"MKCOL"===e.type){const r=t.body||n.toJSON(),s=t.xhr.getResponseHeader("Content-Location");return"POST"===e.type&&s&&(r.id=Dt(s)),void e.success(r)}if(207===t.status){const n=Ht.default.invert(e.davProperties);e.success(Ut(t.body,n))}else e.success(t.body)}}else Ht.default.isFunction(e.error)&&e.error(t)})}(n,t,e,r)},davSync:function(t){return(e,n,r)=>{const s={type:Ft[e]||e},i=n instanceof t.Collection;if("update"===e&&(n.hasInnerCollection?s.type="MKCOL":(n.usePUT||n.collection&&n.collection.usePUT)&&(s.type="PUT")),r.url||(s.url=Ht.default.result(n,"url")||function(){throw new Error('A "url" property or function must be specified')}()),null!=r.data||!n||"create"!==e&&"update"!==e&&"patch"!==e||(s.data=JSON.stringify(r.attrs||n.toJSON(r))),"PROPFIND"!==s.type&&(s.processData=!1),"PROPFIND"===s.type||"PROPPATCH"===s.type){let t=n.davProperties;!t&&n.model&&(t=n.model.prototype.davProperties),t&&(Ht.default.isFunction(t)?s.davProperties=t.call(n):s.davProperties=t),s.davProperties=Ht.default.extend(s.davProperties||{},r.davProperties),Ht.default.isUndefined(r.depth)&&(r.depth=i?1:0)}const o=r.error;r.error=function(t,e,n){r.textStatus=e,r.errorThrown=n,o&&o.call(r.context,t,e,n)};const a=r.xhr=t.davCall(Ht.default.extend(s,r),n);return n.trigger("request",n,a,r),a}}($t)});const Vt=$t;var Yt=s(87485);const Kt=window._oc_config||{},Wt=document.getElementsByTagName("head")[0].getAttribute("data-user"),Jt=document.getElementsByTagName("head")[0].getAttribute("data-user-displayname"),Gt=void 0!==Wt&&Wt,Xt=window._oc_debug;var Qt=s(21363),Zt=s(85168),te=s(98469),ee=s(43627);const ne={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,n,r){this.message(t,e,"alert",ne.OK_BUTTON,n,r)},info:function(t,e,n,r){this.message(t,e,"info",ne.OK_BUTTON,n,r)},confirm:function(t,e,n,r){return this.message(t,e,"notice",ne.YES_NO_BUTTONS,n,r)},confirmDestructive:function(t,e,n=ne.OK_BUTTONS,r=()=>{}){return(new Zt.ik).setName(e).setText(t).setButtons(n===ne.OK_BUTTONS?[{label:(0,h.t)("core","Yes"),variant:"error",callback:()=>{r.clicked=!0,r(!0)}}]:ne._getLegacyButtons(n,r)).build().show().then(()=>{r.clicked||r(!1)})},confirmHtml:function(t,e,n){return(new Zt.ik).setName(e).setText("").setButtons([{label:(0,h.t)("core","No"),callback:()=>{}},{label:(0,h.t)("core","Yes"),variant:"primary",callback:()=>{n.clicked=!0,n(!0)}}]).build().setHTML(t).show().then(()=>{n.clicked||n(!1)})},prompt:function(t,e,n,r,i,a){return new Promise(r=>{(0,te.S)((0,o.$V)(()=>Promise.all([s.e(4208),s.e(9553)]).then(s.bind(s,99553))),{text:t,name:e,callback:n,inputName:i,isPassword:!!a},(...t)=>{n(...t),r()})})},filepicker(t,e,n=!1,r=void 0,s=void 0,i=Zt.bh.Choose,o=void 0,a=void 0){const l=(t,e)=>{const r=t=>{const e=t?.root||"";let n=t?.path||"";return n.startsWith(e)&&(n=n.slice(e.length)||"/"),n};return n?n=>t(n.map(r),e):n=>t(r(n[0]),e)},c=(0,Zt.a1)(t);i===this.FILEPICKER_TYPE_CUSTOM?(a.buttons||[]).forEach(t=>{c.addButton({callback:l(e,t.type),label:t.text,variant:t.defaultButton?"primary":"secondary"})}):c.setButtonFactory((t,n)=>{const r=[],[s]=t,o=s?.displayname||s?.basename||(0,ee.basename)(n);return i===Zt.bh.Choose&&r.push({callback:l(e,Zt.bh.Choose),label:s&&!this.multiSelect?(0,h.t)("core","Choose {file}",{file:o}):(0,h.t)("core","Choose"),variant:"primary"}),i!==Zt.bh.CopyMove&&i!==Zt.bh.Copy||r.push({callback:l(e,Zt.bh.Copy),label:o?(0,h.t)("core","Copy to {target}",{target:o}):(0,h.t)("core","Copy"),variant:"primary",icon:Qt}),i!==Zt.bh.Move&&i!==Zt.bh.CopyMove||r.push({callback:l(e,Zt.bh.Move),label:o?(0,h.t)("core","Move to {target}",{target:o}):(0,h.t)("core","Move"),variant:i===Zt.bh.Move?"primary":"secondary",icon:''}),r}),r&&c.setMimeTypeFilter("string"==typeof r?[r]:r||[]),"function"==typeof a?.filter&&c.setFilter(t=>a.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))),c.allowDirectories(!0===a?.allowDirectoryChooser||r?.includes("httpd/unix-directory")||!1).setMultiSelect(n).startAt(o).build().pick()},message:function(t,e,n,r,s=()=>{},i,o){const a=(new Zt.ik).setName(e).setText(o?"":t).setButtons(ne._getLegacyButtons(r,s));switch(n){case"alert":a.setSeverity("warning");break;case"notice":a.setSeverity("info")}const l=a.build();return o&&l.setHTML(t),l.show().then(()=>{s._clicked||s(!1)})},_getLegacyButtons(t,e){const n=[];switch("object"==typeof t?t.type:t){case ne.YES_NO_BUTTONS:n.push({label:t?.cancel??(0,h.t)("core","No"),callback:()=>{e._clicked=!0,e(!1)}}),n.push({label:t?.confirm??(0,h.t)("core","Yes"),variant:"primary",callback:()=>{e._clicked=!0,e(!0)}});break;case ne.OK_BUTTONS:n.push({label:t?.confirm??(0,h.t)("core","OK"),variant:"primary",callback:()=>{e._clicked=!0,e(!0)}});break;default:et.error("Invalid call to OC.dialogs")}return n},_fileexistsshown:!1,fileexists:function(t,e,r,s){const i=this,o=new(Nt().Deferred),a=function(e,n,r){const s=e.find(".template").clone().removeClass("template").addClass("conflict"),i=s.find(".original"),o=s.find(".replacement");s.data("data",t),s.find(".filename").text(n.name),i.find(".size").text(je.Util.humanFileSize(n.size)),i.find(".mtime").text(je.Util.formatDate(n.mtime)),r.size&&r.lastModified&&(o.find(".size").text(je.Util.humanFileSize(r.size)),o.find(".mtime").text(je.Util.formatDate(r.lastModified)));let a=n.directory+"/"+n.name;const l={file:a,x:96,y:96,c:n.etag,forceIcon:0};let c=Files.generatePreviewUrl(l);c=c.replace(/'/g,"%27"),i.find(".icon").css({"background-image":"url('"+c+"')"}),function(t){const e=new(Nt().Deferred),n=t.type&&t.type.split("/").shift();if(window.FileReader&&"image"===n){const n=new FileReader;n.onload=function(t){const n=new Blob([t.target.result]);window.URL=window.URL||window.webkitURL;const r=window.URL.createObjectURL(n),s=new Image;s.src=r,s.onload=function(){const t=function(t){const e=document.createElement("canvas"),n=t.width,r=t.height;let s,i;n>r?(i=0,s=(n-r)/2):(i=(r-n)/2,s=0);const o=Math.min(n,r);return e.width=o,e.height=o,e.getContext("2d").drawImage(t,s,i,o,o,0,0,o,o),function(t,e,n,r,s){r=Math.round(r),s=Math.round(s);const i=t.getContext("2d").getImageData(0,0,e,n),o=t.getContext("2d").getImageData(0,0,r,s),a=i.data,l=o.data,c=e/r,u=n/s,d=Math.ceil(c/2),h=Math.ceil(u/2);for(let t=0;t=-1&&c<=1&&(i=2*c*c*c-3*c*c+1,i>0&&(n=4*(t+r*e),v+=i*a[n+3],p+=i,a[n+3]<255&&(i=i*a[n+3]/250),f+=i*a[n],m+=i*a[n+1],g+=i*a[n+2],o+=i))}}l[s]=f/o,l[s+1]=m/o,l[s+2]=g/o,l[s+3]=v/p}t.getContext("2d").clearRect(0,0,Math.max(e,r),Math.max(n,s)),t.width=r,t.height=s,t.getContext("2d").putImageData(o,0,0)}(e,o,o,96,96),e.toDataURL("image/png",.7)}(s);e.resolve(t)}},n.readAsArrayBuffer(t)}else e.reject();return e}(r).then(function(t){o.find(".icon").css("background-image","url("+t+")")},function(){a=je.MimeType.getIconUrl(r.type),o.find(".icon").css("background-image","url("+a+")")});const u=e.find(".conflict").length;i.find("input:checkbox").attr("id","checkbox_original_"+u),o.find("input:checkbox").attr("id","checkbox_replacement_"+u),e.append(s),r.lastModified>n.mtime?o.find(".mtime").css("font-weight","bold"):r.lastModifiedn.size?o.find(".size").css("font-weight","bold"):r.size&&r.size0?(Nt()(c).find(".allnewfiles").prop("checked",!1),Nt()(c).find(".allnewfiles + .count").text((0,h.t)("core","({count} selected)",{count:t}))):(Nt()(c).find(".allnewfiles").prop("checked",!1),Nt()(c).find(".allnewfiles + .count").text("")),m()}),Nt()(c).on("click",".original,.allexistingfiles",function(){const t=Nt()(c).find('.conflict .original input[type="checkbox"]:checked').length;t===Nt()(c+" .conflict").length?(Nt()(c).find(".allexistingfiles").prop("checked",!0),Nt()(c).find(".allexistingfiles + .count").text((0,h.t)("core","(all selected)"))):t>0?(Nt()(c).find(".allexistingfiles").prop("checked",!1),Nt()(c).find(".allexistingfiles + .count").text((0,h.t)("core","({count} selected)",{count:t}))):(Nt()(c).find(".allexistingfiles").prop("checked",!1),Nt()(c).find(".allexistingfiles + .count").text("")),m()}),o.resolve()}).fail(function(){o.reject(),alert((0,h.t)("core","Error loading file exists template"))});return o.promise()},_getFileExistsTemplate:function(){const t=Nt().Deferred();if(this.$fileexistsTemplate)t.resolve(this.$fileexistsTemplate);else{const e=this;Nt().get(je.filePath("core","templates/legacy","fileexists.html"),function(n){e.$fileexistsTemplate=Nt()(n),t.resolve(e.$fileexistsTemplate)}).fail(function(){t.reject()})}return t.promise()}},re=ne;function se(){return document.head.dataset.requesttoken}function ie(t,e){let n,r,s="";if(this.typelessListeners=[],this.closed=!1,this.listeners={},e)for(n in e)s+=n+"="+encodeURIComponent(e[n])+"&";if(s+="requesttoken="+encodeURIComponent(se()),this.useFallBack||"undefined"==typeof EventSource){const e="oc_eventsource_iframe_"+ie.iframeCount;ie.fallBackSources[ie.iframeCount]=this;const n=document.createElement("iframe");n.id=e,n.style.display="none",r="&",-1===t.indexOf("?")&&(r="?"),n.src=t+r+"fallback=true&fallback_id="+ie.iframeCount+"&"+s,this.iframe=n,document.body.appendChild(this.iframe),this.useFallBack=!0,ie.iframeCount++}else r="&",-1===t.indexOf("?")&&(r="?"),this.source=new EventSource(t+r+s),this.source.onmessage=function(t){for(let e=0;et.cancel()),n.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 n=document.querySelector(t);n&&n instanceof HTMLElement&&(n.textContent=e,n.classList.remove("error"),n.classList.add("success"),n.getAnimations?.().forEach(t=>t.cancel()),window.setTimeout(function(){if(!(n&&n instanceof HTMLElement))return;const t=n.animate?.([{opacity:1},{opacity:0}],{duration:900,fill:"forwards"});t?t.addEventListener("finish",()=>{n.style.display="none"}):window.setTimeout(()=>{n.style.display="none"},900)},3e3),n.style.display="block")},finishedError(t,e){const n=document.querySelector(t);n&&n instanceof HTMLElement&&(n.textContent=e,n.classList.remove("success"),n.classList.add("error"),n.style.display="block")}},ye={updatableNotification:null,getDefaultNotificationFunction:null,setDefault(t){this.getDefaultNotificationFunction=t},hide(t,e){Ht.default.isFunction(t)&&(e=t,t=void 0),t?(t.each(function(){Nt()(this)[0].toastify?Nt()(this)[0].toastify.hideToast():et.error("cannot hide toast because object is not set"),this===this.updatableNotification&&(this.updatableNotification=null)}),e&&e.call(),this.getDefaultNotificationFunction&&this.getDefaultNotificationFunction()):et.error("Missing argument $row in OC.Notification.hide() call, caller needs to be adjusted to only dismiss its own notification")},showHtml(t,e){(e=e||{}).isHTML=!0,e.timeout=e.timeout?e.timeout:Zt.DH;const n=(0,Zt.rG)(t,e);return n.toastElement.toastify=n,Nt()(n.toastElement)},show(t,e){(e=e||{}).timeout=e.timeout?e.timeout:Zt.DH;const n=(0,Zt.rG)(function(t){return t.toString().split("&").join("&").split("<").join("<").split(">").join(">").split('"').join(""").split("'").join("'")}(t),e);return n.toastElement.toastify=n,Nt()(n.toastElement)},showUpdate(t){return this.updatableNotification&&this.updatableNotification.hideToast(),this.updatableNotification=(0,Zt.rG)(t,{timeout:Zt.DH}),this.updatableNotification.toastElement.toastify=this.updatableNotification,Nt()(this.updatableNotification.toastElement)},showTemporary(t,e){(e=e||{}).timeout=e.timeout||Zt.aR;const n=(0,Zt.rG)(t,e);return n.toastElement.toastify=n,Nt()(n.toastElement)},isHidden:()=>!Nt()("#content").find(".toastify").length};var be=s(68149);const we={requiresPasswordConfirmation:()=>(0,be.oB)(),requirePasswordConfirmation(t,e,n){(0,be.C5)().then(t,n)}},Ae={_plugins:{},register(t,e){let n=this._plugins[t];n||(n=this._plugins[t]=[]),n.push(e)},getPlugins(t){return this._plugins[t]||[]},attach(t,e,n){const r=this.getPlugins(t);for(let t=0;t").join(">").split('"').join(""").split("'").join("'")},async rebuildNavigation(){const{data:t}=await rt.Ay.get((0,l.KT)("core/navigation",2)+"/apps?format=json");200===t.ocs.meta.statuscode&&((0,kt.Ic)("nextcloud:app-menu.refresh",{apps:t.ocs.data}),window.dispatchEvent(new Event("resize")))},setupGroupsSelect:function(e,n,r){const s=this;r=r||{},e.length>0&&Nt().ajax({url:(0,l.KT)("cloud/groups/details"),dataType:"json",success:function(i){const o=[];i.ocs.data.groups&&i.ocs.data.groups.length>0?(i.ocs.data.groups.forEach(function(t){r.excludeAdmins&&"admin"===t.id||o.push({id:t.id,displayname:t.displayname})}),e.select2(Ht.default.extend({placeholder:t("core","Groups"),allowClear:!0,multiple:!0,toggleSelect:!0,separator:"|",data:{results:o,text:"displayname"},initSelection:function(t,e){const n=Nt()(t).val();let r;n&&o.length>0?r=Ht.default.map(Ht.default.filter((n||[]).split("|").sort(),function(t){return void 0!==o.find(function(e){return e.id===t})}),function(t){return{id:t,displayname:o.find(function(e){return e.id===t}).displayname}}):n&&(r=Ht.default.map((n||[]).split("|").sort(),function(t){return{id:t,displayname:t}})),e(r)},formatResult:function(t){return s.escapeHTML(t.displayname)},formatSelection:function(t){return s.escapeHTML(t.displayname)},escapeMarkup:function(t){return t}},n||{}))):(OC.Notification.show(t("core","Group list is empty"),{type:"error"}),et.debug(i))},error:function(e){OC.Notification.show(t("core","Unable to retrieve the group list"),{type:"error"}),et.debug(e)}})}},xe=window._theme||{};var Ce=s(35810),ke=s(95093),Pe=s.n(ke);const Ee={_handlers:[],_pushState(t,e,n){let r;if(r="string"==typeof t?t:je.buildQueryString(t),window.history.pushState){if(e=e||location.pathname+"?"+r,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,n=0,r=t.length;n=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=je.parseQueryString(this._decodeQuery(t))),e=Ht.default.extend(e||{},je.parseQueryString(this._decodeQuery(location.search))),e||{}},_onPopState(t){if(this._cancelPop)return void(this._cancelPop=!1);let e;if(this._handlers.length){e=t&&t.state,Ht.default.isString(e)?e=je.parseQueryString(e):e||(e=this.parseUrlQuery()||{});for(let t=0;t="0"&&n<="9";o!==i&&(s++,e[s]="",i=o),e[s]+=n,r++}return e}const Te={History:Ee,humanFileSize:Ce.v7,computerFileSize(t){if("string"!=typeof t)return null;const e=t.toLowerCase().trim();let n=null;const r=e.match(/^[\s+]?([0-9]*)(\.([0-9]+))?( +)?([kmgtp]?b?)$/i);return null===r?null:(n=parseFloat(e),isFinite(n)?(r[5]&&(n*={b:1,k:1024,kb:1024,mb:1048576,m:1048576,gb:1073741824,g:1073741824,tb:1099511627776,t:1099511627776,pb:0x4000000000000,p:0x4000000000000}[r[5]]),n=Math.round(n),n):null)},formatDate:(t,e)=>(void 0===window.TESTING&&je.debug&&et.warn("OC.Util.formatDate is deprecated and will be removed in Nextcloud 21. See @nextcloud/moment"),e=e||"LLL",Pe()(t).format(e)),relativeModifiedDate(e){void 0===window.TESTING&&je.debug&&et.warn("OC.Util.relativeModifiedDate is deprecated and will be removed in Nextcloud 21. See @nextcloud/moment");const n=Pe()().diff(Pe()(e));return n>=0&&n<45e3?t("core","seconds ago"):Pe()(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 n=t.offsetWidth;e.style.overflow="scroll";let r=t.offsetWidth;return n===r&&(r=e.clientWidth),document.body.removeChild(e),this._scrollBarWidth=n-r,this._scrollBarWidth},stripTime:t=>new Date(t.getFullYear(),t.getMonth(),t.getDate()),naturalSortCompare(t,e){let n;const r=Se(t),s=Se(e);for(n=0;r[n]&&s[n];n++)if(r[n]!==s[n]){const t=Number(r[n]),e=Number(s[n]);return t==r[n]&&e==s[n]?t-e:r[n].localeCompare(s[n],je.getLanguage())}return r.length-s.length},waitFor(t,e){const n=function(){!0!==t()&&setTimeout(n,e)};n()},isCookieSetToValue(t,e){const n=document.cookie.split(";");for(let r=0;r!$_",Apps:It,appConfig:St,appswebroots:Lt,Backbone:Vt,config:Kt,currentUser:Gt,dialogs:re,EventSource:oe,MimeType:i,getCurrentUser:function(){return{uid:Gt,displayName:Jt}},isUserAdmin:()=>Et,L10N:ce,registerXHRForErrorProcessing:()=>{},getCapabilities:function(){return OC.debug&&et.warn("OC.getCapabilities is deprecated and will be removed in Nextcloud 21. See @nextcloud/capabilities"),(0,Yt.F)()},hideMenus:he,registerMenu:function(t,e,n,r){e.addClass("menu");const s="A"===t.prop("tagName")||"BUTTON"===t.prop("tagName");t.on(s?"click.menu":"click.menu keyup.menu",function(s){s.preventDefault(),s.key&&"Enter"!==s.key||(e.is(ue)?he():(ue&&he(),!0===r&&e.parent().addClass("openedMenu"),t.attr("aria-expanded",!0),e.slideToggle(50,n),ue=e,de=t))})},showMenu:function(t,e,n){e.is(ue)||(he(),ue=e,de=t,e.trigger(new(Nt().Event)("beforeShow")),e.show(),e.trigger(new(Nt().Event)("afterShow")),Ht.default.isFunction(n)&&n())},unregisterMenu:function(t,e){e.is(ue)&&he(),t.off("click.menu").removeClass("menutoggle"),e.removeClass("menu")},basename:Pt.P8,encodePath:Pt.O0,dirname:Pt.pD,isSamePath:Pt.ys,joinPaths:Pt.fj,getCanonicalLocale:h.lO,getLocale:h.JK,getLanguage:h.Z0,buildQueryString:function(t){return t?new URLSearchParams(t).toString():""},parseQueryString:function(t){const e=new URLSearchParams(t);return Object.fromEntries(e.entries())},msg:ve,Notification:ye,PasswordConfirmation:we,Plugins:Ae,Settings:_e,theme:xe,Util:Te,debug:Xt,filePath:l.fg,generateUrl:l.Jv,getRootPath:l.aU,imagePath:l.d0,requestToken:se(),linkTo:l.uM,linkToOCS:(t,e)=>(0,l.KT)(t,{},{ocsVersion:e||1})+"/",linkToRemote:l.dC,linkToRemoteBase:function(t){return(0,l.aU)()+"/remote.php/"+t},webroot:Oe};(0,kt.B1)("csrf-token-update",t=>{OC.requestToken=t.token,et.info("OC.requestToken changed",{token:t.token})});const Ie={data:()=>({OC:je}),methods:{t:ce.translate.bind(ce),n:ce.translatePlural.bind(ce)}};o.Ay.mixin(Ie),(new(o.Ay.extend(Ct))).$mount("#login")},21391(t,e,n){var r,s,i;i="object"==typeof self&&self.self===self&&self||"object"==typeof globalThis&&globalThis.global===globalThis&&globalThis,r=[n(86860),n(74692),e],s=function(t,e,n){i.Backbone=function(t,e,n,r){var s=t.Backbone,i=Array.prototype.slice;e.VERSION="1.6.1",e.$=r,e.noConflict=function(){return t.Backbone=s,this},e.emulateHTTP=!1,e.emulateJSON=!1;var o,a=e.Events={},l=/\s+/,c=function(t,e,r,s,i){var o,a=0;if(r&&"object"==typeof r){void 0!==s&&"context"in i&&void 0===i.context&&(i.context=s);for(o=n.keys(r);athis.length&&(s=this.length),s<0&&(s+=this.length+1);var i,o,a=[],l=[],c=[],u=[],d={},h=e.add,p=e.merge,f=e.remove,m=!1,g=this.comparator&&null==s&&!1!==e.sort,v=n.isString(this.comparator)?this.comparator:null;for(o=0;o0&&!e.silent&&delete e.index,n},_isModel:function(t){return t instanceof v},_addReference:function(t,e){this._byId[t.cid]=t;var n=this.modelId(t.attributes,t.idAttribute);null!=n&&(this._byId[n]=t),t.on("all",this._onModelEvent,this)},_removeReference:function(t,e){delete this._byId[t.cid];var n=this.modelId(t.attributes,t.idAttribute);null!=n&&delete this._byId[n],this===t.collection&&delete t.collection,t.off("all",this._onModelEvent,this)},_onModelEvent:function(t,e,n,r){if(e){if(("add"===t||"remove"===t)&&n!==this)return;if("destroy"===t&&this.remove(e,r),"changeId"===t){var s=this.modelId(e.previousAttributes(),e.idAttribute),i=this.modelId(e.attributes,e.idAttribute);null!=s&&delete this._byId[s],null!=i&&(this._byId[i]=e)}}this.trigger.apply(this,arguments)},_forwardPristineError:function(t,e,n){this.has(t)||this._onModelEvent("error",t,e,n)}});var _="function"==typeof Symbol&&Symbol.iterator;_&&(y.prototype[_]=y.prototype.values);var x=function(t,e){this._collection=t,this._kind=e,this._index=0},C=1,k=2,P=3;_&&(x.prototype[_]=function(){return this}),x.prototype.next=function(){if(this._collection){if(this._index7),this._useHashChange=this._wantsHashChange&&this._hasHashChange,this._wantsPushState=!!this.options.pushState,this._hasPushState=!(!this.history||!this.history.pushState),this._usePushState=this._wantsPushState&&this._hasPushState,this.fragment=this.getFragment(),this.root=("/"+this.root+"/").replace(D,"/"),this._wantsHashChange&&this._wantsPushState){if(!this._hasPushState&&!this.atRoot()){var e=this.root.slice(0,-1)||"/";return this.location.replace(e+"#"+this.getPath()),!0}this._hasPushState&&this.atRoot()&&this.navigate(this.getHash(),{replace:!0})}if(!this._hasHashChange&&this._wantsHashChange&&!this._usePushState){this.iframe=document.createElement("iframe"),this.iframe.src="javascript:0",this.iframe.style.display="none",this.iframe.tabIndex=-1;var r=document.body,s=r.insertBefore(this.iframe,r.firstChild).contentWindow;s.document.open(),s.document.close(),s.location.hash="#"+this.fragment}var i=window.addEventListener||function(t,e){return attachEvent("on"+t,e)};if(this._usePushState?i("popstate",this.checkUrl,!1):this._useHashChange&&!this.iframe?i("hashchange",this.checkUrl,!1):this._wantsHashChange&&(this._checkUrlInterval=setInterval(this.checkUrl,this.interval)),!this.options.silent)return this.loadUrl()},stop:function(){var t=window.removeEventListener||function(t,e){return detachEvent("on"+t,e)};this._usePushState?t("popstate",this.checkUrl,!1):this._useHashChange&&!this.iframe&&t("hashchange",this.checkUrl,!1),this.iframe&&(document.body.removeChild(this.iframe),this.iframe=null),this._checkUrlInterval&&clearInterval(this._checkUrlInterval),F.started=!1},route:function(t,e){this.handlers.unshift({route:t,callback:e})},checkUrl:function(t){var e=this.getFragment();if(e===this.fragment&&this.iframe&&(e=this.getHash(this.iframe.contentWindow)),e===this.fragment)return!this.matchRoot()&&this.notfound();this.iframe&&this.navigate(e),this.loadUrl()},loadUrl:function(t){return this.matchRoot()?(t=this.fragment=this.getFragment(t),n.some(this.handlers,function(e){if(e.route.test(t))return e.callback(t),!0})||this.notfound()):this.notfound()},notfound:function(){return this.trigger("notfound"),!1},navigate:function(t,e){if(!F.started)return!1;e&&!0!==e||(e={trigger:!!e}),t=this.getFragment(t||"");var n=this.root;this._trailingSlash||""!==t&&"?"!==t.charAt(0)||(n=n.slice(0,-1)||"/");var r=n+t;t=t.replace(z,"");var s=this.decodeFragment(t);if(this.fragment!==s){if(this.fragment=s,this._usePushState)this.history[e.replace?"replaceState":"pushState"]({},document.title,r);else{if(!this._wantsHashChange)return this.location.assign(r);if(this._updateHash(this.location,t,e.replace),this.iframe&&t!==this.getHash(this.iframe.contentWindow)){var i=this.iframe.contentWindow;e.replace||(i.document.open(),i.document.close()),this._updateHash(i.location,t,e.replace)}}return e.trigger?this.loadUrl(t):void 0}},_updateHash:function(t,e,n){if(n){var r=t.href.replace(/(javascript:|#).*$/,"");t.replace(r+"#"+e)}else t.hash="#"+e}}),e.history=new F;v.extend=y.extend=L.extend=E.extend=F.extend=function(t,e){var r,s=this;return r=t&&n.has(t,"constructor")?t.constructor:function(){return s.apply(this,arguments)},n.extend(r,s,e),r.prototype=n.create(s.prototype,t),r.prototype.constructor=r,r.__super__=s.prototype,r};var q=function(){throw new Error('A "url" property or function must be specified')},$=function(t,e){var n=e.error;e.error=function(r){n&&n.call(e.context,t,r,e),t.trigger("error",t,r,e)}};return e._debug=function(){return{root:t,_:n}},e}(i,n,t,e)}.apply(e,r),void 0===s||(t.exports=s)},14430(t,e,n){"use strict";n.d(e,{A:()=>a});var r=n(71354),s=n.n(r),i=n(76314),o=n.n(i)()(s());o.push([t.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:""}]);const a=o},44098(t,e,n){"use strict";n.d(e,{A:()=>a});var r=n(71354),s=n.n(r),i=n(76314),o=n.n(i)()(s());o.push([t.id,".login-form[data-v-f91ba7fe]{text-align:start;font-size:1rem;margin:0}.login-form__fieldset[data-v-f91ba7fe]{width:100%;display:flex;flex-direction:column;gap:.5rem}.login-form__headline[data-v-f91ba7fe]{text-align:center;overflow-wrap:anywhere}.login-form[data-v-f91ba7fe] 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:""}]);const a=o},57056(t,e,n){"use strict";n.d(e,{A:()=>a});var r=n(71354),s=n.n(r),i=n(76314),o=n.n(i)()(s());o.push([t.id,".password-less-login-form[data-v-0b57a680]{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:""}]);const a=o},99322(t,e,n){"use strict";n.d(e,{A:()=>a});var r=n(71354),s=n.n(r),i=n(76314),o=n.n(i)()(s());o.push([t.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:""}]);const a=o},11999(t,e,n){"use strict";n.d(e,{A:()=>a});var r=n(71354),s=n.n(r),i=n(76314),o=n.n(i)()(s());o.push([t.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:""}]);const a=o},81604(t,e,n){"use strict";n.d(e,{A:()=>a});var r=n(71354),s=n.n(r),i=n(76314),o=n.n(i)()(s());o.push([t.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:["\x3c!--\n - SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n--\x3e\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=f91ba7fe&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=f91ba7fe&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=f91ba7fe&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=f91ba7fe&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 \"f91ba7fe\",\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=0b57a680&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=0b57a680&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=0b57a680&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=0b57a680&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 \"0b57a680\",\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-FileCopyrightText: 2014 ownCloud, Inc.\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport $ from 'jquery'\n\nlet dynamicSlideToggleEnabled = false\n\nconst Apps = {\n\tenableDynamicSlideToggle() {\n\t\tdynamicSlideToggleEnabled = true\n\t},\n}\n\n/**\n * Shows the #app-sidebar and add .with-app-sidebar to subsequent siblings\n *\n * @param {object} [$el] sidebar element to show, defaults to $('#app-sidebar')\n */\nApps.showAppSidebar = function($el) {\n\tconst $appSidebar = $el || $('#app-sidebar')\n\t$appSidebar.removeClass('disappear').show()\n\t$('#app-content').trigger(new $.Event('appresized'))\n}\n\n/**\n * Shows the #app-sidebar and removes .with-app-sidebar from subsequent\n * siblings\n *\n * @param {object} [$el] sidebar element to hide, defaults to $('#app-sidebar')\n */\nApps.hideAppSidebar = function($el) {\n\tconst $appSidebar = $el || $('#app-sidebar')\n\t$appSidebar.hide().addClass('disappear')\n\t$('#app-content').trigger(new $.Event('appresized'))\n}\n\n/**\n * Provides a way to slide down a target area through a button and slide it\n * up if the user clicks somewhere else. Used for the news app settings and\n * add new field.\n *\n * Usage:\n * \n *
I'm sliding up
\n */\nexport function registerAppsSlideToggle() {\n\tlet buttons = $('[data-apps-slide-toggle]')\n\n\tif (buttons.length === 0) {\n\t\t$('#app-navigation').addClass('without-app-settings')\n\t}\n\n\t$(document).click(function(event) {\n\t\tif (dynamicSlideToggleEnabled) {\n\t\t\tbuttons = $('[data-apps-slide-toggle]')\n\t\t}\n\n\t\tbuttons.each(function(index, button) {\n\t\t\tconst areaSelector = $(button).data('apps-slide-toggle')\n\t\t\tconst area = $(areaSelector)\n\n\t\t\t/**\n\t\t\t *\n\t\t\t */\n\t\t\tfunction hideArea() {\n\t\t\t\tarea.slideUp(OC.menuSpeed * 4, function() {\n\t\t\t\t\tarea.trigger(new $.Event('hide'))\n\t\t\t\t})\n\t\t\t\tarea.removeClass('opened')\n\t\t\t\t$(button).removeClass('opened')\n\t\t\t\t$(button).attr('aria-expanded', 'false')\n\t\t\t}\n\n\t\t\t/**\n\t\t\t *\n\t\t\t */\n\t\t\tfunction showArea() {\n\t\t\t\tarea.slideDown(OC.menuSpeed * 4, function() {\n\t\t\t\t\tarea.trigger(new $.Event('show'))\n\t\t\t\t})\n\t\t\t\tarea.addClass('opened')\n\t\t\t\t$(button).addClass('opened')\n\t\t\t\t$(button).attr('aria-expanded', 'true')\n\t\t\t\tconst input = $(areaSelector + ' [autofocus]')\n\t\t\t\tif (input.length === 1) {\n\t\t\t\t\tinput.focus()\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// do nothing if the area is animated\n\t\t\tif (!area.is(':animated')) {\n\t\t\t\t// button toggles the area\n\t\t\t\tif ($(button).is($(event.target).closest('[data-apps-slide-toggle]'))) {\n\t\t\t\t\tif (area.is(':visible')) {\n\t\t\t\t\t\thideArea()\n\t\t\t\t\t} else {\n\t\t\t\t\t\tshowArea()\n\t\t\t\t\t}\n\n\t\t\t\t\t// all other areas that have not been clicked but are open\n\t\t\t\t\t// should be slid up\n\t\t\t\t} else {\n\t\t\t\t\tconst closest = $(event.target).closest(areaSelector)\n\t\t\t\t\tif (area.is(':visible') && closest[0] !== area[0]) {\n\t\t\t\t\t\thideArea()\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\t})\n}\n\nexport default Apps\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\nimport { dav } from 'davclient.js'\nimport _ from 'underscore'\nimport logger from '../logger.js'\n\nconst methodMap = {\n\tcreate: 'POST',\n\tupdate: 'PROPPATCH',\n\tpatch: 'PROPPATCH',\n\tdelete: 'DELETE',\n\tread: 'PROPFIND',\n}\n\n/**\n * Throw an error when a URL is needed, and none is supplied.\n */\nfunction urlError() {\n\tthrow new Error('A \"url\" property or function must be specified')\n}\n\n/**\n * Convert a single propfind result to JSON\n *\n * @param {object} result\n * @param {object} davProperties properties mapping\n */\nfunction parsePropFindResult(result, davProperties) {\n\tif (_.isArray(result)) {\n\t\treturn _.map(result, function(subResult) {\n\t\t\treturn parsePropFindResult(subResult, davProperties)\n\t\t})\n\t}\n\tconst props = {\n\t\thref: result.href,\n\t}\n\n\t_.each(result.propStat, function(propStat) {\n\t\tif (propStat.status !== 'HTTP/1.1 200 OK') {\n\t\t\treturn\n\t\t}\n\n\t\tfor (const key in propStat.properties) {\n\t\t\tlet propKey = key\n\t\t\tif (key in davProperties) {\n\t\t\t\tpropKey = davProperties[key]\n\t\t\t}\n\t\t\tprops[propKey] = propStat.properties[key]\n\t\t}\n\t})\n\n\tif (!props.id) {\n\t\t// parse id from href\n\t\tprops.id = parseIdFromLocation(props.href)\n\t}\n\n\treturn props\n}\n\n/**\n * Parse ID from location\n *\n * @param {string} url url\n * @return {string} id\n */\nfunction parseIdFromLocation(url) {\n\tconst queryPos = url.indexOf('?')\n\tif (queryPos > 0) {\n\t\turl = url.substr(0, queryPos)\n\t}\n\n\tconst parts = url.split('/')\n\tlet result\n\tdo {\n\t\tresult = parts[parts.length - 1]\n\t\tparts.pop()\n\t\t// note: first result can be empty when there is a trailing slash,\n\t\t// so we take the part before that\n\t} while (!result && parts.length > 0)\n\n\treturn result\n}\n\n/**\n *\n * @param {number} status\n */\nfunction isSuccessStatus(status) {\n\treturn status >= 200 && status <= 299\n}\n\n/**\n *\n * @param attrs\n * @param davProperties\n */\nfunction convertModelAttributesToDavProperties(attrs, davProperties) {\n\tconst props = {}\n\tlet key\n\tfor (key in attrs) {\n\t\tlet changedProp = davProperties[key]\n\t\tlet value = attrs[key]\n\t\tif (!changedProp) {\n\t\t\tlogger.warn('No matching DAV property for property \"' + key)\n\t\t\tchangedProp = key\n\t\t}\n\t\tif (_.isBoolean(value) || _.isNumber(value)) {\n\t\t\t// convert to string\n\t\t\tvalue = '' + value\n\t\t}\n\t\tprops[changedProp] = value\n\t}\n\treturn props\n}\n\n/**\n *\n * @param client\n * @param options\n * @param model\n * @param headers\n */\nfunction callPropFind(client, options, model, headers) {\n\treturn client.propFind(\n\t\toptions.url,\n\t\t_.values(options.davProperties) || [],\n\t\toptions.depth,\n\t\theaders,\n\t).then(function(response) {\n\t\tif (isSuccessStatus(response.status)) {\n\t\t\tif (_.isFunction(options.success)) {\n\t\t\t\tconst propsMapping = _.invert(options.davProperties)\n\t\t\t\tconst results = parsePropFindResult(response.body, propsMapping)\n\t\t\t\tif (options.depth > 0) {\n\t\t\t\t\t// discard root entry\n\t\t\t\t\tresults.shift()\n\t\t\t\t}\n\n\t\t\t\toptions.success(results)\n\t\t\t}\n\t\t} else if (_.isFunction(options.error)) {\n\t\t\toptions.error(response)\n\t\t}\n\t})\n}\n\n/**\n *\n * @param client\n * @param options\n * @param model\n * @param headers\n */\nfunction callPropPatch(client, options, model, headers) {\n\treturn client.propPatch(\n\t\toptions.url,\n\t\tconvertModelAttributesToDavProperties(model.changed, options.davProperties),\n\t\theaders,\n\t).then(function(result) {\n\t\tif (isSuccessStatus(result.status)) {\n\t\t\tif (_.isFunction(options.success)) {\n\t\t\t\t// pass the object's own values because the server\n\t\t\t\t// does not return the updated model\n\t\t\t\toptions.success(model.toJSON())\n\t\t\t}\n\t\t} else if (_.isFunction(options.error)) {\n\t\t\toptions.error(result)\n\t\t}\n\t})\n}\n\n/**\n *\n * @param client\n * @param options\n * @param model\n * @param headers\n */\nfunction callMkCol(client, options, model, headers) {\n\t// call MKCOL without data, followed by PROPPATCH\n\treturn client.request(\n\t\toptions.type,\n\t\toptions.url,\n\t\theaders,\n\t\tnull,\n\t).then(function(result) {\n\t\tif (!isSuccessStatus(result.status)) {\n\t\t\tif (_.isFunction(options.error)) {\n\t\t\t\toptions.error(result)\n\t\t\t}\n\t\t\treturn\n\t\t}\n\n\t\tcallPropPatch(client, options, model, headers)\n\t})\n}\n\n/**\n *\n * @param client\n * @param options\n * @param model\n * @param headers\n */\nfunction callMethod(client, options, model, headers) {\n\theaders['Content-Type'] = 'application/json'\n\treturn client.request(\n\t\toptions.type,\n\t\toptions.url,\n\t\theaders,\n\t\toptions.data,\n\t).then(function(result) {\n\t\tif (!isSuccessStatus(result.status)) {\n\t\t\tif (_.isFunction(options.error)) {\n\t\t\t\toptions.error(result)\n\t\t\t}\n\t\t\treturn\n\t\t}\n\n\t\tif (_.isFunction(options.success)) {\n\t\t\tif (options.type === 'PUT' || options.type === 'POST' || options.type === 'MKCOL') {\n\t\t\t\t// pass the object's own values because the server\n\t\t\t\t// does not return anything\n\t\t\t\tconst responseJson = result.body || model.toJSON()\n\t\t\t\tconst locationHeader = result.xhr.getResponseHeader('Content-Location')\n\t\t\t\tif (options.type === 'POST' && locationHeader) {\n\t\t\t\t\tresponseJson.id = parseIdFromLocation(locationHeader)\n\t\t\t\t}\n\t\t\t\toptions.success(responseJson)\n\t\t\t\treturn\n\t\t\t}\n\t\t\t// if multi-status, parse\n\t\t\tif (result.status === 207) {\n\t\t\t\tconst propsMapping = _.invert(options.davProperties)\n\t\t\t\toptions.success(parsePropFindResult(result.body, propsMapping))\n\t\t\t} else {\n\t\t\t\toptions.success(result.body)\n\t\t\t}\n\t\t}\n\t})\n}\n\n/**\n *\n * @param options\n * @param model\n */\nexport function davCall(options, model) {\n\tconst client = new dav.Client({\n\t\tbaseUrl: options.url,\n\t\txmlNamespaces: _.extend({\n\t\t\t'DAV:': 'd',\n\t\t\t'http://owncloud.org/ns': 'oc',\n\t\t}, options.xmlNamespaces || {}),\n\t})\n\tclient.resolveUrl = function() {\n\t\treturn options.url\n\t}\n\tconst headers = _.extend({\n\t\t'X-Requested-With': 'XMLHttpRequest',\n\t\trequesttoken: OC.requestToken,\n\t}, options.headers)\n\tif (options.type === 'PROPFIND') {\n\t\treturn callPropFind(client, options, model, headers)\n\t} else if (options.type === 'PROPPATCH') {\n\t\treturn callPropPatch(client, options, model, headers)\n\t} else if (options.type === 'MKCOL') {\n\t\treturn callMkCol(client, options, model, headers)\n\t} else {\n\t\treturn callMethod(client, options, model, headers)\n\t}\n}\n\n/**\n * DAV transport\n *\n * @param Backbone\n */\nexport function davSync(Backbone) {\n\treturn (method, model, options) => {\n\t\tconst params = { type: methodMap[method] || method }\n\t\tconst isCollection = (model instanceof Backbone.Collection)\n\n\t\tif (method === 'update') {\n\t\t// if a model has an inner collection, it must define an\n\t\t// attribute \"hasInnerCollection\" that evaluates to true\n\t\t\tif (model.hasInnerCollection) {\n\t\t\t// if the model itself is a Webdav collection, use MKCOL\n\t\t\t\tparams.type = 'MKCOL'\n\t\t\t} else if (model.usePUT || (model.collection && model.collection.usePUT)) {\n\t\t\t// use PUT instead of PROPPATCH\n\t\t\t\tparams.type = 'PUT'\n\t\t\t}\n\t\t}\n\n\t\t// Ensure that we have a URL.\n\t\tif (!options.url) {\n\t\t\tparams.url = _.result(model, 'url') || urlError()\n\t\t}\n\n\t\t// Ensure that we have the appropriate request data.\n\t\t// eslint-disable-next-line eqeqeq\n\t\tif (options.data == null && model && (method === 'create' || method === 'update' || method === 'patch')) {\n\t\t\tparams.data = JSON.stringify(options.attrs || model.toJSON(options))\n\t\t}\n\n\t\t// Don't process data on a non-GET request.\n\t\tif (params.type !== 'PROPFIND') {\n\t\t\tparams.processData = false\n\t\t}\n\n\t\tif (params.type === 'PROPFIND' || params.type === 'PROPPATCH') {\n\t\t\tlet davProperties = model.davProperties\n\t\t\tif (!davProperties && model.model) {\n\t\t\t// use dav properties from model in case of collection\n\t\t\t\tdavProperties = model.model.prototype.davProperties\n\t\t\t}\n\t\t\tif (davProperties) {\n\t\t\t\tif (_.isFunction(davProperties)) {\n\t\t\t\t\tparams.davProperties = davProperties.call(model)\n\t\t\t\t} else {\n\t\t\t\t\tparams.davProperties = davProperties\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tparams.davProperties = _.extend(params.davProperties || {}, options.davProperties)\n\n\t\t\tif (_.isUndefined(options.depth)) {\n\t\t\t\tif (isCollection) {\n\t\t\t\t\toptions.depth = 1\n\t\t\t\t} else {\n\t\t\t\t\toptions.depth = 0\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Pass along `textStatus` and `errorThrown` from jQuery.\n\t\tconst error = options.error\n\t\toptions.error = function(xhr, textStatus, errorThrown) {\n\t\t\toptions.textStatus = textStatus\n\t\t\toptions.errorThrown = errorThrown\n\t\t\tif (error) {\n\t\t\t\terror.call(options.context, xhr, textStatus, errorThrown)\n\t\t\t}\n\t\t}\n\n\t\t// Make the request, allowing the user to override any Ajax options.\n\t\tconst xhr = options.xhr = Backbone.davCall(_.extend(params, options), model)\n\t\tmodel.trigger('request', model, xhr, options)\n\t\treturn xhr\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 VendorBackbone from 'backbone'\nimport { davCall, davSync } from './backbone-webdav.js'\n\nconst Backbone = VendorBackbone.noConflict()\n\n// Patch Backbone for DAV\nObject.assign(Backbone, {\n\tdavCall,\n\tdavSync: davSync(Backbone),\n})\n\nexport default Backbone\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 $ from 'jquery'\nimport { basename } from 'path'\nimport { defineAsyncComponent } from 'vue'\nimport logger from '../logger.js'\nimport OC from './index.js'\n\n/**\n * this class to ease the usage of jquery 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\t_fileexistsshown: false,\n\t/**\n\t * Displays file exists dialog\n\t *\n\t * @param {object} data upload object\n\t * @param {object} original file with name, size and mtime\n\t * @param {object} replacement file with name, size and mtime\n\t * @param {object} controller with onCancel, onSkip, onReplace and onRename methods\n\t * @return {Promise} jquery promise that resolves after the dialog template was loaded\n\t *\n\t * @deprecated 29.0.0 Use openConflictPicker from the @nextcloud/upload package instead\n\t */\n\tfileexists: function(data, original, replacement, controller) {\n\t\tconst self = this\n\t\tconst dialogDeferred = new $.Deferred()\n\n\t\tconst getCroppedPreview = function(file) {\n\t\t\tconst deferred = new $.Deferred()\n\t\t\t// Only process image files.\n\t\t\tconst type = file.type && file.type.split('/').shift()\n\t\t\tif (window.FileReader && type === 'image') {\n\t\t\t\tconst reader = new FileReader()\n\t\t\t\treader.onload = function(e) {\n\t\t\t\t\tconst blob = new Blob([e.target.result])\n\t\t\t\t\twindow.URL = window.URL || window.webkitURL\n\t\t\t\t\tconst originalUrl = window.URL.createObjectURL(blob)\n\t\t\t\t\tconst image = new Image()\n\t\t\t\t\timage.src = originalUrl\n\t\t\t\t\timage.onload = function() {\n\t\t\t\t\t\tconst url = crop(image)\n\t\t\t\t\t\tdeferred.resolve(url)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treader.readAsArrayBuffer(file)\n\t\t\t} else {\n\t\t\t\tdeferred.reject()\n\t\t\t}\n\t\t\treturn deferred\n\t\t}\n\n\t\t/**\n\t\t * @param img\n\t\t */\n\t\tfunction crop(img) {\n\t\t\tconst canvas = document.createElement('canvas')\n\t\t\tconst targetSize = 96\n\t\t\tconst width = img.width\n\t\t\tconst height = img.height\n\t\t\tlet x\n\t\t\tlet y\n\n\t\t\t// Calculate the width and height, constraining the proportions\n\t\t\tif (width > height) {\n\t\t\t\ty = 0\n\t\t\t\tx = (width - height) / 2\n\t\t\t} else {\n\t\t\t\ty = (height - width) / 2\n\t\t\t\tx = 0\n\t\t\t}\n\t\t\tconst size = Math.min(width, height)\n\n\t\t\t// Set canvas size to the cropped area\n\t\t\tcanvas.width = size\n\t\t\tcanvas.height = size\n\t\t\tconst ctx = canvas.getContext('2d')\n\t\t\tctx.drawImage(img, x, y, size, size, 0, 0, size, size)\n\n\t\t\t// Resize the canvas to match the destination (right size uses 96px)\n\t\t\tresampleHermite(canvas, size, size, targetSize, targetSize)\n\n\t\t\treturn canvas.toDataURL('image/png', 0.7)\n\t\t}\n\n\t\t/**\n\t\t * Fast image resize/resample using Hermite filter with JavaScript.\n\t\t *\n\t\t * @author ViliusL\n\t\t *\n\t\t * @param {*} canvas\n\t\t * @param {number} W\n\t\t * @param {number} H\n\t\t * @param {number} W2\n\t\t * @param {number} H2\n\t\t */\n\t\tfunction resampleHermite(canvas, W, H, W2, H2) {\n\t\t\tW2 = Math.round(W2)\n\t\t\tH2 = Math.round(H2)\n\t\t\tconst img = canvas.getContext('2d').getImageData(0, 0, W, H)\n\t\t\tconst img2 = canvas.getContext('2d').getImageData(0, 0, W2, H2)\n\t\t\tconst data = img.data\n\t\t\tconst data2 = img2.data\n\t\t\tconst ratio_w = W / W2\n\t\t\tconst ratio_h = H / H2\n\t\t\tconst ratio_w_half = Math.ceil(ratio_w / 2)\n\t\t\tconst ratio_h_half = Math.ceil(ratio_h / 2)\n\n\t\t\tfor (let j = 0; j < H2; j++) {\n\t\t\t\tfor (let i = 0; i < W2; i++) {\n\t\t\t\t\tconst x2 = (i + j * W2) * 4\n\t\t\t\t\tlet weight = 0\n\t\t\t\t\tlet weights = 0\n\t\t\t\t\tlet weights_alpha = 0\n\t\t\t\t\tlet gx_r = 0\n\t\t\t\t\tlet gx_g = 0\n\t\t\t\t\tlet gx_b = 0\n\t\t\t\t\tlet gx_a = 0\n\t\t\t\t\tconst center_y = (j + 0.5) * ratio_h\n\t\t\t\t\tfor (let yy = Math.floor(j * ratio_h); yy < (j + 1) * ratio_h; yy++) {\n\t\t\t\t\t\tconst dy = Math.abs(center_y - (yy + 0.5)) / ratio_h_half\n\t\t\t\t\t\tconst center_x = (i + 0.5) * ratio_w\n\t\t\t\t\t\tconst w0 = dy * dy // pre-calc part of w\n\t\t\t\t\t\tfor (let xx = Math.floor(i * ratio_w); xx < (i + 1) * ratio_w; xx++) {\n\t\t\t\t\t\t\tlet dx = Math.abs(center_x - (xx + 0.5)) / ratio_w_half\n\t\t\t\t\t\t\tconst w = Math.sqrt(w0 + dx * dx)\n\t\t\t\t\t\t\tif (w >= -1 && w <= 1) {\n\t\t\t\t\t\t\t\t// hermite filter\n\t\t\t\t\t\t\t\tweight = 2 * w * w * w - 3 * w * w + 1\n\t\t\t\t\t\t\t\tif (weight > 0) {\n\t\t\t\t\t\t\t\t\tdx = 4 * (xx + yy * W)\n\t\t\t\t\t\t\t\t\t// alpha\n\t\t\t\t\t\t\t\t\tgx_a += weight * data[dx + 3]\n\t\t\t\t\t\t\t\t\tweights_alpha += weight\n\t\t\t\t\t\t\t\t\t// colors\n\t\t\t\t\t\t\t\t\tif (data[dx + 3] < 255) {\n\t\t\t\t\t\t\t\t\t\tweight = weight * data[dx + 3] / 250\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tgx_r += weight * data[dx]\n\t\t\t\t\t\t\t\t\tgx_g += weight * data[dx + 1]\n\t\t\t\t\t\t\t\t\tgx_b += weight * data[dx + 2]\n\t\t\t\t\t\t\t\t\tweights += weight\n\t\t\t\t\t\t\t\t}\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\tdata2[x2] = gx_r / weights\n\t\t\t\t\tdata2[x2 + 1] = gx_g / weights\n\t\t\t\t\tdata2[x2 + 2] = gx_b / weights\n\t\t\t\t\tdata2[x2 + 3] = gx_a / weights_alpha\n\t\t\t\t}\n\t\t\t}\n\t\t\tcanvas.getContext('2d').clearRect(0, 0, Math.max(W, W2), Math.max(H, H2))\n\t\t\tcanvas.width = W2\n\t\t\tcanvas.height = H2\n\t\t\tcanvas.getContext('2d').putImageData(img2, 0, 0)\n\t\t}\n\n\t\tconst addConflict = function($conflicts, original, replacement) {\n\t\t\tconst $conflict = $conflicts.find('.template').clone().removeClass('template').addClass('conflict')\n\t\t\tconst $originalDiv = $conflict.find('.original')\n\t\t\tconst $replacementDiv = $conflict.find('.replacement')\n\n\t\t\t$conflict.data('data', data)\n\n\t\t\t$conflict.find('.filename').text(original.name)\n\t\t\t$originalDiv.find('.size').text(OC.Util.humanFileSize(original.size))\n\t\t\t$originalDiv.find('.mtime').text(OC.Util.formatDate(original.mtime))\n\t\t\t// ie sucks\n\t\t\tif (replacement.size && replacement.lastModified) {\n\t\t\t\t$replacementDiv.find('.size').text(OC.Util.humanFileSize(replacement.size))\n\t\t\t\t$replacementDiv.find('.mtime').text(OC.Util.formatDate(replacement.lastModified))\n\t\t\t}\n\t\t\tlet path = original.directory + '/' + original.name\n\t\t\tconst urlSpec = {\n\t\t\t\tfile: path,\n\t\t\t\tx: 96,\n\t\t\t\ty: 96,\n\t\t\t\tc: original.etag,\n\t\t\t\tforceIcon: 0,\n\t\t\t}\n\t\t\tlet previewpath = Files.generatePreviewUrl(urlSpec)\n\t\t\t// Escaping single quotes\n\t\t\tpreviewpath = previewpath.replace(/'/g, '%27')\n\t\t\t$originalDiv.find('.icon').css({ 'background-image': \"url('\" + previewpath + \"')\" })\n\t\t\tgetCroppedPreview(replacement).then(function(path) {\n\t\t\t\t$replacementDiv.find('.icon').css('background-image', 'url(' + path + ')')\n\t\t\t}, function() {\n\t\t\t\tpath = OC.MimeType.getIconUrl(replacement.type)\n\t\t\t\t$replacementDiv.find('.icon').css('background-image', 'url(' + path + ')')\n\t\t\t})\n\t\t\t// connect checkboxes with labels\n\t\t\tconst checkboxId = $conflicts.find('.conflict').length\n\t\t\t$originalDiv.find('input:checkbox').attr('id', 'checkbox_original_' + checkboxId)\n\t\t\t$replacementDiv.find('input:checkbox').attr('id', 'checkbox_replacement_' + checkboxId)\n\n\t\t\t$conflicts.append($conflict)\n\n\t\t\t// set more recent mtime bold\n\t\t\t// ie sucks\n\t\t\tif (replacement.lastModified > original.mtime) {\n\t\t\t\t$replacementDiv.find('.mtime').css('font-weight', 'bold')\n\t\t\t} else if (replacement.lastModified < original.mtime) {\n\t\t\t\t$originalDiv.find('.mtime').css('font-weight', 'bold')\n\t\t\t} else {\n\t\t\t\t// TODO add to same mtime collection?\n\t\t\t}\n\n\t\t\t// set bigger size bold\n\t\t\tif (replacement.size && replacement.size > original.size) {\n\t\t\t\t$replacementDiv.find('.size').css('font-weight', 'bold')\n\t\t\t} else if (replacement.size && replacement.size < original.size) {\n\t\t\t\t$originalDiv.find('.size').css('font-weight', 'bold')\n\t\t\t} else {\n\t\t\t\t// TODO add to same size collection?\n\t\t\t}\n\n\t\t\t// TODO show skip action for files with same size and mtime in bottom row\n\n\t\t\t// always keep readonly files\n\n\t\t\tif (original.status === 'readonly') {\n\t\t\t\t$originalDiv\n\t\t\t\t\t.addClass('readonly')\n\t\t\t\t\t.find('input[type=\"checkbox\"]')\n\t\t\t\t\t.prop('checked', true)\n\t\t\t\t\t.prop('disabled', true)\n\t\t\t\t$originalDiv.find('.message')\n\t\t\t\t\t.text(t('core', 'read-only'))\n\t\t\t}\n\t\t}\n\n\t\tconst dialogName = 'oc-dialog-fileexists-content'\n\t\tconst dialogId = '#' + dialogName\n\t\tif (this._fileexistsshown) {\n\t\t\t// add conflict\n\n\t\t\tconst $conflicts = $(dialogId + ' .conflicts')\n\t\t\taddConflict($conflicts, original, replacement)\n\n\t\t\tconst count = $(dialogId + ' .conflict').length\n\t\t\tconst title = n(\n\t\t\t\t'core',\n\t\t\t\t'{count} file conflict',\n\t\t\t\t'{count} file conflicts',\n\t\t\t\tcount,\n\t\t\t\t{ count },\n\t\t\t)\n\t\t\t$(dialogId).parent().children('.oc-dialog-title').text(title)\n\n\t\t\t// recalculate dimensions\n\t\t\t$(window).trigger('resize')\n\t\t\tdialogDeferred.resolve()\n\t\t} else {\n\t\t\t// create dialog\n\t\t\tthis._fileexistsshown = true\n\t\t\t$.when(this._getFileExistsTemplate()).then(function($tmpl) {\n\t\t\t\tconst title = t('core', 'One file conflict')\n\t\t\t\tconst $dlg = $tmpl.octemplate({\n\t\t\t\t\tdialog_name: dialogName,\n\t\t\t\t\ttitle,\n\t\t\t\t\ttype: 'fileexists',\n\n\t\t\t\t\tallnewfiles: t('core', 'New Files'),\n\t\t\t\t\tallexistingfiles: t('core', 'Already existing files'),\n\n\t\t\t\t\twhy: t('core', 'Which files do you want to keep?'),\n\t\t\t\t\twhat: t('core', 'If you select both versions, the copied file will have a number added to its name.'),\n\t\t\t\t})\n\t\t\t\t$('body').append($dlg)\n\n\t\t\t\tif (original && replacement) {\n\t\t\t\t\tconst $conflicts = $dlg.find('.conflicts')\n\t\t\t\t\taddConflict($conflicts, original, replacement)\n\t\t\t\t}\n\n\t\t\t\tconst buttonlist = [{\n\t\t\t\t\ttext: t('core', 'Cancel'),\n\t\t\t\t\tclasses: 'cancel',\n\t\t\t\t\tclick: function() {\n\t\t\t\t\t\tif (typeof controller.onCancel !== 'undefined') {\n\t\t\t\t\t\t\tcontroller.onCancel(data)\n\t\t\t\t\t\t}\n\t\t\t\t\t\t$(dialogId).ocdialog('close')\n\t\t\t\t\t},\n\t\t\t\t}, {\n\t\t\t\t\ttext: t('core', 'Continue'),\n\t\t\t\t\tclasses: 'continue',\n\t\t\t\t\tclick: function() {\n\t\t\t\t\t\tif (typeof controller.onContinue !== 'undefined') {\n\t\t\t\t\t\t\tcontroller.onContinue($(dialogId + ' .conflict'))\n\t\t\t\t\t\t}\n\t\t\t\t\t\t$(dialogId).ocdialog('close')\n\t\t\t\t\t},\n\t\t\t\t}]\n\n\t\t\t\t$(dialogId).ocdialog({\n\t\t\t\t\twidth: 500,\n\t\t\t\t\tcloseOnEscape: true,\n\t\t\t\t\tmodal: true,\n\t\t\t\t\tbuttons: buttonlist,\n\t\t\t\t\tcloseButton: null,\n\t\t\t\t\tclose: function() {\n\t\t\t\t\t\tself._fileexistsshown = false\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t$(this).ocdialog('destroy').remove()\n\t\t\t\t\t\t} catch {\n\t\t\t\t\t\t\t// ignore\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t})\n\n\t\t\t\t$(dialogId).css('height', 'auto')\n\n\t\t\t\tconst $primaryButton = $dlg.closest('.oc-dialog').find('button.continue')\n\t\t\t\t$primaryButton.prop('disabled', true)\n\n\t\t\t\t/**\n\t\t\t\t *\n\t\t\t\t */\n\t\t\t\tfunction updatePrimaryButton() {\n\t\t\t\t\tconst checkedCount = $dlg.find('.conflicts .checkbox:checked').length\n\t\t\t\t\t$primaryButton.prop('disabled', checkedCount === 0)\n\t\t\t\t}\n\n\t\t\t\t// add checkbox toggling actions\n\t\t\t\t$(dialogId).find('.allnewfiles').on('click', function() {\n\t\t\t\t\tconst $checkboxes = $(dialogId).find('.conflict .replacement input[type=\"checkbox\"]')\n\t\t\t\t\t$checkboxes.prop('checked', $(this).prop('checked'))\n\t\t\t\t})\n\t\t\t\t$(dialogId).find('.allexistingfiles').on('click', function() {\n\t\t\t\t\tconst $checkboxes = $(dialogId).find('.conflict .original:not(.readonly) input[type=\"checkbox\"]')\n\t\t\t\t\t$checkboxes.prop('checked', $(this).prop('checked'))\n\t\t\t\t})\n\t\t\t\t$(dialogId).find('.conflicts').on('click', '.replacement,.original:not(.readonly)', function() {\n\t\t\t\t\tconst $checkbox = $(this).find('input[type=\"checkbox\"]')\n\t\t\t\t\t$checkbox.prop('checked', !$checkbox.prop('checked'))\n\t\t\t\t})\n\t\t\t\t$(dialogId).find('.conflicts').on('click', '.replacement input[type=\"checkbox\"],.original:not(.readonly) input[type=\"checkbox\"]', function() {\n\t\t\t\t\tconst $checkbox = $(this)\n\t\t\t\t\t$checkbox.prop('checked', !$checkbox.prop('checked'))\n\t\t\t\t})\n\n\t\t\t\t// update counters\n\t\t\t\t$(dialogId).on('click', '.replacement,.allnewfiles', function() {\n\t\t\t\t\tconst count = $(dialogId).find('.conflict .replacement input[type=\"checkbox\"]:checked').length\n\t\t\t\t\tif (count === $(dialogId + ' .conflict').length) {\n\t\t\t\t\t\t$(dialogId).find('.allnewfiles').prop('checked', true)\n\t\t\t\t\t\t$(dialogId).find('.allnewfiles + .count').text(t('core', '(all selected)'))\n\t\t\t\t\t} else if (count > 0) {\n\t\t\t\t\t\t$(dialogId).find('.allnewfiles').prop('checked', false)\n\t\t\t\t\t\t$(dialogId).find('.allnewfiles + .count').text(t('core', '({count} selected)', { count }))\n\t\t\t\t\t} else {\n\t\t\t\t\t\t$(dialogId).find('.allnewfiles').prop('checked', false)\n\t\t\t\t\t\t$(dialogId).find('.allnewfiles + .count').text('')\n\t\t\t\t\t}\n\t\t\t\t\tupdatePrimaryButton()\n\t\t\t\t})\n\t\t\t\t$(dialogId).on('click', '.original,.allexistingfiles', function() {\n\t\t\t\t\tconst count = $(dialogId).find('.conflict .original input[type=\"checkbox\"]:checked').length\n\t\t\t\t\tif (count === $(dialogId + ' .conflict').length) {\n\t\t\t\t\t\t$(dialogId).find('.allexistingfiles').prop('checked', true)\n\t\t\t\t\t\t$(dialogId).find('.allexistingfiles + .count').text(t('core', '(all selected)'))\n\t\t\t\t\t} else if (count > 0) {\n\t\t\t\t\t\t$(dialogId).find('.allexistingfiles').prop('checked', false)\n\t\t\t\t\t\t$(dialogId).find('.allexistingfiles + .count')\n\t\t\t\t\t\t\t.text(t('core', '({count} selected)', { count }))\n\t\t\t\t\t} else {\n\t\t\t\t\t\t$(dialogId).find('.allexistingfiles').prop('checked', false)\n\t\t\t\t\t\t$(dialogId).find('.allexistingfiles + .count').text('')\n\t\t\t\t\t}\n\t\t\t\t\tupdatePrimaryButton()\n\t\t\t\t})\n\n\t\t\t\tdialogDeferred.resolve()\n\t\t\t})\n\t\t\t\t.fail(function() {\n\t\t\t\t\tdialogDeferred.reject()\n\t\t\t\t\talert(t('core', 'Error loading file exists template'))\n\t\t\t\t})\n\t\t}\n\t\t// }\n\t\treturn dialogDeferred.promise()\n\t},\n\n\t_getFileExistsTemplate: function() {\n\t\tconst defer = $.Deferred()\n\t\tif (!this.$fileexistsTemplate) {\n\t\t\tconst self = this\n\t\t\t$.get(OC.filePath('core', 'templates/legacy', 'fileexists.html'), function(tmpl) {\n\t\t\t\tself.$fileexistsTemplate = $(tmpl)\n\t\t\t\tdefer.resolve(self.$fileexistsTemplate)\n\t\t\t})\n\t\t\t\t.fail(function() {\n\t\t\t\t\tdefer.reject()\n\t\t\t\t})\n\t\t} else {\n\t\t\tdefer.resolve(this.$fileexistsTemplate)\n\t\t}\n\t\treturn defer.promise()\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\tthis.listeners = {}\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\tif (!this.useFallBack && typeof EventSource !== 'undefined') {\n\t\tjoinChar = '&'\n\t\tif (src.indexOf('?') === -1) {\n\t\t\tjoinChar = '?'\n\t\t}\n\t\tthis.source = new EventSource(src + joinChar + dataStr)\n\t\tthis.source.onmessage = function(e) {\n\t\t\tfor (let i = 0; i < this.typelessListeners.length; i++) {\n\t\t\t\tthis.typelessListeners[i](JSON.parse(e.data))\n\t\t\t}\n\t\t}.bind(this)\n\t} else {\n\t\tconst iframeId = 'oc_eventsource_iframe_' + OCEventSource.iframeCount\n\t\tOCEventSource.fallBackSources[OCEventSource.iframeCount] = this\n\t\tconst iframe = document.createElement('iframe')\n\t\tiframe.id = iframeId\n\t\tiframe.style.display = 'none'\n\n\t\tjoinChar = '&'\n\t\tif (src.indexOf('?') === -1) {\n\t\t\tjoinChar = '?'\n\t\t}\n\t\tiframe.src = src + joinChar + 'fallback=true&fallback_id=' + OCEventSource.iframeCount + '&' + dataStr\n\n\t\tthis.iframe = iframe\n\t\tdocument.body.appendChild(this.iframe)\n\t\tthis.useFallBack = true\n\t\tOCEventSource.iframeCount++\n\t}\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.fallBackSources = []\nOCEventSource.iframeCount = 0// number of fallback iframes\nOCEventSource.fallBackCallBack = function(id, type, data) {\n\tOCEventSource.fallBackSources[id].fallBackCallBack(type, data)\n}\nOCEventSource.prototype = {\n\ttypelessListeners: [],\n\tiframe: null,\n\tlisteners: {}, // only for fallback\n\tuseFallBack: false,\n\t/**\n\t * Fallback callback for browsers that don't have the\n\t * native EventSource object.\n\t *\n\t * Calls the registered listeners.\n\t *\n\t * @private\n\t * @param {string} type event type\n\t * @param {object} data received data\n\t */\n\tfallBackCallBack: function(type, data) {\n\t\tlet i\n\t\t// ignore messages that might appear after closing\n\t\tif (this.closed) {\n\t\t\treturn\n\t\t}\n\t\tif (type) {\n\t\t\tif (typeof this.listeners.done !== 'undefined') {\n\t\t\t\tfor (i = 0; i < this.listeners[type].length; i++) {\n\t\t\t\t\tthis.listeners[type][i](data)\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tfor (i = 0; i < this.typelessListeners.length; i++) {\n\t\t\t\tthis.typelessListeners[i](data)\n\t\t\t}\n\t\t}\n\t},\n\tlastLength: 0, // for fallback\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\tif (this.useFallBack) {\n\t\t\t\t\tif (!this.listeners[type]) {\n\t\t\t\t\t\tthis.listeners[type] = []\n\t\t\t\t\t}\n\t\t\t\t\tthis.listeners[type].push(callback)\n\t\t\t\t} else {\n\t\t\t\t\tthis.source.addEventListener(type, function(e) {\n\t\t\t\t\t\tif (typeof e.data !== 'undefined') {\n\t\t\t\t\t\t\tcallback(JSON.parse(e.data))\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcallback('')\n\t\t\t\t\t\t}\n\t\t\t\t\t}, false)\n\t\t\t\t}\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\tif (typeof this.source !== 'undefined') {\n\t\t\tthis.source.close()\n\t\t}\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'\nimport Handlebars from 'handlebars'\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\nHandlebars.registerHelper('t', function(app, text) {\n\treturn translate(app, text)\n})\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\n/** @typedef {import('jquery')} jQuery */\nimport $ from 'jquery'\nimport _ from 'underscore'\nimport { menuSpeed } from './constants.js'\n\nexport let currentMenu = null\nexport let currentMenuToggle = null\n\n/**\n * For menu toggling\n *\n * @param {jQuery} $toggle the toggle element\n * @param {jQuery} $menuEl the menu container element\n * @param {Function | undefined} toggle callback invoked everytime the menu is opened\n * @param {boolean} headerMenu is this a top right header menu?\n * @return {void}\n */\nexport function registerMenu($toggle, $menuEl, toggle, headerMenu) {\n\t$menuEl.addClass('menu')\n\tconst isClickableElement = $toggle.prop('tagName') === 'A' || $toggle.prop('tagName') === 'BUTTON'\n\n\t// On link and button, the enter key trigger a click event\n\t// Only use the click to avoid two fired events\n\t$toggle.on(isClickableElement ? 'click.menu' : 'click.menu keyup.menu', function(event) {\n\t\t// prevent the link event (append anchor to URL)\n\t\tevent.preventDefault()\n\n\t\t// allow enter key as a trigger\n\t\tif (event.key && event.key !== 'Enter') {\n\t\t\treturn\n\t\t}\n\n\t\tif ($menuEl.is(currentMenu)) {\n\t\t\thideMenus()\n\t\t\treturn\n\t\t} else if (currentMenu) {\n\t\t\t// another menu was open?\n\t\t\t// close it\n\t\t\thideMenus()\n\t\t}\n\n\t\tif (headerMenu === true) {\n\t\t\t$menuEl.parent().addClass('openedMenu')\n\t\t}\n\n\t\t// Set menu to expanded\n\t\t$toggle.attr('aria-expanded', true)\n\n\t\t$menuEl.slideToggle(menuSpeed, toggle)\n\t\tcurrentMenu = $menuEl\n\t\tcurrentMenuToggle = $toggle\n\t})\n}\n\n/**\n * Unregister a previously registered menu\n *\n * @param {jQuery} $toggle the toggle element\n * @param {jQuery} $menuEl the menu container element\n */\nexport function unregisterMenu($toggle, $menuEl) {\n\t// close menu if opened\n\tif ($menuEl.is(currentMenu)) {\n\t\thideMenus()\n\t}\n\t$toggle.off('click.menu').removeClass('menutoggle')\n\t$menuEl.removeClass('menu')\n}\n\n/**\n * Hides any open menus\n *\n * @param {Function} complete callback when the hiding animation is done\n */\nexport function hideMenus(complete) {\n\tif (currentMenu) {\n\t\tconst lastMenu = currentMenu\n\t\tcurrentMenu.trigger(new $.Event('beforeHide'))\n\t\tcurrentMenu.slideUp(menuSpeed, function() {\n\t\t\tlastMenu.trigger(new $.Event('afterHide'))\n\t\t\tif (complete) {\n\t\t\t\tcomplete.apply(this, arguments)\n\t\t\t}\n\t\t})\n\t}\n\n\t// Set menu to closed\n\t$('.menutoggle').attr('aria-expanded', false)\n\tif (currentMenuToggle) {\n\t\tcurrentMenuToggle.attr('aria-expanded', false)\n\t}\n\n\t$('.openedMenu').removeClass('openedMenu')\n\tcurrentMenu = null\n\tcurrentMenuToggle = null\n}\n\n/**\n * Shows a given element as menu\n *\n * @param {object} [$toggle] menu toggle\n * @param {object} $menuEl menu element\n * @param {Function} complete callback when the showing animation is done\n */\nexport function showMenu($toggle, $menuEl, complete) {\n\tif ($menuEl.is(currentMenu)) {\n\t\treturn\n\t}\n\thideMenus()\n\tcurrentMenu = $menuEl\n\tcurrentMenuToggle = $toggle\n\t$menuEl.trigger(new $.Event('beforeShow'))\n\t$menuEl.show()\n\t$menuEl.trigger(new $.Event('afterShow'))\n\t// no animation\n\tif (_.isFunction(complete)) {\n\t\tcomplete()\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 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: 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 // eslint-disable-next-line @stylistic/exp-list-style\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 { showMessage, TOAST_DEFAULT_TIMEOUT, TOAST_PERMANENT_TIMEOUT } from '@nextcloud/dialogs'\nimport $ from 'jquery'\nimport _ from 'underscore'\nimport logger from '../logger.js'\n\n/** @typedef {import('jquery')} jQuery */\n\n/**\n * @todo Write documentation\n * @deprecated 17.0.0 use the `@nextcloud/dialogs` package instead\n * @namespace OC.Notification\n */\nexport default {\n\n\tupdatableNotification: null,\n\n\tgetDefaultNotificationFunction: null,\n\n\t/**\n\t * @param {Function} callback callback function\n\t * @deprecated 17.0.0 use the `@nextcloud/dialogs` package\n\t */\n\tsetDefault(callback) {\n\t\tthis.getDefaultNotificationFunction = callback\n\t},\n\n\t/**\n\t * Hides a notification.\n\t *\n\t * If a row is given, only hide that one.\n\t * If no row is given, hide all notifications.\n\t *\n\t * @param {jQuery} [$row] notification row\n\t * @param {Function} [callback] callback\n\t * @deprecated 17.0.0 use the `@nextcloud/dialogs` package\n\t */\n\thide($row, callback) {\n\t\tif (_.isFunction($row)) {\n\t\t\t// first arg is the callback\n\t\t\tcallback = $row\n\t\t\t$row = undefined\n\t\t}\n\n\t\tif (!$row) {\n\t\t\tlogger.error('Missing argument $row in OC.Notification.hide() call, caller needs to be adjusted to only dismiss its own notification')\n\t\t\treturn\n\t\t}\n\n\t\t// remove the row directly\n\t\t$row.each(function() {\n\t\t\tif ($(this)[0].toastify) {\n\t\t\t\t$(this)[0].toastify.hideToast()\n\t\t\t} else {\n\t\t\t\tlogger.error('cannot hide toast because object is not set')\n\t\t\t}\n\t\t\tif (this === this.updatableNotification) {\n\t\t\t\tthis.updatableNotification = null\n\t\t\t}\n\t\t})\n\t\tif (callback) {\n\t\t\tcallback.call()\n\t\t}\n\t\tif (this.getDefaultNotificationFunction) {\n\t\t\tthis.getDefaultNotificationFunction()\n\t\t}\n\t},\n\n\t/**\n\t * Shows a notification as HTML without being sanitized before.\n\t * If you pass unsanitized user input this may lead to a XSS vulnerability.\n\t * Consider using show() instead of showHTML()\n\t *\n\t * @param {string} html Message to display\n\t * @param {object} [options] options\n\t * @param {string} [options.type] notification type\n\t * @param {number} [options.timeout] timeout value, defaults to 0 (permanent)\n\t * @return {jQuery} jQuery element for notification row\n\t * @deprecated 17.0.0 use the `@nextcloud/dialogs` package\n\t */\n\tshowHtml(html, options) {\n\t\toptions = options || {}\n\t\toptions.isHTML = true\n\t\toptions.timeout = (!options.timeout) ? TOAST_PERMANENT_TIMEOUT : options.timeout\n\t\tconst toast = showMessage(html, options)\n\t\ttoast.toastElement.toastify = toast\n\t\treturn $(toast.toastElement)\n\t},\n\n\t/**\n\t * Shows a sanitized notification\n\t *\n\t * @param {string} text Message to display\n\t * @param {object} [options] options\n\t * @param {string} [options.type] notification type\n\t * @param {number} [options.timeout] timeout value, defaults to 0 (permanent)\n\t * @return {jQuery} jQuery element for notification row\n\t * @deprecated 17.0.0 use the `@nextcloud/dialogs` package\n\t */\n\tshow(text, options) {\n\t\tconst escapeHTML = function(text) {\n\t\t\treturn text.toString()\n\t\t\t\t.split('&').join('&')\n\t\t\t\t.split('<').join('<')\n\t\t\t\t.split('>').join('>')\n\t\t\t\t.split('\"').join('"')\n\t\t\t\t.split('\\'').join(''')\n\t\t}\n\n\t\toptions = options || {}\n\t\toptions.timeout = (!options.timeout) ? TOAST_PERMANENT_TIMEOUT : options.timeout\n\t\tconst toast = showMessage(escapeHTML(text), options)\n\t\ttoast.toastElement.toastify = toast\n\t\treturn $(toast.toastElement)\n\t},\n\n\t/**\n\t * Updates (replaces) a sanitized notification.\n\t *\n\t * @param {string} text Message to display\n\t * @return {jQuery} JQuery element for notification row\n\t * @deprecated 17.0.0 use the `@nextcloud/dialogs` package\n\t */\n\tshowUpdate(text) {\n\t\tif (this.updatableNotification) {\n\t\t\tthis.updatableNotification.hideToast()\n\t\t}\n\t\tthis.updatableNotification = showMessage(text, { timeout: TOAST_PERMANENT_TIMEOUT })\n\t\tthis.updatableNotification.toastElement.toastify = this.updatableNotification\n\t\treturn $(this.updatableNotification.toastElement)\n\t},\n\n\t/**\n\t * Shows a notification that disappears after x seconds, default is\n\t * 7 seconds\n\t *\n\t * @param {string} text Message to show\n\t * @param {Array} [options] options array\n\t * @param {number} [options.timeout] timeout in seconds, if this is 0 it will show the message permanently\n\t * @param {boolean} [options.isHTML] an indicator for HTML notifications (true) or text (false)\n\t * @param {string} [options.type] notification type\n\t * @return {jQuery} the toast element\n\t * @deprecated 17.0.0 use the `@nextcloud/dialogs` package\n\t */\n\tshowTemporary(text, options) {\n\t\toptions = options || {}\n\t\toptions.timeout = options.timeout || TOAST_DEFAULT_TIMEOUT\n\t\tconst toast = showMessage(text, options)\n\t\ttoast.toastElement.toastify = toast\n\t\treturn $(toast.toastElement)\n\t},\n\n\t/**\n\t * Returns whether a notification is hidden.\n\t *\n\t * @return {boolean}\n\t * @deprecated 17.0.0 use the `@nextcloud/dialogs` package\n\t */\n\tisHidden() {\n\t\treturn !$('#content').find('.toastify').length\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 { 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: 2016-2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-FileCopyrightText: 2016 ownCloud, Inc.\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport axios from '@nextcloud/axios'\nimport { emit } from '@nextcloud/event-bus'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport $ from 'jquery'\nimport _ from 'underscore'\nimport logger from '../logger.js'\n\n/**\n * @deprecated 25.0.0 Use Vue based (`@nextcloud/vue`) settings components instead\n */\nexport default {\n\t_cachedGroups: null,\n\n\tescapeHTML: function(text) {\n\t\treturn text.toString()\n\t\t\t.split('&').join('&')\n\t\t\t.split('<').join('<')\n\t\t\t.split('>').join('>')\n\t\t\t.split('\"').join('"')\n\t\t\t.split('\\'').join(''')\n\t},\n\n\tasync rebuildNavigation() {\n\t\tconst { data } = await axios.get(generateOcsUrl('core/navigation', 2) + '/apps?format=json')\n\t\tif (data.ocs.meta.statuscode !== 200) {\n\t\t\treturn\n\t\t}\n\n\t\temit('nextcloud:app-menu.refresh', { apps: data.ocs.data })\n\t\twindow.dispatchEvent(new Event('resize'))\n\t},\n\n\t/**\n\t * Setup selection box for group selection.\n\t *\n\t * Values need to be separated by a pipe \"|\" character.\n\t * (mostly because a comma is more likely to be used\n\t * for groups)\n\t *\n\t * @param $elements jQuery element (hidden input) to setup select2 on\n\t * @param {Array} [extraOptions] extra options hash to pass to select2\n\t * @param {Array} [options] extra options\n\t * @param {Array} [options.excludeAdmins] flag whether to exclude admin groups\n\t */\n\tsetupGroupsSelect: function($elements, extraOptions, options) {\n\t\tconst self = this\n\t\toptions = options || {}\n\t\tif ($elements.length > 0) {\n\t\t\t// Let's load the data and THEN init our select\n\t\t\t$.ajax({\n\t\t\t\turl: generateOcsUrl('cloud/groups/details'),\n\t\t\t\tdataType: 'json',\n\t\t\t\tsuccess: function(data) {\n\t\t\t\t\tconst results = []\n\n\t\t\t\t\tif (data.ocs.data.groups && data.ocs.data.groups.length > 0) {\n\t\t\t\t\t\tdata.ocs.data.groups.forEach(function(group) {\n\t\t\t\t\t\t\tif (!options.excludeAdmins || group.id !== 'admin') {\n\t\t\t\t\t\t\t\tresults.push({ id: group.id, displayname: group.displayname })\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\n\t\t\t\t\t\t// note: settings are saved through a \"change\" event registered\n\t\t\t\t\t\t// on all input fields\n\t\t\t\t\t\t$elements.select2(_.extend({\n\t\t\t\t\t\t\tplaceholder: t('core', 'Groups'),\n\t\t\t\t\t\t\tallowClear: true,\n\t\t\t\t\t\t\tmultiple: true,\n\t\t\t\t\t\t\ttoggleSelect: true,\n\t\t\t\t\t\t\tseparator: '|',\n\t\t\t\t\t\t\tdata: { results, text: 'displayname' },\n\t\t\t\t\t\t\tinitSelection: function(element, callback) {\n\t\t\t\t\t\t\t\tconst groups = $(element).val()\n\t\t\t\t\t\t\t\tlet selection\n\t\t\t\t\t\t\t\tif (groups && results.length > 0) {\n\t\t\t\t\t\t\t\t\tselection = _.map(_.filter((groups || []).split('|').sort(), function(groupId) {\n\t\t\t\t\t\t\t\t\t\treturn results.find(function(group) {\n\t\t\t\t\t\t\t\t\t\t\treturn group.id === groupId\n\t\t\t\t\t\t\t\t\t\t}) !== undefined\n\t\t\t\t\t\t\t\t\t}), function(groupId) {\n\t\t\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t\t\tid: groupId,\n\t\t\t\t\t\t\t\t\t\t\tdisplayname: results.find(function(group) {\n\t\t\t\t\t\t\t\t\t\t\t\treturn group.id === groupId\n\t\t\t\t\t\t\t\t\t\t\t}).displayname,\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t} else if (groups) {\n\t\t\t\t\t\t\t\t\tselection = _.map((groups || []).split('|').sort(), function(groupId) {\n\t\t\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t\t\tid: groupId,\n\t\t\t\t\t\t\t\t\t\t\tdisplayname: groupId,\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcallback(selection)\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tformatResult: function(element) {\n\t\t\t\t\t\t\t\treturn self.escapeHTML(element.displayname)\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tformatSelection: function(element) {\n\t\t\t\t\t\t\t\treturn self.escapeHTML(element.displayname)\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tescapeMarkup: function(m) {\n\t\t\t\t\t\t\t\t// prevent double markup escape\n\t\t\t\t\t\t\t\treturn m\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t}, extraOptions || {}))\n\t\t\t\t\t} else {\n\t\t\t\t\t\tOC.Notification.show(t('core', 'Group list is empty'), { type: 'error' })\n\t\t\t\t\t\tlogger.debug(data)\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\terror: function(data) {\n\t\t\t\t\tOC.Notification.show(t('core', 'Unable to retrieve the group list'), { type: 'error' })\n\t\t\t\t\tlogger.debug(data)\n\t\t\t\t},\n\t\t\t})\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\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 _ from 'underscore'\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\tparams = _.extend(params || {}, OC.parseQueryString(this._decodeQuery(location.search)))\n\t\treturn params || {}\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 (_.isString(params)) {\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\tlet bytes = null\n\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\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 Apps from './apps.js'\nimport appswebroots from './appswebroots.js'\nimport Backbone from './backbone.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 {\n\thideMenus,\n\tregisterMenu,\n\tshowMenu,\n\tunregisterMenu,\n} from './menu.js'\nimport * as MimeType from './mimeType.js'\nimport msg from './msg.js'\nimport Notification from './notification.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 Settings from './settings.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\tApps,\n\tappConfig,\n\tappswebroots,\n\tBackbone,\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 * Legacy menu helpers\n\t */\n\thideMenus,\n\tregisterMenu,\n\tshowMenu,\n\tunregisterMenu,\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\tNotification,\n\t/**\n\t * @deprecated 28.0.0 use methods from '@nextcloud/password-confirmation'\n\t */\n\tPasswordConfirmation,\n\tPlugins,\n\t/**\n\t * @deprecated 25.0.0 Use Vue based (`@nextcloud/vue`) settings components instead\n\t */\n\tSettings,\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\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","// Backbone.js 1.6.1\n\n// (c) 2010-2024 Jeremy Ashkenas and DocumentCloud\n// Backbone may be freely distributed under the MIT license.\n// For all details and documentation:\n// http://backbonejs.org\n\n(function(factory) {\n\n // Establish the root object, `window` (`self`) in the browser, or `global` on the server.\n // We use `self` instead of `window` for `WebWorker` support.\n var root = typeof self == 'object' && self.self === self && self ||\n typeof global == 'object' && global.global === global && global;\n\n // Set up Backbone appropriately for the environment. Start with AMD.\n if (typeof define === 'function' && define.amd) {\n define(['underscore', 'jquery', 'exports'], function(_, $, exports) {\n // Export global even in AMD case in case this script is loaded with\n // others that may still expect a global Backbone.\n root.Backbone = factory(root, exports, _, $);\n });\n\n // Next for Node.js or CommonJS. jQuery may not be needed as a module.\n } else if (typeof exports !== 'undefined') {\n var _ = require('underscore'), $;\n try { $ = require('jquery'); } catch (e) {}\n factory(root, exports, _, $);\n\n // Finally, as a browser global.\n } else {\n root.Backbone = factory(root, {}, root._, root.jQuery || root.Zepto || root.ender || root.$);\n }\n\n})(function(root, Backbone, _, $) {\n\n // Initial Setup\n // -------------\n\n // Save the previous value of the `Backbone` variable, so that it can be\n // restored later on, if `noConflict` is used.\n var previousBackbone = root.Backbone;\n\n // Create a local reference to a common array method we'll want to use later.\n var slice = Array.prototype.slice;\n\n // Current version of the library. Keep in sync with `package.json`.\n Backbone.VERSION = '1.6.1';\n\n // For Backbone's purposes, jQuery, Zepto, Ender, or My Library (kidding) owns\n // the `$` variable.\n Backbone.$ = $;\n\n // Runs Backbone.js in *noConflict* mode, returning the `Backbone` variable\n // to its previous owner. Returns a reference to this Backbone object.\n Backbone.noConflict = function() {\n root.Backbone = previousBackbone;\n return this;\n };\n\n // Turn on `emulateHTTP` to support legacy HTTP servers. Setting this option\n // will fake `\"PATCH\"`, `\"PUT\"` and `\"DELETE\"` requests via the `_method` parameter and\n // set a `X-Http-Method-Override` header.\n Backbone.emulateHTTP = false;\n\n // Turn on `emulateJSON` to support legacy servers that can't deal with direct\n // `application/json` requests ... this will encode the body as\n // `application/x-www-form-urlencoded` instead and will send the model in a\n // form param named `model`.\n Backbone.emulateJSON = false;\n\n // Backbone.Events\n // ---------------\n\n // A module that can be mixed in to *any object* in order to provide it with\n // a custom event channel. You may bind a callback to an event with `on` or\n // remove with `off`; `trigger`-ing an event fires all callbacks in\n // succession.\n //\n // var object = {};\n // _.extend(object, Backbone.Events);\n // object.on('expand', function(){ alert('expanded'); });\n // object.trigger('expand');\n //\n var Events = Backbone.Events = {};\n\n // Regular expression used to split event strings.\n var eventSplitter = /\\s+/;\n\n // A private global variable to share between listeners and listenees.\n var _listening;\n\n // Iterates over the standard `event, callback` (as well as the fancy multiple\n // space-separated events `\"change blur\", callback` and jQuery-style event\n // maps `{event: callback}`).\n var eventsApi = function(iteratee, events, name, callback, opts) {\n var i = 0, names;\n if (name && typeof name === 'object') {\n // Handle event maps.\n if (callback !== void 0 && 'context' in opts && opts.context === void 0) opts.context = callback;\n for (names = _.keys(name); i < names.length ; i++) {\n events = eventsApi(iteratee, events, names[i], name[names[i]], opts);\n }\n } else if (name && eventSplitter.test(name)) {\n // Handle space-separated event names by delegating them individually.\n for (names = name.split(eventSplitter); i < names.length; i++) {\n events = iteratee(events, names[i], callback, opts);\n }\n } else {\n // Finally, standard events.\n events = iteratee(events, name, callback, opts);\n }\n return events;\n };\n\n // Bind an event to a `callback` function. Passing `\"all\"` will bind\n // the callback to all events fired.\n Events.on = function(name, callback, context) {\n this._events = eventsApi(onApi, this._events || {}, name, callback, {\n context: context,\n ctx: this,\n listening: _listening\n });\n\n if (_listening) {\n var listeners = this._listeners || (this._listeners = {});\n listeners[_listening.id] = _listening;\n // Allow the listening to use a counter, instead of tracking\n // callbacks for library interop\n _listening.interop = false;\n }\n\n return this;\n };\n\n // Inversion-of-control versions of `on`. Tell *this* object to listen to\n // an event in another object... keeping track of what it's listening to\n // for easier unbinding later.\n Events.listenTo = function(obj, name, callback) {\n if (!obj) return this;\n var id = obj._listenId || (obj._listenId = _.uniqueId('l'));\n var listeningTo = this._listeningTo || (this._listeningTo = {});\n var listening = _listening = listeningTo[id];\n\n // This object is not listening to any other events on `obj` yet.\n // Setup the necessary references to track the listening callbacks.\n if (!listening) {\n this._listenId || (this._listenId = _.uniqueId('l'));\n listening = _listening = listeningTo[id] = new Listening(this, obj);\n }\n\n // Bind callbacks on obj.\n var error = tryCatchOn(obj, name, callback, this);\n _listening = void 0;\n\n if (error) throw error;\n // If the target obj is not Backbone.Events, track events manually.\n if (listening.interop) listening.on(name, callback);\n\n return this;\n };\n\n // The reducing API that adds a callback to the `events` object.\n var onApi = function(events, name, callback, options) {\n if (callback) {\n var handlers = events[name] || (events[name] = []);\n var context = options.context, ctx = options.ctx, listening = options.listening;\n if (listening) listening.count++;\n\n handlers.push({callback: callback, context: context, ctx: context || ctx, listening: listening});\n }\n return events;\n };\n\n // An try-catch guarded #on function, to prevent poisoning the global\n // `_listening` variable.\n var tryCatchOn = function(obj, name, callback, context) {\n try {\n obj.on(name, callback, context);\n } catch (e) {\n return e;\n }\n };\n\n // Remove one or many callbacks. If `context` is null, removes all\n // callbacks with that function. If `callback` is null, removes all\n // callbacks for the event. If `name` is null, removes all bound\n // callbacks for all events.\n Events.off = function(name, callback, context) {\n if (!this._events) return this;\n this._events = eventsApi(offApi, this._events, name, callback, {\n context: context,\n listeners: this._listeners\n });\n\n return this;\n };\n\n // Tell this object to stop listening to either specific events ... or\n // to every object it's currently listening to.\n Events.stopListening = function(obj, name, callback) {\n var listeningTo = this._listeningTo;\n if (!listeningTo) return this;\n\n var ids = obj ? [obj._listenId] : _.keys(listeningTo);\n for (var i = 0; i < ids.length; i++) {\n var listening = listeningTo[ids[i]];\n\n // If listening doesn't exist, this object is not currently\n // listening to obj. Break out early.\n if (!listening) break;\n\n listening.obj.off(name, callback, this);\n if (listening.interop) listening.off(name, callback);\n }\n if (_.isEmpty(listeningTo)) this._listeningTo = void 0;\n\n return this;\n };\n\n // The reducing API that removes a callback from the `events` object.\n var offApi = function(events, name, callback, options) {\n if (!events) return;\n\n var context = options.context, listeners = options.listeners;\n var i = 0, names;\n\n // Delete all event listeners and \"drop\" events.\n if (!name && !context && !callback) {\n for (names = _.keys(listeners); i < names.length; i++) {\n listeners[names[i]].cleanup();\n }\n return;\n }\n\n names = name ? [name] : _.keys(events);\n for (; i < names.length; i++) {\n name = names[i];\n var handlers = events[name];\n\n // Bail out if there are no events stored.\n if (!handlers) break;\n\n // Find any remaining events.\n var remaining = [];\n for (var j = 0; j < handlers.length; j++) {\n var handler = handlers[j];\n if (\n callback && callback !== handler.callback &&\n callback !== handler.callback._callback ||\n context && context !== handler.context\n ) {\n remaining.push(handler);\n } else {\n var listening = handler.listening;\n if (listening) listening.off(name, callback);\n }\n }\n\n // Replace events if there are any remaining. Otherwise, clean up.\n if (remaining.length) {\n events[name] = remaining;\n } else {\n delete events[name];\n }\n }\n\n return events;\n };\n\n // Bind an event to only be triggered a single time. After the first time\n // the callback is invoked, its listener will be removed. If multiple events\n // are passed in using the space-separated syntax, the handler will fire\n // once for each event, not once for a combination of all events.\n Events.once = function(name, callback, context) {\n // Map the event into a `{event: once}` object.\n var events = eventsApi(onceMap, {}, name, callback, this.off.bind(this));\n if (typeof name === 'string' && context == null) callback = void 0;\n return this.on(events, callback, context);\n };\n\n // Inversion-of-control versions of `once`.\n Events.listenToOnce = function(obj, name, callback) {\n // Map the event into a `{event: once}` object.\n var events = eventsApi(onceMap, {}, name, callback, this.stopListening.bind(this, obj));\n return this.listenTo(obj, events);\n };\n\n // Reduces the event callbacks into a map of `{event: onceWrapper}`.\n // `offer` unbinds the `onceWrapper` after it has been called.\n var onceMap = function(map, name, callback, offer) {\n if (callback) {\n var once = map[name] = _.once(function() {\n offer(name, once);\n callback.apply(this, arguments);\n });\n once._callback = callback;\n }\n return map;\n };\n\n // Trigger one or many events, firing all bound callbacks. Callbacks are\n // passed the same arguments as `trigger` is, apart from the event name\n // (unless you're listening on `\"all\"`, which will cause your callback to\n // receive the true name of the event as the first argument).\n Events.trigger = function(name) {\n if (!this._events) return this;\n\n var length = Math.max(0, arguments.length - 1);\n var args = Array(length);\n for (var i = 0; i < length; i++) args[i] = arguments[i + 1];\n\n eventsApi(triggerApi, this._events, name, void 0, args);\n return this;\n };\n\n // Handles triggering the appropriate event callbacks.\n var triggerApi = function(objEvents, name, callback, args) {\n if (objEvents) {\n var events = objEvents[name];\n var allEvents = objEvents.all;\n if (events && allEvents) allEvents = allEvents.slice();\n if (events) triggerEvents(events, args);\n if (allEvents) triggerEvents(allEvents, [name].concat(args));\n }\n return objEvents;\n };\n\n // A difficult-to-believe, but optimized internal dispatch function for\n // triggering events. Tries to keep the usual cases speedy (most internal\n // Backbone events have 3 arguments).\n var triggerEvents = function(events, args) {\n var ev, i = -1, l = events.length, a1 = args[0], a2 = args[1], a3 = args[2];\n switch (args.length) {\n case 0: while (++i < l) (ev = events[i]).callback.call(ev.ctx); return;\n case 1: while (++i < l) (ev = events[i]).callback.call(ev.ctx, a1); return;\n case 2: while (++i < l) (ev = events[i]).callback.call(ev.ctx, a1, a2); return;\n case 3: while (++i < l) (ev = events[i]).callback.call(ev.ctx, a1, a2, a3); return;\n default: while (++i < l) (ev = events[i]).callback.apply(ev.ctx, args); return;\n }\n };\n\n // A listening class that tracks and cleans up memory bindings\n // when all callbacks have been offed.\n var Listening = function(listener, obj) {\n this.id = listener._listenId;\n this.listener = listener;\n this.obj = obj;\n this.interop = true;\n this.count = 0;\n this._events = void 0;\n };\n\n Listening.prototype.on = Events.on;\n\n // Offs a callback (or several).\n // Uses an optimized counter if the listenee uses Backbone.Events.\n // Otherwise, falls back to manual tracking to support events\n // library interop.\n Listening.prototype.off = function(name, callback) {\n var cleanup;\n if (this.interop) {\n this._events = eventsApi(offApi, this._events, name, callback, {\n context: void 0,\n listeners: void 0\n });\n cleanup = !this._events;\n } else {\n this.count--;\n cleanup = this.count === 0;\n }\n if (cleanup) this.cleanup();\n };\n\n // Cleans up memory bindings between the listener and the listenee.\n Listening.prototype.cleanup = function() {\n delete this.listener._listeningTo[this.obj._listenId];\n if (!this.interop) delete this.obj._listeners[this.id];\n };\n\n // Aliases for backwards compatibility.\n Events.bind = Events.on;\n Events.unbind = Events.off;\n\n // Allow the `Backbone` object to serve as a global event bus, for folks who\n // want global \"pubsub\" in a convenient place.\n _.extend(Backbone, Events);\n\n // Backbone.Model\n // --------------\n\n // Backbone **Models** are the basic data object in the framework --\n // frequently representing a row in a table in a database on your server.\n // A discrete chunk of data and a bunch of useful, related methods for\n // performing computations and transformations on that data.\n\n // Create a new model with the specified attributes. A client id (`cid`)\n // is automatically generated and assigned for you.\n var Model = Backbone.Model = function(attributes, options) {\n var attrs = attributes || {};\n options || (options = {});\n this.preinitialize.apply(this, arguments);\n this.cid = _.uniqueId(this.cidPrefix);\n this.attributes = {};\n if (options.collection) this.collection = options.collection;\n if (options.parse) attrs = this.parse(attrs, options) || {};\n var defaults = _.result(this, 'defaults');\n\n // Just _.defaults would work fine, but the additional _.extends\n // is in there for historical reasons. See #3843.\n attrs = _.defaults(_.extend({}, defaults, attrs), defaults);\n\n this.set(attrs, options);\n this.changed = {};\n this.initialize.apply(this, arguments);\n };\n\n // Attach all inheritable methods to the Model prototype.\n _.extend(Model.prototype, Events, {\n\n // A hash of attributes whose current and previous value differ.\n changed: null,\n\n // The value returned during the last failed validation.\n validationError: null,\n\n // The default name for the JSON `id` attribute is `\"id\"`. MongoDB and\n // CouchDB users may want to set this to `\"_id\"`.\n idAttribute: 'id',\n\n // The prefix is used to create the client id which is used to identify models locally.\n // You may want to override this if you're experiencing name clashes with model ids.\n cidPrefix: 'c',\n\n // preinitialize is an empty function by default. You can override it with a function\n // or object. preinitialize will run before any instantiation logic is run in the Model.\n preinitialize: function(){},\n\n // Initialize is an empty function by default. Override it with your own\n // initialization logic.\n initialize: function(){},\n\n // Return a copy of the model's `attributes` object.\n toJSON: function(options) {\n return _.clone(this.attributes);\n },\n\n // Proxy `Backbone.sync` by default -- but override this if you need\n // custom syncing semantics for *this* particular model.\n sync: function() {\n return Backbone.sync.apply(this, arguments);\n },\n\n // Get the value of an attribute.\n get: function(attr) {\n return this.attributes[attr];\n },\n\n // Get the HTML-escaped value of an attribute.\n escape: function(attr) {\n return _.escape(this.get(attr));\n },\n\n // Returns `true` if the attribute contains a value that is not null\n // or undefined.\n has: function(attr) {\n return this.get(attr) != null;\n },\n\n // Special-cased proxy to underscore's `_.matches` method.\n matches: function(attrs) {\n return !!_.iteratee(attrs, this)(this.attributes);\n },\n\n // Set a hash of model attributes on the object, firing `\"change\"`. This is\n // the core primitive operation of a model, updating the data and notifying\n // anyone who needs to know about the change in state. The heart of the beast.\n set: function(key, val, options) {\n if (key == null) return this;\n\n // Handle both `\"key\", value` and `{key: value}` -style arguments.\n var attrs;\n if (typeof key === 'object') {\n attrs = key;\n options = val;\n } else {\n (attrs = {})[key] = val;\n }\n\n options || (options = {});\n\n // Run validation.\n if (!this._validate(attrs, options)) return false;\n\n // Extract attributes and options.\n var unset = options.unset;\n var silent = options.silent;\n var changes = [];\n var changing = this._changing;\n this._changing = true;\n\n if (!changing) {\n this._previousAttributes = _.clone(this.attributes);\n this.changed = {};\n }\n\n var current = this.attributes;\n var changed = this.changed;\n var prev = this._previousAttributes;\n\n // For each `set` attribute, update or delete the current value.\n for (var attr in attrs) {\n val = attrs[attr];\n if (!_.isEqual(current[attr], val)) changes.push(attr);\n if (!_.isEqual(prev[attr], val)) {\n changed[attr] = val;\n } else {\n delete changed[attr];\n }\n unset ? delete current[attr] : current[attr] = val;\n }\n\n // Update the `id`.\n if (this.idAttribute in attrs) {\n var prevId = this.id;\n this.id = this.get(this.idAttribute);\n if (this.id !== prevId) {\n this.trigger('changeId', this, prevId, options);\n }\n }\n\n // Trigger all relevant attribute changes.\n if (!silent) {\n if (changes.length) this._pending = options;\n for (var i = 0; i < changes.length; i++) {\n this.trigger('change:' + changes[i], this, current[changes[i]], options);\n }\n }\n\n // You might be wondering why there's a `while` loop here. Changes can\n // be recursively nested within `\"change\"` events.\n if (changing) return this;\n if (!silent) {\n while (this._pending) {\n options = this._pending;\n this._pending = false;\n this.trigger('change', this, options);\n }\n }\n this._pending = false;\n this._changing = false;\n return this;\n },\n\n // Remove an attribute from the model, firing `\"change\"`. `unset` is a noop\n // if the attribute doesn't exist.\n unset: function(attr, options) {\n return this.set(attr, void 0, _.extend({}, options, {unset: true}));\n },\n\n // Clear all attributes on the model, firing `\"change\"`.\n clear: function(options) {\n var attrs = {};\n for (var key in this.attributes) attrs[key] = void 0;\n return this.set(attrs, _.extend({}, options, {unset: true}));\n },\n\n // Determine if the model has changed since the last `\"change\"` event.\n // If you specify an attribute name, determine if that attribute has changed.\n hasChanged: function(attr) {\n if (attr == null) return !_.isEmpty(this.changed);\n return _.has(this.changed, attr);\n },\n\n // Return an object containing all the attributes that have changed, or\n // false if there are no changed attributes. Useful for determining what\n // parts of a view need to be updated and/or what attributes need to be\n // persisted to the server. Unset attributes will be set to undefined.\n // You can also pass an attributes object to diff against the model,\n // determining if there *would be* a change.\n changedAttributes: function(diff) {\n if (!diff) return this.hasChanged() ? _.clone(this.changed) : false;\n var old = this._changing ? this._previousAttributes : this.attributes;\n var changed = {};\n var hasChanged;\n for (var attr in diff) {\n var val = diff[attr];\n if (_.isEqual(old[attr], val)) continue;\n changed[attr] = val;\n hasChanged = true;\n }\n return hasChanged ? changed : false;\n },\n\n // Get the previous value of an attribute, recorded at the time the last\n // `\"change\"` event was fired.\n previous: function(attr) {\n if (attr == null || !this._previousAttributes) return null;\n return this._previousAttributes[attr];\n },\n\n // Get all of the attributes of the model at the time of the previous\n // `\"change\"` event.\n previousAttributes: function() {\n return _.clone(this._previousAttributes);\n },\n\n // Fetch the model from the server, merging the response with the model's\n // local attributes. Any changed attributes will trigger a \"change\" event.\n fetch: function(options) {\n options = _.extend({parse: true}, options);\n var model = this;\n var success = options.success;\n options.success = function(resp) {\n var serverAttrs = options.parse ? model.parse(resp, options) : resp;\n if (!model.set(serverAttrs, options)) return false;\n if (success) success.call(options.context, model, resp, options);\n model.trigger('sync', model, resp, options);\n };\n wrapError(this, options);\n return this.sync('read', this, options);\n },\n\n // Set a hash of model attributes, and sync the model to the server.\n // If the server returns an attributes hash that differs, the model's\n // state will be `set` again.\n save: function(key, val, options) {\n // Handle both `\"key\", value` and `{key: value}` -style arguments.\n var attrs;\n if (key == null || typeof key === 'object') {\n attrs = key;\n options = val;\n } else {\n (attrs = {})[key] = val;\n }\n\n options = _.extend({validate: true, parse: true}, options);\n var wait = options.wait;\n\n // If we're not waiting and attributes exist, save acts as\n // `set(attr).save(null, opts)` with validation. Otherwise, check if\n // the model will be valid when the attributes, if any, are set.\n if (attrs && !wait) {\n if (!this.set(attrs, options)) return false;\n } else if (!this._validate(attrs, options)) {\n return false;\n }\n\n // After a successful server-side save, the client is (optionally)\n // updated with the server-side state.\n var model = this;\n var success = options.success;\n var attributes = this.attributes;\n options.success = function(resp) {\n // Ensure attributes are restored during synchronous saves.\n model.attributes = attributes;\n var serverAttrs = options.parse ? model.parse(resp, options) : resp;\n if (wait) serverAttrs = _.extend({}, attrs, serverAttrs);\n if (serverAttrs && !model.set(serverAttrs, options)) return false;\n if (success) success.call(options.context, model, resp, options);\n model.trigger('sync', model, resp, options);\n };\n wrapError(this, options);\n\n // Set temporary attributes if `{wait: true}` to properly find new ids.\n if (attrs && wait) this.attributes = _.extend({}, attributes, attrs);\n\n var method = this.isNew() ? 'create' : options.patch ? 'patch' : 'update';\n if (method === 'patch' && !options.attrs) options.attrs = attrs;\n var xhr = this.sync(method, this, options);\n\n // Restore attributes.\n this.attributes = attributes;\n\n return xhr;\n },\n\n // Destroy this model on the server if it was already persisted.\n // Optimistically removes the model from its collection, if it has one.\n // If `wait: true` is passed, waits for the server to respond before removal.\n destroy: function(options) {\n options = options ? _.clone(options) : {};\n var model = this;\n var success = options.success;\n var wait = options.wait;\n\n var destroy = function() {\n model.stopListening();\n model.trigger('destroy', model, model.collection, options);\n };\n\n options.success = function(resp) {\n if (wait) destroy();\n if (success) success.call(options.context, model, resp, options);\n if (!model.isNew()) model.trigger('sync', model, resp, options);\n };\n\n var xhr = false;\n if (this.isNew()) {\n _.defer(options.success);\n } else {\n wrapError(this, options);\n xhr = this.sync('delete', this, options);\n }\n if (!wait) destroy();\n return xhr;\n },\n\n // Default URL for the model's representation on the server -- if you're\n // using Backbone's restful methods, override this to change the endpoint\n // that will be called.\n url: function() {\n var base =\n _.result(this, 'urlRoot') ||\n _.result(this.collection, 'url') ||\n urlError();\n if (this.isNew()) return base;\n var id = this.get(this.idAttribute);\n return base.replace(/[^\\/]$/, '$&/') + encodeURIComponent(id);\n },\n\n // **parse** converts a response into the hash of attributes to be `set` on\n // the model. The default implementation is just to pass the response along.\n parse: function(resp, options) {\n return resp;\n },\n\n // Create a new model with identical attributes to this one.\n clone: function() {\n return new this.constructor(this.attributes);\n },\n\n // A model is new if it has never been saved to the server, and lacks an id.\n isNew: function() {\n return !this.has(this.idAttribute);\n },\n\n // Check if the model is currently in a valid state.\n isValid: function(options) {\n return this._validate({}, _.extend({}, options, {validate: true}));\n },\n\n // Run validation against the next complete set of model attributes,\n // returning `true` if all is well. Otherwise, fire an `\"invalid\"` event.\n _validate: function(attrs, options) {\n if (!options.validate || !this.validate) return true;\n attrs = _.extend({}, this.attributes, attrs);\n var error = this.validationError = this.validate(attrs, options) || null;\n if (!error) return true;\n this.trigger('invalid', this, error, _.extend(options, {validationError: error}));\n return false;\n }\n\n });\n\n // Backbone.Collection\n // -------------------\n\n // If models tend to represent a single row of data, a Backbone Collection is\n // more analogous to a table full of data ... or a small slice or page of that\n // table, or a collection of rows that belong together for a particular reason\n // -- all of the messages in this particular folder, all of the documents\n // belonging to this particular author, and so on. Collections maintain\n // indexes of their models, both in order, and for lookup by `id`.\n\n // Create a new **Collection**, perhaps to contain a specific type of `model`.\n // If a `comparator` is specified, the Collection will maintain\n // its models in sort order, as they're added and removed.\n var Collection = Backbone.Collection = function(models, options) {\n options || (options = {});\n this.preinitialize.apply(this, arguments);\n if (options.model) this.model = options.model;\n if (options.comparator !== void 0) this.comparator = options.comparator;\n this._reset();\n this.initialize.apply(this, arguments);\n if (models) this.reset(models, _.extend({silent: true}, options));\n };\n\n // Default options for `Collection#set`.\n var setOptions = {add: true, remove: true, merge: true};\n var addOptions = {add: true, remove: false};\n\n // Splices `insert` into `array` at index `at`.\n var splice = function(array, insert, at) {\n at = Math.min(Math.max(at, 0), array.length);\n var tail = Array(array.length - at);\n var length = insert.length;\n var i;\n for (i = 0; i < tail.length; i++) tail[i] = array[i + at];\n for (i = 0; i < length; i++) array[i + at] = insert[i];\n for (i = 0; i < tail.length; i++) array[i + length + at] = tail[i];\n };\n\n // Define the Collection's inheritable methods.\n _.extend(Collection.prototype, Events, {\n\n // The default model for a collection is just a **Backbone.Model**.\n // This should be overridden in most cases.\n model: Model,\n\n\n // preinitialize is an empty function by default. You can override it with a function\n // or object. preinitialize will run before any instantiation logic is run in the Collection.\n preinitialize: function(){},\n\n // Initialize is an empty function by default. Override it with your own\n // initialization logic.\n initialize: function(){},\n\n // The JSON representation of a Collection is an array of the\n // models' attributes.\n toJSON: function(options) {\n return this.map(function(model) { return model.toJSON(options); });\n },\n\n // Proxy `Backbone.sync` by default.\n sync: function() {\n return Backbone.sync.apply(this, arguments);\n },\n\n // Add a model, or list of models to the set. `models` may be Backbone\n // Models or raw JavaScript objects to be converted to Models, or any\n // combination of the two.\n add: function(models, options) {\n return this.set(models, _.extend({merge: false}, options, addOptions));\n },\n\n // Remove a model, or a list of models from the set.\n remove: function(models, options) {\n options = _.extend({}, options);\n var singular = !_.isArray(models);\n models = singular ? [models] : models.slice();\n var removed = this._removeModels(models, options);\n if (!options.silent && removed.length) {\n options.changes = {added: [], merged: [], removed: removed};\n this.trigger('update', this, options);\n }\n return singular ? removed[0] : removed;\n },\n\n // Update a collection by `set`-ing a new list of models, adding new ones,\n // removing models that are no longer present, and merging models that\n // already exist in the collection, as necessary. Similar to **Model#set**,\n // the core operation for updating the data contained by the collection.\n set: function(models, options) {\n if (models == null) return;\n\n options = _.extend({}, setOptions, options);\n if (options.parse && !this._isModel(models)) {\n models = this.parse(models, options) || [];\n }\n\n var singular = !_.isArray(models);\n models = singular ? [models] : models.slice();\n\n var at = options.at;\n if (at != null) at = +at;\n if (at > this.length) at = this.length;\n if (at < 0) at += this.length + 1;\n\n var set = [];\n var toAdd = [];\n var toMerge = [];\n var toRemove = [];\n var modelMap = {};\n\n var add = options.add;\n var merge = options.merge;\n var remove = options.remove;\n\n var sort = false;\n var sortable = this.comparator && at == null && options.sort !== false;\n var sortAttr = _.isString(this.comparator) ? this.comparator : null;\n\n // Turn bare objects into model references, and prevent invalid models\n // from being added.\n var model, i;\n for (i = 0; i < models.length; i++) {\n model = models[i];\n\n // If a duplicate is found, prevent it from being added and\n // optionally merge it into the existing model.\n var existing = this.get(model);\n if (existing) {\n if (merge && model !== existing) {\n var attrs = this._isModel(model) ? model.attributes : model;\n if (options.parse) attrs = existing.parse(attrs, options);\n existing.set(attrs, options);\n toMerge.push(existing);\n if (sortable && !sort) sort = existing.hasChanged(sortAttr);\n }\n if (!modelMap[existing.cid]) {\n modelMap[existing.cid] = true;\n set.push(existing);\n }\n models[i] = existing;\n\n // If this is a new, valid model, push it to the `toAdd` list.\n } else if (add) {\n model = models[i] = this._prepareModel(model, options);\n if (model) {\n toAdd.push(model);\n this._addReference(model, options);\n modelMap[model.cid] = true;\n set.push(model);\n }\n }\n }\n\n // Remove stale models.\n if (remove) {\n for (i = 0; i < this.length; i++) {\n model = this.models[i];\n if (!modelMap[model.cid]) toRemove.push(model);\n }\n if (toRemove.length) this._removeModels(toRemove, options);\n }\n\n // See if sorting is needed, update `length` and splice in new models.\n var orderChanged = false;\n var replace = !sortable && add && remove;\n if (set.length && replace) {\n orderChanged = this.length !== set.length || _.some(this.models, function(m, index) {\n return m !== set[index];\n });\n this.models.length = 0;\n splice(this.models, set, 0);\n this.length = this.models.length;\n } else if (toAdd.length) {\n if (sortable) sort = true;\n splice(this.models, toAdd, at == null ? this.length : at);\n this.length = this.models.length;\n }\n\n // Silently sort the collection if appropriate.\n if (sort) this.sort({silent: true});\n\n // Unless silenced, it's time to fire all appropriate add/sort/update events.\n if (!options.silent) {\n for (i = 0; i < toAdd.length; i++) {\n if (at != null) options.index = at + i;\n model = toAdd[i];\n model.trigger('add', model, this, options);\n }\n if (sort || orderChanged) this.trigger('sort', this, options);\n if (toAdd.length || toRemove.length || toMerge.length) {\n options.changes = {\n added: toAdd,\n removed: toRemove,\n merged: toMerge\n };\n this.trigger('update', this, options);\n }\n }\n\n // Return the added (or merged) model (or models).\n return singular ? models[0] : models;\n },\n\n // When you have more items than you want to add or remove individually,\n // you can reset the entire set with a new list of models, without firing\n // any granular `add` or `remove` events. Fires `reset` when finished.\n // Useful for bulk operations and optimizations.\n reset: function(models, options) {\n options = options ? _.clone(options) : {};\n for (var i = 0; i < this.models.length; i++) {\n this._removeReference(this.models[i], options);\n }\n options.previousModels = this.models;\n this._reset();\n models = this.add(models, _.extend({silent: true}, options));\n if (!options.silent) this.trigger('reset', this, options);\n return models;\n },\n\n // Add a model to the end of the collection.\n push: function(model, options) {\n return this.add(model, _.extend({at: this.length}, options));\n },\n\n // Remove a model from the end of the collection.\n pop: function(options) {\n var model = this.at(this.length - 1);\n return this.remove(model, options);\n },\n\n // Add a model to the beginning of the collection.\n unshift: function(model, options) {\n return this.add(model, _.extend({at: 0}, options));\n },\n\n // Remove a model from the beginning of the collection.\n shift: function(options) {\n var model = this.at(0);\n return this.remove(model, options);\n },\n\n // Slice out a sub-array of models from the collection.\n slice: function() {\n return slice.apply(this.models, arguments);\n },\n\n // Get a model from the set by id, cid, model object with id or cid\n // properties, or an attributes object that is transformed through modelId.\n get: function(obj) {\n if (obj == null) return void 0;\n return this._byId[obj] ||\n this._byId[this.modelId(this._isModel(obj) ? obj.attributes : obj, obj.idAttribute)] ||\n obj.cid && this._byId[obj.cid];\n },\n\n // Returns `true` if the model is in the collection.\n has: function(obj) {\n return this.get(obj) != null;\n },\n\n // Get the model at the given index.\n at: function(index) {\n if (index < 0) index += this.length;\n return this.models[index];\n },\n\n // Return models with matching attributes. Useful for simple cases of\n // `filter`.\n where: function(attrs, first) {\n return this[first ? 'find' : 'filter'](attrs);\n },\n\n // Return the first model with matching attributes. Useful for simple cases\n // of `find`.\n findWhere: function(attrs) {\n return this.where(attrs, true);\n },\n\n // Force the collection to re-sort itself. You don't need to call this under\n // normal circumstances, as the set will maintain sort order as each item\n // is added.\n sort: function(options) {\n var comparator = this.comparator;\n if (!comparator) throw new Error('Cannot sort a set without a comparator');\n options || (options = {});\n\n var length = comparator.length;\n if (_.isFunction(comparator)) comparator = comparator.bind(this);\n\n // Run sort based on type of `comparator`.\n if (length === 1 || _.isString(comparator)) {\n this.models = this.sortBy(comparator);\n } else {\n this.models.sort(comparator);\n }\n if (!options.silent) this.trigger('sort', this, options);\n return this;\n },\n\n // Pluck an attribute from each model in the collection.\n pluck: function(attr) {\n return this.map(attr + '');\n },\n\n // Fetch the default set of models for this collection, resetting the\n // collection when they arrive. If `reset: true` is passed, the response\n // data will be passed through the `reset` method instead of `set`.\n fetch: function(options) {\n options = _.extend({parse: true}, options);\n var success = options.success;\n var collection = this;\n options.success = function(resp) {\n var method = options.reset ? 'reset' : 'set';\n collection[method](resp, options);\n if (success) success.call(options.context, collection, resp, options);\n collection.trigger('sync', collection, resp, options);\n };\n wrapError(this, options);\n return this.sync('read', this, options);\n },\n\n // Create a new instance of a model in this collection. Add the model to the\n // collection immediately, unless `wait: true` is passed, in which case we\n // wait for the server to agree.\n create: function(model, options) {\n options = options ? _.clone(options) : {};\n var wait = options.wait;\n model = this._prepareModel(model, options);\n if (!model) return false;\n if (!wait) this.add(model, options);\n var collection = this;\n var success = options.success;\n options.success = function(m, resp, callbackOpts) {\n if (wait) {\n m.off('error', collection._forwardPristineError, collection);\n collection.add(m, callbackOpts);\n }\n if (success) success.call(callbackOpts.context, m, resp, callbackOpts);\n };\n // In case of wait:true, our collection is not listening to any\n // of the model's events yet, so it will not forward the error\n // event. In this special case, we need to listen for it\n // separately and handle the event just once.\n // (The reason we don't need to do this for the sync event is\n // in the success handler above: we add the model first, which\n // causes the collection to listen, and then invoke the callback\n // that triggers the event.)\n if (wait) {\n model.once('error', this._forwardPristineError, this);\n }\n model.save(null, options);\n return model;\n },\n\n // **parse** converts a response into a list of models to be added to the\n // collection. The default implementation is just to pass it through.\n parse: function(resp, options) {\n return resp;\n },\n\n // Create a new collection with an identical list of models as this one.\n clone: function() {\n return new this.constructor(this.models, {\n model: this.model,\n comparator: this.comparator\n });\n },\n\n // Define how to uniquely identify models in the collection.\n modelId: function(attrs, idAttribute) {\n return attrs[idAttribute || this.model.prototype.idAttribute || 'id'];\n },\n\n // Get an iterator of all models in this collection.\n values: function() {\n return new CollectionIterator(this, ITERATOR_VALUES);\n },\n\n // Get an iterator of all model IDs in this collection.\n keys: function() {\n return new CollectionIterator(this, ITERATOR_KEYS);\n },\n\n // Get an iterator of all [ID, model] tuples in this collection.\n entries: function() {\n return new CollectionIterator(this, ITERATOR_KEYSVALUES);\n },\n\n // Private method to reset all internal state. Called when the collection\n // is first initialized or reset.\n _reset: function() {\n this.length = 0;\n this.models = [];\n this._byId = {};\n },\n\n // Prepare a hash of attributes (or other model) to be added to this\n // collection.\n _prepareModel: function(attrs, options) {\n if (this._isModel(attrs)) {\n if (!attrs.collection) attrs.collection = this;\n return attrs;\n }\n options = options ? _.clone(options) : {};\n options.collection = this;\n\n var model;\n if (this.model.prototype) {\n model = new this.model(attrs, options);\n } else {\n // ES class methods didn't have prototype\n model = this.model(attrs, options);\n }\n\n if (!model.validationError) return model;\n this.trigger('invalid', this, model.validationError, options);\n return false;\n },\n\n // Internal method called by both remove and set.\n _removeModels: function(models, options) {\n var removed = [];\n for (var i = 0; i < models.length; i++) {\n var model = this.get(models[i]);\n if (!model) continue;\n\n var index = this.indexOf(model);\n this.models.splice(index, 1);\n this.length--;\n\n // Remove references before triggering 'remove' event to prevent an\n // infinite loop. #3693\n delete this._byId[model.cid];\n var id = this.modelId(model.attributes, model.idAttribute);\n if (id != null) delete this._byId[id];\n\n if (!options.silent) {\n options.index = index;\n model.trigger('remove', model, this, options);\n }\n\n removed.push(model);\n this._removeReference(model, options);\n }\n if (models.length > 0 && !options.silent) delete options.index;\n return removed;\n },\n\n // Method for checking whether an object should be considered a model for\n // the purposes of adding to the collection.\n _isModel: function(model) {\n return model instanceof Model;\n },\n\n // Internal method to create a model's ties to a collection.\n _addReference: function(model, options) {\n this._byId[model.cid] = model;\n var id = this.modelId(model.attributes, model.idAttribute);\n if (id != null) this._byId[id] = model;\n model.on('all', this._onModelEvent, this);\n },\n\n // Internal method to sever a model's ties to a collection.\n _removeReference: function(model, options) {\n delete this._byId[model.cid];\n var id = this.modelId(model.attributes, model.idAttribute);\n if (id != null) delete this._byId[id];\n if (this === model.collection) delete model.collection;\n model.off('all', this._onModelEvent, this);\n },\n\n // Internal method called every time a model in the set fires an event.\n // Sets need to update their indexes when models change ids. All other\n // events simply proxy through. \"add\" and \"remove\" events that originate\n // in other collections are ignored.\n _onModelEvent: function(event, model, collection, options) {\n if (model) {\n if ((event === 'add' || event === 'remove') && collection !== this) return;\n if (event === 'destroy') this.remove(model, options);\n if (event === 'changeId') {\n var prevId = this.modelId(model.previousAttributes(), model.idAttribute);\n var id = this.modelId(model.attributes, model.idAttribute);\n if (prevId != null) delete this._byId[prevId];\n if (id != null) this._byId[id] = model;\n }\n }\n this.trigger.apply(this, arguments);\n },\n\n // Internal callback method used in `create`. It serves as a\n // stand-in for the `_onModelEvent` method, which is not yet bound\n // during the `wait` period of the `create` call. We still want to\n // forward any `'error'` event at the end of the `wait` period,\n // hence a customized callback.\n _forwardPristineError: function(model, collection, options) {\n // Prevent double forward if the model was already in the\n // collection before the call to `create`.\n if (this.has(model)) return;\n this._onModelEvent('error', model, collection, options);\n }\n });\n\n // Defining an @@iterator method implements JavaScript's Iterable protocol.\n // In modern ES2015 browsers, this value is found at Symbol.iterator.\n /* global Symbol */\n var $$iterator = typeof Symbol === 'function' && Symbol.iterator;\n if ($$iterator) {\n Collection.prototype[$$iterator] = Collection.prototype.values;\n }\n\n // CollectionIterator\n // ------------------\n\n // A CollectionIterator implements JavaScript's Iterator protocol, allowing the\n // use of `for of` loops in modern browsers and interoperation between\n // Backbone.Collection and other JavaScript functions and third-party libraries\n // which can operate on Iterables.\n var CollectionIterator = function(collection, kind) {\n this._collection = collection;\n this._kind = kind;\n this._index = 0;\n };\n\n // This \"enum\" defines the three possible kinds of values which can be emitted\n // by a CollectionIterator that correspond to the values(), keys() and entries()\n // methods on Collection, respectively.\n var ITERATOR_VALUES = 1;\n var ITERATOR_KEYS = 2;\n var ITERATOR_KEYSVALUES = 3;\n\n // All Iterators should themselves be Iterable.\n if ($$iterator) {\n CollectionIterator.prototype[$$iterator] = function() {\n return this;\n };\n }\n\n CollectionIterator.prototype.next = function() {\n if (this._collection) {\n\n // Only continue iterating if the iterated collection is long enough.\n if (this._index < this._collection.length) {\n var model = this._collection.at(this._index);\n this._index++;\n\n // Construct a value depending on what kind of values should be iterated.\n var value;\n if (this._kind === ITERATOR_VALUES) {\n value = model;\n } else {\n var id = this._collection.modelId(model.attributes, model.idAttribute);\n if (this._kind === ITERATOR_KEYS) {\n value = id;\n } else { // ITERATOR_KEYSVALUES\n value = [id, model];\n }\n }\n return {value: value, done: false};\n }\n\n // Once exhausted, remove the reference to the collection so future\n // calls to the next method always return done.\n this._collection = void 0;\n }\n\n return {value: void 0, done: true};\n };\n\n // Backbone.View\n // -------------\n\n // Backbone Views are almost more convention than they are actual code. A View\n // is simply a JavaScript object that represents a logical chunk of UI in the\n // DOM. This might be a single item, an entire list, a sidebar or panel, or\n // even the surrounding frame which wraps your whole app. Defining a chunk of\n // UI as a **View** allows you to define your DOM events declaratively, without\n // having to worry about render order ... and makes it easy for the view to\n // react to specific changes in the state of your models.\n\n // Creating a Backbone.View creates its initial element outside of the DOM,\n // if an existing element is not provided...\n var View = Backbone.View = function(options) {\n this.cid = _.uniqueId('view');\n this.preinitialize.apply(this, arguments);\n _.extend(this, _.pick(options, viewOptions));\n this._ensureElement();\n this.initialize.apply(this, arguments);\n };\n\n // Cached regex to split keys for `delegate`.\n var delegateEventSplitter = /^(\\S+)\\s*(.*)$/;\n\n // List of view options to be set as properties.\n var viewOptions = ['model', 'collection', 'el', 'id', 'attributes', 'className', 'tagName', 'events'];\n\n // Set up all inheritable **Backbone.View** properties and methods.\n _.extend(View.prototype, Events, {\n\n // The default `tagName` of a View's element is `\"div\"`.\n tagName: 'div',\n\n // jQuery delegate for element lookup, scoped to DOM elements within the\n // current view. This should be preferred to global lookups where possible.\n $: function(selector) {\n return this.$el.find(selector);\n },\n\n // preinitialize is an empty function by default. You can override it with a function\n // or object. preinitialize will run before any instantiation logic is run in the View\n preinitialize: function(){},\n\n // Initialize is an empty function by default. Override it with your own\n // initialization logic.\n initialize: function(){},\n\n // **render** is the core function that your view should override, in order\n // to populate its element (`this.el`), with the appropriate HTML. The\n // convention is for **render** to always return `this`.\n render: function() {\n return this;\n },\n\n // Remove this view by taking the element out of the DOM, and removing any\n // applicable Backbone.Events listeners.\n remove: function() {\n this._removeElement();\n this.stopListening();\n return this;\n },\n\n // Remove this view's element from the document and all event listeners\n // attached to it. Exposed for subclasses using an alternative DOM\n // manipulation API.\n _removeElement: function() {\n this.$el.remove();\n },\n\n // Change the view's element (`this.el` property) and re-delegate the\n // view's events on the new element.\n setElement: function(element) {\n this.undelegateEvents();\n this._setElement(element);\n this.delegateEvents();\n return this;\n },\n\n // Creates the `this.el` and `this.$el` references for this view using the\n // given `el`. `el` can be a CSS selector or an HTML string, a jQuery\n // context or an element. Subclasses can override this to utilize an\n // alternative DOM manipulation API and are only required to set the\n // `this.el` property.\n _setElement: function(el) {\n this.$el = el instanceof Backbone.$ ? el : Backbone.$(el);\n this.el = this.$el[0];\n },\n\n // Set callbacks, where `this.events` is a hash of\n //\n // *{\"event selector\": \"callback\"}*\n //\n // {\n // 'mousedown .title': 'edit',\n // 'click .button': 'save',\n // 'click .open': function(e) { ... }\n // }\n //\n // pairs. Callbacks will be bound to the view, with `this` set properly.\n // Uses event delegation for efficiency.\n // Omitting the selector binds the event to `this.el`.\n delegateEvents: function(events) {\n events || (events = _.result(this, 'events'));\n if (!events) return this;\n this.undelegateEvents();\n for (var key in events) {\n var method = events[key];\n if (!_.isFunction(method)) method = this[method];\n if (!method) continue;\n var match = key.match(delegateEventSplitter);\n this.delegate(match[1], match[2], method.bind(this));\n }\n return this;\n },\n\n // Add a single event listener to the view's element (or a child element\n // using `selector`). This only works for delegate-able events: not `focus`,\n // `blur`, and not `change`, `submit`, and `reset` in Internet Explorer.\n delegate: function(eventName, selector, listener) {\n this.$el.on(eventName + '.delegateEvents' + this.cid, selector, listener);\n return this;\n },\n\n // Clears all callbacks previously bound to the view by `delegateEvents`.\n // You usually don't need to use this, but may wish to if you have multiple\n // Backbone views attached to the same DOM element.\n undelegateEvents: function() {\n if (this.$el) this.$el.off('.delegateEvents' + this.cid);\n return this;\n },\n\n // A finer-grained `undelegateEvents` for removing a single delegated event.\n // `selector` and `listener` are both optional.\n undelegate: function(eventName, selector, listener) {\n this.$el.off(eventName + '.delegateEvents' + this.cid, selector, listener);\n return this;\n },\n\n // Produces a DOM element to be assigned to your view. Exposed for\n // subclasses using an alternative DOM manipulation API.\n _createElement: function(tagName) {\n return document.createElement(tagName);\n },\n\n // Ensure that the View has a DOM element to render into.\n // If `this.el` is a string, pass it through `$()`, take the first\n // matching element, and re-assign it to `el`. Otherwise, create\n // an element from the `id`, `className` and `tagName` properties.\n _ensureElement: function() {\n if (!this.el) {\n var attrs = _.extend({}, _.result(this, 'attributes'));\n if (this.id) attrs.id = _.result(this, 'id');\n if (this.className) attrs['class'] = _.result(this, 'className');\n this.setElement(this._createElement(_.result(this, 'tagName')));\n this._setAttributes(attrs);\n } else {\n this.setElement(_.result(this, 'el'));\n }\n },\n\n // Set attributes from a hash on this view's element. Exposed for\n // subclasses using an alternative DOM manipulation API.\n _setAttributes: function(attributes) {\n this.$el.attr(attributes);\n }\n\n });\n\n // Proxy Backbone class methods to Underscore functions, wrapping the model's\n // `attributes` object or collection's `models` array behind the scenes.\n //\n // collection.filter(function(model) { return model.get('age') > 10 });\n // collection.each(this.addView);\n //\n // `Function#apply` can be slow so we use the method's arg count, if we know it.\n var addMethod = function(base, length, method, attribute) {\n switch (length) {\n case 1: return function() {\n return base[method](this[attribute]);\n };\n case 2: return function(value) {\n return base[method](this[attribute], value);\n };\n case 3: return function(iteratee, context) {\n return base[method](this[attribute], cb(iteratee, this), context);\n };\n case 4: return function(iteratee, defaultVal, context) {\n return base[method](this[attribute], cb(iteratee, this), defaultVal, context);\n };\n default: return function() {\n var args = slice.call(arguments);\n args.unshift(this[attribute]);\n return base[method].apply(base, args);\n };\n }\n };\n\n var addUnderscoreMethods = function(Class, base, methods, attribute) {\n _.each(methods, function(length, method) {\n if (base[method]) Class.prototype[method] = addMethod(base, length, method, attribute);\n });\n };\n\n // Support `collection.sortBy('attr')` and `collection.findWhere({id: 1})`.\n var cb = function(iteratee, instance) {\n if (_.isFunction(iteratee)) return iteratee;\n if (_.isObject(iteratee) && !instance._isModel(iteratee)) return modelMatcher(iteratee);\n if (_.isString(iteratee)) return function(model) { return model.get(iteratee); };\n return iteratee;\n };\n var modelMatcher = function(attrs) {\n var matcher = _.matches(attrs);\n return function(model) {\n return matcher(model.attributes);\n };\n };\n\n // Underscore methods that we want to implement on the Collection.\n // 90% of the core usefulness of Backbone Collections is actually implemented\n // right here:\n var collectionMethods = {forEach: 3, each: 3, map: 3, collect: 3, reduce: 0,\n foldl: 0, inject: 0, reduceRight: 0, foldr: 0, find: 3, detect: 3, filter: 3,\n select: 3, reject: 3, every: 3, all: 3, some: 3, any: 3, include: 3, includes: 3,\n contains: 3, invoke: 0, max: 3, min: 3, toArray: 1, size: 1, first: 3,\n head: 3, take: 3, initial: 3, rest: 3, tail: 3, drop: 3, last: 3,\n without: 0, difference: 0, indexOf: 3, shuffle: 1, lastIndexOf: 3,\n isEmpty: 1, chain: 1, sample: 3, partition: 3, groupBy: 3, countBy: 3,\n sortBy: 3, indexBy: 3, findIndex: 3, findLastIndex: 3};\n\n\n // Underscore methods that we want to implement on the Model, mapped to the\n // number of arguments they take.\n var modelMethods = {keys: 1, values: 1, pairs: 1, invert: 1, pick: 0,\n omit: 0, chain: 1, isEmpty: 1};\n\n // Mix in each Underscore method as a proxy to `Collection#models`.\n\n _.each([\n [Collection, collectionMethods, 'models'],\n [Model, modelMethods, 'attributes']\n ], function(config) {\n var Base = config[0],\n methods = config[1],\n attribute = config[2];\n\n Base.mixin = function(obj) {\n var mappings = _.reduce(_.functions(obj), function(memo, name) {\n memo[name] = 0;\n return memo;\n }, {});\n addUnderscoreMethods(Base, obj, mappings, attribute);\n };\n\n addUnderscoreMethods(Base, _, methods, attribute);\n });\n\n // Backbone.sync\n // -------------\n\n // Override this function to change the manner in which Backbone persists\n // models to the server. You will be passed the type of request, and the\n // model in question. By default, makes a RESTful Ajax request\n // to the model's `url()`. Some possible customizations could be:\n //\n // * Use `setTimeout` to batch rapid-fire updates into a single request.\n // * Send up the models as XML instead of JSON.\n // * Persist models via WebSockets instead of Ajax.\n //\n // Turn on `Backbone.emulateHTTP` in order to send `PUT` and `DELETE` requests\n // as `POST`, with a `_method` parameter containing the true HTTP method,\n // as well as all requests with the body as `application/x-www-form-urlencoded`\n // instead of `application/json` with the model in a param named `model`.\n // Useful when interfacing with server-side languages like **PHP** that make\n // it difficult to read the body of `PUT` requests.\n Backbone.sync = function(method, model, options) {\n var type = methodMap[method];\n\n // Default options, unless specified.\n _.defaults(options || (options = {}), {\n emulateHTTP: Backbone.emulateHTTP,\n emulateJSON: Backbone.emulateJSON\n });\n\n // Default JSON-request options.\n var params = {type: type, dataType: 'json'};\n\n // Ensure that we have a URL.\n if (!options.url) {\n params.url = _.result(model, 'url') || urlError();\n }\n\n // Ensure that we have the appropriate request data.\n if (options.data == null && model && (method === 'create' || method === 'update' || method === 'patch')) {\n params.contentType = 'application/json';\n params.data = JSON.stringify(options.attrs || model.toJSON(options));\n }\n\n // For older servers, emulate JSON by encoding the request into an HTML-form.\n if (options.emulateJSON) {\n params.contentType = 'application/x-www-form-urlencoded';\n params.data = params.data ? {model: params.data} : {};\n }\n\n // For older servers, emulate HTTP by mimicking the HTTP method with `_method`\n // And an `X-HTTP-Method-Override` header.\n if (options.emulateHTTP && (type === 'PUT' || type === 'DELETE' || type === 'PATCH')) {\n params.type = 'POST';\n if (options.emulateJSON) params.data._method = type;\n var beforeSend = options.beforeSend;\n options.beforeSend = function(xhr) {\n xhr.setRequestHeader('X-HTTP-Method-Override', type);\n if (beforeSend) return beforeSend.apply(this, arguments);\n };\n }\n\n // Don't process data on a non-GET request.\n if (params.type !== 'GET' && !options.emulateJSON) {\n params.processData = false;\n }\n\n // Pass along `textStatus` and `errorThrown` from jQuery.\n var error = options.error;\n options.error = function(xhr, textStatus, errorThrown) {\n options.textStatus = textStatus;\n options.errorThrown = errorThrown;\n if (error) error.call(options.context, xhr, textStatus, errorThrown);\n };\n\n // Make the request, allowing the user to override any Ajax options.\n var xhr = options.xhr = Backbone.ajax(_.extend(params, options));\n model.trigger('request', model, xhr, options);\n return xhr;\n };\n\n // Map from CRUD to HTTP for our default `Backbone.sync` implementation.\n var methodMap = {\n 'create': 'POST',\n 'update': 'PUT',\n 'patch': 'PATCH',\n 'delete': 'DELETE',\n 'read': 'GET'\n };\n\n // Set the default implementation of `Backbone.ajax` to proxy through to `$`.\n // Override this if you'd like to use a different library.\n Backbone.ajax = function() {\n return Backbone.$.ajax.apply(Backbone.$, arguments);\n };\n\n // Backbone.Router\n // ---------------\n\n // Routers map faux-URLs to actions, and fire events when routes are\n // matched. Creating a new one sets its `routes` hash, if not set statically.\n var Router = Backbone.Router = function(options) {\n options || (options = {});\n this.preinitialize.apply(this, arguments);\n if (options.routes) this.routes = options.routes;\n this._bindRoutes();\n this.initialize.apply(this, arguments);\n };\n\n // Cached regular expressions for matching named param parts and splatted\n // parts of route strings.\n var optionalParam = /\\((.*?)\\)/g;\n var namedParam = /(\\(\\?)?:\\w+/g;\n var splatParam = /\\*\\w+/g;\n var escapeRegExp = /[\\-{}\\[\\]+?.,\\\\\\^$|#\\s]/g;\n\n // Set up all inheritable **Backbone.Router** properties and methods.\n _.extend(Router.prototype, Events, {\n\n // preinitialize is an empty function by default. You can override it with a function\n // or object. preinitialize will run before any instantiation logic is run in the Router.\n preinitialize: function(){},\n\n // Initialize is an empty function by default. Override it with your own\n // initialization logic.\n initialize: function(){},\n\n // Manually bind a single named route to a callback. For example:\n //\n // this.route('search/:query/p:num', 'search', function(query, num) {\n // ...\n // });\n //\n route: function(route, name, callback) {\n if (!_.isRegExp(route)) route = this._routeToRegExp(route);\n if (_.isFunction(name)) {\n callback = name;\n name = '';\n }\n if (!callback) callback = this[name];\n var router = this;\n Backbone.history.route(route, function(fragment) {\n var args = router._extractParameters(route, fragment);\n if (router.execute(callback, args, name) !== false) {\n router.trigger.apply(router, ['route:' + name].concat(args));\n router.trigger('route', name, args);\n Backbone.history.trigger('route', router, name, args);\n }\n });\n return this;\n },\n\n // Execute a route handler with the provided parameters. This is an\n // excellent place to do pre-route setup or post-route cleanup.\n execute: function(callback, args, name) {\n if (callback) callback.apply(this, args);\n },\n\n // Simple proxy to `Backbone.history` to save a fragment into the history.\n navigate: function(fragment, options) {\n Backbone.history.navigate(fragment, options);\n return this;\n },\n\n // Bind all defined routes to `Backbone.history`. We have to reverse the\n // order of the routes here to support behavior where the most general\n // routes can be defined at the bottom of the route map.\n _bindRoutes: function() {\n if (!this.routes) return;\n this.routes = _.result(this, 'routes');\n var route, routes = _.keys(this.routes);\n while ((route = routes.pop()) != null) {\n this.route(route, this.routes[route]);\n }\n },\n\n // Convert a route string into a regular expression, suitable for matching\n // against the current location hash.\n _routeToRegExp: function(route) {\n route = route.replace(escapeRegExp, '\\\\$&')\n .replace(optionalParam, '(?:$1)?')\n .replace(namedParam, function(match, optional) {\n return optional ? match : '([^/?]+)';\n })\n .replace(splatParam, '([^?]*?)');\n return new RegExp('^' + route + '(?:\\\\?([\\\\s\\\\S]*))?$');\n },\n\n // Given a route, and a URL fragment that it matches, return the array of\n // extracted decoded parameters. Empty or unmatched parameters will be\n // treated as `null` to normalize cross-browser behavior.\n _extractParameters: function(route, fragment) {\n var params = route.exec(fragment).slice(1);\n return _.map(params, function(param, i) {\n // Don't decode the search params.\n if (i === params.length - 1) return param || null;\n return param ? decodeURIComponent(param) : null;\n });\n }\n\n });\n\n // Backbone.History\n // ----------------\n\n // Handles cross-browser history management, based on either\n // [pushState](http://diveintohtml5.info/history.html) and real URLs, or\n // [onhashchange](https://developer.mozilla.org/en-US/docs/DOM/window.onhashchange)\n // and URL fragments. If the browser supports neither (old IE, natch),\n // falls back to polling.\n var History = Backbone.History = function() {\n this.handlers = [];\n this.checkUrl = this.checkUrl.bind(this);\n\n // Ensure that `History` can be used outside of the browser.\n if (typeof window !== 'undefined') {\n this.location = window.location;\n this.history = window.history;\n }\n };\n\n // Cached regex for stripping a leading hash/slash and trailing space.\n var routeStripper = /^[#\\/]|\\s+$/g;\n\n // Cached regex for stripping leading and trailing slashes.\n var rootStripper = /^\\/+|\\/+$/g;\n\n // Cached regex for stripping urls of hash.\n var pathStripper = /#.*$/;\n\n // Has the history handling already been started?\n History.started = false;\n\n // Set up all inheritable **Backbone.History** properties and methods.\n _.extend(History.prototype, Events, {\n\n // The default interval to poll for hash changes, if necessary, is\n // twenty times a second.\n interval: 50,\n\n // Are we at the app root?\n atRoot: function() {\n var path = this.location.pathname.replace(/[^\\/]$/, '$&/');\n return path === this.root && !this.getSearch();\n },\n\n // Does the pathname match the root?\n matchRoot: function() {\n var path = this.decodeFragment(this.location.pathname);\n var rootPath = path.slice(0, this.root.length - 1) + '/';\n return rootPath === this.root;\n },\n\n // Unicode characters in `location.pathname` are percent encoded so they're\n // decoded for comparison. `%25` should not be decoded since it may be part\n // of an encoded parameter.\n decodeFragment: function(fragment) {\n return decodeURI(fragment.replace(/%25/g, '%2525'));\n },\n\n // In IE6, the hash fragment and search params are incorrect if the\n // fragment contains `?`.\n getSearch: function() {\n var match = this.location.href.replace(/#.*/, '').match(/\\?.+/);\n return match ? match[0] : '';\n },\n\n // Gets the true hash value. Cannot use location.hash directly due to bug\n // in Firefox where location.hash will always be decoded.\n getHash: function(window) {\n var match = (window || this).location.href.match(/#(.*)$/);\n return match ? match[1] : '';\n },\n\n // Get the pathname and search params, without the root.\n getPath: function() {\n var path = this.decodeFragment(\n this.location.pathname + this.getSearch()\n ).slice(this.root.length - 1);\n return path.charAt(0) === '/' ? path.slice(1) : path;\n },\n\n // Get the cross-browser normalized URL fragment from the path or hash.\n getFragment: function(fragment) {\n if (fragment == null) {\n if (this._usePushState || !this._wantsHashChange) {\n fragment = this.getPath();\n } else {\n fragment = this.getHash();\n }\n }\n return fragment.replace(routeStripper, '');\n },\n\n // Start the hash change handling, returning `true` if the current URL matches\n // an existing route, and `false` otherwise.\n start: function(options) {\n if (History.started) throw new Error('Backbone.history has already been started');\n History.started = true;\n\n // Figure out the initial configuration. Do we need an iframe?\n // Is pushState desired ... is it available?\n this.options = _.extend({root: '/'}, this.options, options);\n this.root = this.options.root;\n this._trailingSlash = this.options.trailingSlash;\n this._wantsHashChange = this.options.hashChange !== false;\n this._hasHashChange = 'onhashchange' in window && (document.documentMode === void 0 || document.documentMode > 7);\n this._useHashChange = this._wantsHashChange && this._hasHashChange;\n this._wantsPushState = !!this.options.pushState;\n this._hasPushState = !!(this.history && this.history.pushState);\n this._usePushState = this._wantsPushState && this._hasPushState;\n this.fragment = this.getFragment();\n\n // Normalize root to always include a leading and trailing slash.\n this.root = ('/' + this.root + '/').replace(rootStripper, '/');\n\n // Transition from hashChange to pushState or vice versa if both are\n // requested.\n if (this._wantsHashChange && this._wantsPushState) {\n\n // If we've started off with a route from a `pushState`-enabled\n // browser, but we're currently in a browser that doesn't support it...\n if (!this._hasPushState && !this.atRoot()) {\n var rootPath = this.root.slice(0, -1) || '/';\n this.location.replace(rootPath + '#' + this.getPath());\n // Return immediately as browser will do redirect to new url\n return true;\n\n // Or if we've started out with a hash-based route, but we're currently\n // in a browser where it could be `pushState`-based instead...\n } else if (this._hasPushState && this.atRoot()) {\n this.navigate(this.getHash(), {replace: true});\n }\n\n }\n\n // Proxy an iframe to handle location events if the browser doesn't\n // support the `hashchange` event, HTML5 history, or the user wants\n // `hashChange` but not `pushState`.\n if (!this._hasHashChange && this._wantsHashChange && !this._usePushState) {\n this.iframe = document.createElement('iframe');\n this.iframe.src = 'javascript:0';\n this.iframe.style.display = 'none';\n this.iframe.tabIndex = -1;\n var body = document.body;\n // Using `appendChild` will throw on IE < 9 if the document is not ready.\n var iWindow = body.insertBefore(this.iframe, body.firstChild).contentWindow;\n iWindow.document.open();\n iWindow.document.close();\n iWindow.location.hash = '#' + this.fragment;\n }\n\n // Add a cross-platform `addEventListener` shim for older browsers.\n var addEventListener = window.addEventListener || function(eventName, listener) {\n return attachEvent('on' + eventName, listener);\n };\n\n // Depending on whether we're using pushState or hashes, and whether\n // 'onhashchange' is supported, determine how we check the URL state.\n if (this._usePushState) {\n addEventListener('popstate', this.checkUrl, false);\n } else if (this._useHashChange && !this.iframe) {\n addEventListener('hashchange', this.checkUrl, false);\n } else if (this._wantsHashChange) {\n this._checkUrlInterval = setInterval(this.checkUrl, this.interval);\n }\n\n if (!this.options.silent) return this.loadUrl();\n },\n\n // Disable Backbone.history, perhaps temporarily. Not useful in a real app,\n // but possibly useful for unit testing Routers.\n stop: function() {\n // Add a cross-platform `removeEventListener` shim for older browsers.\n var removeEventListener = window.removeEventListener || function(eventName, listener) {\n return detachEvent('on' + eventName, listener);\n };\n\n // Remove window listeners.\n if (this._usePushState) {\n removeEventListener('popstate', this.checkUrl, false);\n } else if (this._useHashChange && !this.iframe) {\n removeEventListener('hashchange', this.checkUrl, false);\n }\n\n // Clean up the iframe if necessary.\n if (this.iframe) {\n document.body.removeChild(this.iframe);\n this.iframe = null;\n }\n\n // Some environments will throw when clearing an undefined interval.\n if (this._checkUrlInterval) clearInterval(this._checkUrlInterval);\n History.started = false;\n },\n\n // Add a route to be tested when the fragment changes. Routes added later\n // may override previous routes.\n route: function(route, callback) {\n this.handlers.unshift({route: route, callback: callback});\n },\n\n // Checks the current URL to see if it has changed, and if it has,\n // calls `loadUrl`, normalizing across the hidden iframe.\n checkUrl: function(e) {\n var current = this.getFragment();\n\n // If the user pressed the back button, the iframe's hash will have\n // changed and we should use that for comparison.\n if (current === this.fragment && this.iframe) {\n current = this.getHash(this.iframe.contentWindow);\n }\n\n if (current === this.fragment) {\n if (!this.matchRoot()) return this.notfound();\n return false;\n }\n if (this.iframe) this.navigate(current);\n this.loadUrl();\n },\n\n // Attempt to load the current URL fragment. If a route succeeds with a\n // match, returns `true`. If no defined routes matches the fragment,\n // returns `false`.\n loadUrl: function(fragment) {\n // If the root doesn't match, no routes can match either.\n if (!this.matchRoot()) return this.notfound();\n fragment = this.fragment = this.getFragment(fragment);\n return _.some(this.handlers, function(handler) {\n if (handler.route.test(fragment)) {\n handler.callback(fragment);\n return true;\n }\n }) || this.notfound();\n },\n\n // When no route could be matched, this method is called internally to\n // trigger the `'notfound'` event. It returns `false` so that it can be used\n // in tail position.\n notfound: function() {\n this.trigger('notfound');\n return false;\n },\n\n // Save a fragment into the hash history, or replace the URL state if the\n // 'replace' option is passed. You are responsible for properly URL-encoding\n // the fragment in advance.\n //\n // The options object can contain `trigger: true` if you wish to have the\n // route callback be fired (not usually desirable), or `replace: true`, if\n // you wish to modify the current URL without adding an entry to the history.\n navigate: function(fragment, options) {\n if (!History.started) return false;\n if (!options || options === true) options = {trigger: !!options};\n\n // Normalize the fragment.\n fragment = this.getFragment(fragment || '');\n\n // Strip trailing slash on the root unless _trailingSlash is true\n var rootPath = this.root;\n if (!this._trailingSlash && (fragment === '' || fragment.charAt(0) === '?')) {\n rootPath = rootPath.slice(0, -1) || '/';\n }\n var url = rootPath + fragment;\n\n // Strip the fragment of the query and hash for matching.\n fragment = fragment.replace(pathStripper, '');\n\n // Decode for matching.\n var decodedFragment = this.decodeFragment(fragment);\n\n if (this.fragment === decodedFragment) return;\n this.fragment = decodedFragment;\n\n // If pushState is available, we use it to set the fragment as a real URL.\n if (this._usePushState) {\n this.history[options.replace ? 'replaceState' : 'pushState']({}, document.title, url);\n\n // If hash changes haven't been explicitly disabled, update the hash\n // fragment to store history.\n } else if (this._wantsHashChange) {\n this._updateHash(this.location, fragment, options.replace);\n if (this.iframe && fragment !== this.getHash(this.iframe.contentWindow)) {\n var iWindow = this.iframe.contentWindow;\n\n // Opening and closing the iframe tricks IE7 and earlier to push a\n // history entry on hash-tag change. When replace is true, we don't\n // want this.\n if (!options.replace) {\n iWindow.document.open();\n iWindow.document.close();\n }\n\n this._updateHash(iWindow.location, fragment, options.replace);\n }\n\n // If you've told us that you explicitly don't want fallback hashchange-\n // based history, then `navigate` becomes a page refresh.\n } else {\n return this.location.assign(url);\n }\n if (options.trigger) return this.loadUrl(fragment);\n },\n\n // Update the hash location, either replacing the current entry, or adding\n // a new one to the browser history.\n _updateHash: function(location, fragment, replace) {\n if (replace) {\n var href = location.href.replace(/(javascript:|#).*$/, '');\n location.replace(href + '#' + fragment);\n } else {\n // Some browsers require that `hash` contains a leading #.\n location.hash = '#' + fragment;\n }\n }\n\n });\n\n // Create the default Backbone.history.\n Backbone.history = new History;\n\n // Helpers\n // -------\n\n // Helper function to correctly set up the prototype chain for subclasses.\n // Similar to `goog.inherits`, but uses a hash of prototype properties and\n // class properties to be extended.\n var extend = function(protoProps, staticProps) {\n var parent = this;\n var child;\n\n // The constructor function for the new subclass is either defined by you\n // (the \"constructor\" property in your `extend` definition), or defaulted\n // by us to simply call the parent constructor.\n if (protoProps && _.has(protoProps, 'constructor')) {\n child = protoProps.constructor;\n } else {\n child = function(){ return parent.apply(this, arguments); };\n }\n\n // Add static properties to the constructor function, if supplied.\n _.extend(child, parent, staticProps);\n\n // Set the prototype chain to inherit from `parent`, without calling\n // `parent`'s constructor function and add the prototype properties.\n child.prototype = _.create(parent.prototype, protoProps);\n child.prototype.constructor = child;\n\n // Set a convenience property in case the parent's prototype is needed\n // later.\n child.__super__ = parent.prototype;\n\n return child;\n };\n\n // Set up inheritance for the model, collection, router, view and history.\n Model.extend = Collection.extend = Router.extend = View.extend = History.extend = extend;\n\n // Throw an error when a URL is needed, and none is supplied.\n var urlError = function() {\n throw new Error('A \"url\" property or function must be specified');\n };\n\n // Wrap an optional error callback with a fallback error event.\n var wrapError = function(model, options) {\n var error = options.error;\n options.error = function(resp) {\n if (error) error.call(options.context, model, resp, options);\n model.trigger('error', model, resp, options);\n };\n };\n\n // Provide useful information when things go wrong. This method is not meant\n // to be used directly; it merely provides the necessary introspection for the\n // external `debugInfo` function.\n Backbone._debug = function() {\n return {root: root, _: _};\n };\n\n return Backbone;\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, `.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-f91ba7fe]{text-align:start;font-size:1rem;margin:0}.login-form__fieldset[data-v-f91ba7fe]{width:100%;display:flex;flex-direction:column;gap:.5rem}.login-form__headline[data-v-f91ba7fe]{text-align:center;overflow-wrap:anywhere}.login-form[data-v-f91ba7fe] 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-0b57a680]{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","/*\n * vim: expandtab shiftwidth=4 softtabstop=4\n */\n\nconst dav = {}\n\ndav._XML_CHAR_MAP = {\n '<': '<',\n '>': '>',\n '&': '&',\n '\"': '"',\n \"'\": '''\n};\n\ndav._escapeXml = function(s) {\n return s.replace(/[<>&\"']/g, function (ch) {\n return dav._XML_CHAR_MAP[ch];\n });\n};\n\ndav.Client = function(options) {\n var i;\n for(i in options) {\n this[i] = options[i];\n }\n\n};\n\ndav.Client.prototype = {\n\n baseUrl : null,\n\n userName : null,\n\n password : null,\n\n\n xmlNamespaces : {\n 'DAV:' : 'd'\n },\n\n /**\n * Generates a propFind request.\n *\n * @param {string} url Url to do the propfind request on\n * @param {Array} properties List of properties to retrieve.\n * @param {string} depth \"0\", \"1\" or \"infinity\"\n * @param {Object} [headers] headers\n * @return {Promise}\n */\n propFind : function(url, properties, depth, headers) {\n\n if(typeof depth === \"undefined\") {\n depth = '0';\n }\n\n // depth header must be a string, in case a number was passed in\n depth = '' + depth;\n\n headers = headers || {};\n\n headers['Depth'] = depth;\n headers['Content-Type'] = 'application/xml; charset=utf-8';\n\n var body =\n '\\n' +\n '\\n';\n\n for(var ii in properties) {\n if (!properties.hasOwnProperty(ii)) {\n continue;\n }\n\n var property = this.parseClarkNotation(properties[ii]);\n if (this.xmlNamespaces[property.namespace]) {\n body+=' <' + this.xmlNamespaces[property.namespace] + ':' + property.name + ' />\\n';\n } else {\n body+=' \\n';\n }\n\n }\n body+=' \\n';\n body+='';\n\n return this.request('PROPFIND', url, headers, body).then(\n function(result) {\n\n if (depth === '0') {\n return {\n status: result.status,\n body: result.body[0],\n xhr: result.xhr\n };\n } else {\n return {\n status: result.status,\n body: result.body,\n xhr: result.xhr\n };\n }\n\n }.bind(this)\n );\n\n },\n\n /**\n * Renders a \"d:set\" block for the given properties.\n *\n * @param {Object.} properties\n * @return {String} XML \"\" block\n */\n _renderPropSet: function(properties) {\n var body = ' \\n' +\n ' \\n';\n\n for(var ii in properties) {\n if (!properties.hasOwnProperty(ii)) {\n continue;\n }\n\n var property = this.parseClarkNotation(ii);\n var propName;\n var propValue = properties[ii];\n if (this.xmlNamespaces[property.namespace]) {\n propName = this.xmlNamespaces[property.namespace] + ':' + property.name;\n } else {\n propName = 'x:' + property.name + ' xmlns:x=\"' + property.namespace + '\"';\n }\n\n // FIXME: hard-coded for now until we allow properties to\n // specify whether to be escaped or not\n if (propName !== 'd:resourcetype') {\n propValue = dav._escapeXml(propValue);\n }\n body += ' <' + propName + '>' + propValue + '\\n';\n }\n body +=' \\n';\n body +=' \\n';\n return body;\n },\n\n /**\n * Generates a propPatch request.\n *\n * @param {string} url Url to do the proppatch request on\n * @param {Object.} properties List of properties to store.\n * @param {Object} [headers] headers\n * @return {Promise}\n */\n propPatch : function(url, properties, headers) {\n headers = headers || {};\n\n headers['Content-Type'] = 'application/xml; charset=utf-8';\n\n var body =\n '\\n' +\n '} [properties] list of properties to store.\n * @param {Object} [headers] headers\n * @return {Promise}\n */\n mkcol : function(url, properties, headers) {\n var body = '';\n headers = headers || {};\n headers['Content-Type'] = 'application/xml; charset=utf-8';\n\n if (properties) {\n body =\n '\\n' +\n ' 0) {\n var subNodes = [];\n // filter out text nodes\n for (var j = 0; j < propNode.childNodes.length; j++) {\n var node = propNode.childNodes[j];\n if (node.nodeType === 1) {\n subNodes.push(node);\n }\n }\n if (subNodes.length) {\n content = subNodes;\n }\n }\n\n return content || propNode.textContent || propNode.text || '';\n },\n\n /**\n * Parses a multi-status response body.\n *\n * @param {string} xmlBody\n * @param {Array}\n */\n parseMultiStatus : function(xmlBody) {\n\n var parser = new DOMParser();\n var doc = parser.parseFromString(xmlBody, \"application/xml\");\n\n var resolver = function(foo) {\n var ii;\n for(ii in this.xmlNamespaces) {\n if (this.xmlNamespaces[ii] === foo) {\n return ii;\n }\n }\n }.bind(this);\n\n var responseIterator = doc.evaluate('/d:multistatus/d:response', doc, resolver, XPathResult.ANY_TYPE, null);\n\n var result = [];\n var responseNode = responseIterator.iterateNext();\n\n while(responseNode) {\n\n var response = {\n href : null,\n propStat : []\n };\n\n response.href = doc.evaluate('string(d:href)', responseNode, resolver, XPathResult.ANY_TYPE, null).stringValue;\n\n var propStatIterator = doc.evaluate('d:propstat', responseNode, resolver, XPathResult.ANY_TYPE, null);\n var propStatNode = propStatIterator.iterateNext();\n\n while(propStatNode) {\n var propStat = {\n status : doc.evaluate('string(d:status)', propStatNode, resolver, XPathResult.ANY_TYPE, null).stringValue,\n properties : {},\n };\n\n var propIterator = doc.evaluate('d:prop/*', propStatNode, resolver, XPathResult.ANY_TYPE, null);\n\n var propNode = propIterator.iterateNext();\n while(propNode) {\n var content = this._parsePropNode(propNode);\n propStat.properties['{' + propNode.namespaceURI + '}' + propNode.localName] = content;\n propNode = propIterator.iterateNext();\n\n }\n response.propStat.push(propStat);\n propStatNode = propStatIterator.iterateNext();\n\n\n }\n\n result.push(response);\n responseNode = responseIterator.iterateNext();\n\n }\n\n return result;\n\n },\n\n /**\n * Takes a relative url, and maps it to an absolute url, using the baseUrl\n *\n * @param {string} url\n * @return {string}\n */\n resolveUrl : function(url) {\n\n // Note: this is rudamentary.. not sure yet if it handles every case.\n if (/^https?:\\/\\//i.test(url)) {\n // absolute\n return url;\n }\n\n var baseParts = this.parseUrl(this.baseUrl);\n if (url.charAt('/')) {\n // Url starts with a slash\n return baseParts.root + url;\n }\n\n // Url does not start with a slash, we need grab the base url right up until the last slash.\n var newUrl = baseParts.root + '/';\n if (baseParts.path.lastIndexOf('/')!==-1) {\n newUrl = newUrl = baseParts.path.subString(0, baseParts.path.lastIndexOf('/')) + '/';\n }\n newUrl+=url;\n return url;\n\n },\n\n /**\n * Parses a url and returns its individual components.\n *\n * @param {String} url\n * @return {Object}\n */\n parseUrl : function(url) {\n\n var parts = url.match(/^(?:([A-Za-z]+):)?(\\/{0,3})([0-9.\\-A-Za-z]+)(?::(\\d+))?(?:\\/([^?#]*))?(?:\\?([^#]*))?(?:#(.*))?$/);\n var result = {\n url : parts[0],\n scheme : parts[1],\n host : parts[3],\n port : parts[4],\n path : parts[5],\n query : parts[6],\n fragment : parts[7],\n };\n result.root =\n result.scheme + '://' +\n result.host +\n (result.port ? ':' + result.port : '');\n\n return result;\n\n },\n\n parseClarkNotation : function(propertyName) {\n\n var result = propertyName.match(/^{([^}]+)}(.*)$/);\n if (!result) {\n return;\n }\n\n return {\n name : result[2],\n namespace : result[1]\n };\n\n }\n\n};\n\nmodule.exports = {\n dav,\n Client: dav.Client,\n}\n","'use strict';\n\nexports.__esModule = true;\n// istanbul ignore next\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\n// istanbul ignore next\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }\n\nvar _handlebarsBase = require('./handlebars/base');\n\nvar base = _interopRequireWildcard(_handlebarsBase);\n\n// Each of these augment the Handlebars object. No need to setup here.\n// (This is done to easily share code between commonjs and browse envs)\n\nvar _handlebarsSafeString = require('./handlebars/safe-string');\n\nvar _handlebarsSafeString2 = _interopRequireDefault(_handlebarsSafeString);\n\nvar _handlebarsException = require('./handlebars/exception');\n\nvar _handlebarsException2 = _interopRequireDefault(_handlebarsException);\n\nvar _handlebarsUtils = require('./handlebars/utils');\n\nvar Utils = _interopRequireWildcard(_handlebarsUtils);\n\nvar _handlebarsRuntime = require('./handlebars/runtime');\n\nvar runtime = _interopRequireWildcard(_handlebarsRuntime);\n\nvar _handlebarsNoConflict = require('./handlebars/no-conflict');\n\nvar _handlebarsNoConflict2 = _interopRequireDefault(_handlebarsNoConflict);\n\n// For compatibility and usage outside of module systems, make the Handlebars object a namespace\nfunction create() {\n var hb = new base.HandlebarsEnvironment();\n\n Utils.extend(hb, base);\n hb.SafeString = _handlebarsSafeString2['default'];\n hb.Exception = _handlebarsException2['default'];\n hb.Utils = Utils;\n hb.escapeExpression = Utils.escapeExpression;\n\n hb.VM = runtime;\n hb.template = function (spec) {\n return runtime.template(spec, hb);\n };\n\n return hb;\n}\n\nvar inst = create();\ninst.create = create;\n\n_handlebarsNoConflict2['default'](inst);\n\ninst['default'] = inst;\n\nexports['default'] = inst;\nmodule.exports = exports['default'];\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9oYW5kbGViYXJzLnJ1bnRpbWUuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OEJBQXNCLG1CQUFtQjs7SUFBN0IsSUFBSTs7Ozs7b0NBSU8sMEJBQTBCOzs7O21DQUMzQix3QkFBd0I7Ozs7K0JBQ3ZCLG9CQUFvQjs7SUFBL0IsS0FBSzs7aUNBQ1Esc0JBQXNCOztJQUFuQyxPQUFPOztvQ0FFSSwwQkFBMEI7Ozs7O0FBR2pELFNBQVMsTUFBTSxHQUFHO0FBQ2hCLE1BQUksRUFBRSxHQUFHLElBQUksSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7O0FBRTFDLE9BQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ3ZCLElBQUUsQ0FBQyxVQUFVLG9DQUFhLENBQUM7QUFDM0IsSUFBRSxDQUFDLFNBQVMsbUNBQVksQ0FBQztBQUN6QixJQUFFLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztBQUNqQixJQUFFLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDLGdCQUFnQixDQUFDOztBQUU3QyxJQUFFLENBQUMsRUFBRSxHQUFHLE9BQU8sQ0FBQztBQUNoQixJQUFFLENBQUMsUUFBUSxHQUFHLFVBQVMsSUFBSSxFQUFFO0FBQzNCLFdBQU8sT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7R0FDbkMsQ0FBQzs7QUFFRixTQUFPLEVBQUUsQ0FBQztDQUNYOztBQUVELElBQUksSUFBSSxHQUFHLE1BQU0sRUFBRSxDQUFDO0FBQ3BCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDOztBQUVyQixrQ0FBVyxJQUFJLENBQUMsQ0FBQzs7QUFFakIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLElBQUksQ0FBQzs7cUJBRVIsSUFBSSIsImZpbGUiOiJoYW5kbGViYXJzLnJ1bnRpbWUuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBiYXNlIGZyb20gJy4vaGFuZGxlYmFycy9iYXNlJztcblxuLy8gRWFjaCBvZiB0aGVzZSBhdWdtZW50IHRoZSBIYW5kbGViYXJzIG9iamVjdC4gTm8gbmVlZCB0byBzZXR1cCBoZXJlLlxuLy8gKFRoaXMgaXMgZG9uZSB0byBlYXNpbHkgc2hhcmUgY29kZSBiZXR3ZWVuIGNvbW1vbmpzIGFuZCBicm93c2UgZW52cylcbmltcG9ydCBTYWZlU3RyaW5nIGZyb20gJy4vaGFuZGxlYmFycy9zYWZlLXN0cmluZyc7XG5pbXBvcnQgRXhjZXB0aW9uIGZyb20gJy4vaGFuZGxlYmFycy9leGNlcHRpb24nO1xuaW1wb3J0ICogYXMgVXRpbHMgZnJvbSAnLi9oYW5kbGViYXJzL3V0aWxzJztcbmltcG9ydCAqIGFzIHJ1bnRpbWUgZnJvbSAnLi9oYW5kbGViYXJzL3J1bnRpbWUnO1xuXG5pbXBvcnQgbm9Db25mbGljdCBmcm9tICcuL2hhbmRsZWJhcnMvbm8tY29uZmxpY3QnO1xuXG4vLyBGb3IgY29tcGF0aWJpbGl0eSBhbmQgdXNhZ2Ugb3V0c2lkZSBvZiBtb2R1bGUgc3lzdGVtcywgbWFrZSB0aGUgSGFuZGxlYmFycyBvYmplY3QgYSBuYW1lc3BhY2VcbmZ1bmN0aW9uIGNyZWF0ZSgpIHtcbiAgbGV0IGhiID0gbmV3IGJhc2UuSGFuZGxlYmFyc0Vudmlyb25tZW50KCk7XG5cbiAgVXRpbHMuZXh0ZW5kKGhiLCBiYXNlKTtcbiAgaGIuU2FmZVN0cmluZyA9IFNhZmVTdHJpbmc7XG4gIGhiLkV4Y2VwdGlvbiA9IEV4Y2VwdGlvbjtcbiAgaGIuVXRpbHMgPSBVdGlscztcbiAgaGIuZXNjYXBlRXhwcmVzc2lvbiA9IFV0aWxzLmVzY2FwZUV4cHJlc3Npb247XG5cbiAgaGIuVk0gPSBydW50aW1lO1xuICBoYi50ZW1wbGF0ZSA9IGZ1bmN0aW9uKHNwZWMpIHtcbiAgICByZXR1cm4gcnVudGltZS50ZW1wbGF0ZShzcGVjLCBoYik7XG4gIH07XG5cbiAgcmV0dXJuIGhiO1xufVxuXG5sZXQgaW5zdCA9IGNyZWF0ZSgpO1xuaW5zdC5jcmVhdGUgPSBjcmVhdGU7XG5cbm5vQ29uZmxpY3QoaW5zdCk7XG5cbmluc3RbJ2RlZmF1bHQnXSA9IGluc3Q7XG5cbmV4cG9ydCBkZWZhdWx0IGluc3Q7XG4iXX0=\n","'use strict';\n\nexports.__esModule = true;\nexports.HandlebarsEnvironment = HandlebarsEnvironment;\n// istanbul ignore next\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _utils = require('./utils');\n\nvar _exception = require('./exception');\n\nvar _exception2 = _interopRequireDefault(_exception);\n\nvar _helpers = require('./helpers');\n\nvar _decorators = require('./decorators');\n\nvar _logger = require('./logger');\n\nvar _logger2 = _interopRequireDefault(_logger);\n\nvar _internalProtoAccess = require('./internal/proto-access');\n\nvar VERSION = '4.7.9';\nexports.VERSION = VERSION;\nvar COMPILER_REVISION = 8;\nexports.COMPILER_REVISION = COMPILER_REVISION;\nvar LAST_COMPATIBLE_COMPILER_REVISION = 7;\n\nexports.LAST_COMPATIBLE_COMPILER_REVISION = LAST_COMPATIBLE_COMPILER_REVISION;\nvar REVISION_CHANGES = {\n 1: '<= 1.0.rc.2', // 1.0.rc.2 is actually rev2 but doesn't report it\n 2: '== 1.0.0-rc.3',\n 3: '== 1.0.0-rc.4',\n 4: '== 1.x.x',\n 5: '== 2.0.0-alpha.x',\n 6: '>= 2.0.0-beta.1',\n 7: '>= 4.0.0 <4.3.0',\n 8: '>= 4.3.0'\n};\n\nexports.REVISION_CHANGES = REVISION_CHANGES;\nvar objectType = '[object Object]';\n\nfunction HandlebarsEnvironment(helpers, partials, decorators) {\n this.helpers = helpers || {};\n this.partials = partials || {};\n this.decorators = decorators || {};\n\n _helpers.registerDefaultHelpers(this);\n _decorators.registerDefaultDecorators(this);\n}\n\nHandlebarsEnvironment.prototype = {\n constructor: HandlebarsEnvironment,\n\n logger: _logger2['default'],\n log: _logger2['default'].log,\n\n registerHelper: function registerHelper(name, fn) {\n if (_utils.toString.call(name) === objectType) {\n if (fn) {\n throw new _exception2['default']('Arg not supported with multiple helpers');\n }\n _utils.extend(this.helpers, name);\n } else {\n this.helpers[name] = fn;\n }\n },\n unregisterHelper: function unregisterHelper(name) {\n delete this.helpers[name];\n },\n\n registerPartial: function registerPartial(name, partial) {\n if (_utils.toString.call(name) === objectType) {\n _utils.extend(this.partials, name);\n } else {\n if (typeof partial === 'undefined') {\n throw new _exception2['default']('Attempting to register a partial called \"' + name + '\" as undefined');\n }\n this.partials[name] = partial;\n }\n },\n unregisterPartial: function unregisterPartial(name) {\n delete this.partials[name];\n },\n\n registerDecorator: function registerDecorator(name, fn) {\n if (_utils.toString.call(name) === objectType) {\n if (fn) {\n throw new _exception2['default']('Arg not supported with multiple decorators');\n }\n _utils.extend(this.decorators, name);\n } else {\n this.decorators[name] = fn;\n }\n },\n unregisterDecorator: function unregisterDecorator(name) {\n delete this.decorators[name];\n },\n /**\n * Reset the memory of illegal property accesses that have already been logged.\n * @deprecated should only be used in handlebars test-cases\n */\n resetLoggedPropertyAccesses: function resetLoggedPropertyAccesses() {\n _internalProtoAccess.resetLoggedProperties();\n }\n};\n\nvar log = _logger2['default'].log;\n\nexports.log = log;\nexports.createFrame = _utils.createFrame;\nexports.logger = _logger2['default'];\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2Jhc2UuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7cUJBQThDLFNBQVM7O3lCQUNqQyxhQUFhOzs7O3VCQUNJLFdBQVc7OzBCQUNSLGNBQWM7O3NCQUNyQyxVQUFVOzs7O21DQUNTLHlCQUF5Qjs7QUFFeEQsSUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDOztBQUN4QixJQUFNLGlCQUFpQixHQUFHLENBQUMsQ0FBQzs7QUFDNUIsSUFBTSxpQ0FBaUMsR0FBRyxDQUFDLENBQUM7OztBQUU1QyxJQUFNLGdCQUFnQixHQUFHO0FBQzlCLEdBQUMsRUFBRSxhQUFhO0FBQ2hCLEdBQUMsRUFBRSxlQUFlO0FBQ2xCLEdBQUMsRUFBRSxlQUFlO0FBQ2xCLEdBQUMsRUFBRSxVQUFVO0FBQ2IsR0FBQyxFQUFFLGtCQUFrQjtBQUNyQixHQUFDLEVBQUUsaUJBQWlCO0FBQ3BCLEdBQUMsRUFBRSxpQkFBaUI7QUFDcEIsR0FBQyxFQUFFLFVBQVU7Q0FDZCxDQUFDOzs7QUFFRixJQUFNLFVBQVUsR0FBRyxpQkFBaUIsQ0FBQzs7QUFFOUIsU0FBUyxxQkFBcUIsQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRTtBQUNuRSxNQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sSUFBSSxFQUFFLENBQUM7QUFDN0IsTUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLElBQUksRUFBRSxDQUFDO0FBQy9CLE1BQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxJQUFJLEVBQUUsQ0FBQzs7QUFFbkMsa0NBQXVCLElBQUksQ0FBQyxDQUFDO0FBQzdCLHdDQUEwQixJQUFJLENBQUMsQ0FBQztDQUNqQzs7QUFFRCxxQkFBcUIsQ0FBQyxTQUFTLEdBQUc7QUFDaEMsYUFBVyxFQUFFLHFCQUFxQjs7QUFFbEMsUUFBTSxxQkFBUTtBQUNkLEtBQUcsRUFBRSxvQkFBTyxHQUFHOztBQUVmLGdCQUFjLEVBQUUsd0JBQVMsSUFBSSxFQUFFLEVBQUUsRUFBRTtBQUNqQyxRQUFJLGdCQUFTLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxVQUFVLEVBQUU7QUFDdEMsVUFBSSxFQUFFLEVBQUU7QUFDTixjQUFNLDJCQUFjLHlDQUF5QyxDQUFDLENBQUM7T0FDaEU7QUFDRCxvQkFBTyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO0tBQzVCLE1BQU07QUFDTCxVQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztLQUN6QjtHQUNGO0FBQ0Qsa0JBQWdCLEVBQUUsMEJBQVMsSUFBSSxFQUFFO0FBQy9CLFdBQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztHQUMzQjs7QUFFRCxpQkFBZSxFQUFFLHlCQUFTLElBQUksRUFBRSxPQUFPLEVBQUU7QUFDdkMsUUFBSSxnQkFBUyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssVUFBVSxFQUFFO0FBQ3RDLG9CQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7S0FDN0IsTUFBTTtBQUNMLFVBQUksT0FBTyxPQUFPLEtBQUssV0FBVyxFQUFFO0FBQ2xDLGNBQU0seUVBQ3dDLElBQUksb0JBQ2pELENBQUM7T0FDSDtBQUNELFVBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsT0FBTyxDQUFDO0tBQy9CO0dBQ0Y7QUFDRCxtQkFBaUIsRUFBRSwyQkFBUyxJQUFJLEVBQUU7QUFDaEMsV0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO0dBQzVCOztBQUVELG1CQUFpQixFQUFFLDJCQUFTLElBQUksRUFBRSxFQUFFLEVBQUU7QUFDcEMsUUFBSSxnQkFBUyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssVUFBVSxFQUFFO0FBQ3RDLFVBQUksRUFBRSxFQUFFO0FBQ04sY0FBTSwyQkFBYyw0Q0FBNEMsQ0FBQyxDQUFDO09BQ25FO0FBQ0Qsb0JBQU8sSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQztLQUMvQixNQUFNO0FBQ0wsVUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7S0FDNUI7R0FDRjtBQUNELHFCQUFtQixFQUFFLDZCQUFTLElBQUksRUFBRTtBQUNsQyxXQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7R0FDOUI7Ozs7O0FBS0QsNkJBQTJCLEVBQUEsdUNBQUc7QUFDNUIsZ0RBQXVCLENBQUM7R0FDekI7Q0FDRixDQUFDOztBQUVLLElBQUksR0FBRyxHQUFHLG9CQUFPLEdBQUcsQ0FBQzs7O1FBRW5CLFdBQVc7UUFBRSxNQUFNIiwiZmlsZSI6ImJhc2UuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVGcmFtZSwgZXh0ZW5kLCB0b1N0cmluZyB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IEV4Y2VwdGlvbiBmcm9tICcuL2V4Y2VwdGlvbic7XG5pbXBvcnQgeyByZWdpc3RlckRlZmF1bHRIZWxwZXJzIH0gZnJvbSAnLi9oZWxwZXJzJztcbmltcG9ydCB7IHJlZ2lzdGVyRGVmYXVsdERlY29yYXRvcnMgfSBmcm9tICcuL2RlY29yYXRvcnMnO1xuaW1wb3J0IGxvZ2dlciBmcm9tICcuL2xvZ2dlcic7XG5pbXBvcnQgeyByZXNldExvZ2dlZFByb3BlcnRpZXMgfSBmcm9tICcuL2ludGVybmFsL3Byb3RvLWFjY2Vzcyc7XG5cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gJzQuNy45JztcbmV4cG9ydCBjb25zdCBDT01QSUxFUl9SRVZJU0lPTiA9IDg7XG5leHBvcnQgY29uc3QgTEFTVF9DT01QQVRJQkxFX0NPTVBJTEVSX1JFVklTSU9OID0gNztcblxuZXhwb3J0IGNvbnN0IFJFVklTSU9OX0NIQU5HRVMgPSB7XG4gIDE6ICc8PSAxLjAucmMuMicsIC8vIDEuMC5yYy4yIGlzIGFjdHVhbGx5IHJldjIgYnV0IGRvZXNuJ3QgcmVwb3J0IGl0XG4gIDI6ICc9PSAxLjAuMC1yYy4zJyxcbiAgMzogJz09IDEuMC4wLXJjLjQnLFxuICA0OiAnPT0gMS54LngnLFxuICA1OiAnPT0gMi4wLjAtYWxwaGEueCcsXG4gIDY6ICc+PSAyLjAuMC1iZXRhLjEnLFxuICA3OiAnPj0gNC4wLjAgPDQuMy4wJyxcbiAgODogJz49IDQuMy4wJ1xufTtcblxuY29uc3Qgb2JqZWN0VHlwZSA9ICdbb2JqZWN0IE9iamVjdF0nO1xuXG5leHBvcnQgZnVuY3Rpb24gSGFuZGxlYmFyc0Vudmlyb25tZW50KGhlbHBlcnMsIHBhcnRpYWxzLCBkZWNvcmF0b3JzKSB7XG4gIHRoaXMuaGVscGVycyA9IGhlbHBlcnMgfHwge307XG4gIHRoaXMucGFydGlhbHMgPSBwYXJ0aWFscyB8fCB7fTtcbiAgdGhpcy5kZWNvcmF0b3JzID0gZGVjb3JhdG9ycyB8fCB7fTtcblxuICByZWdpc3RlckRlZmF1bHRIZWxwZXJzKHRoaXMpO1xuICByZWdpc3RlckRlZmF1bHREZWNvcmF0b3JzKHRoaXMpO1xufVxuXG5IYW5kbGViYXJzRW52aXJvbm1lbnQucHJvdG90eXBlID0ge1xuICBjb25zdHJ1Y3RvcjogSGFuZGxlYmFyc0Vudmlyb25tZW50LFxuXG4gIGxvZ2dlcjogbG9nZ2VyLFxuICBsb2c6IGxvZ2dlci5sb2csXG5cbiAgcmVnaXN0ZXJIZWxwZXI6IGZ1bmN0aW9uKG5hbWUsIGZuKSB7XG4gICAgaWYgKHRvU3RyaW5nLmNhbGwobmFtZSkgPT09IG9iamVjdFR5cGUpIHtcbiAgICAgIGlmIChmbikge1xuICAgICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdBcmcgbm90IHN1cHBvcnRlZCB3aXRoIG11bHRpcGxlIGhlbHBlcnMnKTtcbiAgICAgIH1cbiAgICAgIGV4dGVuZCh0aGlzLmhlbHBlcnMsIG5hbWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmhlbHBlcnNbbmFtZV0gPSBmbjtcbiAgICB9XG4gIH0sXG4gIHVucmVnaXN0ZXJIZWxwZXI6IGZ1bmN0aW9uKG5hbWUpIHtcbiAgICBkZWxldGUgdGhpcy5oZWxwZXJzW25hbWVdO1xuICB9LFxuXG4gIHJlZ2lzdGVyUGFydGlhbDogZnVuY3Rpb24obmFtZSwgcGFydGlhbCkge1xuICAgIGlmICh0b1N0cmluZy5jYWxsKG5hbWUpID09PSBvYmplY3RUeXBlKSB7XG4gICAgICBleHRlbmQodGhpcy5wYXJ0aWFscywgbmFtZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0eXBlb2YgcGFydGlhbCA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbihcbiAgICAgICAgICBgQXR0ZW1wdGluZyB0byByZWdpc3RlciBhIHBhcnRpYWwgY2FsbGVkIFwiJHtuYW1lfVwiIGFzIHVuZGVmaW5lZGBcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIHRoaXMucGFydGlhbHNbbmFtZV0gPSBwYXJ0aWFsO1xuICAgIH1cbiAgfSxcbiAgdW5yZWdpc3RlclBhcnRpYWw6IGZ1bmN0aW9uKG5hbWUpIHtcbiAgICBkZWxldGUgdGhpcy5wYXJ0aWFsc1tuYW1lXTtcbiAgfSxcblxuICByZWdpc3RlckRlY29yYXRvcjogZnVuY3Rpb24obmFtZSwgZm4pIHtcbiAgICBpZiAodG9TdHJpbmcuY2FsbChuYW1lKSA9PT0gb2JqZWN0VHlwZSkge1xuICAgICAgaWYgKGZuKSB7XG4gICAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oJ0FyZyBub3Qgc3VwcG9ydGVkIHdpdGggbXVsdGlwbGUgZGVjb3JhdG9ycycpO1xuICAgICAgfVxuICAgICAgZXh0ZW5kKHRoaXMuZGVjb3JhdG9ycywgbmFtZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZGVjb3JhdG9yc1tuYW1lXSA9IGZuO1xuICAgIH1cbiAgfSxcbiAgdW5yZWdpc3RlckRlY29yYXRvcjogZnVuY3Rpb24obmFtZSkge1xuICAgIGRlbGV0ZSB0aGlzLmRlY29yYXRvcnNbbmFtZV07XG4gIH0sXG4gIC8qKlxuICAgKiBSZXNldCB0aGUgbWVtb3J5IG9mIGlsbGVnYWwgcHJvcGVydHkgYWNjZXNzZXMgdGhhdCBoYXZlIGFscmVhZHkgYmVlbiBsb2dnZWQuXG4gICAqIEBkZXByZWNhdGVkIHNob3VsZCBvbmx5IGJlIHVzZWQgaW4gaGFuZGxlYmFycyB0ZXN0LWNhc2VzXG4gICAqL1xuICByZXNldExvZ2dlZFByb3BlcnR5QWNjZXNzZXMoKSB7XG4gICAgcmVzZXRMb2dnZWRQcm9wZXJ0aWVzKCk7XG4gIH1cbn07XG5cbmV4cG9ydCBsZXQgbG9nID0gbG9nZ2VyLmxvZztcblxuZXhwb3J0IHsgY3JlYXRlRnJhbWUsIGxvZ2dlciB9O1xuIl19\n","'use strict';\n\nexports.__esModule = true;\nexports.registerDefaultDecorators = registerDefaultDecorators;\n// istanbul ignore next\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _decoratorsInline = require('./decorators/inline');\n\nvar _decoratorsInline2 = _interopRequireDefault(_decoratorsInline);\n\nfunction registerDefaultDecorators(instance) {\n _decoratorsInline2['default'](instance);\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2RlY29yYXRvcnMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Z0NBQTJCLHFCQUFxQjs7OztBQUV6QyxTQUFTLHlCQUF5QixDQUFDLFFBQVEsRUFBRTtBQUNsRCxnQ0FBZSxRQUFRLENBQUMsQ0FBQztDQUMxQiIsImZpbGUiOiJkZWNvcmF0b3JzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHJlZ2lzdGVySW5saW5lIGZyb20gJy4vZGVjb3JhdG9ycy9pbmxpbmUnO1xuXG5leHBvcnQgZnVuY3Rpb24gcmVnaXN0ZXJEZWZhdWx0RGVjb3JhdG9ycyhpbnN0YW5jZSkge1xuICByZWdpc3RlcklubGluZShpbnN0YW5jZSk7XG59XG4iXX0=\n","'use strict';\n\nexports.__esModule = true;\n\nvar _utils = require('../utils');\n\nexports['default'] = function (instance) {\n instance.registerDecorator('inline', function (fn, props, container, options) {\n var ret = fn;\n if (!props.partials) {\n props.partials = {};\n ret = function (context, options) {\n // Create a new partials stack frame prior to exec.\n var original = container.partials;\n container.partials = _utils.extend({}, original, props.partials);\n var ret = fn(context, options);\n container.partials = original;\n return ret;\n };\n }\n\n props.partials[options.args[0]] = options.fn;\n\n return ret;\n });\n};\n\nmodule.exports = exports['default'];\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2RlY29yYXRvcnMvaW5saW5lLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7cUJBQXVCLFVBQVU7O3FCQUVsQixVQUFTLFFBQVEsRUFBRTtBQUNoQyxVQUFRLENBQUMsaUJBQWlCLENBQUMsUUFBUSxFQUFFLFVBQVMsRUFBRSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFO0FBQzNFLFFBQUksR0FBRyxHQUFHLEVBQUUsQ0FBQztBQUNiLFFBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFO0FBQ25CLFdBQUssQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0FBQ3BCLFNBQUcsR0FBRyxVQUFTLE9BQU8sRUFBRSxPQUFPLEVBQUU7O0FBRS9CLFlBQUksUUFBUSxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUM7QUFDbEMsaUJBQVMsQ0FBQyxRQUFRLEdBQUcsY0FBTyxFQUFFLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUMxRCxZQUFJLEdBQUcsR0FBRyxFQUFFLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQy9CLGlCQUFTLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztBQUM5QixlQUFPLEdBQUcsQ0FBQztPQUNaLENBQUM7S0FDSDs7QUFFRCxTQUFLLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUMsRUFBRSxDQUFDOztBQUU3QyxXQUFPLEdBQUcsQ0FBQztHQUNaLENBQUMsQ0FBQztDQUNKIiwiZmlsZSI6ImlubGluZS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGV4dGVuZCB9IGZyb20gJy4uL3V0aWxzJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24oaW5zdGFuY2UpIHtcbiAgaW5zdGFuY2UucmVnaXN0ZXJEZWNvcmF0b3IoJ2lubGluZScsIGZ1bmN0aW9uKGZuLCBwcm9wcywgY29udGFpbmVyLCBvcHRpb25zKSB7XG4gICAgbGV0IHJldCA9IGZuO1xuICAgIGlmICghcHJvcHMucGFydGlhbHMpIHtcbiAgICAgIHByb3BzLnBhcnRpYWxzID0ge307XG4gICAgICByZXQgPSBmdW5jdGlvbihjb250ZXh0LCBvcHRpb25zKSB7XG4gICAgICAgIC8vIENyZWF0ZSBhIG5ldyBwYXJ0aWFscyBzdGFjayBmcmFtZSBwcmlvciB0byBleGVjLlxuICAgICAgICBsZXQgb3JpZ2luYWwgPSBjb250YWluZXIucGFydGlhbHM7XG4gICAgICAgIGNvbnRhaW5lci5wYXJ0aWFscyA9IGV4dGVuZCh7fSwgb3JpZ2luYWwsIHByb3BzLnBhcnRpYWxzKTtcbiAgICAgICAgbGV0IHJldCA9IGZuKGNvbnRleHQsIG9wdGlvbnMpO1xuICAgICAgICBjb250YWluZXIucGFydGlhbHMgPSBvcmlnaW5hbDtcbiAgICAgICAgcmV0dXJuIHJldDtcbiAgICAgIH07XG4gICAgfVxuXG4gICAgcHJvcHMucGFydGlhbHNbb3B0aW9ucy5hcmdzWzBdXSA9IG9wdGlvbnMuZm47XG5cbiAgICByZXR1cm4gcmV0O1xuICB9KTtcbn1cbiJdfQ==\n","'use strict';\n\nexports.__esModule = true;\nvar errorProps = ['description', 'fileName', 'lineNumber', 'endLineNumber', 'message', 'name', 'number', 'stack'];\n\nfunction Exception(message, node) {\n var loc = node && node.loc,\n line = undefined,\n endLineNumber = undefined,\n column = undefined,\n endColumn = undefined;\n\n if (loc) {\n line = loc.start.line;\n endLineNumber = loc.end.line;\n column = loc.start.column;\n endColumn = loc.end.column;\n\n message += ' - ' + line + ':' + column;\n }\n\n var tmp = Error.prototype.constructor.call(this, message);\n\n // Unfortunately errors are not enumerable in Chrome (at least), so `for prop in tmp` doesn't work.\n for (var idx = 0; idx < errorProps.length; idx++) {\n this[errorProps[idx]] = tmp[errorProps[idx]];\n }\n\n /* istanbul ignore else */\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, Exception);\n }\n\n try {\n if (loc) {\n this.lineNumber = line;\n this.endLineNumber = endLineNumber;\n\n // Work around issue under safari where we can't directly set the column value\n /* istanbul ignore next */\n if (Object.defineProperty) {\n Object.defineProperty(this, 'column', {\n value: column,\n enumerable: true\n });\n Object.defineProperty(this, 'endColumn', {\n value: endColumn,\n enumerable: true\n });\n } else {\n this.column = column;\n this.endColumn = endColumn;\n }\n }\n } catch (nop) {\n /* Ignore if the browser is very particular */\n }\n}\n\nException.prototype = new Error();\n\nexports['default'] = Exception;\nmodule.exports = exports['default'];\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2V4Y2VwdGlvbi5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxJQUFNLFVBQVUsR0FBRyxDQUNqQixhQUFhLEVBQ2IsVUFBVSxFQUNWLFlBQVksRUFDWixlQUFlLEVBQ2YsU0FBUyxFQUNULE1BQU0sRUFDTixRQUFRLEVBQ1IsT0FBTyxDQUNSLENBQUM7O0FBRUYsU0FBUyxTQUFTLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRTtBQUNoQyxNQUFJLEdBQUcsR0FBRyxJQUFJLElBQUksSUFBSSxDQUFDLEdBQUc7TUFDeEIsSUFBSSxZQUFBO01BQ0osYUFBYSxZQUFBO01BQ2IsTUFBTSxZQUFBO01BQ04sU0FBUyxZQUFBLENBQUM7O0FBRVosTUFBSSxHQUFHLEVBQUU7QUFDUCxRQUFJLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7QUFDdEIsaUJBQWEsR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQztBQUM3QixVQUFNLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7QUFDMUIsYUFBUyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDOztBQUUzQixXQUFPLElBQUksS0FBSyxHQUFHLElBQUksR0FBRyxHQUFHLEdBQUcsTUFBTSxDQUFDO0dBQ3hDOztBQUVELE1BQUksR0FBRyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7OztBQUcxRCxPQUFLLElBQUksR0FBRyxHQUFHLENBQUMsRUFBRSxHQUFHLEdBQUcsVUFBVSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsRUFBRTtBQUNoRCxRQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0dBQzlDOzs7QUFHRCxNQUFJLEtBQUssQ0FBQyxpQkFBaUIsRUFBRTtBQUMzQixTQUFLLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0dBQzFDOztBQUVELE1BQUk7QUFDRixRQUFJLEdBQUcsRUFBRTtBQUNQLFVBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO0FBQ3ZCLFVBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDOzs7O0FBSW5DLFVBQUksTUFBTSxDQUFDLGNBQWMsRUFBRTtBQUN6QixjQUFNLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUU7QUFDcEMsZUFBSyxFQUFFLE1BQU07QUFDYixvQkFBVSxFQUFFLElBQUk7U0FDakIsQ0FBQyxDQUFDO0FBQ0gsY0FBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFO0FBQ3ZDLGVBQUssRUFBRSxTQUFTO0FBQ2hCLG9CQUFVLEVBQUUsSUFBSTtTQUNqQixDQUFDLENBQUM7T0FDSixNQUFNO0FBQ0wsWUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7QUFDckIsWUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7T0FDNUI7S0FDRjtHQUNGLENBQUMsT0FBTyxHQUFHLEVBQUU7O0dBRWI7Q0FDRjs7QUFFRCxTQUFTLENBQUMsU0FBUyxHQUFHLElBQUksS0FBSyxFQUFFLENBQUM7O3FCQUVuQixTQUFTIiwiZmlsZSI6ImV4Y2VwdGlvbi5qcyIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IGVycm9yUHJvcHMgPSBbXG4gICdkZXNjcmlwdGlvbicsXG4gICdmaWxlTmFtZScsXG4gICdsaW5lTnVtYmVyJyxcbiAgJ2VuZExpbmVOdW1iZXInLFxuICAnbWVzc2FnZScsXG4gICduYW1lJyxcbiAgJ251bWJlcicsXG4gICdzdGFjaydcbl07XG5cbmZ1bmN0aW9uIEV4Y2VwdGlvbihtZXNzYWdlLCBub2RlKSB7XG4gIGxldCBsb2MgPSBub2RlICYmIG5vZGUubG9jLFxuICAgIGxpbmUsXG4gICAgZW5kTGluZU51bWJlcixcbiAgICBjb2x1bW4sXG4gICAgZW5kQ29sdW1uO1xuXG4gIGlmIChsb2MpIHtcbiAgICBsaW5lID0gbG9jLnN0YXJ0LmxpbmU7XG4gICAgZW5kTGluZU51bWJlciA9IGxvYy5lbmQubGluZTtcbiAgICBjb2x1bW4gPSBsb2Muc3RhcnQuY29sdW1uO1xuICAgIGVuZENvbHVtbiA9IGxvYy5lbmQuY29sdW1uO1xuXG4gICAgbWVzc2FnZSArPSAnIC0gJyArIGxpbmUgKyAnOicgKyBjb2x1bW47XG4gIH1cblxuICBsZXQgdG1wID0gRXJyb3IucHJvdG90eXBlLmNvbnN0cnVjdG9yLmNhbGwodGhpcywgbWVzc2FnZSk7XG5cbiAgLy8gVW5mb3J0dW5hdGVseSBlcnJvcnMgYXJlIG5vdCBlbnVtZXJhYmxlIGluIENocm9tZSAoYXQgbGVhc3QpLCBzbyBgZm9yIHByb3AgaW4gdG1wYCBkb2Vzbid0IHdvcmsuXG4gIGZvciAobGV0IGlkeCA9IDA7IGlkeCA8IGVycm9yUHJvcHMubGVuZ3RoOyBpZHgrKykge1xuICAgIHRoaXNbZXJyb3JQcm9wc1tpZHhdXSA9IHRtcFtlcnJvclByb3BzW2lkeF1dO1xuICB9XG5cbiAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgaWYgKEVycm9yLmNhcHR1cmVTdGFja1RyYWNlKSB7XG4gICAgRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UodGhpcywgRXhjZXB0aW9uKTtcbiAgfVxuXG4gIHRyeSB7XG4gICAgaWYgKGxvYykge1xuICAgICAgdGhpcy5saW5lTnVtYmVyID0gbGluZTtcbiAgICAgIHRoaXMuZW5kTGluZU51bWJlciA9IGVuZExpbmVOdW1iZXI7XG5cbiAgICAgIC8vIFdvcmsgYXJvdW5kIGlzc3VlIHVuZGVyIHNhZmFyaSB3aGVyZSB3ZSBjYW4ndCBkaXJlY3RseSBzZXQgdGhlIGNvbHVtbiB2YWx1ZVxuICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgIGlmIChPYmplY3QuZGVmaW5lUHJvcGVydHkpIHtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsICdjb2x1bW4nLCB7XG4gICAgICAgICAgdmFsdWU6IGNvbHVtbixcbiAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgJ2VuZENvbHVtbicsIHtcbiAgICAgICAgICB2YWx1ZTogZW5kQ29sdW1uLFxuICAgICAgICAgIGVudW1lcmFibGU6IHRydWVcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmNvbHVtbiA9IGNvbHVtbjtcbiAgICAgICAgdGhpcy5lbmRDb2x1bW4gPSBlbmRDb2x1bW47XG4gICAgICB9XG4gICAgfVxuICB9IGNhdGNoIChub3ApIHtcbiAgICAvKiBJZ25vcmUgaWYgdGhlIGJyb3dzZXIgaXMgdmVyeSBwYXJ0aWN1bGFyICovXG4gIH1cbn1cblxuRXhjZXB0aW9uLnByb3RvdHlwZSA9IG5ldyBFcnJvcigpO1xuXG5leHBvcnQgZGVmYXVsdCBFeGNlcHRpb247XG4iXX0=\n","'use strict';\n\nexports.__esModule = true;\nexports.registerDefaultHelpers = registerDefaultHelpers;\nexports.moveHelperToHooks = moveHelperToHooks;\n// istanbul ignore next\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _helpersBlockHelperMissing = require('./helpers/block-helper-missing');\n\nvar _helpersBlockHelperMissing2 = _interopRequireDefault(_helpersBlockHelperMissing);\n\nvar _helpersEach = require('./helpers/each');\n\nvar _helpersEach2 = _interopRequireDefault(_helpersEach);\n\nvar _helpersHelperMissing = require('./helpers/helper-missing');\n\nvar _helpersHelperMissing2 = _interopRequireDefault(_helpersHelperMissing);\n\nvar _helpersIf = require('./helpers/if');\n\nvar _helpersIf2 = _interopRequireDefault(_helpersIf);\n\nvar _helpersLog = require('./helpers/log');\n\nvar _helpersLog2 = _interopRequireDefault(_helpersLog);\n\nvar _helpersLookup = require('./helpers/lookup');\n\nvar _helpersLookup2 = _interopRequireDefault(_helpersLookup);\n\nvar _helpersWith = require('./helpers/with');\n\nvar _helpersWith2 = _interopRequireDefault(_helpersWith);\n\nfunction registerDefaultHelpers(instance) {\n _helpersBlockHelperMissing2['default'](instance);\n _helpersEach2['default'](instance);\n _helpersHelperMissing2['default'](instance);\n _helpersIf2['default'](instance);\n _helpersLog2['default'](instance);\n _helpersLookup2['default'](instance);\n _helpersWith2['default'](instance);\n}\n\nfunction moveHelperToHooks(instance, helperName, keepHelper) {\n if (instance.helpers[helperName]) {\n instance.hooks[helperName] = instance.helpers[helperName];\n if (!keepHelper) {\n // Using delete is slow\n instance.helpers[helperName] = undefined;\n }\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2hlbHBlcnMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O3lDQUF1QyxnQ0FBZ0M7Ozs7MkJBQzlDLGdCQUFnQjs7OztvQ0FDUCwwQkFBMEI7Ozs7eUJBQ3JDLGNBQWM7Ozs7MEJBQ2IsZUFBZTs7Ozs2QkFDWixrQkFBa0I7Ozs7MkJBQ3BCLGdCQUFnQjs7OztBQUVsQyxTQUFTLHNCQUFzQixDQUFDLFFBQVEsRUFBRTtBQUMvQyx5Q0FBMkIsUUFBUSxDQUFDLENBQUM7QUFDckMsMkJBQWEsUUFBUSxDQUFDLENBQUM7QUFDdkIsb0NBQXNCLFFBQVEsQ0FBQyxDQUFDO0FBQ2hDLHlCQUFXLFFBQVEsQ0FBQyxDQUFDO0FBQ3JCLDBCQUFZLFFBQVEsQ0FBQyxDQUFDO0FBQ3RCLDZCQUFlLFFBQVEsQ0FBQyxDQUFDO0FBQ3pCLDJCQUFhLFFBQVEsQ0FBQyxDQUFDO0NBQ3hCOztBQUVNLFNBQVMsaUJBQWlCLENBQUMsUUFBUSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUU7QUFDbEUsTUFBSSxRQUFRLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxFQUFFO0FBQ2hDLFlBQVEsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUMxRCxRQUFJLENBQUMsVUFBVSxFQUFFOztBQUVmLGNBQVEsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEdBQUcsU0FBUyxDQUFDO0tBQzFDO0dBQ0Y7Q0FDRiIsImZpbGUiOiJoZWxwZXJzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHJlZ2lzdGVyQmxvY2tIZWxwZXJNaXNzaW5nIGZyb20gJy4vaGVscGVycy9ibG9jay1oZWxwZXItbWlzc2luZyc7XG5pbXBvcnQgcmVnaXN0ZXJFYWNoIGZyb20gJy4vaGVscGVycy9lYWNoJztcbmltcG9ydCByZWdpc3RlckhlbHBlck1pc3NpbmcgZnJvbSAnLi9oZWxwZXJzL2hlbHBlci1taXNzaW5nJztcbmltcG9ydCByZWdpc3RlcklmIGZyb20gJy4vaGVscGVycy9pZic7XG5pbXBvcnQgcmVnaXN0ZXJMb2cgZnJvbSAnLi9oZWxwZXJzL2xvZyc7XG5pbXBvcnQgcmVnaXN0ZXJMb29rdXAgZnJvbSAnLi9oZWxwZXJzL2xvb2t1cCc7XG5pbXBvcnQgcmVnaXN0ZXJXaXRoIGZyb20gJy4vaGVscGVycy93aXRoJztcblxuZXhwb3J0IGZ1bmN0aW9uIHJlZ2lzdGVyRGVmYXVsdEhlbHBlcnMoaW5zdGFuY2UpIHtcbiAgcmVnaXN0ZXJCbG9ja0hlbHBlck1pc3NpbmcoaW5zdGFuY2UpO1xuICByZWdpc3RlckVhY2goaW5zdGFuY2UpO1xuICByZWdpc3RlckhlbHBlck1pc3NpbmcoaW5zdGFuY2UpO1xuICByZWdpc3RlcklmKGluc3RhbmNlKTtcbiAgcmVnaXN0ZXJMb2coaW5zdGFuY2UpO1xuICByZWdpc3Rlckxvb2t1cChpbnN0YW5jZSk7XG4gIHJlZ2lzdGVyV2l0aChpbnN0YW5jZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtb3ZlSGVscGVyVG9Ib29rcyhpbnN0YW5jZSwgaGVscGVyTmFtZSwga2VlcEhlbHBlcikge1xuICBpZiAoaW5zdGFuY2UuaGVscGVyc1toZWxwZXJOYW1lXSkge1xuICAgIGluc3RhbmNlLmhvb2tzW2hlbHBlck5hbWVdID0gaW5zdGFuY2UuaGVscGVyc1toZWxwZXJOYW1lXTtcbiAgICBpZiAoIWtlZXBIZWxwZXIpIHtcbiAgICAgIC8vIFVzaW5nIGRlbGV0ZSBpcyBzbG93XG4gICAgICBpbnN0YW5jZS5oZWxwZXJzW2hlbHBlck5hbWVdID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxufVxuIl19\n","'use strict';\n\nexports.__esModule = true;\n\nvar _utils = require('../utils');\n\nexports['default'] = function (instance) {\n instance.registerHelper('blockHelperMissing', function (context, options) {\n var inverse = options.inverse,\n fn = options.fn;\n\n if (context === true) {\n return fn(this);\n } else if (context === false || context == null) {\n return inverse(this);\n } else if (_utils.isArray(context)) {\n if (context.length > 0) {\n if (options.ids) {\n options.ids = [options.name];\n }\n\n return instance.helpers.each(context, options);\n } else {\n return inverse(this);\n }\n } else {\n if (options.data && options.ids) {\n var data = _utils.createFrame(options.data);\n data.contextPath = _utils.appendContextPath(options.data.contextPath, options.name);\n options = { data: data };\n }\n\n return fn(context, options);\n }\n });\n};\n\nmodule.exports = exports['default'];\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2hlbHBlcnMvYmxvY2staGVscGVyLW1pc3NpbmcuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztxQkFBd0QsVUFBVTs7cUJBRW5ELFVBQVMsUUFBUSxFQUFFO0FBQ2hDLFVBQVEsQ0FBQyxjQUFjLENBQUMsb0JBQW9CLEVBQUUsVUFBUyxPQUFPLEVBQUUsT0FBTyxFQUFFO0FBQ3ZFLFFBQUksT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPO1FBQzNCLEVBQUUsR0FBRyxPQUFPLENBQUMsRUFBRSxDQUFDOztBQUVsQixRQUFJLE9BQU8sS0FBSyxJQUFJLEVBQUU7QUFDcEIsYUFBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDakIsTUFBTSxJQUFJLE9BQU8sS0FBSyxLQUFLLElBQUksT0FBTyxJQUFJLElBQUksRUFBRTtBQUMvQyxhQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztLQUN0QixNQUFNLElBQUksZUFBUSxPQUFPLENBQUMsRUFBRTtBQUMzQixVQUFJLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO0FBQ3RCLFlBQUksT0FBTyxDQUFDLEdBQUcsRUFBRTtBQUNmLGlCQUFPLENBQUMsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzlCOztBQUVELGVBQU8sUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO09BQ2hELE1BQU07QUFDTCxlQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztPQUN0QjtLQUNGLE1BQU07QUFDTCxVQUFJLE9BQU8sQ0FBQyxJQUFJLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRTtBQUMvQixZQUFJLElBQUksR0FBRyxtQkFBWSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDckMsWUFBSSxDQUFDLFdBQVcsR0FBRyx5QkFDakIsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQ3hCLE9BQU8sQ0FBQyxJQUFJLENBQ2IsQ0FBQztBQUNGLGVBQU8sR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQztPQUMxQjs7QUFFRCxhQUFPLEVBQUUsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7S0FDN0I7R0FDRixDQUFDLENBQUM7Q0FDSiIsImZpbGUiOiJibG9jay1oZWxwZXItbWlzc2luZy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFwcGVuZENvbnRleHRQYXRoLCBjcmVhdGVGcmFtZSwgaXNBcnJheSB9IGZyb20gJy4uL3V0aWxzJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24oaW5zdGFuY2UpIHtcbiAgaW5zdGFuY2UucmVnaXN0ZXJIZWxwZXIoJ2Jsb2NrSGVscGVyTWlzc2luZycsIGZ1bmN0aW9uKGNvbnRleHQsIG9wdGlvbnMpIHtcbiAgICBsZXQgaW52ZXJzZSA9IG9wdGlvbnMuaW52ZXJzZSxcbiAgICAgIGZuID0gb3B0aW9ucy5mbjtcblxuICAgIGlmIChjb250ZXh0ID09PSB0cnVlKSB7XG4gICAgICByZXR1cm4gZm4odGhpcyk7XG4gICAgfSBlbHNlIGlmIChjb250ZXh0ID09PSBmYWxzZSB8fCBjb250ZXh0ID09IG51bGwpIHtcbiAgICAgIHJldHVybiBpbnZlcnNlKHRoaXMpO1xuICAgIH0gZWxzZSBpZiAoaXNBcnJheShjb250ZXh0KSkge1xuICAgICAgaWYgKGNvbnRleHQubGVuZ3RoID4gMCkge1xuICAgICAgICBpZiAob3B0aW9ucy5pZHMpIHtcbiAgICAgICAgICBvcHRpb25zLmlkcyA9IFtvcHRpb25zLm5hbWVdO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGluc3RhbmNlLmhlbHBlcnMuZWFjaChjb250ZXh0LCBvcHRpb25zKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBpbnZlcnNlKHRoaXMpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAob3B0aW9ucy5kYXRhICYmIG9wdGlvbnMuaWRzKSB7XG4gICAgICAgIGxldCBkYXRhID0gY3JlYXRlRnJhbWUob3B0aW9ucy5kYXRhKTtcbiAgICAgICAgZGF0YS5jb250ZXh0UGF0aCA9IGFwcGVuZENvbnRleHRQYXRoKFxuICAgICAgICAgIG9wdGlvbnMuZGF0YS5jb250ZXh0UGF0aCxcbiAgICAgICAgICBvcHRpb25zLm5hbWVcbiAgICAgICAgKTtcbiAgICAgICAgb3B0aW9ucyA9IHsgZGF0YTogZGF0YSB9O1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gZm4oY29udGV4dCwgb3B0aW9ucyk7XG4gICAgfVxuICB9KTtcbn1cbiJdfQ==\n","'use strict';\n\nexports.__esModule = true;\n// istanbul ignore next\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _utils = require('../utils');\n\nvar _exception = require('../exception');\n\nvar _exception2 = _interopRequireDefault(_exception);\n\nexports['default'] = function (instance) {\n instance.registerHelper('each', function (context, options) {\n if (!options) {\n throw new _exception2['default']('Must pass iterator to #each');\n }\n\n var fn = options.fn,\n inverse = options.inverse,\n i = 0,\n ret = '',\n data = undefined,\n contextPath = undefined;\n\n if (options.data && options.ids) {\n contextPath = _utils.appendContextPath(options.data.contextPath, options.ids[0]) + '.';\n }\n\n if (_utils.isFunction(context)) {\n context = context.call(this);\n }\n\n if (options.data) {\n data = _utils.createFrame(options.data);\n }\n\n function execIteration(field, index, last) {\n if (data) {\n data.key = field;\n data.index = index;\n data.first = index === 0;\n data.last = !!last;\n\n if (contextPath) {\n data.contextPath = contextPath + field;\n }\n }\n\n ret = ret + fn(context[field], {\n data: data,\n blockParams: _utils.blockParams([context[field], field], [contextPath + field, null])\n });\n }\n\n if (context && typeof context === 'object') {\n if (_utils.isArray(context)) {\n for (var j = context.length; i < j; i++) {\n if (i in context) {\n execIteration(i, i, i === context.length - 1);\n }\n }\n } else if (typeof Symbol === 'function' && context[Symbol.iterator]) {\n var newContext = [];\n var iterator = context[Symbol.iterator]();\n for (var it = iterator.next(); !it.done; it = iterator.next()) {\n newContext.push(it.value);\n }\n context = newContext;\n for (var j = context.length; i < j; i++) {\n execIteration(i, i, i === context.length - 1);\n }\n } else {\n (function () {\n var priorKey = undefined;\n\n Object.keys(context).forEach(function (key) {\n // We're running the iterations one step out of sync so we can detect\n // the last iteration without have to scan the object twice and create\n // an itermediate keys array.\n if (priorKey !== undefined) {\n execIteration(priorKey, i - 1);\n }\n priorKey = key;\n i++;\n });\n if (priorKey !== undefined) {\n execIteration(priorKey, i - 1, true);\n }\n })();\n }\n }\n\n if (i === 0) {\n ret = inverse(this);\n }\n\n return ret;\n });\n};\n\nmodule.exports = exports['default'];\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2hlbHBlcnMvZWFjaC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O3FCQU1PLFVBQVU7O3lCQUNLLGNBQWM7Ozs7cUJBRXJCLFVBQVMsUUFBUSxFQUFFO0FBQ2hDLFVBQVEsQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLFVBQVMsT0FBTyxFQUFFLE9BQU8sRUFBRTtBQUN6RCxRQUFJLENBQUMsT0FBTyxFQUFFO0FBQ1osWUFBTSwyQkFBYyw2QkFBNkIsQ0FBQyxDQUFDO0tBQ3BEOztBQUVELFFBQUksRUFBRSxHQUFHLE9BQU8sQ0FBQyxFQUFFO1FBQ2pCLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTztRQUN6QixDQUFDLEdBQUcsQ0FBQztRQUNMLEdBQUcsR0FBRyxFQUFFO1FBQ1IsSUFBSSxZQUFBO1FBQ0osV0FBVyxZQUFBLENBQUM7O0FBRWQsUUFBSSxPQUFPLENBQUMsSUFBSSxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUU7QUFDL0IsaUJBQVcsR0FDVCx5QkFBa0IsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQztLQUNyRTs7QUFFRCxRQUFJLGtCQUFXLE9BQU8sQ0FBQyxFQUFFO0FBQ3ZCLGFBQU8sR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQzlCOztBQUVELFFBQUksT0FBTyxDQUFDLElBQUksRUFBRTtBQUNoQixVQUFJLEdBQUcsbUJBQVksT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQ2xDOztBQUVELGFBQVMsYUFBYSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO0FBQ3pDLFVBQUksSUFBSSxFQUFFO0FBQ1IsWUFBSSxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUM7QUFDakIsWUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7QUFDbkIsWUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLEtBQUssQ0FBQyxDQUFDO0FBQ3pCLFlBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQzs7QUFFbkIsWUFBSSxXQUFXLEVBQUU7QUFDZixjQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsR0FBRyxLQUFLLENBQUM7U0FDeEM7T0FDRjs7QUFFRCxTQUFHLEdBQ0QsR0FBRyxHQUNILEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7QUFDakIsWUFBSSxFQUFFLElBQUk7QUFDVixtQkFBVyxFQUFFLG1CQUNYLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUN2QixDQUFDLFdBQVcsR0FBRyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQzVCO09BQ0YsQ0FBQyxDQUFDO0tBQ047O0FBRUQsUUFBSSxPQUFPLElBQUksT0FBTyxPQUFPLEtBQUssUUFBUSxFQUFFO0FBQzFDLFVBQUksZUFBUSxPQUFPLENBQUMsRUFBRTtBQUNwQixhQUFLLElBQUksQ0FBQyxHQUFHLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtBQUN2QyxjQUFJLENBQUMsSUFBSSxPQUFPLEVBQUU7QUFDaEIseUJBQWEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsS0FBSyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1dBQy9DO1NBQ0Y7T0FDRixNQUFNLElBQUksT0FBTyxNQUFNLEtBQUssVUFBVSxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUU7QUFDbkUsWUFBTSxVQUFVLEdBQUcsRUFBRSxDQUFDO0FBQ3RCLFlBQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztBQUM1QyxhQUFLLElBQUksRUFBRSxHQUFHLFFBQVEsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxHQUFHLFFBQVEsQ0FBQyxJQUFJLEVBQUUsRUFBRTtBQUM3RCxvQkFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDM0I7QUFDRCxlQUFPLEdBQUcsVUFBVSxDQUFDO0FBQ3JCLGFBQUssSUFBSSxDQUFDLEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO0FBQ3ZDLHVCQUFhLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEtBQUssT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztTQUMvQztPQUNGLE1BQU07O0FBQ0wsY0FBSSxRQUFRLFlBQUEsQ0FBQzs7QUFFYixnQkFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBQSxHQUFHLEVBQUk7Ozs7QUFJbEMsZ0JBQUksUUFBUSxLQUFLLFNBQVMsRUFBRTtBQUMxQiwyQkFBYSxDQUFDLFFBQVEsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7YUFDaEM7QUFDRCxvQkFBUSxHQUFHLEdBQUcsQ0FBQztBQUNmLGFBQUMsRUFBRSxDQUFDO1dBQ0wsQ0FBQyxDQUFDO0FBQ0gsY0FBSSxRQUFRLEtBQUssU0FBUyxFQUFFO0FBQzFCLHlCQUFhLENBQUMsUUFBUSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7V0FDdEM7O09BQ0Y7S0FDRjs7QUFFRCxRQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7QUFDWCxTQUFHLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQ3JCOztBQUVELFdBQU8sR0FBRyxDQUFDO0dBQ1osQ0FBQyxDQUFDO0NBQ0oiLCJmaWxlIjoiZWFjaC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGFwcGVuZENvbnRleHRQYXRoLFxuICBibG9ja1BhcmFtcyxcbiAgY3JlYXRlRnJhbWUsXG4gIGlzQXJyYXksXG4gIGlzRnVuY3Rpb25cbn0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IEV4Y2VwdGlvbiBmcm9tICcuLi9leGNlcHRpb24nO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbihpbnN0YW5jZSkge1xuICBpbnN0YW5jZS5yZWdpc3RlckhlbHBlcignZWFjaCcsIGZ1bmN0aW9uKGNvbnRleHQsIG9wdGlvbnMpIHtcbiAgICBpZiAoIW9wdGlvbnMpIHtcbiAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oJ011c3QgcGFzcyBpdGVyYXRvciB0byAjZWFjaCcpO1xuICAgIH1cblxuICAgIGxldCBmbiA9IG9wdGlvbnMuZm4sXG4gICAgICBpbnZlcnNlID0gb3B0aW9ucy5pbnZlcnNlLFxuICAgICAgaSA9IDAsXG4gICAgICByZXQgPSAnJyxcbiAgICAgIGRhdGEsXG4gICAgICBjb250ZXh0UGF0aDtcblxuICAgIGlmIChvcHRpb25zLmRhdGEgJiYgb3B0aW9ucy5pZHMpIHtcbiAgICAgIGNvbnRleHRQYXRoID1cbiAgICAgICAgYXBwZW5kQ29udGV4dFBhdGgob3B0aW9ucy5kYXRhLmNvbnRleHRQYXRoLCBvcHRpb25zLmlkc1swXSkgKyAnLic7XG4gICAgfVxuXG4gICAgaWYgKGlzRnVuY3Rpb24oY29udGV4dCkpIHtcbiAgICAgIGNvbnRleHQgPSBjb250ZXh0LmNhbGwodGhpcyk7XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnMuZGF0YSkge1xuICAgICAgZGF0YSA9IGNyZWF0ZUZyYW1lKG9wdGlvbnMuZGF0YSk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gZXhlY0l0ZXJhdGlvbihmaWVsZCwgaW5kZXgsIGxhc3QpIHtcbiAgICAgIGlmIChkYXRhKSB7XG4gICAgICAgIGRhdGEua2V5ID0gZmllbGQ7XG4gICAgICAgIGRhdGEuaW5kZXggPSBpbmRleDtcbiAgICAgICAgZGF0YS5maXJzdCA9IGluZGV4ID09PSAwO1xuICAgICAgICBkYXRhLmxhc3QgPSAhIWxhc3Q7XG5cbiAgICAgICAgaWYgKGNvbnRleHRQYXRoKSB7XG4gICAgICAgICAgZGF0YS5jb250ZXh0UGF0aCA9IGNvbnRleHRQYXRoICsgZmllbGQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0ID1cbiAgICAgICAgcmV0ICtcbiAgICAgICAgZm4oY29udGV4dFtmaWVsZF0sIHtcbiAgICAgICAgICBkYXRhOiBkYXRhLFxuICAgICAgICAgIGJsb2NrUGFyYW1zOiBibG9ja1BhcmFtcyhcbiAgICAgICAgICAgIFtjb250ZXh0W2ZpZWxkXSwgZmllbGRdLFxuICAgICAgICAgICAgW2NvbnRleHRQYXRoICsgZmllbGQsIG51bGxdXG4gICAgICAgICAgKVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAoY29udGV4dCAmJiB0eXBlb2YgY29udGV4dCA9PT0gJ29iamVjdCcpIHtcbiAgICAgIGlmIChpc0FycmF5KGNvbnRleHQpKSB7XG4gICAgICAgIGZvciAobGV0IGogPSBjb250ZXh0Lmxlbmd0aDsgaSA8IGo7IGkrKykge1xuICAgICAgICAgIGlmIChpIGluIGNvbnRleHQpIHtcbiAgICAgICAgICAgIGV4ZWNJdGVyYXRpb24oaSwgaSwgaSA9PT0gY29udGV4dC5sZW5ndGggLSAxKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIFN5bWJvbCA9PT0gJ2Z1bmN0aW9uJyAmJiBjb250ZXh0W1N5bWJvbC5pdGVyYXRvcl0pIHtcbiAgICAgICAgY29uc3QgbmV3Q29udGV4dCA9IFtdO1xuICAgICAgICBjb25zdCBpdGVyYXRvciA9IGNvbnRleHRbU3ltYm9sLml0ZXJhdG9yXSgpO1xuICAgICAgICBmb3IgKGxldCBpdCA9IGl0ZXJhdG9yLm5leHQoKTsgIWl0LmRvbmU7IGl0ID0gaXRlcmF0b3IubmV4dCgpKSB7XG4gICAgICAgICAgbmV3Q29udGV4dC5wdXNoKGl0LnZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICBjb250ZXh0ID0gbmV3Q29udGV4dDtcbiAgICAgICAgZm9yIChsZXQgaiA9IGNvbnRleHQubGVuZ3RoOyBpIDwgajsgaSsrKSB7XG4gICAgICAgICAgZXhlY0l0ZXJhdGlvbihpLCBpLCBpID09PSBjb250ZXh0Lmxlbmd0aCAtIDEpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBsZXQgcHJpb3JLZXk7XG5cbiAgICAgICAgT2JqZWN0LmtleXMoY29udGV4dCkuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgICAgIC8vIFdlJ3JlIHJ1bm5pbmcgdGhlIGl0ZXJhdGlvbnMgb25lIHN0ZXAgb3V0IG9mIHN5bmMgc28gd2UgY2FuIGRldGVjdFxuICAgICAgICAgIC8vIHRoZSBsYXN0IGl0ZXJhdGlvbiB3aXRob3V0IGhhdmUgdG8gc2NhbiB0aGUgb2JqZWN0IHR3aWNlIGFuZCBjcmVhdGVcbiAgICAgICAgICAvLyBhbiBpdGVybWVkaWF0ZSBrZXlzIGFycmF5LlxuICAgICAgICAgIGlmIChwcmlvcktleSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBleGVjSXRlcmF0aW9uKHByaW9yS2V5LCBpIC0gMSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHByaW9yS2V5ID0ga2V5O1xuICAgICAgICAgIGkrKztcbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChwcmlvcktleSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgZXhlY0l0ZXJhdGlvbihwcmlvcktleSwgaSAtIDEsIHRydWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGkgPT09IDApIHtcbiAgICAgIHJldCA9IGludmVyc2UodGhpcyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJldDtcbiAgfSk7XG59XG4iXX0=\n","'use strict';\n\nexports.__esModule = true;\n// istanbul ignore next\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _exception = require('../exception');\n\nvar _exception2 = _interopRequireDefault(_exception);\n\nexports['default'] = function (instance) {\n instance.registerHelper('helperMissing', function () /* [args, ]options */{\n if (arguments.length === 1) {\n // A missing field in a {{foo}} construct.\n return undefined;\n } else {\n // Someone is actually trying to call something, blow up.\n throw new _exception2['default']('Missing helper: \"' + arguments[arguments.length - 1].name + '\"');\n }\n });\n};\n\nmodule.exports = exports['default'];\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2hlbHBlcnMvaGVscGVyLW1pc3NpbmcuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozt5QkFBc0IsY0FBYzs7OztxQkFFckIsVUFBUyxRQUFRLEVBQUU7QUFDaEMsVUFBUSxDQUFDLGNBQWMsQ0FBQyxlQUFlLEVBQUUsaUNBQWdDO0FBQ3ZFLFFBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7O0FBRTFCLGFBQU8sU0FBUyxDQUFDO0tBQ2xCLE1BQU07O0FBRUwsWUFBTSwyQkFDSixtQkFBbUIsR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUNqRSxDQUFDO0tBQ0g7R0FDRixDQUFDLENBQUM7Q0FDSiIsImZpbGUiOiJoZWxwZXItbWlzc2luZy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBFeGNlcHRpb24gZnJvbSAnLi4vZXhjZXB0aW9uJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24oaW5zdGFuY2UpIHtcbiAgaW5zdGFuY2UucmVnaXN0ZXJIZWxwZXIoJ2hlbHBlck1pc3NpbmcnLCBmdW5jdGlvbigvKiBbYXJncywgXW9wdGlvbnMgKi8pIHtcbiAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgLy8gQSBtaXNzaW5nIGZpZWxkIGluIGEge3tmb299fSBjb25zdHJ1Y3QuXG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBTb21lb25lIGlzIGFjdHVhbGx5IHRyeWluZyB0byBjYWxsIHNvbWV0aGluZywgYmxvdyB1cC5cbiAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oXG4gICAgICAgICdNaXNzaW5nIGhlbHBlcjogXCInICsgYXJndW1lbnRzW2FyZ3VtZW50cy5sZW5ndGggLSAxXS5uYW1lICsgJ1wiJ1xuICAgICAgKTtcbiAgICB9XG4gIH0pO1xufVxuIl19\n","'use strict';\n\nexports.__esModule = true;\n// istanbul ignore next\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _utils = require('../utils');\n\nvar _exception = require('../exception');\n\nvar _exception2 = _interopRequireDefault(_exception);\n\nexports['default'] = function (instance) {\n instance.registerHelper('if', function (conditional, options) {\n if (arguments.length != 2) {\n throw new _exception2['default']('#if requires exactly one argument');\n }\n if (_utils.isFunction(conditional)) {\n conditional = conditional.call(this);\n }\n\n // Default behavior is to render the positive path if the value is truthy and not empty.\n // The `includeZero` option may be set to treat the condtional as purely not empty based on the\n // behavior of isEmpty. Effectively this determines if 0 is handled by the positive path or negative.\n if (!options.hash.includeZero && !conditional || _utils.isEmpty(conditional)) {\n return options.inverse(this);\n } else {\n return options.fn(this);\n }\n });\n\n instance.registerHelper('unless', function (conditional, options) {\n if (arguments.length != 2) {\n throw new _exception2['default']('#unless requires exactly one argument');\n }\n return instance.helpers['if'].call(this, conditional, {\n fn: options.inverse,\n inverse: options.fn,\n hash: options.hash\n });\n });\n};\n\nmodule.exports = exports['default'];\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2hlbHBlcnMvaWYuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztxQkFBb0MsVUFBVTs7eUJBQ3hCLGNBQWM7Ozs7cUJBRXJCLFVBQVMsUUFBUSxFQUFFO0FBQ2hDLFVBQVEsQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLFVBQVMsV0FBVyxFQUFFLE9BQU8sRUFBRTtBQUMzRCxRQUFJLFNBQVMsQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFFO0FBQ3pCLFlBQU0sMkJBQWMsbUNBQW1DLENBQUMsQ0FBQztLQUMxRDtBQUNELFFBQUksa0JBQVcsV0FBVyxDQUFDLEVBQUU7QUFDM0IsaUJBQVcsR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQ3RDOzs7OztBQUtELFFBQUksQUFBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLENBQUMsV0FBVyxJQUFLLGVBQVEsV0FBVyxDQUFDLEVBQUU7QUFDdkUsYUFBTyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQzlCLE1BQU07QUFDTCxhQUFPLE9BQU8sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDekI7R0FDRixDQUFDLENBQUM7O0FBRUgsVUFBUSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsVUFBUyxXQUFXLEVBQUUsT0FBTyxFQUFFO0FBQy9ELFFBQUksU0FBUyxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUU7QUFDekIsWUFBTSwyQkFBYyx1Q0FBdUMsQ0FBQyxDQUFDO0tBQzlEO0FBQ0QsV0FBTyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFO0FBQ3BELFFBQUUsRUFBRSxPQUFPLENBQUMsT0FBTztBQUNuQixhQUFPLEVBQUUsT0FBTyxDQUFDLEVBQUU7QUFDbkIsVUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJO0tBQ25CLENBQUMsQ0FBQztHQUNKLENBQUMsQ0FBQztDQUNKIiwiZmlsZSI6ImlmLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNFbXB0eSwgaXNGdW5jdGlvbiB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCBFeGNlcHRpb24gZnJvbSAnLi4vZXhjZXB0aW9uJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24oaW5zdGFuY2UpIHtcbiAgaW5zdGFuY2UucmVnaXN0ZXJIZWxwZXIoJ2lmJywgZnVuY3Rpb24oY29uZGl0aW9uYWwsIG9wdGlvbnMpIHtcbiAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCAhPSAyKSB7XG4gICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCcjaWYgcmVxdWlyZXMgZXhhY3RseSBvbmUgYXJndW1lbnQnKTtcbiAgICB9XG4gICAgaWYgKGlzRnVuY3Rpb24oY29uZGl0aW9uYWwpKSB7XG4gICAgICBjb25kaXRpb25hbCA9IGNvbmRpdGlvbmFsLmNhbGwodGhpcyk7XG4gICAgfVxuXG4gICAgLy8gRGVmYXVsdCBiZWhhdmlvciBpcyB0byByZW5kZXIgdGhlIHBvc2l0aXZlIHBhdGggaWYgdGhlIHZhbHVlIGlzIHRydXRoeSBhbmQgbm90IGVtcHR5LlxuICAgIC8vIFRoZSBgaW5jbHVkZVplcm9gIG9wdGlvbiBtYXkgYmUgc2V0IHRvIHRyZWF0IHRoZSBjb25kdGlvbmFsIGFzIHB1cmVseSBub3QgZW1wdHkgYmFzZWQgb24gdGhlXG4gICAgLy8gYmVoYXZpb3Igb2YgaXNFbXB0eS4gRWZmZWN0aXZlbHkgdGhpcyBkZXRlcm1pbmVzIGlmIDAgaXMgaGFuZGxlZCBieSB0aGUgcG9zaXRpdmUgcGF0aCBvciBuZWdhdGl2ZS5cbiAgICBpZiAoKCFvcHRpb25zLmhhc2guaW5jbHVkZVplcm8gJiYgIWNvbmRpdGlvbmFsKSB8fCBpc0VtcHR5KGNvbmRpdGlvbmFsKSkge1xuICAgICAgcmV0dXJuIG9wdGlvbnMuaW52ZXJzZSh0aGlzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG9wdGlvbnMuZm4odGhpcyk7XG4gICAgfVxuICB9KTtcblxuICBpbnN0YW5jZS5yZWdpc3RlckhlbHBlcigndW5sZXNzJywgZnVuY3Rpb24oY29uZGl0aW9uYWwsIG9wdGlvbnMpIHtcbiAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCAhPSAyKSB7XG4gICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCcjdW5sZXNzIHJlcXVpcmVzIGV4YWN0bHkgb25lIGFyZ3VtZW50Jyk7XG4gICAgfVxuICAgIHJldHVybiBpbnN0YW5jZS5oZWxwZXJzWydpZiddLmNhbGwodGhpcywgY29uZGl0aW9uYWwsIHtcbiAgICAgIGZuOiBvcHRpb25zLmludmVyc2UsXG4gICAgICBpbnZlcnNlOiBvcHRpb25zLmZuLFxuICAgICAgaGFzaDogb3B0aW9ucy5oYXNoXG4gICAgfSk7XG4gIH0pO1xufVxuIl19\n","'use strict';\n\nexports.__esModule = true;\n\nexports['default'] = function (instance) {\n instance.registerHelper('log', function () /* message, options */{\n var args = [undefined],\n options = arguments[arguments.length - 1];\n for (var i = 0; i < arguments.length - 1; i++) {\n args.push(arguments[i]);\n }\n\n var level = 1;\n if (options.hash.level != null) {\n level = options.hash.level;\n } else if (options.data && options.data.level != null) {\n level = options.data.level;\n }\n args[0] = level;\n\n instance.log.apply(instance, args);\n });\n};\n\nmodule.exports = exports['default'];\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2hlbHBlcnMvbG9nLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7cUJBQWUsVUFBUyxRQUFRLEVBQUU7QUFDaEMsVUFBUSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsa0NBQWlDO0FBQzlELFFBQUksSUFBSSxHQUFHLENBQUMsU0FBUyxDQUFDO1FBQ3BCLE9BQU8sR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztBQUM1QyxTQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7QUFDN0MsVUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUN6Qjs7QUFFRCxRQUFJLEtBQUssR0FBRyxDQUFDLENBQUM7QUFDZCxRQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksRUFBRTtBQUM5QixXQUFLLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7S0FDNUIsTUFBTSxJQUFJLE9BQU8sQ0FBQyxJQUFJLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxFQUFFO0FBQ3JELFdBQUssR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztLQUM1QjtBQUNELFFBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUM7O0FBRWhCLFlBQVEsQ0FBQyxHQUFHLE1BQUEsQ0FBWixRQUFRLEVBQVEsSUFBSSxDQUFDLENBQUM7R0FDdkIsQ0FBQyxDQUFDO0NBQ0oiLCJmaWxlIjoibG9nLmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24oaW5zdGFuY2UpIHtcbiAgaW5zdGFuY2UucmVnaXN0ZXJIZWxwZXIoJ2xvZycsIGZ1bmN0aW9uKC8qIG1lc3NhZ2UsIG9wdGlvbnMgKi8pIHtcbiAgICBsZXQgYXJncyA9IFt1bmRlZmluZWRdLFxuICAgICAgb3B0aW9ucyA9IGFyZ3VtZW50c1thcmd1bWVudHMubGVuZ3RoIC0gMV07XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhcmd1bWVudHMubGVuZ3RoIC0gMTsgaSsrKSB7XG4gICAgICBhcmdzLnB1c2goYXJndW1lbnRzW2ldKTtcbiAgICB9XG5cbiAgICBsZXQgbGV2ZWwgPSAxO1xuICAgIGlmIChvcHRpb25zLmhhc2gubGV2ZWwgIT0gbnVsbCkge1xuICAgICAgbGV2ZWwgPSBvcHRpb25zLmhhc2gubGV2ZWw7XG4gICAgfSBlbHNlIGlmIChvcHRpb25zLmRhdGEgJiYgb3B0aW9ucy5kYXRhLmxldmVsICE9IG51bGwpIHtcbiAgICAgIGxldmVsID0gb3B0aW9ucy5kYXRhLmxldmVsO1xuICAgIH1cbiAgICBhcmdzWzBdID0gbGV2ZWw7XG5cbiAgICBpbnN0YW5jZS5sb2coLi4uYXJncyk7XG4gIH0pO1xufVxuIl19\n","'use strict';\n\nexports.__esModule = true;\n\nexports['default'] = function (instance) {\n instance.registerHelper('lookup', function (obj, field, options) {\n if (!obj) {\n // Note for 5.0: Change to \"obj == null\" in 5.0\n return obj;\n }\n return options.lookupProperty(obj, field);\n });\n};\n\nmodule.exports = exports['default'];\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2hlbHBlcnMvbG9va3VwLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7cUJBQWUsVUFBUyxRQUFRLEVBQUU7QUFDaEMsVUFBUSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsVUFBUyxHQUFHLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRTtBQUM5RCxRQUFJLENBQUMsR0FBRyxFQUFFOztBQUVSLGFBQU8sR0FBRyxDQUFDO0tBQ1o7QUFDRCxXQUFPLE9BQU8sQ0FBQyxjQUFjLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO0dBQzNDLENBQUMsQ0FBQztDQUNKIiwiZmlsZSI6Imxvb2t1cC5qcyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uKGluc3RhbmNlKSB7XG4gIGluc3RhbmNlLnJlZ2lzdGVySGVscGVyKCdsb29rdXAnLCBmdW5jdGlvbihvYmosIGZpZWxkLCBvcHRpb25zKSB7XG4gICAgaWYgKCFvYmopIHtcbiAgICAgIC8vIE5vdGUgZm9yIDUuMDogQ2hhbmdlIHRvIFwib2JqID09IG51bGxcIiBpbiA1LjBcbiAgICAgIHJldHVybiBvYmo7XG4gICAgfVxuICAgIHJldHVybiBvcHRpb25zLmxvb2t1cFByb3BlcnR5KG9iaiwgZmllbGQpO1xuICB9KTtcbn1cbiJdfQ==\n","'use strict';\n\nexports.__esModule = true;\n// istanbul ignore next\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _utils = require('../utils');\n\nvar _exception = require('../exception');\n\nvar _exception2 = _interopRequireDefault(_exception);\n\nexports['default'] = function (instance) {\n instance.registerHelper('with', function (context, options) {\n if (arguments.length != 2) {\n throw new _exception2['default']('#with requires exactly one argument');\n }\n if (_utils.isFunction(context)) {\n context = context.call(this);\n }\n\n var fn = options.fn;\n\n if (!_utils.isEmpty(context)) {\n var data = options.data;\n if (options.data && options.ids) {\n data = _utils.createFrame(options.data);\n data.contextPath = _utils.appendContextPath(options.data.contextPath, options.ids[0]);\n }\n\n return fn(context, {\n data: data,\n blockParams: _utils.blockParams([context], [data && data.contextPath])\n });\n } else {\n return options.inverse(this);\n }\n });\n};\n\nmodule.exports = exports['default'];\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2hlbHBlcnMvd2l0aC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O3FCQU1PLFVBQVU7O3lCQUNLLGNBQWM7Ozs7cUJBRXJCLFVBQVMsUUFBUSxFQUFFO0FBQ2hDLFVBQVEsQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLFVBQVMsT0FBTyxFQUFFLE9BQU8sRUFBRTtBQUN6RCxRQUFJLFNBQVMsQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFFO0FBQ3pCLFlBQU0sMkJBQWMscUNBQXFDLENBQUMsQ0FBQztLQUM1RDtBQUNELFFBQUksa0JBQVcsT0FBTyxDQUFDLEVBQUU7QUFDdkIsYUFBTyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDOUI7O0FBRUQsUUFBSSxFQUFFLEdBQUcsT0FBTyxDQUFDLEVBQUUsQ0FBQzs7QUFFcEIsUUFBSSxDQUFDLGVBQVEsT0FBTyxDQUFDLEVBQUU7QUFDckIsVUFBSSxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQztBQUN4QixVQUFJLE9BQU8sQ0FBQyxJQUFJLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRTtBQUMvQixZQUFJLEdBQUcsbUJBQVksT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ2pDLFlBQUksQ0FBQyxXQUFXLEdBQUcseUJBQ2pCLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUN4QixPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUNmLENBQUM7T0FDSDs7QUFFRCxhQUFPLEVBQUUsQ0FBQyxPQUFPLEVBQUU7QUFDakIsWUFBSSxFQUFFLElBQUk7QUFDVixtQkFBVyxFQUFFLG1CQUFZLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO09BQ2hFLENBQUMsQ0FBQztLQUNKLE1BQU07QUFDTCxhQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDOUI7R0FDRixDQUFDLENBQUM7Q0FDSiIsImZpbGUiOiJ3aXRoLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgYXBwZW5kQ29udGV4dFBhdGgsXG4gIGJsb2NrUGFyYW1zLFxuICBjcmVhdGVGcmFtZSxcbiAgaXNFbXB0eSxcbiAgaXNGdW5jdGlvblxufSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgRXhjZXB0aW9uIGZyb20gJy4uL2V4Y2VwdGlvbic7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uKGluc3RhbmNlKSB7XG4gIGluc3RhbmNlLnJlZ2lzdGVySGVscGVyKCd3aXRoJywgZnVuY3Rpb24oY29udGV4dCwgb3B0aW9ucykge1xuICAgIGlmIChhcmd1bWVudHMubGVuZ3RoICE9IDIpIHtcbiAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oJyN3aXRoIHJlcXVpcmVzIGV4YWN0bHkgb25lIGFyZ3VtZW50Jyk7XG4gICAgfVxuICAgIGlmIChpc0Z1bmN0aW9uKGNvbnRleHQpKSB7XG4gICAgICBjb250ZXh0ID0gY29udGV4dC5jYWxsKHRoaXMpO1xuICAgIH1cblxuICAgIGxldCBmbiA9IG9wdGlvbnMuZm47XG5cbiAgICBpZiAoIWlzRW1wdHkoY29udGV4dCkpIHtcbiAgICAgIGxldCBkYXRhID0gb3B0aW9ucy5kYXRhO1xuICAgICAgaWYgKG9wdGlvbnMuZGF0YSAmJiBvcHRpb25zLmlkcykge1xuICAgICAgICBkYXRhID0gY3JlYXRlRnJhbWUob3B0aW9ucy5kYXRhKTtcbiAgICAgICAgZGF0YS5jb250ZXh0UGF0aCA9IGFwcGVuZENvbnRleHRQYXRoKFxuICAgICAgICAgIG9wdGlvbnMuZGF0YS5jb250ZXh0UGF0aCxcbiAgICAgICAgICBvcHRpb25zLmlkc1swXVxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gZm4oY29udGV4dCwge1xuICAgICAgICBkYXRhOiBkYXRhLFxuICAgICAgICBibG9ja1BhcmFtczogYmxvY2tQYXJhbXMoW2NvbnRleHRdLCBbZGF0YSAmJiBkYXRhLmNvbnRleHRQYXRoXSlcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gb3B0aW9ucy5pbnZlcnNlKHRoaXMpO1xuICAgIH1cbiAgfSk7XG59XG4iXX0=\n","'use strict';\n\nexports.__esModule = true;\nexports.createProtoAccessControl = createProtoAccessControl;\nexports.resultIsAllowed = resultIsAllowed;\nexports.resetLoggedProperties = resetLoggedProperties;\n// istanbul ignore next\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _utils = require('../utils');\n\nvar _logger = require('../logger');\n\nvar _logger2 = _interopRequireDefault(_logger);\n\nvar loggedProperties = Object.create(null);\n\nfunction createProtoAccessControl(runtimeOptions) {\n // Create an object with \"null\"-prototype to avoid truthy results on\n // prototype properties.\n var propertyWhiteList = Object.create(null);\n // eslint-disable-next-line no-proto\n propertyWhiteList['__proto__'] = false;\n _utils.extend(propertyWhiteList, runtimeOptions.allowedProtoProperties);\n\n var methodWhiteList = Object.create(null);\n methodWhiteList['constructor'] = false;\n methodWhiteList['__defineGetter__'] = false;\n methodWhiteList['__defineSetter__'] = false;\n methodWhiteList['__lookupGetter__'] = false;\n methodWhiteList['__lookupSetter__'] = false;\n _utils.extend(methodWhiteList, runtimeOptions.allowedProtoMethods);\n\n return {\n properties: {\n whitelist: propertyWhiteList,\n defaultValue: runtimeOptions.allowProtoPropertiesByDefault\n },\n methods: {\n whitelist: methodWhiteList,\n defaultValue: runtimeOptions.allowProtoMethodsByDefault\n }\n };\n}\n\nfunction resultIsAllowed(result, protoAccessControl, propertyName) {\n if (typeof result === 'function') {\n return checkWhiteList(protoAccessControl.methods, propertyName);\n } else {\n return checkWhiteList(protoAccessControl.properties, propertyName);\n }\n}\n\nfunction checkWhiteList(protoAccessControlForType, propertyName) {\n if (protoAccessControlForType.whitelist[propertyName] !== undefined) {\n return protoAccessControlForType.whitelist[propertyName] === true;\n }\n if (protoAccessControlForType.defaultValue !== undefined) {\n return protoAccessControlForType.defaultValue;\n }\n logUnexpecedPropertyAccessOnce(propertyName);\n return false;\n}\n\nfunction logUnexpecedPropertyAccessOnce(propertyName) {\n if (loggedProperties[propertyName] !== true) {\n loggedProperties[propertyName] = true;\n _logger2['default'].log('error', 'Handlebars: Access has been denied to resolve the property \"' + propertyName + '\" because it is not an \"own property\" of its parent.\\n' + 'You can add a runtime option to disable the check or this warning:\\n' + 'See https://handlebarsjs.com/api-reference/runtime-options.html#options-to-control-prototype-access for details');\n }\n}\n\nfunction resetLoggedProperties() {\n Object.keys(loggedProperties).forEach(function (propertyName) {\n delete loggedProperties[propertyName];\n });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2ludGVybmFsL3Byb3RvLWFjY2Vzcy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O3FCQUF1QixVQUFVOztzQkFDZCxXQUFXOzs7O0FBRTlCLElBQU0sZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQzs7QUFFdEMsU0FBUyx3QkFBd0IsQ0FBQyxjQUFjLEVBQUU7OztBQUd2RCxNQUFNLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7O0FBRTlDLG1CQUFpQixDQUFDLFdBQVcsQ0FBQyxHQUFHLEtBQUssQ0FBQztBQUN2QyxnQkFBTyxpQkFBaUIsRUFBRSxjQUFjLENBQUMsc0JBQXNCLENBQUMsQ0FBQzs7QUFFakUsTUFBTSxlQUFlLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUM1QyxpQkFBZSxDQUFDLGFBQWEsQ0FBQyxHQUFHLEtBQUssQ0FBQztBQUN2QyxpQkFBZSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsS0FBSyxDQUFDO0FBQzVDLGlCQUFlLENBQUMsa0JBQWtCLENBQUMsR0FBRyxLQUFLLENBQUM7QUFDNUMsaUJBQWUsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLEtBQUssQ0FBQztBQUM1QyxpQkFBZSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsS0FBSyxDQUFDO0FBQzVDLGdCQUFPLGVBQWUsRUFBRSxjQUFjLENBQUMsbUJBQW1CLENBQUMsQ0FBQzs7QUFFNUQsU0FBTztBQUNMLGNBQVUsRUFBRTtBQUNWLGVBQVMsRUFBRSxpQkFBaUI7QUFDNUIsa0JBQVksRUFBRSxjQUFjLENBQUMsNkJBQTZCO0tBQzNEO0FBQ0QsV0FBTyxFQUFFO0FBQ1AsZUFBUyxFQUFFLGVBQWU7QUFDMUIsa0JBQVksRUFBRSxjQUFjLENBQUMsMEJBQTBCO0tBQ3hEO0dBQ0YsQ0FBQztDQUNIOztBQUVNLFNBQVMsZUFBZSxDQUFDLE1BQU0sRUFBRSxrQkFBa0IsRUFBRSxZQUFZLEVBQUU7QUFDeEUsTUFBSSxPQUFPLE1BQU0sS0FBSyxVQUFVLEVBQUU7QUFDaEMsV0FBTyxjQUFjLENBQUMsa0JBQWtCLENBQUMsT0FBTyxFQUFFLFlBQVksQ0FBQyxDQUFDO0dBQ2pFLE1BQU07QUFDTCxXQUFPLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLEVBQUUsWUFBWSxDQUFDLENBQUM7R0FDcEU7Q0FDRjs7QUFFRCxTQUFTLGNBQWMsQ0FBQyx5QkFBeUIsRUFBRSxZQUFZLEVBQUU7QUFDL0QsTUFBSSx5QkFBeUIsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLEtBQUssU0FBUyxFQUFFO0FBQ25FLFdBQU8seUJBQXlCLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxLQUFLLElBQUksQ0FBQztHQUNuRTtBQUNELE1BQUkseUJBQXlCLENBQUMsWUFBWSxLQUFLLFNBQVMsRUFBRTtBQUN4RCxXQUFPLHlCQUF5QixDQUFDLFlBQVksQ0FBQztHQUMvQztBQUNELGdDQUE4QixDQUFDLFlBQVksQ0FBQyxDQUFDO0FBQzdDLFNBQU8sS0FBSyxDQUFDO0NBQ2Q7O0FBRUQsU0FBUyw4QkFBOEIsQ0FBQyxZQUFZLEVBQUU7QUFDcEQsTUFBSSxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsS0FBSyxJQUFJLEVBQUU7QUFDM0Msb0JBQWdCLENBQUMsWUFBWSxDQUFDLEdBQUcsSUFBSSxDQUFDO0FBQ3RDLHdCQUFPLEdBQUcsQ0FDUixPQUFPLEVBQ1AsaUVBQStELFlBQVksb0lBQ0gsb0hBQzJDLENBQ3BILENBQUM7R0FDSDtDQUNGOztBQUVNLFNBQVMscUJBQXFCLEdBQUc7QUFDdEMsUUFBTSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFBLFlBQVksRUFBSTtBQUNwRCxXQUFPLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxDQUFDO0dBQ3ZDLENBQUMsQ0FBQztDQUNKIiwiZmlsZSI6InByb3RvLWFjY2Vzcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGV4dGVuZCB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCBsb2dnZXIgZnJvbSAnLi4vbG9nZ2VyJztcblxuY29uc3QgbG9nZ2VkUHJvcGVydGllcyA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVQcm90b0FjY2Vzc0NvbnRyb2wocnVudGltZU9wdGlvbnMpIHtcbiAgLy8gQ3JlYXRlIGFuIG9iamVjdCB3aXRoIFwibnVsbFwiLXByb3RvdHlwZSB0byBhdm9pZCB0cnV0aHkgcmVzdWx0cyBvblxuICAvLyBwcm90b3R5cGUgcHJvcGVydGllcy5cbiAgY29uc3QgcHJvcGVydHlXaGl0ZUxpc3QgPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcHJvdG9cbiAgcHJvcGVydHlXaGl0ZUxpc3RbJ19fcHJvdG9fXyddID0gZmFsc2U7XG4gIGV4dGVuZChwcm9wZXJ0eVdoaXRlTGlzdCwgcnVudGltZU9wdGlvbnMuYWxsb3dlZFByb3RvUHJvcGVydGllcyk7XG5cbiAgY29uc3QgbWV0aG9kV2hpdGVMaXN0ID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiAgbWV0aG9kV2hpdGVMaXN0Wydjb25zdHJ1Y3RvciddID0gZmFsc2U7XG4gIG1ldGhvZFdoaXRlTGlzdFsnX19kZWZpbmVHZXR0ZXJfXyddID0gZmFsc2U7XG4gIG1ldGhvZFdoaXRlTGlzdFsnX19kZWZpbmVTZXR0ZXJfXyddID0gZmFsc2U7XG4gIG1ldGhvZFdoaXRlTGlzdFsnX19sb29rdXBHZXR0ZXJfXyddID0gZmFsc2U7XG4gIG1ldGhvZFdoaXRlTGlzdFsnX19sb29rdXBTZXR0ZXJfXyddID0gZmFsc2U7XG4gIGV4dGVuZChtZXRob2RXaGl0ZUxpc3QsIHJ1bnRpbWVPcHRpb25zLmFsbG93ZWRQcm90b01ldGhvZHMpO1xuXG4gIHJldHVybiB7XG4gICAgcHJvcGVydGllczoge1xuICAgICAgd2hpdGVsaXN0OiBwcm9wZXJ0eVdoaXRlTGlzdCxcbiAgICAgIGRlZmF1bHRWYWx1ZTogcnVudGltZU9wdGlvbnMuYWxsb3dQcm90b1Byb3BlcnRpZXNCeURlZmF1bHRcbiAgICB9LFxuICAgIG1ldGhvZHM6IHtcbiAgICAgIHdoaXRlbGlzdDogbWV0aG9kV2hpdGVMaXN0LFxuICAgICAgZGVmYXVsdFZhbHVlOiBydW50aW1lT3B0aW9ucy5hbGxvd1Byb3RvTWV0aG9kc0J5RGVmYXVsdFxuICAgIH1cbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlc3VsdElzQWxsb3dlZChyZXN1bHQsIHByb3RvQWNjZXNzQ29udHJvbCwgcHJvcGVydHlOYW1lKSB7XG4gIGlmICh0eXBlb2YgcmVzdWx0ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgcmV0dXJuIGNoZWNrV2hpdGVMaXN0KHByb3RvQWNjZXNzQ29udHJvbC5tZXRob2RzLCBwcm9wZXJ0eU5hbWUpO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBjaGVja1doaXRlTGlzdChwcm90b0FjY2Vzc0NvbnRyb2wucHJvcGVydGllcywgcHJvcGVydHlOYW1lKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBjaGVja1doaXRlTGlzdChwcm90b0FjY2Vzc0NvbnRyb2xGb3JUeXBlLCBwcm9wZXJ0eU5hbWUpIHtcbiAgaWYgKHByb3RvQWNjZXNzQ29udHJvbEZvclR5cGUud2hpdGVsaXN0W3Byb3BlcnR5TmFtZV0gIT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiBwcm90b0FjY2Vzc0NvbnRyb2xGb3JUeXBlLndoaXRlbGlzdFtwcm9wZXJ0eU5hbWVdID09PSB0cnVlO1xuICB9XG4gIGlmIChwcm90b0FjY2Vzc0NvbnRyb2xGb3JUeXBlLmRlZmF1bHRWYWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIHByb3RvQWNjZXNzQ29udHJvbEZvclR5cGUuZGVmYXVsdFZhbHVlO1xuICB9XG4gIGxvZ1VuZXhwZWNlZFByb3BlcnR5QWNjZXNzT25jZShwcm9wZXJ0eU5hbWUpO1xuICByZXR1cm4gZmFsc2U7XG59XG5cbmZ1bmN0aW9uIGxvZ1VuZXhwZWNlZFByb3BlcnR5QWNjZXNzT25jZShwcm9wZXJ0eU5hbWUpIHtcbiAgaWYgKGxvZ2dlZFByb3BlcnRpZXNbcHJvcGVydHlOYW1lXSAhPT0gdHJ1ZSkge1xuICAgIGxvZ2dlZFByb3BlcnRpZXNbcHJvcGVydHlOYW1lXSA9IHRydWU7XG4gICAgbG9nZ2VyLmxvZyhcbiAgICAgICdlcnJvcicsXG4gICAgICBgSGFuZGxlYmFyczogQWNjZXNzIGhhcyBiZWVuIGRlbmllZCB0byByZXNvbHZlIHRoZSBwcm9wZXJ0eSBcIiR7cHJvcGVydHlOYW1lfVwiIGJlY2F1c2UgaXQgaXMgbm90IGFuIFwib3duIHByb3BlcnR5XCIgb2YgaXRzIHBhcmVudC5cXG5gICtcbiAgICAgICAgYFlvdSBjYW4gYWRkIGEgcnVudGltZSBvcHRpb24gdG8gZGlzYWJsZSB0aGUgY2hlY2sgb3IgdGhpcyB3YXJuaW5nOlxcbmAgK1xuICAgICAgICBgU2VlIGh0dHBzOi8vaGFuZGxlYmFyc2pzLmNvbS9hcGktcmVmZXJlbmNlL3J1bnRpbWUtb3B0aW9ucy5odG1sI29wdGlvbnMtdG8tY29udHJvbC1wcm90b3R5cGUtYWNjZXNzIGZvciBkZXRhaWxzYFxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlc2V0TG9nZ2VkUHJvcGVydGllcygpIHtcbiAgT2JqZWN0LmtleXMobG9nZ2VkUHJvcGVydGllcykuZm9yRWFjaChwcm9wZXJ0eU5hbWUgPT4ge1xuICAgIGRlbGV0ZSBsb2dnZWRQcm9wZXJ0aWVzW3Byb3BlcnR5TmFtZV07XG4gIH0pO1xufVxuIl19\n","'use strict';\n\nexports.__esModule = true;\nexports.wrapHelper = wrapHelper;\n\nfunction wrapHelper(helper, transformOptionsFn) {\n if (typeof helper !== 'function') {\n // This should not happen, but apparently it does in https://github.com/wycats/handlebars.js/issues/1639\n // We try to make the wrapper least-invasive by not wrapping it, if the helper is not a function.\n return helper;\n }\n var wrapper = function wrapper() /* dynamic arguments */{\n var options = arguments[arguments.length - 1];\n arguments[arguments.length - 1] = transformOptionsFn(options);\n return helper.apply(this, arguments);\n };\n return wrapper;\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2ludGVybmFsL3dyYXBIZWxwZXIuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBTyxTQUFTLFVBQVUsQ0FBQyxNQUFNLEVBQUUsa0JBQWtCLEVBQUU7QUFDckQsTUFBSSxPQUFPLE1BQU0sS0FBSyxVQUFVLEVBQUU7OztBQUdoQyxXQUFPLE1BQU0sQ0FBQztHQUNmO0FBQ0QsTUFBSSxPQUFPLEdBQUcsU0FBVixPQUFPLDBCQUFxQztBQUM5QyxRQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztBQUNoRCxhQUFTLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsR0FBRyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUM5RCxXQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0dBQ3RDLENBQUM7QUFDRixTQUFPLE9BQU8sQ0FBQztDQUNoQiIsImZpbGUiOiJ3cmFwSGVscGVyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIHdyYXBIZWxwZXIoaGVscGVyLCB0cmFuc2Zvcm1PcHRpb25zRm4pIHtcbiAgaWYgKHR5cGVvZiBoZWxwZXIgIT09ICdmdW5jdGlvbicpIHtcbiAgICAvLyBUaGlzIHNob3VsZCBub3QgaGFwcGVuLCBidXQgYXBwYXJlbnRseSBpdCBkb2VzIGluIGh0dHBzOi8vZ2l0aHViLmNvbS93eWNhdHMvaGFuZGxlYmFycy5qcy9pc3N1ZXMvMTYzOVxuICAgIC8vIFdlIHRyeSB0byBtYWtlIHRoZSB3cmFwcGVyIGxlYXN0LWludmFzaXZlIGJ5IG5vdCB3cmFwcGluZyBpdCwgaWYgdGhlIGhlbHBlciBpcyBub3QgYSBmdW5jdGlvbi5cbiAgICByZXR1cm4gaGVscGVyO1xuICB9XG4gIGxldCB3cmFwcGVyID0gZnVuY3Rpb24oLyogZHluYW1pYyBhcmd1bWVudHMgKi8pIHtcbiAgICBjb25zdCBvcHRpb25zID0gYXJndW1lbnRzW2FyZ3VtZW50cy5sZW5ndGggLSAxXTtcbiAgICBhcmd1bWVudHNbYXJndW1lbnRzLmxlbmd0aCAtIDFdID0gdHJhbnNmb3JtT3B0aW9uc0ZuKG9wdGlvbnMpO1xuICAgIHJldHVybiBoZWxwZXIuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgfTtcbiAgcmV0dXJuIHdyYXBwZXI7XG59XG4iXX0=\n","'use strict';\n\nexports.__esModule = true;\n\nvar _utils = require('./utils');\n\nvar logger = {\n methodMap: ['debug', 'info', 'warn', 'error'],\n level: 'info',\n\n // Maps a given level value to the `methodMap` indexes above.\n lookupLevel: function lookupLevel(level) {\n if (typeof level === 'string') {\n var levelMap = _utils.indexOf(logger.methodMap, level.toLowerCase());\n if (levelMap >= 0) {\n level = levelMap;\n } else {\n level = parseInt(level, 10);\n }\n }\n\n return level;\n },\n\n // Can be overridden in the host environment\n log: function log(level) {\n level = logger.lookupLevel(level);\n\n if (typeof console !== 'undefined' && logger.lookupLevel(logger.level) <= level) {\n var method = logger.methodMap[level];\n // eslint-disable-next-line no-console\n if (!console[method]) {\n method = 'log';\n }\n\n for (var _len = arguments.length, message = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n message[_key - 1] = arguments[_key];\n }\n\n console[method].apply(console, message); // eslint-disable-line no-console\n }\n }\n};\n\nexports['default'] = logger;\nmodule.exports = exports['default'];\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2xvZ2dlci5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O3FCQUF3QixTQUFTOztBQUVqQyxJQUFJLE1BQU0sR0FBRztBQUNYLFdBQVMsRUFBRSxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQztBQUM3QyxPQUFLLEVBQUUsTUFBTTs7O0FBR2IsYUFBVyxFQUFFLHFCQUFTLEtBQUssRUFBRTtBQUMzQixRQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRTtBQUM3QixVQUFJLFFBQVEsR0FBRyxlQUFRLE1BQU0sQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7QUFDOUQsVUFBSSxRQUFRLElBQUksQ0FBQyxFQUFFO0FBQ2pCLGFBQUssR0FBRyxRQUFRLENBQUM7T0FDbEIsTUFBTTtBQUNMLGFBQUssR0FBRyxRQUFRLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO09BQzdCO0tBQ0Y7O0FBRUQsV0FBTyxLQUFLLENBQUM7R0FDZDs7O0FBR0QsS0FBRyxFQUFFLGFBQVMsS0FBSyxFQUFjO0FBQy9CLFNBQUssR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDOztBQUVsQyxRQUNFLE9BQU8sT0FBTyxLQUFLLFdBQVcsSUFDOUIsTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxFQUN6QztBQUNBLFVBQUksTUFBTSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7O0FBRXJDLFVBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7QUFDcEIsY0FBTSxHQUFHLEtBQUssQ0FBQztPQUNoQjs7d0NBWG1CLE9BQU87QUFBUCxlQUFPOzs7QUFZM0IsYUFBTyxDQUFDLE1BQU0sT0FBQyxDQUFmLE9BQU8sRUFBWSxPQUFPLENBQUMsQ0FBQztLQUM3QjtHQUNGO0NBQ0YsQ0FBQzs7cUJBRWEsTUFBTSIsImZpbGUiOiJsb2dnZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmRleE9mIH0gZnJvbSAnLi91dGlscyc7XG5cbmxldCBsb2dnZXIgPSB7XG4gIG1ldGhvZE1hcDogWydkZWJ1ZycsICdpbmZvJywgJ3dhcm4nLCAnZXJyb3InXSxcbiAgbGV2ZWw6ICdpbmZvJyxcblxuICAvLyBNYXBzIGEgZ2l2ZW4gbGV2ZWwgdmFsdWUgdG8gdGhlIGBtZXRob2RNYXBgIGluZGV4ZXMgYWJvdmUuXG4gIGxvb2t1cExldmVsOiBmdW5jdGlvbihsZXZlbCkge1xuICAgIGlmICh0eXBlb2YgbGV2ZWwgPT09ICdzdHJpbmcnKSB7XG4gICAgICBsZXQgbGV2ZWxNYXAgPSBpbmRleE9mKGxvZ2dlci5tZXRob2RNYXAsIGxldmVsLnRvTG93ZXJDYXNlKCkpO1xuICAgICAgaWYgKGxldmVsTWFwID49IDApIHtcbiAgICAgICAgbGV2ZWwgPSBsZXZlbE1hcDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxldmVsID0gcGFyc2VJbnQobGV2ZWwsIDEwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gbGV2ZWw7XG4gIH0sXG5cbiAgLy8gQ2FuIGJlIG92ZXJyaWRkZW4gaW4gdGhlIGhvc3QgZW52aXJvbm1lbnRcbiAgbG9nOiBmdW5jdGlvbihsZXZlbCwgLi4ubWVzc2FnZSkge1xuICAgIGxldmVsID0gbG9nZ2VyLmxvb2t1cExldmVsKGxldmVsKTtcblxuICAgIGlmIChcbiAgICAgIHR5cGVvZiBjb25zb2xlICE9PSAndW5kZWZpbmVkJyAmJlxuICAgICAgbG9nZ2VyLmxvb2t1cExldmVsKGxvZ2dlci5sZXZlbCkgPD0gbGV2ZWxcbiAgICApIHtcbiAgICAgIGxldCBtZXRob2QgPSBsb2dnZXIubWV0aG9kTWFwW2xldmVsXTtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgICBpZiAoIWNvbnNvbGVbbWV0aG9kXSkge1xuICAgICAgICBtZXRob2QgPSAnbG9nJztcbiAgICAgIH1cbiAgICAgIGNvbnNvbGVbbWV0aG9kXSguLi5tZXNzYWdlKTsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby1jb25zb2xlXG4gICAgfVxuICB9XG59O1xuXG5leHBvcnQgZGVmYXVsdCBsb2dnZXI7XG4iXX0=\n","/* global globalThis */\n'use strict';\n\nexports.__esModule = true;\n\nexports['default'] = function (Handlebars) {\n /* istanbul ignore next */\n // https://mathiasbynens.be/notes/globalthis\n (function () {\n if (typeof globalThis === 'object') return;\n Object.prototype.__defineGetter__('__magic__', function () {\n return this;\n });\n __magic__.globalThis = __magic__; // eslint-disable-line no-undef\n delete Object.prototype.__magic__;\n })();\n\n var $Handlebars = globalThis.Handlebars;\n\n /* istanbul ignore next */\n Handlebars.noConflict = function () {\n if (globalThis.Handlebars === Handlebars) {\n globalThis.Handlebars = $Handlebars;\n }\n return Handlebars;\n };\n};\n\nmodule.exports = exports['default'];\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL25vLWNvbmZsaWN0LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O3FCQUNlLFVBQVMsVUFBVSxFQUFFOzs7QUFHbEMsR0FBQyxZQUFXO0FBQ1YsUUFBSSxPQUFPLFVBQVUsS0FBSyxRQUFRLEVBQUUsT0FBTztBQUMzQyxVQUFNLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLFdBQVcsRUFBRSxZQUFXO0FBQ3hELGFBQU8sSUFBSSxDQUFDO0tBQ2IsQ0FBQyxDQUFDO0FBQ0gsYUFBUyxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUM7QUFDakMsV0FBTyxNQUFNLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQztHQUNuQyxDQUFBLEVBQUcsQ0FBQzs7QUFFTCxNQUFNLFdBQVcsR0FBRyxVQUFVLENBQUMsVUFBVSxDQUFDOzs7QUFHMUMsWUFBVSxDQUFDLFVBQVUsR0FBRyxZQUFXO0FBQ2pDLFFBQUksVUFBVSxDQUFDLFVBQVUsS0FBSyxVQUFVLEVBQUU7QUFDeEMsZ0JBQVUsQ0FBQyxVQUFVLEdBQUcsV0FBVyxDQUFDO0tBQ3JDO0FBQ0QsV0FBTyxVQUFVLENBQUM7R0FDbkIsQ0FBQztDQUNIIiwiZmlsZSI6Im5vLWNvbmZsaWN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyogZ2xvYmFsIGdsb2JhbFRoaXMgKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uKEhhbmRsZWJhcnMpIHtcbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgLy8gaHR0cHM6Ly9tYXRoaWFzYnluZW5zLmJlL25vdGVzL2dsb2JhbHRoaXNcbiAgKGZ1bmN0aW9uKCkge1xuICAgIGlmICh0eXBlb2YgZ2xvYmFsVGhpcyA9PT0gJ29iamVjdCcpIHJldHVybjtcbiAgICBPYmplY3QucHJvdG90eXBlLl9fZGVmaW5lR2V0dGVyX18oJ19fbWFnaWNfXycsIGZ1bmN0aW9uKCkge1xuICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfSk7XG4gICAgX19tYWdpY19fLmdsb2JhbFRoaXMgPSBfX21hZ2ljX187IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tdW5kZWZcbiAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZS5fX21hZ2ljX187XG4gIH0pKCk7XG5cbiAgY29uc3QgJEhhbmRsZWJhcnMgPSBnbG9iYWxUaGlzLkhhbmRsZWJhcnM7XG5cbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgSGFuZGxlYmFycy5ub0NvbmZsaWN0ID0gZnVuY3Rpb24oKSB7XG4gICAgaWYgKGdsb2JhbFRoaXMuSGFuZGxlYmFycyA9PT0gSGFuZGxlYmFycykge1xuICAgICAgZ2xvYmFsVGhpcy5IYW5kbGViYXJzID0gJEhhbmRsZWJhcnM7XG4gICAgfVxuICAgIHJldHVybiBIYW5kbGViYXJzO1xuICB9O1xufVxuIl19\n","'use strict';\n\nexports.__esModule = true;\nexports.checkRevision = checkRevision;\nexports.template = template;\nexports.wrapProgram = wrapProgram;\nexports.resolvePartial = resolvePartial;\nexports.invokePartial = invokePartial;\nexports.noop = noop;\n// istanbul ignore next\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\n// istanbul ignore next\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }\n\nvar _utils = require('./utils');\n\nvar Utils = _interopRequireWildcard(_utils);\n\nvar _exception = require('./exception');\n\nvar _exception2 = _interopRequireDefault(_exception);\n\nvar _base = require('./base');\n\nvar _helpers = require('./helpers');\n\nvar _internalWrapHelper = require('./internal/wrapHelper');\n\nvar _internalProtoAccess = require('./internal/proto-access');\n\nfunction checkRevision(compilerInfo) {\n var compilerRevision = compilerInfo && compilerInfo[0] || 1,\n currentRevision = _base.COMPILER_REVISION;\n\n if (compilerRevision >= _base.LAST_COMPATIBLE_COMPILER_REVISION && compilerRevision <= _base.COMPILER_REVISION) {\n return;\n }\n\n if (compilerRevision < _base.LAST_COMPATIBLE_COMPILER_REVISION) {\n var runtimeVersions = _base.REVISION_CHANGES[currentRevision],\n compilerVersions = _base.REVISION_CHANGES[compilerRevision];\n throw new _exception2['default']('Template was precompiled with an older version of Handlebars than the current runtime. ' + 'Please update your precompiler to a newer version (' + runtimeVersions + ') or downgrade your runtime to an older version (' + compilerVersions + ').');\n } else {\n // Use the embedded version info since the runtime doesn't know about this revision yet\n throw new _exception2['default']('Template was precompiled with a newer version of Handlebars than the current runtime. ' + 'Please update your runtime to a newer version (' + compilerInfo[1] + ').');\n }\n}\n\nfunction template(templateSpec, env) {\n /* istanbul ignore next */\n if (!env) {\n throw new _exception2['default']('No environment passed to template');\n }\n if (!templateSpec || !templateSpec.main) {\n throw new _exception2['default']('Unknown template object: ' + typeof templateSpec);\n }\n\n templateSpec.main.decorator = templateSpec.main_d;\n\n // Note: Using env.VM references rather than local var references throughout this section to allow\n // for external users to override these as pseudo-supported APIs.\n env.VM.checkRevision(templateSpec.compiler);\n\n // backwards compatibility for precompiled templates with compiler-version 7 (<4.3.0)\n var templateWasPrecompiledWithCompilerV7 = templateSpec.compiler && templateSpec.compiler[0] === 7;\n\n function invokePartialWrapper(partial, context, options) {\n if (options.hash) {\n context = Utils.extend({}, context, options.hash);\n if (options.ids) {\n options.ids[0] = true;\n }\n }\n partial = env.VM.resolvePartial.call(this, partial, context, options);\n\n options.hooks = this.hooks;\n options.protoAccessControl = this.protoAccessControl;\n\n var result = env.VM.invokePartial.call(this, partial, context, options);\n\n if (result == null && env.compile) {\n options.partials[options.name] = env.compile(partial, templateSpec.compilerOptions, env);\n result = options.partials[options.name](context, options);\n }\n if (result != null) {\n if (options.indent) {\n var lines = result.split('\\n');\n for (var i = 0, l = lines.length; i < l; i++) {\n if (!lines[i] && i + 1 === l) {\n break;\n }\n\n lines[i] = options.indent + lines[i];\n }\n result = lines.join('\\n');\n }\n return result;\n } else {\n throw new _exception2['default']('The partial ' + options.name + ' could not be compiled when running in runtime-only mode');\n }\n }\n\n // Just add water\n var container = {\n strict: function strict(obj, name, loc) {\n if (!obj || !(name in obj)) {\n throw new _exception2['default']('\"' + name + '\" not defined in ' + obj, {\n loc: loc\n });\n }\n return container.lookupProperty(obj, name);\n },\n lookupProperty: function lookupProperty(parent, propertyName) {\n var result = parent[propertyName];\n if (result == null) {\n return result;\n }\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return result;\n }\n\n if (_internalProtoAccess.resultIsAllowed(result, container.protoAccessControl, propertyName)) {\n return result;\n }\n return undefined;\n },\n lookup: function lookup(depths, name) {\n var len = depths.length;\n for (var i = 0; i < len; i++) {\n var result = depths[i] && container.lookupProperty(depths[i], name);\n if (result != null) {\n return result;\n }\n }\n },\n lambda: function lambda(current, context) {\n return typeof current === 'function' ? current.call(context) : current;\n },\n\n escapeExpression: Utils.escapeExpression,\n invokePartial: invokePartialWrapper,\n\n fn: function fn(i) {\n var ret = templateSpec[i];\n ret.decorator = templateSpec[i + '_d'];\n return ret;\n },\n\n programs: [],\n program: function program(i, data, declaredBlockParams, blockParams, depths) {\n var programWrapper = this.programs[i],\n fn = this.fn(i);\n if (data || depths || blockParams || declaredBlockParams) {\n programWrapper = wrapProgram(this, i, fn, data, declaredBlockParams, blockParams, depths);\n } else if (!programWrapper) {\n programWrapper = this.programs[i] = wrapProgram(this, i, fn);\n }\n return programWrapper;\n },\n\n data: function data(value, depth) {\n while (value && depth--) {\n value = value._parent;\n }\n return value;\n },\n mergeIfNeeded: function mergeIfNeeded(param, common) {\n var obj = param || common;\n\n if (param && common && param !== common) {\n obj = Utils.extend({}, common, param);\n }\n\n return obj;\n },\n // An empty object to use as replacement for null-contexts\n nullContext: Object.seal({}),\n\n noop: env.VM.noop,\n compilerInfo: templateSpec.compiler\n };\n\n function ret(context) {\n var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n var data = options.data;\n\n ret._setup(options);\n if (!options.partial && templateSpec.useData) {\n data = initData(context, data);\n }\n var depths = undefined,\n blockParams = templateSpec.useBlockParams ? [] : undefined;\n if (templateSpec.useDepths) {\n if (options.depths) {\n depths = context != options.depths[0] ? [context].concat(options.depths) : options.depths;\n } else {\n depths = [context];\n }\n }\n\n function main(context /*, options*/) {\n return '' + templateSpec.main(container, context, container.helpers, container.partials, data, blockParams, depths);\n }\n\n main = executeDecorators(templateSpec.main, main, container, options.depths || [], data, blockParams);\n return main(context, options);\n }\n\n ret.isTop = true;\n\n ret._setup = function (options) {\n if (!options.partial) {\n var mergedHelpers = {};\n addHelpers(mergedHelpers, env.helpers, container);\n addHelpers(mergedHelpers, options.helpers, container);\n container.helpers = mergedHelpers;\n\n if (templateSpec.usePartial) {\n // Use mergeIfNeeded here to prevent compiling global partials multiple times\n container.partials = container.mergeIfNeeded(options.partials, env.partials);\n }\n if (templateSpec.usePartial || templateSpec.useDecorators) {\n container.decorators = Utils.extend({}, env.decorators, options.decorators);\n }\n\n container.hooks = {};\n container.protoAccessControl = _internalProtoAccess.createProtoAccessControl(options);\n\n var keepHelperInHelpers = options.allowCallsToHelperMissing || templateWasPrecompiledWithCompilerV7;\n _helpers.moveHelperToHooks(container, 'helperMissing', keepHelperInHelpers);\n _helpers.moveHelperToHooks(container, 'blockHelperMissing', keepHelperInHelpers);\n } else {\n container.protoAccessControl = options.protoAccessControl; // internal option\n container.helpers = options.helpers;\n container.partials = options.partials;\n container.decorators = options.decorators;\n container.hooks = options.hooks;\n }\n };\n\n ret._child = function (i, data, blockParams, depths) {\n if (templateSpec.useBlockParams && !blockParams) {\n throw new _exception2['default']('must pass block params');\n }\n if (templateSpec.useDepths && !depths) {\n throw new _exception2['default']('must pass parent depths');\n }\n\n return wrapProgram(container, i, templateSpec[i], data, 0, blockParams, depths);\n };\n return ret;\n}\n\nfunction wrapProgram(container, i, fn, data, declaredBlockParams, blockParams, depths) {\n function prog(context) {\n var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n var currentDepths = depths;\n if (depths && context != depths[0] && !(context === container.nullContext && depths[0] === null)) {\n currentDepths = [context].concat(depths);\n }\n\n return fn(container, context, container.helpers, container.partials, options.data || data, blockParams && [options.blockParams].concat(blockParams), currentDepths);\n }\n\n prog = executeDecorators(fn, prog, container, depths, data, blockParams);\n\n prog.program = i;\n prog.depth = depths ? depths.length : 0;\n prog.blockParams = declaredBlockParams || 0;\n return prog;\n}\n\n/**\n * This is currently part of the official API, therefore implementation details should not be changed.\n */\n\nfunction resolvePartial(partial, context, options) {\n if (!partial) {\n if (options.name === '@partial-block') {\n partial = lookupOwnProperty(options.data, 'partial-block');\n } else {\n partial = lookupOwnProperty(options.partials, options.name);\n }\n } else if (!partial.call && !options.name) {\n // This is a dynamic partial that returned a string\n options.name = partial;\n partial = lookupOwnProperty(options.partials, partial);\n }\n return partial;\n}\n\nfunction invokePartial(partial, context, options) {\n // Use the current closure context to save the partial-block if this partial\n var currentPartialBlock = lookupOwnProperty(options.data, 'partial-block');\n options.partial = true;\n if (options.ids) {\n options.data.contextPath = options.ids[0] || options.data.contextPath;\n }\n\n var partialBlock = undefined;\n if (options.fn && options.fn !== noop) {\n (function () {\n options.data = _base.createFrame(options.data);\n // Wrapper function to get access to currentPartialBlock from the closure\n var fn = options.fn;\n partialBlock = options.data['partial-block'] = function partialBlockWrapper(context) {\n var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n // Restore the partial-block from the closure for the execution of the block\n // i.e. the part inside the block of the partial call.\n options.data = _base.createFrame(options.data);\n options.data['partial-block'] = currentPartialBlock;\n return fn(context, options);\n };\n if (fn.partials) {\n options.partials = Utils.extend({}, options.partials, fn.partials);\n }\n })();\n }\n\n if (partial === undefined && partialBlock) {\n partial = partialBlock;\n }\n\n if (partial === undefined) {\n throw new _exception2['default']('The partial ' + options.name + ' could not be found');\n } else if (partial instanceof Function) {\n return partial(context, options);\n }\n}\n\nfunction noop() {\n return '';\n}\n\nfunction lookupOwnProperty(obj, name) {\n if (obj && Object.prototype.hasOwnProperty.call(obj, name)) {\n return obj[name];\n }\n}\n\nfunction initData(context, data) {\n if (!data || !('root' in data)) {\n data = data ? _base.createFrame(data) : {};\n data.root = context;\n }\n return data;\n}\n\nfunction executeDecorators(fn, prog, container, depths, data, blockParams) {\n if (fn.decorator) {\n var props = {};\n prog = fn.decorator(prog, props, container, depths && depths[0], data, blockParams, depths);\n Utils.extend(prog, props);\n }\n return prog;\n}\n\nfunction addHelpers(mergedHelpers, helpers, container) {\n if (!helpers) return;\n Object.keys(helpers).forEach(function (helperName) {\n var helper = helpers[helperName];\n mergedHelpers[helperName] = passLookupPropertyOption(helper, container);\n });\n}\n\nfunction passLookupPropertyOption(helper, container) {\n var lookupProperty = container.lookupProperty;\n return _internalWrapHelper.wrapHelper(helper, function (options) {\n options.lookupProperty = lookupProperty;\n return options;\n });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL3J1bnRpbWUuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7cUJBQXVCLFNBQVM7O0lBQXBCLEtBQUs7O3lCQUNLLGFBQWE7Ozs7b0JBTTVCLFFBQVE7O3VCQUNtQixXQUFXOztrQ0FDbEIsdUJBQXVCOzttQ0FJM0MseUJBQXlCOztBQUV6QixTQUFTLGFBQWEsQ0FBQyxZQUFZLEVBQUU7QUFDMUMsTUFBTSxnQkFBZ0IsR0FBRyxBQUFDLFlBQVksSUFBSSxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUssQ0FBQztNQUM3RCxlQUFlLDBCQUFvQixDQUFDOztBQUV0QyxNQUNFLGdCQUFnQiwyQ0FBcUMsSUFDckQsZ0JBQWdCLDJCQUFxQixFQUNyQztBQUNBLFdBQU87R0FDUjs7QUFFRCxNQUFJLGdCQUFnQiwwQ0FBb0MsRUFBRTtBQUN4RCxRQUFNLGVBQWUsR0FBRyx1QkFBaUIsZUFBZSxDQUFDO1FBQ3ZELGdCQUFnQixHQUFHLHVCQUFpQixnQkFBZ0IsQ0FBQyxDQUFDO0FBQ3hELFVBQU0sMkJBQ0oseUZBQXlGLEdBQ3ZGLHFEQUFxRCxHQUNyRCxlQUFlLEdBQ2YsbURBQW1ELEdBQ25ELGdCQUFnQixHQUNoQixJQUFJLENBQ1AsQ0FBQztHQUNILE1BQU07O0FBRUwsVUFBTSwyQkFDSix3RkFBd0YsR0FDdEYsaURBQWlELEdBQ2pELFlBQVksQ0FBQyxDQUFDLENBQUMsR0FDZixJQUFJLENBQ1AsQ0FBQztHQUNIO0NBQ0Y7O0FBRU0sU0FBUyxRQUFRLENBQUMsWUFBWSxFQUFFLEdBQUcsRUFBRTs7QUFFMUMsTUFBSSxDQUFDLEdBQUcsRUFBRTtBQUNSLFVBQU0sMkJBQWMsbUNBQW1DLENBQUMsQ0FBQztHQUMxRDtBQUNELE1BQUksQ0FBQyxZQUFZLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFO0FBQ3ZDLFVBQU0sMkJBQWMsMkJBQTJCLEdBQUcsT0FBTyxZQUFZLENBQUMsQ0FBQztH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QXdCLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0dBQ3pFLENBQUMsQ0FBQztDQUNKOztBQUVELFNBQVMsd0JBQXdCLENBQUMsTUFBTSxFQUFFLFNBQVMsRUFBRTtBQUNuRCxNQUFNLGNBQWMsR0FBRyxTQUFTLENBQUMsY0FBYyxDQUFDO0FBQ2hELFNBQU8sK0JBQVcsTUFBTSxFQUFFLFVBQUEsT0FBTyxFQUFJO0FBQ25DLFdBQU8sQ0FBQyxjQUFjLEdBQUcsY0FBYyxDQUFDO0FBQ3hDLFdBQU8sT0FBTyxDQUFDO0dBQ2hCLENBQUMsQ0FBQztDQUNKIiwiZmlsZSI6InJ1bnRpbWUuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBVdGlscyBmcm9tICcuL3V0aWxzJztcbmltcG9ydCBFeGNlcHRpb24gZnJvbSAnLi9leGNlcHRpb24nO1xuaW1wb3J0IHtcbiAgQ09NUElMRVJfUkVWSVNJT04sXG4gIGNyZWF0ZUZyYW1lLFxuICBMQVNUX0NPTVBBVElCTEVfQ09NUElMRVJfUkVWSVNJT04sXG4gIFJFVklTSU9OX0NIQU5HRVNcbn0gZnJvbSAnLi9iYXNlJztcbmltcG9ydCB7IG1vdmVIZWxwZXJUb0hvb2tzIH0gZnJvbSAnLi9oZWxwZXJzJztcbmltcG9ydCB7IHdyYXBIZWxwZXIgfSBmcm9tICcuL2ludGVybmFsL3dyYXBIZWxwZXInO1xuaW1wb3J0IHtcbiAgY3JlYXRlUHJvdG9BY2Nlc3NDb250cm9sLFxuICByZXN1bHRJc0FsbG93ZWRcbn0gZnJvbSAnLi9pbnRlcm5hbC9wcm90by1hY2Nlc3MnO1xuXG5leHBvcnQgZnVuY3Rpb24gY2hlY2tSZXZpc2lvbihjb21waWxlckluZm8pIHtcbiAgY29uc3QgY29tcGlsZXJSZXZpc2lvbiA9IChjb21waWxlckluZm8gJiYgY29tcGlsZXJJbmZvWzBdKSB8fCAxLFxuICAgIGN1cnJlbnRSZXZpc2lvbiA9IENPTVBJTEVSX1JFVklTSU9OO1xuXG4gIGlmIChcbiAgICBjb21waWxlclJldmlzaW9uID49IExBU1RfQ09NUEFUSUJMRV9DT01QSUxFUl9SRVZJU0lPTiAmJlxuICAgIGNvbXBpbGVyUmV2aXNpb24gPD0gQ09NUElMRVJfUkVWSVNJT05cbiAgKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgaWYgKGNvbXBpbGVyUmV2aXNpb24gPCBMQVNUX0NPTVBBVElCTEVfQ09NUElMRVJfUkVWSVNJT04pIHtcbiAgICBjb25zdCBydW50aW1lVmVyc2lvbnMgPSBSRVZJU0lPTl9DSEFOR0VTW2N1cnJlbnRSZXZpc2lvbl0sXG4gICAgICBjb21waWxlclZlcnNpb25zID0gUkVWSVNJT05fQ0hBTkdFU1tjb21waWxlclJldmlzaW9uXTtcbiAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKFxuICAgICAgJ1RlbXBsYXRlIHdhcyBwcmVjb21waWxlZCB3aXRoIGFuIG9sZGVyIHZlcnNpb24gb2YgSGFuZGxlYmFycyB0aGFuIHRoZSBjdXJyZW50IHJ1bnRpbWUuICcgK1xuICAgICAgICAnUGxlYXNlIHVwZGF0ZSB5b3VyIHByZWNvbXBpbGVyIHRvIGEgbmV3ZXIgdmVyc2lvbiAoJyArXG4gICAgICAgIHJ1bnRpbWVWZXJzaW9ucyArXG4gICAgICAgICcpIG9yIGRvd25ncmFkZSB5b3VyIHJ1bnRpbWUgdG8gYW4gb2xkZXIgdmVyc2lvbiAoJyArXG4gICAgICAgIGNvbXBpbGVyVmVyc2lvbnMgK1xuICAgICAgICAnKS4nXG4gICAgKTtcbiAgfSBlbHNlIHtcbiAgICAvLyBVc2UgdGhlIGVtYmVkZGVkIHZlcnNpb24gaW5mbyBzaW5jZSB0aGUgcnVudGltZSBkb2Vzbid0IGtub3cgYWJvdXQgdGhpcyByZXZpc2lvbiB5ZXRcbiAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKFxuICAgICAgJ1RlbXBsYXRlIHdhcyBwcmVjb21waWxlZCB3aXRoIGEgbmV3ZXIgdmVyc2lvbiBvZiBIYW5kbGViYXJzIHRoYW4gdGhlIGN1cnJlbnQgcnVudGltZS4gJyArXG4gICAgICAgICdQbGVhc2UgdXBkYXRlIHlvdXIgcnVudGltZSB0byBhIG5ld2VyIHZlcnNpb24gKCcgK1xuICAgICAgICBjb21waWxlckluZm9bMV0gK1xuICAgICAgICAnKS4nXG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdGVtcGxhdGUodGVtcGxhdGVTcGVjLCBlbnYpIHtcbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgaWYgKCFlbnYpIHtcbiAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdObyBlbnZpcm9ubWVudCBwYXNzZWQgdG8gdGVtcGxhdGUnKTtcbiAgfVxuICBpZiAoIXRlbXBsYXRlU3BlYyB8fCAhdGVtcGxhdGVTcGVjLm1haW4pIHtcbiAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdVbmtub3duIHRlbXBsYXRlIG9iamVjdDogJyArIHR5cGVvZiB0ZW1wbGF0ZVNwZWMpO1xuICB9XG5cbiAgdGVtcGxhdGVTcGVjLm1haW4uZGVjb3JhdG9yID0gdGVtcGxhdGVTcGVjLm1haW5fZDtcblxuICAvLyBOb3RlOiBVc2luZyBlbnYuVk0gcmVmZXJlbmNlcyByYXRoZXIgdGhhbiBsb2NhbCB2YXIgcmVmZXJlbmNlcyB0aHJvdWdob3V0IHRoaXMgc2VjdGlvbiB0byBhbGxvd1xuICAvLyBmb3IgZXh0ZXJuYWwgdXNlcnMgdG8gb3ZlcnJpZGUgdGhlc2UgYXMgcHNldWRvLXN1cHBvcnRlZCBBUElzLlxuICBlbnYuVk0uY2hlY2tSZXZpc2lvbih0ZW1wbGF0ZVNwZWMuY29tcGlsZXIpO1xuXG4gIC8vIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IGZvciBwcmVjb21waWxlZCB0ZW1wbGF0ZXMgd2l0aCBjb21waWxlci12ZXJzaW9uIDcgKDw0LjMuMClcbiAgY29uc3QgdGVtcGxhdGVXYXNQcmVjb21waWxlZFdpdGhDb21waWxlclY3ID1cbiAgICB0ZW1wbGF0ZVNwZWMuY29tcGlsZXIgJiYgdGVtcGxhdGVTcGVjLmNvbXBpbGVyWzBdID09PSA3O1xuXG4gIGZ1bmN0aW9uIGludm9rZVBhcnRpYWxXcmFwcGVyKHBhcnRpYWwsIGNvbnRleHQsIG9wdGlvbnMpIHtcbiAgICBpZiAob3B0aW9ucy5oYXNoKSB7XG4gICAgICBjb250ZXh0ID0gVXRpbHMuZXh0ZW5kKHt9LCBjb250ZXh0LCBvcHRpb25zLmhhc2gpO1xuICAgICAgaWYgKG9wdGlvbnMuaWRzKSB7XG4gICAgICAgIG9wdGlvbnMuaWRzWzBdID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcGFydGlhbCA9IGVudi5WTS5yZXNvbHZlUGFydGlhbC5jYWxsKHRoaXMsIHBhcnRpYWwsIGNvbnRleHQsIG9wdGlvbnMpO1xuXG4gICAgb3B0aW9ucy5ob29rcyA9IHRoaXMuaG9va3M7XG4gICAgb3B0aW9ucy5wcm90b0FjY2Vzc0NvbnRyb2wgPSB0aGlzLnByb3RvQWNjZXNzQ29udHJvbDtcblxuICAgIGxldCByZXN1bHQgPSBlbnYuVk0uaW52b2tlUGFydGlhbC5jYWxsKHRoaXMsIHBhcnRpYWwsIGNvbnRleHQsIG9wdGlvbnMpO1xuXG4gICAgaWYgKHJlc3VsdCA9PSBudWxsICYmIGVudi5jb21waWxlKSB7XG4gICAgICBvcHRpb25zLnBhcnRpYWxzW29wdGlvbnMubmFtZV0gPSBlbnYuY29tcGlsZShcbiAgICAgICAgcGFydGlhbCxcbiAgICAgICAgdGVtcGxhdGVTcGVjLmNvbXBpbGVyT3B0aW9ucyxcbiAgICAgICAgZW52XG4gICAgICApO1xuICAgICAgcmVzdWx0ID0gb3B0aW9ucy5wYXJ0aWFsc1tvcHRpb25zLm5hbWVdKGNvbnRleHQsIG9wdGlvbnMpO1xuICAgIH1cbiAgICBpZiAocmVzdWx0ICE9IG51bGwpIHtcbiAgICAgIGlmIChvcHRpb25zLmluZGVudCkge1xuICAgICAgICBsZXQgbGluZXMgPSByZXN1bHQuc3BsaXQoJ1xcbicpO1xuICAgICAgICBmb3IgKGxldCBpID0gMCwgbCA9IGxpbmVzLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgICAgICAgIGlmICghbGluZXNbaV0gJiYgaSArIDEgPT09IGwpIHtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGxpbmVzW2ldID0gb3B0aW9ucy5pbmRlbnQgKyBsaW5lc1tpXTtcbiAgICAgICAgfVxuICAgICAgICByZXN1bHQgPSBsaW5lcy5qb2luKCdcXG4nKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oXG4gICAgICAgICdUaGUgcGFydGlhbCAnICtcbiAgICAgICAgICBvcHRpb25zLm5hbWUgK1xuICAgICAgICAgICcgY291bGQgbm90IGJlIGNvbXBpbGVkIHdoZW4gcnVubmluZyBpbiBydW50aW1lLW9ubHkgbW9kZSdcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgLy8gSnVzdCBhZGQgd2F0ZXJcbiAgbGV0IGNvbnRhaW5lciA9IHtcbiAgICBzdHJpY3Q6IGZ1bmN0aW9uKG9iaiwgbmFtZSwgbG9jKSB7XG4gICAgICBpZiAoIW9iaiB8fCAhKG5hbWUgaW4gb2JqKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdcIicgKyBuYW1lICsgJ1wiIG5vdCBkZWZpbmVkIGluICcgKyBvYmosIHtcbiAgICAgICAgICBsb2M6IGxvY1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBjb250YWluZXIubG9va3VwUHJvcGVydHkob2JqLCBuYW1lKTtcbiAgICB9LFxuICAgIGxvb2t1cFByb3BlcnR5OiBmdW5jdGlvbihwYXJlbnQsIHByb3BlcnR5TmFtZSkge1xuICAgICAgbGV0IHJlc3VsdCA9IHBhcmVudFtwcm9wZXJ0eU5hbWVdO1xuICAgICAgaWYgKHJlc3VsdCA9PSBudWxsKSB7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICB9XG4gICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHBhcmVudCwgcHJvcGVydHlOYW1lKSkge1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgfVxuXG4gICAgICBpZiAocmVzdWx0SXNBbGxvd2VkKHJlc3VsdCwgY29udGFpbmVyLnByb3RvQWNjZXNzQ29udHJvbCwgcHJvcGVydHlOYW1lKSkge1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgfVxuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9LFxuICAgIGxvb2t1cDogZnVuY3Rpb24oZGVwdGhzLCBuYW1lKSB7XG4gICAgICBjb25zdCBsZW4gPSBkZXB0aHMubGVuZ3RoO1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW47IGkrKykge1xuICAgICAgICBsZXQgcmVzdWx0ID0gZGVwdGhzW2ldICYmIGNvbnRhaW5lci5sb29rdXBQcm9wZXJ0eShkZXB0aHNbaV0sIG5hbWUpO1xuICAgICAgICBpZiAocmVzdWx0ICE9IG51bGwpIHtcbiAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcbiAgICBsYW1iZGE6IGZ1bmN0aW9uKGN1cnJlbnQsIGNvbnRleHQpIHtcbiAgICAgIHJldHVybiB0eXBlb2YgY3VycmVudCA9PT0gJ2Z1bmN0aW9uJyA/IGN1cnJlbnQuY2FsbChjb250ZXh0KSA6IGN1cnJlbnQ7XG4gICAgfSxcblxuICAgIGVzY2FwZUV4cHJlc3Npb246IFV0aWxzLmVzY2FwZUV4cHJlc3Npb24sXG4gICAgaW52b2tlUGFydGlhbDogaW52b2tlUGFydGlhbFdyYXBwZXIsXG5cbiAgICBmbjogZnVuY3Rpb24oaSkge1xuICAgICAgbGV0IHJldCA9IHRlbXBsYXRlU3BlY1tpXTtcbiAgICAgIHJldC5kZWNvcmF0b3IgPSB0ZW1wbGF0ZVNwZWNbaSArICdfZCddO1xuICAgICAgcmV0dXJuIHJldDtcbiAgICB9LFxuXG4gICAgcHJvZ3JhbXM6IFtdLFxuICAgIHByb2dyYW06IGZ1bmN0aW9uKGksIGRhdGEsIGRlY2xhcmVkQmxvY2tQYXJhbXMsIGJsb2NrUGFyYW1zLCBkZXB0aHMpIHtcbiAgICAgIGxldCBwcm9ncmFtV3JhcHBlciA9IHRoaXMucHJvZ3JhbXNbaV0sXG4gICAgICAgIGZuID0gdGhpcy5mbihpKTtcbiAgICAgIGlmIChkYXRhIHx8IGRlcHRocyB8fCBibG9ja1BhcmFtcyB8fCBkZWNsYXJlZEJsb2NrUGFyYW1zKSB7XG4gICAgICAgIHByb2dyYW1XcmFwcGVyID0gd3JhcFByb2dyYW0oXG4gICAgICAgICAgdGhpcyxcbiAgICAgICAgICBpLFxuICAgICAgICAgIGZuLFxuICAgICAgICAgIGRhdGEsXG4gICAgICAgICAgZGVjbGFyZWRCbG9ja1BhcmFtcyxcbiAgICAgICAgICBibG9ja1BhcmFtcyxcbiAgICAgICAgICBkZXB0aHNcbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSBpZiAoIXByb2dyYW1XcmFwcGVyKSB7XG4gICAgICAgIHByb2dyYW1XcmFwcGVyID0gdGhpcy5wcm9ncmFtc1tpXSA9IHdyYXBQcm9ncmFtKHRoaXMsIGksIGZuKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBwcm9ncmFtV3JhcHBlcjtcbiAgICB9LFxuXG4gICAgZGF0YTogZnVuY3Rpb24odmFsdWUsIGRlcHRoKSB7XG4gICAgICB3aGlsZSAodmFsdWUgJiYgZGVwdGgtLSkge1xuICAgICAgICB2YWx1ZSA9IHZhbHVlLl9wYXJlbnQ7XG4gICAgICB9XG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfSxcbiAgICBtZXJnZUlmTmVlZGVkOiBmdW5jdGlvbihwYXJhbSwgY29tbW9uKSB7XG4gICAgICBsZXQgb2JqID0gcGFyYW0gfHwgY29tbW9uO1xuXG4gICAgICBpZiAocGFyYW0gJiYgY29tbW9uICYmIHBhcmFtICE9PSBjb21tb24pIHtcbiAgICAgICAgb2JqID0gVXRpbHMuZXh0ZW5kKHt9LCBjb21tb24sIHBhcmFtKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG9iajtcbiAgICB9LFxuICAgIC8vIEFuIGVtcHR5IG9iamVjdCB0byB1c2UgYXMgcmVwbGFjZW1lbnQgZm9yIG51bGwtY29udGV4dHNcbiAgICBudWxsQ29udGV4dDogT2JqZWN0LnNlYWwoe30pLFxuXG4gICAgbm9vcDogZW52LlZNLm5vb3AsXG4gICAgY29tcGlsZXJJbmZvOiB0ZW1wbGF0ZVNwZWMuY29tcGlsZXJcbiAgfTtcblxuICBmdW5jdGlvbiByZXQoY29udGV4dCwgb3B0aW9ucyA9IHt9KSB7XG4gICAgbGV0IGRhdGEgPSBvcHRpb25zLmRhdGE7XG5cbiAgICByZXQuX3NldHVwKG9wdGlvbnMpO1xuICAgIGlmICghb3B0aW9ucy5wYXJ0aWFsICYmIHRlbXBsYXRlU3BlYy51c2VEYXRhKSB7XG4gICAgICBkYXRhID0gaW5pdERhdGEoY29udGV4dCwgZGF0YSk7XG4gICAgfVxuICAgIGxldCBkZXB0aHMsXG4gICAgICBibG9ja1BhcmFtcyA9IHRlbXBsYXRlU3BlYy51c2VCbG9ja1BhcmFtcyA/IFtdIDogdW5kZWZpbmVkO1xuICAgIGlmICh0ZW1wbGF0ZVNwZWMudXNlRGVwdGhzKSB7XG4gICAgICBpZiAob3B0aW9ucy5kZXB0aHMpIHtcbiAgICAgICAgZGVwdGhzID1cbiAgICAgICAgICBjb250ZXh0ICE9IG9wdGlvbnMuZGVwdGhzWzBdXG4gICAgICAgICAgICA/IFtjb250ZXh0XS5jb25jYXQob3B0aW9ucy5kZXB0aHMpXG4gICAgICAgICAgICA6IG9wdGlvbnMuZGVwdGhzO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZGVwdGhzID0gW2NvbnRleHRdO1xuICAgICAgfVxuICAgIH1cblxuICAgIGZ1bmN0aW9uIG1haW4oY29udGV4dCAvKiwgb3B0aW9ucyovKSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICAnJyArXG4gICAgICAgIHRlbXBsYXRlU3BlYy5tYWluKFxuICAgICAgICAgIGNvbnRhaW5lcixcbiAgICAgICAgICBjb250ZXh0LFxuICAgICAgICAgIGNvbnRhaW5lci5oZWxwZXJzLFxuICAgICAgICAgIGNvbnRhaW5lci5wYXJ0aWFscyxcbiAgICAgICAgICBkYXRhLFxuICAgICAgICAgIGJsb2NrUGFyYW1zLFxuICAgICAgICAgIGRlcHRoc1xuICAgICAgICApXG4gICAgICApO1xuICAgIH1cblxuICAgIG1haW4gPSBleGVjdXRlRGVjb3JhdG9ycyhcbiAgICAgIHRlbXBsYXRlU3BlYy5tYWluLFxuICAgICAgbWFpbixcbiAgICAgIGNvbnRhaW5lcixcbiAgICAgIG9wdGlvbnMuZGVwdGhzIHx8IFtdLFxuICAgICAgZGF0YSxcbiAgICAgIGJsb2NrUGFyYW1zXG4gICAgKTtcbiAgICByZXR1cm4gbWFpbihjb250ZXh0LCBvcHRpb25zKTtcbiAgfVxuXG4gIHJldC5pc1RvcCA9IHRydWU7XG5cbiAgcmV0Ll9zZXR1cCA9IGZ1bmN0aW9uKG9wdGlvbnMpIHtcbiAgICBpZiAoIW9wdGlvbnMucGFydGlhbCkge1xuICAgICAgbGV0IG1lcmdlZEhlbHBlcnMgPSB7fTtcbiAgICAgIGFkZEhlbHBlcnMobWVyZ2VkSGVscGVycywgZW52LmhlbHBlcnMsIGNvbnRhaW5lcik7XG4gICAgICBhZGRIZWxwZXJzKG1lcmdlZEhlbHBlcnMsIG9wdGlvbnMuaGVscGVycywgY29udGFpbmVyKTtcbiAgICAgIGNvbnRhaW5lci5oZWxwZXJzID0gbWVyZ2VkSGVscGVycztcblxuICAgICAgaWYgKHRlbXBsYXRlU3BlYy51c2VQYXJ0aWFsKSB7XG4gICAgICAgIC8vIFVzZSBtZXJnZUlmTmVlZGVkIGhlcmUgdG8gcHJldmVudCBjb21waWxpbmcgZ2xvYmFsIHBhcnRpYWxzIG11bHRpcGxlIHRpbWVzXG4gICAgICAgIGNvbnRhaW5lci5wYXJ0aWFscyA9IGNvbnRhaW5lci5tZXJnZUlmTmVlZGVkKFxuICAgICAgICAgIG9wdGlvbnMucGFydGlhbHMsXG4gICAgICAgICAgZW52LnBhcnRpYWxzXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICBpZiAodGVtcGxhdGVTcGVjLnVzZVBhcnRpYWwgfHwgdGVtcGxhdGVTcGVjLnVzZURlY29yYXRvcnMpIHtcbiAgICAgICAgY29udGFpbmVyLmRlY29yYXRvcnMgPSBVdGlscy5leHRlbmQoXG4gICAgICAgICAge30sXG4gICAgICAgICAgZW52LmRlY29yYXRvcnMsXG4gICAgICAgICAgb3B0aW9ucy5kZWNvcmF0b3JzXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIGNvbnRhaW5lci5ob29rcyA9IHt9O1xuICAgICAgY29udGFpbmVyLnByb3RvQWNjZXNzQ29udHJvbCA9IGNyZWF0ZVByb3RvQWNjZXNzQ29udHJvbChvcHRpb25zKTtcblxuICAgICAgbGV0IGtlZXBIZWxwZXJJbkhlbHBlcnMgPVxuICAgICAgICBvcHRpb25zLmFsbG93Q2FsbHNUb0hlbHBlck1pc3NpbmcgfHxcbiAgICAgICAgdGVtcGxhdGVXYXNQcmVjb21waWxlZFdpdGhDb21waWxlclY3O1xuICAgICAgbW92ZUhlbHBlclRvSG9va3MoY29udGFpbmVyLCAnaGVscGVyTWlzc2luZycsIGtlZXBIZWxwZXJJbkhlbHBlcnMpO1xuICAgICAgbW92ZUhlbHBlclRvSG9va3MoY29udGFpbmVyLCAnYmxvY2tIZWxwZXJNaXNzaW5nJywga2VlcEhlbHBlckluSGVscGVycyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnRhaW5lci5wcm90b0FjY2Vzc0NvbnRyb2wgPSBvcHRpb25zLnByb3RvQWNjZXNzQ29udHJvbDsgLy8gaW50ZXJuYWwgb3B0aW9uXG4gICAgICBjb250YWluZXIuaGVscGVycyA9IG9wdGlvbnMuaGVscGVycztcbiAgICAgIGNvbnRhaW5lci5wYXJ0aWFscyA9IG9wdGlvbnMucGFydGlhbHM7XG4gICAgICBjb250YWluZXIuZGVjb3JhdG9ycyA9IG9wdGlvbnMuZGVjb3JhdG9ycztcbiAgICAgIGNvbnRhaW5lci5ob29rcyA9IG9wdGlvbnMuaG9va3M7XG4gICAgfVxuICB9O1xuXG4gIHJldC5fY2hpbGQgPSBmdW5jdGlvbihpLCBkYXRhLCBibG9ja1BhcmFtcywgZGVwdGhzKSB7XG4gICAgaWYgKHRlbXBsYXRlU3BlYy51c2VCbG9ja1BhcmFtcyAmJiAhYmxvY2tQYXJhbXMpIHtcbiAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oJ211c3QgcGFzcyBibG9jayBwYXJhbXMnKTtcbiAgICB9XG4gICAgaWYgKHRlbXBsYXRlU3BlYy51c2VEZXB0aHMgJiYgIWRlcHRocykge1xuICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbignbXVzdCBwYXNzIHBhcmVudCBkZXB0aHMnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gd3JhcFByb2dyYW0oXG4gICAgICBjb250YWluZXIsXG4gICAgICBpLFxuICAgICAgdGVtcGxhdGVTcGVjW2ldLFxuICAgICAgZGF0YSxcbiAgICAgIDAsXG4gICAgICBibG9ja1BhcmFtcyxcbiAgICAgIGRlcHRoc1xuICAgICk7XG4gIH07XG4gIHJldHVybiByZXQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB3cmFwUHJvZ3JhbShcbiAgY29udGFpbmVyLFxuICBpLFxuICBmbixcbiAgZGF0YSxcbiAgZGVjbGFyZWRCbG9ja1BhcmFtcyxcbiAgYmxvY2tQYXJhbXMsXG4gIGRlcHRoc1xuKSB7XG4gIGZ1bmN0aW9uIHByb2coY29udGV4dCwgb3B0aW9ucyA9IHt9KSB7XG4gICAgbGV0IGN1cnJlbnREZXB0aHMgPSBkZXB0aHM7XG4gICAgaWYgKFxuICAgICAgZGVwdGhzICYmXG4gICAgICBjb250ZXh0ICE9IGRlcHRoc1swXSAmJlxuICAgICAgIShjb250ZXh0ID09PSBjb250YWluZXIubnVsbENvbnRleHQgJiYgZGVwdGhzWzBdID09PSBudWxsKVxuICAgICkge1xuICAgICAgY3VycmVudERlcHRocyA9IFtjb250ZXh0XS5jb25jYXQoZGVwdGhzKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZm4oXG4gICAgICBjb250YWluZXIsXG4gICAgICBjb250ZXh0LFxuICAgICAgY29udGFpbmVyLmhlbHBlcnMsXG4gICAgICBjb250YWluZXIucGFydGlhbHMsXG4gICAgICBvcHRpb25zLmRhdGEgfHwgZGF0YSxcbiAgICAgIGJsb2NrUGFyYW1zICYmIFtvcHRpb25zLmJsb2NrUGFyYW1zXS5jb25jYXQoYmxvY2tQYXJhbXMpLFxuICAgICAgY3VycmVudERlcHRoc1xuICAgICk7XG4gIH1cblxuICBwcm9nID0gZXhlY3V0ZURlY29yYXRvcnMoZm4sIHByb2csIGNvbnRhaW5lciwgZGVwdGhzLCBkYXRhLCBibG9ja1BhcmFtcyk7XG5cbiAgcHJvZy5wcm9ncmFtID0gaTtcbiAgcHJvZy5kZXB0aCA9IGRlcHRocyA/IGRlcHRocy5sZW5ndGggOiAwO1xuICBwcm9nLmJsb2NrUGFyYW1zID0gZGVjbGFyZWRCbG9ja1BhcmFtcyB8fCAwO1xuICByZXR1cm4gcHJvZztcbn1cblxuLyoqXG4gKiBUaGlzIGlzIGN1cnJlbnRseSBwYXJ0IG9mIHRoZSBvZmZpY2lhbCBBUEksIHRoZXJlZm9yZSBpbXBsZW1lbnRhdGlvbiBkZXRhaWxzIHNob3VsZCBub3QgYmUgY2hhbmdlZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVQYXJ0aWFsKHBhcnRpYWwsIGNvbnRleHQsIG9wdGlvbnMpIHtcbiAgaWYgKCFwYXJ0aWFsKSB7XG4gICAgaWYgKG9wdGlvbnMubmFtZSA9PT0gJ0BwYXJ0aWFsLWJsb2NrJykge1xuICAgICAgcGFydGlhbCA9IGxvb2t1cE93blByb3BlcnR5KG9wdGlvbnMuZGF0YSwgJ3BhcnRpYWwtYmxvY2snKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcGFydGlhbCA9IGxvb2t1cE93blByb3BlcnR5KG9wdGlvbnMucGFydGlhbHMsIG9wdGlvbnMubmFtZSk7XG4gICAgfVxuICB9IGVsc2UgaWYgKCFwYXJ0aWFsLmNhbGwgJiYgIW9wdGlvbnMubmFtZSkge1xuICAgIC8vIFRoaXMgaXMgYSBkeW5hbWljIHBhcnRpYWwgdGhhdCByZXR1cm5lZCBhIHN0cmluZ1xuICAgIG9wdGlvbnMubmFtZSA9IHBhcnRpYWw7XG4gICAgcGFydGlhbCA9IGxvb2t1cE93blByb3BlcnR5KG9wdGlvbnMucGFydGlhbHMsIHBhcnRpYWwpO1xuICB9XG4gIHJldHVybiBwYXJ0aWFsO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW52b2tlUGFydGlhbChwYXJ0aWFsLCBjb250ZXh0LCBvcHRpb25zKSB7XG4gIC8vIFVzZSB0aGUgY3VycmVudCBjbG9zdXJlIGNvbnRleHQgdG8gc2F2ZSB0aGUgcGFydGlhbC1ibG9jayBpZiB0aGlzIHBhcnRpYWxcbiAgY29uc3QgY3VycmVudFBhcnRpYWxCbG9jayA9IGxvb2t1cE93blByb3BlcnR5KG9wdGlvbnMuZGF0YSwgJ3BhcnRpYWwtYmxvY2snKTtcbiAgb3B0aW9ucy5wYXJ0aWFsID0gdHJ1ZTtcbiAgaWYgKG9wdGlvbnMuaWRzKSB7XG4gICAgb3B0aW9ucy5kYXRhLmNvbnRleHRQYXRoID0gb3B0aW9ucy5pZHNbMF0gfHwgb3B0aW9ucy5kYXRhLmNvbnRleHRQYXRoO1xuICB9XG5cbiAgbGV0IHBhcnRpYWxCbG9jaztcbiAgaWYgKG9wdGlvbnMuZm4gJiYgb3B0aW9ucy5mbiAhPT0gbm9vcCkge1xuICAgIG9wdGlvbnMuZGF0YSA9IGNyZWF0ZUZyYW1lKG9wdGlvbnMuZGF0YSk7XG4gICAgLy8gV3JhcHBlciBmdW5jdGlvbiB0byBnZXQgYWNjZXNzIHRvIGN1cnJlbnRQYXJ0aWFsQmxvY2sgZnJvbSB0aGUgY2xvc3VyZVxuICAgIGxldCBmbiA9IG9wdGlvbnMuZm47XG4gICAgcGFydGlhbEJsb2NrID0gb3B0aW9ucy5kYXRhWydwYXJ0aWFsLWJsb2NrJ10gPSBmdW5jdGlvbiBwYXJ0aWFsQmxvY2tXcmFwcGVyKFxuICAgICAgY29udGV4dCxcbiAgICAgIG9wdGlvbnMgPSB7fVxuICAgICkge1xuICAgICAgLy8gUmVzdG9yZSB0aGUgcGFydGlhbC1ibG9jayBmcm9tIHRoZSBjbG9zdXJlIGZvciB0aGUgZXhlY3V0aW9uIG9mIHRoZSBibG9ja1xuICAgICAgLy8gaS5lLiB0aGUgcGFydCBpbnNpZGUgdGhlIGJsb2NrIG9mIHRoZSBwYXJ0aWFsIGNhbGwuXG4gICAgICBvcHRpb25zLmRhdGEgPSBjcmVhdGVGcmFtZShvcHRpb25zLmRhdGEpO1xuICAgICAgb3B0aW9ucy5kYXRhWydwYXJ0aWFsLWJsb2NrJ10gPSBjdXJyZW50UGFydGlhbEJsb2NrO1xuICAgICAgcmV0dXJuIGZuKGNvbnRleHQsIG9wdGlvbnMpO1xuICAgIH07XG4gICAgaWYgKGZuLnBhcnRpYWxzKSB7XG4gICAgICBvcHRpb25zLnBhcnRpYWxzID0gVXRpbHMuZXh0ZW5kKHt9LCBvcHRpb25zLnBhcnRpYWxzLCBmbi5wYXJ0aWFscyk7XG4gICAgfVxuICB9XG5cbiAgaWYgKHBhcnRpYWwgPT09IHVuZGVmaW5lZCAmJiBwYXJ0aWFsQmxvY2spIHtcbiAgICBwYXJ0aWFsID0gcGFydGlhbEJsb2NrO1xuICB9XG5cbiAgaWYgKHBhcnRpYWwgPT09IHVuZGVmaW5lZCkge1xuICAgIHRocm93IG5ldyBFeGNlcHRpb24oJ1RoZSBwYXJ0aWFsICcgKyBvcHRpb25zLm5hbWUgKyAnIGNvdWxkIG5vdCBiZSBmb3VuZCcpO1xuICB9IGVsc2UgaWYgKHBhcnRpYWwgaW5zdGFuY2VvZiBGdW5jdGlvbikge1xuICAgIHJldHVybiBwYXJ0aWFsKGNvbnRleHQsIG9wdGlvbnMpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBub29wKCkge1xuICByZXR1cm4gJyc7XG59XG5cbmZ1bmN0aW9uIGxvb2t1cE93blByb3BlcnR5KG9iaiwgbmFtZSkge1xuICBpZiAob2JqICYmIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmosIG5hbWUpKSB7XG4gICAgcmV0dXJuIG9ialtuYW1lXTtcbiAgfVxufVxuXG5mdW5jdGlvbiBpbml0RGF0YShjb250ZXh0LCBkYXRhKSB7XG4gIGlmICghZGF0YSB8fCAhKCdyb290JyBpbiBkYXRhKSkge1xuICAgIGRhdGEgPSBkYXRhID8gY3JlYXRlRnJhbWUoZGF0YSkgOiB7fTtcbiAgICBkYXRhLnJvb3QgPSBjb250ZXh0O1xuICB9XG4gIHJldHVybiBkYXRhO1xufVxuXG5mdW5jdGlvbiBleGVjdXRlRGVjb3JhdG9ycyhmbiwgcHJvZywgY29udGFpbmVyLCBkZXB0aHMsIGRhdGEsIGJsb2NrUGFyYW1zKSB7XG4gIGlmIChmbi5kZWNvcmF0b3IpIHtcbiAgICBsZXQgcHJvcHMgPSB7fTtcbiAgICBwcm9nID0gZm4uZGVjb3JhdG9yKFxuICAgICAgcHJvZyxcbiAgICAgIHByb3BzLFxuICAgICAgY29udGFpbmVyLFxuICAgICAgZGVwdGhzICYmIGRlcHRoc1swXSxcbiAgICAgIGRhdGEsXG4gICAgICBibG9ja1BhcmFtcyxcbiAgICAgIGRlcHRoc1xuICAgICk7XG4gICAgVXRpbHMuZXh0ZW5kKHByb2csIHByb3BzKTtcbiAgfVxuICByZXR1cm4gcHJvZztcbn1cblxuZnVuY3Rpb24gYWRkSGVscGVycyhtZXJnZWRIZWxwZXJzLCBoZWxwZXJzLCBjb250YWluZXIpIHtcbiAgaWYgKCFoZWxwZXJzKSByZXR1cm47XG4gIE9iamVjdC5rZXlzKGhlbHBlcnMpLmZvckVhY2goaGVscGVyTmFtZSA9PiB7XG4gICAgbGV0IGhlbHBlciA9IGhlbHBlcnNbaGVscGVyTmFtZV07XG4gICAgbWVyZ2VkSGVscGVyc1toZWxwZXJOYW1lXSA9IHBhc3NMb29rdXBQcm9wZXJ0eU9wdGlvbihoZWxwZXIsIGNvbnRhaW5lcik7XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBwYXNzTG9va3VwUHJvcGVydHlPcHRpb24oaGVscGVyLCBjb250YWluZXIpIHtcbiAgY29uc3QgbG9va3VwUHJvcGVydHkgPSBjb250YWluZXIubG9va3VwUHJvcGVydHk7XG4gIHJldHVybiB3cmFwSGVscGVyKGhlbHBlciwgb3B0aW9ucyA9PiB7XG4gICAgb3B0aW9ucy5sb29rdXBQcm9wZXJ0eSA9IGxvb2t1cFByb3BlcnR5O1xuICAgIHJldHVybiBvcHRpb25zO1xuICB9KTtcbn1cbiJdfQ==\n","// Build out our basic SafeString type\n'use strict';\n\nexports.__esModule = true;\nfunction SafeString(string) {\n this.string = string;\n}\n\nSafeString.prototype.toString = SafeString.prototype.toHTML = function () {\n return '' + this.string;\n};\n\nexports['default'] = SafeString;\nmodule.exports = exports['default'];\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL3NhZmUtc3RyaW5nLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFDQSxTQUFTLFVBQVUsQ0FBQyxNQUFNLEVBQUU7QUFDMUIsTUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7Q0FDdEI7O0FBRUQsVUFBVSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsWUFBVztBQUN2RSxTQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO0NBQ3pCLENBQUM7O3FCQUVhLFVBQVUiLCJmaWxlIjoic2FmZS1zdHJpbmcuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBCdWlsZCBvdXQgb3VyIGJhc2ljIFNhZmVTdHJpbmcgdHlwZVxuZnVuY3Rpb24gU2FmZVN0cmluZyhzdHJpbmcpIHtcbiAgdGhpcy5zdHJpbmcgPSBzdHJpbmc7XG59XG5cblNhZmVTdHJpbmcucHJvdG90eXBlLnRvU3RyaW5nID0gU2FmZVN0cmluZy5wcm90b3R5cGUudG9IVE1MID0gZnVuY3Rpb24oKSB7XG4gIHJldHVybiAnJyArIHRoaXMuc3RyaW5nO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgU2FmZVN0cmluZztcbiJdfQ==\n","'use strict';\n\nexports.__esModule = true;\nexports.extend = extend;\nexports.indexOf = indexOf;\nexports.escapeExpression = escapeExpression;\nexports.isEmpty = isEmpty;\nexports.createFrame = createFrame;\nexports.blockParams = blockParams;\nexports.appendContextPath = appendContextPath;\nvar escape = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": ''',\n '`': '`',\n '=': '='\n};\n\nvar badChars = /[&<>\"'`=]/g,\n possible = /[&<>\"'`=]/;\n\nfunction escapeChar(chr) {\n return escape[chr];\n}\n\nfunction extend(obj /* , ...source */) {\n for (var i = 1; i < arguments.length; i++) {\n for (var key in arguments[i]) {\n if (Object.prototype.hasOwnProperty.call(arguments[i], key)) {\n obj[key] = arguments[i][key];\n }\n }\n }\n\n return obj;\n}\n\nvar toString = Object.prototype.toString;\n\nexports.toString = toString;\n// Sourced from lodash\n// https://github.com/bestiejs/lodash/blob/master/LICENSE.txt\n/* eslint-disable func-style */\nvar isFunction = function isFunction(value) {\n return typeof value === 'function';\n};\n// fallback for older versions of Chrome and Safari\n/* istanbul ignore next */\nif (isFunction(/x/)) {\n exports.isFunction = isFunction = function (value) {\n return typeof value === 'function' && toString.call(value) === '[object Function]';\n };\n}\nexports.isFunction = isFunction;\n\n/* eslint-enable func-style */\n\n/* istanbul ignore next */\nvar isArray = Array.isArray || function (value) {\n return value && typeof value === 'object' ? toString.call(value) === '[object Array]' : false;\n};\n\nexports.isArray = isArray;\n// Older IE versions do not directly support indexOf so we must implement our own, sadly.\n\nfunction indexOf(array, value) {\n for (var i = 0, len = array.length; i < len; i++) {\n if (array[i] === value) {\n return i;\n }\n }\n return -1;\n}\n\nfunction escapeExpression(string) {\n if (typeof string !== 'string') {\n // don't escape SafeStrings, since they're already safe\n if (string && string.toHTML) {\n return string.toHTML();\n } else if (string == null) {\n return '';\n } else if (!string) {\n return string + '';\n }\n\n // Force a string conversion as this will be done by the append regardless and\n // the regex test will do this transparently behind the scenes, causing issues if\n // an object's to string has escaped characters in it.\n string = '' + string;\n }\n\n if (!possible.test(string)) {\n return string;\n }\n return string.replace(badChars, escapeChar);\n}\n\nfunction isEmpty(value) {\n if (!value && value !== 0) {\n return true;\n } else if (isArray(value) && value.length === 0) {\n return true;\n } else {\n return false;\n }\n}\n\nfunction createFrame(object) {\n var frame = extend({}, object);\n frame._parent = object;\n return frame;\n}\n\nfunction blockParams(params, ids) {\n params.path = ids;\n return params;\n}\n\nfunction appendContextPath(contextPath, id) {\n return (contextPath ? contextPath + '.' : '') + id;\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL3V0aWxzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBQSxJQUFNLE1BQU0sR0FBRztBQUNiLEtBQUcsRUFBRSxPQUFPO0FBQ1osS0FBRyxFQUFFLE1BQU07QUFDWCxLQUFHLEVBQUUsTUFBTTtBQUNYLEtBQUcsRUFBRSxRQUFRO0FBQ2IsS0FBRyxFQUFFLFFBQVE7QUFDYixLQUFHLEVBQUUsUUFBUTtBQUNiLEtBQUcsRUFBRSxRQUFRO0NBQ2QsQ0FBQzs7QUFFRixJQUFNLFFBQVEsR0FBRyxZQUFZO0lBQzNCLFFBQVEsR0FBRyxXQUFXLENBQUM7O0FBRXpCLFNBQVMsVUFBVSxDQUFDLEdBQUcsRUFBRTtBQUN2QixTQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztDQUNwQjs7QUFFTSxTQUFTLE1BQU0sQ0FBQyxHQUFHLG9CQUFvQjtBQUM1QyxPQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtBQUN6QyxTQUFLLElBQUksR0FBRyxJQUFJLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtBQUM1QixVQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUU7QUFDM0QsV0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztPQUM5QjtLQUNGO0dBQ0Y7O0FBRUQsU0FBTyxHQUFHLENBQUM7Q0FDWjs7QUFFTSxJQUFJLFFBQVEsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQzs7Ozs7O0FBS2hELElBQUksVUFBVSxHQUFHLG9CQUFTLEtBQUssRUFBRTtBQUMvQixTQUFPLE9BQU8sS0FBSyxLQUFLLFVBQVUsQ0FBQztDQUNwQyxDQUFDOzs7QUFHRixJQUFJLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRTtBQUNuQixVQU9PLFVBQVUsR0FQakIsVUFBVSxHQUFHLFVBQVMsS0FBSyxFQUFFO0FBQzNCLFdBQ0UsT0FBTyxLQUFLLEtBQUssVUFBVSxJQUMzQixRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLG1CQUFtQixDQUM1QztHQUNILENBQUM7Q0FDSDtRQUNRLFVBQVUsR0FBVixVQUFVOzs7OztBQUlaLElBQU0sT0FBTyxHQUNsQixLQUFLLENBQUMsT0FBTyxJQUNiLFVBQVMsS0FBSyxFQUFFO0FBQ2QsU0FBTyxLQUFLLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxHQUNyQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLGdCQUFnQixHQUN6QyxLQUFLLENBQUM7Q0FDWCxDQUFDOzs7OztBQUdHLFNBQVMsT0FBTyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUU7QUFDcEMsT0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRTtBQUNoRCxRQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLEVBQUU7QUFDdEIsYUFBTyxDQUFDLENBQUM7S0FDVjtHQUNGO0FBQ0QsU0FBTyxDQUFDLENBQUMsQ0FBQztDQUNYOztBQUVNLFNBQVMsZ0JBQWdCLENBQUMsTUFBTSxFQUFFO0FBQ3ZDLE1BQUksT0FBTyxNQUFNLEtBQUssUUFBUSxFQUFFOztBQUU5QixRQUFJLE1BQU0sSUFBSSxNQUFNLENBQUMsTUFBTSxFQUFFO0FBQzNCLGFBQU8sTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO0tBQ3hCLE1BQU0sSUFBSSxNQUFNLElBQUksSUFBSSxFQUFFO0FBQ3pCLGFBQU8sRUFBRSxDQUFDO0tBQ1gsTUFBTSxJQUFJLENBQUMsTUFBTSxFQUFFO0FBQ2xCLGFBQU8sTUFBTSxHQUFHLEVBQUUsQ0FBQztLQUNwQjs7Ozs7QUFLRCxVQUFNLEdBQUcsRUFBRSxHQUFHLE1BQU0sQ0FBQztHQUN0Qjs7QUFFRCxNQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRTtBQUMxQixXQUFPLE1BQU0sQ0FBQztHQUNmO0FBQ0QsU0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQztDQUM3Qzs7QUFFTSxTQUFTLE9BQU8sQ0FBQyxLQUFLLEVBQUU7QUFDN0IsTUFBSSxDQUFDLEtBQUssSUFBSSxLQUFLLEtBQUssQ0FBQyxFQUFFO0FBQ3pCLFdBQU8sSUFBSSxDQUFDO0dBQ2IsTUFBTSxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtBQUMvQyxXQUFPLElBQUksQ0FBQztHQUNiLE1BQU07QUFDTCxXQUFPLEtBQUssQ0FBQztHQUNkO0NBQ0Y7O0FBRU0sU0FBUyxXQUFXLENBQUMsTUFBTSxFQUFFO0FBQ2xDLE1BQUksS0FBSyxHQUFHLE1BQU0sQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDL0IsT0FBSyxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7QUFDdkIsU0FBTyxLQUFLLENBQUM7Q0FDZDs7QUFFTSxTQUFTLFdBQVcsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFO0FBQ3ZDLFFBQU0sQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDO0FBQ2xCLFNBQU8sTUFBTSxDQUFDO0NBQ2Y7O0FBRU0sU0FBUyxpQkFBaUIsQ0FBQyxXQUFXLEVBQUUsRUFBRSxFQUFFO0FBQ2pELFNBQU8sQ0FBQyxXQUFXLEdBQUcsV0FBVyxHQUFHLEdBQUcsR0FBRyxFQUFFLENBQUEsR0FBSSxFQUFFLENBQUM7Q0FDcEQiLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBlc2NhcGUgPSB7XG4gICcmJzogJyZhbXA7JyxcbiAgJzwnOiAnJmx0OycsXG4gICc+JzogJyZndDsnLFxuICAnXCInOiAnJnF1b3Q7JyxcbiAgXCInXCI6ICcmI3gyNzsnLFxuICAnYCc6ICcmI3g2MDsnLFxuICAnPSc6ICcmI3gzRDsnXG59O1xuXG5jb25zdCBiYWRDaGFycyA9IC9bJjw+XCInYD1dL2csXG4gIHBvc3NpYmxlID0gL1smPD5cIidgPV0vO1xuXG5mdW5jdGlvbiBlc2NhcGVDaGFyKGNocikge1xuICByZXR1cm4gZXNjYXBlW2Nocl07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBleHRlbmQob2JqIC8qICwgLi4uc291cmNlICovKSB7XG4gIGZvciAobGV0IGkgPSAxOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7XG4gICAgZm9yIChsZXQga2V5IGluIGFyZ3VtZW50c1tpXSkge1xuICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChhcmd1bWVudHNbaV0sIGtleSkpIHtcbiAgICAgICAgb2JqW2tleV0gPSBhcmd1bWVudHNbaV1ba2V5XTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gb2JqO1xufVxuXG5leHBvcnQgbGV0IHRvU3RyaW5nID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZztcblxuLy8gU291cmNlZCBmcm9tIGxvZGFzaFxuLy8gaHR0cHM6Ly9naXRodWIuY29tL2Jlc3RpZWpzL2xvZGFzaC9ibG9iL21hc3Rlci9MSUNFTlNFLnR4dFxuLyogZXNsaW50LWRpc2FibGUgZnVuYy1zdHlsZSAqL1xubGV0IGlzRnVuY3Rpb24gPSBmdW5jdGlvbih2YWx1ZSkge1xuICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnZnVuY3Rpb24nO1xufTtcbi8vIGZhbGxiYWNrIGZvciBvbGRlciB2ZXJzaW9ucyBvZiBDaHJvbWUgYW5kIFNhZmFyaVxuLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbmlmIChpc0Z1bmN0aW9uKC94LykpIHtcbiAgaXNGdW5jdGlvbiA9IGZ1bmN0aW9uKHZhbHVlKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIHR5cGVvZiB2YWx1ZSA9PT0gJ2Z1bmN0aW9uJyAmJlxuICAgICAgdG9TdHJpbmcuY2FsbCh2YWx1ZSkgPT09ICdbb2JqZWN0IEZ1bmN0aW9uXSdcbiAgICApO1xuICB9O1xufVxuZXhwb3J0IHsgaXNGdW5jdGlvbiB9O1xuLyogZXNsaW50LWVuYWJsZSBmdW5jLXN0eWxlICovXG5cbi8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG5leHBvcnQgY29uc3QgaXNBcnJheSA9XG4gIEFycmF5LmlzQXJyYXkgfHxcbiAgZnVuY3Rpb24odmFsdWUpIHtcbiAgICByZXR1cm4gdmFsdWUgJiYgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0J1xuICAgICAgPyB0b1N0cmluZy5jYWxsKHZhbHVlKSA9PT0gJ1tvYmplY3QgQXJyYXldJ1xuICAgICAgOiBmYWxzZTtcbiAgfTtcblxuLy8gT2xkZXIgSUUgdmVyc2lvbnMgZG8gbm90IGRpcmVjdGx5IHN1cHBvcnQgaW5kZXhPZiBzbyB3ZSBtdXN0IGltcGxlbWVudCBvdXIgb3duLCBzYWRseS5cbmV4cG9ydCBmdW5jdGlvbiBpbmRleE9mKGFycmF5LCB2YWx1ZSkge1xuICBmb3IgKGxldCBpID0gMCwgbGVuID0gYXJyYXkubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcbiAgICBpZiAoYXJyYXlbaV0gPT09IHZhbHVlKSB7XG4gICAgICByZXR1cm4gaTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIC0xO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZXNjYXBlRXhwcmVzc2lvbihzdHJpbmcpIHtcbiAgaWYgKHR5cGVvZiBzdHJpbmcgIT09ICdzdHJpbmcnKSB7XG4gICAgLy8gZG9uJ3QgZXNjYXBlIFNhZmVTdHJpbmdzLCBzaW5jZSB0aGV5J3JlIGFscmVhZHkgc2FmZVxuICAgIGlmIChzdHJpbmcgJiYgc3RyaW5nLnRvSFRNTCkge1xuICAgICAgcmV0dXJuIHN0cmluZy50b0hUTUwoKTtcbiAgICB9IGVsc2UgaWYgKHN0cmluZyA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfSBlbHNlIGlmICghc3RyaW5nKSB7XG4gICAgICByZXR1cm4gc3RyaW5nICsgJyc7XG4gICAgfVxuXG4gICAgLy8gRm9yY2UgYSBzdHJpbmcgY29udmVyc2lvbiBhcyB0aGlzIHdpbGwgYmUgZG9uZSBieSB0aGUgYXBwZW5kIHJlZ2FyZGxlc3MgYW5kXG4gICAgLy8gdGhlIHJlZ2V4IHRlc3Qgd2lsbCBkbyB0aGlzIHRyYW5zcGFyZW50bHkgYmVoaW5kIHRoZSBzY2VuZXMsIGNhdXNpbmcgaXNzdWVzIGlmXG4gICAgLy8gYW4gb2JqZWN0J3MgdG8gc3RyaW5nIGhhcyBlc2NhcGVkIGNoYXJhY3RlcnMgaW4gaXQuXG4gICAgc3RyaW5nID0gJycgKyBzdHJpbmc7XG4gIH1cblxuICBpZiAoIXBvc3NpYmxlLnRlc3Qoc3RyaW5nKSkge1xuICAgIHJldHVybiBzdHJpbmc7XG4gIH1cbiAgcmV0dXJuIHN0cmluZy5yZXBsYWNlKGJhZENoYXJzLCBlc2NhcGVDaGFyKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzRW1wdHkodmFsdWUpIHtcbiAgaWYgKCF2YWx1ZSAmJiB2YWx1ZSAhPT0gMCkge1xuICAgIHJldHVybiB0cnVlO1xuICB9IGVsc2UgaWYgKGlzQXJyYXkodmFsdWUpICYmIHZhbHVlLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiB0cnVlO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRnJhbWUob2JqZWN0KSB7XG4gIGxldCBmcmFtZSA9IGV4dGVuZCh7fSwgb2JqZWN0KTtcbiAgZnJhbWUuX3BhcmVudCA9IG9iamVjdDtcbiAgcmV0dXJuIGZyYW1lO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYmxvY2tQYXJhbXMocGFyYW1zLCBpZHMpIHtcbiAgcGFyYW1zLnBhdGggPSBpZHM7XG4gIHJldHVybiBwYXJhbXM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhcHBlbmRDb250ZXh0UGF0aChjb250ZXh0UGF0aCwgaWQpIHtcbiAgcmV0dXJuIChjb250ZXh0UGF0aCA/IGNvbnRleHRQYXRoICsgJy4nIDogJycpICsgaWQ7XG59XG4iXX0=\n","// Create a simple path alias to allow browserify to resolve\n// the runtime on a supported path.\nmodule.exports = require('./dist/cjs/handlebars.runtime')['default'];\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\": 27444,\n\t\"./ar-sa.js\": 27444,\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=\" + {\"1140\":\"dd55e1cf2dab9870eea9\",\"2221\":\"5cdd551ed83d9a12c3ed\",\"5448\":\"71cfe268d6f1213c4735\",\"6015\":\"8ac07126adf0759a3464\",\"7859\":\"5bcb1bbacda3204063dd\",\"7910\":\"de857920f8beb5205bbc\",\"8815\":\"0f63c2eb085d7b08be1b\",\"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__(38309)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","inProgress","dataWebpackPrefix","name","components","ArrowRight","NcButton","props","value","type","String","default","t","valueLoading","loading","Boolean","required","invertedColors","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","_vm","this","_c","_self","attrs","on","$event","$emit","scopedSlots","_u","key","fn","staticClass","proxy","_v","_s","computed","userNameInputLengthIs255","user","length","userInputHelperText","LoginButton","NcCheckboxRadioSwitch","NcPasswordField","NcTextField","NcNoteCard","mixins","AuthMixin","username","redirectUrl","errors","Array","messages","throttleDelay","Number","autoCompleteAllowed","remembermeAllowed","directLogin","emailStates","setup","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","ref","_e","_l","message","index","class","staticStyle","shake","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","buffer","bytes","Uint8Array","str","charCode","fromCharCode","btoa","replace","base64URLString","base64","padLength","padded","padEnd","binary","atob","ArrayBuffer","i","charCodeAt","_browserSupportsWebAuthnAutofillInternals","descriptor","id","transports","attachments","attachment","emits","title","fillColor","size","_b","$attrs","getCurrentUser","getLoggerBuilder","setApp","build","setUid","uid","detectUser","NoValidCredentials","defineComponent","InformationIcon","LockOpenIcon","NcEmptyContent","isHttps","isLocalhost","supportsWebauthn","validCredentials","authenticate","loginForm","checkValidity","logger","debug","params","async","loginName","url","Axios","post","allowCredentials","error","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","href","catch","_setupProxy","apply","arguments","resetPasswordLink","axios","status","resetPasswordTarget","encrypted","proceed","encryption","msg","e","directives","rawName","target","composing","isArray","_i","$$a","$$el","$$c","checked","$$i","concat","slice","warning","query","queryString","parse","search","clear","localStorage","sessionStorage","indexedDBList","indexedDB","databases","deleteDatabase","wipeBrowserStorages","LoginForm","PasswordLessLoginForm","ResetPassword","UpdatePassword","passwordlessLogin","resetPassword","canResetPassword","resetPasswordUser","direct","hasPasswordless","countAlternativeLogins","alternativeLogins","protocol","hideLoginForm","passwordResetFinished","alternativeLogin","isAdmin","_oc_isadmin","appConfig","oc_appconfig","dynamicSlideToggleEnabled","Apps","enableDynamicSlideToggle","$el","$","removeClass","show","trigger","hide","addClass","_oc_appswebroots","methodMap","create","update","patch","delete","read","parsePropFindResult","result","davProperties","_","subResult","propStat","properties","propKey","parseIdFromLocation","queryPos","substr","parts","split","pop","isSuccessStatus","callPropPatch","client","headers","propPatch","changedProp","convertModelAttributesToDavProperties","changed","success","toJSON","Backbone","VendorBackbone","assign","davCall","dav","Client","baseUrl","xmlNamespaces","resolveUrl","requesttoken","propFind","depth","propsMapping","results","body","shift","callPropFind","request","callMkCol","responseJson","locationHeader","xhr","getResponseHeader","callMethod","davSync","method","isCollection","Collection","hasInnerCollection","usePUT","collection","urlError","processData","prototype","call","textStatus","errorThrown","context","_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","label","variant","clicked","_getLegacyButtons","confirmHtml","setHTML","prompt","spawnDialog","defineAsyncComponent","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","_fileexistsshown","fileexists","original","replacement","self","dialogDeferred","addConflict","$conflicts","$conflict","find","clone","$originalDiv","$replacementDiv","Util","humanFileSize","formatDate","lastModified","directory","urlSpec","x","y","c","forceIcon","previewpath","Files","generatePreviewUrl","css","FileReader","reader","onload","blob","Blob","URL","webkitURL","originalUrl","createObjectURL","image","Image","src","img","canvas","createElement","width","height","Math","min","getContext","drawImage","W","H","W2","H2","round","getImageData","img2","data2","ratio_w","ratio_h","ratio_w_half","ceil","ratio_h_half","j","x2","weight","weights","weights_alpha","gx_r","gx_g","gx_b","gx_a","center_y","yy","floor","dy","abs","center_x","w0","xx","dx","w","sqrt","clearRect","max","putImageData","resampleHermite","toDataURL","crop","readAsArrayBuffer","reject","getCroppedPreview","MimeType","getIconUrl","checkboxId","attr","append","prop","dialogName","dialogId","count","n","parent","children","_getFileExistsTemplate","$tmpl","$dlg","octemplate","dialog_name","allnewfiles","allexistingfiles","why","what","buttonlist","classes","click","onCancel","ocdialog","onContinue","closeOnEscape","closeButton","close","remove","$primaryButton","closest","updatePrimaryButton","checkedCount","$checkbox","fail","promise","defer","$fileexistsTemplate","filePath","tmpl","getRequestToken","head","dataset","OCEventSource","joinChar","dataStr","typelessListeners","closed","listeners","encodeURIComponent","useFallBack","EventSource","iframeId","iframeCount","fallBackSources","iframe","style","display","appendChild","source","onmessage","bind","listen","fallBackCallBack","done","lastLength","addEventListener","load","loadTranslations","register","_unregister","unregister","translate","translatePlural","Handlebars","app","currentMenu","currentMenuToggle","hideMenus","complete","lastMenu","slideUp","iconCache","Map","mimeType","MimeTypeList","aliases","has","gotIcon","folder","themes","getRootUrl","getMimeTypeIcon","files","OCA","Theming","cacheBuster","set","RegExp","clearIconCache","startSaving","selector","startAction","el","querySelector","HTMLElement","textContent","classList","getAnimations","animation","finishedSaving","finishedAction","finishedSuccess","finishedError","add","setTimeout","animate","opacity","duration","fill","updatableNotification","getDefaultNotificationFunction","setDefault","$row","each","toastify","hideToast","showHtml","html","isHTML","timeout","TOAST_PERMANENT_TIMEOUT","toast","showMessage","toastElement","toString","join","escapeHTML","showUpdate","showTemporary","TOAST_DEFAULT_TIMEOUT","isHidden","requiresPasswordConfirmation","isPasswordConfirmationRequired","requirePasswordConfirmation","rejectCallback","confirmPassword","_plugins","targetName","plugin","plugins","getPlugins","attach","targetObject","detach","_cachedGroups","rebuildNavigation","generateOcsUrl","ocs","meta","statuscode","emit","apps","dispatchEvent","Event","setupGroupsSelect","$elements","extraOptions","dataType","groups","group","excludeAdmins","select2","placeholder","allowClear","multiple","toggleSelect","separator","initSelection","element","val","selection","sort","groupId","formatResult","formatSelection","escapeMarkup","m","Notification","_theme","_handlers","_pushState","strParams","buildQueryString","history","pushState","pathname","userAgent","toLowerCase","parseInt","patterns","pattern","ii","stroke","removeAttribute","setAttribute","replaceState","hash","_cancelPop","addOnPopStateHandler","handler","_parseHashQuery","pos","_decodeQuery","parseUrlQuery","parseQueryString","_onPopState","chunkify","tz","charAt","History","computerFileSize","string","s","trim","matches","match","parseFloat","isFinite","b","k","kb","mb","gb","g","tb","pb","p","timestamp","format","TESTING","moment","relativeModifiedDate","diff","fromNow","getScrollBarWidth","_scrollBarWidth","inner","outer","position","top","left","visibility","overflow","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","coreApps","menuSpeed","PERMISSION_ALL","PERMISSION_CREATE","PERMISSION_DELETE","PERMISSION_NONE","PERMISSION_READ","PERMISSION_SHARE","PERMISSION_UPDATE","TAG_FAVORITE","appswebroots","config","Config","dialogs","isUserAdmin","L10N","registerXHRForErrorProcessing","getCapabilities","realGetCapabilities","registerMenu","$toggle","$menuEl","toggle","headerMenu","isClickableElement","is","slideToggle","showMenu","unregisterMenu","off","encodePath","dirname","isSamePath","joinPaths","getCanonicalLocale","getLocale","URLSearchParams","fromEntries","entries","PasswordConfirmation","Plugins","Settings","generateFilePath","getRootPath","linkTo","linkToOCS","service","version","ocsVersion","linkToRemote","generateRemoteUrl","linkToRemoteBase","realGetRootUrl","subscribe","token","L10n","Vue","mixin","Nextcloud","extend","LoginView","$mount","global","exports","previousBackbone","VERSION","noConflict","emulateHTTP","emulateJSON","_listening","Events","eventSplitter","eventsApi","iteratee","events","opts","names","keys","_events","onApi","ctx","listening","_listeners","interop","listenTo","obj","_listenId","uniqueId","listeningTo","_listeningTo","Listening","tryCatchOn","handlers","offApi","stopListening","ids","isEmpty","remaining","_callback","cleanup","once","onceMap","listenToOnce","offer","triggerApi","objEvents","allEvents","all","triggerEvents","ev","l","a1","a2","a3","listener","unbind","Model","preinitialize","cid","cidPrefix","defaults","initialize","validationError","idAttribute","sync","_validate","unset","silent","changes","changing","_changing","_previousAttributes","current","prev","isEqual","prevId","_pending","hasChanged","changedAttributes","old","previous","previousAttributes","fetch","resp","serverAttrs","wrapError","save","wait","validate","isNew","destroy","base","isValid","models","comparator","_reset","reset","setOptions","merge","addOptions","splice","array","at","tail","singular","removed","_removeModels","added","merged","_isModel","toAdd","toMerge","toRemove","modelMap","sortable","sortAttr","isString","existing","_prepareModel","_addReference","orderChanged","some","_removeReference","previousModels","unshift","_byId","modelId","where","first","findWhere","isFunction","sortBy","pluck","callbackOpts","_forwardPristineError","values","CollectionIterator","ITERATOR_VALUES","ITERATOR_KEYS","ITERATOR_KEYSVALUES","_onModelEvent","$$iterator","Symbol","iterator","kind","_collection","_kind","_index","next","View","viewOptions","_ensureElement","delegateEventSplitter","tagName","render","_removeElement","setElement","undelegateEvents","_setElement","delegateEvents","delegate","eventName","undelegate","_createElement","className","_setAttributes","addUnderscoreMethods","Class","attribute","cb","defaultVal","addMethod","instance","isObject","modelMatcher","matcher","collect","reduce","foldl","inject","reduceRight","foldr","detect","select","any","include","contains","invoke","toArray","take","initial","rest","drop","last","without","difference","shuffle","chain","sample","partition","groupBy","countBy","indexBy","findIndex","findLastIndex","pairs","invert","omit","Base","mappings","functions","memo","contentType","_method","beforeSend","setRequestHeader","ajax","Router","routes","_bindRoutes","optionalParam","namedParam","splatParam","escapeRegExp","route","isRegExp","_routeToRegExp","router","fragment","_extractParameters","execute","navigate","optional","exec","param","decodeURIComponent","checkUrl","routeStripper","rootStripper","pathStripper","started","atRoot","getSearch","matchRoot","decodeFragment","decodeURI","getHash","getFragment","_usePushState","_wantsHashChange","start","_trailingSlash","trailingSlash","hashChange","_hasHashChange","documentMode","_useHashChange","_wantsPushState","_hasPushState","rootPath","tabIndex","iWindow","insertBefore","firstChild","contentWindow","open","attachEvent","_checkUrlInterval","setInterval","loadUrl","stop","removeEventListener","detachEvent","clearInterval","notfound","decodedFragment","_updateHash","protoProps","staticProps","child","__super__","_debug","factory","___CSS_LOADER_EXPORT___","module","ch","_XML_CHAR_MAP","userName","namespace","hasOwnProperty","property","parseClarkNotation","_renderPropSet","propName","propValue","_escapeXml","mkcol","responseType","xhrProvider","onProgress","upload","send","fulfill","onreadystatechange","readyState","resultBody","parseMultiStatus","ontimeout","XMLHttpRequest","_parsePropNode","propNode","childNodes","subNodes","nodeType","xmlBody","doc","DOMParser","parseFromString","resolver","foo","responseIterator","evaluate","XPathResult","ANY_TYPE","responseNode","iterateNext","stringValue","propStatIterator","propStatNode","propIterator","namespaceURI","localName","baseParts","parseUrl","subString","scheme","host","port","propertyName","_interopRequireDefault","__esModule","_interopRequireWildcard","newObj","_handlebarsSafeString2","_handlebarsException2","Utils","runtime","_handlebarsNoConflict2","hb","HandlebarsEnvironment","SafeString","Exception","escapeExpression","VM","template","spec","inst","_utils","_exception2","_helpers","_decorators","_logger2","_internalProtoAccess","COMPILER_REVISION","LAST_COMPATIBLE_COMPILER_REVISION","REVISION_CHANGES","objectType","helpers","partials","decorators","registerDefaultHelpers","registerDefaultDecorators","log","registerHelper","unregisterHelper","registerPartial","partial","unregisterPartial","registerDecorator","unregisterDecorator","resetLoggedPropertyAccesses","resetLoggedProperties","createFrame","_decoratorsInline2","container","ret","errorProps","loc","line","endLineNumber","column","endColumn","end","tmp","idx","captureStackTrace","lineNumber","nop","_helpersBlockHelperMissing2","_helpersEach2","_helpersHelperMissing2","_helpersIf2","_helpersLog2","_helpersLookup2","_helpersWith2","moveHelperToHooks","helperName","keepHelper","hooks","inverse","contextPath","appendContextPath","priorKey","execIteration","field","blockParams","newContext","it","conditional","includeZero","level","lookupProperty","createProtoAccessControl","runtimeOptions","propertyWhiteList","allowedProtoProperties","methodWhiteList","allowedProtoMethods","whitelist","defaultValue","allowProtoPropertiesByDefault","allowProtoMethodsByDefault","resultIsAllowed","protoAccessControl","protoAccessControlForType","loggedProperties","logUnexpecedPropertyAccessOnce","checkWhiteList","wrapHelper","helper","transformOptionsFn","lookupLevel","levelMap","_len","_key","__defineGetter__","__magic__","$Handlebars","checkRevision","compilerInfo","compilerRevision","currentRevision","_base","runtimeVersions","compilerVersions","templateSpec","env","main","decorator","main_d","compiler","templateWasPrecompiledWithCompilerV7","strict","lookup","depths","len","lambda","invokePartial","resolvePartial","compile","compilerOptions","indent","lines","programs","program","declaredBlockParams","programWrapper","wrapProgram","_parent","mergeIfNeeded","common","nullContext","seal","noop","_setup","useData","initData","useBlockParams","useDepths","executeDecorators","isTop","mergedHelpers","addHelpers","usePartial","useDecorators","keepHelperInHelpers","allowCallsToHelperMissing","_child","lookupOwnProperty","currentPartialBlock","partialBlock","Function","_internalWrapHelper","prog","currentDepths","passLookupPropertyOption","toHTML","possible","badChars","escapeChar","object","frame","chr","webpackContext","req","webpackContextResolve","__webpack_require__","o","__webpack_module_cache__","moduleId","cachedModule","loaded","__webpack_modules__","O","chunkIds","priority","notFulfilled","Infinity","fulfilled","r","getter","d","definition","f","chunkId","promises","u","script","needAttach","scripts","charset","nc","onScriptComplete","onerror","clearTimeout","doneFns","parentNode","toStringTag","nmd","paths","scriptUrl","importScripts","currentScript","toUpperCase","baseURI","installedChunks","installedChunkData","errorType","realSrc","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"core-login.js?v=affb0d05ec3c0d4f4333","mappings":"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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?33a8","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?2492","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/apps.js","webpack:///nextcloud/core/src/OC/appswebroots.js","webpack:///nextcloud/core/src/OC/backbone-webdav.js","webpack:///nextcloud/core/src/OC/backbone.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/menu.js","webpack:///nextcloud/core/src/OC/constants.js","webpack:///nextcloud/core/src/OC/mimeType.js","webpack:///nextcloud/core/src/OC/msg.ts","webpack:///nextcloud/core/src/OC/notification.js","webpack:///nextcloud/core/src/OC/password-confirmation.js","webpack:///nextcloud/core/src/OC/plugins.js","webpack:///nextcloud/core/src/OC/settings.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/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/node_modules/backbone/backbone.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=f91ba7fe&prod&lang=scss&scoped=true","webpack:///nextcloud/core/src/components/login/PasswordLessLoginForm.vue?vue&type=style&index=0&id=0b57a680&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/davclient.js/lib/client.js","webpack:///nextcloud/node_modules/handlebars/dist/cjs/handlebars.runtime.js","webpack:///nextcloud/node_modules/handlebars/dist/cjs/handlebars/base.js","webpack:///nextcloud/node_modules/handlebars/dist/cjs/handlebars/decorators.js","webpack:///nextcloud/node_modules/handlebars/dist/cjs/handlebars/decorators/inline.js","webpack:///nextcloud/node_modules/handlebars/dist/cjs/handlebars/exception.js","webpack:///nextcloud/node_modules/handlebars/dist/cjs/handlebars/helpers.js","webpack:///nextcloud/node_modules/handlebars/dist/cjs/handlebars/helpers/block-helper-missing.js","webpack:///nextcloud/node_modules/handlebars/dist/cjs/handlebars/helpers/each.js","webpack:///nextcloud/node_modules/handlebars/dist/cjs/handlebars/helpers/helper-missing.js","webpack:///nextcloud/node_modules/handlebars/dist/cjs/handlebars/helpers/if.js","webpack:///nextcloud/node_modules/handlebars/dist/cjs/handlebars/helpers/log.js","webpack:///nextcloud/node_modules/handlebars/dist/cjs/handlebars/helpers/lookup.js","webpack:///nextcloud/node_modules/handlebars/dist/cjs/handlebars/helpers/with.js","webpack:///nextcloud/node_modules/handlebars/dist/cjs/handlebars/internal/proto-access.js","webpack:///nextcloud/node_modules/handlebars/dist/cjs/handlebars/internal/wrapHelper.js","webpack:///nextcloud/node_modules/handlebars/dist/cjs/handlebars/logger.js","webpack:///nextcloud/node_modules/handlebars/dist/cjs/handlebars/no-conflict.js","webpack:///nextcloud/node_modules/handlebars/dist/cjs/handlebars/runtime.js","webpack:///nextcloud/node_modules/handlebars/dist/cjs/handlebars/safe-string.js","webpack:///nextcloud/node_modules/handlebars/dist/cjs/handlebars/utils.js","webpack:///nextcloud/node_modules/handlebars/runtime.js","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=f91ba7fe&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=f91ba7fe&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=f91ba7fe&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=f91ba7fe&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 \"f91ba7fe\",\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=0b57a680&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=0b57a680&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=0b57a680&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=0b57a680&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 \"0b57a680\",\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-FileCopyrightText: 2014 ownCloud, Inc.\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport $ from 'jquery'\n\nlet dynamicSlideToggleEnabled = false\n\nconst Apps = {\n\tenableDynamicSlideToggle() {\n\t\tdynamicSlideToggleEnabled = true\n\t},\n}\n\n/**\n * Shows the #app-sidebar and add .with-app-sidebar to subsequent siblings\n *\n * @param {object} [$el] sidebar element to show, defaults to $('#app-sidebar')\n */\nApps.showAppSidebar = function($el) {\n\tconst $appSidebar = $el || $('#app-sidebar')\n\t$appSidebar.removeClass('disappear').show()\n\t$('#app-content').trigger(new $.Event('appresized'))\n}\n\n/**\n * Shows the #app-sidebar and removes .with-app-sidebar from subsequent\n * siblings\n *\n * @param {object} [$el] sidebar element to hide, defaults to $('#app-sidebar')\n */\nApps.hideAppSidebar = function($el) {\n\tconst $appSidebar = $el || $('#app-sidebar')\n\t$appSidebar.hide().addClass('disappear')\n\t$('#app-content').trigger(new $.Event('appresized'))\n}\n\n/**\n * Provides a way to slide down a target area through a button and slide it\n * up if the user clicks somewhere else. Used for the news app settings and\n * add new field.\n *\n * Usage:\n * \n *
I'm sliding up
\n */\nexport function registerAppsSlideToggle() {\n\tlet buttons = $('[data-apps-slide-toggle]')\n\n\tif (buttons.length === 0) {\n\t\t$('#app-navigation').addClass('without-app-settings')\n\t}\n\n\t$(document).click(function(event) {\n\t\tif (dynamicSlideToggleEnabled) {\n\t\t\tbuttons = $('[data-apps-slide-toggle]')\n\t\t}\n\n\t\tbuttons.each(function(index, button) {\n\t\t\tconst areaSelector = $(button).data('apps-slide-toggle')\n\t\t\tconst area = $(areaSelector)\n\n\t\t\t/**\n\t\t\t *\n\t\t\t */\n\t\t\tfunction hideArea() {\n\t\t\t\tarea.slideUp(OC.menuSpeed * 4, function() {\n\t\t\t\t\tarea.trigger(new $.Event('hide'))\n\t\t\t\t})\n\t\t\t\tarea.removeClass('opened')\n\t\t\t\t$(button).removeClass('opened')\n\t\t\t\t$(button).attr('aria-expanded', 'false')\n\t\t\t}\n\n\t\t\t/**\n\t\t\t *\n\t\t\t */\n\t\t\tfunction showArea() {\n\t\t\t\tarea.slideDown(OC.menuSpeed * 4, function() {\n\t\t\t\t\tarea.trigger(new $.Event('show'))\n\t\t\t\t})\n\t\t\t\tarea.addClass('opened')\n\t\t\t\t$(button).addClass('opened')\n\t\t\t\t$(button).attr('aria-expanded', 'true')\n\t\t\t\tconst input = $(areaSelector + ' [autofocus]')\n\t\t\t\tif (input.length === 1) {\n\t\t\t\t\tinput.focus()\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// do nothing if the area is animated\n\t\t\tif (!area.is(':animated')) {\n\t\t\t\t// button toggles the area\n\t\t\t\tif ($(button).is($(event.target).closest('[data-apps-slide-toggle]'))) {\n\t\t\t\t\tif (area.is(':visible')) {\n\t\t\t\t\t\thideArea()\n\t\t\t\t\t} else {\n\t\t\t\t\t\tshowArea()\n\t\t\t\t\t}\n\n\t\t\t\t\t// all other areas that have not been clicked but are open\n\t\t\t\t\t// should be slid up\n\t\t\t\t} else {\n\t\t\t\t\tconst closest = $(event.target).closest(areaSelector)\n\t\t\t\t\tif (area.is(':visible') && closest[0] !== area[0]) {\n\t\t\t\t\t\thideArea()\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\t})\n}\n\nexport default Apps\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\nimport { dav } from 'davclient.js'\nimport _ from 'underscore'\nimport logger from '../logger.js'\n\nconst methodMap = {\n\tcreate: 'POST',\n\tupdate: 'PROPPATCH',\n\tpatch: 'PROPPATCH',\n\tdelete: 'DELETE',\n\tread: 'PROPFIND',\n}\n\n/**\n * Throw an error when a URL is needed, and none is supplied.\n */\nfunction urlError() {\n\tthrow new Error('A \"url\" property or function must be specified')\n}\n\n/**\n * Convert a single propfind result to JSON\n *\n * @param {object} result\n * @param {object} davProperties properties mapping\n */\nfunction parsePropFindResult(result, davProperties) {\n\tif (_.isArray(result)) {\n\t\treturn _.map(result, function(subResult) {\n\t\t\treturn parsePropFindResult(subResult, davProperties)\n\t\t})\n\t}\n\tconst props = {\n\t\thref: result.href,\n\t}\n\n\t_.each(result.propStat, function(propStat) {\n\t\tif (propStat.status !== 'HTTP/1.1 200 OK') {\n\t\t\treturn\n\t\t}\n\n\t\tfor (const key in propStat.properties) {\n\t\t\tlet propKey = key\n\t\t\tif (key in davProperties) {\n\t\t\t\tpropKey = davProperties[key]\n\t\t\t}\n\t\t\tprops[propKey] = propStat.properties[key]\n\t\t}\n\t})\n\n\tif (!props.id) {\n\t\t// parse id from href\n\t\tprops.id = parseIdFromLocation(props.href)\n\t}\n\n\treturn props\n}\n\n/**\n * Parse ID from location\n *\n * @param {string} url url\n * @return {string} id\n */\nfunction parseIdFromLocation(url) {\n\tconst queryPos = url.indexOf('?')\n\tif (queryPos > 0) {\n\t\turl = url.substr(0, queryPos)\n\t}\n\n\tconst parts = url.split('/')\n\tlet result\n\tdo {\n\t\tresult = parts[parts.length - 1]\n\t\tparts.pop()\n\t\t// note: first result can be empty when there is a trailing slash,\n\t\t// so we take the part before that\n\t} while (!result && parts.length > 0)\n\n\treturn result\n}\n\n/**\n *\n * @param {number} status\n */\nfunction isSuccessStatus(status) {\n\treturn status >= 200 && status <= 299\n}\n\n/**\n *\n * @param attrs\n * @param davProperties\n */\nfunction convertModelAttributesToDavProperties(attrs, davProperties) {\n\tconst props = {}\n\tlet key\n\tfor (key in attrs) {\n\t\tlet changedProp = davProperties[key]\n\t\tlet value = attrs[key]\n\t\tif (!changedProp) {\n\t\t\tlogger.warn('No matching DAV property for property \"' + key)\n\t\t\tchangedProp = key\n\t\t}\n\t\tif (_.isBoolean(value) || _.isNumber(value)) {\n\t\t\t// convert to string\n\t\t\tvalue = '' + value\n\t\t}\n\t\tprops[changedProp] = value\n\t}\n\treturn props\n}\n\n/**\n *\n * @param client\n * @param options\n * @param model\n * @param headers\n */\nfunction callPropFind(client, options, model, headers) {\n\treturn client.propFind(\n\t\toptions.url,\n\t\t_.values(options.davProperties) || [],\n\t\toptions.depth,\n\t\theaders,\n\t).then(function(response) {\n\t\tif (isSuccessStatus(response.status)) {\n\t\t\tif (_.isFunction(options.success)) {\n\t\t\t\tconst propsMapping = _.invert(options.davProperties)\n\t\t\t\tconst results = parsePropFindResult(response.body, propsMapping)\n\t\t\t\tif (options.depth > 0) {\n\t\t\t\t\t// discard root entry\n\t\t\t\t\tresults.shift()\n\t\t\t\t}\n\n\t\t\t\toptions.success(results)\n\t\t\t}\n\t\t} else if (_.isFunction(options.error)) {\n\t\t\toptions.error(response)\n\t\t}\n\t})\n}\n\n/**\n *\n * @param client\n * @param options\n * @param model\n * @param headers\n */\nfunction callPropPatch(client, options, model, headers) {\n\treturn client.propPatch(\n\t\toptions.url,\n\t\tconvertModelAttributesToDavProperties(model.changed, options.davProperties),\n\t\theaders,\n\t).then(function(result) {\n\t\tif (isSuccessStatus(result.status)) {\n\t\t\tif (_.isFunction(options.success)) {\n\t\t\t\t// pass the object's own values because the server\n\t\t\t\t// does not return the updated model\n\t\t\t\toptions.success(model.toJSON())\n\t\t\t}\n\t\t} else if (_.isFunction(options.error)) {\n\t\t\toptions.error(result)\n\t\t}\n\t})\n}\n\n/**\n *\n * @param client\n * @param options\n * @param model\n * @param headers\n */\nfunction callMkCol(client, options, model, headers) {\n\t// call MKCOL without data, followed by PROPPATCH\n\treturn client.request(\n\t\toptions.type,\n\t\toptions.url,\n\t\theaders,\n\t\tnull,\n\t).then(function(result) {\n\t\tif (!isSuccessStatus(result.status)) {\n\t\t\tif (_.isFunction(options.error)) {\n\t\t\t\toptions.error(result)\n\t\t\t}\n\t\t\treturn\n\t\t}\n\n\t\tcallPropPatch(client, options, model, headers)\n\t})\n}\n\n/**\n *\n * @param client\n * @param options\n * @param model\n * @param headers\n */\nfunction callMethod(client, options, model, headers) {\n\theaders['Content-Type'] = 'application/json'\n\treturn client.request(\n\t\toptions.type,\n\t\toptions.url,\n\t\theaders,\n\t\toptions.data,\n\t).then(function(result) {\n\t\tif (!isSuccessStatus(result.status)) {\n\t\t\tif (_.isFunction(options.error)) {\n\t\t\t\toptions.error(result)\n\t\t\t}\n\t\t\treturn\n\t\t}\n\n\t\tif (_.isFunction(options.success)) {\n\t\t\tif (options.type === 'PUT' || options.type === 'POST' || options.type === 'MKCOL') {\n\t\t\t\t// pass the object's own values because the server\n\t\t\t\t// does not return anything\n\t\t\t\tconst responseJson = result.body || model.toJSON()\n\t\t\t\tconst locationHeader = result.xhr.getResponseHeader('Content-Location')\n\t\t\t\tif (options.type === 'POST' && locationHeader) {\n\t\t\t\t\tresponseJson.id = parseIdFromLocation(locationHeader)\n\t\t\t\t}\n\t\t\t\toptions.success(responseJson)\n\t\t\t\treturn\n\t\t\t}\n\t\t\t// if multi-status, parse\n\t\t\tif (result.status === 207) {\n\t\t\t\tconst propsMapping = _.invert(options.davProperties)\n\t\t\t\toptions.success(parsePropFindResult(result.body, propsMapping))\n\t\t\t} else {\n\t\t\t\toptions.success(result.body)\n\t\t\t}\n\t\t}\n\t})\n}\n\n/**\n *\n * @param options\n * @param model\n */\nexport function davCall(options, model) {\n\tconst client = new dav.Client({\n\t\tbaseUrl: options.url,\n\t\txmlNamespaces: _.extend({\n\t\t\t'DAV:': 'd',\n\t\t\t'http://owncloud.org/ns': 'oc',\n\t\t}, options.xmlNamespaces || {}),\n\t})\n\tclient.resolveUrl = function() {\n\t\treturn options.url\n\t}\n\tconst headers = _.extend({\n\t\t'X-Requested-With': 'XMLHttpRequest',\n\t\trequesttoken: OC.requestToken,\n\t}, options.headers)\n\tif (options.type === 'PROPFIND') {\n\t\treturn callPropFind(client, options, model, headers)\n\t} else if (options.type === 'PROPPATCH') {\n\t\treturn callPropPatch(client, options, model, headers)\n\t} else if (options.type === 'MKCOL') {\n\t\treturn callMkCol(client, options, model, headers)\n\t} else {\n\t\treturn callMethod(client, options, model, headers)\n\t}\n}\n\n/**\n * DAV transport\n *\n * @param Backbone\n */\nexport function davSync(Backbone) {\n\treturn (method, model, options) => {\n\t\tconst params = { type: methodMap[method] || method }\n\t\tconst isCollection = (model instanceof Backbone.Collection)\n\n\t\tif (method === 'update') {\n\t\t// if a model has an inner collection, it must define an\n\t\t// attribute \"hasInnerCollection\" that evaluates to true\n\t\t\tif (model.hasInnerCollection) {\n\t\t\t// if the model itself is a Webdav collection, use MKCOL\n\t\t\t\tparams.type = 'MKCOL'\n\t\t\t} else if (model.usePUT || (model.collection && model.collection.usePUT)) {\n\t\t\t// use PUT instead of PROPPATCH\n\t\t\t\tparams.type = 'PUT'\n\t\t\t}\n\t\t}\n\n\t\t// Ensure that we have a URL.\n\t\tif (!options.url) {\n\t\t\tparams.url = _.result(model, 'url') || urlError()\n\t\t}\n\n\t\t// Ensure that we have the appropriate request data.\n\t\t// eslint-disable-next-line eqeqeq\n\t\tif (options.data == null && model && (method === 'create' || method === 'update' || method === 'patch')) {\n\t\t\tparams.data = JSON.stringify(options.attrs || model.toJSON(options))\n\t\t}\n\n\t\t// Don't process data on a non-GET request.\n\t\tif (params.type !== 'PROPFIND') {\n\t\t\tparams.processData = false\n\t\t}\n\n\t\tif (params.type === 'PROPFIND' || params.type === 'PROPPATCH') {\n\t\t\tlet davProperties = model.davProperties\n\t\t\tif (!davProperties && model.model) {\n\t\t\t// use dav properties from model in case of collection\n\t\t\t\tdavProperties = model.model.prototype.davProperties\n\t\t\t}\n\t\t\tif (davProperties) {\n\t\t\t\tif (_.isFunction(davProperties)) {\n\t\t\t\t\tparams.davProperties = davProperties.call(model)\n\t\t\t\t} else {\n\t\t\t\t\tparams.davProperties = davProperties\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tparams.davProperties = _.extend(params.davProperties || {}, options.davProperties)\n\n\t\t\tif (_.isUndefined(options.depth)) {\n\t\t\t\tif (isCollection) {\n\t\t\t\t\toptions.depth = 1\n\t\t\t\t} else {\n\t\t\t\t\toptions.depth = 0\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Pass along `textStatus` and `errorThrown` from jQuery.\n\t\tconst error = options.error\n\t\toptions.error = function(xhr, textStatus, errorThrown) {\n\t\t\toptions.textStatus = textStatus\n\t\t\toptions.errorThrown = errorThrown\n\t\t\tif (error) {\n\t\t\t\terror.call(options.context, xhr, textStatus, errorThrown)\n\t\t\t}\n\t\t}\n\n\t\t// Make the request, allowing the user to override any Ajax options.\n\t\tconst xhr = options.xhr = Backbone.davCall(_.extend(params, options), model)\n\t\tmodel.trigger('request', model, xhr, options)\n\t\treturn xhr\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 VendorBackbone from 'backbone'\nimport { davCall, davSync } from './backbone-webdav.js'\n\nconst Backbone = VendorBackbone.noConflict()\n\n// Patch Backbone for DAV\nObject.assign(Backbone, {\n\tdavCall,\n\tdavSync: davSync(Backbone),\n})\n\nexport default Backbone\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 $ from 'jquery'\nimport { basename } from 'path'\nimport { defineAsyncComponent } from 'vue'\nimport logger from '../logger.js'\nimport OC from './index.js'\n\n/**\n * this class to ease the usage of jquery 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\t_fileexistsshown: false,\n\t/**\n\t * Displays file exists dialog\n\t *\n\t * @param {object} data upload object\n\t * @param {object} original file with name, size and mtime\n\t * @param {object} replacement file with name, size and mtime\n\t * @param {object} controller with onCancel, onSkip, onReplace and onRename methods\n\t * @return {Promise} jquery promise that resolves after the dialog template was loaded\n\t *\n\t * @deprecated 29.0.0 Use openConflictPicker from the @nextcloud/upload package instead\n\t */\n\tfileexists: function(data, original, replacement, controller) {\n\t\tconst self = this\n\t\tconst dialogDeferred = new $.Deferred()\n\n\t\tconst getCroppedPreview = function(file) {\n\t\t\tconst deferred = new $.Deferred()\n\t\t\t// Only process image files.\n\t\t\tconst type = file.type && file.type.split('/').shift()\n\t\t\tif (window.FileReader && type === 'image') {\n\t\t\t\tconst reader = new FileReader()\n\t\t\t\treader.onload = function(e) {\n\t\t\t\t\tconst blob = new Blob([e.target.result])\n\t\t\t\t\twindow.URL = window.URL || window.webkitURL\n\t\t\t\t\tconst originalUrl = window.URL.createObjectURL(blob)\n\t\t\t\t\tconst image = new Image()\n\t\t\t\t\timage.src = originalUrl\n\t\t\t\t\timage.onload = function() {\n\t\t\t\t\t\tconst url = crop(image)\n\t\t\t\t\t\tdeferred.resolve(url)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treader.readAsArrayBuffer(file)\n\t\t\t} else {\n\t\t\t\tdeferred.reject()\n\t\t\t}\n\t\t\treturn deferred\n\t\t}\n\n\t\t/**\n\t\t * @param img\n\t\t */\n\t\tfunction crop(img) {\n\t\t\tconst canvas = document.createElement('canvas')\n\t\t\tconst targetSize = 96\n\t\t\tconst width = img.width\n\t\t\tconst height = img.height\n\t\t\tlet x\n\t\t\tlet y\n\n\t\t\t// Calculate the width and height, constraining the proportions\n\t\t\tif (width > height) {\n\t\t\t\ty = 0\n\t\t\t\tx = (width - height) / 2\n\t\t\t} else {\n\t\t\t\ty = (height - width) / 2\n\t\t\t\tx = 0\n\t\t\t}\n\t\t\tconst size = Math.min(width, height)\n\n\t\t\t// Set canvas size to the cropped area\n\t\t\tcanvas.width = size\n\t\t\tcanvas.height = size\n\t\t\tconst ctx = canvas.getContext('2d')\n\t\t\tctx.drawImage(img, x, y, size, size, 0, 0, size, size)\n\n\t\t\t// Resize the canvas to match the destination (right size uses 96px)\n\t\t\tresampleHermite(canvas, size, size, targetSize, targetSize)\n\n\t\t\treturn canvas.toDataURL('image/png', 0.7)\n\t\t}\n\n\t\t/**\n\t\t * Fast image resize/resample using Hermite filter with JavaScript.\n\t\t *\n\t\t * @author ViliusL\n\t\t *\n\t\t * @param {*} canvas\n\t\t * @param {number} W\n\t\t * @param {number} H\n\t\t * @param {number} W2\n\t\t * @param {number} H2\n\t\t */\n\t\tfunction resampleHermite(canvas, W, H, W2, H2) {\n\t\t\tW2 = Math.round(W2)\n\t\t\tH2 = Math.round(H2)\n\t\t\tconst img = canvas.getContext('2d').getImageData(0, 0, W, H)\n\t\t\tconst img2 = canvas.getContext('2d').getImageData(0, 0, W2, H2)\n\t\t\tconst data = img.data\n\t\t\tconst data2 = img2.data\n\t\t\tconst ratio_w = W / W2\n\t\t\tconst ratio_h = H / H2\n\t\t\tconst ratio_w_half = Math.ceil(ratio_w / 2)\n\t\t\tconst ratio_h_half = Math.ceil(ratio_h / 2)\n\n\t\t\tfor (let j = 0; j < H2; j++) {\n\t\t\t\tfor (let i = 0; i < W2; i++) {\n\t\t\t\t\tconst x2 = (i + j * W2) * 4\n\t\t\t\t\tlet weight\n\t\t\t\t\tlet weights = 0\n\t\t\t\t\tlet weights_alpha = 0\n\t\t\t\t\tlet gx_r = 0\n\t\t\t\t\tlet gx_g = 0\n\t\t\t\t\tlet gx_b = 0\n\t\t\t\t\tlet gx_a = 0\n\t\t\t\t\tconst center_y = (j + 0.5) * ratio_h\n\t\t\t\t\tfor (let yy = Math.floor(j * ratio_h); yy < (j + 1) * ratio_h; yy++) {\n\t\t\t\t\t\tconst dy = Math.abs(center_y - (yy + 0.5)) / ratio_h_half\n\t\t\t\t\t\tconst center_x = (i + 0.5) * ratio_w\n\t\t\t\t\t\tconst w0 = dy * dy // pre-calc part of w\n\t\t\t\t\t\tfor (let xx = Math.floor(i * ratio_w); xx < (i + 1) * ratio_w; xx++) {\n\t\t\t\t\t\t\tlet dx = Math.abs(center_x - (xx + 0.5)) / ratio_w_half\n\t\t\t\t\t\t\tconst w = Math.sqrt(w0 + dx * dx)\n\t\t\t\t\t\t\tif (w >= -1 && w <= 1) {\n\t\t\t\t\t\t\t\t// hermite filter\n\t\t\t\t\t\t\t\tweight = 2 * w * w * w - 3 * w * w + 1\n\t\t\t\t\t\t\t\tif (weight > 0) {\n\t\t\t\t\t\t\t\t\tdx = 4 * (xx + yy * W)\n\t\t\t\t\t\t\t\t\t// alpha\n\t\t\t\t\t\t\t\t\tgx_a += weight * data[dx + 3]\n\t\t\t\t\t\t\t\t\tweights_alpha += weight\n\t\t\t\t\t\t\t\t\t// colors\n\t\t\t\t\t\t\t\t\tif (data[dx + 3] < 255) {\n\t\t\t\t\t\t\t\t\t\tweight = weight * data[dx + 3] / 250\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tgx_r += weight * data[dx]\n\t\t\t\t\t\t\t\t\tgx_g += weight * data[dx + 1]\n\t\t\t\t\t\t\t\t\tgx_b += weight * data[dx + 2]\n\t\t\t\t\t\t\t\t\tweights += weight\n\t\t\t\t\t\t\t\t}\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\tdata2[x2] = gx_r / weights\n\t\t\t\t\tdata2[x2 + 1] = gx_g / weights\n\t\t\t\t\tdata2[x2 + 2] = gx_b / weights\n\t\t\t\t\tdata2[x2 + 3] = gx_a / weights_alpha\n\t\t\t\t}\n\t\t\t}\n\t\t\tcanvas.getContext('2d').clearRect(0, 0, Math.max(W, W2), Math.max(H, H2))\n\t\t\tcanvas.width = W2\n\t\t\tcanvas.height = H2\n\t\t\tcanvas.getContext('2d').putImageData(img2, 0, 0)\n\t\t}\n\n\t\tconst addConflict = function($conflicts, original, replacement) {\n\t\t\tconst $conflict = $conflicts.find('.template').clone().removeClass('template').addClass('conflict')\n\t\t\tconst $originalDiv = $conflict.find('.original')\n\t\t\tconst $replacementDiv = $conflict.find('.replacement')\n\n\t\t\t$conflict.data('data', data)\n\n\t\t\t$conflict.find('.filename').text(original.name)\n\t\t\t$originalDiv.find('.size').text(OC.Util.humanFileSize(original.size))\n\t\t\t$originalDiv.find('.mtime').text(OC.Util.formatDate(original.mtime))\n\t\t\t// ie sucks\n\t\t\tif (replacement.size && replacement.lastModified) {\n\t\t\t\t$replacementDiv.find('.size').text(OC.Util.humanFileSize(replacement.size))\n\t\t\t\t$replacementDiv.find('.mtime').text(OC.Util.formatDate(replacement.lastModified))\n\t\t\t}\n\t\t\tlet path = original.directory + '/' + original.name\n\t\t\tconst urlSpec = {\n\t\t\t\tfile: path,\n\t\t\t\tx: 96,\n\t\t\t\ty: 96,\n\t\t\t\tc: original.etag,\n\t\t\t\tforceIcon: 0,\n\t\t\t}\n\t\t\tlet previewpath = Files.generatePreviewUrl(urlSpec)\n\t\t\t// Escaping single quotes\n\t\t\tpreviewpath = previewpath.replace(/'/g, '%27')\n\t\t\t$originalDiv.find('.icon').css({ 'background-image': \"url('\" + previewpath + \"')\" })\n\t\t\tgetCroppedPreview(replacement).then(function(path) {\n\t\t\t\t$replacementDiv.find('.icon').css('background-image', 'url(' + path + ')')\n\t\t\t}, function() {\n\t\t\t\tpath = OC.MimeType.getIconUrl(replacement.type)\n\t\t\t\t$replacementDiv.find('.icon').css('background-image', 'url(' + path + ')')\n\t\t\t})\n\t\t\t// connect checkboxes with labels\n\t\t\tconst checkboxId = $conflicts.find('.conflict').length\n\t\t\t$originalDiv.find('input:checkbox').attr('id', 'checkbox_original_' + checkboxId)\n\t\t\t$replacementDiv.find('input:checkbox').attr('id', 'checkbox_replacement_' + checkboxId)\n\n\t\t\t$conflicts.append($conflict)\n\n\t\t\t// set more recent mtime bold\n\t\t\t// ie sucks\n\t\t\tif (replacement.lastModified > original.mtime) {\n\t\t\t\t$replacementDiv.find('.mtime').css('font-weight', 'bold')\n\t\t\t} else if (replacement.lastModified < original.mtime) {\n\t\t\t\t$originalDiv.find('.mtime').css('font-weight', 'bold')\n\t\t\t} else {\n\t\t\t\t// TODO add to same mtime collection?\n\t\t\t}\n\n\t\t\t// set bigger size bold\n\t\t\tif (replacement.size && replacement.size > original.size) {\n\t\t\t\t$replacementDiv.find('.size').css('font-weight', 'bold')\n\t\t\t} else if (replacement.size && replacement.size < original.size) {\n\t\t\t\t$originalDiv.find('.size').css('font-weight', 'bold')\n\t\t\t} else {\n\t\t\t\t// TODO add to same size collection?\n\t\t\t}\n\n\t\t\t// TODO show skip action for files with same size and mtime in bottom row\n\n\t\t\t// always keep readonly files\n\n\t\t\tif (original.status === 'readonly') {\n\t\t\t\t$originalDiv\n\t\t\t\t\t.addClass('readonly')\n\t\t\t\t\t.find('input[type=\"checkbox\"]')\n\t\t\t\t\t.prop('checked', true)\n\t\t\t\t\t.prop('disabled', true)\n\t\t\t\t$originalDiv.find('.message')\n\t\t\t\t\t.text(t('core', 'read-only'))\n\t\t\t}\n\t\t}\n\n\t\tconst dialogName = 'oc-dialog-fileexists-content'\n\t\tconst dialogId = '#' + dialogName\n\t\tif (this._fileexistsshown) {\n\t\t\t// add conflict\n\n\t\t\tconst $conflicts = $(dialogId + ' .conflicts')\n\t\t\taddConflict($conflicts, original, replacement)\n\n\t\t\tconst count = $(dialogId + ' .conflict').length\n\t\t\tconst title = n(\n\t\t\t\t'core',\n\t\t\t\t'{count} file conflict',\n\t\t\t\t'{count} file conflicts',\n\t\t\t\tcount,\n\t\t\t\t{ count },\n\t\t\t)\n\t\t\t$(dialogId).parent().children('.oc-dialog-title').text(title)\n\n\t\t\t// recalculate dimensions\n\t\t\t$(window).trigger('resize')\n\t\t\tdialogDeferred.resolve()\n\t\t} else {\n\t\t\t// create dialog\n\t\t\tthis._fileexistsshown = true\n\t\t\t$.when(this._getFileExistsTemplate()).then(function($tmpl) {\n\t\t\t\tconst title = t('core', 'One file conflict')\n\t\t\t\tconst $dlg = $tmpl.octemplate({\n\t\t\t\t\tdialog_name: dialogName,\n\t\t\t\t\ttitle,\n\t\t\t\t\ttype: 'fileexists',\n\n\t\t\t\t\tallnewfiles: t('core', 'New Files'),\n\t\t\t\t\tallexistingfiles: t('core', 'Already existing files'),\n\n\t\t\t\t\twhy: t('core', 'Which files do you want to keep?'),\n\t\t\t\t\twhat: t('core', 'If you select both versions, the copied file will have a number added to its name.'),\n\t\t\t\t})\n\t\t\t\t$('body').append($dlg)\n\n\t\t\t\tif (original && replacement) {\n\t\t\t\t\tconst $conflicts = $dlg.find('.conflicts')\n\t\t\t\t\taddConflict($conflicts, original, replacement)\n\t\t\t\t}\n\n\t\t\t\tconst buttonlist = [{\n\t\t\t\t\ttext: t('core', 'Cancel'),\n\t\t\t\t\tclasses: 'cancel',\n\t\t\t\t\tclick: function() {\n\t\t\t\t\t\tif (typeof controller.onCancel !== 'undefined') {\n\t\t\t\t\t\t\tcontroller.onCancel(data)\n\t\t\t\t\t\t}\n\t\t\t\t\t\t$(dialogId).ocdialog('close')\n\t\t\t\t\t},\n\t\t\t\t}, {\n\t\t\t\t\ttext: t('core', 'Continue'),\n\t\t\t\t\tclasses: 'continue',\n\t\t\t\t\tclick: function() {\n\t\t\t\t\t\tif (typeof controller.onContinue !== 'undefined') {\n\t\t\t\t\t\t\tcontroller.onContinue($(dialogId + ' .conflict'))\n\t\t\t\t\t\t}\n\t\t\t\t\t\t$(dialogId).ocdialog('close')\n\t\t\t\t\t},\n\t\t\t\t}]\n\n\t\t\t\t$(dialogId).ocdialog({\n\t\t\t\t\twidth: 500,\n\t\t\t\t\tcloseOnEscape: true,\n\t\t\t\t\tmodal: true,\n\t\t\t\t\tbuttons: buttonlist,\n\t\t\t\t\tcloseButton: null,\n\t\t\t\t\tclose: function() {\n\t\t\t\t\t\tself._fileexistsshown = false\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t$(this).ocdialog('destroy').remove()\n\t\t\t\t\t\t} catch {\n\t\t\t\t\t\t\t// ignore\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t})\n\n\t\t\t\t$(dialogId).css('height', 'auto')\n\n\t\t\t\tconst $primaryButton = $dlg.closest('.oc-dialog').find('button.continue')\n\t\t\t\t$primaryButton.prop('disabled', true)\n\n\t\t\t\t/**\n\t\t\t\t *\n\t\t\t\t */\n\t\t\t\tfunction updatePrimaryButton() {\n\t\t\t\t\tconst checkedCount = $dlg.find('.conflicts .checkbox:checked').length\n\t\t\t\t\t$primaryButton.prop('disabled', checkedCount === 0)\n\t\t\t\t}\n\n\t\t\t\t// add checkbox toggling actions\n\t\t\t\t$(dialogId).find('.allnewfiles').on('click', function() {\n\t\t\t\t\tconst $checkboxes = $(dialogId).find('.conflict .replacement input[type=\"checkbox\"]')\n\t\t\t\t\t$checkboxes.prop('checked', $(this).prop('checked'))\n\t\t\t\t})\n\t\t\t\t$(dialogId).find('.allexistingfiles').on('click', function() {\n\t\t\t\t\tconst $checkboxes = $(dialogId).find('.conflict .original:not(.readonly) input[type=\"checkbox\"]')\n\t\t\t\t\t$checkboxes.prop('checked', $(this).prop('checked'))\n\t\t\t\t})\n\t\t\t\t$(dialogId).find('.conflicts').on('click', '.replacement,.original:not(.readonly)', function() {\n\t\t\t\t\tconst $checkbox = $(this).find('input[type=\"checkbox\"]')\n\t\t\t\t\t$checkbox.prop('checked', !$checkbox.prop('checked'))\n\t\t\t\t})\n\t\t\t\t$(dialogId).find('.conflicts').on('click', '.replacement input[type=\"checkbox\"],.original:not(.readonly) input[type=\"checkbox\"]', function() {\n\t\t\t\t\tconst $checkbox = $(this)\n\t\t\t\t\t$checkbox.prop('checked', !$checkbox.prop('checked'))\n\t\t\t\t})\n\n\t\t\t\t// update counters\n\t\t\t\t$(dialogId).on('click', '.replacement,.allnewfiles', function() {\n\t\t\t\t\tconst count = $(dialogId).find('.conflict .replacement input[type=\"checkbox\"]:checked').length\n\t\t\t\t\tif (count === $(dialogId + ' .conflict').length) {\n\t\t\t\t\t\t$(dialogId).find('.allnewfiles').prop('checked', true)\n\t\t\t\t\t\t$(dialogId).find('.allnewfiles + .count').text(t('core', '(all selected)'))\n\t\t\t\t\t} else if (count > 0) {\n\t\t\t\t\t\t$(dialogId).find('.allnewfiles').prop('checked', false)\n\t\t\t\t\t\t$(dialogId).find('.allnewfiles + .count').text(t('core', '({count} selected)', { count }))\n\t\t\t\t\t} else {\n\t\t\t\t\t\t$(dialogId).find('.allnewfiles').prop('checked', false)\n\t\t\t\t\t\t$(dialogId).find('.allnewfiles + .count').text('')\n\t\t\t\t\t}\n\t\t\t\t\tupdatePrimaryButton()\n\t\t\t\t})\n\t\t\t\t$(dialogId).on('click', '.original,.allexistingfiles', function() {\n\t\t\t\t\tconst count = $(dialogId).find('.conflict .original input[type=\"checkbox\"]:checked').length\n\t\t\t\t\tif (count === $(dialogId + ' .conflict').length) {\n\t\t\t\t\t\t$(dialogId).find('.allexistingfiles').prop('checked', true)\n\t\t\t\t\t\t$(dialogId).find('.allexistingfiles + .count').text(t('core', '(all selected)'))\n\t\t\t\t\t} else if (count > 0) {\n\t\t\t\t\t\t$(dialogId).find('.allexistingfiles').prop('checked', false)\n\t\t\t\t\t\t$(dialogId).find('.allexistingfiles + .count')\n\t\t\t\t\t\t\t.text(t('core', '({count} selected)', { count }))\n\t\t\t\t\t} else {\n\t\t\t\t\t\t$(dialogId).find('.allexistingfiles').prop('checked', false)\n\t\t\t\t\t\t$(dialogId).find('.allexistingfiles + .count').text('')\n\t\t\t\t\t}\n\t\t\t\t\tupdatePrimaryButton()\n\t\t\t\t})\n\n\t\t\t\tdialogDeferred.resolve()\n\t\t\t})\n\t\t\t\t.fail(function() {\n\t\t\t\t\tdialogDeferred.reject()\n\t\t\t\t\talert(t('core', 'Error loading file exists template'))\n\t\t\t\t})\n\t\t}\n\t\t// }\n\t\treturn dialogDeferred.promise()\n\t},\n\n\t_getFileExistsTemplate: function() {\n\t\tconst defer = $.Deferred()\n\t\tif (!this.$fileexistsTemplate) {\n\t\t\tconst self = this\n\t\t\t$.get(OC.filePath('core', 'templates/legacy', 'fileexists.html'), function(tmpl) {\n\t\t\t\tself.$fileexistsTemplate = $(tmpl)\n\t\t\t\tdefer.resolve(self.$fileexistsTemplate)\n\t\t\t})\n\t\t\t\t.fail(function() {\n\t\t\t\t\tdefer.reject()\n\t\t\t\t})\n\t\t} else {\n\t\t\tdefer.resolve(this.$fileexistsTemplate)\n\t\t}\n\t\treturn defer.promise()\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\tthis.listeners = {}\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\tif (!this.useFallBack && typeof EventSource !== 'undefined') {\n\t\tjoinChar = '&'\n\t\tif (src.indexOf('?') === -1) {\n\t\t\tjoinChar = '?'\n\t\t}\n\t\tthis.source = new EventSource(src + joinChar + dataStr)\n\t\tthis.source.onmessage = function(e) {\n\t\t\tfor (let i = 0; i < this.typelessListeners.length; i++) {\n\t\t\t\tthis.typelessListeners[i](JSON.parse(e.data))\n\t\t\t}\n\t\t}.bind(this)\n\t} else {\n\t\tconst iframeId = 'oc_eventsource_iframe_' + OCEventSource.iframeCount\n\t\tOCEventSource.fallBackSources[OCEventSource.iframeCount] = this\n\t\tconst iframe = document.createElement('iframe')\n\t\tiframe.id = iframeId\n\t\tiframe.style.display = 'none'\n\n\t\tjoinChar = '&'\n\t\tif (src.indexOf('?') === -1) {\n\t\t\tjoinChar = '?'\n\t\t}\n\t\tiframe.src = src + joinChar + 'fallback=true&fallback_id=' + OCEventSource.iframeCount + '&' + dataStr\n\n\t\tthis.iframe = iframe\n\t\tdocument.body.appendChild(this.iframe)\n\t\tthis.useFallBack = true\n\t\tOCEventSource.iframeCount++\n\t}\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.fallBackSources = []\nOCEventSource.iframeCount = 0// number of fallback iframes\nOCEventSource.fallBackCallBack = function(id, type, data) {\n\tOCEventSource.fallBackSources[id].fallBackCallBack(type, data)\n}\nOCEventSource.prototype = {\n\ttypelessListeners: [],\n\tiframe: null,\n\tlisteners: {}, // only for fallback\n\tuseFallBack: false,\n\t/**\n\t * Fallback callback for browsers that don't have the\n\t * native EventSource object.\n\t *\n\t * Calls the registered listeners.\n\t *\n\t * @private\n\t * @param {string} type event type\n\t * @param {object} data received data\n\t */\n\tfallBackCallBack: function(type, data) {\n\t\tlet i\n\t\t// ignore messages that might appear after closing\n\t\tif (this.closed) {\n\t\t\treturn\n\t\t}\n\t\tif (type) {\n\t\t\tif (typeof this.listeners.done !== 'undefined') {\n\t\t\t\tfor (i = 0; i < this.listeners[type].length; i++) {\n\t\t\t\t\tthis.listeners[type][i](data)\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tfor (i = 0; i < this.typelessListeners.length; i++) {\n\t\t\t\tthis.typelessListeners[i](data)\n\t\t\t}\n\t\t}\n\t},\n\tlastLength: 0, // for fallback\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\tif (this.useFallBack) {\n\t\t\t\t\tif (!this.listeners[type]) {\n\t\t\t\t\t\tthis.listeners[type] = []\n\t\t\t\t\t}\n\t\t\t\t\tthis.listeners[type].push(callback)\n\t\t\t\t} else {\n\t\t\t\t\tthis.source.addEventListener(type, function(e) {\n\t\t\t\t\t\tif (typeof e.data !== 'undefined') {\n\t\t\t\t\t\t\tcallback(JSON.parse(e.data))\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcallback('')\n\t\t\t\t\t\t}\n\t\t\t\t\t}, false)\n\t\t\t\t}\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\tif (typeof this.source !== 'undefined') {\n\t\t\tthis.source.close()\n\t\t}\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'\nimport Handlebars from 'handlebars'\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\nHandlebars.registerHelper('t', function(app, text) {\n\treturn translate(app, text)\n})\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\n/** @typedef {import('jquery')} jQuery */\nimport $ from 'jquery'\nimport _ from 'underscore'\nimport { menuSpeed } from './constants.js'\n\nexport let currentMenu = null\nexport let currentMenuToggle = null\n\n/**\n * For menu toggling\n *\n * @param {jQuery} $toggle the toggle element\n * @param {jQuery} $menuEl the menu container element\n * @param {Function | undefined} toggle callback invoked everytime the menu is opened\n * @param {boolean} headerMenu is this a top right header menu?\n * @return {void}\n */\nexport function registerMenu($toggle, $menuEl, toggle, headerMenu) {\n\t$menuEl.addClass('menu')\n\tconst isClickableElement = $toggle.prop('tagName') === 'A' || $toggle.prop('tagName') === 'BUTTON'\n\n\t// On link and button, the enter key trigger a click event\n\t// Only use the click to avoid two fired events\n\t$toggle.on(isClickableElement ? 'click.menu' : 'click.menu keyup.menu', function(event) {\n\t\t// prevent the link event (append anchor to URL)\n\t\tevent.preventDefault()\n\n\t\t// allow enter key as a trigger\n\t\tif (event.key && event.key !== 'Enter') {\n\t\t\treturn\n\t\t}\n\n\t\tif ($menuEl.is(currentMenu)) {\n\t\t\thideMenus()\n\t\t\treturn\n\t\t} else if (currentMenu) {\n\t\t\t// another menu was open?\n\t\t\t// close it\n\t\t\thideMenus()\n\t\t}\n\n\t\tif (headerMenu === true) {\n\t\t\t$menuEl.parent().addClass('openedMenu')\n\t\t}\n\n\t\t// Set menu to expanded\n\t\t$toggle.attr('aria-expanded', true)\n\n\t\t$menuEl.slideToggle(menuSpeed, toggle)\n\t\tcurrentMenu = $menuEl\n\t\tcurrentMenuToggle = $toggle\n\t})\n}\n\n/**\n * Unregister a previously registered menu\n *\n * @param {jQuery} $toggle the toggle element\n * @param {jQuery} $menuEl the menu container element\n */\nexport function unregisterMenu($toggle, $menuEl) {\n\t// close menu if opened\n\tif ($menuEl.is(currentMenu)) {\n\t\thideMenus()\n\t}\n\t$toggle.off('click.menu').removeClass('menutoggle')\n\t$menuEl.removeClass('menu')\n}\n\n/**\n * Hides any open menus\n *\n * @param {Function} complete callback when the hiding animation is done\n */\nexport function hideMenus(complete) {\n\tif (currentMenu) {\n\t\tconst lastMenu = currentMenu\n\t\tcurrentMenu.trigger(new $.Event('beforeHide'))\n\t\tcurrentMenu.slideUp(menuSpeed, function() {\n\t\t\tlastMenu.trigger(new $.Event('afterHide'))\n\t\t\tif (complete) {\n\t\t\t\tcomplete.apply(this, arguments)\n\t\t\t}\n\t\t})\n\t}\n\n\t// Set menu to closed\n\t$('.menutoggle').attr('aria-expanded', false)\n\tif (currentMenuToggle) {\n\t\tcurrentMenuToggle.attr('aria-expanded', false)\n\t}\n\n\t$('.openedMenu').removeClass('openedMenu')\n\tcurrentMenu = null\n\tcurrentMenuToggle = null\n}\n\n/**\n * Shows a given element as menu\n *\n * @param {object} [$toggle] menu toggle\n * @param {object} $menuEl menu element\n * @param {Function} complete callback when the showing animation is done\n */\nexport function showMenu($toggle, $menuEl, complete) {\n\tif ($menuEl.is(currentMenu)) {\n\t\treturn\n\t}\n\thideMenus()\n\tcurrentMenu = $menuEl\n\tcurrentMenuToggle = $toggle\n\t$menuEl.trigger(new $.Event('beforeShow'))\n\t$menuEl.show()\n\t$menuEl.trigger(new $.Event('afterShow'))\n\t// no animation\n\tif (_.isFunction(complete)) {\n\t\tcomplete()\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 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: 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 // eslint-disable-next-line @stylistic/exp-list-style\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 { showMessage, TOAST_DEFAULT_TIMEOUT, TOAST_PERMANENT_TIMEOUT } from '@nextcloud/dialogs'\nimport $ from 'jquery'\nimport _ from 'underscore'\nimport logger from '../logger.js'\n\n/** @typedef {import('jquery')} jQuery */\n\n/**\n * @todo Write documentation\n * @deprecated 17.0.0 use the `@nextcloud/dialogs` package instead\n * @namespace OC.Notification\n */\nexport default {\n\n\tupdatableNotification: null,\n\n\tgetDefaultNotificationFunction: null,\n\n\t/**\n\t * @param {Function} callback callback function\n\t * @deprecated 17.0.0 use the `@nextcloud/dialogs` package\n\t */\n\tsetDefault(callback) {\n\t\tthis.getDefaultNotificationFunction = callback\n\t},\n\n\t/**\n\t * Hides a notification.\n\t *\n\t * If a row is given, only hide that one.\n\t * If no row is given, hide all notifications.\n\t *\n\t * @param {jQuery} [$row] notification row\n\t * @param {Function} [callback] callback\n\t * @deprecated 17.0.0 use the `@nextcloud/dialogs` package\n\t */\n\thide($row, callback) {\n\t\tif (_.isFunction($row)) {\n\t\t\t// first arg is the callback\n\t\t\tcallback = $row\n\t\t\t$row = undefined\n\t\t}\n\n\t\tif (!$row) {\n\t\t\tlogger.error('Missing argument $row in OC.Notification.hide() call, caller needs to be adjusted to only dismiss its own notification')\n\t\t\treturn\n\t\t}\n\n\t\t// remove the row directly\n\t\t$row.each(function() {\n\t\t\tif ($(this)[0].toastify) {\n\t\t\t\t$(this)[0].toastify.hideToast()\n\t\t\t} else {\n\t\t\t\tlogger.error('cannot hide toast because object is not set')\n\t\t\t}\n\t\t\tif (this === this.updatableNotification) {\n\t\t\t\tthis.updatableNotification = null\n\t\t\t}\n\t\t})\n\t\tif (callback) {\n\t\t\tcallback.call()\n\t\t}\n\t\tif (this.getDefaultNotificationFunction) {\n\t\t\tthis.getDefaultNotificationFunction()\n\t\t}\n\t},\n\n\t/**\n\t * Shows a notification as HTML without being sanitized before.\n\t * If you pass unsanitized user input this may lead to a XSS vulnerability.\n\t * Consider using show() instead of showHTML()\n\t *\n\t * @param {string} html Message to display\n\t * @param {object} [options] options\n\t * @param {string} [options.type] notification type\n\t * @param {number} [options.timeout] timeout value, defaults to 0 (permanent)\n\t * @return {jQuery} jQuery element for notification row\n\t * @deprecated 17.0.0 use the `@nextcloud/dialogs` package\n\t */\n\tshowHtml(html, options) {\n\t\toptions = options || {}\n\t\toptions.isHTML = true\n\t\toptions.timeout = (!options.timeout) ? TOAST_PERMANENT_TIMEOUT : options.timeout\n\t\tconst toast = showMessage(html, options)\n\t\ttoast.toastElement.toastify = toast\n\t\treturn $(toast.toastElement)\n\t},\n\n\t/**\n\t * Shows a sanitized notification\n\t *\n\t * @param {string} text Message to display\n\t * @param {object} [options] options\n\t * @param {string} [options.type] notification type\n\t * @param {number} [options.timeout] timeout value, defaults to 0 (permanent)\n\t * @return {jQuery} jQuery element for notification row\n\t * @deprecated 17.0.0 use the `@nextcloud/dialogs` package\n\t */\n\tshow(text, options) {\n\t\tconst escapeHTML = function(text) {\n\t\t\treturn text.toString()\n\t\t\t\t.split('&').join('&')\n\t\t\t\t.split('<').join('<')\n\t\t\t\t.split('>').join('>')\n\t\t\t\t.split('\"').join('"')\n\t\t\t\t.split('\\'').join(''')\n\t\t}\n\n\t\toptions = options || {}\n\t\toptions.timeout = (!options.timeout) ? TOAST_PERMANENT_TIMEOUT : options.timeout\n\t\tconst toast = showMessage(escapeHTML(text), options)\n\t\ttoast.toastElement.toastify = toast\n\t\treturn $(toast.toastElement)\n\t},\n\n\t/**\n\t * Updates (replaces) a sanitized notification.\n\t *\n\t * @param {string} text Message to display\n\t * @return {jQuery} JQuery element for notification row\n\t * @deprecated 17.0.0 use the `@nextcloud/dialogs` package\n\t */\n\tshowUpdate(text) {\n\t\tif (this.updatableNotification) {\n\t\t\tthis.updatableNotification.hideToast()\n\t\t}\n\t\tthis.updatableNotification = showMessage(text, { timeout: TOAST_PERMANENT_TIMEOUT })\n\t\tthis.updatableNotification.toastElement.toastify = this.updatableNotification\n\t\treturn $(this.updatableNotification.toastElement)\n\t},\n\n\t/**\n\t * Shows a notification that disappears after x seconds, default is\n\t * 7 seconds\n\t *\n\t * @param {string} text Message to show\n\t * @param {Array} [options] options array\n\t * @param {number} [options.timeout] timeout in seconds, if this is 0 it will show the message permanently\n\t * @param {boolean} [options.isHTML] an indicator for HTML notifications (true) or text (false)\n\t * @param {string} [options.type] notification type\n\t * @return {jQuery} the toast element\n\t * @deprecated 17.0.0 use the `@nextcloud/dialogs` package\n\t */\n\tshowTemporary(text, options) {\n\t\toptions = options || {}\n\t\toptions.timeout = options.timeout || TOAST_DEFAULT_TIMEOUT\n\t\tconst toast = showMessage(text, options)\n\t\ttoast.toastElement.toastify = toast\n\t\treturn $(toast.toastElement)\n\t},\n\n\t/**\n\t * Returns whether a notification is hidden.\n\t *\n\t * @return {boolean}\n\t * @deprecated 17.0.0 use the `@nextcloud/dialogs` package\n\t */\n\tisHidden() {\n\t\treturn !$('#content').find('.toastify').length\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 { 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: 2016-2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-FileCopyrightText: 2016 ownCloud, Inc.\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport axios from '@nextcloud/axios'\nimport { emit } from '@nextcloud/event-bus'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport $ from 'jquery'\nimport _ from 'underscore'\nimport logger from '../logger.js'\n\n/**\n * @deprecated 25.0.0 Use Vue based (`@nextcloud/vue`) settings components instead\n */\nexport default {\n\t_cachedGroups: null,\n\n\tescapeHTML: function(text) {\n\t\treturn text.toString()\n\t\t\t.split('&').join('&')\n\t\t\t.split('<').join('<')\n\t\t\t.split('>').join('>')\n\t\t\t.split('\"').join('"')\n\t\t\t.split('\\'').join(''')\n\t},\n\n\tasync rebuildNavigation() {\n\t\tconst { data } = await axios.get(generateOcsUrl('core/navigation', 2) + '/apps?format=json')\n\t\tif (data.ocs.meta.statuscode !== 200) {\n\t\t\treturn\n\t\t}\n\n\t\temit('nextcloud:app-menu.refresh', { apps: data.ocs.data })\n\t\twindow.dispatchEvent(new Event('resize'))\n\t},\n\n\t/**\n\t * Setup selection box for group selection.\n\t *\n\t * Values need to be separated by a pipe \"|\" character.\n\t * (mostly because a comma is more likely to be used\n\t * for groups)\n\t *\n\t * @param $elements jQuery element (hidden input) to setup select2 on\n\t * @param {Array} [extraOptions] extra options hash to pass to select2\n\t * @param {Array} [options] extra options\n\t * @param {Array} [options.excludeAdmins] flag whether to exclude admin groups\n\t */\n\tsetupGroupsSelect: function($elements, extraOptions, options) {\n\t\tconst self = this\n\t\toptions = options || {}\n\t\tif ($elements.length > 0) {\n\t\t\t// Let's load the data and THEN init our select\n\t\t\t$.ajax({\n\t\t\t\turl: generateOcsUrl('cloud/groups/details'),\n\t\t\t\tdataType: 'json',\n\t\t\t\tsuccess: function(data) {\n\t\t\t\t\tconst results = []\n\n\t\t\t\t\tif (data.ocs.data.groups && data.ocs.data.groups.length > 0) {\n\t\t\t\t\t\tdata.ocs.data.groups.forEach(function(group) {\n\t\t\t\t\t\t\tif (!options.excludeAdmins || group.id !== 'admin') {\n\t\t\t\t\t\t\t\tresults.push({ id: group.id, displayname: group.displayname })\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\n\t\t\t\t\t\t// note: settings are saved through a \"change\" event registered\n\t\t\t\t\t\t// on all input fields\n\t\t\t\t\t\t$elements.select2(_.extend({\n\t\t\t\t\t\t\tplaceholder: t('core', 'Groups'),\n\t\t\t\t\t\t\tallowClear: true,\n\t\t\t\t\t\t\tmultiple: true,\n\t\t\t\t\t\t\ttoggleSelect: true,\n\t\t\t\t\t\t\tseparator: '|',\n\t\t\t\t\t\t\tdata: { results, text: 'displayname' },\n\t\t\t\t\t\t\tinitSelection: function(element, callback) {\n\t\t\t\t\t\t\t\tconst groups = $(element).val()\n\t\t\t\t\t\t\t\tlet selection\n\t\t\t\t\t\t\t\tif (groups && results.length > 0) {\n\t\t\t\t\t\t\t\t\tselection = _.map(_.filter((groups || []).split('|').sort(), function(groupId) {\n\t\t\t\t\t\t\t\t\t\treturn results.find(function(group) {\n\t\t\t\t\t\t\t\t\t\t\treturn group.id === groupId\n\t\t\t\t\t\t\t\t\t\t}) !== undefined\n\t\t\t\t\t\t\t\t\t}), function(groupId) {\n\t\t\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t\t\tid: groupId,\n\t\t\t\t\t\t\t\t\t\t\tdisplayname: results.find(function(group) {\n\t\t\t\t\t\t\t\t\t\t\t\treturn group.id === groupId\n\t\t\t\t\t\t\t\t\t\t\t}).displayname,\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t} else if (groups) {\n\t\t\t\t\t\t\t\t\tselection = _.map((groups || []).split('|').sort(), function(groupId) {\n\t\t\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t\t\tid: groupId,\n\t\t\t\t\t\t\t\t\t\t\tdisplayname: groupId,\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcallback(selection)\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tformatResult: function(element) {\n\t\t\t\t\t\t\t\treturn self.escapeHTML(element.displayname)\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tformatSelection: function(element) {\n\t\t\t\t\t\t\t\treturn self.escapeHTML(element.displayname)\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tescapeMarkup: function(m) {\n\t\t\t\t\t\t\t\t// prevent double markup escape\n\t\t\t\t\t\t\t\treturn m\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t}, extraOptions || {}))\n\t\t\t\t\t} else {\n\t\t\t\t\t\tOC.Notification.show(t('core', 'Group list is empty'), { type: 'error' })\n\t\t\t\t\t\tlogger.debug(data)\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\terror: function(data) {\n\t\t\t\t\tOC.Notification.show(t('core', 'Unable to retrieve the group list'), { type: 'error' })\n\t\t\t\t\tlogger.debug(data)\n\t\t\t\t},\n\t\t\t})\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\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 _ from 'underscore'\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\tparams = _.extend(params || {}, OC.parseQueryString(this._decodeQuery(location.search)))\n\t\treturn params || {}\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 (_.isString(params)) {\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 Apps from './apps.js'\nimport appswebroots from './appswebroots.js'\nimport Backbone from './backbone.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 {\n\thideMenus,\n\tregisterMenu,\n\tshowMenu,\n\tunregisterMenu,\n} from './menu.js'\nimport * as MimeType from './mimeType.js'\nimport msg from './msg.js'\nimport Notification from './notification.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 Settings from './settings.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\tApps,\n\tappConfig,\n\tappswebroots,\n\tBackbone,\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 * Legacy menu helpers\n\t */\n\thideMenus,\n\tregisterMenu,\n\tshowMenu,\n\tunregisterMenu,\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\tNotification,\n\t/**\n\t * @deprecated 28.0.0 use methods from '@nextcloud/password-confirmation'\n\t */\n\tPasswordConfirmation,\n\tPlugins,\n\t/**\n\t * @deprecated 25.0.0 Use Vue based (`@nextcloud/vue`) settings components instead\n\t */\n\tSettings,\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\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","// Backbone.js 1.6.1\n\n// (c) 2010-2024 Jeremy Ashkenas and DocumentCloud\n// Backbone may be freely distributed under the MIT license.\n// For all details and documentation:\n// http://backbonejs.org\n\n(function(factory) {\n\n // Establish the root object, `window` (`self`) in the browser, or `global` on the server.\n // We use `self` instead of `window` for `WebWorker` support.\n var root = typeof self == 'object' && self.self === self && self ||\n typeof global == 'object' && global.global === global && global;\n\n // Set up Backbone appropriately for the environment. Start with AMD.\n if (typeof define === 'function' && define.amd) {\n define(['underscore', 'jquery', 'exports'], function(_, $, exports) {\n // Export global even in AMD case in case this script is loaded with\n // others that may still expect a global Backbone.\n root.Backbone = factory(root, exports, _, $);\n });\n\n // Next for Node.js or CommonJS. jQuery may not be needed as a module.\n } else if (typeof exports !== 'undefined') {\n var _ = require('underscore'), $;\n try { $ = require('jquery'); } catch (e) {}\n factory(root, exports, _, $);\n\n // Finally, as a browser global.\n } else {\n root.Backbone = factory(root, {}, root._, root.jQuery || root.Zepto || root.ender || root.$);\n }\n\n})(function(root, Backbone, _, $) {\n\n // Initial Setup\n // -------------\n\n // Save the previous value of the `Backbone` variable, so that it can be\n // restored later on, if `noConflict` is used.\n var previousBackbone = root.Backbone;\n\n // Create a local reference to a common array method we'll want to use later.\n var slice = Array.prototype.slice;\n\n // Current version of the library. Keep in sync with `package.json`.\n Backbone.VERSION = '1.6.1';\n\n // For Backbone's purposes, jQuery, Zepto, Ender, or My Library (kidding) owns\n // the `$` variable.\n Backbone.$ = $;\n\n // Runs Backbone.js in *noConflict* mode, returning the `Backbone` variable\n // to its previous owner. Returns a reference to this Backbone object.\n Backbone.noConflict = function() {\n root.Backbone = previousBackbone;\n return this;\n };\n\n // Turn on `emulateHTTP` to support legacy HTTP servers. Setting this option\n // will fake `\"PATCH\"`, `\"PUT\"` and `\"DELETE\"` requests via the `_method` parameter and\n // set a `X-Http-Method-Override` header.\n Backbone.emulateHTTP = false;\n\n // Turn on `emulateJSON` to support legacy servers that can't deal with direct\n // `application/json` requests ... this will encode the body as\n // `application/x-www-form-urlencoded` instead and will send the model in a\n // form param named `model`.\n Backbone.emulateJSON = false;\n\n // Backbone.Events\n // ---------------\n\n // A module that can be mixed in to *any object* in order to provide it with\n // a custom event channel. You may bind a callback to an event with `on` or\n // remove with `off`; `trigger`-ing an event fires all callbacks in\n // succession.\n //\n // var object = {};\n // _.extend(object, Backbone.Events);\n // object.on('expand', function(){ alert('expanded'); });\n // object.trigger('expand');\n //\n var Events = Backbone.Events = {};\n\n // Regular expression used to split event strings.\n var eventSplitter = /\\s+/;\n\n // A private global variable to share between listeners and listenees.\n var _listening;\n\n // Iterates over the standard `event, callback` (as well as the fancy multiple\n // space-separated events `\"change blur\", callback` and jQuery-style event\n // maps `{event: callback}`).\n var eventsApi = function(iteratee, events, name, callback, opts) {\n var i = 0, names;\n if (name && typeof name === 'object') {\n // Handle event maps.\n if (callback !== void 0 && 'context' in opts && opts.context === void 0) opts.context = callback;\n for (names = _.keys(name); i < names.length ; i++) {\n events = eventsApi(iteratee, events, names[i], name[names[i]], opts);\n }\n } else if (name && eventSplitter.test(name)) {\n // Handle space-separated event names by delegating them individually.\n for (names = name.split(eventSplitter); i < names.length; i++) {\n events = iteratee(events, names[i], callback, opts);\n }\n } else {\n // Finally, standard events.\n events = iteratee(events, name, callback, opts);\n }\n return events;\n };\n\n // Bind an event to a `callback` function. Passing `\"all\"` will bind\n // the callback to all events fired.\n Events.on = function(name, callback, context) {\n this._events = eventsApi(onApi, this._events || {}, name, callback, {\n context: context,\n ctx: this,\n listening: _listening\n });\n\n if (_listening) {\n var listeners = this._listeners || (this._listeners = {});\n listeners[_listening.id] = _listening;\n // Allow the listening to use a counter, instead of tracking\n // callbacks for library interop\n _listening.interop = false;\n }\n\n return this;\n };\n\n // Inversion-of-control versions of `on`. Tell *this* object to listen to\n // an event in another object... keeping track of what it's listening to\n // for easier unbinding later.\n Events.listenTo = function(obj, name, callback) {\n if (!obj) return this;\n var id = obj._listenId || (obj._listenId = _.uniqueId('l'));\n var listeningTo = this._listeningTo || (this._listeningTo = {});\n var listening = _listening = listeningTo[id];\n\n // This object is not listening to any other events on `obj` yet.\n // Setup the necessary references to track the listening callbacks.\n if (!listening) {\n this._listenId || (this._listenId = _.uniqueId('l'));\n listening = _listening = listeningTo[id] = new Listening(this, obj);\n }\n\n // Bind callbacks on obj.\n var error = tryCatchOn(obj, name, callback, this);\n _listening = void 0;\n\n if (error) throw error;\n // If the target obj is not Backbone.Events, track events manually.\n if (listening.interop) listening.on(name, callback);\n\n return this;\n };\n\n // The reducing API that adds a callback to the `events` object.\n var onApi = function(events, name, callback, options) {\n if (callback) {\n var handlers = events[name] || (events[name] = []);\n var context = options.context, ctx = options.ctx, listening = options.listening;\n if (listening) listening.count++;\n\n handlers.push({callback: callback, context: context, ctx: context || ctx, listening: listening});\n }\n return events;\n };\n\n // An try-catch guarded #on function, to prevent poisoning the global\n // `_listening` variable.\n var tryCatchOn = function(obj, name, callback, context) {\n try {\n obj.on(name, callback, context);\n } catch (e) {\n return e;\n }\n };\n\n // Remove one or many callbacks. If `context` is null, removes all\n // callbacks with that function. If `callback` is null, removes all\n // callbacks for the event. If `name` is null, removes all bound\n // callbacks for all events.\n Events.off = function(name, callback, context) {\n if (!this._events) return this;\n this._events = eventsApi(offApi, this._events, name, callback, {\n context: context,\n listeners: this._listeners\n });\n\n return this;\n };\n\n // Tell this object to stop listening to either specific events ... or\n // to every object it's currently listening to.\n Events.stopListening = function(obj, name, callback) {\n var listeningTo = this._listeningTo;\n if (!listeningTo) return this;\n\n var ids = obj ? [obj._listenId] : _.keys(listeningTo);\n for (var i = 0; i < ids.length; i++) {\n var listening = listeningTo[ids[i]];\n\n // If listening doesn't exist, this object is not currently\n // listening to obj. Break out early.\n if (!listening) break;\n\n listening.obj.off(name, callback, this);\n if (listening.interop) listening.off(name, callback);\n }\n if (_.isEmpty(listeningTo)) this._listeningTo = void 0;\n\n return this;\n };\n\n // The reducing API that removes a callback from the `events` object.\n var offApi = function(events, name, callback, options) {\n if (!events) return;\n\n var context = options.context, listeners = options.listeners;\n var i = 0, names;\n\n // Delete all event listeners and \"drop\" events.\n if (!name && !context && !callback) {\n for (names = _.keys(listeners); i < names.length; i++) {\n listeners[names[i]].cleanup();\n }\n return;\n }\n\n names = name ? [name] : _.keys(events);\n for (; i < names.length; i++) {\n name = names[i];\n var handlers = events[name];\n\n // Bail out if there are no events stored.\n if (!handlers) break;\n\n // Find any remaining events.\n var remaining = [];\n for (var j = 0; j < handlers.length; j++) {\n var handler = handlers[j];\n if (\n callback && callback !== handler.callback &&\n callback !== handler.callback._callback ||\n context && context !== handler.context\n ) {\n remaining.push(handler);\n } else {\n var listening = handler.listening;\n if (listening) listening.off(name, callback);\n }\n }\n\n // Replace events if there are any remaining. Otherwise, clean up.\n if (remaining.length) {\n events[name] = remaining;\n } else {\n delete events[name];\n }\n }\n\n return events;\n };\n\n // Bind an event to only be triggered a single time. After the first time\n // the callback is invoked, its listener will be removed. If multiple events\n // are passed in using the space-separated syntax, the handler will fire\n // once for each event, not once for a combination of all events.\n Events.once = function(name, callback, context) {\n // Map the event into a `{event: once}` object.\n var events = eventsApi(onceMap, {}, name, callback, this.off.bind(this));\n if (typeof name === 'string' && context == null) callback = void 0;\n return this.on(events, callback, context);\n };\n\n // Inversion-of-control versions of `once`.\n Events.listenToOnce = function(obj, name, callback) {\n // Map the event into a `{event: once}` object.\n var events = eventsApi(onceMap, {}, name, callback, this.stopListening.bind(this, obj));\n return this.listenTo(obj, events);\n };\n\n // Reduces the event callbacks into a map of `{event: onceWrapper}`.\n // `offer` unbinds the `onceWrapper` after it has been called.\n var onceMap = function(map, name, callback, offer) {\n if (callback) {\n var once = map[name] = _.once(function() {\n offer(name, once);\n callback.apply(this, arguments);\n });\n once._callback = callback;\n }\n return map;\n };\n\n // Trigger one or many events, firing all bound callbacks. Callbacks are\n // passed the same arguments as `trigger` is, apart from the event name\n // (unless you're listening on `\"all\"`, which will cause your callback to\n // receive the true name of the event as the first argument).\n Events.trigger = function(name) {\n if (!this._events) return this;\n\n var length = Math.max(0, arguments.length - 1);\n var args = Array(length);\n for (var i = 0; i < length; i++) args[i] = arguments[i + 1];\n\n eventsApi(triggerApi, this._events, name, void 0, args);\n return this;\n };\n\n // Handles triggering the appropriate event callbacks.\n var triggerApi = function(objEvents, name, callback, args) {\n if (objEvents) {\n var events = objEvents[name];\n var allEvents = objEvents.all;\n if (events && allEvents) allEvents = allEvents.slice();\n if (events) triggerEvents(events, args);\n if (allEvents) triggerEvents(allEvents, [name].concat(args));\n }\n return objEvents;\n };\n\n // A difficult-to-believe, but optimized internal dispatch function for\n // triggering events. Tries to keep the usual cases speedy (most internal\n // Backbone events have 3 arguments).\n var triggerEvents = function(events, args) {\n var ev, i = -1, l = events.length, a1 = args[0], a2 = args[1], a3 = args[2];\n switch (args.length) {\n case 0: while (++i < l) (ev = events[i]).callback.call(ev.ctx); return;\n case 1: while (++i < l) (ev = events[i]).callback.call(ev.ctx, a1); return;\n case 2: while (++i < l) (ev = events[i]).callback.call(ev.ctx, a1, a2); return;\n case 3: while (++i < l) (ev = events[i]).callback.call(ev.ctx, a1, a2, a3); return;\n default: while (++i < l) (ev = events[i]).callback.apply(ev.ctx, args); return;\n }\n };\n\n // A listening class that tracks and cleans up memory bindings\n // when all callbacks have been offed.\n var Listening = function(listener, obj) {\n this.id = listener._listenId;\n this.listener = listener;\n this.obj = obj;\n this.interop = true;\n this.count = 0;\n this._events = void 0;\n };\n\n Listening.prototype.on = Events.on;\n\n // Offs a callback (or several).\n // Uses an optimized counter if the listenee uses Backbone.Events.\n // Otherwise, falls back to manual tracking to support events\n // library interop.\n Listening.prototype.off = function(name, callback) {\n var cleanup;\n if (this.interop) {\n this._events = eventsApi(offApi, this._events, name, callback, {\n context: void 0,\n listeners: void 0\n });\n cleanup = !this._events;\n } else {\n this.count--;\n cleanup = this.count === 0;\n }\n if (cleanup) this.cleanup();\n };\n\n // Cleans up memory bindings between the listener and the listenee.\n Listening.prototype.cleanup = function() {\n delete this.listener._listeningTo[this.obj._listenId];\n if (!this.interop) delete this.obj._listeners[this.id];\n };\n\n // Aliases for backwards compatibility.\n Events.bind = Events.on;\n Events.unbind = Events.off;\n\n // Allow the `Backbone` object to serve as a global event bus, for folks who\n // want global \"pubsub\" in a convenient place.\n _.extend(Backbone, Events);\n\n // Backbone.Model\n // --------------\n\n // Backbone **Models** are the basic data object in the framework --\n // frequently representing a row in a table in a database on your server.\n // A discrete chunk of data and a bunch of useful, related methods for\n // performing computations and transformations on that data.\n\n // Create a new model with the specified attributes. A client id (`cid`)\n // is automatically generated and assigned for you.\n var Model = Backbone.Model = function(attributes, options) {\n var attrs = attributes || {};\n options || (options = {});\n this.preinitialize.apply(this, arguments);\n this.cid = _.uniqueId(this.cidPrefix);\n this.attributes = {};\n if (options.collection) this.collection = options.collection;\n if (options.parse) attrs = this.parse(attrs, options) || {};\n var defaults = _.result(this, 'defaults');\n\n // Just _.defaults would work fine, but the additional _.extends\n // is in there for historical reasons. See #3843.\n attrs = _.defaults(_.extend({}, defaults, attrs), defaults);\n\n this.set(attrs, options);\n this.changed = {};\n this.initialize.apply(this, arguments);\n };\n\n // Attach all inheritable methods to the Model prototype.\n _.extend(Model.prototype, Events, {\n\n // A hash of attributes whose current and previous value differ.\n changed: null,\n\n // The value returned during the last failed validation.\n validationError: null,\n\n // The default name for the JSON `id` attribute is `\"id\"`. MongoDB and\n // CouchDB users may want to set this to `\"_id\"`.\n idAttribute: 'id',\n\n // The prefix is used to create the client id which is used to identify models locally.\n // You may want to override this if you're experiencing name clashes with model ids.\n cidPrefix: 'c',\n\n // preinitialize is an empty function by default. You can override it with a function\n // or object. preinitialize will run before any instantiation logic is run in the Model.\n preinitialize: function(){},\n\n // Initialize is an empty function by default. Override it with your own\n // initialization logic.\n initialize: function(){},\n\n // Return a copy of the model's `attributes` object.\n toJSON: function(options) {\n return _.clone(this.attributes);\n },\n\n // Proxy `Backbone.sync` by default -- but override this if you need\n // custom syncing semantics for *this* particular model.\n sync: function() {\n return Backbone.sync.apply(this, arguments);\n },\n\n // Get the value of an attribute.\n get: function(attr) {\n return this.attributes[attr];\n },\n\n // Get the HTML-escaped value of an attribute.\n escape: function(attr) {\n return _.escape(this.get(attr));\n },\n\n // Returns `true` if the attribute contains a value that is not null\n // or undefined.\n has: function(attr) {\n return this.get(attr) != null;\n },\n\n // Special-cased proxy to underscore's `_.matches` method.\n matches: function(attrs) {\n return !!_.iteratee(attrs, this)(this.attributes);\n },\n\n // Set a hash of model attributes on the object, firing `\"change\"`. This is\n // the core primitive operation of a model, updating the data and notifying\n // anyone who needs to know about the change in state. The heart of the beast.\n set: function(key, val, options) {\n if (key == null) return this;\n\n // Handle both `\"key\", value` and `{key: value}` -style arguments.\n var attrs;\n if (typeof key === 'object') {\n attrs = key;\n options = val;\n } else {\n (attrs = {})[key] = val;\n }\n\n options || (options = {});\n\n // Run validation.\n if (!this._validate(attrs, options)) return false;\n\n // Extract attributes and options.\n var unset = options.unset;\n var silent = options.silent;\n var changes = [];\n var changing = this._changing;\n this._changing = true;\n\n if (!changing) {\n this._previousAttributes = _.clone(this.attributes);\n this.changed = {};\n }\n\n var current = this.attributes;\n var changed = this.changed;\n var prev = this._previousAttributes;\n\n // For each `set` attribute, update or delete the current value.\n for (var attr in attrs) {\n val = attrs[attr];\n if (!_.isEqual(current[attr], val)) changes.push(attr);\n if (!_.isEqual(prev[attr], val)) {\n changed[attr] = val;\n } else {\n delete changed[attr];\n }\n unset ? delete current[attr] : current[attr] = val;\n }\n\n // Update the `id`.\n if (this.idAttribute in attrs) {\n var prevId = this.id;\n this.id = this.get(this.idAttribute);\n if (this.id !== prevId) {\n this.trigger('changeId', this, prevId, options);\n }\n }\n\n // Trigger all relevant attribute changes.\n if (!silent) {\n if (changes.length) this._pending = options;\n for (var i = 0; i < changes.length; i++) {\n this.trigger('change:' + changes[i], this, current[changes[i]], options);\n }\n }\n\n // You might be wondering why there's a `while` loop here. Changes can\n // be recursively nested within `\"change\"` events.\n if (changing) return this;\n if (!silent) {\n while (this._pending) {\n options = this._pending;\n this._pending = false;\n this.trigger('change', this, options);\n }\n }\n this._pending = false;\n this._changing = false;\n return this;\n },\n\n // Remove an attribute from the model, firing `\"change\"`. `unset` is a noop\n // if the attribute doesn't exist.\n unset: function(attr, options) {\n return this.set(attr, void 0, _.extend({}, options, {unset: true}));\n },\n\n // Clear all attributes on the model, firing `\"change\"`.\n clear: function(options) {\n var attrs = {};\n for (var key in this.attributes) attrs[key] = void 0;\n return this.set(attrs, _.extend({}, options, {unset: true}));\n },\n\n // Determine if the model has changed since the last `\"change\"` event.\n // If you specify an attribute name, determine if that attribute has changed.\n hasChanged: function(attr) {\n if (attr == null) return !_.isEmpty(this.changed);\n return _.has(this.changed, attr);\n },\n\n // Return an object containing all the attributes that have changed, or\n // false if there are no changed attributes. Useful for determining what\n // parts of a view need to be updated and/or what attributes need to be\n // persisted to the server. Unset attributes will be set to undefined.\n // You can also pass an attributes object to diff against the model,\n // determining if there *would be* a change.\n changedAttributes: function(diff) {\n if (!diff) return this.hasChanged() ? _.clone(this.changed) : false;\n var old = this._changing ? this._previousAttributes : this.attributes;\n var changed = {};\n var hasChanged;\n for (var attr in diff) {\n var val = diff[attr];\n if (_.isEqual(old[attr], val)) continue;\n changed[attr] = val;\n hasChanged = true;\n }\n return hasChanged ? changed : false;\n },\n\n // Get the previous value of an attribute, recorded at the time the last\n // `\"change\"` event was fired.\n previous: function(attr) {\n if (attr == null || !this._previousAttributes) return null;\n return this._previousAttributes[attr];\n },\n\n // Get all of the attributes of the model at the time of the previous\n // `\"change\"` event.\n previousAttributes: function() {\n return _.clone(this._previousAttributes);\n },\n\n // Fetch the model from the server, merging the response with the model's\n // local attributes. Any changed attributes will trigger a \"change\" event.\n fetch: function(options) {\n options = _.extend({parse: true}, options);\n var model = this;\n var success = options.success;\n options.success = function(resp) {\n var serverAttrs = options.parse ? model.parse(resp, options) : resp;\n if (!model.set(serverAttrs, options)) return false;\n if (success) success.call(options.context, model, resp, options);\n model.trigger('sync', model, resp, options);\n };\n wrapError(this, options);\n return this.sync('read', this, options);\n },\n\n // Set a hash of model attributes, and sync the model to the server.\n // If the server returns an attributes hash that differs, the model's\n // state will be `set` again.\n save: function(key, val, options) {\n // Handle both `\"key\", value` and `{key: value}` -style arguments.\n var attrs;\n if (key == null || typeof key === 'object') {\n attrs = key;\n options = val;\n } else {\n (attrs = {})[key] = val;\n }\n\n options = _.extend({validate: true, parse: true}, options);\n var wait = options.wait;\n\n // If we're not waiting and attributes exist, save acts as\n // `set(attr).save(null, opts)` with validation. Otherwise, check if\n // the model will be valid when the attributes, if any, are set.\n if (attrs && !wait) {\n if (!this.set(attrs, options)) return false;\n } else if (!this._validate(attrs, options)) {\n return false;\n }\n\n // After a successful server-side save, the client is (optionally)\n // updated with the server-side state.\n var model = this;\n var success = options.success;\n var attributes = this.attributes;\n options.success = function(resp) {\n // Ensure attributes are restored during synchronous saves.\n model.attributes = attributes;\n var serverAttrs = options.parse ? model.parse(resp, options) : resp;\n if (wait) serverAttrs = _.extend({}, attrs, serverAttrs);\n if (serverAttrs && !model.set(serverAttrs, options)) return false;\n if (success) success.call(options.context, model, resp, options);\n model.trigger('sync', model, resp, options);\n };\n wrapError(this, options);\n\n // Set temporary attributes if `{wait: true}` to properly find new ids.\n if (attrs && wait) this.attributes = _.extend({}, attributes, attrs);\n\n var method = this.isNew() ? 'create' : options.patch ? 'patch' : 'update';\n if (method === 'patch' && !options.attrs) options.attrs = attrs;\n var xhr = this.sync(method, this, options);\n\n // Restore attributes.\n this.attributes = attributes;\n\n return xhr;\n },\n\n // Destroy this model on the server if it was already persisted.\n // Optimistically removes the model from its collection, if it has one.\n // If `wait: true` is passed, waits for the server to respond before removal.\n destroy: function(options) {\n options = options ? _.clone(options) : {};\n var model = this;\n var success = options.success;\n var wait = options.wait;\n\n var destroy = function() {\n model.stopListening();\n model.trigger('destroy', model, model.collection, options);\n };\n\n options.success = function(resp) {\n if (wait) destroy();\n if (success) success.call(options.context, model, resp, options);\n if (!model.isNew()) model.trigger('sync', model, resp, options);\n };\n\n var xhr = false;\n if (this.isNew()) {\n _.defer(options.success);\n } else {\n wrapError(this, options);\n xhr = this.sync('delete', this, options);\n }\n if (!wait) destroy();\n return xhr;\n },\n\n // Default URL for the model's representation on the server -- if you're\n // using Backbone's restful methods, override this to change the endpoint\n // that will be called.\n url: function() {\n var base =\n _.result(this, 'urlRoot') ||\n _.result(this.collection, 'url') ||\n urlError();\n if (this.isNew()) return base;\n var id = this.get(this.idAttribute);\n return base.replace(/[^\\/]$/, '$&/') + encodeURIComponent(id);\n },\n\n // **parse** converts a response into the hash of attributes to be `set` on\n // the model. The default implementation is just to pass the response along.\n parse: function(resp, options) {\n return resp;\n },\n\n // Create a new model with identical attributes to this one.\n clone: function() {\n return new this.constructor(this.attributes);\n },\n\n // A model is new if it has never been saved to the server, and lacks an id.\n isNew: function() {\n return !this.has(this.idAttribute);\n },\n\n // Check if the model is currently in a valid state.\n isValid: function(options) {\n return this._validate({}, _.extend({}, options, {validate: true}));\n },\n\n // Run validation against the next complete set of model attributes,\n // returning `true` if all is well. Otherwise, fire an `\"invalid\"` event.\n _validate: function(attrs, options) {\n if (!options.validate || !this.validate) return true;\n attrs = _.extend({}, this.attributes, attrs);\n var error = this.validationError = this.validate(attrs, options) || null;\n if (!error) return true;\n this.trigger('invalid', this, error, _.extend(options, {validationError: error}));\n return false;\n }\n\n });\n\n // Backbone.Collection\n // -------------------\n\n // If models tend to represent a single row of data, a Backbone Collection is\n // more analogous to a table full of data ... or a small slice or page of that\n // table, or a collection of rows that belong together for a particular reason\n // -- all of the messages in this particular folder, all of the documents\n // belonging to this particular author, and so on. Collections maintain\n // indexes of their models, both in order, and for lookup by `id`.\n\n // Create a new **Collection**, perhaps to contain a specific type of `model`.\n // If a `comparator` is specified, the Collection will maintain\n // its models in sort order, as they're added and removed.\n var Collection = Backbone.Collection = function(models, options) {\n options || (options = {});\n this.preinitialize.apply(this, arguments);\n if (options.model) this.model = options.model;\n if (options.comparator !== void 0) this.comparator = options.comparator;\n this._reset();\n this.initialize.apply(this, arguments);\n if (models) this.reset(models, _.extend({silent: true}, options));\n };\n\n // Default options for `Collection#set`.\n var setOptions = {add: true, remove: true, merge: true};\n var addOptions = {add: true, remove: false};\n\n // Splices `insert` into `array` at index `at`.\n var splice = function(array, insert, at) {\n at = Math.min(Math.max(at, 0), array.length);\n var tail = Array(array.length - at);\n var length = insert.length;\n var i;\n for (i = 0; i < tail.length; i++) tail[i] = array[i + at];\n for (i = 0; i < length; i++) array[i + at] = insert[i];\n for (i = 0; i < tail.length; i++) array[i + length + at] = tail[i];\n };\n\n // Define the Collection's inheritable methods.\n _.extend(Collection.prototype, Events, {\n\n // The default model for a collection is just a **Backbone.Model**.\n // This should be overridden in most cases.\n model: Model,\n\n\n // preinitialize is an empty function by default. You can override it with a function\n // or object. preinitialize will run before any instantiation logic is run in the Collection.\n preinitialize: function(){},\n\n // Initialize is an empty function by default. Override it with your own\n // initialization logic.\n initialize: function(){},\n\n // The JSON representation of a Collection is an array of the\n // models' attributes.\n toJSON: function(options) {\n return this.map(function(model) { return model.toJSON(options); });\n },\n\n // Proxy `Backbone.sync` by default.\n sync: function() {\n return Backbone.sync.apply(this, arguments);\n },\n\n // Add a model, or list of models to the set. `models` may be Backbone\n // Models or raw JavaScript objects to be converted to Models, or any\n // combination of the two.\n add: function(models, options) {\n return this.set(models, _.extend({merge: false}, options, addOptions));\n },\n\n // Remove a model, or a list of models from the set.\n remove: function(models, options) {\n options = _.extend({}, options);\n var singular = !_.isArray(models);\n models = singular ? [models] : models.slice();\n var removed = this._removeModels(models, options);\n if (!options.silent && removed.length) {\n options.changes = {added: [], merged: [], removed: removed};\n this.trigger('update', this, options);\n }\n return singular ? removed[0] : removed;\n },\n\n // Update a collection by `set`-ing a new list of models, adding new ones,\n // removing models that are no longer present, and merging models that\n // already exist in the collection, as necessary. Similar to **Model#set**,\n // the core operation for updating the data contained by the collection.\n set: function(models, options) {\n if (models == null) return;\n\n options = _.extend({}, setOptions, options);\n if (options.parse && !this._isModel(models)) {\n models = this.parse(models, options) || [];\n }\n\n var singular = !_.isArray(models);\n models = singular ? [models] : models.slice();\n\n var at = options.at;\n if (at != null) at = +at;\n if (at > this.length) at = this.length;\n if (at < 0) at += this.length + 1;\n\n var set = [];\n var toAdd = [];\n var toMerge = [];\n var toRemove = [];\n var modelMap = {};\n\n var add = options.add;\n var merge = options.merge;\n var remove = options.remove;\n\n var sort = false;\n var sortable = this.comparator && at == null && options.sort !== false;\n var sortAttr = _.isString(this.comparator) ? this.comparator : null;\n\n // Turn bare objects into model references, and prevent invalid models\n // from being added.\n var model, i;\n for (i = 0; i < models.length; i++) {\n model = models[i];\n\n // If a duplicate is found, prevent it from being added and\n // optionally merge it into the existing model.\n var existing = this.get(model);\n if (existing) {\n if (merge && model !== existing) {\n var attrs = this._isModel(model) ? model.attributes : model;\n if (options.parse) attrs = existing.parse(attrs, options);\n existing.set(attrs, options);\n toMerge.push(existing);\n if (sortable && !sort) sort = existing.hasChanged(sortAttr);\n }\n if (!modelMap[existing.cid]) {\n modelMap[existing.cid] = true;\n set.push(existing);\n }\n models[i] = existing;\n\n // If this is a new, valid model, push it to the `toAdd` list.\n } else if (add) {\n model = models[i] = this._prepareModel(model, options);\n if (model) {\n toAdd.push(model);\n this._addReference(model, options);\n modelMap[model.cid] = true;\n set.push(model);\n }\n }\n }\n\n // Remove stale models.\n if (remove) {\n for (i = 0; i < this.length; i++) {\n model = this.models[i];\n if (!modelMap[model.cid]) toRemove.push(model);\n }\n if (toRemove.length) this._removeModels(toRemove, options);\n }\n\n // See if sorting is needed, update `length` and splice in new models.\n var orderChanged = false;\n var replace = !sortable && add && remove;\n if (set.length && replace) {\n orderChanged = this.length !== set.length || _.some(this.models, function(m, index) {\n return m !== set[index];\n });\n this.models.length = 0;\n splice(this.models, set, 0);\n this.length = this.models.length;\n } else if (toAdd.length) {\n if (sortable) sort = true;\n splice(this.models, toAdd, at == null ? this.length : at);\n this.length = this.models.length;\n }\n\n // Silently sort the collection if appropriate.\n if (sort) this.sort({silent: true});\n\n // Unless silenced, it's time to fire all appropriate add/sort/update events.\n if (!options.silent) {\n for (i = 0; i < toAdd.length; i++) {\n if (at != null) options.index = at + i;\n model = toAdd[i];\n model.trigger('add', model, this, options);\n }\n if (sort || orderChanged) this.trigger('sort', this, options);\n if (toAdd.length || toRemove.length || toMerge.length) {\n options.changes = {\n added: toAdd,\n removed: toRemove,\n merged: toMerge\n };\n this.trigger('update', this, options);\n }\n }\n\n // Return the added (or merged) model (or models).\n return singular ? models[0] : models;\n },\n\n // When you have more items than you want to add or remove individually,\n // you can reset the entire set with a new list of models, without firing\n // any granular `add` or `remove` events. Fires `reset` when finished.\n // Useful for bulk operations and optimizations.\n reset: function(models, options) {\n options = options ? _.clone(options) : {};\n for (var i = 0; i < this.models.length; i++) {\n this._removeReference(this.models[i], options);\n }\n options.previousModels = this.models;\n this._reset();\n models = this.add(models, _.extend({silent: true}, options));\n if (!options.silent) this.trigger('reset', this, options);\n return models;\n },\n\n // Add a model to the end of the collection.\n push: function(model, options) {\n return this.add(model, _.extend({at: this.length}, options));\n },\n\n // Remove a model from the end of the collection.\n pop: function(options) {\n var model = this.at(this.length - 1);\n return this.remove(model, options);\n },\n\n // Add a model to the beginning of the collection.\n unshift: function(model, options) {\n return this.add(model, _.extend({at: 0}, options));\n },\n\n // Remove a model from the beginning of the collection.\n shift: function(options) {\n var model = this.at(0);\n return this.remove(model, options);\n },\n\n // Slice out a sub-array of models from the collection.\n slice: function() {\n return slice.apply(this.models, arguments);\n },\n\n // Get a model from the set by id, cid, model object with id or cid\n // properties, or an attributes object that is transformed through modelId.\n get: function(obj) {\n if (obj == null) return void 0;\n return this._byId[obj] ||\n this._byId[this.modelId(this._isModel(obj) ? obj.attributes : obj, obj.idAttribute)] ||\n obj.cid && this._byId[obj.cid];\n },\n\n // Returns `true` if the model is in the collection.\n has: function(obj) {\n return this.get(obj) != null;\n },\n\n // Get the model at the given index.\n at: function(index) {\n if (index < 0) index += this.length;\n return this.models[index];\n },\n\n // Return models with matching attributes. Useful for simple cases of\n // `filter`.\n where: function(attrs, first) {\n return this[first ? 'find' : 'filter'](attrs);\n },\n\n // Return the first model with matching attributes. Useful for simple cases\n // of `find`.\n findWhere: function(attrs) {\n return this.where(attrs, true);\n },\n\n // Force the collection to re-sort itself. You don't need to call this under\n // normal circumstances, as the set will maintain sort order as each item\n // is added.\n sort: function(options) {\n var comparator = this.comparator;\n if (!comparator) throw new Error('Cannot sort a set without a comparator');\n options || (options = {});\n\n var length = comparator.length;\n if (_.isFunction(comparator)) comparator = comparator.bind(this);\n\n // Run sort based on type of `comparator`.\n if (length === 1 || _.isString(comparator)) {\n this.models = this.sortBy(comparator);\n } else {\n this.models.sort(comparator);\n }\n if (!options.silent) this.trigger('sort', this, options);\n return this;\n },\n\n // Pluck an attribute from each model in the collection.\n pluck: function(attr) {\n return this.map(attr + '');\n },\n\n // Fetch the default set of models for this collection, resetting the\n // collection when they arrive. If `reset: true` is passed, the response\n // data will be passed through the `reset` method instead of `set`.\n fetch: function(options) {\n options = _.extend({parse: true}, options);\n var success = options.success;\n var collection = this;\n options.success = function(resp) {\n var method = options.reset ? 'reset' : 'set';\n collection[method](resp, options);\n if (success) success.call(options.context, collection, resp, options);\n collection.trigger('sync', collection, resp, options);\n };\n wrapError(this, options);\n return this.sync('read', this, options);\n },\n\n // Create a new instance of a model in this collection. Add the model to the\n // collection immediately, unless `wait: true` is passed, in which case we\n // wait for the server to agree.\n create: function(model, options) {\n options = options ? _.clone(options) : {};\n var wait = options.wait;\n model = this._prepareModel(model, options);\n if (!model) return false;\n if (!wait) this.add(model, options);\n var collection = this;\n var success = options.success;\n options.success = function(m, resp, callbackOpts) {\n if (wait) {\n m.off('error', collection._forwardPristineError, collection);\n collection.add(m, callbackOpts);\n }\n if (success) success.call(callbackOpts.context, m, resp, callbackOpts);\n };\n // In case of wait:true, our collection is not listening to any\n // of the model's events yet, so it will not forward the error\n // event. In this special case, we need to listen for it\n // separately and handle the event just once.\n // (The reason we don't need to do this for the sync event is\n // in the success handler above: we add the model first, which\n // causes the collection to listen, and then invoke the callback\n // that triggers the event.)\n if (wait) {\n model.once('error', this._forwardPristineError, this);\n }\n model.save(null, options);\n return model;\n },\n\n // **parse** converts a response into a list of models to be added to the\n // collection. The default implementation is just to pass it through.\n parse: function(resp, options) {\n return resp;\n },\n\n // Create a new collection with an identical list of models as this one.\n clone: function() {\n return new this.constructor(this.models, {\n model: this.model,\n comparator: this.comparator\n });\n },\n\n // Define how to uniquely identify models in the collection.\n modelId: function(attrs, idAttribute) {\n return attrs[idAttribute || this.model.prototype.idAttribute || 'id'];\n },\n\n // Get an iterator of all models in this collection.\n values: function() {\n return new CollectionIterator(this, ITERATOR_VALUES);\n },\n\n // Get an iterator of all model IDs in this collection.\n keys: function() {\n return new CollectionIterator(this, ITERATOR_KEYS);\n },\n\n // Get an iterator of all [ID, model] tuples in this collection.\n entries: function() {\n return new CollectionIterator(this, ITERATOR_KEYSVALUES);\n },\n\n // Private method to reset all internal state. Called when the collection\n // is first initialized or reset.\n _reset: function() {\n this.length = 0;\n this.models = [];\n this._byId = {};\n },\n\n // Prepare a hash of attributes (or other model) to be added to this\n // collection.\n _prepareModel: function(attrs, options) {\n if (this._isModel(attrs)) {\n if (!attrs.collection) attrs.collection = this;\n return attrs;\n }\n options = options ? _.clone(options) : {};\n options.collection = this;\n\n var model;\n if (this.model.prototype) {\n model = new this.model(attrs, options);\n } else {\n // ES class methods didn't have prototype\n model = this.model(attrs, options);\n }\n\n if (!model.validationError) return model;\n this.trigger('invalid', this, model.validationError, options);\n return false;\n },\n\n // Internal method called by both remove and set.\n _removeModels: function(models, options) {\n var removed = [];\n for (var i = 0; i < models.length; i++) {\n var model = this.get(models[i]);\n if (!model) continue;\n\n var index = this.indexOf(model);\n this.models.splice(index, 1);\n this.length--;\n\n // Remove references before triggering 'remove' event to prevent an\n // infinite loop. #3693\n delete this._byId[model.cid];\n var id = this.modelId(model.attributes, model.idAttribute);\n if (id != null) delete this._byId[id];\n\n if (!options.silent) {\n options.index = index;\n model.trigger('remove', model, this, options);\n }\n\n removed.push(model);\n this._removeReference(model, options);\n }\n if (models.length > 0 && !options.silent) delete options.index;\n return removed;\n },\n\n // Method for checking whether an object should be considered a model for\n // the purposes of adding to the collection.\n _isModel: function(model) {\n return model instanceof Model;\n },\n\n // Internal method to create a model's ties to a collection.\n _addReference: function(model, options) {\n this._byId[model.cid] = model;\n var id = this.modelId(model.attributes, model.idAttribute);\n if (id != null) this._byId[id] = model;\n model.on('all', this._onModelEvent, this);\n },\n\n // Internal method to sever a model's ties to a collection.\n _removeReference: function(model, options) {\n delete this._byId[model.cid];\n var id = this.modelId(model.attributes, model.idAttribute);\n if (id != null) delete this._byId[id];\n if (this === model.collection) delete model.collection;\n model.off('all', this._onModelEvent, this);\n },\n\n // Internal method called every time a model in the set fires an event.\n // Sets need to update their indexes when models change ids. All other\n // events simply proxy through. \"add\" and \"remove\" events that originate\n // in other collections are ignored.\n _onModelEvent: function(event, model, collection, options) {\n if (model) {\n if ((event === 'add' || event === 'remove') && collection !== this) return;\n if (event === 'destroy') this.remove(model, options);\n if (event === 'changeId') {\n var prevId = this.modelId(model.previousAttributes(), model.idAttribute);\n var id = this.modelId(model.attributes, model.idAttribute);\n if (prevId != null) delete this._byId[prevId];\n if (id != null) this._byId[id] = model;\n }\n }\n this.trigger.apply(this, arguments);\n },\n\n // Internal callback method used in `create`. It serves as a\n // stand-in for the `_onModelEvent` method, which is not yet bound\n // during the `wait` period of the `create` call. We still want to\n // forward any `'error'` event at the end of the `wait` period,\n // hence a customized callback.\n _forwardPristineError: function(model, collection, options) {\n // Prevent double forward if the model was already in the\n // collection before the call to `create`.\n if (this.has(model)) return;\n this._onModelEvent('error', model, collection, options);\n }\n });\n\n // Defining an @@iterator method implements JavaScript's Iterable protocol.\n // In modern ES2015 browsers, this value is found at Symbol.iterator.\n /* global Symbol */\n var $$iterator = typeof Symbol === 'function' && Symbol.iterator;\n if ($$iterator) {\n Collection.prototype[$$iterator] = Collection.prototype.values;\n }\n\n // CollectionIterator\n // ------------------\n\n // A CollectionIterator implements JavaScript's Iterator protocol, allowing the\n // use of `for of` loops in modern browsers and interoperation between\n // Backbone.Collection and other JavaScript functions and third-party libraries\n // which can operate on Iterables.\n var CollectionIterator = function(collection, kind) {\n this._collection = collection;\n this._kind = kind;\n this._index = 0;\n };\n\n // This \"enum\" defines the three possible kinds of values which can be emitted\n // by a CollectionIterator that correspond to the values(), keys() and entries()\n // methods on Collection, respectively.\n var ITERATOR_VALUES = 1;\n var ITERATOR_KEYS = 2;\n var ITERATOR_KEYSVALUES = 3;\n\n // All Iterators should themselves be Iterable.\n if ($$iterator) {\n CollectionIterator.prototype[$$iterator] = function() {\n return this;\n };\n }\n\n CollectionIterator.prototype.next = function() {\n if (this._collection) {\n\n // Only continue iterating if the iterated collection is long enough.\n if (this._index < this._collection.length) {\n var model = this._collection.at(this._index);\n this._index++;\n\n // Construct a value depending on what kind of values should be iterated.\n var value;\n if (this._kind === ITERATOR_VALUES) {\n value = model;\n } else {\n var id = this._collection.modelId(model.attributes, model.idAttribute);\n if (this._kind === ITERATOR_KEYS) {\n value = id;\n } else { // ITERATOR_KEYSVALUES\n value = [id, model];\n }\n }\n return {value: value, done: false};\n }\n\n // Once exhausted, remove the reference to the collection so future\n // calls to the next method always return done.\n this._collection = void 0;\n }\n\n return {value: void 0, done: true};\n };\n\n // Backbone.View\n // -------------\n\n // Backbone Views are almost more convention than they are actual code. A View\n // is simply a JavaScript object that represents a logical chunk of UI in the\n // DOM. This might be a single item, an entire list, a sidebar or panel, or\n // even the surrounding frame which wraps your whole app. Defining a chunk of\n // UI as a **View** allows you to define your DOM events declaratively, without\n // having to worry about render order ... and makes it easy for the view to\n // react to specific changes in the state of your models.\n\n // Creating a Backbone.View creates its initial element outside of the DOM,\n // if an existing element is not provided...\n var View = Backbone.View = function(options) {\n this.cid = _.uniqueId('view');\n this.preinitialize.apply(this, arguments);\n _.extend(this, _.pick(options, viewOptions));\n this._ensureElement();\n this.initialize.apply(this, arguments);\n };\n\n // Cached regex to split keys for `delegate`.\n var delegateEventSplitter = /^(\\S+)\\s*(.*)$/;\n\n // List of view options to be set as properties.\n var viewOptions = ['model', 'collection', 'el', 'id', 'attributes', 'className', 'tagName', 'events'];\n\n // Set up all inheritable **Backbone.View** properties and methods.\n _.extend(View.prototype, Events, {\n\n // The default `tagName` of a View's element is `\"div\"`.\n tagName: 'div',\n\n // jQuery delegate for element lookup, scoped to DOM elements within the\n // current view. This should be preferred to global lookups where possible.\n $: function(selector) {\n return this.$el.find(selector);\n },\n\n // preinitialize is an empty function by default. You can override it with a function\n // or object. preinitialize will run before any instantiation logic is run in the View\n preinitialize: function(){},\n\n // Initialize is an empty function by default. Override it with your own\n // initialization logic.\n initialize: function(){},\n\n // **render** is the core function that your view should override, in order\n // to populate its element (`this.el`), with the appropriate HTML. The\n // convention is for **render** to always return `this`.\n render: function() {\n return this;\n },\n\n // Remove this view by taking the element out of the DOM, and removing any\n // applicable Backbone.Events listeners.\n remove: function() {\n this._removeElement();\n this.stopListening();\n return this;\n },\n\n // Remove this view's element from the document and all event listeners\n // attached to it. Exposed for subclasses using an alternative DOM\n // manipulation API.\n _removeElement: function() {\n this.$el.remove();\n },\n\n // Change the view's element (`this.el` property) and re-delegate the\n // view's events on the new element.\n setElement: function(element) {\n this.undelegateEvents();\n this._setElement(element);\n this.delegateEvents();\n return this;\n },\n\n // Creates the `this.el` and `this.$el` references for this view using the\n // given `el`. `el` can be a CSS selector or an HTML string, a jQuery\n // context or an element. Subclasses can override this to utilize an\n // alternative DOM manipulation API and are only required to set the\n // `this.el` property.\n _setElement: function(el) {\n this.$el = el instanceof Backbone.$ ? el : Backbone.$(el);\n this.el = this.$el[0];\n },\n\n // Set callbacks, where `this.events` is a hash of\n //\n // *{\"event selector\": \"callback\"}*\n //\n // {\n // 'mousedown .title': 'edit',\n // 'click .button': 'save',\n // 'click .open': function(e) { ... }\n // }\n //\n // pairs. Callbacks will be bound to the view, with `this` set properly.\n // Uses event delegation for efficiency.\n // Omitting the selector binds the event to `this.el`.\n delegateEvents: function(events) {\n events || (events = _.result(this, 'events'));\n if (!events) return this;\n this.undelegateEvents();\n for (var key in events) {\n var method = events[key];\n if (!_.isFunction(method)) method = this[method];\n if (!method) continue;\n var match = key.match(delegateEventSplitter);\n this.delegate(match[1], match[2], method.bind(this));\n }\n return this;\n },\n\n // Add a single event listener to the view's element (or a child element\n // using `selector`). This only works for delegate-able events: not `focus`,\n // `blur`, and not `change`, `submit`, and `reset` in Internet Explorer.\n delegate: function(eventName, selector, listener) {\n this.$el.on(eventName + '.delegateEvents' + this.cid, selector, listener);\n return this;\n },\n\n // Clears all callbacks previously bound to the view by `delegateEvents`.\n // You usually don't need to use this, but may wish to if you have multiple\n // Backbone views attached to the same DOM element.\n undelegateEvents: function() {\n if (this.$el) this.$el.off('.delegateEvents' + this.cid);\n return this;\n },\n\n // A finer-grained `undelegateEvents` for removing a single delegated event.\n // `selector` and `listener` are both optional.\n undelegate: function(eventName, selector, listener) {\n this.$el.off(eventName + '.delegateEvents' + this.cid, selector, listener);\n return this;\n },\n\n // Produces a DOM element to be assigned to your view. Exposed for\n // subclasses using an alternative DOM manipulation API.\n _createElement: function(tagName) {\n return document.createElement(tagName);\n },\n\n // Ensure that the View has a DOM element to render into.\n // If `this.el` is a string, pass it through `$()`, take the first\n // matching element, and re-assign it to `el`. Otherwise, create\n // an element from the `id`, `className` and `tagName` properties.\n _ensureElement: function() {\n if (!this.el) {\n var attrs = _.extend({}, _.result(this, 'attributes'));\n if (this.id) attrs.id = _.result(this, 'id');\n if (this.className) attrs['class'] = _.result(this, 'className');\n this.setElement(this._createElement(_.result(this, 'tagName')));\n this._setAttributes(attrs);\n } else {\n this.setElement(_.result(this, 'el'));\n }\n },\n\n // Set attributes from a hash on this view's element. Exposed for\n // subclasses using an alternative DOM manipulation API.\n _setAttributes: function(attributes) {\n this.$el.attr(attributes);\n }\n\n });\n\n // Proxy Backbone class methods to Underscore functions, wrapping the model's\n // `attributes` object or collection's `models` array behind the scenes.\n //\n // collection.filter(function(model) { return model.get('age') > 10 });\n // collection.each(this.addView);\n //\n // `Function#apply` can be slow so we use the method's arg count, if we know it.\n var addMethod = function(base, length, method, attribute) {\n switch (length) {\n case 1: return function() {\n return base[method](this[attribute]);\n };\n case 2: return function(value) {\n return base[method](this[attribute], value);\n };\n case 3: return function(iteratee, context) {\n return base[method](this[attribute], cb(iteratee, this), context);\n };\n case 4: return function(iteratee, defaultVal, context) {\n return base[method](this[attribute], cb(iteratee, this), defaultVal, context);\n };\n default: return function() {\n var args = slice.call(arguments);\n args.unshift(this[attribute]);\n return base[method].apply(base, args);\n };\n }\n };\n\n var addUnderscoreMethods = function(Class, base, methods, attribute) {\n _.each(methods, function(length, method) {\n if (base[method]) Class.prototype[method] = addMethod(base, length, method, attribute);\n });\n };\n\n // Support `collection.sortBy('attr')` and `collection.findWhere({id: 1})`.\n var cb = function(iteratee, instance) {\n if (_.isFunction(iteratee)) return iteratee;\n if (_.isObject(iteratee) && !instance._isModel(iteratee)) return modelMatcher(iteratee);\n if (_.isString(iteratee)) return function(model) { return model.get(iteratee); };\n return iteratee;\n };\n var modelMatcher = function(attrs) {\n var matcher = _.matches(attrs);\n return function(model) {\n return matcher(model.attributes);\n };\n };\n\n // Underscore methods that we want to implement on the Collection.\n // 90% of the core usefulness of Backbone Collections is actually implemented\n // right here:\n var collectionMethods = {forEach: 3, each: 3, map: 3, collect: 3, reduce: 0,\n foldl: 0, inject: 0, reduceRight: 0, foldr: 0, find: 3, detect: 3, filter: 3,\n select: 3, reject: 3, every: 3, all: 3, some: 3, any: 3, include: 3, includes: 3,\n contains: 3, invoke: 0, max: 3, min: 3, toArray: 1, size: 1, first: 3,\n head: 3, take: 3, initial: 3, rest: 3, tail: 3, drop: 3, last: 3,\n without: 0, difference: 0, indexOf: 3, shuffle: 1, lastIndexOf: 3,\n isEmpty: 1, chain: 1, sample: 3, partition: 3, groupBy: 3, countBy: 3,\n sortBy: 3, indexBy: 3, findIndex: 3, findLastIndex: 3};\n\n\n // Underscore methods that we want to implement on the Model, mapped to the\n // number of arguments they take.\n var modelMethods = {keys: 1, values: 1, pairs: 1, invert: 1, pick: 0,\n omit: 0, chain: 1, isEmpty: 1};\n\n // Mix in each Underscore method as a proxy to `Collection#models`.\n\n _.each([\n [Collection, collectionMethods, 'models'],\n [Model, modelMethods, 'attributes']\n ], function(config) {\n var Base = config[0],\n methods = config[1],\n attribute = config[2];\n\n Base.mixin = function(obj) {\n var mappings = _.reduce(_.functions(obj), function(memo, name) {\n memo[name] = 0;\n return memo;\n }, {});\n addUnderscoreMethods(Base, obj, mappings, attribute);\n };\n\n addUnderscoreMethods(Base, _, methods, attribute);\n });\n\n // Backbone.sync\n // -------------\n\n // Override this function to change the manner in which Backbone persists\n // models to the server. You will be passed the type of request, and the\n // model in question. By default, makes a RESTful Ajax request\n // to the model's `url()`. Some possible customizations could be:\n //\n // * Use `setTimeout` to batch rapid-fire updates into a single request.\n // * Send up the models as XML instead of JSON.\n // * Persist models via WebSockets instead of Ajax.\n //\n // Turn on `Backbone.emulateHTTP` in order to send `PUT` and `DELETE` requests\n // as `POST`, with a `_method` parameter containing the true HTTP method,\n // as well as all requests with the body as `application/x-www-form-urlencoded`\n // instead of `application/json` with the model in a param named `model`.\n // Useful when interfacing with server-side languages like **PHP** that make\n // it difficult to read the body of `PUT` requests.\n Backbone.sync = function(method, model, options) {\n var type = methodMap[method];\n\n // Default options, unless specified.\n _.defaults(options || (options = {}), {\n emulateHTTP: Backbone.emulateHTTP,\n emulateJSON: Backbone.emulateJSON\n });\n\n // Default JSON-request options.\n var params = {type: type, dataType: 'json'};\n\n // Ensure that we have a URL.\n if (!options.url) {\n params.url = _.result(model, 'url') || urlError();\n }\n\n // Ensure that we have the appropriate request data.\n if (options.data == null && model && (method === 'create' || method === 'update' || method === 'patch')) {\n params.contentType = 'application/json';\n params.data = JSON.stringify(options.attrs || model.toJSON(options));\n }\n\n // For older servers, emulate JSON by encoding the request into an HTML-form.\n if (options.emulateJSON) {\n params.contentType = 'application/x-www-form-urlencoded';\n params.data = params.data ? {model: params.data} : {};\n }\n\n // For older servers, emulate HTTP by mimicking the HTTP method with `_method`\n // And an `X-HTTP-Method-Override` header.\n if (options.emulateHTTP && (type === 'PUT' || type === 'DELETE' || type === 'PATCH')) {\n params.type = 'POST';\n if (options.emulateJSON) params.data._method = type;\n var beforeSend = options.beforeSend;\n options.beforeSend = function(xhr) {\n xhr.setRequestHeader('X-HTTP-Method-Override', type);\n if (beforeSend) return beforeSend.apply(this, arguments);\n };\n }\n\n // Don't process data on a non-GET request.\n if (params.type !== 'GET' && !options.emulateJSON) {\n params.processData = false;\n }\n\n // Pass along `textStatus` and `errorThrown` from jQuery.\n var error = options.error;\n options.error = function(xhr, textStatus, errorThrown) {\n options.textStatus = textStatus;\n options.errorThrown = errorThrown;\n if (error) error.call(options.context, xhr, textStatus, errorThrown);\n };\n\n // Make the request, allowing the user to override any Ajax options.\n var xhr = options.xhr = Backbone.ajax(_.extend(params, options));\n model.trigger('request', model, xhr, options);\n return xhr;\n };\n\n // Map from CRUD to HTTP for our default `Backbone.sync` implementation.\n var methodMap = {\n 'create': 'POST',\n 'update': 'PUT',\n 'patch': 'PATCH',\n 'delete': 'DELETE',\n 'read': 'GET'\n };\n\n // Set the default implementation of `Backbone.ajax` to proxy through to `$`.\n // Override this if you'd like to use a different library.\n Backbone.ajax = function() {\n return Backbone.$.ajax.apply(Backbone.$, arguments);\n };\n\n // Backbone.Router\n // ---------------\n\n // Routers map faux-URLs to actions, and fire events when routes are\n // matched. Creating a new one sets its `routes` hash, if not set statically.\n var Router = Backbone.Router = function(options) {\n options || (options = {});\n this.preinitialize.apply(this, arguments);\n if (options.routes) this.routes = options.routes;\n this._bindRoutes();\n this.initialize.apply(this, arguments);\n };\n\n // Cached regular expressions for matching named param parts and splatted\n // parts of route strings.\n var optionalParam = /\\((.*?)\\)/g;\n var namedParam = /(\\(\\?)?:\\w+/g;\n var splatParam = /\\*\\w+/g;\n var escapeRegExp = /[\\-{}\\[\\]+?.,\\\\\\^$|#\\s]/g;\n\n // Set up all inheritable **Backbone.Router** properties and methods.\n _.extend(Router.prototype, Events, {\n\n // preinitialize is an empty function by default. You can override it with a function\n // or object. preinitialize will run before any instantiation logic is run in the Router.\n preinitialize: function(){},\n\n // Initialize is an empty function by default. Override it with your own\n // initialization logic.\n initialize: function(){},\n\n // Manually bind a single named route to a callback. For example:\n //\n // this.route('search/:query/p:num', 'search', function(query, num) {\n // ...\n // });\n //\n route: function(route, name, callback) {\n if (!_.isRegExp(route)) route = this._routeToRegExp(route);\n if (_.isFunction(name)) {\n callback = name;\n name = '';\n }\n if (!callback) callback = this[name];\n var router = this;\n Backbone.history.route(route, function(fragment) {\n var args = router._extractParameters(route, fragment);\n if (router.execute(callback, args, name) !== false) {\n router.trigger.apply(router, ['route:' + name].concat(args));\n router.trigger('route', name, args);\n Backbone.history.trigger('route', router, name, args);\n }\n });\n return this;\n },\n\n // Execute a route handler with the provided parameters. This is an\n // excellent place to do pre-route setup or post-route cleanup.\n execute: function(callback, args, name) {\n if (callback) callback.apply(this, args);\n },\n\n // Simple proxy to `Backbone.history` to save a fragment into the history.\n navigate: function(fragment, options) {\n Backbone.history.navigate(fragment, options);\n return this;\n },\n\n // Bind all defined routes to `Backbone.history`. We have to reverse the\n // order of the routes here to support behavior where the most general\n // routes can be defined at the bottom of the route map.\n _bindRoutes: function() {\n if (!this.routes) return;\n this.routes = _.result(this, 'routes');\n var route, routes = _.keys(this.routes);\n while ((route = routes.pop()) != null) {\n this.route(route, this.routes[route]);\n }\n },\n\n // Convert a route string into a regular expression, suitable for matching\n // against the current location hash.\n _routeToRegExp: function(route) {\n route = route.replace(escapeRegExp, '\\\\$&')\n .replace(optionalParam, '(?:$1)?')\n .replace(namedParam, function(match, optional) {\n return optional ? match : '([^/?]+)';\n })\n .replace(splatParam, '([^?]*?)');\n return new RegExp('^' + route + '(?:\\\\?([\\\\s\\\\S]*))?$');\n },\n\n // Given a route, and a URL fragment that it matches, return the array of\n // extracted decoded parameters. Empty or unmatched parameters will be\n // treated as `null` to normalize cross-browser behavior.\n _extractParameters: function(route, fragment) {\n var params = route.exec(fragment).slice(1);\n return _.map(params, function(param, i) {\n // Don't decode the search params.\n if (i === params.length - 1) return param || null;\n return param ? decodeURIComponent(param) : null;\n });\n }\n\n });\n\n // Backbone.History\n // ----------------\n\n // Handles cross-browser history management, based on either\n // [pushState](http://diveintohtml5.info/history.html) and real URLs, or\n // [onhashchange](https://developer.mozilla.org/en-US/docs/DOM/window.onhashchange)\n // and URL fragments. If the browser supports neither (old IE, natch),\n // falls back to polling.\n var History = Backbone.History = function() {\n this.handlers = [];\n this.checkUrl = this.checkUrl.bind(this);\n\n // Ensure that `History` can be used outside of the browser.\n if (typeof window !== 'undefined') {\n this.location = window.location;\n this.history = window.history;\n }\n };\n\n // Cached regex for stripping a leading hash/slash and trailing space.\n var routeStripper = /^[#\\/]|\\s+$/g;\n\n // Cached regex for stripping leading and trailing slashes.\n var rootStripper = /^\\/+|\\/+$/g;\n\n // Cached regex for stripping urls of hash.\n var pathStripper = /#.*$/;\n\n // Has the history handling already been started?\n History.started = false;\n\n // Set up all inheritable **Backbone.History** properties and methods.\n _.extend(History.prototype, Events, {\n\n // The default interval to poll for hash changes, if necessary, is\n // twenty times a second.\n interval: 50,\n\n // Are we at the app root?\n atRoot: function() {\n var path = this.location.pathname.replace(/[^\\/]$/, '$&/');\n return path === this.root && !this.getSearch();\n },\n\n // Does the pathname match the root?\n matchRoot: function() {\n var path = this.decodeFragment(this.location.pathname);\n var rootPath = path.slice(0, this.root.length - 1) + '/';\n return rootPath === this.root;\n },\n\n // Unicode characters in `location.pathname` are percent encoded so they're\n // decoded for comparison. `%25` should not be decoded since it may be part\n // of an encoded parameter.\n decodeFragment: function(fragment) {\n return decodeURI(fragment.replace(/%25/g, '%2525'));\n },\n\n // In IE6, the hash fragment and search params are incorrect if the\n // fragment contains `?`.\n getSearch: function() {\n var match = this.location.href.replace(/#.*/, '').match(/\\?.+/);\n return match ? match[0] : '';\n },\n\n // Gets the true hash value. Cannot use location.hash directly due to bug\n // in Firefox where location.hash will always be decoded.\n getHash: function(window) {\n var match = (window || this).location.href.match(/#(.*)$/);\n return match ? match[1] : '';\n },\n\n // Get the pathname and search params, without the root.\n getPath: function() {\n var path = this.decodeFragment(\n this.location.pathname + this.getSearch()\n ).slice(this.root.length - 1);\n return path.charAt(0) === '/' ? path.slice(1) : path;\n },\n\n // Get the cross-browser normalized URL fragment from the path or hash.\n getFragment: function(fragment) {\n if (fragment == null) {\n if (this._usePushState || !this._wantsHashChange) {\n fragment = this.getPath();\n } else {\n fragment = this.getHash();\n }\n }\n return fragment.replace(routeStripper, '');\n },\n\n // Start the hash change handling, returning `true` if the current URL matches\n // an existing route, and `false` otherwise.\n start: function(options) {\n if (History.started) throw new Error('Backbone.history has already been started');\n History.started = true;\n\n // Figure out the initial configuration. Do we need an iframe?\n // Is pushState desired ... is it available?\n this.options = _.extend({root: '/'}, this.options, options);\n this.root = this.options.root;\n this._trailingSlash = this.options.trailingSlash;\n this._wantsHashChange = this.options.hashChange !== false;\n this._hasHashChange = 'onhashchange' in window && (document.documentMode === void 0 || document.documentMode > 7);\n this._useHashChange = this._wantsHashChange && this._hasHashChange;\n this._wantsPushState = !!this.options.pushState;\n this._hasPushState = !!(this.history && this.history.pushState);\n this._usePushState = this._wantsPushState && this._hasPushState;\n this.fragment = this.getFragment();\n\n // Normalize root to always include a leading and trailing slash.\n this.root = ('/' + this.root + '/').replace(rootStripper, '/');\n\n // Transition from hashChange to pushState or vice versa if both are\n // requested.\n if (this._wantsHashChange && this._wantsPushState) {\n\n // If we've started off with a route from a `pushState`-enabled\n // browser, but we're currently in a browser that doesn't support it...\n if (!this._hasPushState && !this.atRoot()) {\n var rootPath = this.root.slice(0, -1) || '/';\n this.location.replace(rootPath + '#' + this.getPath());\n // Return immediately as browser will do redirect to new url\n return true;\n\n // Or if we've started out with a hash-based route, but we're currently\n // in a browser where it could be `pushState`-based instead...\n } else if (this._hasPushState && this.atRoot()) {\n this.navigate(this.getHash(), {replace: true});\n }\n\n }\n\n // Proxy an iframe to handle location events if the browser doesn't\n // support the `hashchange` event, HTML5 history, or the user wants\n // `hashChange` but not `pushState`.\n if (!this._hasHashChange && this._wantsHashChange && !this._usePushState) {\n this.iframe = document.createElement('iframe');\n this.iframe.src = 'javascript:0';\n this.iframe.style.display = 'none';\n this.iframe.tabIndex = -1;\n var body = document.body;\n // Using `appendChild` will throw on IE < 9 if the document is not ready.\n var iWindow = body.insertBefore(this.iframe, body.firstChild).contentWindow;\n iWindow.document.open();\n iWindow.document.close();\n iWindow.location.hash = '#' + this.fragment;\n }\n\n // Add a cross-platform `addEventListener` shim for older browsers.\n var addEventListener = window.addEventListener || function(eventName, listener) {\n return attachEvent('on' + eventName, listener);\n };\n\n // Depending on whether we're using pushState or hashes, and whether\n // 'onhashchange' is supported, determine how we check the URL state.\n if (this._usePushState) {\n addEventListener('popstate', this.checkUrl, false);\n } else if (this._useHashChange && !this.iframe) {\n addEventListener('hashchange', this.checkUrl, false);\n } else if (this._wantsHashChange) {\n this._checkUrlInterval = setInterval(this.checkUrl, this.interval);\n }\n\n if (!this.options.silent) return this.loadUrl();\n },\n\n // Disable Backbone.history, perhaps temporarily. Not useful in a real app,\n // but possibly useful for unit testing Routers.\n stop: function() {\n // Add a cross-platform `removeEventListener` shim for older browsers.\n var removeEventListener = window.removeEventListener || function(eventName, listener) {\n return detachEvent('on' + eventName, listener);\n };\n\n // Remove window listeners.\n if (this._usePushState) {\n removeEventListener('popstate', this.checkUrl, false);\n } else if (this._useHashChange && !this.iframe) {\n removeEventListener('hashchange', this.checkUrl, false);\n }\n\n // Clean up the iframe if necessary.\n if (this.iframe) {\n document.body.removeChild(this.iframe);\n this.iframe = null;\n }\n\n // Some environments will throw when clearing an undefined interval.\n if (this._checkUrlInterval) clearInterval(this._checkUrlInterval);\n History.started = false;\n },\n\n // Add a route to be tested when the fragment changes. Routes added later\n // may override previous routes.\n route: function(route, callback) {\n this.handlers.unshift({route: route, callback: callback});\n },\n\n // Checks the current URL to see if it has changed, and if it has,\n // calls `loadUrl`, normalizing across the hidden iframe.\n checkUrl: function(e) {\n var current = this.getFragment();\n\n // If the user pressed the back button, the iframe's hash will have\n // changed and we should use that for comparison.\n if (current === this.fragment && this.iframe) {\n current = this.getHash(this.iframe.contentWindow);\n }\n\n if (current === this.fragment) {\n if (!this.matchRoot()) return this.notfound();\n return false;\n }\n if (this.iframe) this.navigate(current);\n this.loadUrl();\n },\n\n // Attempt to load the current URL fragment. If a route succeeds with a\n // match, returns `true`. If no defined routes matches the fragment,\n // returns `false`.\n loadUrl: function(fragment) {\n // If the root doesn't match, no routes can match either.\n if (!this.matchRoot()) return this.notfound();\n fragment = this.fragment = this.getFragment(fragment);\n return _.some(this.handlers, function(handler) {\n if (handler.route.test(fragment)) {\n handler.callback(fragment);\n return true;\n }\n }) || this.notfound();\n },\n\n // When no route could be matched, this method is called internally to\n // trigger the `'notfound'` event. It returns `false` so that it can be used\n // in tail position.\n notfound: function() {\n this.trigger('notfound');\n return false;\n },\n\n // Save a fragment into the hash history, or replace the URL state if the\n // 'replace' option is passed. You are responsible for properly URL-encoding\n // the fragment in advance.\n //\n // The options object can contain `trigger: true` if you wish to have the\n // route callback be fired (not usually desirable), or `replace: true`, if\n // you wish to modify the current URL without adding an entry to the history.\n navigate: function(fragment, options) {\n if (!History.started) return false;\n if (!options || options === true) options = {trigger: !!options};\n\n // Normalize the fragment.\n fragment = this.getFragment(fragment || '');\n\n // Strip trailing slash on the root unless _trailingSlash is true\n var rootPath = this.root;\n if (!this._trailingSlash && (fragment === '' || fragment.charAt(0) === '?')) {\n rootPath = rootPath.slice(0, -1) || '/';\n }\n var url = rootPath + fragment;\n\n // Strip the fragment of the query and hash for matching.\n fragment = fragment.replace(pathStripper, '');\n\n // Decode for matching.\n var decodedFragment = this.decodeFragment(fragment);\n\n if (this.fragment === decodedFragment) return;\n this.fragment = decodedFragment;\n\n // If pushState is available, we use it to set the fragment as a real URL.\n if (this._usePushState) {\n this.history[options.replace ? 'replaceState' : 'pushState']({}, document.title, url);\n\n // If hash changes haven't been explicitly disabled, update the hash\n // fragment to store history.\n } else if (this._wantsHashChange) {\n this._updateHash(this.location, fragment, options.replace);\n if (this.iframe && fragment !== this.getHash(this.iframe.contentWindow)) {\n var iWindow = this.iframe.contentWindow;\n\n // Opening and closing the iframe tricks IE7 and earlier to push a\n // history entry on hash-tag change. When replace is true, we don't\n // want this.\n if (!options.replace) {\n iWindow.document.open();\n iWindow.document.close();\n }\n\n this._updateHash(iWindow.location, fragment, options.replace);\n }\n\n // If you've told us that you explicitly don't want fallback hashchange-\n // based history, then `navigate` becomes a page refresh.\n } else {\n return this.location.assign(url);\n }\n if (options.trigger) return this.loadUrl(fragment);\n },\n\n // Update the hash location, either replacing the current entry, or adding\n // a new one to the browser history.\n _updateHash: function(location, fragment, replace) {\n if (replace) {\n var href = location.href.replace(/(javascript:|#).*$/, '');\n location.replace(href + '#' + fragment);\n } else {\n // Some browsers require that `hash` contains a leading #.\n location.hash = '#' + fragment;\n }\n }\n\n });\n\n // Create the default Backbone.history.\n Backbone.history = new History;\n\n // Helpers\n // -------\n\n // Helper function to correctly set up the prototype chain for subclasses.\n // Similar to `goog.inherits`, but uses a hash of prototype properties and\n // class properties to be extended.\n var extend = function(protoProps, staticProps) {\n var parent = this;\n var child;\n\n // The constructor function for the new subclass is either defined by you\n // (the \"constructor\" property in your `extend` definition), or defaulted\n // by us to simply call the parent constructor.\n if (protoProps && _.has(protoProps, 'constructor')) {\n child = protoProps.constructor;\n } else {\n child = function(){ return parent.apply(this, arguments); };\n }\n\n // Add static properties to the constructor function, if supplied.\n _.extend(child, parent, staticProps);\n\n // Set the prototype chain to inherit from `parent`, without calling\n // `parent`'s constructor function and add the prototype properties.\n child.prototype = _.create(parent.prototype, protoProps);\n child.prototype.constructor = child;\n\n // Set a convenience property in case the parent's prototype is needed\n // later.\n child.__super__ = parent.prototype;\n\n return child;\n };\n\n // Set up inheritance for the model, collection, router, view and history.\n Model.extend = Collection.extend = Router.extend = View.extend = History.extend = extend;\n\n // Throw an error when a URL is needed, and none is supplied.\n var urlError = function() {\n throw new Error('A \"url\" property or function must be specified');\n };\n\n // Wrap an optional error callback with a fallback error event.\n var wrapError = function(model, options) {\n var error = options.error;\n options.error = function(resp) {\n if (error) error.call(options.context, model, resp, options);\n model.trigger('error', model, resp, options);\n };\n };\n\n // Provide useful information when things go wrong. This method is not meant\n // to be used directly; it merely provides the necessary introspection for the\n // external `debugInfo` function.\n Backbone._debug = function() {\n return {root: root, _: _};\n };\n\n return Backbone;\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, `.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-f91ba7fe]{text-align:start;font-size:1rem;margin:0}.login-form__fieldset[data-v-f91ba7fe]{width:100%;display:flex;flex-direction:column;gap:.5rem}.login-form__headline[data-v-f91ba7fe]{text-align:center;overflow-wrap:anywhere}.login-form[data-v-f91ba7fe] 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-0b57a680]{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","/*\n * vim: expandtab shiftwidth=4 softtabstop=4\n */\n\nconst dav = {}\n\ndav._XML_CHAR_MAP = {\n '<': '<',\n '>': '>',\n '&': '&',\n '\"': '"',\n \"'\": '''\n};\n\ndav._escapeXml = function(s) {\n return s.replace(/[<>&\"']/g, function (ch) {\n return dav._XML_CHAR_MAP[ch];\n });\n};\n\ndav.Client = function(options) {\n var i;\n for(i in options) {\n this[i] = options[i];\n }\n\n};\n\ndav.Client.prototype = {\n\n baseUrl : null,\n\n userName : null,\n\n password : null,\n\n\n xmlNamespaces : {\n 'DAV:' : 'd'\n },\n\n /**\n * Generates a propFind request.\n *\n * @param {string} url Url to do the propfind request on\n * @param {Array} properties List of properties to retrieve.\n * @param {string} depth \"0\", \"1\" or \"infinity\"\n * @param {Object} [headers] headers\n * @return {Promise}\n */\n propFind : function(url, properties, depth, headers) {\n\n if(typeof depth === \"undefined\") {\n depth = '0';\n }\n\n // depth header must be a string, in case a number was passed in\n depth = '' + depth;\n\n headers = headers || {};\n\n headers['Depth'] = depth;\n headers['Content-Type'] = 'application/xml; charset=utf-8';\n\n var body =\n '\\n' +\n '\\n';\n\n for(var ii in properties) {\n if (!properties.hasOwnProperty(ii)) {\n continue;\n }\n\n var property = this.parseClarkNotation(properties[ii]);\n if (this.xmlNamespaces[property.namespace]) {\n body+=' <' + this.xmlNamespaces[property.namespace] + ':' + property.name + ' />\\n';\n } else {\n body+=' \\n';\n }\n\n }\n body+=' \\n';\n body+='';\n\n return this.request('PROPFIND', url, headers, body).then(\n function(result) {\n\n if (depth === '0') {\n return {\n status: result.status,\n body: result.body[0],\n xhr: result.xhr\n };\n } else {\n return {\n status: result.status,\n body: result.body,\n xhr: result.xhr\n };\n }\n\n }.bind(this)\n );\n\n },\n\n /**\n * Renders a \"d:set\" block for the given properties.\n *\n * @param {Object.} properties\n * @return {String} XML \"\" block\n */\n _renderPropSet: function(properties) {\n var body = ' \\n' +\n ' \\n';\n\n for(var ii in properties) {\n if (!properties.hasOwnProperty(ii)) {\n continue;\n }\n\n var property = this.parseClarkNotation(ii);\n var propName;\n var propValue = properties[ii];\n if (this.xmlNamespaces[property.namespace]) {\n propName = this.xmlNamespaces[property.namespace] + ':' + property.name;\n } else {\n propName = 'x:' + property.name + ' xmlns:x=\"' + property.namespace + '\"';\n }\n\n // FIXME: hard-coded for now until we allow properties to\n // specify whether to be escaped or not\n if (propName !== 'd:resourcetype') {\n propValue = dav._escapeXml(propValue);\n }\n body += ' <' + propName + '>' + propValue + '\\n';\n }\n body +=' \\n';\n body +=' \\n';\n return body;\n },\n\n /**\n * Generates a propPatch request.\n *\n * @param {string} url Url to do the proppatch request on\n * @param {Object.} properties List of properties to store.\n * @param {Object} [headers] headers\n * @return {Promise}\n */\n propPatch : function(url, properties, headers) {\n headers = headers || {};\n\n headers['Content-Type'] = 'application/xml; charset=utf-8';\n\n var body =\n '\\n' +\n '} [properties] list of properties to store.\n * @param {Object} [headers] headers\n * @return {Promise}\n */\n mkcol : function(url, properties, headers) {\n var body = '';\n headers = headers || {};\n headers['Content-Type'] = 'application/xml; charset=utf-8';\n\n if (properties) {\n body =\n '\\n' +\n ' 0) {\n var subNodes = [];\n // filter out text nodes\n for (var j = 0; j < propNode.childNodes.length; j++) {\n var node = propNode.childNodes[j];\n if (node.nodeType === 1) {\n subNodes.push(node);\n }\n }\n if (subNodes.length) {\n content = subNodes;\n }\n }\n\n return content || propNode.textContent || propNode.text || '';\n },\n\n /**\n * Parses a multi-status response body.\n *\n * @param {string} xmlBody\n * @param {Array}\n */\n parseMultiStatus : function(xmlBody) {\n\n var parser = new DOMParser();\n var doc = parser.parseFromString(xmlBody, \"application/xml\");\n\n var resolver = function(foo) {\n var ii;\n for(ii in this.xmlNamespaces) {\n if (this.xmlNamespaces[ii] === foo) {\n return ii;\n }\n }\n }.bind(this);\n\n var responseIterator = doc.evaluate('/d:multistatus/d:response', doc, resolver, XPathResult.ANY_TYPE, null);\n\n var result = [];\n var responseNode = responseIterator.iterateNext();\n\n while(responseNode) {\n\n var response = {\n href : null,\n propStat : []\n };\n\n response.href = doc.evaluate('string(d:href)', responseNode, resolver, XPathResult.ANY_TYPE, null).stringValue;\n\n var propStatIterator = doc.evaluate('d:propstat', responseNode, resolver, XPathResult.ANY_TYPE, null);\n var propStatNode = propStatIterator.iterateNext();\n\n while(propStatNode) {\n var propStat = {\n status : doc.evaluate('string(d:status)', propStatNode, resolver, XPathResult.ANY_TYPE, null).stringValue,\n properties : {},\n };\n\n var propIterator = doc.evaluate('d:prop/*', propStatNode, resolver, XPathResult.ANY_TYPE, null);\n\n var propNode = propIterator.iterateNext();\n while(propNode) {\n var content = this._parsePropNode(propNode);\n propStat.properties['{' + propNode.namespaceURI + '}' + propNode.localName] = content;\n propNode = propIterator.iterateNext();\n\n }\n response.propStat.push(propStat);\n propStatNode = propStatIterator.iterateNext();\n\n\n }\n\n result.push(response);\n responseNode = responseIterator.iterateNext();\n\n }\n\n return result;\n\n },\n\n /**\n * Takes a relative url, and maps it to an absolute url, using the baseUrl\n *\n * @param {string} url\n * @return {string}\n */\n resolveUrl : function(url) {\n\n // Note: this is rudamentary.. not sure yet if it handles every case.\n if (/^https?:\\/\\//i.test(url)) {\n // absolute\n return url;\n }\n\n var baseParts = this.parseUrl(this.baseUrl);\n if (url.charAt('/')) {\n // Url starts with a slash\n return baseParts.root + url;\n }\n\n // Url does not start with a slash, we need grab the base url right up until the last slash.\n var newUrl = baseParts.root + '/';\n if (baseParts.path.lastIndexOf('/')!==-1) {\n newUrl = newUrl = baseParts.path.subString(0, baseParts.path.lastIndexOf('/')) + '/';\n }\n newUrl+=url;\n return url;\n\n },\n\n /**\n * Parses a url and returns its individual components.\n *\n * @param {String} url\n * @return {Object}\n */\n parseUrl : function(url) {\n\n var parts = url.match(/^(?:([A-Za-z]+):)?(\\/{0,3})([0-9.\\-A-Za-z]+)(?::(\\d+))?(?:\\/([^?#]*))?(?:\\?([^#]*))?(?:#(.*))?$/);\n var result = {\n url : parts[0],\n scheme : parts[1],\n host : parts[3],\n port : parts[4],\n path : parts[5],\n query : parts[6],\n fragment : parts[7],\n };\n result.root =\n result.scheme + '://' +\n result.host +\n (result.port ? ':' + result.port : '');\n\n return result;\n\n },\n\n parseClarkNotation : function(propertyName) {\n\n var result = propertyName.match(/^{([^}]+)}(.*)$/);\n if (!result) {\n return;\n }\n\n return {\n name : result[2],\n namespace : result[1]\n };\n\n }\n\n};\n\nmodule.exports = {\n dav,\n Client: dav.Client,\n}\n","'use strict';\n\nexports.__esModule = true;\n// istanbul ignore next\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\n// istanbul ignore next\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }\n\nvar _handlebarsBase = require('./handlebars/base');\n\nvar base = _interopRequireWildcard(_handlebarsBase);\n\n// Each of these augment the Handlebars object. No need to setup here.\n// (This is done to easily share code between commonjs and browse envs)\n\nvar _handlebarsSafeString = require('./handlebars/safe-string');\n\nvar _handlebarsSafeString2 = _interopRequireDefault(_handlebarsSafeString);\n\nvar _handlebarsException = require('./handlebars/exception');\n\nvar _handlebarsException2 = _interopRequireDefault(_handlebarsException);\n\nvar _handlebarsUtils = require('./handlebars/utils');\n\nvar Utils = _interopRequireWildcard(_handlebarsUtils);\n\nvar _handlebarsRuntime = require('./handlebars/runtime');\n\nvar runtime = _interopRequireWildcard(_handlebarsRuntime);\n\nvar _handlebarsNoConflict = require('./handlebars/no-conflict');\n\nvar _handlebarsNoConflict2 = _interopRequireDefault(_handlebarsNoConflict);\n\n// For compatibility and usage outside of module systems, make the Handlebars object a namespace\nfunction create() {\n var hb = new base.HandlebarsEnvironment();\n\n Utils.extend(hb, base);\n hb.SafeString = _handlebarsSafeString2['default'];\n hb.Exception = _handlebarsException2['default'];\n hb.Utils = Utils;\n hb.escapeExpression = Utils.escapeExpression;\n\n hb.VM = runtime;\n hb.template = function (spec) {\n return runtime.template(spec, hb);\n };\n\n return hb;\n}\n\nvar inst = create();\ninst.create = create;\n\n_handlebarsNoConflict2['default'](inst);\n\ninst['default'] = inst;\n\nexports['default'] = inst;\nmodule.exports = exports['default'];\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9oYW5kbGViYXJzLnJ1bnRpbWUuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OEJBQXNCLG1CQUFtQjs7SUFBN0IsSUFBSTs7Ozs7b0NBSU8sMEJBQTBCOzs7O21DQUMzQix3QkFBd0I7Ozs7K0JBQ3ZCLG9CQUFvQjs7SUFBL0IsS0FBSzs7aUNBQ1Esc0JBQXNCOztJQUFuQyxPQUFPOztvQ0FFSSwwQkFBMEI7Ozs7O0FBR2pELFNBQVMsTUFBTSxHQUFHO0FBQ2hCLE1BQUksRUFBRSxHQUFHLElBQUksSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7O0FBRTFDLE9BQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ3ZCLElBQUUsQ0FBQyxVQUFVLG9DQUFhLENBQUM7QUFDM0IsSUFBRSxDQUFDLFNBQVMsbUNBQVksQ0FBQztBQUN6QixJQUFFLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztBQUNqQixJQUFFLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDLGdCQUFnQixDQUFDOztBQUU3QyxJQUFFLENBQUMsRUFBRSxHQUFHLE9BQU8sQ0FBQztBQUNoQixJQUFFLENBQUMsUUFBUSxHQUFHLFVBQVMsSUFBSSxFQUFFO0FBQzNCLFdBQU8sT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7R0FDbkMsQ0FBQzs7QUFFRixTQUFPLEVBQUUsQ0FBQztDQUNYOztBQUVELElBQUksSUFBSSxHQUFHLE1BQU0sRUFBRSxDQUFDO0FBQ3BCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDOztBQUVyQixrQ0FBVyxJQUFJLENBQUMsQ0FBQzs7QUFFakIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLElBQUksQ0FBQzs7cUJBRVIsSUFBSSIsImZpbGUiOiJoYW5kbGViYXJzLnJ1bnRpbWUuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBiYXNlIGZyb20gJy4vaGFuZGxlYmFycy9iYXNlJztcblxuLy8gRWFjaCBvZiB0aGVzZSBhdWdtZW50IHRoZSBIYW5kbGViYXJzIG9iamVjdC4gTm8gbmVlZCB0byBzZXR1cCBoZXJlLlxuLy8gKFRoaXMgaXMgZG9uZSB0byBlYXNpbHkgc2hhcmUgY29kZSBiZXR3ZWVuIGNvbW1vbmpzIGFuZCBicm93c2UgZW52cylcbmltcG9ydCBTYWZlU3RyaW5nIGZyb20gJy4vaGFuZGxlYmFycy9zYWZlLXN0cmluZyc7XG5pbXBvcnQgRXhjZXB0aW9uIGZyb20gJy4vaGFuZGxlYmFycy9leGNlcHRpb24nO1xuaW1wb3J0ICogYXMgVXRpbHMgZnJvbSAnLi9oYW5kbGViYXJzL3V0aWxzJztcbmltcG9ydCAqIGFzIHJ1bnRpbWUgZnJvbSAnLi9oYW5kbGViYXJzL3J1bnRpbWUnO1xuXG5pbXBvcnQgbm9Db25mbGljdCBmcm9tICcuL2hhbmRsZWJhcnMvbm8tY29uZmxpY3QnO1xuXG4vLyBGb3IgY29tcGF0aWJpbGl0eSBhbmQgdXNhZ2Ugb3V0c2lkZSBvZiBtb2R1bGUgc3lzdGVtcywgbWFrZSB0aGUgSGFuZGxlYmFycyBvYmplY3QgYSBuYW1lc3BhY2VcbmZ1bmN0aW9uIGNyZWF0ZSgpIHtcbiAgbGV0IGhiID0gbmV3IGJhc2UuSGFuZGxlYmFyc0Vudmlyb25tZW50KCk7XG5cbiAgVXRpbHMuZXh0ZW5kKGhiLCBiYXNlKTtcbiAgaGIuU2FmZVN0cmluZyA9IFNhZmVTdHJpbmc7XG4gIGhiLkV4Y2VwdGlvbiA9IEV4Y2VwdGlvbjtcbiAgaGIuVXRpbHMgPSBVdGlscztcbiAgaGIuZXNjYXBlRXhwcmVzc2lvbiA9IFV0aWxzLmVzY2FwZUV4cHJlc3Npb247XG5cbiAgaGIuVk0gPSBydW50aW1lO1xuICBoYi50ZW1wbGF0ZSA9IGZ1bmN0aW9uKHNwZWMpIHtcbiAgICByZXR1cm4gcnVudGltZS50ZW1wbGF0ZShzcGVjLCBoYik7XG4gIH07XG5cbiAgcmV0dXJuIGhiO1xufVxuXG5sZXQgaW5zdCA9IGNyZWF0ZSgpO1xuaW5zdC5jcmVhdGUgPSBjcmVhdGU7XG5cbm5vQ29uZmxpY3QoaW5zdCk7XG5cbmluc3RbJ2RlZmF1bHQnXSA9IGluc3Q7XG5cbmV4cG9ydCBkZWZhdWx0IGluc3Q7XG4iXX0=\n","'use strict';\n\nexports.__esModule = true;\nexports.HandlebarsEnvironment = HandlebarsEnvironment;\n// istanbul ignore next\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _utils = require('./utils');\n\nvar _exception = require('./exception');\n\nvar _exception2 = _interopRequireDefault(_exception);\n\nvar _helpers = require('./helpers');\n\nvar _decorators = require('./decorators');\n\nvar _logger = require('./logger');\n\nvar _logger2 = _interopRequireDefault(_logger);\n\nvar _internalProtoAccess = require('./internal/proto-access');\n\nvar VERSION = '4.7.9';\nexports.VERSION = VERSION;\nvar COMPILER_REVISION = 8;\nexports.COMPILER_REVISION = COMPILER_REVISION;\nvar LAST_COMPATIBLE_COMPILER_REVISION = 7;\n\nexports.LAST_COMPATIBLE_COMPILER_REVISION = LAST_COMPATIBLE_COMPILER_REVISION;\nvar REVISION_CHANGES = {\n 1: '<= 1.0.rc.2', // 1.0.rc.2 is actually rev2 but doesn't report it\n 2: '== 1.0.0-rc.3',\n 3: '== 1.0.0-rc.4',\n 4: '== 1.x.x',\n 5: '== 2.0.0-alpha.x',\n 6: '>= 2.0.0-beta.1',\n 7: '>= 4.0.0 <4.3.0',\n 8: '>= 4.3.0'\n};\n\nexports.REVISION_CHANGES = REVISION_CHANGES;\nvar objectType = '[object Object]';\n\nfunction HandlebarsEnvironment(helpers, partials, decorators) {\n this.helpers = helpers || {};\n this.partials = partials || {};\n this.decorators = decorators || {};\n\n _helpers.registerDefaultHelpers(this);\n _decorators.registerDefaultDecorators(this);\n}\n\nHandlebarsEnvironment.prototype = {\n constructor: HandlebarsEnvironment,\n\n logger: _logger2['default'],\n log: _logger2['default'].log,\n\n registerHelper: function registerHelper(name, fn) {\n if (_utils.toString.call(name) === objectType) {\n if (fn) {\n throw new _exception2['default']('Arg not supported with multiple helpers');\n }\n _utils.extend(this.helpers, name);\n } else {\n this.helpers[name] = fn;\n }\n },\n unregisterHelper: function unregisterHelper(name) {\n delete this.helpers[name];\n },\n\n registerPartial: function registerPartial(name, partial) {\n if (_utils.toString.call(name) === objectType) {\n _utils.extend(this.partials, name);\n } else {\n if (typeof partial === 'undefined') {\n throw new _exception2['default']('Attempting to register a partial called \"' + name + '\" as undefined');\n }\n this.partials[name] = partial;\n }\n },\n unregisterPartial: function unregisterPartial(name) {\n delete this.partials[name];\n },\n\n registerDecorator: function registerDecorator(name, fn) {\n if (_utils.toString.call(name) === objectType) {\n if (fn) {\n throw new _exception2['default']('Arg not supported with multiple decorators');\n }\n _utils.extend(this.decorators, name);\n } else {\n this.decorators[name] = fn;\n }\n },\n unregisterDecorator: function unregisterDecorator(name) {\n delete this.decorators[name];\n },\n /**\n * Reset the memory of illegal property accesses that have already been logged.\n * @deprecated should only be used in handlebars test-cases\n */\n resetLoggedPropertyAccesses: function resetLoggedPropertyAccesses() {\n _internalProtoAccess.resetLoggedProperties();\n }\n};\n\nvar log = _logger2['default'].log;\n\nexports.log = log;\nexports.createFrame = _utils.createFrame;\nexports.logger = _logger2['default'];\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2Jhc2UuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7cUJBQThDLFNBQVM7O3lCQUNqQyxhQUFhOzs7O3VCQUNJLFdBQVc7OzBCQUNSLGNBQWM7O3NCQUNyQyxVQUFVOzs7O21DQUNTLHlCQUF5Qjs7QUFFeEQsSUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDOztBQUN4QixJQUFNLGlCQUFpQixHQUFHLENBQUMsQ0FBQzs7QUFDNUIsSUFBTSxpQ0FBaUMsR0FBRyxDQUFDLENBQUM7OztBQUU1QyxJQUFNLGdCQUFnQixHQUFHO0FBQzlCLEdBQUMsRUFBRSxhQUFhO0FBQ2hCLEdBQUMsRUFBRSxlQUFlO0FBQ2xCLEdBQUMsRUFBRSxlQUFlO0FBQ2xCLEdBQUMsRUFBRSxVQUFVO0FBQ2IsR0FBQyxFQUFFLGtCQUFrQjtBQUNyQixHQUFDLEVBQUUsaUJBQWlCO0FBQ3BCLEdBQUMsRUFBRSxpQkFBaUI7QUFDcEIsR0FBQyxFQUFFLFVBQVU7Q0FDZCxDQUFDOzs7QUFFRixJQUFNLFVBQVUsR0FBRyxpQkFBaUIsQ0FBQzs7QUFFOUIsU0FBUyxxQkFBcUIsQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRTtBQUNuRSxNQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sSUFBSSxFQUFFLENBQUM7QUFDN0IsTUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLElBQUksRUFBRSxDQUFDO0FBQy9CLE1BQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxJQUFJLEVBQUUsQ0FBQzs7QUFFbkMsa0NBQXVCLElBQUksQ0FBQyxDQUFDO0FBQzdCLHdDQUEwQixJQUFJLENBQUMsQ0FBQztDQUNqQzs7QUFFRCxxQkFBcUIsQ0FBQyxTQUFTLEdBQUc7QUFDaEMsYUFBVyxFQUFFLHFCQUFxQjs7QUFFbEMsUUFBTSxxQkFBUTtBQUNkLEtBQUcsRUFBRSxvQkFBTyxHQUFHOztBQUVmLGdCQUFjLEVBQUUsd0JBQVMsSUFBSSxFQUFFLEVBQUUsRUFBRTtBQUNqQyxRQUFJLGdCQUFTLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxVQUFVLEVBQUU7QUFDdEMsVUFBSSxFQUFFLEVBQUU7QUFDTixjQUFNLDJCQUFjLHlDQUF5QyxDQUFDLENBQUM7T0FDaEU7QUFDRCxvQkFBTyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO0tBQzVCLE1BQU07QUFDTCxVQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztLQUN6QjtHQUNGO0FBQ0Qsa0JBQWdCLEVBQUUsMEJBQVMsSUFBSSxFQUFFO0FBQy9CLFdBQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztHQUMzQjs7QUFFRCxpQkFBZSxFQUFFLHlCQUFTLElBQUksRUFBRSxPQUFPLEVBQUU7QUFDdkMsUUFBSSxnQkFBUyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssVUFBVSxFQUFFO0FBQ3RDLG9CQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7S0FDN0IsTUFBTTtBQUNMLFVBQUksT0FBTyxPQUFPLEtBQUssV0FBVyxFQUFFO0FBQ2xDLGNBQU0seUVBQ3dDLElBQUksb0JBQ2pELENBQUM7T0FDSDtBQUNELFVBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsT0FBTyxDQUFDO0tBQy9CO0dBQ0Y7QUFDRCxtQkFBaUIsRUFBRSwyQkFBUyxJQUFJLEVBQUU7QUFDaEMsV0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO0dBQzVCOztBQUVELG1CQUFpQixFQUFFLDJCQUFTLElBQUksRUFBRSxFQUFFLEVBQUU7QUFDcEMsUUFBSSxnQkFBUyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssVUFBVSxFQUFFO0FBQ3RDLFVBQUksRUFBRSxFQUFFO0FBQ04sY0FBTSwyQkFBYyw0Q0FBNEMsQ0FBQyxDQUFDO09BQ25FO0FBQ0Qsb0JBQU8sSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQztLQUMvQixNQUFNO0FBQ0wsVUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7S0FDNUI7R0FDRjtBQUNELHFCQUFtQixFQUFFLDZCQUFTLElBQUksRUFBRTtBQUNsQyxXQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7R0FDOUI7Ozs7O0FBS0QsNkJBQTJCLEVBQUEsdUNBQUc7QUFDNUIsZ0RBQXVCLENBQUM7R0FDekI7Q0FDRixDQUFDOztBQUVLLElBQUksR0FBRyxHQUFHLG9CQUFPLEdBQUcsQ0FBQzs7O1FBRW5CLFdBQVc7UUFBRSxNQUFNIiwiZmlsZSI6ImJhc2UuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVGcmFtZSwgZXh0ZW5kLCB0b1N0cmluZyB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IEV4Y2VwdGlvbiBmcm9tICcuL2V4Y2VwdGlvbic7XG5pbXBvcnQgeyByZWdpc3RlckRlZmF1bHRIZWxwZXJzIH0gZnJvbSAnLi9oZWxwZXJzJztcbmltcG9ydCB7IHJlZ2lzdGVyRGVmYXVsdERlY29yYXRvcnMgfSBmcm9tICcuL2RlY29yYXRvcnMnO1xuaW1wb3J0IGxvZ2dlciBmcm9tICcuL2xvZ2dlcic7XG5pbXBvcnQgeyByZXNldExvZ2dlZFByb3BlcnRpZXMgfSBmcm9tICcuL2ludGVybmFsL3Byb3RvLWFjY2Vzcyc7XG5cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gJzQuNy45JztcbmV4cG9ydCBjb25zdCBDT01QSUxFUl9SRVZJU0lPTiA9IDg7XG5leHBvcnQgY29uc3QgTEFTVF9DT01QQVRJQkxFX0NPTVBJTEVSX1JFVklTSU9OID0gNztcblxuZXhwb3J0IGNvbnN0IFJFVklTSU9OX0NIQU5HRVMgPSB7XG4gIDE6ICc8PSAxLjAucmMuMicsIC8vIDEuMC5yYy4yIGlzIGFjdHVhbGx5IHJldjIgYnV0IGRvZXNuJ3QgcmVwb3J0IGl0XG4gIDI6ICc9PSAxLjAuMC1yYy4zJyxcbiAgMzogJz09IDEuMC4wLXJjLjQnLFxuICA0OiAnPT0gMS54LngnLFxuICA1OiAnPT0gMi4wLjAtYWxwaGEueCcsXG4gIDY6ICc+PSAyLjAuMC1iZXRhLjEnLFxuICA3OiAnPj0gNC4wLjAgPDQuMy4wJyxcbiAgODogJz49IDQuMy4wJ1xufTtcblxuY29uc3Qgb2JqZWN0VHlwZSA9ICdbb2JqZWN0IE9iamVjdF0nO1xuXG5leHBvcnQgZnVuY3Rpb24gSGFuZGxlYmFyc0Vudmlyb25tZW50KGhlbHBlcnMsIHBhcnRpYWxzLCBkZWNvcmF0b3JzKSB7XG4gIHRoaXMuaGVscGVycyA9IGhlbHBlcnMgfHwge307XG4gIHRoaXMucGFydGlhbHMgPSBwYXJ0aWFscyB8fCB7fTtcbiAgdGhpcy5kZWNvcmF0b3JzID0gZGVjb3JhdG9ycyB8fCB7fTtcblxuICByZWdpc3RlckRlZmF1bHRIZWxwZXJzKHRoaXMpO1xuICByZWdpc3RlckRlZmF1bHREZWNvcmF0b3JzKHRoaXMpO1xufVxuXG5IYW5kbGViYXJzRW52aXJvbm1lbnQucHJvdG90eXBlID0ge1xuICBjb25zdHJ1Y3RvcjogSGFuZGxlYmFyc0Vudmlyb25tZW50LFxuXG4gIGxvZ2dlcjogbG9nZ2VyLFxuICBsb2c6IGxvZ2dlci5sb2csXG5cbiAgcmVnaXN0ZXJIZWxwZXI6IGZ1bmN0aW9uKG5hbWUsIGZuKSB7XG4gICAgaWYgKHRvU3RyaW5nLmNhbGwobmFtZSkgPT09IG9iamVjdFR5cGUpIHtcbiAgICAgIGlmIChmbikge1xuICAgICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdBcmcgbm90IHN1cHBvcnRlZCB3aXRoIG11bHRpcGxlIGhlbHBlcnMnKTtcbiAgICAgIH1cbiAgICAgIGV4dGVuZCh0aGlzLmhlbHBlcnMsIG5hbWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmhlbHBlcnNbbmFtZV0gPSBmbjtcbiAgICB9XG4gIH0sXG4gIHVucmVnaXN0ZXJIZWxwZXI6IGZ1bmN0aW9uKG5hbWUpIHtcbiAgICBkZWxldGUgdGhpcy5oZWxwZXJzW25hbWVdO1xuICB9LFxuXG4gIHJlZ2lzdGVyUGFydGlhbDogZnVuY3Rpb24obmFtZSwgcGFydGlhbCkge1xuICAgIGlmICh0b1N0cmluZy5jYWxsKG5hbWUpID09PSBvYmplY3RUeXBlKSB7XG4gICAgICBleHRlbmQodGhpcy5wYXJ0aWFscywgbmFtZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0eXBlb2YgcGFydGlhbCA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbihcbiAgICAgICAgICBgQXR0ZW1wdGluZyB0byByZWdpc3RlciBhIHBhcnRpYWwgY2FsbGVkIFwiJHtuYW1lfVwiIGFzIHVuZGVmaW5lZGBcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIHRoaXMucGFydGlhbHNbbmFtZV0gPSBwYXJ0aWFsO1xuICAgIH1cbiAgfSxcbiAgdW5yZWdpc3RlclBhcnRpYWw6IGZ1bmN0aW9uKG5hbWUpIHtcbiAgICBkZWxldGUgdGhpcy5wYXJ0aWFsc1tuYW1lXTtcbiAgfSxcblxuICByZWdpc3RlckRlY29yYXRvcjogZnVuY3Rpb24obmFtZSwgZm4pIHtcbiAgICBpZiAodG9TdHJpbmcuY2FsbChuYW1lKSA9PT0gb2JqZWN0VHlwZSkge1xuICAgICAgaWYgKGZuKSB7XG4gICAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oJ0FyZyBub3Qgc3VwcG9ydGVkIHdpdGggbXVsdGlwbGUgZGVjb3JhdG9ycycpO1xuICAgICAgfVxuICAgICAgZXh0ZW5kKHRoaXMuZGVjb3JhdG9ycywgbmFtZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZGVjb3JhdG9yc1tuYW1lXSA9IGZuO1xuICAgIH1cbiAgfSxcbiAgdW5yZWdpc3RlckRlY29yYXRvcjogZnVuY3Rpb24obmFtZSkge1xuICAgIGRlbGV0ZSB0aGlzLmRlY29yYXRvcnNbbmFtZV07XG4gIH0sXG4gIC8qKlxuICAgKiBSZXNldCB0aGUgbWVtb3J5IG9mIGlsbGVnYWwgcHJvcGVydHkgYWNjZXNzZXMgdGhhdCBoYXZlIGFscmVhZHkgYmVlbiBsb2dnZWQuXG4gICAqIEBkZXByZWNhdGVkIHNob3VsZCBvbmx5IGJlIHVzZWQgaW4gaGFuZGxlYmFycyB0ZXN0LWNhc2VzXG4gICAqL1xuICByZXNldExvZ2dlZFByb3BlcnR5QWNjZXNzZXMoKSB7XG4gICAgcmVzZXRMb2dnZWRQcm9wZXJ0aWVzKCk7XG4gIH1cbn07XG5cbmV4cG9ydCBsZXQgbG9nID0gbG9nZ2VyLmxvZztcblxuZXhwb3J0IHsgY3JlYXRlRnJhbWUsIGxvZ2dlciB9O1xuIl19\n","'use strict';\n\nexports.__esModule = true;\nexports.registerDefaultDecorators = registerDefaultDecorators;\n// istanbul ignore next\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _decoratorsInline = require('./decorators/inline');\n\nvar _decoratorsInline2 = _interopRequireDefault(_decoratorsInline);\n\nfunction registerDefaultDecorators(instance) {\n _decoratorsInline2['default'](instance);\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2RlY29yYXRvcnMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Z0NBQTJCLHFCQUFxQjs7OztBQUV6QyxTQUFTLHlCQUF5QixDQUFDLFFBQVEsRUFBRTtBQUNsRCxnQ0FBZSxRQUFRLENBQUMsQ0FBQztDQUMxQiIsImZpbGUiOiJkZWNvcmF0b3JzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHJlZ2lzdGVySW5saW5lIGZyb20gJy4vZGVjb3JhdG9ycy9pbmxpbmUnO1xuXG5leHBvcnQgZnVuY3Rpb24gcmVnaXN0ZXJEZWZhdWx0RGVjb3JhdG9ycyhpbnN0YW5jZSkge1xuICByZWdpc3RlcklubGluZShpbnN0YW5jZSk7XG59XG4iXX0=\n","'use strict';\n\nexports.__esModule = true;\n\nvar _utils = require('../utils');\n\nexports['default'] = function (instance) {\n instance.registerDecorator('inline', function (fn, props, container, options) {\n var ret = fn;\n if (!props.partials) {\n props.partials = {};\n ret = function (context, options) {\n // Create a new partials stack frame prior to exec.\n var original = container.partials;\n container.partials = _utils.extend({}, original, props.partials);\n var ret = fn(context, options);\n container.partials = original;\n return ret;\n };\n }\n\n props.partials[options.args[0]] = options.fn;\n\n return ret;\n });\n};\n\nmodule.exports = exports['default'];\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2RlY29yYXRvcnMvaW5saW5lLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7cUJBQXVCLFVBQVU7O3FCQUVsQixVQUFTLFFBQVEsRUFBRTtBQUNoQyxVQUFRLENBQUMsaUJBQWlCLENBQUMsUUFBUSxFQUFFLFVBQVMsRUFBRSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFO0FBQzNFLFFBQUksR0FBRyxHQUFHLEVBQUUsQ0FBQztBQUNiLFFBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFO0FBQ25CLFdBQUssQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0FBQ3BCLFNBQUcsR0FBRyxVQUFTLE9BQU8sRUFBRSxPQUFPLEVBQUU7O0FBRS9CLFlBQUksUUFBUSxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUM7QUFDbEMsaUJBQVMsQ0FBQyxRQUFRLEdBQUcsY0FBTyxFQUFFLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUMxRCxZQUFJLEdBQUcsR0FBRyxFQUFFLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQy9CLGlCQUFTLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztBQUM5QixlQUFPLEdBQUcsQ0FBQztPQUNaLENBQUM7S0FDSDs7QUFFRCxTQUFLLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUMsRUFBRSxDQUFDOztBQUU3QyxXQUFPLEdBQUcsQ0FBQztHQUNaLENBQUMsQ0FBQztDQUNKIiwiZmlsZSI6ImlubGluZS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGV4dGVuZCB9IGZyb20gJy4uL3V0aWxzJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24oaW5zdGFuY2UpIHtcbiAgaW5zdGFuY2UucmVnaXN0ZXJEZWNvcmF0b3IoJ2lubGluZScsIGZ1bmN0aW9uKGZuLCBwcm9wcywgY29udGFpbmVyLCBvcHRpb25zKSB7XG4gICAgbGV0IHJldCA9IGZuO1xuICAgIGlmICghcHJvcHMucGFydGlhbHMpIHtcbiAgICAgIHByb3BzLnBhcnRpYWxzID0ge307XG4gICAgICByZXQgPSBmdW5jdGlvbihjb250ZXh0LCBvcHRpb25zKSB7XG4gICAgICAgIC8vIENyZWF0ZSBhIG5ldyBwYXJ0aWFscyBzdGFjayBmcmFtZSBwcmlvciB0byBleGVjLlxuICAgICAgICBsZXQgb3JpZ2luYWwgPSBjb250YWluZXIucGFydGlhbHM7XG4gICAgICAgIGNvbnRhaW5lci5wYXJ0aWFscyA9IGV4dGVuZCh7fSwgb3JpZ2luYWwsIHByb3BzLnBhcnRpYWxzKTtcbiAgICAgICAgbGV0IHJldCA9IGZuKGNvbnRleHQsIG9wdGlvbnMpO1xuICAgICAgICBjb250YWluZXIucGFydGlhbHMgPSBvcmlnaW5hbDtcbiAgICAgICAgcmV0dXJuIHJldDtcbiAgICAgIH07XG4gICAgfVxuXG4gICAgcHJvcHMucGFydGlhbHNbb3B0aW9ucy5hcmdzWzBdXSA9IG9wdGlvbnMuZm47XG5cbiAgICByZXR1cm4gcmV0O1xuICB9KTtcbn1cbiJdfQ==\n","'use strict';\n\nexports.__esModule = true;\nvar errorProps = ['description', 'fileName', 'lineNumber', 'endLineNumber', 'message', 'name', 'number', 'stack'];\n\nfunction Exception(message, node) {\n var loc = node && node.loc,\n line = undefined,\n endLineNumber = undefined,\n column = undefined,\n endColumn = undefined;\n\n if (loc) {\n line = loc.start.line;\n endLineNumber = loc.end.line;\n column = loc.start.column;\n endColumn = loc.end.column;\n\n message += ' - ' + line + ':' + column;\n }\n\n var tmp = Error.prototype.constructor.call(this, message);\n\n // Unfortunately errors are not enumerable in Chrome (at least), so `for prop in tmp` doesn't work.\n for (var idx = 0; idx < errorProps.length; idx++) {\n this[errorProps[idx]] = tmp[errorProps[idx]];\n }\n\n /* istanbul ignore else */\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, Exception);\n }\n\n try {\n if (loc) {\n this.lineNumber = line;\n this.endLineNumber = endLineNumber;\n\n // Work around issue under safari where we can't directly set the column value\n /* istanbul ignore next */\n if (Object.defineProperty) {\n Object.defineProperty(this, 'column', {\n value: column,\n enumerable: true\n });\n Object.defineProperty(this, 'endColumn', {\n value: endColumn,\n enumerable: true\n });\n } else {\n this.column = column;\n this.endColumn = endColumn;\n }\n }\n } catch (nop) {\n /* Ignore if the browser is very particular */\n }\n}\n\nException.prototype = new Error();\n\nexports['default'] = Exception;\nmodule.exports = exports['default'];\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2V4Y2VwdGlvbi5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxJQUFNLFVBQVUsR0FBRyxDQUNqQixhQUFhLEVBQ2IsVUFBVSxFQUNWLFlBQVksRUFDWixlQUFlLEVBQ2YsU0FBUyxFQUNULE1BQU0sRUFDTixRQUFRLEVBQ1IsT0FBTyxDQUNSLENBQUM7O0FBRUYsU0FBUyxTQUFTLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRTtBQUNoQyxNQUFJLEdBQUcsR0FBRyxJQUFJLElBQUksSUFBSSxDQUFDLEdBQUc7TUFDeEIsSUFBSSxZQUFBO01BQ0osYUFBYSxZQUFBO01BQ2IsTUFBTSxZQUFBO01BQ04sU0FBUyxZQUFBLENBQUM7O0FBRVosTUFBSSxHQUFHLEVBQUU7QUFDUCxRQUFJLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7QUFDdEIsaUJBQWEsR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQztBQUM3QixVQUFNLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7QUFDMUIsYUFBUyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDOztBQUUzQixXQUFPLElBQUksS0FBSyxHQUFHLElBQUksR0FBRyxHQUFHLEdBQUcsTUFBTSxDQUFDO0dBQ3hDOztBQUVELE1BQUksR0FBRyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7OztBQUcxRCxPQUFLLElBQUksR0FBRyxHQUFHLENBQUMsRUFBRSxHQUFHLEdBQUcsVUFBVSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsRUFBRTtBQUNoRCxRQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0dBQzlDOzs7QUFHRCxNQUFJLEtBQUssQ0FBQyxpQkFBaUIsRUFBRTtBQUMzQixTQUFLLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0dBQzFDOztBQUVELE1BQUk7QUFDRixRQUFJLEdBQUcsRUFBRTtBQUNQLFVBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO0FBQ3ZCLFVBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDOzs7O0FBSW5DLFVBQUksTUFBTSxDQUFDLGNBQWMsRUFBRTtBQUN6QixjQUFNLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUU7QUFDcEMsZUFBSyxFQUFFLE1BQU07QUFDYixvQkFBVSxFQUFFLElBQUk7U0FDakIsQ0FBQyxDQUFDO0FBQ0gsY0FBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFO0FBQ3ZDLGVBQUssRUFBRSxTQUFTO0FBQ2hCLG9CQUFVLEVBQUUsSUFBSTtTQUNqQixDQUFDLENBQUM7T0FDSixNQUFNO0FBQ0wsWUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7QUFDckIsWUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7T0FDNUI7S0FDRjtHQUNGLENBQUMsT0FBTyxHQUFHLEVBQUU7O0dBRWI7Q0FDRjs7QUFFRCxTQUFTLENBQUMsU0FBUyxHQUFHLElBQUksS0FBSyxFQUFFLENBQUM7O3FCQUVuQixTQUFTIiwiZmlsZSI6ImV4Y2VwdGlvbi5qcyIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IGVycm9yUHJvcHMgPSBbXG4gICdkZXNjcmlwdGlvbicsXG4gICdmaWxlTmFtZScsXG4gICdsaW5lTnVtYmVyJyxcbiAgJ2VuZExpbmVOdW1iZXInLFxuICAnbWVzc2FnZScsXG4gICduYW1lJyxcbiAgJ251bWJlcicsXG4gICdzdGFjaydcbl07XG5cbmZ1bmN0aW9uIEV4Y2VwdGlvbihtZXNzYWdlLCBub2RlKSB7XG4gIGxldCBsb2MgPSBub2RlICYmIG5vZGUubG9jLFxuICAgIGxpbmUsXG4gICAgZW5kTGluZU51bWJlcixcbiAgICBjb2x1bW4sXG4gICAgZW5kQ29sdW1uO1xuXG4gIGlmIChsb2MpIHtcbiAgICBsaW5lID0gbG9jLnN0YXJ0LmxpbmU7XG4gICAgZW5kTGluZU51bWJlciA9IGxvYy5lbmQubGluZTtcbiAgICBjb2x1bW4gPSBsb2Muc3RhcnQuY29sdW1uO1xuICAgIGVuZENvbHVtbiA9IGxvYy5lbmQuY29sdW1uO1xuXG4gICAgbWVzc2FnZSArPSAnIC0gJyArIGxpbmUgKyAnOicgKyBjb2x1bW47XG4gIH1cblxuICBsZXQgdG1wID0gRXJyb3IucHJvdG90eXBlLmNvbnN0cnVjdG9yLmNhbGwodGhpcywgbWVzc2FnZSk7XG5cbiAgLy8gVW5mb3J0dW5hdGVseSBlcnJvcnMgYXJlIG5vdCBlbnVtZXJhYmxlIGluIENocm9tZSAoYXQgbGVhc3QpLCBzbyBgZm9yIHByb3AgaW4gdG1wYCBkb2Vzbid0IHdvcmsuXG4gIGZvciAobGV0IGlkeCA9IDA7IGlkeCA8IGVycm9yUHJvcHMubGVuZ3RoOyBpZHgrKykge1xuICAgIHRoaXNbZXJyb3JQcm9wc1tpZHhdXSA9IHRtcFtlcnJvclByb3BzW2lkeF1dO1xuICB9XG5cbiAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgaWYgKEVycm9yLmNhcHR1cmVTdGFja1RyYWNlKSB7XG4gICAgRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UodGhpcywgRXhjZXB0aW9uKTtcbiAgfVxuXG4gIHRyeSB7XG4gICAgaWYgKGxvYykge1xuICAgICAgdGhpcy5saW5lTnVtYmVyID0gbGluZTtcbiAgICAgIHRoaXMuZW5kTGluZU51bWJlciA9IGVuZExpbmVOdW1iZXI7XG5cbiAgICAgIC8vIFdvcmsgYXJvdW5kIGlzc3VlIHVuZGVyIHNhZmFyaSB3aGVyZSB3ZSBjYW4ndCBkaXJlY3RseSBzZXQgdGhlIGNvbHVtbiB2YWx1ZVxuICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgIGlmIChPYmplY3QuZGVmaW5lUHJvcGVydHkpIHtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsICdjb2x1bW4nLCB7XG4gICAgICAgICAgdmFsdWU6IGNvbHVtbixcbiAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgJ2VuZENvbHVtbicsIHtcbiAgICAgICAgICB2YWx1ZTogZW5kQ29sdW1uLFxuICAgICAgICAgIGVudW1lcmFibGU6IHRydWVcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmNvbHVtbiA9IGNvbHVtbjtcbiAgICAgICAgdGhpcy5lbmRDb2x1bW4gPSBlbmRDb2x1bW47XG4gICAgICB9XG4gICAgfVxuICB9IGNhdGNoIChub3ApIHtcbiAgICAvKiBJZ25vcmUgaWYgdGhlIGJyb3dzZXIgaXMgdmVyeSBwYXJ0aWN1bGFyICovXG4gIH1cbn1cblxuRXhjZXB0aW9uLnByb3RvdHlwZSA9IG5ldyBFcnJvcigpO1xuXG5leHBvcnQgZGVmYXVsdCBFeGNlcHRpb247XG4iXX0=\n","'use strict';\n\nexports.__esModule = true;\nexports.registerDefaultHelpers = registerDefaultHelpers;\nexports.moveHelperToHooks = moveHelperToHooks;\n// istanbul ignore next\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _helpersBlockHelperMissing = require('./helpers/block-helper-missing');\n\nvar _helpersBlockHelperMissing2 = _interopRequireDefault(_helpersBlockHelperMissing);\n\nvar _helpersEach = require('./helpers/each');\n\nvar _helpersEach2 = _interopRequireDefault(_helpersEach);\n\nvar _helpersHelperMissing = require('./helpers/helper-missing');\n\nvar _helpersHelperMissing2 = _interopRequireDefault(_helpersHelperMissing);\n\nvar _helpersIf = require('./helpers/if');\n\nvar _helpersIf2 = _interopRequireDefault(_helpersIf);\n\nvar _helpersLog = require('./helpers/log');\n\nvar _helpersLog2 = _interopRequireDefault(_helpersLog);\n\nvar _helpersLookup = require('./helpers/lookup');\n\nvar _helpersLookup2 = _interopRequireDefault(_helpersLookup);\n\nvar _helpersWith = require('./helpers/with');\n\nvar _helpersWith2 = _interopRequireDefault(_helpersWith);\n\nfunction registerDefaultHelpers(instance) {\n _helpersBlockHelperMissing2['default'](instance);\n _helpersEach2['default'](instance);\n _helpersHelperMissing2['default'](instance);\n _helpersIf2['default'](instance);\n _helpersLog2['default'](instance);\n _helpersLookup2['default'](instance);\n _helpersWith2['default'](instance);\n}\n\nfunction moveHelperToHooks(instance, helperName, keepHelper) {\n if (instance.helpers[helperName]) {\n instance.hooks[helperName] = instance.helpers[helperName];\n if (!keepHelper) {\n // Using delete is slow\n instance.helpers[helperName] = undefined;\n }\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2hlbHBlcnMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O3lDQUF1QyxnQ0FBZ0M7Ozs7MkJBQzlDLGdCQUFnQjs7OztvQ0FDUCwwQkFBMEI7Ozs7eUJBQ3JDLGNBQWM7Ozs7MEJBQ2IsZUFBZTs7Ozs2QkFDWixrQkFBa0I7Ozs7MkJBQ3BCLGdCQUFnQjs7OztBQUVsQyxTQUFTLHNCQUFzQixDQUFDLFFBQVEsRUFBRTtBQUMvQyx5Q0FBMkIsUUFBUSxDQUFDLENBQUM7QUFDckMsMkJBQWEsUUFBUSxDQUFDLENBQUM7QUFDdkIsb0NBQXNCLFFBQVEsQ0FBQyxDQUFDO0FBQ2hDLHlCQUFXLFFBQVEsQ0FBQyxDQUFDO0FBQ3JCLDBCQUFZLFFBQVEsQ0FBQyxDQUFDO0FBQ3RCLDZCQUFlLFFBQVEsQ0FBQyxDQUFDO0FBQ3pCLDJCQUFhLFFBQVEsQ0FBQyxDQUFDO0NBQ3hCOztBQUVNLFNBQVMsaUJBQWlCLENBQUMsUUFBUSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUU7QUFDbEUsTUFBSSxRQUFRLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxFQUFFO0FBQ2hDLFlBQVEsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUMxRCxRQUFJLENBQUMsVUFBVSxFQUFFOztBQUVmLGNBQVEsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEdBQUcsU0FBUyxDQUFDO0tBQzFDO0dBQ0Y7Q0FDRiIsImZpbGUiOiJoZWxwZXJzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHJlZ2lzdGVyQmxvY2tIZWxwZXJNaXNzaW5nIGZyb20gJy4vaGVscGVycy9ibG9jay1oZWxwZXItbWlzc2luZyc7XG5pbXBvcnQgcmVnaXN0ZXJFYWNoIGZyb20gJy4vaGVscGVycy9lYWNoJztcbmltcG9ydCByZWdpc3RlckhlbHBlck1pc3NpbmcgZnJvbSAnLi9oZWxwZXJzL2hlbHBlci1taXNzaW5nJztcbmltcG9ydCByZWdpc3RlcklmIGZyb20gJy4vaGVscGVycy9pZic7XG5pbXBvcnQgcmVnaXN0ZXJMb2cgZnJvbSAnLi9oZWxwZXJzL2xvZyc7XG5pbXBvcnQgcmVnaXN0ZXJMb29rdXAgZnJvbSAnLi9oZWxwZXJzL2xvb2t1cCc7XG5pbXBvcnQgcmVnaXN0ZXJXaXRoIGZyb20gJy4vaGVscGVycy93aXRoJztcblxuZXhwb3J0IGZ1bmN0aW9uIHJlZ2lzdGVyRGVmYXVsdEhlbHBlcnMoaW5zdGFuY2UpIHtcbiAgcmVnaXN0ZXJCbG9ja0hlbHBlck1pc3NpbmcoaW5zdGFuY2UpO1xuICByZWdpc3RlckVhY2goaW5zdGFuY2UpO1xuICByZWdpc3RlckhlbHBlck1pc3NpbmcoaW5zdGFuY2UpO1xuICByZWdpc3RlcklmKGluc3RhbmNlKTtcbiAgcmVnaXN0ZXJMb2coaW5zdGFuY2UpO1xuICByZWdpc3Rlckxvb2t1cChpbnN0YW5jZSk7XG4gIHJlZ2lzdGVyV2l0aChpbnN0YW5jZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtb3ZlSGVscGVyVG9Ib29rcyhpbnN0YW5jZSwgaGVscGVyTmFtZSwga2VlcEhlbHBlcikge1xuICBpZiAoaW5zdGFuY2UuaGVscGVyc1toZWxwZXJOYW1lXSkge1xuICAgIGluc3RhbmNlLmhvb2tzW2hlbHBlck5hbWVdID0gaW5zdGFuY2UuaGVscGVyc1toZWxwZXJOYW1lXTtcbiAgICBpZiAoIWtlZXBIZWxwZXIpIHtcbiAgICAgIC8vIFVzaW5nIGRlbGV0ZSBpcyBzbG93XG4gICAgICBpbnN0YW5jZS5oZWxwZXJzW2hlbHBlck5hbWVdID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxufVxuIl19\n","'use strict';\n\nexports.__esModule = true;\n\nvar _utils = require('../utils');\n\nexports['default'] = function (instance) {\n instance.registerHelper('blockHelperMissing', function (context, options) {\n var inverse = options.inverse,\n fn = options.fn;\n\n if (context === true) {\n return fn(this);\n } else if (context === false || context == null) {\n return inverse(this);\n } else if (_utils.isArray(context)) {\n if (context.length > 0) {\n if (options.ids) {\n options.ids = [options.name];\n }\n\n return instance.helpers.each(context, options);\n } else {\n return inverse(this);\n }\n } else {\n if (options.data && options.ids) {\n var data = _utils.createFrame(options.data);\n data.contextPath = _utils.appendContextPath(options.data.contextPath, options.name);\n options = { data: data };\n }\n\n return fn(context, options);\n }\n });\n};\n\nmodule.exports = exports['default'];\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2hlbHBlcnMvYmxvY2staGVscGVyLW1pc3NpbmcuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztxQkFBd0QsVUFBVTs7cUJBRW5ELFVBQVMsUUFBUSxFQUFFO0FBQ2hDLFVBQVEsQ0FBQyxjQUFjLENBQUMsb0JBQW9CLEVBQUUsVUFBUyxPQUFPLEVBQUUsT0FBTyxFQUFFO0FBQ3ZFLFFBQUksT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPO1FBQzNCLEVBQUUsR0FBRyxPQUFPLENBQUMsRUFBRSxDQUFDOztBQUVsQixRQUFJLE9BQU8sS0FBSyxJQUFJLEVBQUU7QUFDcEIsYUFBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDakIsTUFBTSxJQUFJLE9BQU8sS0FBSyxLQUFLLElBQUksT0FBTyxJQUFJLElBQUksRUFBRTtBQUMvQyxhQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztLQUN0QixNQUFNLElBQUksZUFBUSxPQUFPLENBQUMsRUFBRTtBQUMzQixVQUFJLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO0FBQ3RCLFlBQUksT0FBTyxDQUFDLEdBQUcsRUFBRTtBQUNmLGlCQUFPLENBQUMsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzlCOztBQUVELGVBQU8sUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO09BQ2hELE1BQU07QUFDTCxlQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztPQUN0QjtLQUNGLE1BQU07QUFDTCxVQUFJLE9BQU8sQ0FBQyxJQUFJLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRTtBQUMvQixZQUFJLElBQUksR0FBRyxtQkFBWSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDckMsWUFBSSxDQUFDLFdBQVcsR0FBRyx5QkFDakIsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQ3hCLE9BQU8sQ0FBQyxJQUFJLENBQ2IsQ0FBQztBQUNGLGVBQU8sR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQztPQUMxQjs7QUFFRCxhQUFPLEVBQUUsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7S0FDN0I7R0FDRixDQUFDLENBQUM7Q0FDSiIsImZpbGUiOiJibG9jay1oZWxwZXItbWlzc2luZy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFwcGVuZENvbnRleHRQYXRoLCBjcmVhdGVGcmFtZSwgaXNBcnJheSB9IGZyb20gJy4uL3V0aWxzJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24oaW5zdGFuY2UpIHtcbiAgaW5zdGFuY2UucmVnaXN0ZXJIZWxwZXIoJ2Jsb2NrSGVscGVyTWlzc2luZycsIGZ1bmN0aW9uKGNvbnRleHQsIG9wdGlvbnMpIHtcbiAgICBsZXQgaW52ZXJzZSA9IG9wdGlvbnMuaW52ZXJzZSxcbiAgICAgIGZuID0gb3B0aW9ucy5mbjtcblxuICAgIGlmIChjb250ZXh0ID09PSB0cnVlKSB7XG4gICAgICByZXR1cm4gZm4odGhpcyk7XG4gICAgfSBlbHNlIGlmIChjb250ZXh0ID09PSBmYWxzZSB8fCBjb250ZXh0ID09IG51bGwpIHtcbiAgICAgIHJldHVybiBpbnZlcnNlKHRoaXMpO1xuICAgIH0gZWxzZSBpZiAoaXNBcnJheShjb250ZXh0KSkge1xuICAgICAgaWYgKGNvbnRleHQubGVuZ3RoID4gMCkge1xuICAgICAgICBpZiAob3B0aW9ucy5pZHMpIHtcbiAgICAgICAgICBvcHRpb25zLmlkcyA9IFtvcHRpb25zLm5hbWVdO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGluc3RhbmNlLmhlbHBlcnMuZWFjaChjb250ZXh0LCBvcHRpb25zKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBpbnZlcnNlKHRoaXMpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAob3B0aW9ucy5kYXRhICYmIG9wdGlvbnMuaWRzKSB7XG4gICAgICAgIGxldCBkYXRhID0gY3JlYXRlRnJhbWUob3B0aW9ucy5kYXRhKTtcbiAgICAgICAgZGF0YS5jb250ZXh0UGF0aCA9IGFwcGVuZENvbnRleHRQYXRoKFxuICAgICAgICAgIG9wdGlvbnMuZGF0YS5jb250ZXh0UGF0aCxcbiAgICAgICAgICBvcHRpb25zLm5hbWVcbiAgICAgICAgKTtcbiAgICAgICAgb3B0aW9ucyA9IHsgZGF0YTogZGF0YSB9O1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gZm4oY29udGV4dCwgb3B0aW9ucyk7XG4gICAgfVxuICB9KTtcbn1cbiJdfQ==\n","'use strict';\n\nexports.__esModule = true;\n// istanbul ignore next\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _utils = require('../utils');\n\nvar _exception = require('../exception');\n\nvar _exception2 = _interopRequireDefault(_exception);\n\nexports['default'] = function (instance) {\n instance.registerHelper('each', function (context, options) {\n if (!options) {\n throw new _exception2['default']('Must pass iterator to #each');\n }\n\n var fn = options.fn,\n inverse = options.inverse,\n i = 0,\n ret = '',\n data = undefined,\n contextPath = undefined;\n\n if (options.data && options.ids) {\n contextPath = _utils.appendContextPath(options.data.contextPath, options.ids[0]) + '.';\n }\n\n if (_utils.isFunction(context)) {\n context = context.call(this);\n }\n\n if (options.data) {\n data = _utils.createFrame(options.data);\n }\n\n function execIteration(field, index, last) {\n if (data) {\n data.key = field;\n data.index = index;\n data.first = index === 0;\n data.last = !!last;\n\n if (contextPath) {\n data.contextPath = contextPath + field;\n }\n }\n\n ret = ret + fn(context[field], {\n data: data,\n blockParams: _utils.blockParams([context[field], field], [contextPath + field, null])\n });\n }\n\n if (context && typeof context === 'object') {\n if (_utils.isArray(context)) {\n for (var j = context.length; i < j; i++) {\n if (i in context) {\n execIteration(i, i, i === context.length - 1);\n }\n }\n } else if (typeof Symbol === 'function' && context[Symbol.iterator]) {\n var newContext = [];\n var iterator = context[Symbol.iterator]();\n for (var it = iterator.next(); !it.done; it = iterator.next()) {\n newContext.push(it.value);\n }\n context = newContext;\n for (var j = context.length; i < j; i++) {\n execIteration(i, i, i === context.length - 1);\n }\n } else {\n (function () {\n var priorKey = undefined;\n\n Object.keys(context).forEach(function (key) {\n // We're running the iterations one step out of sync so we can detect\n // the last iteration without have to scan the object twice and create\n // an itermediate keys array.\n if (priorKey !== undefined) {\n execIteration(priorKey, i - 1);\n }\n priorKey = key;\n i++;\n });\n if (priorKey !== undefined) {\n execIteration(priorKey, i - 1, true);\n }\n })();\n }\n }\n\n if (i === 0) {\n ret = inverse(this);\n }\n\n return ret;\n });\n};\n\nmodule.exports = exports['default'];\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2hlbHBlcnMvZWFjaC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O3FCQU1PLFVBQVU7O3lCQUNLLGNBQWM7Ozs7cUJBRXJCLFVBQVMsUUFBUSxFQUFFO0FBQ2hDLFVBQVEsQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLFVBQVMsT0FBTyxFQUFFLE9BQU8sRUFBRTtBQUN6RCxRQUFJLENBQUMsT0FBTyxFQUFFO0FBQ1osWUFBTSwyQkFBYyw2QkFBNkIsQ0FBQyxDQUFDO0tBQ3BEOztBQUVELFFBQUksRUFBRSxHQUFHLE9BQU8sQ0FBQyxFQUFFO1FBQ2pCLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTztRQUN6QixDQUFDLEdBQUcsQ0FBQztRQUNMLEdBQUcsR0FBRyxFQUFFO1FBQ1IsSUFBSSxZQUFBO1FBQ0osV0FBVyxZQUFBLENBQUM7O0FBRWQsUUFBSSxPQUFPLENBQUMsSUFBSSxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUU7QUFDL0IsaUJBQVcsR0FDVCx5QkFBa0IsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQztLQUNyRTs7QUFFRCxRQUFJLGtCQUFXLE9BQU8sQ0FBQyxFQUFFO0FBQ3ZCLGFBQU8sR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQzlCOztBQUVELFFBQUksT0FBTyxDQUFDLElBQUksRUFBRTtBQUNoQixVQUFJLEdBQUcsbUJBQVksT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQ2xDOztBQUVELGFBQVMsYUFBYSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO0FBQ3pDLFVBQUksSUFBSSxFQUFFO0FBQ1IsWUFBSSxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUM7QUFDakIsWUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7QUFDbkIsWUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLEtBQUssQ0FBQyxDQUFDO0FBQ3pCLFlBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQzs7QUFFbkIsWUFBSSxXQUFXLEVBQUU7QUFDZixjQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsR0FBRyxLQUFLLENBQUM7U0FDeEM7T0FDRjs7QUFFRCxTQUFHLEdBQ0QsR0FBRyxHQUNILEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7QUFDakIsWUFBSSxFQUFFLElBQUk7QUFDVixtQkFBVyxFQUFFLG1CQUNYLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUN2QixDQUFDLFdBQVcsR0FBRyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQzVCO09BQ0YsQ0FBQyxDQUFDO0tBQ047O0FBRUQsUUFBSSxPQUFPLElBQUksT0FBTyxPQUFPLEtBQUssUUFBUSxFQUFFO0FBQzFDLFVBQUksZUFBUSxPQUFPLENBQUMsRUFBRTtBQUNwQixhQUFLLElBQUksQ0FBQyxHQUFHLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtBQUN2QyxjQUFJLENBQUMsSUFBSSxPQUFPLEVBQUU7QUFDaEIseUJBQWEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsS0FBSyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1dBQy9DO1NBQ0Y7T0FDRixNQUFNLElBQUksT0FBTyxNQUFNLEtBQUssVUFBVSxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUU7QUFDbkUsWUFBTSxVQUFVLEdBQUcsRUFBRSxDQUFDO0FBQ3RCLFlBQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztBQUM1QyxhQUFLLElBQUksRUFBRSxHQUFHLFFBQVEsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxHQUFHLFFBQVEsQ0FBQyxJQUFJLEVBQUUsRUFBRTtBQUM3RCxvQkFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDM0I7QUFDRCxlQUFPLEdBQUcsVUFBVSxDQUFDO0FBQ3JCLGFBQUssSUFBSSxDQUFDLEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO0FBQ3ZDLHVCQUFhLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEtBQUssT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztTQUMvQztPQUNGLE1BQU07O0FBQ0wsY0FBSSxRQUFRLFlBQUEsQ0FBQzs7QUFFYixnQkFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBQSxHQUFHLEVBQUk7Ozs7QUFJbEMsZ0JBQUksUUFBUSxLQUFLLFNBQVMsRUFBRTtBQUMxQiwyQkFBYSxDQUFDLFFBQVEsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7YUFDaEM7QUFDRCxvQkFBUSxHQUFHLEdBQUcsQ0FBQztBQUNmLGFBQUMsRUFBRSxDQUFDO1dBQ0wsQ0FBQyxDQUFDO0FBQ0gsY0FBSSxRQUFRLEtBQUssU0FBUyxFQUFFO0FBQzFCLHlCQUFhLENBQUMsUUFBUSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7V0FDdEM7O09BQ0Y7S0FDRjs7QUFFRCxRQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7QUFDWCxTQUFHLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQ3JCOztBQUVELFdBQU8sR0FBRyxDQUFDO0dBQ1osQ0FBQyxDQUFDO0NBQ0oiLCJmaWxlIjoiZWFjaC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGFwcGVuZENvbnRleHRQYXRoLFxuICBibG9ja1BhcmFtcyxcbiAgY3JlYXRlRnJhbWUsXG4gIGlzQXJyYXksXG4gIGlzRnVuY3Rpb25cbn0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IEV4Y2VwdGlvbiBmcm9tICcuLi9leGNlcHRpb24nO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbihpbnN0YW5jZSkge1xuICBpbnN0YW5jZS5yZWdpc3RlckhlbHBlcignZWFjaCcsIGZ1bmN0aW9uKGNvbnRleHQsIG9wdGlvbnMpIHtcbiAgICBpZiAoIW9wdGlvbnMpIHtcbiAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oJ011c3QgcGFzcyBpdGVyYXRvciB0byAjZWFjaCcpO1xuICAgIH1cblxuICAgIGxldCBmbiA9IG9wdGlvbnMuZm4sXG4gICAgICBpbnZlcnNlID0gb3B0aW9ucy5pbnZlcnNlLFxuICAgICAgaSA9IDAsXG4gICAgICByZXQgPSAnJyxcbiAgICAgIGRhdGEsXG4gICAgICBjb250ZXh0UGF0aDtcblxuICAgIGlmIChvcHRpb25zLmRhdGEgJiYgb3B0aW9ucy5pZHMpIHtcbiAgICAgIGNvbnRleHRQYXRoID1cbiAgICAgICAgYXBwZW5kQ29udGV4dFBhdGgob3B0aW9ucy5kYXRhLmNvbnRleHRQYXRoLCBvcHRpb25zLmlkc1swXSkgKyAnLic7XG4gICAgfVxuXG4gICAgaWYgKGlzRnVuY3Rpb24oY29udGV4dCkpIHtcbiAgICAgIGNvbnRleHQgPSBjb250ZXh0LmNhbGwodGhpcyk7XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnMuZGF0YSkge1xuICAgICAgZGF0YSA9IGNyZWF0ZUZyYW1lKG9wdGlvbnMuZGF0YSk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gZXhlY0l0ZXJhdGlvbihmaWVsZCwgaW5kZXgsIGxhc3QpIHtcbiAgICAgIGlmIChkYXRhKSB7XG4gICAgICAgIGRhdGEua2V5ID0gZmllbGQ7XG4gICAgICAgIGRhdGEuaW5kZXggPSBpbmRleDtcbiAgICAgICAgZGF0YS5maXJzdCA9IGluZGV4ID09PSAwO1xuICAgICAgICBkYXRhLmxhc3QgPSAhIWxhc3Q7XG5cbiAgICAgICAgaWYgKGNvbnRleHRQYXRoKSB7XG4gICAgICAgICAgZGF0YS5jb250ZXh0UGF0aCA9IGNvbnRleHRQYXRoICsgZmllbGQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0ID1cbiAgICAgICAgcmV0ICtcbiAgICAgICAgZm4oY29udGV4dFtmaWVsZF0sIHtcbiAgICAgICAgICBkYXRhOiBkYXRhLFxuICAgICAgICAgIGJsb2NrUGFyYW1zOiBibG9ja1BhcmFtcyhcbiAgICAgICAgICAgIFtjb250ZXh0W2ZpZWxkXSwgZmllbGRdLFxuICAgICAgICAgICAgW2NvbnRleHRQYXRoICsgZmllbGQsIG51bGxdXG4gICAgICAgICAgKVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAoY29udGV4dCAmJiB0eXBlb2YgY29udGV4dCA9PT0gJ29iamVjdCcpIHtcbiAgICAgIGlmIChpc0FycmF5KGNvbnRleHQpKSB7XG4gICAgICAgIGZvciAobGV0IGogPSBjb250ZXh0Lmxlbmd0aDsgaSA8IGo7IGkrKykge1xuICAgICAgICAgIGlmIChpIGluIGNvbnRleHQpIHtcbiAgICAgICAgICAgIGV4ZWNJdGVyYXRpb24oaSwgaSwgaSA9PT0gY29udGV4dC5sZW5ndGggLSAxKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIFN5bWJvbCA9PT0gJ2Z1bmN0aW9uJyAmJiBjb250ZXh0W1N5bWJvbC5pdGVyYXRvcl0pIHtcbiAgICAgICAgY29uc3QgbmV3Q29udGV4dCA9IFtdO1xuICAgICAgICBjb25zdCBpdGVyYXRvciA9IGNvbnRleHRbU3ltYm9sLml0ZXJhdG9yXSgpO1xuICAgICAgICBmb3IgKGxldCBpdCA9IGl0ZXJhdG9yLm5leHQoKTsgIWl0LmRvbmU7IGl0ID0gaXRlcmF0b3IubmV4dCgpKSB7XG4gICAgICAgICAgbmV3Q29udGV4dC5wdXNoKGl0LnZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICBjb250ZXh0ID0gbmV3Q29udGV4dDtcbiAgICAgICAgZm9yIChsZXQgaiA9IGNvbnRleHQubGVuZ3RoOyBpIDwgajsgaSsrKSB7XG4gICAgICAgICAgZXhlY0l0ZXJhdGlvbihpLCBpLCBpID09PSBjb250ZXh0Lmxlbmd0aCAtIDEpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBsZXQgcHJpb3JLZXk7XG5cbiAgICAgICAgT2JqZWN0LmtleXMoY29udGV4dCkuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgICAgIC8vIFdlJ3JlIHJ1bm5pbmcgdGhlIGl0ZXJhdGlvbnMgb25lIHN0ZXAgb3V0IG9mIHN5bmMgc28gd2UgY2FuIGRldGVjdFxuICAgICAgICAgIC8vIHRoZSBsYXN0IGl0ZXJhdGlvbiB3aXRob3V0IGhhdmUgdG8gc2NhbiB0aGUgb2JqZWN0IHR3aWNlIGFuZCBjcmVhdGVcbiAgICAgICAgICAvLyBhbiBpdGVybWVkaWF0ZSBrZXlzIGFycmF5LlxuICAgICAgICAgIGlmIChwcmlvcktleSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBleGVjSXRlcmF0aW9uKHByaW9yS2V5LCBpIC0gMSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHByaW9yS2V5ID0ga2V5O1xuICAgICAgICAgIGkrKztcbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChwcmlvcktleSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgZXhlY0l0ZXJhdGlvbihwcmlvcktleSwgaSAtIDEsIHRydWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGkgPT09IDApIHtcbiAgICAgIHJldCA9IGludmVyc2UodGhpcyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJldDtcbiAgfSk7XG59XG4iXX0=\n","'use strict';\n\nexports.__esModule = true;\n// istanbul ignore next\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _exception = require('../exception');\n\nvar _exception2 = _interopRequireDefault(_exception);\n\nexports['default'] = function (instance) {\n instance.registerHelper('helperMissing', function () /* [args, ]options */{\n if (arguments.length === 1) {\n // A missing field in a {{foo}} construct.\n return undefined;\n } else {\n // Someone is actually trying to call something, blow up.\n throw new _exception2['default']('Missing helper: \"' + arguments[arguments.length - 1].name + '\"');\n }\n });\n};\n\nmodule.exports = exports['default'];\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2hlbHBlcnMvaGVscGVyLW1pc3NpbmcuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozt5QkFBc0IsY0FBYzs7OztxQkFFckIsVUFBUyxRQUFRLEVBQUU7QUFDaEMsVUFBUSxDQUFDLGNBQWMsQ0FBQyxlQUFlLEVBQUUsaUNBQWdDO0FBQ3ZFLFFBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7O0FBRTFCLGFBQU8sU0FBUyxDQUFDO0tBQ2xCLE1BQU07O0FBRUwsWUFBTSwyQkFDSixtQkFBbUIsR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUNqRSxDQUFDO0tBQ0g7R0FDRixDQUFDLENBQUM7Q0FDSiIsImZpbGUiOiJoZWxwZXItbWlzc2luZy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBFeGNlcHRpb24gZnJvbSAnLi4vZXhjZXB0aW9uJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24oaW5zdGFuY2UpIHtcbiAgaW5zdGFuY2UucmVnaXN0ZXJIZWxwZXIoJ2hlbHBlck1pc3NpbmcnLCBmdW5jdGlvbigvKiBbYXJncywgXW9wdGlvbnMgKi8pIHtcbiAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgLy8gQSBtaXNzaW5nIGZpZWxkIGluIGEge3tmb299fSBjb25zdHJ1Y3QuXG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBTb21lb25lIGlzIGFjdHVhbGx5IHRyeWluZyB0byBjYWxsIHNvbWV0aGluZywgYmxvdyB1cC5cbiAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oXG4gICAgICAgICdNaXNzaW5nIGhlbHBlcjogXCInICsgYXJndW1lbnRzW2FyZ3VtZW50cy5sZW5ndGggLSAxXS5uYW1lICsgJ1wiJ1xuICAgICAgKTtcbiAgICB9XG4gIH0pO1xufVxuIl19\n","'use strict';\n\nexports.__esModule = true;\n// istanbul ignore next\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _utils = require('../utils');\n\nvar _exception = require('../exception');\n\nvar _exception2 = _interopRequireDefault(_exception);\n\nexports['default'] = function (instance) {\n instance.registerHelper('if', function (conditional, options) {\n if (arguments.length != 2) {\n throw new _exception2['default']('#if requires exactly one argument');\n }\n if (_utils.isFunction(conditional)) {\n conditional = conditional.call(this);\n }\n\n // Default behavior is to render the positive path if the value is truthy and not empty.\n // The `includeZero` option may be set to treat the condtional as purely not empty based on the\n // behavior of isEmpty. Effectively this determines if 0 is handled by the positive path or negative.\n if (!options.hash.includeZero && !conditional || _utils.isEmpty(conditional)) {\n return options.inverse(this);\n } else {\n return options.fn(this);\n }\n });\n\n instance.registerHelper('unless', function (conditional, options) {\n if (arguments.length != 2) {\n throw new _exception2['default']('#unless requires exactly one argument');\n }\n return instance.helpers['if'].call(this, conditional, {\n fn: options.inverse,\n inverse: options.fn,\n hash: options.hash\n });\n });\n};\n\nmodule.exports = exports['default'];\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2hlbHBlcnMvaWYuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztxQkFBb0MsVUFBVTs7eUJBQ3hCLGNBQWM7Ozs7cUJBRXJCLFVBQVMsUUFBUSxFQUFFO0FBQ2hDLFVBQVEsQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLFVBQVMsV0FBVyxFQUFFLE9BQU8sRUFBRTtBQUMzRCxRQUFJLFNBQVMsQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFFO0FBQ3pCLFlBQU0sMkJBQWMsbUNBQW1DLENBQUMsQ0FBQztLQUMxRDtBQUNELFFBQUksa0JBQVcsV0FBVyxDQUFDLEVBQUU7QUFDM0IsaUJBQVcsR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQ3RDOzs7OztBQUtELFFBQUksQUFBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLENBQUMsV0FBVyxJQUFLLGVBQVEsV0FBVyxDQUFDLEVBQUU7QUFDdkUsYUFBTyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQzlCLE1BQU07QUFDTCxhQUFPLE9BQU8sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDekI7R0FDRixDQUFDLENBQUM7O0FBRUgsVUFBUSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsVUFBUyxXQUFXLEVBQUUsT0FBTyxFQUFFO0FBQy9ELFFBQUksU0FBUyxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUU7QUFDekIsWUFBTSwyQkFBYyx1Q0FBdUMsQ0FBQyxDQUFDO0tBQzlEO0FBQ0QsV0FBTyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFO0FBQ3BELFFBQUUsRUFBRSxPQUFPLENBQUMsT0FBTztBQUNuQixhQUFPLEVBQUUsT0FBTyxDQUFDLEVBQUU7QUFDbkIsVUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJO0tBQ25CLENBQUMsQ0FBQztHQUNKLENBQUMsQ0FBQztDQUNKIiwiZmlsZSI6ImlmLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNFbXB0eSwgaXNGdW5jdGlvbiB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCBFeGNlcHRpb24gZnJvbSAnLi4vZXhjZXB0aW9uJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24oaW5zdGFuY2UpIHtcbiAgaW5zdGFuY2UucmVnaXN0ZXJIZWxwZXIoJ2lmJywgZnVuY3Rpb24oY29uZGl0aW9uYWwsIG9wdGlvbnMpIHtcbiAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCAhPSAyKSB7XG4gICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCcjaWYgcmVxdWlyZXMgZXhhY3RseSBvbmUgYXJndW1lbnQnKTtcbiAgICB9XG4gICAgaWYgKGlzRnVuY3Rpb24oY29uZGl0aW9uYWwpKSB7XG4gICAgICBjb25kaXRpb25hbCA9IGNvbmRpdGlvbmFsLmNhbGwodGhpcyk7XG4gICAgfVxuXG4gICAgLy8gRGVmYXVsdCBiZWhhdmlvciBpcyB0byByZW5kZXIgdGhlIHBvc2l0aXZlIHBhdGggaWYgdGhlIHZhbHVlIGlzIHRydXRoeSBhbmQgbm90IGVtcHR5LlxuICAgIC8vIFRoZSBgaW5jbHVkZVplcm9gIG9wdGlvbiBtYXkgYmUgc2V0IHRvIHRyZWF0IHRoZSBjb25kdGlvbmFsIGFzIHB1cmVseSBub3QgZW1wdHkgYmFzZWQgb24gdGhlXG4gICAgLy8gYmVoYXZpb3Igb2YgaXNFbXB0eS4gRWZmZWN0aXZlbHkgdGhpcyBkZXRlcm1pbmVzIGlmIDAgaXMgaGFuZGxlZCBieSB0aGUgcG9zaXRpdmUgcGF0aCBvciBuZWdhdGl2ZS5cbiAgICBpZiAoKCFvcHRpb25zLmhhc2guaW5jbHVkZVplcm8gJiYgIWNvbmRpdGlvbmFsKSB8fCBpc0VtcHR5KGNvbmRpdGlvbmFsKSkge1xuICAgICAgcmV0dXJuIG9wdGlvbnMuaW52ZXJzZSh0aGlzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG9wdGlvbnMuZm4odGhpcyk7XG4gICAgfVxuICB9KTtcblxuICBpbnN0YW5jZS5yZWdpc3RlckhlbHBlcigndW5sZXNzJywgZnVuY3Rpb24oY29uZGl0aW9uYWwsIG9wdGlvbnMpIHtcbiAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCAhPSAyKSB7XG4gICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCcjdW5sZXNzIHJlcXVpcmVzIGV4YWN0bHkgb25lIGFyZ3VtZW50Jyk7XG4gICAgfVxuICAgIHJldHVybiBpbnN0YW5jZS5oZWxwZXJzWydpZiddLmNhbGwodGhpcywgY29uZGl0aW9uYWwsIHtcbiAgICAgIGZuOiBvcHRpb25zLmludmVyc2UsXG4gICAgICBpbnZlcnNlOiBvcHRpb25zLmZuLFxuICAgICAgaGFzaDogb3B0aW9ucy5oYXNoXG4gICAgfSk7XG4gIH0pO1xufVxuIl19\n","'use strict';\n\nexports.__esModule = true;\n\nexports['default'] = function (instance) {\n instance.registerHelper('log', function () /* message, options */{\n var args = [undefined],\n options = arguments[arguments.length - 1];\n for (var i = 0; i < arguments.length - 1; i++) {\n args.push(arguments[i]);\n }\n\n var level = 1;\n if (options.hash.level != null) {\n level = options.hash.level;\n } else if (options.data && options.data.level != null) {\n level = options.data.level;\n }\n args[0] = level;\n\n instance.log.apply(instance, args);\n });\n};\n\nmodule.exports = exports['default'];\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2hlbHBlcnMvbG9nLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7cUJBQWUsVUFBUyxRQUFRLEVBQUU7QUFDaEMsVUFBUSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsa0NBQWlDO0FBQzlELFFBQUksSUFBSSxHQUFHLENBQUMsU0FBUyxDQUFDO1FBQ3BCLE9BQU8sR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztBQUM1QyxTQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7QUFDN0MsVUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUN6Qjs7QUFFRCxRQUFJLEtBQUssR0FBRyxDQUFDLENBQUM7QUFDZCxRQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksRUFBRTtBQUM5QixXQUFLLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7S0FDNUIsTUFBTSxJQUFJLE9BQU8sQ0FBQyxJQUFJLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxFQUFFO0FBQ3JELFdBQUssR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztLQUM1QjtBQUNELFFBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUM7O0FBRWhCLFlBQVEsQ0FBQyxHQUFHLE1BQUEsQ0FBWixRQUFRLEVBQVEsSUFBSSxDQUFDLENBQUM7R0FDdkIsQ0FBQyxDQUFDO0NBQ0oiLCJmaWxlIjoibG9nLmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24oaW5zdGFuY2UpIHtcbiAgaW5zdGFuY2UucmVnaXN0ZXJIZWxwZXIoJ2xvZycsIGZ1bmN0aW9uKC8qIG1lc3NhZ2UsIG9wdGlvbnMgKi8pIHtcbiAgICBsZXQgYXJncyA9IFt1bmRlZmluZWRdLFxuICAgICAgb3B0aW9ucyA9IGFyZ3VtZW50c1thcmd1bWVudHMubGVuZ3RoIC0gMV07XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhcmd1bWVudHMubGVuZ3RoIC0gMTsgaSsrKSB7XG4gICAgICBhcmdzLnB1c2goYXJndW1lbnRzW2ldKTtcbiAgICB9XG5cbiAgICBsZXQgbGV2ZWwgPSAxO1xuICAgIGlmIChvcHRpb25zLmhhc2gubGV2ZWwgIT0gbnVsbCkge1xuICAgICAgbGV2ZWwgPSBvcHRpb25zLmhhc2gubGV2ZWw7XG4gICAgfSBlbHNlIGlmIChvcHRpb25zLmRhdGEgJiYgb3B0aW9ucy5kYXRhLmxldmVsICE9IG51bGwpIHtcbiAgICAgIGxldmVsID0gb3B0aW9ucy5kYXRhLmxldmVsO1xuICAgIH1cbiAgICBhcmdzWzBdID0gbGV2ZWw7XG5cbiAgICBpbnN0YW5jZS5sb2coLi4uYXJncyk7XG4gIH0pO1xufVxuIl19\n","'use strict';\n\nexports.__esModule = true;\n\nexports['default'] = function (instance) {\n instance.registerHelper('lookup', function (obj, field, options) {\n if (!obj) {\n // Note for 5.0: Change to \"obj == null\" in 5.0\n return obj;\n }\n return options.lookupProperty(obj, field);\n });\n};\n\nmodule.exports = exports['default'];\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2hlbHBlcnMvbG9va3VwLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7cUJBQWUsVUFBUyxRQUFRLEVBQUU7QUFDaEMsVUFBUSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsVUFBUyxHQUFHLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRTtBQUM5RCxRQUFJLENBQUMsR0FBRyxFQUFFOztBQUVSLGFBQU8sR0FBRyxDQUFDO0tBQ1o7QUFDRCxXQUFPLE9BQU8sQ0FBQyxjQUFjLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO0dBQzNDLENBQUMsQ0FBQztDQUNKIiwiZmlsZSI6Imxvb2t1cC5qcyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uKGluc3RhbmNlKSB7XG4gIGluc3RhbmNlLnJlZ2lzdGVySGVscGVyKCdsb29rdXAnLCBmdW5jdGlvbihvYmosIGZpZWxkLCBvcHRpb25zKSB7XG4gICAgaWYgKCFvYmopIHtcbiAgICAgIC8vIE5vdGUgZm9yIDUuMDogQ2hhbmdlIHRvIFwib2JqID09IG51bGxcIiBpbiA1LjBcbiAgICAgIHJldHVybiBvYmo7XG4gICAgfVxuICAgIHJldHVybiBvcHRpb25zLmxvb2t1cFByb3BlcnR5KG9iaiwgZmllbGQpO1xuICB9KTtcbn1cbiJdfQ==\n","'use strict';\n\nexports.__esModule = true;\n// istanbul ignore next\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _utils = require('../utils');\n\nvar _exception = require('../exception');\n\nvar _exception2 = _interopRequireDefault(_exception);\n\nexports['default'] = function (instance) {\n instance.registerHelper('with', function (context, options) {\n if (arguments.length != 2) {\n throw new _exception2['default']('#with requires exactly one argument');\n }\n if (_utils.isFunction(context)) {\n context = context.call(this);\n }\n\n var fn = options.fn;\n\n if (!_utils.isEmpty(context)) {\n var data = options.data;\n if (options.data && options.ids) {\n data = _utils.createFrame(options.data);\n data.contextPath = _utils.appendContextPath(options.data.contextPath, options.ids[0]);\n }\n\n return fn(context, {\n data: data,\n blockParams: _utils.blockParams([context], [data && data.contextPath])\n });\n } else {\n return options.inverse(this);\n }\n });\n};\n\nmodule.exports = exports['default'];\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2hlbHBlcnMvd2l0aC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O3FCQU1PLFVBQVU7O3lCQUNLLGNBQWM7Ozs7cUJBRXJCLFVBQVMsUUFBUSxFQUFFO0FBQ2hDLFVBQVEsQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLFVBQVMsT0FBTyxFQUFFLE9BQU8sRUFBRTtBQUN6RCxRQUFJLFNBQVMsQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFFO0FBQ3pCLFlBQU0sMkJBQWMscUNBQXFDLENBQUMsQ0FBQztLQUM1RDtBQUNELFFBQUksa0JBQVcsT0FBTyxDQUFDLEVBQUU7QUFDdkIsYUFBTyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDOUI7O0FBRUQsUUFBSSxFQUFFLEdBQUcsT0FBTyxDQUFDLEVBQUUsQ0FBQzs7QUFFcEIsUUFBSSxDQUFDLGVBQVEsT0FBTyxDQUFDLEVBQUU7QUFDckIsVUFBSSxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQztBQUN4QixVQUFJLE9BQU8sQ0FBQyxJQUFJLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRTtBQUMvQixZQUFJLEdBQUcsbUJBQVksT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ2pDLFlBQUksQ0FBQyxXQUFXLEdBQUcseUJBQ2pCLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUN4QixPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUNmLENBQUM7T0FDSDs7QUFFRCxhQUFPLEVBQUUsQ0FBQyxPQUFPLEVBQUU7QUFDakIsWUFBSSxFQUFFLElBQUk7QUFDVixtQkFBVyxFQUFFLG1CQUFZLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO09BQ2hFLENBQUMsQ0FBQztLQUNKLE1BQU07QUFDTCxhQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDOUI7R0FDRixDQUFDLENBQUM7Q0FDSiIsImZpbGUiOiJ3aXRoLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgYXBwZW5kQ29udGV4dFBhdGgsXG4gIGJsb2NrUGFyYW1zLFxuICBjcmVhdGVGcmFtZSxcbiAgaXNFbXB0eSxcbiAgaXNGdW5jdGlvblxufSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgRXhjZXB0aW9uIGZyb20gJy4uL2V4Y2VwdGlvbic7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uKGluc3RhbmNlKSB7XG4gIGluc3RhbmNlLnJlZ2lzdGVySGVscGVyKCd3aXRoJywgZnVuY3Rpb24oY29udGV4dCwgb3B0aW9ucykge1xuICAgIGlmIChhcmd1bWVudHMubGVuZ3RoICE9IDIpIHtcbiAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oJyN3aXRoIHJlcXVpcmVzIGV4YWN0bHkgb25lIGFyZ3VtZW50Jyk7XG4gICAgfVxuICAgIGlmIChpc0Z1bmN0aW9uKGNvbnRleHQpKSB7XG4gICAgICBjb250ZXh0ID0gY29udGV4dC5jYWxsKHRoaXMpO1xuICAgIH1cblxuICAgIGxldCBmbiA9IG9wdGlvbnMuZm47XG5cbiAgICBpZiAoIWlzRW1wdHkoY29udGV4dCkpIHtcbiAgICAgIGxldCBkYXRhID0gb3B0aW9ucy5kYXRhO1xuICAgICAgaWYgKG9wdGlvbnMuZGF0YSAmJiBvcHRpb25zLmlkcykge1xuICAgICAgICBkYXRhID0gY3JlYXRlRnJhbWUob3B0aW9ucy5kYXRhKTtcbiAgICAgICAgZGF0YS5jb250ZXh0UGF0aCA9IGFwcGVuZENvbnRleHRQYXRoKFxuICAgICAgICAgIG9wdGlvbnMuZGF0YS5jb250ZXh0UGF0aCxcbiAgICAgICAgICBvcHRpb25zLmlkc1swXVxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gZm4oY29udGV4dCwge1xuICAgICAgICBkYXRhOiBkYXRhLFxuICAgICAgICBibG9ja1BhcmFtczogYmxvY2tQYXJhbXMoW2NvbnRleHRdLCBbZGF0YSAmJiBkYXRhLmNvbnRleHRQYXRoXSlcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gb3B0aW9ucy5pbnZlcnNlKHRoaXMpO1xuICAgIH1cbiAgfSk7XG59XG4iXX0=\n","'use strict';\n\nexports.__esModule = true;\nexports.createProtoAccessControl = createProtoAccessControl;\nexports.resultIsAllowed = resultIsAllowed;\nexports.resetLoggedProperties = resetLoggedProperties;\n// istanbul ignore next\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _utils = require('../utils');\n\nvar _logger = require('../logger');\n\nvar _logger2 = _interopRequireDefault(_logger);\n\nvar loggedProperties = Object.create(null);\n\nfunction createProtoAccessControl(runtimeOptions) {\n // Create an object with \"null\"-prototype to avoid truthy results on\n // prototype properties.\n var propertyWhiteList = Object.create(null);\n // eslint-disable-next-line no-proto\n propertyWhiteList['__proto__'] = false;\n _utils.extend(propertyWhiteList, runtimeOptions.allowedProtoProperties);\n\n var methodWhiteList = Object.create(null);\n methodWhiteList['constructor'] = false;\n methodWhiteList['__defineGetter__'] = false;\n methodWhiteList['__defineSetter__'] = false;\n methodWhiteList['__lookupGetter__'] = false;\n methodWhiteList['__lookupSetter__'] = false;\n _utils.extend(methodWhiteList, runtimeOptions.allowedProtoMethods);\n\n return {\n properties: {\n whitelist: propertyWhiteList,\n defaultValue: runtimeOptions.allowProtoPropertiesByDefault\n },\n methods: {\n whitelist: methodWhiteList,\n defaultValue: runtimeOptions.allowProtoMethodsByDefault\n }\n };\n}\n\nfunction resultIsAllowed(result, protoAccessControl, propertyName) {\n if (typeof result === 'function') {\n return checkWhiteList(protoAccessControl.methods, propertyName);\n } else {\n return checkWhiteList(protoAccessControl.properties, propertyName);\n }\n}\n\nfunction checkWhiteList(protoAccessControlForType, propertyName) {\n if (protoAccessControlForType.whitelist[propertyName] !== undefined) {\n return protoAccessControlForType.whitelist[propertyName] === true;\n }\n if (protoAccessControlForType.defaultValue !== undefined) {\n return protoAccessControlForType.defaultValue;\n }\n logUnexpecedPropertyAccessOnce(propertyName);\n return false;\n}\n\nfunction logUnexpecedPropertyAccessOnce(propertyName) {\n if (loggedProperties[propertyName] !== true) {\n loggedProperties[propertyName] = true;\n _logger2['default'].log('error', 'Handlebars: Access has been denied to resolve the property \"' + propertyName + '\" because it is not an \"own property\" of its parent.\\n' + 'You can add a runtime option to disable the check or this warning:\\n' + 'See https://handlebarsjs.com/api-reference/runtime-options.html#options-to-control-prototype-access for details');\n }\n}\n\nfunction resetLoggedProperties() {\n Object.keys(loggedProperties).forEach(function (propertyName) {\n delete loggedProperties[propertyName];\n });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2ludGVybmFsL3Byb3RvLWFjY2Vzcy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O3FCQUF1QixVQUFVOztzQkFDZCxXQUFXOzs7O0FBRTlCLElBQU0sZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQzs7QUFFdEMsU0FBUyx3QkFBd0IsQ0FBQyxjQUFjLEVBQUU7OztBQUd2RCxNQUFNLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7O0FBRTlDLG1CQUFpQixDQUFDLFdBQVcsQ0FBQyxHQUFHLEtBQUssQ0FBQztBQUN2QyxnQkFBTyxpQkFBaUIsRUFBRSxjQUFjLENBQUMsc0JBQXNCLENBQUMsQ0FBQzs7QUFFakUsTUFBTSxlQUFlLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUM1QyxpQkFBZSxDQUFDLGFBQWEsQ0FBQyxHQUFHLEtBQUssQ0FBQztBQUN2QyxpQkFBZSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsS0FBSyxDQUFDO0FBQzVDLGlCQUFlLENBQUMsa0JBQWtCLENBQUMsR0FBRyxLQUFLLENBQUM7QUFDNUMsaUJBQWUsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLEtBQUssQ0FBQztBQUM1QyxpQkFBZSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsS0FBSyxDQUFDO0FBQzVDLGdCQUFPLGVBQWUsRUFBRSxjQUFjLENBQUMsbUJBQW1CLENBQUMsQ0FBQzs7QUFFNUQsU0FBTztBQUNMLGNBQVUsRUFBRTtBQUNWLGVBQVMsRUFBRSxpQkFBaUI7QUFDNUIsa0JBQVksRUFBRSxjQUFjLENBQUMsNkJBQTZCO0tBQzNEO0FBQ0QsV0FBTyxFQUFFO0FBQ1AsZUFBUyxFQUFFLGVBQWU7QUFDMUIsa0JBQVksRUFBRSxjQUFjLENBQUMsMEJBQTBCO0tBQ3hEO0dBQ0YsQ0FBQztDQUNIOztBQUVNLFNBQVMsZUFBZSxDQUFDLE1BQU0sRUFBRSxrQkFBa0IsRUFBRSxZQUFZLEVBQUU7QUFDeEUsTUFBSSxPQUFPLE1BQU0sS0FBSyxVQUFVLEVBQUU7QUFDaEMsV0FBTyxjQUFjLENBQUMsa0JBQWtCLENBQUMsT0FBTyxFQUFFLFlBQVksQ0FBQyxDQUFDO0dBQ2pFLE1BQU07QUFDTCxXQUFPLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLEVBQUUsWUFBWSxDQUFDLENBQUM7R0FDcEU7Q0FDRjs7QUFFRCxTQUFTLGNBQWMsQ0FBQyx5QkFBeUIsRUFBRSxZQUFZLEVBQUU7QUFDL0QsTUFBSSx5QkFBeUIsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLEtBQUssU0FBUyxFQUFFO0FBQ25FLFdBQU8seUJBQXlCLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxLQUFLLElBQUksQ0FBQztHQUNuRTtBQUNELE1BQUkseUJBQXlCLENBQUMsWUFBWSxLQUFLLFNBQVMsRUFBRTtBQUN4RCxXQUFPLHlCQUF5QixDQUFDLFlBQVksQ0FBQztHQUMvQztBQUNELGdDQUE4QixDQUFDLFlBQVksQ0FBQyxDQUFDO0FBQzdDLFNBQU8sS0FBSyxDQUFDO0NBQ2Q7O0FBRUQsU0FBUyw4QkFBOEIsQ0FBQyxZQUFZLEVBQUU7QUFDcEQsTUFBSSxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsS0FBSyxJQUFJLEVBQUU7QUFDM0Msb0JBQWdCLENBQUMsWUFBWSxDQUFDLEdBQUcsSUFBSSxDQUFDO0FBQ3RDLHdCQUFPLEdBQUcsQ0FDUixPQUFPLEVBQ1AsaUVBQStELFlBQVksb0lBQ0gsb0hBQzJDLENBQ3BILENBQUM7R0FDSDtDQUNGOztBQUVNLFNBQVMscUJBQXFCLEdBQUc7QUFDdEMsUUFBTSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFBLFlBQVksRUFBSTtBQUNwRCxXQUFPLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxDQUFDO0dBQ3ZDLENBQUMsQ0FBQztDQUNKIiwiZmlsZSI6InByb3RvLWFjY2Vzcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGV4dGVuZCB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCBsb2dnZXIgZnJvbSAnLi4vbG9nZ2VyJztcblxuY29uc3QgbG9nZ2VkUHJvcGVydGllcyA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVQcm90b0FjY2Vzc0NvbnRyb2wocnVudGltZU9wdGlvbnMpIHtcbiAgLy8gQ3JlYXRlIGFuIG9iamVjdCB3aXRoIFwibnVsbFwiLXByb3RvdHlwZSB0byBhdm9pZCB0cnV0aHkgcmVzdWx0cyBvblxuICAvLyBwcm90b3R5cGUgcHJvcGVydGllcy5cbiAgY29uc3QgcHJvcGVydHlXaGl0ZUxpc3QgPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcHJvdG9cbiAgcHJvcGVydHlXaGl0ZUxpc3RbJ19fcHJvdG9fXyddID0gZmFsc2U7XG4gIGV4dGVuZChwcm9wZXJ0eVdoaXRlTGlzdCwgcnVudGltZU9wdGlvbnMuYWxsb3dlZFByb3RvUHJvcGVydGllcyk7XG5cbiAgY29uc3QgbWV0aG9kV2hpdGVMaXN0ID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiAgbWV0aG9kV2hpdGVMaXN0Wydjb25zdHJ1Y3RvciddID0gZmFsc2U7XG4gIG1ldGhvZFdoaXRlTGlzdFsnX19kZWZpbmVHZXR0ZXJfXyddID0gZmFsc2U7XG4gIG1ldGhvZFdoaXRlTGlzdFsnX19kZWZpbmVTZXR0ZXJfXyddID0gZmFsc2U7XG4gIG1ldGhvZFdoaXRlTGlzdFsnX19sb29rdXBHZXR0ZXJfXyddID0gZmFsc2U7XG4gIG1ldGhvZFdoaXRlTGlzdFsnX19sb29rdXBTZXR0ZXJfXyddID0gZmFsc2U7XG4gIGV4dGVuZChtZXRob2RXaGl0ZUxpc3QsIHJ1bnRpbWVPcHRpb25zLmFsbG93ZWRQcm90b01ldGhvZHMpO1xuXG4gIHJldHVybiB7XG4gICAgcHJvcGVydGllczoge1xuICAgICAgd2hpdGVsaXN0OiBwcm9wZXJ0eVdoaXRlTGlzdCxcbiAgICAgIGRlZmF1bHRWYWx1ZTogcnVudGltZU9wdGlvbnMuYWxsb3dQcm90b1Byb3BlcnRpZXNCeURlZmF1bHRcbiAgICB9LFxuICAgIG1ldGhvZHM6IHtcbiAgICAgIHdoaXRlbGlzdDogbWV0aG9kV2hpdGVMaXN0LFxuICAgICAgZGVmYXVsdFZhbHVlOiBydW50aW1lT3B0aW9ucy5hbGxvd1Byb3RvTWV0aG9kc0J5RGVmYXVsdFxuICAgIH1cbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlc3VsdElzQWxsb3dlZChyZXN1bHQsIHByb3RvQWNjZXNzQ29udHJvbCwgcHJvcGVydHlOYW1lKSB7XG4gIGlmICh0eXBlb2YgcmVzdWx0ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgcmV0dXJuIGNoZWNrV2hpdGVMaXN0KHByb3RvQWNjZXNzQ29udHJvbC5tZXRob2RzLCBwcm9wZXJ0eU5hbWUpO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBjaGVja1doaXRlTGlzdChwcm90b0FjY2Vzc0NvbnRyb2wucHJvcGVydGllcywgcHJvcGVydHlOYW1lKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBjaGVja1doaXRlTGlzdChwcm90b0FjY2Vzc0NvbnRyb2xGb3JUeXBlLCBwcm9wZXJ0eU5hbWUpIHtcbiAgaWYgKHByb3RvQWNjZXNzQ29udHJvbEZvclR5cGUud2hpdGVsaXN0W3Byb3BlcnR5TmFtZV0gIT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiBwcm90b0FjY2Vzc0NvbnRyb2xGb3JUeXBlLndoaXRlbGlzdFtwcm9wZXJ0eU5hbWVdID09PSB0cnVlO1xuICB9XG4gIGlmIChwcm90b0FjY2Vzc0NvbnRyb2xGb3JUeXBlLmRlZmF1bHRWYWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIHByb3RvQWNjZXNzQ29udHJvbEZvclR5cGUuZGVmYXVsdFZhbHVlO1xuICB9XG4gIGxvZ1VuZXhwZWNlZFByb3BlcnR5QWNjZXNzT25jZShwcm9wZXJ0eU5hbWUpO1xuICByZXR1cm4gZmFsc2U7XG59XG5cbmZ1bmN0aW9uIGxvZ1VuZXhwZWNlZFByb3BlcnR5QWNjZXNzT25jZShwcm9wZXJ0eU5hbWUpIHtcbiAgaWYgKGxvZ2dlZFByb3BlcnRpZXNbcHJvcGVydHlOYW1lXSAhPT0gdHJ1ZSkge1xuICAgIGxvZ2dlZFByb3BlcnRpZXNbcHJvcGVydHlOYW1lXSA9IHRydWU7XG4gICAgbG9nZ2VyLmxvZyhcbiAgICAgICdlcnJvcicsXG4gICAgICBgSGFuZGxlYmFyczogQWNjZXNzIGhhcyBiZWVuIGRlbmllZCB0byByZXNvbHZlIHRoZSBwcm9wZXJ0eSBcIiR7cHJvcGVydHlOYW1lfVwiIGJlY2F1c2UgaXQgaXMgbm90IGFuIFwib3duIHByb3BlcnR5XCIgb2YgaXRzIHBhcmVudC5cXG5gICtcbiAgICAgICAgYFlvdSBjYW4gYWRkIGEgcnVudGltZSBvcHRpb24gdG8gZGlzYWJsZSB0aGUgY2hlY2sgb3IgdGhpcyB3YXJuaW5nOlxcbmAgK1xuICAgICAgICBgU2VlIGh0dHBzOi8vaGFuZGxlYmFyc2pzLmNvbS9hcGktcmVmZXJlbmNlL3J1bnRpbWUtb3B0aW9ucy5odG1sI29wdGlvbnMtdG8tY29udHJvbC1wcm90b3R5cGUtYWNjZXNzIGZvciBkZXRhaWxzYFxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlc2V0TG9nZ2VkUHJvcGVydGllcygpIHtcbiAgT2JqZWN0LmtleXMobG9nZ2VkUHJvcGVydGllcykuZm9yRWFjaChwcm9wZXJ0eU5hbWUgPT4ge1xuICAgIGRlbGV0ZSBsb2dnZWRQcm9wZXJ0aWVzW3Byb3BlcnR5TmFtZV07XG4gIH0pO1xufVxuIl19\n","'use strict';\n\nexports.__esModule = true;\nexports.wrapHelper = wrapHelper;\n\nfunction wrapHelper(helper, transformOptionsFn) {\n if (typeof helper !== 'function') {\n // This should not happen, but apparently it does in https://github.com/wycats/handlebars.js/issues/1639\n // We try to make the wrapper least-invasive by not wrapping it, if the helper is not a function.\n return helper;\n }\n var wrapper = function wrapper() /* dynamic arguments */{\n var options = arguments[arguments.length - 1];\n arguments[arguments.length - 1] = transformOptionsFn(options);\n return helper.apply(this, arguments);\n };\n return wrapper;\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2ludGVybmFsL3dyYXBIZWxwZXIuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBTyxTQUFTLFVBQVUsQ0FBQyxNQUFNLEVBQUUsa0JBQWtCLEVBQUU7QUFDckQsTUFBSSxPQUFPLE1BQU0sS0FBSyxVQUFVLEVBQUU7OztBQUdoQyxXQUFPLE1BQU0sQ0FBQztHQUNmO0FBQ0QsTUFBSSxPQUFPLEdBQUcsU0FBVixPQUFPLDBCQUFxQztBQUM5QyxRQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztBQUNoRCxhQUFTLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsR0FBRyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUM5RCxXQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0dBQ3RDLENBQUM7QUFDRixTQUFPLE9BQU8sQ0FBQztDQUNoQiIsImZpbGUiOiJ3cmFwSGVscGVyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIHdyYXBIZWxwZXIoaGVscGVyLCB0cmFuc2Zvcm1PcHRpb25zRm4pIHtcbiAgaWYgKHR5cGVvZiBoZWxwZXIgIT09ICdmdW5jdGlvbicpIHtcbiAgICAvLyBUaGlzIHNob3VsZCBub3QgaGFwcGVuLCBidXQgYXBwYXJlbnRseSBpdCBkb2VzIGluIGh0dHBzOi8vZ2l0aHViLmNvbS93eWNhdHMvaGFuZGxlYmFycy5qcy9pc3N1ZXMvMTYzOVxuICAgIC8vIFdlIHRyeSB0byBtYWtlIHRoZSB3cmFwcGVyIGxlYXN0LWludmFzaXZlIGJ5IG5vdCB3cmFwcGluZyBpdCwgaWYgdGhlIGhlbHBlciBpcyBub3QgYSBmdW5jdGlvbi5cbiAgICByZXR1cm4gaGVscGVyO1xuICB9XG4gIGxldCB3cmFwcGVyID0gZnVuY3Rpb24oLyogZHluYW1pYyBhcmd1bWVudHMgKi8pIHtcbiAgICBjb25zdCBvcHRpb25zID0gYXJndW1lbnRzW2FyZ3VtZW50cy5sZW5ndGggLSAxXTtcbiAgICBhcmd1bWVudHNbYXJndW1lbnRzLmxlbmd0aCAtIDFdID0gdHJhbnNmb3JtT3B0aW9uc0ZuKG9wdGlvbnMpO1xuICAgIHJldHVybiBoZWxwZXIuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgfTtcbiAgcmV0dXJuIHdyYXBwZXI7XG59XG4iXX0=\n","'use strict';\n\nexports.__esModule = true;\n\nvar _utils = require('./utils');\n\nvar logger = {\n methodMap: ['debug', 'info', 'warn', 'error'],\n level: 'info',\n\n // Maps a given level value to the `methodMap` indexes above.\n lookupLevel: function lookupLevel(level) {\n if (typeof level === 'string') {\n var levelMap = _utils.indexOf(logger.methodMap, level.toLowerCase());\n if (levelMap >= 0) {\n level = levelMap;\n } else {\n level = parseInt(level, 10);\n }\n }\n\n return level;\n },\n\n // Can be overridden in the host environment\n log: function log(level) {\n level = logger.lookupLevel(level);\n\n if (typeof console !== 'undefined' && logger.lookupLevel(logger.level) <= level) {\n var method = logger.methodMap[level];\n // eslint-disable-next-line no-console\n if (!console[method]) {\n method = 'log';\n }\n\n for (var _len = arguments.length, message = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n message[_key - 1] = arguments[_key];\n }\n\n console[method].apply(console, message); // eslint-disable-line no-console\n }\n }\n};\n\nexports['default'] = logger;\nmodule.exports = exports['default'];\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2xvZ2dlci5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O3FCQUF3QixTQUFTOztBQUVqQyxJQUFJLE1BQU0sR0FBRztBQUNYLFdBQVMsRUFBRSxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQztBQUM3QyxPQUFLLEVBQUUsTUFBTTs7O0FBR2IsYUFBVyxFQUFFLHFCQUFTLEtBQUssRUFBRTtBQUMzQixRQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRTtBQUM3QixVQUFJLFFBQVEsR0FBRyxlQUFRLE1BQU0sQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7QUFDOUQsVUFBSSxRQUFRLElBQUksQ0FBQyxFQUFFO0FBQ2pCLGFBQUssR0FBRyxRQUFRLENBQUM7T0FDbEIsTUFBTTtBQUNMLGFBQUssR0FBRyxRQUFRLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO09BQzdCO0tBQ0Y7O0FBRUQsV0FBTyxLQUFLLENBQUM7R0FDZDs7O0FBR0QsS0FBRyxFQUFFLGFBQVMsS0FBSyxFQUFjO0FBQy9CLFNBQUssR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDOztBQUVsQyxRQUNFLE9BQU8sT0FBTyxLQUFLLFdBQVcsSUFDOUIsTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxFQUN6QztBQUNBLFVBQUksTUFBTSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7O0FBRXJDLFVBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7QUFDcEIsY0FBTSxHQUFHLEtBQUssQ0FBQztPQUNoQjs7d0NBWG1CLE9BQU87QUFBUCxlQUFPOzs7QUFZM0IsYUFBTyxDQUFDLE1BQU0sT0FBQyxDQUFmLE9BQU8sRUFBWSxPQUFPLENBQUMsQ0FBQztLQUM3QjtHQUNGO0NBQ0YsQ0FBQzs7cUJBRWEsTUFBTSIsImZpbGUiOiJsb2dnZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmRleE9mIH0gZnJvbSAnLi91dGlscyc7XG5cbmxldCBsb2dnZXIgPSB7XG4gIG1ldGhvZE1hcDogWydkZWJ1ZycsICdpbmZvJywgJ3dhcm4nLCAnZXJyb3InXSxcbiAgbGV2ZWw6ICdpbmZvJyxcblxuICAvLyBNYXBzIGEgZ2l2ZW4gbGV2ZWwgdmFsdWUgdG8gdGhlIGBtZXRob2RNYXBgIGluZGV4ZXMgYWJvdmUuXG4gIGxvb2t1cExldmVsOiBmdW5jdGlvbihsZXZlbCkge1xuICAgIGlmICh0eXBlb2YgbGV2ZWwgPT09ICdzdHJpbmcnKSB7XG4gICAgICBsZXQgbGV2ZWxNYXAgPSBpbmRleE9mKGxvZ2dlci5tZXRob2RNYXAsIGxldmVsLnRvTG93ZXJDYXNlKCkpO1xuICAgICAgaWYgKGxldmVsTWFwID49IDApIHtcbiAgICAgICAgbGV2ZWwgPSBsZXZlbE1hcDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxldmVsID0gcGFyc2VJbnQobGV2ZWwsIDEwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gbGV2ZWw7XG4gIH0sXG5cbiAgLy8gQ2FuIGJlIG92ZXJyaWRkZW4gaW4gdGhlIGhvc3QgZW52aXJvbm1lbnRcbiAgbG9nOiBmdW5jdGlvbihsZXZlbCwgLi4ubWVzc2FnZSkge1xuICAgIGxldmVsID0gbG9nZ2VyLmxvb2t1cExldmVsKGxldmVsKTtcblxuICAgIGlmIChcbiAgICAgIHR5cGVvZiBjb25zb2xlICE9PSAndW5kZWZpbmVkJyAmJlxuICAgICAgbG9nZ2VyLmxvb2t1cExldmVsKGxvZ2dlci5sZXZlbCkgPD0gbGV2ZWxcbiAgICApIHtcbiAgICAgIGxldCBtZXRob2QgPSBsb2dnZXIubWV0aG9kTWFwW2xldmVsXTtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgICBpZiAoIWNvbnNvbGVbbWV0aG9kXSkge1xuICAgICAgICBtZXRob2QgPSAnbG9nJztcbiAgICAgIH1cbiAgICAgIGNvbnNvbGVbbWV0aG9kXSguLi5tZXNzYWdlKTsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby1jb25zb2xlXG4gICAgfVxuICB9XG59O1xuXG5leHBvcnQgZGVmYXVsdCBsb2dnZXI7XG4iXX0=\n","/* global globalThis */\n'use strict';\n\nexports.__esModule = true;\n\nexports['default'] = function (Handlebars) {\n /* istanbul ignore next */\n // https://mathiasbynens.be/notes/globalthis\n (function () {\n if (typeof globalThis === 'object') return;\n Object.prototype.__defineGetter__('__magic__', function () {\n return this;\n });\n __magic__.globalThis = __magic__; // eslint-disable-line no-undef\n delete Object.prototype.__magic__;\n })();\n\n var $Handlebars = globalThis.Handlebars;\n\n /* istanbul ignore next */\n Handlebars.noConflict = function () {\n if (globalThis.Handlebars === Handlebars) {\n globalThis.Handlebars = $Handlebars;\n }\n return Handlebars;\n };\n};\n\nmodule.exports = exports['default'];\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL25vLWNvbmZsaWN0LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O3FCQUNlLFVBQVMsVUFBVSxFQUFFOzs7QUFHbEMsR0FBQyxZQUFXO0FBQ1YsUUFBSSxPQUFPLFVBQVUsS0FBSyxRQUFRLEVBQUUsT0FBTztBQUMzQyxVQUFNLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLFdBQVcsRUFBRSxZQUFXO0FBQ3hELGFBQU8sSUFBSSxDQUFDO0tBQ2IsQ0FBQyxDQUFDO0FBQ0gsYUFBUyxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUM7QUFDakMsV0FBTyxNQUFNLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQztHQUNuQyxDQUFBLEVBQUcsQ0FBQzs7QUFFTCxNQUFNLFdBQVcsR0FBRyxVQUFVLENBQUMsVUFBVSxDQUFDOzs7QUFHMUMsWUFBVSxDQUFDLFVBQVUsR0FBRyxZQUFXO0FBQ2pDLFFBQUksVUFBVSxDQUFDLFVBQVUsS0FBSyxVQUFVLEVBQUU7QUFDeEMsZ0JBQVUsQ0FBQyxVQUFVLEdBQUcsV0FBVyxDQUFDO0tBQ3JDO0FBQ0QsV0FBTyxVQUFVLENBQUM7R0FDbkIsQ0FBQztDQUNIIiwiZmlsZSI6Im5vLWNvbmZsaWN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyogZ2xvYmFsIGdsb2JhbFRoaXMgKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uKEhhbmRsZWJhcnMpIHtcbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgLy8gaHR0cHM6Ly9tYXRoaWFzYnluZW5zLmJlL25vdGVzL2dsb2JhbHRoaXNcbiAgKGZ1bmN0aW9uKCkge1xuICAgIGlmICh0eXBlb2YgZ2xvYmFsVGhpcyA9PT0gJ29iamVjdCcpIHJldHVybjtcbiAgICBPYmplY3QucHJvdG90eXBlLl9fZGVmaW5lR2V0dGVyX18oJ19fbWFnaWNfXycsIGZ1bmN0aW9uKCkge1xuICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfSk7XG4gICAgX19tYWdpY19fLmdsb2JhbFRoaXMgPSBfX21hZ2ljX187IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tdW5kZWZcbiAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZS5fX21hZ2ljX187XG4gIH0pKCk7XG5cbiAgY29uc3QgJEhhbmRsZWJhcnMgPSBnbG9iYWxUaGlzLkhhbmRsZWJhcnM7XG5cbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgSGFuZGxlYmFycy5ub0NvbmZsaWN0ID0gZnVuY3Rpb24oKSB7XG4gICAgaWYgKGdsb2JhbFRoaXMuSGFuZGxlYmFycyA9PT0gSGFuZGxlYmFycykge1xuICAgICAgZ2xvYmFsVGhpcy5IYW5kbGViYXJzID0gJEhhbmRsZWJhcnM7XG4gICAgfVxuICAgIHJldHVybiBIYW5kbGViYXJzO1xuICB9O1xufVxuIl19\n","'use strict';\n\nexports.__esModule = true;\nexports.checkRevision = checkRevision;\nexports.template = template;\nexports.wrapProgram = wrapProgram;\nexports.resolvePartial = resolvePartial;\nexports.invokePartial = invokePartial;\nexports.noop = noop;\n// istanbul ignore next\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\n// istanbul ignore next\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }\n\nvar _utils = require('./utils');\n\nvar Utils = _interopRequireWildcard(_utils);\n\nvar _exception = require('./exception');\n\nvar _exception2 = _interopRequireDefault(_exception);\n\nvar _base = require('./base');\n\nvar _helpers = require('./helpers');\n\nvar _internalWrapHelper = require('./internal/wrapHelper');\n\nvar _internalProtoAccess = require('./internal/proto-access');\n\nfunction checkRevision(compilerInfo) {\n var compilerRevision = compilerInfo && compilerInfo[0] || 1,\n currentRevision = _base.COMPILER_REVISION;\n\n if (compilerRevision >= _base.LAST_COMPATIBLE_COMPILER_REVISION && compilerRevision <= _base.COMPILER_REVISION) {\n return;\n }\n\n if (compilerRevision < _base.LAST_COMPATIBLE_COMPILER_REVISION) {\n var runtimeVersions = _base.REVISION_CHANGES[currentRevision],\n compilerVersions = _base.REVISION_CHANGES[compilerRevision];\n throw new _exception2['default']('Template was precompiled with an older version of Handlebars than the current runtime. ' + 'Please update your precompiler to a newer version (' + runtimeVersions + ') or downgrade your runtime to an older version (' + compilerVersions + ').');\n } else {\n // Use the embedded version info since the runtime doesn't know about this revision yet\n throw new _exception2['default']('Template was precompiled with a newer version of Handlebars than the current runtime. ' + 'Please update your runtime to a newer version (' + compilerInfo[1] + ').');\n }\n}\n\nfunction template(templateSpec, env) {\n /* istanbul ignore next */\n if (!env) {\n throw new _exception2['default']('No environment passed to template');\n }\n if (!templateSpec || !templateSpec.main) {\n throw new _exception2['default']('Unknown template object: ' + typeof templateSpec);\n }\n\n templateSpec.main.decorator = templateSpec.main_d;\n\n // Note: Using env.VM references rather than local var references throughout this section to allow\n // for external users to override these as pseudo-supported APIs.\n env.VM.checkRevision(templateSpec.compiler);\n\n // backwards compatibility for precompiled templates with compiler-version 7 (<4.3.0)\n var templateWasPrecompiledWithCompilerV7 = templateSpec.compiler && templateSpec.compiler[0] === 7;\n\n function invokePartialWrapper(partial, context, options) {\n if (options.hash) {\n context = Utils.extend({}, context, options.hash);\n if (options.ids) {\n options.ids[0] = true;\n }\n }\n partial = env.VM.resolvePartial.call(this, partial, context, options);\n\n options.hooks = this.hooks;\n options.protoAccessControl = this.protoAccessControl;\n\n var result = env.VM.invokePartial.call(this, partial, context, options);\n\n if (result == null && env.compile) {\n options.partials[options.name] = env.compile(partial, templateSpec.compilerOptions, env);\n result = options.partials[options.name](context, options);\n }\n if (result != null) {\n if (options.indent) {\n var lines = result.split('\\n');\n for (var i = 0, l = lines.length; i < l; i++) {\n if (!lines[i] && i + 1 === l) {\n break;\n }\n\n lines[i] = options.indent + lines[i];\n }\n result = lines.join('\\n');\n }\n return result;\n } else {\n throw new _exception2['default']('The partial ' + options.name + ' could not be compiled when running in runtime-only mode');\n }\n }\n\n // Just add water\n var container = {\n strict: function strict(obj, name, loc) {\n if (!obj || !(name in obj)) {\n throw new _exception2['default']('\"' + name + '\" not defined in ' + obj, {\n loc: loc\n });\n }\n return container.lookupProperty(obj, name);\n },\n lookupProperty: function lookupProperty(parent, propertyName) {\n var result = parent[propertyName];\n if (result == null) {\n return result;\n }\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return result;\n }\n\n if (_internalProtoAccess.resultIsAllowed(result, container.protoAccessControl, propertyName)) {\n return result;\n }\n return undefined;\n },\n lookup: function lookup(depths, name) {\n var len = depths.length;\n for (var i = 0; i < len; i++) {\n var result = depths[i] && container.lookupProperty(depths[i], name);\n if (result != null) {\n return result;\n }\n }\n },\n lambda: function lambda(current, context) {\n return typeof current === 'function' ? current.call(context) : current;\n },\n\n escapeExpression: Utils.escapeExpression,\n invokePartial: invokePartialWrapper,\n\n fn: function fn(i) {\n var ret = templateSpec[i];\n ret.decorator = templateSpec[i + '_d'];\n return ret;\n },\n\n programs: [],\n program: function program(i, data, declaredBlockParams, blockParams, depths) {\n var programWrapper = this.programs[i],\n fn = this.fn(i);\n if (data || depths || blockParams || declaredBlockParams) {\n programWrapper = wrapProgram(this, i, fn, data, declaredBlockParams, blockParams, depths);\n } else if (!programWrapper) {\n programWrapper = this.programs[i] = wrapProgram(this, i, fn);\n }\n return programWrapper;\n },\n\n data: function data(value, depth) {\n while (value && depth--) {\n value = value._parent;\n }\n return value;\n },\n mergeIfNeeded: function mergeIfNeeded(param, common) {\n var obj = param || common;\n\n if (param && common && param !== common) {\n obj = Utils.extend({}, common, param);\n }\n\n return obj;\n },\n // An empty object to use as replacement for null-contexts\n nullContext: Object.seal({}),\n\n noop: env.VM.noop,\n compilerInfo: templateSpec.compiler\n };\n\n function ret(context) {\n var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n var data = options.data;\n\n ret._setup(options);\n if (!options.partial && templateSpec.useData) {\n data = initData(context, data);\n }\n var depths = undefined,\n blockParams = templateSpec.useBlockParams ? [] : undefined;\n if (templateSpec.useDepths) {\n if (options.depths) {\n depths = context != options.depths[0] ? [context].concat(options.depths) : options.depths;\n } else {\n depths = [context];\n }\n }\n\n function main(context /*, options*/) {\n return '' + templateSpec.main(container, context, container.helpers, container.partials, data, blockParams, depths);\n }\n\n main = executeDecorators(templateSpec.main, main, container, options.depths || [], data, blockParams);\n return main(context, options);\n }\n\n ret.isTop = true;\n\n ret._setup = function (options) {\n if (!options.partial) {\n var mergedHelpers = {};\n addHelpers(mergedHelpers, env.helpers, container);\n addHelpers(mergedHelpers, options.helpers, container);\n container.helpers = mergedHelpers;\n\n if (templateSpec.usePartial) {\n // Use mergeIfNeeded here to prevent compiling global partials multiple times\n container.partials = container.mergeIfNeeded(options.partials, env.partials);\n }\n if (templateSpec.usePartial || templateSpec.useDecorators) {\n container.decorators = Utils.extend({}, env.decorators, options.decorators);\n }\n\n container.hooks = {};\n container.protoAccessControl = _internalProtoAccess.createProtoAccessControl(options);\n\n var keepHelperInHelpers = options.allowCallsToHelperMissing || templateWasPrecompiledWithCompilerV7;\n _helpers.moveHelperToHooks(container, 'helperMissing', keepHelperInHelpers);\n _helpers.moveHelperToHooks(container, 'blockHelperMissing', keepHelperInHelpers);\n } else {\n container.protoAccessControl = options.protoAccessControl; // internal option\n container.helpers = options.helpers;\n container.partials = options.partials;\n container.decorators = options.decorators;\n container.hooks = options.hooks;\n }\n };\n\n ret._child = function (i, data, blockParams, depths) {\n if (templateSpec.useBlockParams && !blockParams) {\n throw new _exception2['default']('must pass block params');\n }\n if (templateSpec.useDepths && !depths) {\n throw new _exception2['default']('must pass parent depths');\n }\n\n return wrapProgram(container, i, templateSpec[i], data, 0, blockParams, depths);\n };\n return ret;\n}\n\nfunction wrapProgram(container, i, fn, data, declaredBlockParams, blockParams, depths) {\n function prog(context) {\n var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n var currentDepths = depths;\n if (depths && context != depths[0] && !(context === container.nullContext && depths[0] === null)) {\n currentDepths = [context].concat(depths);\n }\n\n return fn(container, context, container.helpers, container.partials, options.data || data, blockParams && [options.blockParams].concat(blockParams), currentDepths);\n }\n\n prog = executeDecorators(fn, prog, container, depths, data, blockParams);\n\n prog.program = i;\n prog.depth = depths ? depths.length : 0;\n prog.blockParams = declaredBlockParams || 0;\n return prog;\n}\n\n/**\n * This is currently part of the official API, therefore implementation details should not be changed.\n */\n\nfunction resolvePartial(partial, context, options) {\n if (!partial) {\n if (options.name === '@partial-block') {\n partial = lookupOwnProperty(options.data, 'partial-block');\n } else {\n partial = lookupOwnProperty(options.partials, options.name);\n }\n } else if (!partial.call && !options.name) {\n // This is a dynamic partial that returned a string\n options.name = partial;\n partial = lookupOwnProperty(options.partials, partial);\n }\n return partial;\n}\n\nfunction invokePartial(partial, context, options) {\n // Use the current closure context to save the partial-block if this partial\n var currentPartialBlock = lookupOwnProperty(options.data, 'partial-block');\n options.partial = true;\n if (options.ids) {\n options.data.contextPath = options.ids[0] || options.data.contextPath;\n }\n\n var partialBlock = undefined;\n if (options.fn && options.fn !== noop) {\n (function () {\n options.data = _base.createFrame(options.data);\n // Wrapper function to get access to currentPartialBlock from the closure\n var fn = options.fn;\n partialBlock = options.data['partial-block'] = function partialBlockWrapper(context) {\n var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n // Restore the partial-block from the closure for the execution of the block\n // i.e. the part inside the block of the partial call.\n options.data = _base.createFrame(options.data);\n options.data['partial-block'] = currentPartialBlock;\n return fn(context, options);\n };\n if (fn.partials) {\n options.partials = Utils.extend({}, options.partials, fn.partials);\n }\n })();\n }\n\n if (partial === undefined && partialBlock) {\n partial = partialBlock;\n }\n\n if (partial === undefined) {\n throw new _exception2['default']('The partial ' + options.name + ' could not be found');\n } else if (partial instanceof Function) {\n return partial(context, options);\n }\n}\n\nfunction noop() {\n return '';\n}\n\nfunction lookupOwnProperty(obj, name) {\n if (obj && Object.prototype.hasOwnProperty.call(obj, name)) {\n return obj[name];\n }\n}\n\nfunction initData(context, data) {\n if (!data || !('root' in data)) {\n data = data ? _base.createFrame(data) : {};\n data.root = context;\n }\n return data;\n}\n\nfunction executeDecorators(fn, prog, container, depths, data, blockParams) {\n if (fn.decorator) {\n var props = {};\n prog = fn.decorator(prog, props, container, depths && depths[0], data, blockParams, depths);\n Utils.extend(prog, props);\n }\n return prog;\n}\n\nfunction addHelpers(mergedHelpers, helpers, container) {\n if (!helpers) return;\n Object.keys(helpers).forEach(function (helperName) {\n var helper = helpers[helperName];\n mergedHelpers[helperName] = passLookupPropertyOption(helper, container);\n });\n}\n\nfunction passLookupPropertyOption(helper, container) {\n var lookupProperty = container.lookupProperty;\n return _internalWrapHelper.wrapHelper(helper, function (options) {\n options.lookupProperty = lookupProperty;\n return options;\n });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL3J1bnRpbWUuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7cUJBQXVCLFNBQVM7O0lBQXBCLEtBQUs7O3lCQUNLLGFBQWE7Ozs7b0JBTTVCLFFBQVE7O3VCQUNtQixXQUFXOztrQ0FDbEIsdUJBQXVCOzttQ0FJM0MseUJBQXlCOztBQUV6QixTQUFTLGFBQWEsQ0FBQyxZQUFZLEVBQUU7QUFDMUMsTUFBTSxnQkFBZ0IsR0FBRyxBQUFDLFlBQVksSUFBSSxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUssQ0FBQztNQUM3RCxlQUFlLDBCQUFvQixDQUFDOztBQUV0QyxNQUNFLGdCQUFnQiwyQ0FBcUMsSUFDckQsZ0JBQWdCLDJCQUFxQixFQUNyQztBQUNBLFdBQU87R0FDUjs7QUFFRCxNQUFJLGdCQUFnQiwwQ0FBb0MsRUFBRTtBQUN4RCxRQUFNLGVBQWUsR0FBRyx1QkFBaUIsZUFBZSxDQUFDO1FBQ3ZELGdCQUFnQixHQUFHLHVCQUFpQixnQkFBZ0IsQ0FBQyxDQUFDO0FBQ3hELFVBQU0sMkJBQ0oseUZBQXlGLEdBQ3ZGLHFEQUFxRCxHQUNyRCxlQUFlLEdBQ2YsbURBQW1ELEdBQ25ELGdCQUFnQixHQUNoQixJQUFJLENBQ1AsQ0FBQztHQUNILE1BQU07O0FBRUwsVUFBTSwyQkFDSix3RkFBd0YsR0FDdEYsaURBQWlELEdBQ2pELFlBQVksQ0FBQyxDQUFDLENBQUMsR0FDZixJQUFJLENBQ1AsQ0FBQztHQUNIO0NBQ0Y7O0FBRU0sU0FBUyxRQUFRLENBQUMsWUFBWSxFQUFFLEdBQUcsRUFBRTs7QUFFMUMsTUFBSSxDQUFDLEdBQUcsRUFBRTtBQUNSLFVBQU0sMkJBQWMsbUNBQW1DLENBQUMsQ0FBQztHQUMxRDtBQUNELE1BQUksQ0FBQyxZQUFZLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFO0FBQ3ZDLFVBQU0sMkJBQWMsMkJBQTJCLEdBQUcsT0FBTyxZQUFZLENBQUMsQ0FBQztH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QXdCLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0dBQ3pFLENBQUMsQ0FBQztDQUNKOztBQUVELFNBQVMsd0JBQXdCLENBQUMsTUFBTSxFQUFFLFNBQVMsRUFBRTtBQUNuRCxNQUFNLGNBQWMsR0FBRyxTQUFTLENBQUMsY0FBYyxDQUFDO0FBQ2hELFNBQU8sK0JBQVcsTUFBTSxFQUFFLFVBQUEsT0FBTyxFQUFJO0FBQ25DLFdBQU8sQ0FBQyxjQUFjLEdBQUcsY0FBYyxDQUFDO0FBQ3hDLFdBQU8sT0FBTyxDQUFDO0dBQ2hCLENBQUMsQ0FBQztDQUNKIiwiZmlsZSI6InJ1bnRpbWUuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBVdGlscyBmcm9tICcuL3V0aWxzJztcbmltcG9ydCBFeGNlcHRpb24gZnJvbSAnLi9leGNlcHRpb24nO1xuaW1wb3J0IHtcbiAgQ09NUElMRVJfUkVWSVNJT04sXG4gIGNyZWF0ZUZyYW1lLFxuICBMQVNUX0NPTVBBVElCTEVfQ09NUElMRVJfUkVWSVNJT04sXG4gIFJFVklTSU9OX0NIQU5HRVNcbn0gZnJvbSAnLi9iYXNlJztcbmltcG9ydCB7IG1vdmVIZWxwZXJUb0hvb2tzIH0gZnJvbSAnLi9oZWxwZXJzJztcbmltcG9ydCB7IHdyYXBIZWxwZXIgfSBmcm9tICcuL2ludGVybmFsL3dyYXBIZWxwZXInO1xuaW1wb3J0IHtcbiAgY3JlYXRlUHJvdG9BY2Nlc3NDb250cm9sLFxuICByZXN1bHRJc0FsbG93ZWRcbn0gZnJvbSAnLi9pbnRlcm5hbC9wcm90by1hY2Nlc3MnO1xuXG5leHBvcnQgZnVuY3Rpb24gY2hlY2tSZXZpc2lvbihjb21waWxlckluZm8pIHtcbiAgY29uc3QgY29tcGlsZXJSZXZpc2lvbiA9IChjb21waWxlckluZm8gJiYgY29tcGlsZXJJbmZvWzBdKSB8fCAxLFxuICAgIGN1cnJlbnRSZXZpc2lvbiA9IENPTVBJTEVSX1JFVklTSU9OO1xuXG4gIGlmIChcbiAgICBjb21waWxlclJldmlzaW9uID49IExBU1RfQ09NUEFUSUJMRV9DT01QSUxFUl9SRVZJU0lPTiAmJlxuICAgIGNvbXBpbGVyUmV2aXNpb24gPD0gQ09NUElMRVJfUkVWSVNJT05cbiAgKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgaWYgKGNvbXBpbGVyUmV2aXNpb24gPCBMQVNUX0NPTVBBVElCTEVfQ09NUElMRVJfUkVWSVNJT04pIHtcbiAgICBjb25zdCBydW50aW1lVmVyc2lvbnMgPSBSRVZJU0lPTl9DSEFOR0VTW2N1cnJlbnRSZXZpc2lvbl0sXG4gICAgICBjb21waWxlclZlcnNpb25zID0gUkVWSVNJT05fQ0hBTkdFU1tjb21waWxlclJldmlzaW9uXTtcbiAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKFxuICAgICAgJ1RlbXBsYXRlIHdhcyBwcmVjb21waWxlZCB3aXRoIGFuIG9sZGVyIHZlcnNpb24gb2YgSGFuZGxlYmFycyB0aGFuIHRoZSBjdXJyZW50IHJ1bnRpbWUuICcgK1xuICAgICAgICAnUGxlYXNlIHVwZGF0ZSB5b3VyIHByZWNvbXBpbGVyIHRvIGEgbmV3ZXIgdmVyc2lvbiAoJyArXG4gICAgICAgIHJ1bnRpbWVWZXJzaW9ucyArXG4gICAgICAgICcpIG9yIGRvd25ncmFkZSB5b3VyIHJ1bnRpbWUgdG8gYW4gb2xkZXIgdmVyc2lvbiAoJyArXG4gICAgICAgIGNvbXBpbGVyVmVyc2lvbnMgK1xuICAgICAgICAnKS4nXG4gICAgKTtcbiAgfSBlbHNlIHtcbiAgICAvLyBVc2UgdGhlIGVtYmVkZGVkIHZlcnNpb24gaW5mbyBzaW5jZSB0aGUgcnVudGltZSBkb2Vzbid0IGtub3cgYWJvdXQgdGhpcyByZXZpc2lvbiB5ZXRcbiAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKFxuICAgICAgJ1RlbXBsYXRlIHdhcyBwcmVjb21waWxlZCB3aXRoIGEgbmV3ZXIgdmVyc2lvbiBvZiBIYW5kbGViYXJzIHRoYW4gdGhlIGN1cnJlbnQgcnVudGltZS4gJyArXG4gICAgICAgICdQbGVhc2UgdXBkYXRlIHlvdXIgcnVudGltZSB0byBhIG5ld2VyIHZlcnNpb24gKCcgK1xuICAgICAgICBjb21waWxlckluZm9bMV0gK1xuICAgICAgICAnKS4nXG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdGVtcGxhdGUodGVtcGxhdGVTcGVjLCBlbnYpIHtcbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgaWYgKCFlbnYpIHtcbiAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdObyBlbnZpcm9ubWVudCBwYXNzZWQgdG8gdGVtcGxhdGUnKTtcbiAgfVxuICBpZiAoIXRlbXBsYXRlU3BlYyB8fCAhdGVtcGxhdGVTcGVjLm1haW4pIHtcbiAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdVbmtub3duIHRlbXBsYXRlIG9iamVjdDogJyArIHR5cGVvZiB0ZW1wbGF0ZVNwZWMpO1xuICB9XG5cbiAgdGVtcGxhdGVTcGVjLm1haW4uZGVjb3JhdG9yID0gdGVtcGxhdGVTcGVjLm1haW5fZDtcblxuICAvLyBOb3RlOiBVc2luZyBlbnYuVk0gcmVmZXJlbmNlcyByYXRoZXIgdGhhbiBsb2NhbCB2YXIgcmVmZXJlbmNlcyB0aHJvdWdob3V0IHRoaXMgc2VjdGlvbiB0byBhbGxvd1xuICAvLyBmb3IgZXh0ZXJuYWwgdXNlcnMgdG8gb3ZlcnJpZGUgdGhlc2UgYXMgcHNldWRvLXN1cHBvcnRlZCBBUElzLlxuICBlbnYuVk0uY2hlY2tSZXZpc2lvbih0ZW1wbGF0ZVNwZWMuY29tcGlsZXIpO1xuXG4gIC8vIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IGZvciBwcmVjb21waWxlZCB0ZW1wbGF0ZXMgd2l0aCBjb21waWxlci12ZXJzaW9uIDcgKDw0LjMuMClcbiAgY29uc3QgdGVtcGxhdGVXYXNQcmVjb21waWxlZFdpdGhDb21waWxlclY3ID1cbiAgICB0ZW1wbGF0ZVNwZWMuY29tcGlsZXIgJiYgdGVtcGxhdGVTcGVjLmNvbXBpbGVyWzBdID09PSA3O1xuXG4gIGZ1bmN0aW9uIGludm9rZVBhcnRpYWxXcmFwcGVyKHBhcnRpYWwsIGNvbnRleHQsIG9wdGlvbnMpIHtcbiAgICBpZiAob3B0aW9ucy5oYXNoKSB7XG4gICAgICBjb250ZXh0ID0gVXRpbHMuZXh0ZW5kKHt9LCBjb250ZXh0LCBvcHRpb25zLmhhc2gpO1xuICAgICAgaWYgKG9wdGlvbnMuaWRzKSB7XG4gICAgICAgIG9wdGlvbnMuaWRzWzBdID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcGFydGlhbCA9IGVudi5WTS5yZXNvbHZlUGFydGlhbC5jYWxsKHRoaXMsIHBhcnRpYWwsIGNvbnRleHQsIG9wdGlvbnMpO1xuXG4gICAgb3B0aW9ucy5ob29rcyA9IHRoaXMuaG9va3M7XG4gICAgb3B0aW9ucy5wcm90b0FjY2Vzc0NvbnRyb2wgPSB0aGlzLnByb3RvQWNjZXNzQ29udHJvbDtcblxuICAgIGxldCByZXN1bHQgPSBlbnYuVk0uaW52b2tlUGFydGlhbC5jYWxsKHRoaXMsIHBhcnRpYWwsIGNvbnRleHQsIG9wdGlvbnMpO1xuXG4gICAgaWYgKHJlc3VsdCA9PSBudWxsICYmIGVudi5jb21waWxlKSB7XG4gICAgICBvcHRpb25zLnBhcnRpYWxzW29wdGlvbnMubmFtZV0gPSBlbnYuY29tcGlsZShcbiAgICAgICAgcGFydGlhbCxcbiAgICAgICAgdGVtcGxhdGVTcGVjLmNvbXBpbGVyT3B0aW9ucyxcbiAgICAgICAgZW52XG4gICAgICApO1xuICAgICAgcmVzdWx0ID0gb3B0aW9ucy5wYXJ0aWFsc1tvcHRpb25zLm5hbWVdKGNvbnRleHQsIG9wdGlvbnMpO1xuICAgIH1cbiAgICBpZiAocmVzdWx0ICE9IG51bGwpIHtcbiAgICAgIGlmIChvcHRpb25zLmluZGVudCkge1xuICAgICAgICBsZXQgbGluZXMgPSByZXN1bHQuc3BsaXQoJ1xcbicpO1xuICAgICAgICBmb3IgKGxldCBpID0gMCwgbCA9IGxpbmVzLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgICAgICAgIGlmICghbGluZXNbaV0gJiYgaSArIDEgPT09IGwpIHtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGxpbmVzW2ldID0gb3B0aW9ucy5pbmRlbnQgKyBsaW5lc1tpXTtcbiAgICAgICAgfVxuICAgICAgICByZXN1bHQgPSBsaW5lcy5qb2luKCdcXG4nKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oXG4gICAgICAgICdUaGUgcGFydGlhbCAnICtcbiAgICAgICAgICBvcHRpb25zLm5hbWUgK1xuICAgICAgICAgICcgY291bGQgbm90IGJlIGNvbXBpbGVkIHdoZW4gcnVubmluZyBpbiBydW50aW1lLW9ubHkgbW9kZSdcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgLy8gSnVzdCBhZGQgd2F0ZXJcbiAgbGV0IGNvbnRhaW5lciA9IHtcbiAgICBzdHJpY3Q6IGZ1bmN0aW9uKG9iaiwgbmFtZSwgbG9jKSB7XG4gICAgICBpZiAoIW9iaiB8fCAhKG5hbWUgaW4gb2JqKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdcIicgKyBuYW1lICsgJ1wiIG5vdCBkZWZpbmVkIGluICcgKyBvYmosIHtcbiAgICAgICAgICBsb2M6IGxvY1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBjb250YWluZXIubG9va3VwUHJvcGVydHkob2JqLCBuYW1lKTtcbiAgICB9LFxuICAgIGxvb2t1cFByb3BlcnR5OiBmdW5jdGlvbihwYXJlbnQsIHByb3BlcnR5TmFtZSkge1xuICAgICAgbGV0IHJlc3VsdCA9IHBhcmVudFtwcm9wZXJ0eU5hbWVdO1xuICAgICAgaWYgKHJlc3VsdCA9PSBudWxsKSB7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICB9XG4gICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHBhcmVudCwgcHJvcGVydHlOYW1lKSkge1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgfVxuXG4gICAgICBpZiAocmVzdWx0SXNBbGxvd2VkKHJlc3VsdCwgY29udGFpbmVyLnByb3RvQWNjZXNzQ29udHJvbCwgcHJvcGVydHlOYW1lKSkge1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgfVxuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9LFxuICAgIGxvb2t1cDogZnVuY3Rpb24oZGVwdGhzLCBuYW1lKSB7XG4gICAgICBjb25zdCBsZW4gPSBkZXB0aHMubGVuZ3RoO1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW47IGkrKykge1xuICAgICAgICBsZXQgcmVzdWx0ID0gZGVwdGhzW2ldICYmIGNvbnRhaW5lci5sb29rdXBQcm9wZXJ0eShkZXB0aHNbaV0sIG5hbWUpO1xuICAgICAgICBpZiAocmVzdWx0ICE9IG51bGwpIHtcbiAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcbiAgICBsYW1iZGE6IGZ1bmN0aW9uKGN1cnJlbnQsIGNvbnRleHQpIHtcbiAgICAgIHJldHVybiB0eXBlb2YgY3VycmVudCA9PT0gJ2Z1bmN0aW9uJyA/IGN1cnJlbnQuY2FsbChjb250ZXh0KSA6IGN1cnJlbnQ7XG4gICAgfSxcblxuICAgIGVzY2FwZUV4cHJlc3Npb246IFV0aWxzLmVzY2FwZUV4cHJlc3Npb24sXG4gICAgaW52b2tlUGFydGlhbDogaW52b2tlUGFydGlhbFdyYXBwZXIsXG5cbiAgICBmbjogZnVuY3Rpb24oaSkge1xuICAgICAgbGV0IHJldCA9IHRlbXBsYXRlU3BlY1tpXTtcbiAgICAgIHJldC5kZWNvcmF0b3IgPSB0ZW1wbGF0ZVNwZWNbaSArICdfZCddO1xuICAgICAgcmV0dXJuIHJldDtcbiAgICB9LFxuXG4gICAgcHJvZ3JhbXM6IFtdLFxuICAgIHByb2dyYW06IGZ1bmN0aW9uKGksIGRhdGEsIGRlY2xhcmVkQmxvY2tQYXJhbXMsIGJsb2NrUGFyYW1zLCBkZXB0aHMpIHtcbiAgICAgIGxldCBwcm9ncmFtV3JhcHBlciA9IHRoaXMucHJvZ3JhbXNbaV0sXG4gICAgICAgIGZuID0gdGhpcy5mbihpKTtcbiAgICAgIGlmIChkYXRhIHx8IGRlcHRocyB8fCBibG9ja1BhcmFtcyB8fCBkZWNsYXJlZEJsb2NrUGFyYW1zKSB7XG4gICAgICAgIHByb2dyYW1XcmFwcGVyID0gd3JhcFByb2dyYW0oXG4gICAgICAgICAgdGhpcyxcbiAgICAgICAgICBpLFxuICAgICAgICAgIGZuLFxuICAgICAgICAgIGRhdGEsXG4gICAgICAgICAgZGVjbGFyZWRCbG9ja1BhcmFtcyxcbiAgICAgICAgICBibG9ja1BhcmFtcyxcbiAgICAgICAgICBkZXB0aHNcbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSBpZiAoIXByb2dyYW1XcmFwcGVyKSB7XG4gICAgICAgIHByb2dyYW1XcmFwcGVyID0gdGhpcy5wcm9ncmFtc1tpXSA9IHdyYXBQcm9ncmFtKHRoaXMsIGksIGZuKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBwcm9ncmFtV3JhcHBlcjtcbiAgICB9LFxuXG4gICAgZGF0YTogZnVuY3Rpb24odmFsdWUsIGRlcHRoKSB7XG4gICAgICB3aGlsZSAodmFsdWUgJiYgZGVwdGgtLSkge1xuICAgICAgICB2YWx1ZSA9IHZhbHVlLl9wYXJlbnQ7XG4gICAgICB9XG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfSxcbiAgICBtZXJnZUlmTmVlZGVkOiBmdW5jdGlvbihwYXJhbSwgY29tbW9uKSB7XG4gICAgICBsZXQgb2JqID0gcGFyYW0gfHwgY29tbW9uO1xuXG4gICAgICBpZiAocGFyYW0gJiYgY29tbW9uICYmIHBhcmFtICE9PSBjb21tb24pIHtcbiAgICAgICAgb2JqID0gVXRpbHMuZXh0ZW5kKHt9LCBjb21tb24sIHBhcmFtKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG9iajtcbiAgICB9LFxuICAgIC8vIEFuIGVtcHR5IG9iamVjdCB0byB1c2UgYXMgcmVwbGFjZW1lbnQgZm9yIG51bGwtY29udGV4dHNcbiAgICBudWxsQ29udGV4dDogT2JqZWN0LnNlYWwoe30pLFxuXG4gICAgbm9vcDogZW52LlZNLm5vb3AsXG4gICAgY29tcGlsZXJJbmZvOiB0ZW1wbGF0ZVNwZWMuY29tcGlsZXJcbiAgfTtcblxuICBmdW5jdGlvbiByZXQoY29udGV4dCwgb3B0aW9ucyA9IHt9KSB7XG4gICAgbGV0IGRhdGEgPSBvcHRpb25zLmRhdGE7XG5cbiAgICByZXQuX3NldHVwKG9wdGlvbnMpO1xuICAgIGlmICghb3B0aW9ucy5wYXJ0aWFsICYmIHRlbXBsYXRlU3BlYy51c2VEYXRhKSB7XG4gICAgICBkYXRhID0gaW5pdERhdGEoY29udGV4dCwgZGF0YSk7XG4gICAgfVxuICAgIGxldCBkZXB0aHMsXG4gICAgICBibG9ja1BhcmFtcyA9IHRlbXBsYXRlU3BlYy51c2VCbG9ja1BhcmFtcyA/IFtdIDogdW5kZWZpbmVkO1xuICAgIGlmICh0ZW1wbGF0ZVNwZWMudXNlRGVwdGhzKSB7XG4gICAgICBpZiAob3B0aW9ucy5kZXB0aHMpIHtcbiAgICAgICAgZGVwdGhzID1cbiAgICAgICAgICBjb250ZXh0ICE9IG9wdGlvbnMuZGVwdGhzWzBdXG4gICAgICAgICAgICA/IFtjb250ZXh0XS5jb25jYXQob3B0aW9ucy5kZXB0aHMpXG4gICAgICAgICAgICA6IG9wdGlvbnMuZGVwdGhzO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZGVwdGhzID0gW2NvbnRleHRdO1xuICAgICAgfVxuICAgIH1cblxuICAgIGZ1bmN0aW9uIG1haW4oY29udGV4dCAvKiwgb3B0aW9ucyovKSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICAnJyArXG4gICAgICAgIHRlbXBsYXRlU3BlYy5tYWluKFxuICAgICAgICAgIGNvbnRhaW5lcixcbiAgICAgICAgICBjb250ZXh0LFxuICAgICAgICAgIGNvbnRhaW5lci5oZWxwZXJzLFxuICAgICAgICAgIGNvbnRhaW5lci5wYXJ0aWFscyxcbiAgICAgICAgICBkYXRhLFxuICAgICAgICAgIGJsb2NrUGFyYW1zLFxuICAgICAgICAgIGRlcHRoc1xuICAgICAgICApXG4gICAgICApO1xuICAgIH1cblxuICAgIG1haW4gPSBleGVjdXRlRGVjb3JhdG9ycyhcbiAgICAgIHRlbXBsYXRlU3BlYy5tYWluLFxuICAgICAgbWFpbixcbiAgICAgIGNvbnRhaW5lcixcbiAgICAgIG9wdGlvbnMuZGVwdGhzIHx8IFtdLFxuICAgICAgZGF0YSxcbiAgICAgIGJsb2NrUGFyYW1zXG4gICAgKTtcbiAgICByZXR1cm4gbWFpbihjb250ZXh0LCBvcHRpb25zKTtcbiAgfVxuXG4gIHJldC5pc1RvcCA9IHRydWU7XG5cbiAgcmV0Ll9zZXR1cCA9IGZ1bmN0aW9uKG9wdGlvbnMpIHtcbiAgICBpZiAoIW9wdGlvbnMucGFydGlhbCkge1xuICAgICAgbGV0IG1lcmdlZEhlbHBlcnMgPSB7fTtcbiAgICAgIGFkZEhlbHBlcnMobWVyZ2VkSGVscGVycywgZW52LmhlbHBlcnMsIGNvbnRhaW5lcik7XG4gICAgICBhZGRIZWxwZXJzKG1lcmdlZEhlbHBlcnMsIG9wdGlvbnMuaGVscGVycywgY29udGFpbmVyKTtcbiAgICAgIGNvbnRhaW5lci5oZWxwZXJzID0gbWVyZ2VkSGVscGVycztcblxuICAgICAgaWYgKHRlbXBsYXRlU3BlYy51c2VQYXJ0aWFsKSB7XG4gICAgICAgIC8vIFVzZSBtZXJnZUlmTmVlZGVkIGhlcmUgdG8gcHJldmVudCBjb21waWxpbmcgZ2xvYmFsIHBhcnRpYWxzIG11bHRpcGxlIHRpbWVzXG4gICAgICAgIGNvbnRhaW5lci5wYXJ0aWFscyA9IGNvbnRhaW5lci5tZXJnZUlmTmVlZGVkKFxuICAgICAgICAgIG9wdGlvbnMucGFydGlhbHMsXG4gICAgICAgICAgZW52LnBhcnRpYWxzXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICBpZiAodGVtcGxhdGVTcGVjLnVzZVBhcnRpYWwgfHwgdGVtcGxhdGVTcGVjLnVzZURlY29yYXRvcnMpIHtcbiAgICAgICAgY29udGFpbmVyLmRlY29yYXRvcnMgPSBVdGlscy5leHRlbmQoXG4gICAgICAgICAge30sXG4gICAgICAgICAgZW52LmRlY29yYXRvcnMsXG4gICAgICAgICAgb3B0aW9ucy5kZWNvcmF0b3JzXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIGNvbnRhaW5lci5ob29rcyA9IHt9O1xuICAgICAgY29udGFpbmVyLnByb3RvQWNjZXNzQ29udHJvbCA9IGNyZWF0ZVByb3RvQWNjZXNzQ29udHJvbChvcHRpb25zKTtcblxuICAgICAgbGV0IGtlZXBIZWxwZXJJbkhlbHBlcnMgPVxuICAgICAgICBvcHRpb25zLmFsbG93Q2FsbHNUb0hlbHBlck1pc3NpbmcgfHxcbiAgICAgICAgdGVtcGxhdGVXYXNQcmVjb21waWxlZFdpdGhDb21waWxlclY3O1xuICAgICAgbW92ZUhlbHBlclRvSG9va3MoY29udGFpbmVyLCAnaGVscGVyTWlzc2luZycsIGtlZXBIZWxwZXJJbkhlbHBlcnMpO1xuICAgICAgbW92ZUhlbHBlclRvSG9va3MoY29udGFpbmVyLCAnYmxvY2tIZWxwZXJNaXNzaW5nJywga2VlcEhlbHBlckluSGVscGVycyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnRhaW5lci5wcm90b0FjY2Vzc0NvbnRyb2wgPSBvcHRpb25zLnByb3RvQWNjZXNzQ29udHJvbDsgLy8gaW50ZXJuYWwgb3B0aW9uXG4gICAgICBjb250YWluZXIuaGVscGVycyA9IG9wdGlvbnMuaGVscGVycztcbiAgICAgIGNvbnRhaW5lci5wYXJ0aWFscyA9IG9wdGlvbnMucGFydGlhbHM7XG4gICAgICBjb250YWluZXIuZGVjb3JhdG9ycyA9IG9wdGlvbnMuZGVjb3JhdG9ycztcbiAgICAgIGNvbnRhaW5lci5ob29rcyA9IG9wdGlvbnMuaG9va3M7XG4gICAgfVxuICB9O1xuXG4gIHJldC5fY2hpbGQgPSBmdW5jdGlvbihpLCBkYXRhLCBibG9ja1BhcmFtcywgZGVwdGhzKSB7XG4gICAgaWYgKHRlbXBsYXRlU3BlYy51c2VCbG9ja1BhcmFtcyAmJiAhYmxvY2tQYXJhbXMpIHtcbiAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oJ211c3QgcGFzcyBibG9jayBwYXJhbXMnKTtcbiAgICB9XG4gICAgaWYgKHRlbXBsYXRlU3BlYy51c2VEZXB0aHMgJiYgIWRlcHRocykge1xuICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbignbXVzdCBwYXNzIHBhcmVudCBkZXB0aHMnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gd3JhcFByb2dyYW0oXG4gICAgICBjb250YWluZXIsXG4gICAgICBpLFxuICAgICAgdGVtcGxhdGVTcGVjW2ldLFxuICAgICAgZGF0YSxcbiAgICAgIDAsXG4gICAgICBibG9ja1BhcmFtcyxcbiAgICAgIGRlcHRoc1xuICAgICk7XG4gIH07XG4gIHJldHVybiByZXQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB3cmFwUHJvZ3JhbShcbiAgY29udGFpbmVyLFxuICBpLFxuICBmbixcbiAgZGF0YSxcbiAgZGVjbGFyZWRCbG9ja1BhcmFtcyxcbiAgYmxvY2tQYXJhbXMsXG4gIGRlcHRoc1xuKSB7XG4gIGZ1bmN0aW9uIHByb2coY29udGV4dCwgb3B0aW9ucyA9IHt9KSB7XG4gICAgbGV0IGN1cnJlbnREZXB0aHMgPSBkZXB0aHM7XG4gICAgaWYgKFxuICAgICAgZGVwdGhzICYmXG4gICAgICBjb250ZXh0ICE9IGRlcHRoc1swXSAmJlxuICAgICAgIShjb250ZXh0ID09PSBjb250YWluZXIubnVsbENvbnRleHQgJiYgZGVwdGhzWzBdID09PSBudWxsKVxuICAgICkge1xuICAgICAgY3VycmVudERlcHRocyA9IFtjb250ZXh0XS5jb25jYXQoZGVwdGhzKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZm4oXG4gICAgICBjb250YWluZXIsXG4gICAgICBjb250ZXh0LFxuICAgICAgY29udGFpbmVyLmhlbHBlcnMsXG4gICAgICBjb250YWluZXIucGFydGlhbHMsXG4gICAgICBvcHRpb25zLmRhdGEgfHwgZGF0YSxcbiAgICAgIGJsb2NrUGFyYW1zICYmIFtvcHRpb25zLmJsb2NrUGFyYW1zXS5jb25jYXQoYmxvY2tQYXJhbXMpLFxuICAgICAgY3VycmVudERlcHRoc1xuICAgICk7XG4gIH1cblxuICBwcm9nID0gZXhlY3V0ZURlY29yYXRvcnMoZm4sIHByb2csIGNvbnRhaW5lciwgZGVwdGhzLCBkYXRhLCBibG9ja1BhcmFtcyk7XG5cbiAgcHJvZy5wcm9ncmFtID0gaTtcbiAgcHJvZy5kZXB0aCA9IGRlcHRocyA/IGRlcHRocy5sZW5ndGggOiAwO1xuICBwcm9nLmJsb2NrUGFyYW1zID0gZGVjbGFyZWRCbG9ja1BhcmFtcyB8fCAwO1xuICByZXR1cm4gcHJvZztcbn1cblxuLyoqXG4gKiBUaGlzIGlzIGN1cnJlbnRseSBwYXJ0IG9mIHRoZSBvZmZpY2lhbCBBUEksIHRoZXJlZm9yZSBpbXBsZW1lbnRhdGlvbiBkZXRhaWxzIHNob3VsZCBub3QgYmUgY2hhbmdlZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVQYXJ0aWFsKHBhcnRpYWwsIGNvbnRleHQsIG9wdGlvbnMpIHtcbiAgaWYgKCFwYXJ0aWFsKSB7XG4gICAgaWYgKG9wdGlvbnMubmFtZSA9PT0gJ0BwYXJ0aWFsLWJsb2NrJykge1xuICAgICAgcGFydGlhbCA9IGxvb2t1cE93blByb3BlcnR5KG9wdGlvbnMuZGF0YSwgJ3BhcnRpYWwtYmxvY2snKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcGFydGlhbCA9IGxvb2t1cE93blByb3BlcnR5KG9wdGlvbnMucGFydGlhbHMsIG9wdGlvbnMubmFtZSk7XG4gICAgfVxuICB9IGVsc2UgaWYgKCFwYXJ0aWFsLmNhbGwgJiYgIW9wdGlvbnMubmFtZSkge1xuICAgIC8vIFRoaXMgaXMgYSBkeW5hbWljIHBhcnRpYWwgdGhhdCByZXR1cm5lZCBhIHN0cmluZ1xuICAgIG9wdGlvbnMubmFtZSA9IHBhcnRpYWw7XG4gICAgcGFydGlhbCA9IGxvb2t1cE93blByb3BlcnR5KG9wdGlvbnMucGFydGlhbHMsIHBhcnRpYWwpO1xuICB9XG4gIHJldHVybiBwYXJ0aWFsO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW52b2tlUGFydGlhbChwYXJ0aWFsLCBjb250ZXh0LCBvcHRpb25zKSB7XG4gIC8vIFVzZSB0aGUgY3VycmVudCBjbG9zdXJlIGNvbnRleHQgdG8gc2F2ZSB0aGUgcGFydGlhbC1ibG9jayBpZiB0aGlzIHBhcnRpYWxcbiAgY29uc3QgY3VycmVudFBhcnRpYWxCbG9jayA9IGxvb2t1cE93blByb3BlcnR5KG9wdGlvbnMuZGF0YSwgJ3BhcnRpYWwtYmxvY2snKTtcbiAgb3B0aW9ucy5wYXJ0aWFsID0gdHJ1ZTtcbiAgaWYgKG9wdGlvbnMuaWRzKSB7XG4gICAgb3B0aW9ucy5kYXRhLmNvbnRleHRQYXRoID0gb3B0aW9ucy5pZHNbMF0gfHwgb3B0aW9ucy5kYXRhLmNvbnRleHRQYXRoO1xuICB9XG5cbiAgbGV0IHBhcnRpYWxCbG9jaztcbiAgaWYgKG9wdGlvbnMuZm4gJiYgb3B0aW9ucy5mbiAhPT0gbm9vcCkge1xuICAgIG9wdGlvbnMuZGF0YSA9IGNyZWF0ZUZyYW1lKG9wdGlvbnMuZGF0YSk7XG4gICAgLy8gV3JhcHBlciBmdW5jdGlvbiB0byBnZXQgYWNjZXNzIHRvIGN1cnJlbnRQYXJ0aWFsQmxvY2sgZnJvbSB0aGUgY2xvc3VyZVxuICAgIGxldCBmbiA9IG9wdGlvbnMuZm47XG4gICAgcGFydGlhbEJsb2NrID0gb3B0aW9ucy5kYXRhWydwYXJ0aWFsLWJsb2NrJ10gPSBmdW5jdGlvbiBwYXJ0aWFsQmxvY2tXcmFwcGVyKFxuICAgICAgY29udGV4dCxcbiAgICAgIG9wdGlvbnMgPSB7fVxuICAgICkge1xuICAgICAgLy8gUmVzdG9yZSB0aGUgcGFydGlhbC1ibG9jayBmcm9tIHRoZSBjbG9zdXJlIGZvciB0aGUgZXhlY3V0aW9uIG9mIHRoZSBibG9ja1xuICAgICAgLy8gaS5lLiB0aGUgcGFydCBpbnNpZGUgdGhlIGJsb2NrIG9mIHRoZSBwYXJ0aWFsIGNhbGwuXG4gICAgICBvcHRpb25zLmRhdGEgPSBjcmVhdGVGcmFtZShvcHRpb25zLmRhdGEpO1xuICAgICAgb3B0aW9ucy5kYXRhWydwYXJ0aWFsLWJsb2NrJ10gPSBjdXJyZW50UGFydGlhbEJsb2NrO1xuICAgICAgcmV0dXJuIGZuKGNvbnRleHQsIG9wdGlvbnMpO1xuICAgIH07XG4gICAgaWYgKGZuLnBhcnRpYWxzKSB7XG4gICAgICBvcHRpb25zLnBhcnRpYWxzID0gVXRpbHMuZXh0ZW5kKHt9LCBvcHRpb25zLnBhcnRpYWxzLCBmbi5wYXJ0aWFscyk7XG4gICAgfVxuICB9XG5cbiAgaWYgKHBhcnRpYWwgPT09IHVuZGVmaW5lZCAmJiBwYXJ0aWFsQmxvY2spIHtcbiAgICBwYXJ0aWFsID0gcGFydGlhbEJsb2NrO1xuICB9XG5cbiAgaWYgKHBhcnRpYWwgPT09IHVuZGVmaW5lZCkge1xuICAgIHRocm93IG5ldyBFeGNlcHRpb24oJ1RoZSBwYXJ0aWFsICcgKyBvcHRpb25zLm5hbWUgKyAnIGNvdWxkIG5vdCBiZSBmb3VuZCcpO1xuICB9IGVsc2UgaWYgKHBhcnRpYWwgaW5zdGFuY2VvZiBGdW5jdGlvbikge1xuICAgIHJldHVybiBwYXJ0aWFsKGNvbnRleHQsIG9wdGlvbnMpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBub29wKCkge1xuICByZXR1cm4gJyc7XG59XG5cbmZ1bmN0aW9uIGxvb2t1cE93blByb3BlcnR5KG9iaiwgbmFtZSkge1xuICBpZiAob2JqICYmIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmosIG5hbWUpKSB7XG4gICAgcmV0dXJuIG9ialtuYW1lXTtcbiAgfVxufVxuXG5mdW5jdGlvbiBpbml0RGF0YShjb250ZXh0LCBkYXRhKSB7XG4gIGlmICghZGF0YSB8fCAhKCdyb290JyBpbiBkYXRhKSkge1xuICAgIGRhdGEgPSBkYXRhID8gY3JlYXRlRnJhbWUoZGF0YSkgOiB7fTtcbiAgICBkYXRhLnJvb3QgPSBjb250ZXh0O1xuICB9XG4gIHJldHVybiBkYXRhO1xufVxuXG5mdW5jdGlvbiBleGVjdXRlRGVjb3JhdG9ycyhmbiwgcHJvZywgY29udGFpbmVyLCBkZXB0aHMsIGRhdGEsIGJsb2NrUGFyYW1zKSB7XG4gIGlmIChmbi5kZWNvcmF0b3IpIHtcbiAgICBsZXQgcHJvcHMgPSB7fTtcbiAgICBwcm9nID0gZm4uZGVjb3JhdG9yKFxuICAgICAgcHJvZyxcbiAgICAgIHByb3BzLFxuICAgICAgY29udGFpbmVyLFxuICAgICAgZGVwdGhzICYmIGRlcHRoc1swXSxcbiAgICAgIGRhdGEsXG4gICAgICBibG9ja1BhcmFtcyxcbiAgICAgIGRlcHRoc1xuICAgICk7XG4gICAgVXRpbHMuZXh0ZW5kKHByb2csIHByb3BzKTtcbiAgfVxuICByZXR1cm4gcHJvZztcbn1cblxuZnVuY3Rpb24gYWRkSGVscGVycyhtZXJnZWRIZWxwZXJzLCBoZWxwZXJzLCBjb250YWluZXIpIHtcbiAgaWYgKCFoZWxwZXJzKSByZXR1cm47XG4gIE9iamVjdC5rZXlzKGhlbHBlcnMpLmZvckVhY2goaGVscGVyTmFtZSA9PiB7XG4gICAgbGV0IGhlbHBlciA9IGhlbHBlcnNbaGVscGVyTmFtZV07XG4gICAgbWVyZ2VkSGVscGVyc1toZWxwZXJOYW1lXSA9IHBhc3NMb29rdXBQcm9wZXJ0eU9wdGlvbihoZWxwZXIsIGNvbnRhaW5lcik7XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBwYXNzTG9va3VwUHJvcGVydHlPcHRpb24oaGVscGVyLCBjb250YWluZXIpIHtcbiAgY29uc3QgbG9va3VwUHJvcGVydHkgPSBjb250YWluZXIubG9va3VwUHJvcGVydHk7XG4gIHJldHVybiB3cmFwSGVscGVyKGhlbHBlciwgb3B0aW9ucyA9PiB7XG4gICAgb3B0aW9ucy5sb29rdXBQcm9wZXJ0eSA9IGxvb2t1cFByb3BlcnR5O1xuICAgIHJldHVybiBvcHRpb25zO1xuICB9KTtcbn1cbiJdfQ==\n","// Build out our basic SafeString type\n'use strict';\n\nexports.__esModule = true;\nfunction SafeString(string) {\n this.string = string;\n}\n\nSafeString.prototype.toString = SafeString.prototype.toHTML = function () {\n return '' + this.string;\n};\n\nexports['default'] = SafeString;\nmodule.exports = exports['default'];\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL3NhZmUtc3RyaW5nLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFDQSxTQUFTLFVBQVUsQ0FBQyxNQUFNLEVBQUU7QUFDMUIsTUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7Q0FDdEI7O0FBRUQsVUFBVSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsWUFBVztBQUN2RSxTQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO0NBQ3pCLENBQUM7O3FCQUVhLFVBQVUiLCJmaWxlIjoic2FmZS1zdHJpbmcuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBCdWlsZCBvdXQgb3VyIGJhc2ljIFNhZmVTdHJpbmcgdHlwZVxuZnVuY3Rpb24gU2FmZVN0cmluZyhzdHJpbmcpIHtcbiAgdGhpcy5zdHJpbmcgPSBzdHJpbmc7XG59XG5cblNhZmVTdHJpbmcucHJvdG90eXBlLnRvU3RyaW5nID0gU2FmZVN0cmluZy5wcm90b3R5cGUudG9IVE1MID0gZnVuY3Rpb24oKSB7XG4gIHJldHVybiAnJyArIHRoaXMuc3RyaW5nO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgU2FmZVN0cmluZztcbiJdfQ==\n","'use strict';\n\nexports.__esModule = true;\nexports.extend = extend;\nexports.indexOf = indexOf;\nexports.escapeExpression = escapeExpression;\nexports.isEmpty = isEmpty;\nexports.createFrame = createFrame;\nexports.blockParams = blockParams;\nexports.appendContextPath = appendContextPath;\nvar escape = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": ''',\n '`': '`',\n '=': '='\n};\n\nvar badChars = /[&<>\"'`=]/g,\n possible = /[&<>\"'`=]/;\n\nfunction escapeChar(chr) {\n return escape[chr];\n}\n\nfunction extend(obj /* , ...source */) {\n for (var i = 1; i < arguments.length; i++) {\n for (var key in arguments[i]) {\n if (Object.prototype.hasOwnProperty.call(arguments[i], key)) {\n obj[key] = arguments[i][key];\n }\n }\n }\n\n return obj;\n}\n\nvar toString = Object.prototype.toString;\n\nexports.toString = toString;\n// Sourced from lodash\n// https://github.com/bestiejs/lodash/blob/master/LICENSE.txt\n/* eslint-disable func-style */\nvar isFunction = function isFunction(value) {\n return typeof value === 'function';\n};\n// fallback for older versions of Chrome and Safari\n/* istanbul ignore next */\nif (isFunction(/x/)) {\n exports.isFunction = isFunction = function (value) {\n return typeof value === 'function' && toString.call(value) === '[object Function]';\n };\n}\nexports.isFunction = isFunction;\n\n/* eslint-enable func-style */\n\n/* istanbul ignore next */\nvar isArray = Array.isArray || function (value) {\n return value && typeof value === 'object' ? toString.call(value) === '[object Array]' : false;\n};\n\nexports.isArray = isArray;\n// Older IE versions do not directly support indexOf so we must implement our own, sadly.\n\nfunction indexOf(array, value) {\n for (var i = 0, len = array.length; i < len; i++) {\n if (array[i] === value) {\n return i;\n }\n }\n return -1;\n}\n\nfunction escapeExpression(string) {\n if (typeof string !== 'string') {\n // don't escape SafeStrings, since they're already safe\n if (string && string.toHTML) {\n return string.toHTML();\n } else if (string == null) {\n return '';\n } else if (!string) {\n return string + '';\n }\n\n // Force a string conversion as this will be done by the append regardless and\n // the regex test will do this transparently behind the scenes, causing issues if\n // an object's to string has escaped characters in it.\n string = '' + string;\n }\n\n if (!possible.test(string)) {\n return string;\n }\n return string.replace(badChars, escapeChar);\n}\n\nfunction isEmpty(value) {\n if (!value && value !== 0) {\n return true;\n } else if (isArray(value) && value.length === 0) {\n return true;\n } else {\n return false;\n }\n}\n\nfunction createFrame(object) {\n var frame = extend({}, object);\n frame._parent = object;\n return frame;\n}\n\nfunction blockParams(params, ids) {\n params.path = ids;\n return params;\n}\n\nfunction appendContextPath(contextPath, id) {\n return (contextPath ? contextPath + '.' : '') + id;\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL3V0aWxzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBQSxJQUFNLE1BQU0sR0FBRztBQUNiLEtBQUcsRUFBRSxPQUFPO0FBQ1osS0FBRyxFQUFFLE1BQU07QUFDWCxLQUFHLEVBQUUsTUFBTTtBQUNYLEtBQUcsRUFBRSxRQUFRO0FBQ2IsS0FBRyxFQUFFLFFBQVE7QUFDYixLQUFHLEVBQUUsUUFBUTtBQUNiLEtBQUcsRUFBRSxRQUFRO0NBQ2QsQ0FBQzs7QUFFRixJQUFNLFFBQVEsR0FBRyxZQUFZO0lBQzNCLFFBQVEsR0FBRyxXQUFXLENBQUM7O0FBRXpCLFNBQVMsVUFBVSxDQUFDLEdBQUcsRUFBRTtBQUN2QixTQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztDQUNwQjs7QUFFTSxTQUFTLE1BQU0sQ0FBQyxHQUFHLG9CQUFvQjtBQUM1QyxPQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtBQUN6QyxTQUFLLElBQUksR0FBRyxJQUFJLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtBQUM1QixVQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUU7QUFDM0QsV0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztPQUM5QjtLQUNGO0dBQ0Y7O0FBRUQsU0FBTyxHQUFHLENBQUM7Q0FDWjs7QUFFTSxJQUFJLFFBQVEsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQzs7Ozs7O0FBS2hELElBQUksVUFBVSxHQUFHLG9CQUFTLEtBQUssRUFBRTtBQUMvQixTQUFPLE9BQU8sS0FBSyxLQUFLLFVBQVUsQ0FBQztDQUNwQyxDQUFDOzs7QUFHRixJQUFJLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRTtBQUNuQixVQU9PLFVBQVUsR0FQakIsVUFBVSxHQUFHLFVBQVMsS0FBSyxFQUFFO0FBQzNCLFdBQ0UsT0FBTyxLQUFLLEtBQUssVUFBVSxJQUMzQixRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLG1CQUFtQixDQUM1QztHQUNILENBQUM7Q0FDSDtRQUNRLFVBQVUsR0FBVixVQUFVOzs7OztBQUlaLElBQU0sT0FBTyxHQUNsQixLQUFLLENBQUMsT0FBTyxJQUNiLFVBQVMsS0FBSyxFQUFFO0FBQ2QsU0FBTyxLQUFLLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxHQUNyQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLGdCQUFnQixHQUN6QyxLQUFLLENBQUM7Q0FDWCxDQUFDOzs7OztBQUdHLFNBQVMsT0FBTyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUU7QUFDcEMsT0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRTtBQUNoRCxRQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLEVBQUU7QUFDdEIsYUFBTyxDQUFDLENBQUM7S0FDVjtHQUNGO0FBQ0QsU0FBTyxDQUFDLENBQUMsQ0FBQztDQUNYOztBQUVNLFNBQVMsZ0JBQWdCLENBQUMsTUFBTSxFQUFFO0FBQ3ZDLE1BQUksT0FBTyxNQUFNLEtBQUssUUFBUSxFQUFFOztBQUU5QixRQUFJLE1BQU0sSUFBSSxNQUFNLENBQUMsTUFBTSxFQUFFO0FBQzNCLGFBQU8sTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO0tBQ3hCLE1BQU0sSUFBSSxNQUFNLElBQUksSUFBSSxFQUFFO0FBQ3pCLGFBQU8sRUFBRSxDQUFDO0tBQ1gsTUFBTSxJQUFJLENBQUMsTUFBTSxFQUFFO0FBQ2xCLGFBQU8sTUFBTSxHQUFHLEVBQUUsQ0FBQztLQUNwQjs7Ozs7QUFLRCxVQUFNLEdBQUcsRUFBRSxHQUFHLE1BQU0sQ0FBQztHQUN0Qjs7QUFFRCxNQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRTtBQUMxQixXQUFPLE1BQU0sQ0FBQztHQUNmO0FBQ0QsU0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQztDQUM3Qzs7QUFFTSxTQUFTLE9BQU8sQ0FBQyxLQUFLLEVBQUU7QUFDN0IsTUFBSSxDQUFDLEtBQUssSUFBSSxLQUFLLEtBQUssQ0FBQyxFQUFFO0FBQ3pCLFdBQU8sSUFBSSxDQUFDO0dBQ2IsTUFBTSxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtBQUMvQyxXQUFPLElBQUksQ0FBQztHQUNiLE1BQU07QUFDTCxXQUFPLEtBQUssQ0FBQztHQUNkO0NBQ0Y7O0FBRU0sU0FBUyxXQUFXLENBQUMsTUFBTSxFQUFFO0FBQ2xDLE1BQUksS0FBSyxHQUFHLE1BQU0sQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDL0IsT0FBSyxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7QUFDdkIsU0FBTyxLQUFLLENBQUM7Q0FDZDs7QUFFTSxTQUFTLFdBQVcsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFO0FBQ3ZDLFFBQU0sQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDO0FBQ2xCLFNBQU8sTUFBTSxDQUFDO0NBQ2Y7O0FBRU0sU0FBUyxpQkFBaUIsQ0FBQyxXQUFXLEVBQUUsRUFBRSxFQUFFO0FBQ2pELFNBQU8sQ0FBQyxXQUFXLEdBQUcsV0FBVyxHQUFHLEdBQUcsR0FBRyxFQUFFLENBQUEsR0FBSSxFQUFFLENBQUM7Q0FDcEQiLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBlc2NhcGUgPSB7XG4gICcmJzogJyZhbXA7JyxcbiAgJzwnOiAnJmx0OycsXG4gICc+JzogJyZndDsnLFxuICAnXCInOiAnJnF1b3Q7JyxcbiAgXCInXCI6ICcmI3gyNzsnLFxuICAnYCc6ICcmI3g2MDsnLFxuICAnPSc6ICcmI3gzRDsnXG59O1xuXG5jb25zdCBiYWRDaGFycyA9IC9bJjw+XCInYD1dL2csXG4gIHBvc3NpYmxlID0gL1smPD5cIidgPV0vO1xuXG5mdW5jdGlvbiBlc2NhcGVDaGFyKGNocikge1xuICByZXR1cm4gZXNjYXBlW2Nocl07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBleHRlbmQob2JqIC8qICwgLi4uc291cmNlICovKSB7XG4gIGZvciAobGV0IGkgPSAxOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7XG4gICAgZm9yIChsZXQga2V5IGluIGFyZ3VtZW50c1tpXSkge1xuICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChhcmd1bWVudHNbaV0sIGtleSkpIHtcbiAgICAgICAgb2JqW2tleV0gPSBhcmd1bWVudHNbaV1ba2V5XTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gb2JqO1xufVxuXG5leHBvcnQgbGV0IHRvU3RyaW5nID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZztcblxuLy8gU291cmNlZCBmcm9tIGxvZGFzaFxuLy8gaHR0cHM6Ly9naXRodWIuY29tL2Jlc3RpZWpzL2xvZGFzaC9ibG9iL21hc3Rlci9MSUNFTlNFLnR4dFxuLyogZXNsaW50LWRpc2FibGUgZnVuYy1zdHlsZSAqL1xubGV0IGlzRnVuY3Rpb24gPSBmdW5jdGlvbih2YWx1ZSkge1xuICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnZnVuY3Rpb24nO1xufTtcbi8vIGZhbGxiYWNrIGZvciBvbGRlciB2ZXJzaW9ucyBvZiBDaHJvbWUgYW5kIFNhZmFyaVxuLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbmlmIChpc0Z1bmN0aW9uKC94LykpIHtcbiAgaXNGdW5jdGlvbiA9IGZ1bmN0aW9uKHZhbHVlKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIHR5cGVvZiB2YWx1ZSA9PT0gJ2Z1bmN0aW9uJyAmJlxuICAgICAgdG9TdHJpbmcuY2FsbCh2YWx1ZSkgPT09ICdbb2JqZWN0IEZ1bmN0aW9uXSdcbiAgICApO1xuICB9O1xufVxuZXhwb3J0IHsgaXNGdW5jdGlvbiB9O1xuLyogZXNsaW50LWVuYWJsZSBmdW5jLXN0eWxlICovXG5cbi8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG5leHBvcnQgY29uc3QgaXNBcnJheSA9XG4gIEFycmF5LmlzQXJyYXkgfHxcbiAgZnVuY3Rpb24odmFsdWUpIHtcbiAgICByZXR1cm4gdmFsdWUgJiYgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0J1xuICAgICAgPyB0b1N0cmluZy5jYWxsKHZhbHVlKSA9PT0gJ1tvYmplY3QgQXJyYXldJ1xuICAgICAgOiBmYWxzZTtcbiAgfTtcblxuLy8gT2xkZXIgSUUgdmVyc2lvbnMgZG8gbm90IGRpcmVjdGx5IHN1cHBvcnQgaW5kZXhPZiBzbyB3ZSBtdXN0IGltcGxlbWVudCBvdXIgb3duLCBzYWRseS5cbmV4cG9ydCBmdW5jdGlvbiBpbmRleE9mKGFycmF5LCB2YWx1ZSkge1xuICBmb3IgKGxldCBpID0gMCwgbGVuID0gYXJyYXkubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcbiAgICBpZiAoYXJyYXlbaV0gPT09IHZhbHVlKSB7XG4gICAgICByZXR1cm4gaTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIC0xO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZXNjYXBlRXhwcmVzc2lvbihzdHJpbmcpIHtcbiAgaWYgKHR5cGVvZiBzdHJpbmcgIT09ICdzdHJpbmcnKSB7XG4gICAgLy8gZG9uJ3QgZXNjYXBlIFNhZmVTdHJpbmdzLCBzaW5jZSB0aGV5J3JlIGFscmVhZHkgc2FmZVxuICAgIGlmIChzdHJpbmcgJiYgc3RyaW5nLnRvSFRNTCkge1xuICAgICAgcmV0dXJuIHN0cmluZy50b0hUTUwoKTtcbiAgICB9IGVsc2UgaWYgKHN0cmluZyA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfSBlbHNlIGlmICghc3RyaW5nKSB7XG4gICAgICByZXR1cm4gc3RyaW5nICsgJyc7XG4gICAgfVxuXG4gICAgLy8gRm9yY2UgYSBzdHJpbmcgY29udmVyc2lvbiBhcyB0aGlzIHdpbGwgYmUgZG9uZSBieSB0aGUgYXBwZW5kIHJlZ2FyZGxlc3MgYW5kXG4gICAgLy8gdGhlIHJlZ2V4IHRlc3Qgd2lsbCBkbyB0aGlzIHRyYW5zcGFyZW50bHkgYmVoaW5kIHRoZSBzY2VuZXMsIGNhdXNpbmcgaXNzdWVzIGlmXG4gICAgLy8gYW4gb2JqZWN0J3MgdG8gc3RyaW5nIGhhcyBlc2NhcGVkIGNoYXJhY3RlcnMgaW4gaXQuXG4gICAgc3RyaW5nID0gJycgKyBzdHJpbmc7XG4gIH1cblxuICBpZiAoIXBvc3NpYmxlLnRlc3Qoc3RyaW5nKSkge1xuICAgIHJldHVybiBzdHJpbmc7XG4gIH1cbiAgcmV0dXJuIHN0cmluZy5yZXBsYWNlKGJhZENoYXJzLCBlc2NhcGVDaGFyKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzRW1wdHkodmFsdWUpIHtcbiAgaWYgKCF2YWx1ZSAmJiB2YWx1ZSAhPT0gMCkge1xuICAgIHJldHVybiB0cnVlO1xuICB9IGVsc2UgaWYgKGlzQXJyYXkodmFsdWUpICYmIHZhbHVlLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiB0cnVlO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRnJhbWUob2JqZWN0KSB7XG4gIGxldCBmcmFtZSA9IGV4dGVuZCh7fSwgb2JqZWN0KTtcbiAgZnJhbWUuX3BhcmVudCA9IG9iamVjdDtcbiAgcmV0dXJuIGZyYW1lO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYmxvY2tQYXJhbXMocGFyYW1zLCBpZHMpIHtcbiAgcGFyYW1zLnBhdGggPSBpZHM7XG4gIHJldHVybiBwYXJhbXM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhcHBlbmRDb250ZXh0UGF0aChjb250ZXh0UGF0aCwgaWQpIHtcbiAgcmV0dXJuIChjb250ZXh0UGF0aCA/IGNvbnRleHRQYXRoICsgJy4nIDogJycpICsgaWQ7XG59XG4iXX0=\n","// Create a simple path alias to allow browserify to resolve\n// the runtime on a supported path.\nmodule.exports = require('./dist/cjs/handlebars.runtime')['default'];\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\": 27444,\n\t\"./ar-sa.js\": 27444,\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=\" + {\"1140\":\"dd55e1cf2dab9870eea9\",\"2221\":\"5cdd551ed83d9a12c3ed\",\"5448\":\"71cfe268d6f1213c4735\",\"6015\":\"8ac07126adf0759a3464\",\"7859\":\"5bcb1bbacda3204063dd\",\"7910\":\"de857920f8beb5205bbc\",\"8815\":\"0f63c2eb085d7b08be1b\",\"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__(38309)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","inProgress","dataWebpackPrefix","name","components","ArrowRight","NcButton","props","value","type","String","default","t","valueLoading","loading","Boolean","required","invertedColors","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","_vm","this","_c","_self","attrs","on","$event","$emit","scopedSlots","_u","key","fn","staticClass","proxy","_v","_s","computed","userNameInputLengthIs255","user","length","userInputHelperText","LoginButton","NcCheckboxRadioSwitch","NcPasswordField","NcTextField","NcNoteCard","mixins","AuthMixin","username","redirectUrl","errors","Array","messages","throttleDelay","Number","autoCompleteAllowed","remembermeAllowed","directLogin","emailStates","setup","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","ref","_e","_l","message","index","class","staticStyle","shake","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","buffer","bytes","Uint8Array","str","charCode","fromCharCode","btoa","replace","base64URLString","base64","padLength","padded","padEnd","binary","atob","ArrayBuffer","i","charCodeAt","_browserSupportsWebAuthnAutofillInternals","descriptor","id","transports","attachments","attachment","emits","title","fillColor","size","_b","$attrs","getCurrentUser","getLoggerBuilder","setApp","build","setUid","uid","detectUser","NoValidCredentials","defineComponent","InformationIcon","LockOpenIcon","NcEmptyContent","isHttps","isLocalhost","supportsWebauthn","validCredentials","authenticate","loginForm","checkValidity","logger","debug","params","async","loginName","url","Axios","post","allowCredentials","error","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","href","catch","_setupProxy","apply","arguments","resetPasswordLink","axios","status","resetPasswordTarget","encrypted","proceed","encryption","msg","e","directives","rawName","target","composing","isArray","_i","$$a","$$el","$$c","checked","$$i","concat","slice","warning","query","queryString","parse","search","clear","localStorage","sessionStorage","indexedDBList","indexedDB","databases","deleteDatabase","wipeBrowserStorages","LoginForm","PasswordLessLoginForm","ResetPassword","UpdatePassword","passwordlessLogin","resetPassword","canResetPassword","resetPasswordUser","direct","hasPasswordless","countAlternativeLogins","alternativeLogins","protocol","hideLoginForm","passwordResetFinished","alternativeLogin","isAdmin","_oc_isadmin","appConfig","oc_appconfig","dynamicSlideToggleEnabled","Apps","enableDynamicSlideToggle","$el","$","removeClass","show","trigger","hide","addClass","_oc_appswebroots","methodMap","create","update","patch","delete","read","parsePropFindResult","result","davProperties","_","subResult","propStat","properties","propKey","parseIdFromLocation","queryPos","substr","parts","split","pop","isSuccessStatus","callPropPatch","client","headers","propPatch","changedProp","convertModelAttributesToDavProperties","changed","success","toJSON","Backbone","VendorBackbone","assign","davCall","dav","Client","baseUrl","xmlNamespaces","resolveUrl","requesttoken","propFind","depth","propsMapping","results","body","shift","callPropFind","request","callMkCol","responseJson","locationHeader","xhr","getResponseHeader","callMethod","davSync","method","isCollection","Collection","hasInnerCollection","usePUT","collection","urlError","processData","prototype","call","textStatus","errorThrown","context","_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","label","variant","clicked","_getLegacyButtons","confirmHtml","setHTML","prompt","spawnDialog","defineAsyncComponent","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","_fileexistsshown","fileexists","original","replacement","self","dialogDeferred","addConflict","$conflicts","$conflict","find","clone","$originalDiv","$replacementDiv","Util","humanFileSize","formatDate","lastModified","directory","urlSpec","x","y","c","forceIcon","previewpath","Files","generatePreviewUrl","css","FileReader","reader","onload","blob","Blob","URL","webkitURL","originalUrl","createObjectURL","image","Image","src","img","canvas","createElement","width","height","Math","min","getContext","drawImage","W","H","W2","H2","round","getImageData","img2","data2","ratio_w","ratio_h","ratio_w_half","ceil","ratio_h_half","j","x2","weight","weights","weights_alpha","gx_r","gx_g","gx_b","gx_a","center_y","yy","floor","dy","abs","center_x","w0","xx","dx","w","sqrt","clearRect","max","putImageData","resampleHermite","toDataURL","crop","readAsArrayBuffer","reject","getCroppedPreview","MimeType","getIconUrl","checkboxId","attr","append","prop","dialogName","dialogId","count","n","parent","children","_getFileExistsTemplate","$tmpl","$dlg","octemplate","dialog_name","allnewfiles","allexistingfiles","why","what","buttonlist","classes","click","onCancel","ocdialog","onContinue","closeOnEscape","closeButton","close","remove","$primaryButton","closest","updatePrimaryButton","checkedCount","$checkbox","fail","promise","defer","$fileexistsTemplate","filePath","tmpl","getRequestToken","head","dataset","OCEventSource","joinChar","dataStr","typelessListeners","closed","listeners","encodeURIComponent","useFallBack","EventSource","iframeId","iframeCount","fallBackSources","iframe","style","display","appendChild","source","onmessage","bind","listen","fallBackCallBack","done","lastLength","addEventListener","load","loadTranslations","register","_unregister","unregister","translate","translatePlural","Handlebars","app","currentMenu","currentMenuToggle","hideMenus","complete","lastMenu","slideUp","iconCache","Map","mimeType","MimeTypeList","aliases","has","gotIcon","folder","themes","getRootUrl","getMimeTypeIcon","files","OCA","Theming","cacheBuster","set","RegExp","clearIconCache","startSaving","selector","startAction","el","querySelector","HTMLElement","textContent","classList","getAnimations","animation","finishedSaving","finishedAction","finishedSuccess","finishedError","add","setTimeout","animate","opacity","duration","fill","updatableNotification","getDefaultNotificationFunction","setDefault","$row","each","toastify","hideToast","showHtml","html","isHTML","timeout","TOAST_PERMANENT_TIMEOUT","toast","showMessage","toastElement","toString","join","escapeHTML","showUpdate","showTemporary","TOAST_DEFAULT_TIMEOUT","isHidden","requiresPasswordConfirmation","isPasswordConfirmationRequired","requirePasswordConfirmation","rejectCallback","confirmPassword","_plugins","targetName","plugin","plugins","getPlugins","attach","targetObject","detach","_cachedGroups","rebuildNavigation","generateOcsUrl","ocs","meta","statuscode","emit","apps","dispatchEvent","Event","setupGroupsSelect","$elements","extraOptions","dataType","groups","group","excludeAdmins","select2","placeholder","allowClear","multiple","toggleSelect","separator","initSelection","element","val","selection","sort","groupId","formatResult","formatSelection","escapeMarkup","m","Notification","_theme","_handlers","_pushState","strParams","buildQueryString","history","pushState","pathname","userAgent","toLowerCase","parseInt","patterns","pattern","ii","stroke","removeAttribute","setAttribute","replaceState","hash","_cancelPop","addOnPopStateHandler","handler","_parseHashQuery","pos","_decodeQuery","parseUrlQuery","parseQueryString","_onPopState","chunkify","tz","charAt","History","computerFileSize","string","s","trim","matches","match","parseFloat","isFinite","b","k","kb","mb","gb","g","tb","pb","p","timestamp","format","TESTING","moment","relativeModifiedDate","diff","fromNow","getScrollBarWidth","_scrollBarWidth","inner","outer","position","top","left","visibility","overflow","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","coreApps","menuSpeed","PERMISSION_ALL","PERMISSION_CREATE","PERMISSION_DELETE","PERMISSION_NONE","PERMISSION_READ","PERMISSION_SHARE","PERMISSION_UPDATE","TAG_FAVORITE","appswebroots","config","Config","dialogs","isUserAdmin","L10N","registerXHRForErrorProcessing","getCapabilities","realGetCapabilities","registerMenu","$toggle","$menuEl","toggle","headerMenu","isClickableElement","is","slideToggle","showMenu","unregisterMenu","off","encodePath","dirname","isSamePath","joinPaths","getCanonicalLocale","getLocale","URLSearchParams","fromEntries","entries","PasswordConfirmation","Plugins","Settings","generateFilePath","getRootPath","linkTo","linkToOCS","service","version","ocsVersion","linkToRemote","generateRemoteUrl","linkToRemoteBase","realGetRootUrl","subscribe","token","L10n","Vue","mixin","Nextcloud","extend","LoginView","$mount","global","exports","previousBackbone","VERSION","noConflict","emulateHTTP","emulateJSON","_listening","Events","eventSplitter","eventsApi","iteratee","events","opts","names","keys","_events","onApi","ctx","listening","_listeners","interop","listenTo","obj","_listenId","uniqueId","listeningTo","_listeningTo","Listening","tryCatchOn","handlers","offApi","stopListening","ids","isEmpty","remaining","_callback","cleanup","once","onceMap","listenToOnce","offer","triggerApi","objEvents","allEvents","all","triggerEvents","ev","l","a1","a2","a3","listener","unbind","Model","preinitialize","cid","cidPrefix","defaults","initialize","validationError","idAttribute","sync","_validate","unset","silent","changes","changing","_changing","_previousAttributes","current","prev","isEqual","prevId","_pending","hasChanged","changedAttributes","old","previous","previousAttributes","fetch","resp","serverAttrs","wrapError","save","wait","validate","isNew","destroy","base","isValid","models","comparator","_reset","reset","setOptions","merge","addOptions","splice","array","at","tail","singular","removed","_removeModels","added","merged","_isModel","toAdd","toMerge","toRemove","modelMap","sortable","sortAttr","isString","existing","_prepareModel","_addReference","orderChanged","some","_removeReference","previousModels","unshift","_byId","modelId","where","first","findWhere","isFunction","sortBy","pluck","callbackOpts","_forwardPristineError","values","CollectionIterator","ITERATOR_VALUES","ITERATOR_KEYS","ITERATOR_KEYSVALUES","_onModelEvent","$$iterator","Symbol","iterator","kind","_collection","_kind","_index","next","View","viewOptions","_ensureElement","delegateEventSplitter","tagName","render","_removeElement","setElement","undelegateEvents","_setElement","delegateEvents","delegate","eventName","undelegate","_createElement","className","_setAttributes","addUnderscoreMethods","Class","attribute","cb","defaultVal","addMethod","instance","isObject","modelMatcher","matcher","collect","reduce","foldl","inject","reduceRight","foldr","detect","select","any","include","contains","invoke","toArray","take","initial","rest","drop","last","without","difference","shuffle","chain","sample","partition","groupBy","countBy","indexBy","findIndex","findLastIndex","pairs","invert","omit","Base","mappings","functions","memo","contentType","_method","beforeSend","setRequestHeader","ajax","Router","routes","_bindRoutes","optionalParam","namedParam","splatParam","escapeRegExp","route","isRegExp","_routeToRegExp","router","fragment","_extractParameters","execute","navigate","optional","exec","param","decodeURIComponent","checkUrl","routeStripper","rootStripper","pathStripper","started","atRoot","getSearch","matchRoot","decodeFragment","decodeURI","getHash","getFragment","_usePushState","_wantsHashChange","start","_trailingSlash","trailingSlash","hashChange","_hasHashChange","documentMode","_useHashChange","_wantsPushState","_hasPushState","rootPath","tabIndex","iWindow","insertBefore","firstChild","contentWindow","open","attachEvent","_checkUrlInterval","setInterval","loadUrl","stop","removeEventListener","detachEvent","clearInterval","notfound","decodedFragment","_updateHash","protoProps","staticProps","child","__super__","_debug","factory","___CSS_LOADER_EXPORT___","module","ch","_XML_CHAR_MAP","userName","namespace","hasOwnProperty","property","parseClarkNotation","_renderPropSet","propName","propValue","_escapeXml","mkcol","responseType","xhrProvider","onProgress","upload","send","fulfill","onreadystatechange","readyState","resultBody","parseMultiStatus","ontimeout","XMLHttpRequest","_parsePropNode","propNode","childNodes","subNodes","nodeType","xmlBody","doc","DOMParser","parseFromString","resolver","foo","responseIterator","evaluate","XPathResult","ANY_TYPE","responseNode","iterateNext","stringValue","propStatIterator","propStatNode","propIterator","namespaceURI","localName","baseParts","parseUrl","subString","scheme","host","port","propertyName","_interopRequireDefault","__esModule","_interopRequireWildcard","newObj","_handlebarsSafeString2","_handlebarsException2","Utils","runtime","_handlebarsNoConflict2","hb","HandlebarsEnvironment","SafeString","Exception","escapeExpression","VM","template","spec","inst","_utils","_exception2","_helpers","_decorators","_logger2","_internalProtoAccess","COMPILER_REVISION","LAST_COMPATIBLE_COMPILER_REVISION","REVISION_CHANGES","objectType","helpers","partials","decorators","registerDefaultHelpers","registerDefaultDecorators","log","registerHelper","unregisterHelper","registerPartial","partial","unregisterPartial","registerDecorator","unregisterDecorator","resetLoggedPropertyAccesses","resetLoggedProperties","createFrame","_decoratorsInline2","container","ret","errorProps","loc","line","endLineNumber","column","endColumn","end","tmp","idx","captureStackTrace","lineNumber","nop","_helpersBlockHelperMissing2","_helpersEach2","_helpersHelperMissing2","_helpersIf2","_helpersLog2","_helpersLookup2","_helpersWith2","moveHelperToHooks","helperName","keepHelper","hooks","inverse","contextPath","appendContextPath","priorKey","execIteration","field","blockParams","newContext","it","conditional","includeZero","level","lookupProperty","createProtoAccessControl","runtimeOptions","propertyWhiteList","allowedProtoProperties","methodWhiteList","allowedProtoMethods","whitelist","defaultValue","allowProtoPropertiesByDefault","allowProtoMethodsByDefault","resultIsAllowed","protoAccessControl","protoAccessControlForType","loggedProperties","logUnexpecedPropertyAccessOnce","checkWhiteList","wrapHelper","helper","transformOptionsFn","lookupLevel","levelMap","_len","_key","__defineGetter__","__magic__","$Handlebars","checkRevision","compilerInfo","compilerRevision","currentRevision","_base","runtimeVersions","compilerVersions","templateSpec","env","main","decorator","main_d","compiler","templateWasPrecompiledWithCompilerV7","strict","lookup","depths","len","lambda","invokePartial","resolvePartial","compile","compilerOptions","indent","lines","programs","program","declaredBlockParams","programWrapper","wrapProgram","_parent","mergeIfNeeded","common","nullContext","seal","noop","_setup","useData","initData","useBlockParams","useDepths","executeDecorators","isTop","mergedHelpers","addHelpers","usePartial","useDecorators","keepHelperInHelpers","allowCallsToHelperMissing","_child","lookupOwnProperty","currentPartialBlock","partialBlock","Function","_internalWrapHelper","prog","currentDepths","passLookupPropertyOption","toHTML","possible","badChars","escapeChar","object","frame","chr","webpackContext","req","webpackContextResolve","__webpack_require__","o","__webpack_module_cache__","moduleId","cachedModule","loaded","__webpack_modules__","O","chunkIds","priority","notFulfilled","Infinity","fulfilled","r","getter","d","definition","f","chunkId","promises","u","script","needAttach","scripts","charset","nc","onScriptComplete","onerror","clearTimeout","doneFns","parentNode","toStringTag","nmd","paths","scriptUrl","importScripts","currentScript","toUpperCase","baseURI","installedChunks","installedChunkData","errorType","realSrc","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/core-main.js b/dist/core-main.js index 487c53361d164..1b701129b4db9 100644 --- a/dist/core-main.js +++ b/dist/core-main.js @@ -1,2 +1,2 @@ -(()=>{var __webpack_modules__={87568(t,e,i){var n=e;n.bignum=i(72344),n.define=i(47363).define,n.base=i(9673),n.constants=i(22153),n.decoders=i(22853),n.encoders=i(24669)},47363(t,e,i){var n=i(87568),r=i(56698);function o(t,e){this.name=t,this.body=e,this.decoders={},this.encoders={}}e.define=function(t,e){return new o(t,e)},o.prototype._createNamed=function(t){var e;try{e=i(68961).runInThisContext("(function "+this.name+"(entity) {\n this._initNamed(entity);\n})")}catch(t){e=function(t){this._initNamed(t)}}return r(e,t),e.prototype._initNamed=function(e){t.call(this,e)},new e(this)},o.prototype._getDecoder=function(t){return t=t||"der",this.decoders.hasOwnProperty(t)||(this.decoders[t]=this._createNamed(n.decoders[t])),this.decoders[t]},o.prototype.decode=function(t,e,i){return this._getDecoder(e).decode(t,i)},o.prototype._getEncoder=function(t){return t=t||"der",this.encoders.hasOwnProperty(t)||(this.encoders[t]=this._createNamed(n.encoders[t])),this.encoders[t]},o.prototype.encode=function(t,e,i){return this._getEncoder(e).encode(t,i)}},47227(t,e,i){var n=i(56698),r=i(9673).Reporter,o=i(1048).Buffer;function s(t,e){r.call(this,e),o.isBuffer(t)?(this.base=t,this.offset=0,this.length=t.length):this.error("Input not Buffer")}function a(t,e){if(Array.isArray(t))this.length=0,this.value=t.map(function(t){return t instanceof a||(t=new a(t,e)),this.length+=t.length,t},this);else if("number"==typeof t){if(!(0<=t&&t<=255))return e.error("non-byte EncoderBuffer value");this.value=t,this.length=1}else if("string"==typeof t)this.value=t,this.length=o.byteLength(t);else{if(!o.isBuffer(t))return e.error("Unsupported type: "+typeof t);this.value=t,this.length=t.length}}n(s,r),e.t=s,s.prototype.save=function(){return{offset:this.offset,reporter:r.prototype.save.call(this)}},s.prototype.restore=function(t){var e=new s(this.base);return e.offset=t.offset,e.length=this.offset,this.offset=t.offset,r.prototype.restore.call(this,t.reporter),e},s.prototype.isEmpty=function(){return this.offset===this.length},s.prototype.readUInt8=function(t){return this.offset+1<=this.length?this.base.readUInt8(this.offset++,!0):this.error(t||"DecoderBuffer overrun")},s.prototype.skip=function(t,e){if(!(this.offset+t<=this.length))return this.error(e||"DecoderBuffer overrun");var i=new s(this.base);return i._reporterState=this._reporterState,i.offset=this.offset,i.length=this.offset+t,this.offset+=t,i},s.prototype.raw=function(t){return this.base.slice(t?t.offset:this.offset,this.length)},e.d=a,a.prototype.join=function(t,e){return t||(t=new o(this.length)),e||(e=0),0===this.length||(Array.isArray(this.value)?this.value.forEach(function(i){i.join(t,e),e+=i.length}):("number"==typeof this.value?t[e]=this.value:"string"==typeof this.value?t.write(this.value,e):o.isBuffer(this.value)&&this.value.copy(t,e),e+=this.length)),t}},9673(t,e,i){var n=e;n.Reporter=i(89220).a,n.DecoderBuffer=i(47227).t,n.EncoderBuffer=i(47227).d,n.Node=i(90993)},90993(t,e,i){var n=i(9673).Reporter,r=i(9673).EncoderBuffer,o=i(9673).DecoderBuffer,s=i(43349),a=["seq","seqof","set","setof","objid","bool","gentime","utctime","null_","enum","int","objDesc","bitstr","bmpstr","charstr","genstr","graphstr","ia5str","iso646str","numstr","octstr","printstr","t61str","unistr","utf8str","videostr"],u=["key","obj","use","optional","explicit","implicit","def","choice","any","contains"].concat(a);function c(t,e){var i={};this._baseState=i,i.enc=t,i.parent=e||null,i.children=null,i.tag=null,i.args=null,i.reverseArgs=null,i.choice=null,i.optional=!1,i.any=!1,i.obj=!1,i.use=null,i.useDecoder=null,i.key=null,i.default=null,i.explicit=null,i.implicit=null,i.contains=null,i.parent||(i.children=[],this._wrap())}t.exports=c;var h=["enc","parent","children","tag","args","reverseArgs","choice","optional","any","obj","use","alteredUse","key","default","explicit","implicit","contains"];c.prototype.clone=function(){var t=this._baseState,e={};h.forEach(function(i){e[i]=t[i]});var i=new this.constructor(e.parent);return i._baseState=e,i},c.prototype._wrap=function(){var t=this._baseState;u.forEach(function(e){this[e]=function(){var i=new this.constructor(this);return t.children.push(i),i[e].apply(i,arguments)}},this)},c.prototype._init=function(t){var e=this._baseState;s(null===e.parent),t.call(this),e.children=e.children.filter(function(t){return t._baseState.parent===this},this),s.equal(e.children.length,1,"Root node can have only one child")},c.prototype._useArgs=function(t){var e=this._baseState,i=t.filter(function(t){return t instanceof this.constructor},this);t=t.filter(function(t){return!(t instanceof this.constructor)},this),0!==i.length&&(s(null===e.children),e.children=i,i.forEach(function(t){t._baseState.parent=this},this)),0!==t.length&&(s(null===e.args),e.args=t,e.reverseArgs=t.map(function(t){if("object"!=typeof t||t.constructor!==Object)return t;var e={};return Object.keys(t).forEach(function(i){i==(0|i)&&(i|=0);var n=t[i];e[n]=i}),e}))},["_peekTag","_decodeTag","_use","_decodeStr","_decodeObjid","_decodeTime","_decodeNull","_decodeInt","_decodeBool","_decodeList","_encodeComposite","_encodeStr","_encodeObjid","_encodeTime","_encodeNull","_encodeInt","_encodeBool"].forEach(function(t){c.prototype[t]=function(){var e=this._baseState;throw new Error(t+" not implemented for encoding: "+e.enc)}}),a.forEach(function(t){c.prototype[t]=function(){var e=this._baseState,i=Array.prototype.slice.call(arguments);return s(null===e.tag),e.tag=t,this._useArgs(i),this}}),c.prototype.use=function(t){s(t);var e=this._baseState;return s(null===e.use),e.use=t,this},c.prototype.optional=function(){return this._baseState.optional=!0,this},c.prototype.def=function(t){var e=this._baseState;return s(null===e.default),e.default=t,e.optional=!0,this},c.prototype.explicit=function(t){var e=this._baseState;return s(null===e.explicit&&null===e.implicit),e.explicit=t,this},c.prototype.implicit=function(t){var e=this._baseState;return s(null===e.explicit&&null===e.implicit),e.implicit=t,this},c.prototype.obj=function(){var t=this._baseState,e=Array.prototype.slice.call(arguments);return t.obj=!0,0!==e.length&&this._useArgs(e),this},c.prototype.key=function(t){var e=this._baseState;return s(null===e.key),e.key=t,this},c.prototype.any=function(){return this._baseState.any=!0,this},c.prototype.choice=function(t){var e=this._baseState;return s(null===e.choice),e.choice=t,this._useArgs(Object.keys(t).map(function(e){return t[e]})),this},c.prototype.contains=function(t){var e=this._baseState;return s(null===e.use),e.contains=t,this},c.prototype._decode=function(t,e){var i=this._baseState;if(null===i.parent)return t.wrapResult(i.children[0]._decode(t,e));var n,r=i.default,s=!0,a=null;if(null!==i.key&&(a=t.enterKey(i.key)),i.optional){var u=null;if(null!==i.explicit?u=i.explicit:null!==i.implicit?u=i.implicit:null!==i.tag&&(u=i.tag),null!==u||i.any){if(s=this._peekTag(t,u,i.any),t.isError(s))return s}else{var c=t.save();try{null===i.choice?this._decodeGeneric(i.tag,t,e):this._decodeChoice(t,e),s=!0}catch(t){s=!1}t.restore(c)}}if(i.obj&&s&&(n=t.enterObject()),s){if(null!==i.explicit){var h=this._decodeTag(t,i.explicit);if(t.isError(h))return h;t=h}var l=t.offset;if(null===i.use&&null===i.choice){i.any&&(c=t.save());var d=this._decodeTag(t,null!==i.implicit?i.implicit:i.tag,i.any);if(t.isError(d))return d;i.any?r=t.raw(c):t=d}if(e&&e.track&&null!==i.tag&&e.track(t.path(),l,t.length,"tagged"),e&&e.track&&null!==i.tag&&e.track(t.path(),t.offset,t.length,"content"),i.any||(r=null===i.choice?this._decodeGeneric(i.tag,t,e):this._decodeChoice(t,e)),t.isError(r))return r;if(i.any||null!==i.choice||null===i.children||i.children.forEach(function(i){i._decode(t,e)}),i.contains&&("octstr"===i.tag||"bitstr"===i.tag)){var f=new o(r);r=this._getUse(i.contains,t._reporterState.obj)._decode(f,e)}}return i.obj&&s&&(r=t.leaveObject(n)),null===i.key||null===r&&!0!==s?null!==a&&t.exitKey(a):t.leaveKey(a,i.key,r),r},c.prototype._decodeGeneric=function(t,e,i){var n=this._baseState;return"seq"===t||"set"===t?null:"seqof"===t||"setof"===t?this._decodeList(e,t,n.args[0],i):/str$/.test(t)?this._decodeStr(e,t,i):"objid"===t&&n.args?this._decodeObjid(e,n.args[0],n.args[1],i):"objid"===t?this._decodeObjid(e,null,null,i):"gentime"===t||"utctime"===t?this._decodeTime(e,t,i):"null_"===t?this._decodeNull(e,i):"bool"===t?this._decodeBool(e,i):"objDesc"===t?this._decodeStr(e,t,i):"int"===t||"enum"===t?this._decodeInt(e,n.args&&n.args[0],i):null!==n.use?this._getUse(n.use,e._reporterState.obj)._decode(e,i):e.error("unknown tag: "+t)},c.prototype._getUse=function(t,e){var i=this._baseState;return i.useDecoder=this._use(t,e),s(null===i.useDecoder._baseState.parent),i.useDecoder=i.useDecoder._baseState.children[0],i.implicit!==i.useDecoder._baseState.implicit&&(i.useDecoder=i.useDecoder.clone(),i.useDecoder._baseState.implicit=i.implicit),i.useDecoder},c.prototype._decodeChoice=function(t,e){var i=this._baseState,n=null,r=!1;return Object.keys(i.choice).some(function(o){var s=t.save(),a=i.choice[o];try{var u=a._decode(t,e);if(t.isError(u))return!1;n={type:o,value:u},r=!0}catch(e){return t.restore(s),!1}return!0},this),r?n:t.error("Choice not matched")},c.prototype._createEncoderBuffer=function(t){return new r(t,this.reporter)},c.prototype._encode=function(t,e,i){var n=this._baseState;if(null===n.default||n.default!==t){var r=this._encodeValue(t,e,i);if(void 0!==r&&!this._skipDefault(r,e,i))return r}},c.prototype._encodeValue=function(t,e,i){var r=this._baseState;if(null===r.parent)return r.children[0]._encode(t,e||new n);var o=null;if(this.reporter=e,r.optional&&void 0===t){if(null===r.default)return;t=r.default}var s=null,a=!1;if(r.any)o=this._createEncoderBuffer(t);else if(r.choice)o=this._encodeChoice(t,e);else if(r.contains)s=this._getUse(r.contains,i)._encode(t,e),a=!0;else if(r.children)s=r.children.map(function(i){if("null_"===i._baseState.tag)return i._encode(null,e,t);if(null===i._baseState.key)return e.error("Child should have a key");var n=e.enterKey(i._baseState.key);if("object"!=typeof t)return e.error("Child expected, but input is not object");var r=i._encode(t[i._baseState.key],e,t);return e.leaveKey(n),r},this).filter(function(t){return t}),s=this._createEncoderBuffer(s);else if("seqof"===r.tag||"setof"===r.tag){if(!r.args||1!==r.args.length)return e.error("Too many args for : "+r.tag);if(!Array.isArray(t))return e.error("seqof/setof, but data is not Array");var u=this.clone();u._baseState.implicit=null,s=this._createEncoderBuffer(t.map(function(i){var n=this._baseState;return this._getUse(n.args[0],t)._encode(i,e)},u))}else null!==r.use?o=this._getUse(r.use,i)._encode(t,e):(s=this._encodePrimitive(r.tag,t),a=!0);if(!r.any&&null===r.choice){var c=null!==r.implicit?r.implicit:r.tag,h=null===r.implicit?"universal":"context";null===c?null===r.use&&e.error("Tag could be omitted only for .use()"):null===r.use&&(o=this._encodeComposite(c,a,h,s))}return null!==r.explicit&&(o=this._encodeComposite(r.explicit,!1,"context",o)),o},c.prototype._encodeChoice=function(t,e){var i=this._baseState,n=i.choice[t.type];return n||s(!1,t.type+" not found in "+JSON.stringify(Object.keys(i.choice))),n._encode(t.value,e)},c.prototype._encodePrimitive=function(t,e){var i=this._baseState;if(/str$/.test(t))return this._encodeStr(e,t);if("objid"===t&&i.args)return this._encodeObjid(e,i.reverseArgs[0],i.args[1]);if("objid"===t)return this._encodeObjid(e,null,null);if("gentime"===t||"utctime"===t)return this._encodeTime(e,t);if("null_"===t)return this._encodeNull();if("int"===t||"enum"===t)return this._encodeInt(e,i.args&&i.reverseArgs[0]);if("bool"===t)return this._encodeBool(e);if("objDesc"===t)return this._encodeStr(e,t);throw new Error("Unsupported tag: "+t)},c.prototype._isNumstr=function(t){return/^[0-9 ]*$/.test(t)},c.prototype._isPrintstr=function(t){return/^[A-Za-z0-9 '\(\)\+,\-\.\/:=\?]*$/.test(t)}},89220(t,e,i){var n=i(56698);function r(t){this._reporterState={obj:null,path:[],options:t||{},errors:[]}}function o(t,e){this.path=t,this.rethrow(e)}e.a=r,r.prototype.isError=function(t){return t instanceof o},r.prototype.save=function(){var t=this._reporterState;return{obj:t.obj,pathLen:t.path.length}},r.prototype.restore=function(t){var e=this._reporterState;e.obj=t.obj,e.path=e.path.slice(0,t.pathLen)},r.prototype.enterKey=function(t){return this._reporterState.path.push(t)},r.prototype.exitKey=function(t){var e=this._reporterState;e.path=e.path.slice(0,t-1)},r.prototype.leaveKey=function(t,e,i){var n=this._reporterState;this.exitKey(t),null!==n.obj&&(n.obj[e]=i)},r.prototype.path=function(){return this._reporterState.path.join("/")},r.prototype.enterObject=function(){var t=this._reporterState,e=t.obj;return t.obj={},e},r.prototype.leaveObject=function(t){var e=this._reporterState,i=e.obj;return e.obj=t,i},r.prototype.error=function(t){var e,i=this._reporterState,n=t instanceof o;if(e=n?t:new o(i.path.map(function(t){return"["+JSON.stringify(t)+"]"}).join(""),t.message||t,t.stack),!i.options.partial)throw e;return n||i.errors.push(e),e},r.prototype.wrapResult=function(t){var e=this._reporterState;return e.options.partial?{result:this.isError(t)?null:t,errors:e.errors}:t},n(o,Error),o.prototype.rethrow=function(t){if(this.message=t+" at: "+(this.path||"(shallow)"),Error.captureStackTrace&&Error.captureStackTrace(this,o),!this.stack)try{throw new Error(this.message)}catch(t){this.stack=t.stack}return this}},74598(t,e,i){var n=i(22153);e.tagClass={0:"universal",1:"application",2:"context",3:"private"},e.tagClassByName=n._reverse(e.tagClass),e.tag={0:"end",1:"bool",2:"int",3:"bitstr",4:"octstr",5:"null_",6:"objid",7:"objDesc",8:"external",9:"real",10:"enum",11:"embed",12:"utf8str",13:"relativeOid",16:"seq",17:"set",18:"numstr",19:"printstr",20:"t61str",21:"videostr",22:"ia5str",23:"utctime",24:"gentime",25:"graphstr",26:"iso646str",27:"genstr",28:"unistr",29:"charstr",30:"bmpstr"},e.tagByName=n._reverse(e.tag)},22153(t,e,i){var n=e;n._reverse=function(t){var e={};return Object.keys(t).forEach(function(i){(0|i)==i&&(i|=0);var n=t[i];e[n]=i}),e},n.der=i(74598)},39629(t,e,i){var n=i(56698),r=i(87568),o=r.base,s=r.bignum,a=r.constants.der;function u(t){this.enc="der",this.name=t.name,this.entity=t,this.tree=new c,this.tree._init(t.body)}function c(t){o.Node.call(this,"der",t)}function h(t,e){var i=t.readUInt8(e);if(t.isError(i))return i;var n=a.tagClass[i>>6],r=!(32&i);if(31&~i)i&=31;else{var o=i;for(i=0;!(128&~o);){if(o=t.readUInt8(e),t.isError(o))return o;i<<=7,i|=127&o}}return{cls:n,primitive:r,tag:i,tagStr:a.tag[i]}}function l(t,e,i){var n=t.readUInt8(i);if(t.isError(n))return n;if(!e&&128===n)return null;if(!(128&n))return n;var r=127&n;if(r>4)return t.error("length octect is too long");n=0;for(var o=0;o=31?n.error("Multi-octet tag encoding unsupported"):(e||(r|=32),r|=a.tagClassByName[i||"universal"]<<6)}(t,e,i,this.reporter);if(n.length<128)return(o=new r(2))[0]=s,o[1]=n.length,this._createEncoderBuffer([o,n]);for(var u=1,c=n.length;c>=256;c>>=8)u++;(o=new r(2+u))[0]=s,o[1]=128|u,c=1+u;for(var h=n.length;h>0;c--,h>>=8)o[c]=255&h;return this._createEncoderBuffer([o,n])},c.prototype._encodeStr=function(t,e){if("bitstr"===e)return this._createEncoderBuffer([0|t.unused,t.data]);if("bmpstr"===e){for(var i=new r(2*t.length),n=0;n=40)return this.reporter.error("Second objid identifier OOB");t.splice(0,2,40*t[0]+t[1])}var o=0;for(n=0;n=128;s>>=7)o++}var a=new r(o),u=a.length-1;for(n=t.length-1;n>=0;n--)for(s=t[n],a[u--]=127&s;(s>>=7)>0;)a[u--]=128|127&s;return this._createEncoderBuffer(a)},c.prototype._encodeTime=function(t,e){var i,n=new Date(t);return"gentime"===e?i=[h(n.getFullYear()),h(n.getUTCMonth()+1),h(n.getUTCDate()),h(n.getUTCHours()),h(n.getUTCMinutes()),h(n.getUTCSeconds()),"Z"].join(""):"utctime"===e?i=[h(n.getFullYear()%100),h(n.getUTCMonth()+1),h(n.getUTCDate()),h(n.getUTCHours()),h(n.getUTCMinutes()),h(n.getUTCSeconds()),"Z"].join(""):this.reporter.error("Encoding "+e+" time is not supported yet"),this._encodeStr(i,"octstr")},c.prototype._encodeNull=function(){return this._createEncoderBuffer("")},c.prototype._encodeInt=function(t,e){if("string"==typeof t){if(!e)return this.reporter.error("String int or enum given, but no values map");if(!e.hasOwnProperty(t))return this.reporter.error("Values map doesn't contain: "+JSON.stringify(t));t=e[t]}if("number"!=typeof t&&!r.isBuffer(t)){var i=t.toArray();!t.sign&&128&i[0]&&i.unshift(0),t=new r(i)}if(r.isBuffer(t)){var n=t.length;0===t.length&&n++;var o=new r(n);return t.copy(o),0===t.length&&(o[0]=0),this._createEncoderBuffer(o)}if(t<128)return this._createEncoderBuffer(t);if(t<256)return this._createEncoderBuffer([0,t]);n=1;for(var s=t;s>=256;s>>=8)n++;for(s=(o=new Array(n)).length-1;s>=0;s--)o[s]=255&t,t>>=8;return 128&o[0]&&o.unshift(0),this._createEncoderBuffer(new r(o))},c.prototype._encodeBool=function(t){return this._createEncoderBuffer(t?255:0)},c.prototype._use=function(t,e){return"function"==typeof t&&(t=t(e)),t._getEncoder("der").tree},c.prototype._skipDefault=function(t,e,i){var n,r=this._baseState;if(null===r.default)return!1;var o=t.join();if(void 0===r.defaultBuffer&&(r.defaultBuffer=this._encodeValue(r.default,e,i).join()),o.length!==r.defaultBuffer.length)return!1;for(n=0;n=65&&i<=70?i-55:i>=97&&i<=102?i-87:i-48&15}function u(t,e,i){var n=a(t,i);return i-1>=e&&(n|=a(t,i-1)<<4),n}function c(t,e,i,n){for(var r=0,o=Math.min(t.length,i),s=e;s=49?a-49+10:a>=17?a-17+10:a}return r}o.isBN=function(t){return t instanceof o||null!==t&&"object"==typeof t&&t.constructor.wordSize===o.wordSize&&Array.isArray(t.words)},o.max=function(t,e){return t.cmp(e)>0?t:e},o.min=function(t,e){return t.cmp(e)<0?t:e},o.prototype._init=function(t,e,i){if("number"==typeof t)return this._initNumber(t,e,i);if("object"==typeof t)return this._initArray(t,e,i);"hex"===e&&(e=16),n(e===(0|e)&&e>=2&&e<=36);var r=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(r++,this.negative=1),r=0;r-=3)s=t[r]|t[r-1]<<8|t[r-2]<<16,this.words[o]|=s<>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);else if("le"===i)for(r=0,o=0;r>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);return this.strip()},o.prototype._parseHex=function(t,e,i){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var n=0;n=e;n-=2)r=u(t,e,n)<=18?(o-=18,s+=1,this.words[s]|=r>>>26):o+=8;else for(n=(t.length-e)%2==0?e+1:e;n=18?(o-=18,s+=1,this.words[s]|=r>>>26):o+=8;this.strip()},o.prototype._parseBase=function(t,e,i){this.words=[0],this.length=1;for(var n=0,r=1;r<=67108863;r*=e)n++;n--,r=r/e|0;for(var o=t.length-i,s=o%n,a=Math.min(o,o-s)+i,u=0,h=i;h1&&0===this.words[this.length-1];)this.length--;return this._normSign()},o.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},o.prototype.inspect=function(){return(this.red?""};var h=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],l=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],d=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function f(t,e,i){i.negative=e.negative^t.negative;var n=t.length+e.length|0;i.length=n,n=n-1|0;var r=0|t.words[0],o=0|e.words[0],s=r*o,a=67108863&s,u=s/67108864|0;i.words[0]=a;for(var c=1;c>>26,l=67108863&u,d=Math.min(c,e.length-1),f=Math.max(0,c-t.length+1);f<=d;f++){var p=c-f|0;h+=(s=(r=0|t.words[p])*(o=0|e.words[f])+l)/67108864|0,l=67108863&s}i.words[c]=0|l,u=0|h}return 0!==u?i.words[c]=0|u:i.length--,i.strip()}o.prototype.toString=function(t,e){var i;if(e=0|e||1,16===(t=t||10)||"hex"===t){i="";for(var r=0,o=0,s=0;s>>24-r&16777215,(r+=2)>=26&&(r-=26,s--),i=0!==o||s!==this.length-1?h[6-u.length]+u+i:u+i}for(0!==o&&(i=o.toString(16)+i);i.length%e!==0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}if(t===(0|t)&&t>=2&&t<=36){var c=l[t],f=d[t];i="";var p=this.clone();for(p.negative=0;!p.isZero();){var g=p.modn(f).toString(t);i=(p=p.idivn(f)).isZero()?g+i:h[c-g.length]+g+i}for(this.isZero()&&(i="0"+i);i.length%e!==0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}n(!1,"Base should be between 2 and 36")},o.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},o.prototype.toJSON=function(){return this.toString(16)},o.prototype.toBuffer=function(t,e){return n(void 0!==s),this.toArrayLike(s,t,e)},o.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},o.prototype.toArrayLike=function(t,e,i){var r=this.byteLength(),o=i||Math.max(1,r);n(r<=o,"byte array longer than desired length"),n(o>0,"Requested array length <= 0"),this.strip();var s,a,u="le"===e,c=new t(o),h=this.clone();if(u){for(a=0;!h.isZero();a++)s=h.andln(255),h.iushrn(8),c[a]=s;for(;a=4096&&(i+=13,e>>>=13),e>=64&&(i+=7,e>>>=7),e>=8&&(i+=4,e>>>=4),e>=2&&(i+=2,e>>>=2),i+e},o.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,i=0;return 8191&e||(i+=13,e>>>=13),127&e||(i+=7,e>>>=7),15&e||(i+=4,e>>>=4),3&e||(i+=2,e>>>=2),1&e||i++,i},o.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},o.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},o.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},o.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var i=0;it.length?this.clone().iand(t):t.clone().iand(this)},o.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},o.prototype.iuxor=function(t){var e,i;this.length>t.length?(e=this,i=t):(e=t,i=this);for(var n=0;nt.length?this.clone().ixor(t):t.clone().ixor(this)},o.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},o.prototype.inotn=function(t){n("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),i=t%26;this._expand(e),i>0&&e--;for(var r=0;r0&&(this.words[r]=~this.words[r]&67108863>>26-i),this.strip()},o.prototype.notn=function(t){return this.clone().inotn(t)},o.prototype.setn=function(t,e){n("number"==typeof t&&t>=0);var i=t/26|0,r=t%26;return this._expand(i+1),this.words[i]=e?this.words[i]|1<t.length?(i=this,n=t):(i=t,n=this);for(var r=0,o=0;o>>26;for(;0!==r&&o>>26;if(this.length=i.length,0!==r)this.words[this.length]=r,this.length++;else if(i!==this)for(;ot.length?this.clone().iadd(t):t.clone().iadd(this)},o.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var i,n,r=this.cmp(t);if(0===r)return this.negative=0,this.length=1,this.words[0]=0,this;r>0?(i=this,n=t):(i=t,n=this);for(var o=0,s=0;s>26,this.words[s]=67108863&e;for(;0!==o&&s>26,this.words[s]=67108863&e;if(0===o&&s>>13,f=0|s[1],p=8191&f,g=f>>>13,A=0|s[2],m=8191&A,v=A>>>13,b=0|s[3],y=8191&b,w=b>>>13,C=0|s[4],x=8191&C,k=C>>>13,_=0|s[5],M=8191&_,B=_>>>13,E=0|s[6],I=8191&E,S=E>>>13,D=0|s[7],T=8191&D,O=D>>>13,P=0|s[8],R=8191&P,z=P>>>13,N=0|s[9],H=8191&N,j=N>>>13,L=0|a[0],U=8191&L,q=L>>>13,F=0|a[1],W=8191&F,Y=F>>>13,Q=0|a[2],G=8191&Q,V=Q>>>13,K=0|a[3],X=8191&K,Z=K>>>13,J=0|a[4],$=8191&J,tt=J>>>13,et=0|a[5],it=8191&et,nt=et>>>13,rt=0|a[6],ot=8191&rt,st=rt>>>13,at=0|a[7],ut=8191&at,ct=at>>>13,ht=0|a[8],lt=8191&ht,dt=ht>>>13,ft=0|a[9],pt=8191&ft,gt=ft>>>13;i.negative=t.negative^e.negative,i.length=19;var At=(c+(n=Math.imul(l,U))|0)+((8191&(r=(r=Math.imul(l,q))+Math.imul(d,U)|0))<<13)|0;c=((o=Math.imul(d,q))+(r>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(p,U),r=(r=Math.imul(p,q))+Math.imul(g,U)|0,o=Math.imul(g,q);var mt=(c+(n=n+Math.imul(l,W)|0)|0)+((8191&(r=(r=r+Math.imul(l,Y)|0)+Math.imul(d,W)|0))<<13)|0;c=((o=o+Math.imul(d,Y)|0)+(r>>>13)|0)+(mt>>>26)|0,mt&=67108863,n=Math.imul(m,U),r=(r=Math.imul(m,q))+Math.imul(v,U)|0,o=Math.imul(v,q),n=n+Math.imul(p,W)|0,r=(r=r+Math.imul(p,Y)|0)+Math.imul(g,W)|0,o=o+Math.imul(g,Y)|0;var vt=(c+(n=n+Math.imul(l,G)|0)|0)+((8191&(r=(r=r+Math.imul(l,V)|0)+Math.imul(d,G)|0))<<13)|0;c=((o=o+Math.imul(d,V)|0)+(r>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(y,U),r=(r=Math.imul(y,q))+Math.imul(w,U)|0,o=Math.imul(w,q),n=n+Math.imul(m,W)|0,r=(r=r+Math.imul(m,Y)|0)+Math.imul(v,W)|0,o=o+Math.imul(v,Y)|0,n=n+Math.imul(p,G)|0,r=(r=r+Math.imul(p,V)|0)+Math.imul(g,G)|0,o=o+Math.imul(g,V)|0;var bt=(c+(n=n+Math.imul(l,X)|0)|0)+((8191&(r=(r=r+Math.imul(l,Z)|0)+Math.imul(d,X)|0))<<13)|0;c=((o=o+Math.imul(d,Z)|0)+(r>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(x,U),r=(r=Math.imul(x,q))+Math.imul(k,U)|0,o=Math.imul(k,q),n=n+Math.imul(y,W)|0,r=(r=r+Math.imul(y,Y)|0)+Math.imul(w,W)|0,o=o+Math.imul(w,Y)|0,n=n+Math.imul(m,G)|0,r=(r=r+Math.imul(m,V)|0)+Math.imul(v,G)|0,o=o+Math.imul(v,V)|0,n=n+Math.imul(p,X)|0,r=(r=r+Math.imul(p,Z)|0)+Math.imul(g,X)|0,o=o+Math.imul(g,Z)|0;var yt=(c+(n=n+Math.imul(l,$)|0)|0)+((8191&(r=(r=r+Math.imul(l,tt)|0)+Math.imul(d,$)|0))<<13)|0;c=((o=o+Math.imul(d,tt)|0)+(r>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(M,U),r=(r=Math.imul(M,q))+Math.imul(B,U)|0,o=Math.imul(B,q),n=n+Math.imul(x,W)|0,r=(r=r+Math.imul(x,Y)|0)+Math.imul(k,W)|0,o=o+Math.imul(k,Y)|0,n=n+Math.imul(y,G)|0,r=(r=r+Math.imul(y,V)|0)+Math.imul(w,G)|0,o=o+Math.imul(w,V)|0,n=n+Math.imul(m,X)|0,r=(r=r+Math.imul(m,Z)|0)+Math.imul(v,X)|0,o=o+Math.imul(v,Z)|0,n=n+Math.imul(p,$)|0,r=(r=r+Math.imul(p,tt)|0)+Math.imul(g,$)|0,o=o+Math.imul(g,tt)|0;var wt=(c+(n=n+Math.imul(l,it)|0)|0)+((8191&(r=(r=r+Math.imul(l,nt)|0)+Math.imul(d,it)|0))<<13)|0;c=((o=o+Math.imul(d,nt)|0)+(r>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(I,U),r=(r=Math.imul(I,q))+Math.imul(S,U)|0,o=Math.imul(S,q),n=n+Math.imul(M,W)|0,r=(r=r+Math.imul(M,Y)|0)+Math.imul(B,W)|0,o=o+Math.imul(B,Y)|0,n=n+Math.imul(x,G)|0,r=(r=r+Math.imul(x,V)|0)+Math.imul(k,G)|0,o=o+Math.imul(k,V)|0,n=n+Math.imul(y,X)|0,r=(r=r+Math.imul(y,Z)|0)+Math.imul(w,X)|0,o=o+Math.imul(w,Z)|0,n=n+Math.imul(m,$)|0,r=(r=r+Math.imul(m,tt)|0)+Math.imul(v,$)|0,o=o+Math.imul(v,tt)|0,n=n+Math.imul(p,it)|0,r=(r=r+Math.imul(p,nt)|0)+Math.imul(g,it)|0,o=o+Math.imul(g,nt)|0;var Ct=(c+(n=n+Math.imul(l,ot)|0)|0)+((8191&(r=(r=r+Math.imul(l,st)|0)+Math.imul(d,ot)|0))<<13)|0;c=((o=o+Math.imul(d,st)|0)+(r>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,n=Math.imul(T,U),r=(r=Math.imul(T,q))+Math.imul(O,U)|0,o=Math.imul(O,q),n=n+Math.imul(I,W)|0,r=(r=r+Math.imul(I,Y)|0)+Math.imul(S,W)|0,o=o+Math.imul(S,Y)|0,n=n+Math.imul(M,G)|0,r=(r=r+Math.imul(M,V)|0)+Math.imul(B,G)|0,o=o+Math.imul(B,V)|0,n=n+Math.imul(x,X)|0,r=(r=r+Math.imul(x,Z)|0)+Math.imul(k,X)|0,o=o+Math.imul(k,Z)|0,n=n+Math.imul(y,$)|0,r=(r=r+Math.imul(y,tt)|0)+Math.imul(w,$)|0,o=o+Math.imul(w,tt)|0,n=n+Math.imul(m,it)|0,r=(r=r+Math.imul(m,nt)|0)+Math.imul(v,it)|0,o=o+Math.imul(v,nt)|0,n=n+Math.imul(p,ot)|0,r=(r=r+Math.imul(p,st)|0)+Math.imul(g,ot)|0,o=o+Math.imul(g,st)|0;var xt=(c+(n=n+Math.imul(l,ut)|0)|0)+((8191&(r=(r=r+Math.imul(l,ct)|0)+Math.imul(d,ut)|0))<<13)|0;c=((o=o+Math.imul(d,ct)|0)+(r>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(R,U),r=(r=Math.imul(R,q))+Math.imul(z,U)|0,o=Math.imul(z,q),n=n+Math.imul(T,W)|0,r=(r=r+Math.imul(T,Y)|0)+Math.imul(O,W)|0,o=o+Math.imul(O,Y)|0,n=n+Math.imul(I,G)|0,r=(r=r+Math.imul(I,V)|0)+Math.imul(S,G)|0,o=o+Math.imul(S,V)|0,n=n+Math.imul(M,X)|0,r=(r=r+Math.imul(M,Z)|0)+Math.imul(B,X)|0,o=o+Math.imul(B,Z)|0,n=n+Math.imul(x,$)|0,r=(r=r+Math.imul(x,tt)|0)+Math.imul(k,$)|0,o=o+Math.imul(k,tt)|0,n=n+Math.imul(y,it)|0,r=(r=r+Math.imul(y,nt)|0)+Math.imul(w,it)|0,o=o+Math.imul(w,nt)|0,n=n+Math.imul(m,ot)|0,r=(r=r+Math.imul(m,st)|0)+Math.imul(v,ot)|0,o=o+Math.imul(v,st)|0,n=n+Math.imul(p,ut)|0,r=(r=r+Math.imul(p,ct)|0)+Math.imul(g,ut)|0,o=o+Math.imul(g,ct)|0;var kt=(c+(n=n+Math.imul(l,lt)|0)|0)+((8191&(r=(r=r+Math.imul(l,dt)|0)+Math.imul(d,lt)|0))<<13)|0;c=((o=o+Math.imul(d,dt)|0)+(r>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(H,U),r=(r=Math.imul(H,q))+Math.imul(j,U)|0,o=Math.imul(j,q),n=n+Math.imul(R,W)|0,r=(r=r+Math.imul(R,Y)|0)+Math.imul(z,W)|0,o=o+Math.imul(z,Y)|0,n=n+Math.imul(T,G)|0,r=(r=r+Math.imul(T,V)|0)+Math.imul(O,G)|0,o=o+Math.imul(O,V)|0,n=n+Math.imul(I,X)|0,r=(r=r+Math.imul(I,Z)|0)+Math.imul(S,X)|0,o=o+Math.imul(S,Z)|0,n=n+Math.imul(M,$)|0,r=(r=r+Math.imul(M,tt)|0)+Math.imul(B,$)|0,o=o+Math.imul(B,tt)|0,n=n+Math.imul(x,it)|0,r=(r=r+Math.imul(x,nt)|0)+Math.imul(k,it)|0,o=o+Math.imul(k,nt)|0,n=n+Math.imul(y,ot)|0,r=(r=r+Math.imul(y,st)|0)+Math.imul(w,ot)|0,o=o+Math.imul(w,st)|0,n=n+Math.imul(m,ut)|0,r=(r=r+Math.imul(m,ct)|0)+Math.imul(v,ut)|0,o=o+Math.imul(v,ct)|0,n=n+Math.imul(p,lt)|0,r=(r=r+Math.imul(p,dt)|0)+Math.imul(g,lt)|0,o=o+Math.imul(g,dt)|0;var _t=(c+(n=n+Math.imul(l,pt)|0)|0)+((8191&(r=(r=r+Math.imul(l,gt)|0)+Math.imul(d,pt)|0))<<13)|0;c=((o=o+Math.imul(d,gt)|0)+(r>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(H,W),r=(r=Math.imul(H,Y))+Math.imul(j,W)|0,o=Math.imul(j,Y),n=n+Math.imul(R,G)|0,r=(r=r+Math.imul(R,V)|0)+Math.imul(z,G)|0,o=o+Math.imul(z,V)|0,n=n+Math.imul(T,X)|0,r=(r=r+Math.imul(T,Z)|0)+Math.imul(O,X)|0,o=o+Math.imul(O,Z)|0,n=n+Math.imul(I,$)|0,r=(r=r+Math.imul(I,tt)|0)+Math.imul(S,$)|0,o=o+Math.imul(S,tt)|0,n=n+Math.imul(M,it)|0,r=(r=r+Math.imul(M,nt)|0)+Math.imul(B,it)|0,o=o+Math.imul(B,nt)|0,n=n+Math.imul(x,ot)|0,r=(r=r+Math.imul(x,st)|0)+Math.imul(k,ot)|0,o=o+Math.imul(k,st)|0,n=n+Math.imul(y,ut)|0,r=(r=r+Math.imul(y,ct)|0)+Math.imul(w,ut)|0,o=o+Math.imul(w,ct)|0,n=n+Math.imul(m,lt)|0,r=(r=r+Math.imul(m,dt)|0)+Math.imul(v,lt)|0,o=o+Math.imul(v,dt)|0;var Mt=(c+(n=n+Math.imul(p,pt)|0)|0)+((8191&(r=(r=r+Math.imul(p,gt)|0)+Math.imul(g,pt)|0))<<13)|0;c=((o=o+Math.imul(g,gt)|0)+(r>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(H,G),r=(r=Math.imul(H,V))+Math.imul(j,G)|0,o=Math.imul(j,V),n=n+Math.imul(R,X)|0,r=(r=r+Math.imul(R,Z)|0)+Math.imul(z,X)|0,o=o+Math.imul(z,Z)|0,n=n+Math.imul(T,$)|0,r=(r=r+Math.imul(T,tt)|0)+Math.imul(O,$)|0,o=o+Math.imul(O,tt)|0,n=n+Math.imul(I,it)|0,r=(r=r+Math.imul(I,nt)|0)+Math.imul(S,it)|0,o=o+Math.imul(S,nt)|0,n=n+Math.imul(M,ot)|0,r=(r=r+Math.imul(M,st)|0)+Math.imul(B,ot)|0,o=o+Math.imul(B,st)|0,n=n+Math.imul(x,ut)|0,r=(r=r+Math.imul(x,ct)|0)+Math.imul(k,ut)|0,o=o+Math.imul(k,ct)|0,n=n+Math.imul(y,lt)|0,r=(r=r+Math.imul(y,dt)|0)+Math.imul(w,lt)|0,o=o+Math.imul(w,dt)|0;var Bt=(c+(n=n+Math.imul(m,pt)|0)|0)+((8191&(r=(r=r+Math.imul(m,gt)|0)+Math.imul(v,pt)|0))<<13)|0;c=((o=o+Math.imul(v,gt)|0)+(r>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,n=Math.imul(H,X),r=(r=Math.imul(H,Z))+Math.imul(j,X)|0,o=Math.imul(j,Z),n=n+Math.imul(R,$)|0,r=(r=r+Math.imul(R,tt)|0)+Math.imul(z,$)|0,o=o+Math.imul(z,tt)|0,n=n+Math.imul(T,it)|0,r=(r=r+Math.imul(T,nt)|0)+Math.imul(O,it)|0,o=o+Math.imul(O,nt)|0,n=n+Math.imul(I,ot)|0,r=(r=r+Math.imul(I,st)|0)+Math.imul(S,ot)|0,o=o+Math.imul(S,st)|0,n=n+Math.imul(M,ut)|0,r=(r=r+Math.imul(M,ct)|0)+Math.imul(B,ut)|0,o=o+Math.imul(B,ct)|0,n=n+Math.imul(x,lt)|0,r=(r=r+Math.imul(x,dt)|0)+Math.imul(k,lt)|0,o=o+Math.imul(k,dt)|0;var Et=(c+(n=n+Math.imul(y,pt)|0)|0)+((8191&(r=(r=r+Math.imul(y,gt)|0)+Math.imul(w,pt)|0))<<13)|0;c=((o=o+Math.imul(w,gt)|0)+(r>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(H,$),r=(r=Math.imul(H,tt))+Math.imul(j,$)|0,o=Math.imul(j,tt),n=n+Math.imul(R,it)|0,r=(r=r+Math.imul(R,nt)|0)+Math.imul(z,it)|0,o=o+Math.imul(z,nt)|0,n=n+Math.imul(T,ot)|0,r=(r=r+Math.imul(T,st)|0)+Math.imul(O,ot)|0,o=o+Math.imul(O,st)|0,n=n+Math.imul(I,ut)|0,r=(r=r+Math.imul(I,ct)|0)+Math.imul(S,ut)|0,o=o+Math.imul(S,ct)|0,n=n+Math.imul(M,lt)|0,r=(r=r+Math.imul(M,dt)|0)+Math.imul(B,lt)|0,o=o+Math.imul(B,dt)|0;var It=(c+(n=n+Math.imul(x,pt)|0)|0)+((8191&(r=(r=r+Math.imul(x,gt)|0)+Math.imul(k,pt)|0))<<13)|0;c=((o=o+Math.imul(k,gt)|0)+(r>>>13)|0)+(It>>>26)|0,It&=67108863,n=Math.imul(H,it),r=(r=Math.imul(H,nt))+Math.imul(j,it)|0,o=Math.imul(j,nt),n=n+Math.imul(R,ot)|0,r=(r=r+Math.imul(R,st)|0)+Math.imul(z,ot)|0,o=o+Math.imul(z,st)|0,n=n+Math.imul(T,ut)|0,r=(r=r+Math.imul(T,ct)|0)+Math.imul(O,ut)|0,o=o+Math.imul(O,ct)|0,n=n+Math.imul(I,lt)|0,r=(r=r+Math.imul(I,dt)|0)+Math.imul(S,lt)|0,o=o+Math.imul(S,dt)|0;var St=(c+(n=n+Math.imul(M,pt)|0)|0)+((8191&(r=(r=r+Math.imul(M,gt)|0)+Math.imul(B,pt)|0))<<13)|0;c=((o=o+Math.imul(B,gt)|0)+(r>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(H,ot),r=(r=Math.imul(H,st))+Math.imul(j,ot)|0,o=Math.imul(j,st),n=n+Math.imul(R,ut)|0,r=(r=r+Math.imul(R,ct)|0)+Math.imul(z,ut)|0,o=o+Math.imul(z,ct)|0,n=n+Math.imul(T,lt)|0,r=(r=r+Math.imul(T,dt)|0)+Math.imul(O,lt)|0,o=o+Math.imul(O,dt)|0;var Dt=(c+(n=n+Math.imul(I,pt)|0)|0)+((8191&(r=(r=r+Math.imul(I,gt)|0)+Math.imul(S,pt)|0))<<13)|0;c=((o=o+Math.imul(S,gt)|0)+(r>>>13)|0)+(Dt>>>26)|0,Dt&=67108863,n=Math.imul(H,ut),r=(r=Math.imul(H,ct))+Math.imul(j,ut)|0,o=Math.imul(j,ct),n=n+Math.imul(R,lt)|0,r=(r=r+Math.imul(R,dt)|0)+Math.imul(z,lt)|0,o=o+Math.imul(z,dt)|0;var Tt=(c+(n=n+Math.imul(T,pt)|0)|0)+((8191&(r=(r=r+Math.imul(T,gt)|0)+Math.imul(O,pt)|0))<<13)|0;c=((o=o+Math.imul(O,gt)|0)+(r>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(H,lt),r=(r=Math.imul(H,dt))+Math.imul(j,lt)|0,o=Math.imul(j,dt);var Ot=(c+(n=n+Math.imul(R,pt)|0)|0)+((8191&(r=(r=r+Math.imul(R,gt)|0)+Math.imul(z,pt)|0))<<13)|0;c=((o=o+Math.imul(z,gt)|0)+(r>>>13)|0)+(Ot>>>26)|0,Ot&=67108863;var Pt=(c+(n=Math.imul(H,pt))|0)+((8191&(r=(r=Math.imul(H,gt))+Math.imul(j,pt)|0))<<13)|0;return c=((o=Math.imul(j,gt))+(r>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,u[0]=At,u[1]=mt,u[2]=vt,u[3]=bt,u[4]=yt,u[5]=wt,u[6]=Ct,u[7]=xt,u[8]=kt,u[9]=_t,u[10]=Mt,u[11]=Bt,u[12]=Et,u[13]=It,u[14]=St,u[15]=Dt,u[16]=Tt,u[17]=Ot,u[18]=Pt,0!==c&&(u[19]=c,i.length++),i};function g(t,e,i){return(new A).mulp(t,e,i)}function A(t,e){this.x=t,this.y=e}Math.imul||(p=f),o.prototype.mulTo=function(t,e){var i,n=this.length+t.length;return i=10===this.length&&10===t.length?p(this,t,e):n<63?f(this,t,e):n<1024?function(t,e,i){i.negative=e.negative^t.negative,i.length=t.length+e.length;for(var n=0,r=0,o=0;o>>26)|0)>>>26,s&=67108863}i.words[o]=a,n=s,s=r}return 0!==n?i.words[o]=n:i.length--,i.strip()}(this,t,e):g(this,t,e),i},A.prototype.makeRBT=function(t){for(var e=new Array(t),i=o.prototype._countBits(t)-1,n=0;n>=1;return n},A.prototype.permute=function(t,e,i,n,r,o){for(var s=0;s>>=1)r++;return 1<>>=13,i[2*s+1]=8191&o,o>>>=13;for(s=2*e;s>=26,e+=r/67108864|0,e+=o>>>26,this.words[i]=67108863&o}return 0!==e&&(this.words[i]=e,this.length++),this.length=0===t?1:this.length,this},o.prototype.muln=function(t){return this.clone().imuln(t)},o.prototype.sqr=function(){return this.mul(this)},o.prototype.isqr=function(){return this.imul(this.clone())},o.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),i=0;i>>r}return e}(t);if(0===e.length)return new o(1);for(var i=this,n=0;n=0);var e,i=t%26,r=(t-i)/26,o=67108863>>>26-i<<26-i;if(0!==i){var s=0;for(e=0;e>>26-i}s&&(this.words[e]=s,this.length++)}if(0!==r){for(e=this.length-1;e>=0;e--)this.words[e+r]=this.words[e];for(e=0;e=0),r=e?(e-e%26)/26:0;var o=t%26,s=Math.min((t-o)/26,this.length),a=67108863^67108863>>>o<s)for(this.length-=s,c=0;c=0&&(0!==h||c>=r);c--){var l=0|this.words[c];this.words[c]=h<<26-o|l>>>o,h=l&a}return u&&0!==h&&(u.words[u.length++]=h),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},o.prototype.ishrn=function(t,e,i){return n(0===this.negative),this.iushrn(t,e,i)},o.prototype.shln=function(t){return this.clone().ishln(t)},o.prototype.ushln=function(t){return this.clone().iushln(t)},o.prototype.shrn=function(t){return this.clone().ishrn(t)},o.prototype.ushrn=function(t){return this.clone().iushrn(t)},o.prototype.testn=function(t){n("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26,r=1<=0);var e=t%26,i=(t-e)/26;if(n(0===this.negative,"imaskn works only with positive numbers"),this.length<=i)return this;if(0!==e&&i++,this.length=Math.min(i,this.length),0!==e){var r=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},o.prototype.isubn=function(t){if(n("number"==typeof t),n(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(u/67108864|0),this.words[r+i]=67108863&o}for(;r>26,this.words[r+i]=67108863&o;if(0===a)return this.strip();for(n(-1===a),a=0,r=0;r>26,this.words[r]=67108863&o;return this.negative=1,this.strip()},o.prototype._wordDiv=function(t,e){var i=(this.length,t.length),n=this.clone(),r=t,s=0|r.words[r.length-1];0!=(i=26-this._countBits(s))&&(r=r.ushln(i),n.iushln(i),s=0|r.words[r.length-1]);var a,u=n.length-r.length;if("mod"!==e){(a=new o(null)).length=u+1,a.words=new Array(a.length);for(var c=0;c=0;l--){var d=67108864*(0|n.words[r.length+l])+(0|n.words[r.length+l-1]);for(d=Math.min(d/s|0,67108863),n._ishlnsubmul(r,d,l);0!==n.negative;)d--,n.negative=0,n._ishlnsubmul(r,1,l),n.isZero()||(n.negative^=1);a&&(a.words[l]=d)}return a&&a.strip(),n.strip(),"div"!==e&&0!==i&&n.iushrn(i),{div:a||null,mod:n}},o.prototype.divmod=function(t,e,i){return n(!t.isZero()),this.isZero()?{div:new o(0),mod:new o(0)}:0!==this.negative&&0===t.negative?(a=this.neg().divmod(t,e),"mod"!==e&&(r=a.div.neg()),"div"!==e&&(s=a.mod.neg(),i&&0!==s.negative&&s.iadd(t)),{div:r,mod:s}):0===this.negative&&0!==t.negative?(a=this.divmod(t.neg(),e),"mod"!==e&&(r=a.div.neg()),{div:r,mod:a.mod}):0!==(this.negative&t.negative)?(a=this.neg().divmod(t.neg(),e),"div"!==e&&(s=a.mod.neg(),i&&0!==s.negative&&s.isub(t)),{div:a.div,mod:s}):t.length>this.length||this.cmp(t)<0?{div:new o(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new o(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new o(this.modn(t.words[0]))}:this._wordDiv(t,e);var r,s,a},o.prototype.div=function(t){return this.divmod(t,"div",!1).div},o.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},o.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},o.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var i=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),r=t.andln(1),o=i.cmp(n);return o<0||1===r&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},o.prototype.modn=function(t){n(t<=67108863);for(var e=(1<<26)%t,i=0,r=this.length-1;r>=0;r--)i=(e*i+(0|this.words[r]))%t;return i},o.prototype.idivn=function(t){n(t<=67108863);for(var e=0,i=this.length-1;i>=0;i--){var r=(0|this.words[i])+67108864*e;this.words[i]=r/t|0,e=r%t}return this.strip()},o.prototype.divn=function(t){return this.clone().idivn(t)},o.prototype.egcd=function(t){n(0===t.negative),n(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var r=new o(1),s=new o(0),a=new o(0),u=new o(1),c=0;e.isEven()&&i.isEven();)e.iushrn(1),i.iushrn(1),++c;for(var h=i.clone(),l=e.clone();!e.isZero();){for(var d=0,f=1;0===(e.words[0]&f)&&d<26;++d,f<<=1);if(d>0)for(e.iushrn(d);d-- >0;)(r.isOdd()||s.isOdd())&&(r.iadd(h),s.isub(l)),r.iushrn(1),s.iushrn(1);for(var p=0,g=1;0===(i.words[0]&g)&&p<26;++p,g<<=1);if(p>0)for(i.iushrn(p);p-- >0;)(a.isOdd()||u.isOdd())&&(a.iadd(h),u.isub(l)),a.iushrn(1),u.iushrn(1);e.cmp(i)>=0?(e.isub(i),r.isub(a),s.isub(u)):(i.isub(e),a.isub(r),u.isub(s))}return{a,b:u,gcd:i.iushln(c)}},o.prototype._invmp=function(t){n(0===t.negative),n(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var r,s=new o(1),a=new o(0),u=i.clone();e.cmpn(1)>0&&i.cmpn(1)>0;){for(var c=0,h=1;0===(e.words[0]&h)&&c<26;++c,h<<=1);if(c>0)for(e.iushrn(c);c-- >0;)s.isOdd()&&s.iadd(u),s.iushrn(1);for(var l=0,d=1;0===(i.words[0]&d)&&l<26;++l,d<<=1);if(l>0)for(i.iushrn(l);l-- >0;)a.isOdd()&&a.iadd(u),a.iushrn(1);e.cmp(i)>=0?(e.isub(i),s.isub(a)):(i.isub(e),a.isub(s))}return(r=0===e.cmpn(1)?s:a).cmpn(0)<0&&r.iadd(t),r},o.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),i=t.clone();e.negative=0,i.negative=0;for(var n=0;e.isEven()&&i.isEven();n++)e.iushrn(1),i.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;i.isEven();)i.iushrn(1);var r=e.cmp(i);if(r<0){var o=e;e=i,i=o}else if(0===r||0===i.cmpn(1))break;e.isub(i)}return i.iushln(n)},o.prototype.invm=function(t){return this.egcd(t).a.umod(t)},o.prototype.isEven=function(){return!(1&this.words[0])},o.prototype.isOdd=function(){return!(1&~this.words[0])},o.prototype.andln=function(t){return this.words[0]&t},o.prototype.bincn=function(t){n("number"==typeof t);var e=t%26,i=(t-e)/26,r=1<>>26,a&=67108863,this.words[s]=a}return 0!==o&&(this.words[s]=o,this.length++),this},o.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},o.prototype.cmpn=function(t){var e,i=t<0;if(0!==this.negative&&!i)return-1;if(0===this.negative&&i)return 1;if(this.strip(),this.length>1)e=1;else{i&&(t=-t),n(t<=67108863,"Number is too big");var r=0|this.words[0];e=r===t?0:rt.length)return 1;if(this.length=0;i--){var n=0|this.words[i],r=0|t.words[i];if(n!==r){nr&&(e=1);break}}return e},o.prototype.gtn=function(t){return 1===this.cmpn(t)},o.prototype.gt=function(t){return 1===this.cmp(t)},o.prototype.gten=function(t){return this.cmpn(t)>=0},o.prototype.gte=function(t){return this.cmp(t)>=0},o.prototype.ltn=function(t){return-1===this.cmpn(t)},o.prototype.lt=function(t){return-1===this.cmp(t)},o.prototype.lten=function(t){return this.cmpn(t)<=0},o.prototype.lte=function(t){return this.cmp(t)<=0},o.prototype.eqn=function(t){return 0===this.cmpn(t)},o.prototype.eq=function(t){return 0===this.cmp(t)},o.red=function(t){return new x(t)},o.prototype.toRed=function(t){return n(!this.red,"Already a number in reduction context"),n(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},o.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},o.prototype._forceRed=function(t){return this.red=t,this},o.prototype.forceRed=function(t){return n(!this.red,"Already a number in reduction context"),this._forceRed(t)},o.prototype.redAdd=function(t){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},o.prototype.redIAdd=function(t){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},o.prototype.redSub=function(t){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},o.prototype.redISub=function(t){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},o.prototype.redShl=function(t){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},o.prototype.redMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},o.prototype.redIMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},o.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},o.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},o.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},o.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},o.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},o.prototype.redPow=function(t){return n(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var m={k256:null,p224:null,p192:null,p25519:null};function v(t,e){this.name=t,this.p=new o(e,16),this.n=this.p.bitLength(),this.k=new o(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function b(){v.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function y(){v.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function w(){v.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function C(){v.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function x(t){if("string"==typeof t){var e=o._prime(t);this.m=e.p,this.prime=e}else n(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function k(t){x.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new o(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}v.prototype._tmp=function(){var t=new o(null);return t.words=new Array(Math.ceil(this.n/13)),t},v.prototype.ireduce=function(t){var e,i=t;do{this.split(i,this.tmp),e=(i=(i=this.imulK(i)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e0?i.isub(this.p):void 0!==i.strip?i.strip():i._strip(),i},v.prototype.split=function(t,e){t.iushrn(this.n,0,e)},v.prototype.imulK=function(t){return t.imul(this.k)},r(b,v),b.prototype.split=function(t,e){for(var i=4194303,n=Math.min(t.length,9),r=0;r>>22,o=s}o>>>=22,t.words[r-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},b.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,i=0;i>>=26,t.words[i]=r,e=n}return 0!==e&&(t.words[t.length++]=e),t},o._prime=function(t){if(m[t])return m[t];var e;if("k256"===t)e=new b;else if("p224"===t)e=new y;else if("p192"===t)e=new w;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new C}return m[t]=e,e},x.prototype._verify1=function(t){n(0===t.negative,"red works only with positives"),n(t.red,"red works only with red numbers")},x.prototype._verify2=function(t,e){n(0===(t.negative|e.negative),"red works only with positives"),n(t.red&&t.red===e.red,"red works only with red numbers")},x.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},x.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},x.prototype.add=function(t,e){this._verify2(t,e);var i=t.add(e);return i.cmp(this.m)>=0&&i.isub(this.m),i._forceRed(this)},x.prototype.iadd=function(t,e){this._verify2(t,e);var i=t.iadd(e);return i.cmp(this.m)>=0&&i.isub(this.m),i},x.prototype.sub=function(t,e){this._verify2(t,e);var i=t.sub(e);return i.cmpn(0)<0&&i.iadd(this.m),i._forceRed(this)},x.prototype.isub=function(t,e){this._verify2(t,e);var i=t.isub(e);return i.cmpn(0)<0&&i.iadd(this.m),i},x.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},x.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},x.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},x.prototype.isqr=function(t){return this.imul(t,t.clone())},x.prototype.sqr=function(t){return this.mul(t,t)},x.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(n(e%2==1),3===e){var i=this.m.add(new o(1)).iushrn(2);return this.pow(t,i)}for(var r=this.m.subn(1),s=0;!r.isZero()&&0===r.andln(1);)s++,r.iushrn(1);n(!r.isZero());var a=new o(1).toRed(this),u=a.redNeg(),c=this.m.subn(1).iushrn(1),h=this.m.bitLength();for(h=new o(2*h*h).toRed(this);0!==this.pow(h,c).cmp(u);)h.redIAdd(u);for(var l=this.pow(h,r),d=this.pow(t,r.addn(1).iushrn(1)),f=this.pow(t,r),p=s;0!==f.cmp(a);){for(var g=f,A=0;0!==g.cmp(a);A++)g=g.redSqr();n(A=0;n--){for(var c=e.words[n],h=u-1;h>=0;h--){var l=c>>h&1;r!==i[0]&&(r=this.sqr(r)),0!==l||0!==s?(s<<=1,s|=l,(4===++a||0===n&&0===h)&&(r=this.mul(r,i[s]),a=0,s=0)):a=0}u=26}return r},x.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},x.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},o.mont=function(t){return new k(t)},r(k,x),k.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},k.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},k.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var i=t.imul(e),n=i.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),r=i.isub(n).iushrn(this.shift),o=r;return r.cmp(this.m)>=0?o=r.isub(this.m):r.cmpn(0)<0&&(o=r.iadd(this.m)),o._forceRed(this)},k.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new o(0)._forceRed(this);var i=t.mul(e),n=i.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),r=i.isub(n).iushrn(this.shift),s=r;return r.cmp(this.m)>=0?s=r.isub(this.m):r.cmpn(0)<0&&(s=r.iadd(this.m)),s._forceRed(this)},k.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(t=i.nmd(t),this)},9854(e,i,r){"use strict";var o={};r.r(o),r.d(o,{clearIconCache:()=>Ue,getIconUrl:()=>je});var s={};r.r(s),r.d(s,{deleteKey:()=>bi,getApps:()=>gi,getKeys:()=>Ai,getValue:()=>mi,setValue:()=>vi});var a={};r.r(a),r.d(a,{formatLinksPlain:()=>Ei,formatLinksRich:()=>Bi,plainToRich:()=>_i,richToPlain:()=>Mi});var u=r(21777),c=r(19051),h=r(63814),l=r(86860),d=r(53334),f=r(74692),p=r.n(f),g=r(95093),A=r.n(g),m=r(85471),v=r(9165),b=r(80474),y=r(46855),w=r(57505),C=r(24764),x=r(74095),k=r(42507),_=r(2769),M=r(6695),B=r(88289),E=r(82182),I=r(23739),S=r(57908),D=r(71711),T=r(41944);const O={name:"ContactMenuEntry",components:{NcActionLink:S.A,NcActionText:D.A,NcActionButton:w.A,NcActions:C.A,NcAvatar:T.A,NcIconSvgWrapper:M.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,I.N)(this.contact)},preloadedUserStatus(){if(this.contact.status)return{status:this.contact.status,message:this.contact.statusMessage,icon:this.contact.statusIcon}}}};var P=r(85072),R=r.n(P),z=r(97825),N=r.n(z),H=r(77659),j=r.n(H),L=r(55056),U=r.n(L),q=r(10540),F=r.n(q),W=r(41113),Y=r.n(W),Q=r(89004),G={};G.styleTagTransform=Y(),G.setAttributes=U(),G.insert=j().bind(null,"head"),G.domAPI=N(),G.insertStyleElement=F(),R()(Q.A,G),Q.A&&Q.A.locals&&Q.A.locals;var V=r(14486);const K=(0,V.A)(O,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(i,n){return["#"!==i.hyperlink?e("NcActionLink",{key:`${n}-link`,staticClass:"other-actions",attrs:{href:i.hyperlink},scopedSlots:t._u([{key:"icon",fn:function(){return[e("img",{staticClass:"contact__action__icon",attrs:{"aria-hidden":"true",src:i.icon}})]},proxy:!0}],null,!0)},[t._v("\n\t\t\t\t"+t._s(i.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:i.icon}})]},proxy:!0}],null,!0)},[t._v("\n\t\t\t\t"+t._s(i.title)+"\n\t\t\t")])]}),t._v(" "),t._l(t.jsActions,function(i){return e("NcActionButton",{key:i.id,staticClass:"other-actions",attrs:{"close-after-click":!0},on:{click:function(e){return i.callback(t.contact)}},scopedSlots:t._u([{key:"icon",fn:function(){return[e("NcIconSvgWrapper",{attrs:{svg:i.iconSvg(t.contact)}})]},proxy:!0}],null,!0)},[t._v("\n\t\t\t"+t._s(i.displayName(t.contact))+"\n\t\t")])})],2):t._e()],1)},[],!1,null,"56b7b257",null).exports;var X=r(35947);const Z=null===(J=(0,u.HW)())?(0,X.YK)().setApp("core").build():(0,X.YK)().setApp("core").setUid(J.uid).build();var J;(0,X.YK)().setApp("unified-search").detectUser().build();const $=[],tt=(0,m.pM)({__name:"ContactsMenu",setup(t){const e=(0,b.c0)("core:contacts").persist(!0).clearOnLogout(!0).build(),i=(0,u.HW)(),n=(0,h.Jv)("/apps/contacts"),r=(0,h.Jv)("/settings/apps/social/contacts"),o=(0,m.KR)(),s=(0,m.KR)(window.OC?.ContactsMenu?.actions||[]),a=(0,m.KR)(!1),l=(0,m.KR)([]),f=(0,m.KR)(),p=(0,m.KR)(!1),g=(0,m.KR)(""),A=(0,m.KR)([]),I=(0,m.KR)("$_all_$"),S=(0,m.EW)(()=>A.value.find(t=>t.teamId===I.value)?.displayName);async function D(t){f.value=""===t?(0,d.t)("core","Loading your contacts …"):(0,d.t)("core","Looking for {term} …",{term:t}),p.value=!1;try{const{data:e}=await c.Ay.post((0,h.Jv)("/contactsmenu/contacts"),{filter:t,teamId:"$_all_$"!==I.value?I.value:void 0});l.value=e.contacts,a.value=e.contactsAppEnabled,f.value=void 0}catch(e){Z.error("could not load contacts",{error:e,searchTerm:t}),p.value=!0}}(0,m.sV)(async()=>{const t=e.getItem("core:contacts:team");if(t&&(I.value=JSON.parse(t)),0===$.length)try{const{data:t}=await c.Ay.get((0,h.Jv)("/contactsmenu/teams"));$.push(...t)}catch(t){Z.error("could not load user teams",{error:t})}A.value=[...$]}),(0,m.wB)(I,()=>{e.setItem("core:contacts:team",JSON.stringify(I.value)),D(g.value)});const T=(0,y.A)(function(){D(g.value)},500);function O(){(0,m.dY)(()=>{o.value?.focus(),o.value?.select()})}return{__sfc:!0,userTeams:$,storage:e,user:i,contactsAppURL:n,contactsAppMgmtURL:r,contactsMenuInput:o,actions:s,contactsAppEnabled:a,contacts:l,loadingText:f,hasError:p,searchTerm:g,teams:A,selectedTeam:I,selectedTeamName:S,onOpened:async function(){await D("")},getContacts:D,onInputDebounced:T,onReset:function(){g.value="",l.value=[],O()},focusInput:O,mdiAccountGroupOutline:v.dgQ,mdiContacts:v.aB4,mdiMagnify:v.U4M,t:d.t,NcActionButton:w.A,NcActions:C.A,NcButton:x.A,NcEmptyContent:k.A,NcHeaderMenu:_.A,NcIconSvgWrapper:M.A,NcLoadingIcon:B.A,NcTextField:E.A,ContactMenuEntry:K}}}),et=tt;var it=r(32351),nt={};nt.styleTagTransform=Y(),nt.setAttributes=U(),nt.insert=j().bind(null,"head"),nt.domAPI=N(),nt.insertStyleElement=F(),R()(it.A,nt),it.A&&it.A.locals&&it.A.locals;const rt=(0,V.A)(et,function(){var t=this,e=t._self._c,i=t._self._setupProxy;return e(i.NcHeaderMenu,{staticClass:"contactsmenu",attrs:{id:"contactsmenu","aria-label":i.t("core","Search contacts"),"exclude-click-outside-selectors":".v-popper__popper"},on:{open:i.onOpened},scopedSlots:t._u([{key:"trigger",fn:function(){return[e(i.NcIconSvgWrapper,{staticClass:"contactsmenu__trigger-icon",attrs:{path:i.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(i.NcActions,{attrs:{"force-menu":"","aria-label":i.t("core","Filter by team"),variant:"tertiary"},scopedSlots:t._u([{key:"icon",fn:function(){return[e(i.NcIconSvgWrapper,{attrs:{path:i.mdiAccountGroupOutline}})]},proxy:!0},{key:"default",fn:function(){return[e(i.NcActionButton,{attrs:{modelValue:i.selectedTeam,value:"$_all_$",type:"radio"},on:{"update:modelValue":function(t){i.selectedTeam=t},"update:model-value":function(t){i.selectedTeam=t}}},[t._v("\n\t\t\t\t\t\t\t"+t._s(i.t("core","All teams"))+"\n\t\t\t\t\t\t")]),t._v(" "),t._l(i.teams,function(n){return e(i.NcActionButton,{key:n.teamId,attrs:{modelValue:i.selectedTeam,value:n.teamId,type:"radio"},on:{"update:modelValue":function(t){i.selectedTeam=t},"update:model-value":function(t){i.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(i.NcTextField,{ref:"contactsMenuInput",staticClass:"contactsmenu__menu__search",attrs:{id:"contactsmenu__menu__search","trailing-button-icon":"close",label:i.selectedTeamName?i.t("core","Search contacts in team {team}",{team:i.selectedTeamName}):i.t("core","Search contacts …"),"trailing-button-label":i.t("core","Reset search"),"show-trailing-button":""!==i.searchTerm,type:"search"},on:{input:i.onInputDebounced,"trailing-button-click":i.onReset},model:{value:i.searchTerm,callback:function(t){i.searchTerm=t},expression:"searchTerm"}})],1),t._v(" "),t._l(i.actions,function(n){return e(i.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(i.NcIconSvgWrapper,{attrs:{svg:n.icon}})]},proxy:!0}],null,!0)})})],2),t._v(" "),i.hasError?e(i.NcEmptyContent,{attrs:{name:i.t("core","Could not load your contacts")},scopedSlots:t._u([{key:"icon",fn:function(){return[e(i.NcIconSvgWrapper,{attrs:{path:i.mdiMagnify}})]},proxy:!0}],null,!1,1853740774)}):i.loadingText?e(i.NcEmptyContent,{attrs:{name:i.loadingText},scopedSlots:t._u([{key:"icon",fn:function(){return[e(i.NcLoadingIcon)]},proxy:!0}])}):0===i.contacts.length?e(i.NcEmptyContent,{attrs:{name:i.t("core","No contacts found")},scopedSlots:t._u([{key:"icon",fn:function(){return[e(i.NcIconSvgWrapper,{attrs:{path:i.mdiMagnify}})]},proxy:!0}])}):e("div",{staticClass:"contactsmenu__menu__content"},[e("div",{attrs:{id:"contactsmenu-contacts"}},[e("ul",{attrs:{"aria-label":i.t("core","Contacts list")}},t._l(i.contacts,function(t){return e(i.ContactMenuEntry,{key:t.id,attrs:{contact:t}})}),1)]),t._v(" "),i.contactsAppEnabled?e("div",{staticClass:"contactsmenu__menu__content__footer"},[e(i.NcButton,{attrs:{variant:"tertiary",href:i.contactsAppURL}},[t._v("\n\t\t\t\t\t"+t._s(i.t("core","Show all contacts"))+"\n\t\t\t\t")])],1):i.user.isAdmin?e("div",{staticClass:"contactsmenu__menu__content__footer"},[e(i.NcButton,{attrs:{variant:"tertiary",href:i.contactsAppMgmtURL}},[t._v("\n\t\t\t\t\t"+t._s(i.t("core","Install the Contacts app"))+"\n\t\t\t\t")])],1):t._e()])],1)])},[],!1,null,"253ecd69",null).exports;class ot{constructor(){(function(t,e,i){(e=function(t){var e=function(t){if("object"!=typeof t||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var i=e.call(t,"string");if("object"!=typeof i)return i;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:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i})(this,"_actions",void 0),this._actions=[]}get actions(){return this._actions}addAction(t){this._actions.push(t)}}var st=r(61338),at=r(81222),ut=r(97786);const ct={name:"CircleOutlineIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},ht=(0,V.A)(ct,function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon circle-outline-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,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])},[],!1,null,null,null).exports,lt=(0,m.pM)({__name:"AppMenuIcon",props:{app:null},setup(t){const e=t,i=(0,m.EW)(()=>e.app.unread?void 0:"true"),n=(0,m.EW)(()=>{if(e.app.unread)return`${e.app.name} (${(0,d.n)("core","{count} notification","{count} notifications",e.app.unread,{count:e.app.unread})})`});return{__sfc:!0,props:e,ariaHidden:i,ariaLabel:n,IconDot:ht}}});var dt=r(65151),ft={};ft.styleTagTransform=Y(),ft.setAttributes=U(),ft.insert=j().bind(null,"head"),ft.domAPI=N(),ft.insertStyleElement=F(),R()(dt.A,ft),dt.A&&dt.A.locals&&dt.A.locals;const pt=(0,V.A)(lt,function(){var t=this,e=t._self._c,i=t._self._setupProxy;return e("span",{staticClass:"app-menu-icon",attrs:{role:"img","aria-hidden":i.ariaHidden,"aria-label":i.ariaLabel}},[e("img",{staticClass:"app-menu-icon__icon",attrs:{src:t.app.icon,alt:""}}),t._v(" "),t.app.unread?e(i.IconDot,{staticClass:"app-menu-icon__unread",attrs:{size:10}}):t._e()],1)},[],!1,null,"81f2fa84",null).exports,gt=(0,m.pM)({__name:"AppMenuEntry",props:{app:null},setup(t){const e=t,i=(0,m.KR)(),n=(0,m.KR)(),r=(0,m.KR)(!1);function o(){const t=i.value.clientWidth;r.value=t-.5*e.app.name.lengthe.app.name,o),{__sfc:!0,props:e,containerElement:i,labelElement:n,needsSpace:r,calculateSize:o,AppMenuIcon:pt}}});var At=r(55720),mt={};mt.styleTagTransform=Y(),mt.setAttributes=U(),mt.insert=j().bind(null,"head"),mt.domAPI=N(),mt.insertStyleElement=F(),R()(At.A,mt),At.A&&At.A.locals&&At.A.locals;var vt=r(80960),bt={};bt.styleTagTransform=Y(),bt.setAttributes=U(),bt.insert=j().bind(null,"head"),bt.domAPI=N(),bt.insertStyleElement=F(),R()(vt.A,bt),vt.A&&vt.A.locals&&vt.A.locals;const yt=(0,V.A)(gt,function(){var t=this,e=t._self._c,i=t._self._setupProxy;return e("li",{ref:"containerElement",staticClass:"app-menu-entry",class:{"app-menu-entry--active":t.app.active,"app-menu-entry--truncated":i.needsSpace}},[e("a",{staticClass:"app-menu-entry__link",attrs:{href:t.app.href,title:t.app.name,"aria-current":!!t.app.active&&"page",target:t.app.target?"_blank":void 0,rel:t.app.target?"noopener noreferrer":void 0}},[e(i.AppMenuIcon,{staticClass:"app-menu-entry__icon",attrs:{app:t.app}}),t._v(" "),e("span",{ref:"labelElement",staticClass:"app-menu-entry__label"},[t._v("\n\t\t\t"+t._s(t.app.name)+"\n\t\t")])],1)])},[],!1,null,"7faa0c46",null).exports,wt=(0,m.pM)({name:"AppMenu",components:{AppMenuEntry:yt,NcActions:C.A,NcActionLink:S.A},setup(){const t=(0,m.KR)(),{width:e}=(0,ut.Lhy)(t);return{t:d.t,n:d.n,appMenu:t,appMenuWidth:e}},data:()=>({appList:(0,at.C)("core","apps",[])}),computed:{appLimit(){const t=Math.floor(this.appMenuWidth/50);return te===t);i?this.$set(i,"unread",e):Z.warn(`Could not find app "${t}" for setting navigation count`)},setApps({apps:t}){this.appList=t}}}),Ct=wt;var xt=r(75882),kt={};kt.styleTagTransform=Y(),kt.setAttributes=U(),kt.insert=j().bind(null,"head"),kt.domAPI=N(),kt.insertStyleElement=F(),R()(xt.A,kt),xt.A&&xt.A.locals&&xt.A.locals;const _t=(0,V.A)(Ct,function(){var t=this,e=t._self._c;return t._self._setupProxy,e("nav",{ref:"appMenu",staticClass:"app-menu",attrs:{"aria-label":t.t("core","Applications menu")}},[e("ul",{staticClass:"app-menu__list",attrs:{"aria-label":t.t("core","Apps")}},t._l(t.mainAppList,function(t){return e("AppMenuEntry",{key:t.id,attrs:{app:t}})}),1),t._v(" "),e("NcActions",{staticClass:"app-menu__overflow",attrs:{"aria-label":t.t("core","More apps")}},t._l(t.popoverAppList,function(i){return e("NcActionLink",{key:i.id,staticClass:"app-menu__overflow-entry",attrs:{"aria-current":!!i.active&&"page",href:i.href,icon:i.icon}},[t._v("\n\t\t\t"+t._s(i.name)+"\n\t\t")])}),1)],1)},[],!1,null,"141e7efc",null).exports;var Mt=r(87485),Bt=r(1522);const Et=(0,at.C)("core","versionHash",""),It=(0,m.pM)({name:"AccountMenuEntry",components:{NcListItem:Bt.A,NcLoadingIcon:B.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=${Et}`}},methods:{onClick(t){this.$emit("click",t),t.defaultPrevented||(this.loading=!0)}}});var St=r(51286),Dt={};Dt.styleTagTransform=Y(),Dt.setAttributes=U(),Dt.insert=j().bind(null,"head"),Dt.domAPI=N(),Dt.insertStyleElement=F(),R()(St.A,Dt),St.A&&St.A.locals&&St.A.locals;const Tt=(0,V.A)(It,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 Ot=r(68149),Pt=r(98469);const Rt={name:"QrcodeScanIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},zt=(0,V.A)(Rt,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 Nt=r(17816),Ht=r.n(Nt),jt=r(55581),Lt=r(94219);const Ut=(0,m.pM)({__name:"AccountQRLoginDialog",props:{data:null},emits:["close"],setup(t,{emit:e}){const i=t,n=window.OC.theme.productName,r=[{label:(0,d.t)("spreed","Done"),variant:"primary",callback:()=>{}}],o=3===(i.data?.deviceToken?.type??1),s=(0,m.EW)(()=>{const t=i.data?.loginName??"",e=i.data?.token??"";return`nc://${o?"onetime-login":"login"}/user:${t}&password:${e}&server:${(0,h.$_)()}`}),a=(i.data?.deviceToken?.lastActivity?1e3*i.data.deviceToken.lastActivity:Date.now())+12e4,u=setTimeout(()=>{l("expired")},a-Date.now()),c=(0,jt.SX)(a);function l(t){clearTimeout(u),e("close",t)}return{__sfc:!0,props:i,emit:e,productName:n,buttons:r,isOneTimeToken:o,qrUrl:s,expirationTimestamp:a,expireTimeout:u,timeCountdown:c,onClosing:l,QR:Ht(),t:d.t,NcDialog:Lt.A}}}),qt=Ut;var Ft=r(35644),Wt={};Wt.styleTagTransform=Y(),Wt.setAttributes=U(),Wt.insert=j().bind(null,"head"),Wt.domAPI=N(),Wt.insertStyleElement=F(),R()(Ft.A,Wt),Ft.A&&Ft.A.locals&&Ft.A.locals;const Yt=(0,V.A)(qt,function(){var t=this,e=t._self._c,i=t._self._setupProxy;return e(i.NcDialog,{attrs:{name:i.t("core","Scan QR code to log in"),buttons:i.buttons},on:{closing:i.onClosing}},[e("div",{staticClass:"qr-login__content"},[e("p",{staticClass:"qr-login__description"},[t._v("\n\t\t\t"+t._s(i.t("core","Use {productName} mobile client you want to connect to scan the code",{productName:i.productName}))+"\n\t\t")]),t._v(" "),e(i.QR,{attrs:{value:i.qrUrl}}),t._v(" "),i.isOneTimeToken?[t._v("\n\t\t\t"+t._s(i.t("core","Code will expire {timeCountdown} or after use",{timeCountdown:i.timeCountdown}))+"\n\t\t")]:t._e()],2)])},[],!1,null,null,null).exports;(0,Ot.IF)(c.Ay);const{profileEnabled:Qt}=(0,at.C)("user_status","profileEnabled",{profileEnabled:!1}),Gt=(0,Mt.F)().core?.["can-create-app-token"]??!1,Vt=(0,m.pM)({name:"AccountMenuProfileEntry",components:{IconQrcodeScan:zt,NcButton:x.A,NcListItem:Bt.A,NcLoadingIcon:B.A},props:{id:{type:String,required:!0},name:{type:String,required:!0},href:{type:String,required:!0},active:{type:Boolean,required:!0}},setup:()=>({canCreateAppToken:Gt,profileEnabled:Qt,displayName:(0,u.HW)().displayName}),data:()=>({loading:!1}),mounted(){(0,st.B1)("settings:profile-enabled:updated",this.handleProfileEnabledUpdate),(0,st.B1)("settings:display-name:updated",this.handleDisplayNameUpdate)},beforeDestroy(){(0,st.al)("settings:profile-enabled:updated",this.handleProfileEnabledUpdate),(0,st.al)("settings:display-name:updated",this.handleDisplayNameUpdate)},methods:{handleClick(){this.profileEnabled&&(this.loading=!0)},async handleQrCodeClick(){const{data:t}=await c.Ay.post((0,h.Jv)("/settings/personal/authtokens"),{qrcodeLogin:!0},{confirmPassword:Ot.mH.Strict});await(0,Pt.S)(Yt,{data:t})},handleProfileEnabledUpdate(t){this.profileEnabled=t},handleDisplayNameUpdate(t){this.displayName=t}}}),Kt=Vt,Xt=(0,V.A)(Kt,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:{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,Zt=[{type:"online",label:(0,d.t)("user_status","Online")},{type:"away",label:(0,d.t)("user_status","Away")},{type:"busy",label:(0,d.t)("user_status","Busy")},{type:"dnd",label:(0,d.t)("user_status","Do not disturb"),subline:(0,d.t)("user_status","Mute all notifications")},{type:"invisible",label:(0,d.t)("user_status","Invisible"),subline:(0,d.t)("user_status","Appear offline")}],Jt=(0,m.pM)({name:"AccountMenu",components:{AccountMenuEntry:Tt,AccountMenuProfileEntry:Xt,NcAvatar:T.A,NcHeaderMenu:_.A},setup(){const t=(0,at.C)("core","settingsNavEntries",{}),{profile:e,...i}=t;return{currentDisplayName:(0,u.HW)()?.displayName??(0,u.HW)().uid,currentUserId:(0,u.HW)().uid,profileEntry:e,otherEntries:i,t:d.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,d.t)("core","Avatar of {displayName}",{displayName:this.currentDisplayName}),...Object.values(this.translatedUserStatus).filter(Boolean)].join(" — ")}},async created(){if(!(0,Mt.F)()?.user_status?.enabled)return;const t=(0,h.KT)("/apps/user_status/api/v1/user_status");try{const e=await c.Ay.get(t),{status:i,icon:n,message:r}=e.data.ocs.data;this.userStatus={status:i,icon:n,message:r}}catch(t){Z.error("Failed to load user status",{error:t})}this.showUserStatus=!0},mounted(){(0,st.B1)("user_status:status.updated",this.handleUserStatusUpdated),(0,st.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(Zt.map(({type:t,label:e})=>[t,e]));return e[t]?e[t]:t}}});var $t=r(33096),te={};te.styleTagTransform=Y(),te.setAttributes=U(),te.insert=j().bind(null,"head"),te.domAPI=N(),te.insertStyleElement=F(),R()($t.A,te),$t.A&&$t.A.locals&&$t.A.locals;const ee=(0,V.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;var ie=r(71225);const ne=!!window._oc_isadmin,re=window.oc_appconfig||{};let oe=!1;const se={enableDynamicSlideToggle(){oe=!0},showAppSidebar:function(t){(t||p()("#app-sidebar")).removeClass("disappear").show(),p()("#app-content").trigger(new(p().Event)("appresized"))},hideAppSidebar:function(t){(t||p()("#app-sidebar")).hide().addClass("disappear"),p()("#app-content").trigger(new(p().Event)("appresized"))}},ae=se,ue=void 0!==window._oc_appswebroots&&window._oc_appswebroots;var ce=r(21391),he=r.n(ce),le=r(78112);const de={create:"POST",update:"PROPPATCH",patch:"PROPPATCH",delete:"DELETE",read:"PROPFIND"};function fe(t,e){if(l.default.isArray(t))return l.default.map(t,function(t){return fe(t,e)});const i={href:t.href};return l.default.each(t.propStat,function(t){if("HTTP/1.1 200 OK"===t.status)for(const n in t.properties){let r=n;n in e&&(r=e[n]),i[r]=t.properties[n]}}),i.id||(i.id=pe(i.href)),i}function pe(t){const e=t.indexOf("?");e>0&&(t=t.substr(0,e));const i=t.split("/");let n;do{n=i[i.length-1],i.pop()}while(!n&&i.length>0);return n}function ge(t){return t>=200&&t<=299}function Ae(t,e,i,n){return t.propPatch(e.url,function(t,e){const i={};let n;for(n in t){let r=e[n],o=t[n];r||(Z.warn('No matching DAV property for property "'+n),r=n),(l.default.isBoolean(o)||l.default.isNumber(o))&&(o=""+o),i[r]=o}return i}(i.changed,e.davProperties),n).then(function(t){ge(t.status)?l.default.isFunction(e.success)&&e.success(i.toJSON()):l.default.isFunction(e.error)&&e.error(t)})}const me=he().noConflict();Object.assign(me,{davCall:function(t,e){const i=new le.dav.Client({baseUrl:t.url,xmlNamespaces:l.default.extend({"DAV:":"d","http://owncloud.org/ns":"oc"},t.xmlNamespaces||{})});i.resolveUrl=function(){return t.url};const n=l.default.extend({"X-Requested-With":"XMLHttpRequest",requesttoken:OC.requestToken},t.headers);return"PROPFIND"===t.type?function(t,e,i,n){return t.propFind(e.url,l.default.values(e.davProperties)||[],e.depth,n).then(function(t){if(ge(t.status)){if(l.default.isFunction(e.success)){const i=l.default.invert(e.davProperties),n=fe(t.body,i);e.depth>0&&n.shift(),e.success(n)}}else l.default.isFunction(e.error)&&e.error(t)})}(i,t,0,n):"PROPPATCH"===t.type?Ae(i,t,e,n):"MKCOL"===t.type?function(t,e,i,n){return t.request(e.type,e.url,n,null).then(function(r){ge(r.status)?Ae(t,e,i,n):l.default.isFunction(e.error)&&e.error(r)})}(i,t,e,n):function(t,e,i,n){return n["Content-Type"]="application/json",t.request(e.type,e.url,n,e.data).then(function(t){if(ge(t.status)){if(l.default.isFunction(e.success)){if("PUT"===e.type||"POST"===e.type||"MKCOL"===e.type){const n=t.body||i.toJSON(),r=t.xhr.getResponseHeader("Content-Location");return"POST"===e.type&&r&&(n.id=pe(r)),void e.success(n)}if(207===t.status){const i=l.default.invert(e.davProperties);e.success(fe(t.body,i))}else e.success(t.body)}}else l.default.isFunction(e.error)&&e.error(t)})}(i,t,e,n)},davSync:function(t){return(e,i,n)=>{const r={type:de[e]||e},o=i instanceof t.Collection;if("update"===e&&(i.hasInnerCollection?r.type="MKCOL":(i.usePUT||i.collection&&i.collection.usePUT)&&(r.type="PUT")),n.url||(r.url=l.default.result(i,"url")||function(){throw new Error('A "url" property or function must be specified')}()),null!=n.data||!i||"create"!==e&&"update"!==e&&"patch"!==e||(r.data=JSON.stringify(n.attrs||i.toJSON(n))),"PROPFIND"!==r.type&&(r.processData=!1),"PROPFIND"===r.type||"PROPPATCH"===r.type){let t=i.davProperties;!t&&i.model&&(t=i.model.prototype.davProperties),t&&(l.default.isFunction(t)?r.davProperties=t.call(i):r.davProperties=t),r.davProperties=l.default.extend(r.davProperties||{},n.davProperties),l.default.isUndefined(n.depth)&&(n.depth=o?1:0)}const s=n.error;n.error=function(t,e,i){n.textStatus=e,n.errorThrown=i,s&&s.call(n.context,t,e,i)};const a=n.xhr=t.davCall(l.default.extend(r,n),i);return i.trigger("request",i,a,n),a}}(me)});const ve=me,be=window._oc_config||{},ye=document.getElementsByTagName("head")[0].getAttribute("data-user"),we=document.getElementsByTagName("head")[0].getAttribute("data-user-displayname"),Ce=void 0!==ye&&ye,xe=window._oc_debug;var ke=r(21363),_e=r(85168),Me=r(43627);const Be={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,i,n){this.message(t,e,"alert",Be.OK_BUTTON,i,n)},info:function(t,e,i,n){this.message(t,e,"info",Be.OK_BUTTON,i,n)},confirm:function(t,e,i,n){return this.message(t,e,"notice",Be.YES_NO_BUTTONS,i,n)},confirmDestructive:function(t,e,i=Be.OK_BUTTONS,n=()=>{}){return(new _e.ik).setName(e).setText(t).setButtons(i===Be.OK_BUTTONS?[{label:(0,d.t)("core","Yes"),variant:"error",callback:()=>{n.clicked=!0,n(!0)}}]:Be._getLegacyButtons(i,n)).build().show().then(()=>{n.clicked||n(!1)})},confirmHtml:function(t,e,i){return(new _e.ik).setName(e).setText("").setButtons([{label:(0,d.t)("core","No"),callback:()=>{}},{label:(0,d.t)("core","Yes"),variant:"primary",callback:()=>{i.clicked=!0,i(!0)}}]).build().setHTML(t).show().then(()=>{i.clicked||i(!1)})},prompt:function(t,e,i,n,o,s){return new Promise(n=>{(0,Pt.S)((0,m.$V)(()=>Promise.all([r.e(4208),r.e(9553)]).then(r.bind(r,99553))),{text:t,name:e,callback:i,inputName:o,isPassword:!!s},(...t)=>{i(...t),n()})})},filepicker(t,e,i=!1,n=void 0,r=void 0,o=_e.bh.Choose,s=void 0,a=void 0){const u=(t,e)=>{const n=t=>{const e=t?.root||"";let i=t?.path||"";return i.startsWith(e)&&(i=i.slice(e.length)||"/"),i};return i?i=>t(i.map(n),e):i=>t(n(i[0]),e)},c=(0,_e.a1)(t);o===this.FILEPICKER_TYPE_CUSTOM?(a.buttons||[]).forEach(t=>{c.addButton({callback:u(e,t.type),label:t.text,variant:t.defaultButton?"primary":"secondary"})}):c.setButtonFactory((t,i)=>{const n=[],[r]=t,s=r?.displayname||r?.basename||(0,Me.basename)(i);return o===_e.bh.Choose&&n.push({callback:u(e,_e.bh.Choose),label:r&&!this.multiSelect?(0,d.t)("core","Choose {file}",{file:s}):(0,d.t)("core","Choose"),variant:"primary"}),o!==_e.bh.CopyMove&&o!==_e.bh.Copy||n.push({callback:u(e,_e.bh.Copy),label:s?(0,d.t)("core","Copy to {target}",{target:s}):(0,d.t)("core","Copy"),variant:"primary",icon:ke}),o!==_e.bh.Move&&o!==_e.bh.CopyMove||n.push({callback:u(e,_e.bh.Move),label:s?(0,d.t)("core","Move to {target}",{target:s}):(0,d.t)("core","Move"),variant:o===_e.bh.Move?"primary":"secondary",icon:''}),n}),n&&c.setMimeTypeFilter("string"==typeof n?[n]:n||[]),"function"==typeof a?.filter&&c.setFilter(t=>a.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))),c.allowDirectories(!0===a?.allowDirectoryChooser||n?.includes("httpd/unix-directory")||!1).setMultiSelect(i).startAt(s).build().pick()},message:function(t,e,i,n,r=()=>{},o,s){const a=(new _e.ik).setName(e).setText(s?"":t).setButtons(Be._getLegacyButtons(n,r));switch(i){case"alert":a.setSeverity("warning");break;case"notice":a.setSeverity("info")}const u=a.build();return s&&u.setHTML(t),u.show().then(()=>{r._clicked||r(!1)})},_getLegacyButtons(t,e){const i=[];switch("object"==typeof t?t.type:t){case Be.YES_NO_BUTTONS:i.push({label:t?.cancel??(0,d.t)("core","No"),callback:()=>{e._clicked=!0,e(!1)}}),i.push({label:t?.confirm??(0,d.t)("core","Yes"),variant:"primary",callback:()=>{e._clicked=!0,e(!0)}});break;case Be.OK_BUTTONS:i.push({label:t?.confirm??(0,d.t)("core","OK"),variant:"primary",callback:()=>{e._clicked=!0,e(!0)}});break;default:Z.error("Invalid call to OC.dialogs")}return i},_fileexistsshown:!1,fileexists:function(t,e,i,r){const o=this,s=new(p().Deferred),a=function(e,i,n){const r=e.find(".template").clone().removeClass("template").addClass("conflict"),o=r.find(".original"),s=r.find(".replacement");r.data("data",t),r.find(".filename").text(i.name),o.find(".size").text($e.Util.humanFileSize(i.size)),o.find(".mtime").text($e.Util.formatDate(i.mtime)),n.size&&n.lastModified&&(s.find(".size").text($e.Util.humanFileSize(n.size)),s.find(".mtime").text($e.Util.formatDate(n.lastModified)));let a=i.directory+"/"+i.name;const u={file:a,x:96,y:96,c:i.etag,forceIcon:0};let c=Files.generatePreviewUrl(u);c=c.replace(/'/g,"%27"),o.find(".icon").css({"background-image":"url('"+c+"')"}),function(t){const e=new(p().Deferred),i=t.type&&t.type.split("/").shift();if(window.FileReader&&"image"===i){const i=new FileReader;i.onload=function(t){const i=new Blob([t.target.result]);window.URL=window.URL||window.webkitURL;const n=window.URL.createObjectURL(i),r=new Image;r.src=n,r.onload=function(){const t=function(t){const e=document.createElement("canvas"),i=t.width,n=t.height;let r,o;i>n?(o=0,r=(i-n)/2):(o=(n-i)/2,r=0);const s=Math.min(i,n);return e.width=s,e.height=s,e.getContext("2d").drawImage(t,r,o,s,s,0,0,s,s),function(t,e,i,n,r){n=Math.round(n),r=Math.round(r);const o=t.getContext("2d").getImageData(0,0,e,i),s=t.getContext("2d").getImageData(0,0,n,r),a=o.data,u=s.data,c=e/n,h=i/r,l=Math.ceil(c/2),d=Math.ceil(h/2);for(let t=0;t=-1&&c<=1&&(o=2*c*c*c-3*c*c+1,o>0&&(i=4*(t+n*e),m+=o*a[i+3],f+=o,a[i+3]<255&&(o=o*a[i+3]/250),p+=o*a[i],g+=o*a[i+1],A+=o*a[i+2],s+=o))}}u[r]=p/s,u[r+1]=g/s,u[r+2]=A/s,u[r+3]=m/f}t.getContext("2d").clearRect(0,0,Math.max(e,n),Math.max(i,r)),t.width=n,t.height=r,t.getContext("2d").putImageData(s,0,0)}(e,s,s,96,96),e.toDataURL("image/png",.7)}(r);e.resolve(t)}},i.readAsArrayBuffer(t)}else e.reject();return e}(n).then(function(t){s.find(".icon").css("background-image","url("+t+")")},function(){a=$e.MimeType.getIconUrl(n.type),s.find(".icon").css("background-image","url("+a+")")});const h=e.find(".conflict").length;o.find("input:checkbox").attr("id","checkbox_original_"+h),s.find("input:checkbox").attr("id","checkbox_replacement_"+h),e.append(r),n.lastModified>i.mtime?s.find(".mtime").css("font-weight","bold"):n.lastModifiedi.size?s.find(".size").css("font-weight","bold"):n.size&&n.size0?(p()(c).find(".allnewfiles").prop("checked",!1),p()(c).find(".allnewfiles + .count").text((0,d.t)("core","({count} selected)",{count:t}))):(p()(c).find(".allnewfiles").prop("checked",!1),p()(c).find(".allnewfiles + .count").text("")),A()}),p()(c).on("click",".original,.allexistingfiles",function(){const t=p()(c).find('.conflict .original input[type="checkbox"]:checked').length;t===p()(c+" .conflict").length?(p()(c).find(".allexistingfiles").prop("checked",!0),p()(c).find(".allexistingfiles + .count").text((0,d.t)("core","(all selected)"))):t>0?(p()(c).find(".allexistingfiles").prop("checked",!1),p()(c).find(".allexistingfiles + .count").text((0,d.t)("core","({count} selected)",{count:t}))):(p()(c).find(".allexistingfiles").prop("checked",!1),p()(c).find(".allexistingfiles + .count").text("")),A()}),s.resolve()}).fail(function(){s.reject(),alert((0,d.t)("core","Error loading file exists template"))});return s.promise()},_getFileExistsTemplate:function(){const t=p().Deferred();if(this.$fileexistsTemplate)t.resolve(this.$fileexistsTemplate);else{const e=this;p().get($e.filePath("core","templates/legacy","fileexists.html"),function(i){e.$fileexistsTemplate=p()(i),t.resolve(e.$fileexistsTemplate)}).fail(function(){t.reject()})}return t.promise()}},Ee=Be;function Ie(){return document.head.dataset.requesttoken}function Se(t,e){let i,n,r="";if(this.typelessListeners=[],this.closed=!1,this.listeners={},e)for(i in e)r+=i+"="+encodeURIComponent(e[i])+"&";if(r+="requesttoken="+encodeURIComponent(Ie()),this.useFallBack||"undefined"==typeof EventSource){const e="oc_eventsource_iframe_"+Se.iframeCount;Se.fallBackSources[Se.iframeCount]=this;const i=document.createElement("iframe");i.id=e,i.style.display="none",n="&",-1===t.indexOf("?")&&(n="?"),i.src=t+n+"fallback=true&fallback_id="+Se.iframeCount+"&"+r,this.iframe=i,document.body.appendChild(this.iframe),this.useFallBack=!0,Se.iframeCount++}else n="&",-1===t.indexOf("?")&&(n="?"),this.source=new EventSource(t+n+r),this.source.onmessage=function(t){for(let e=0;et.cancel()),i.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 i=document.querySelector(t);i&&i instanceof HTMLElement&&(i.textContent=e,i.classList.remove("error"),i.classList.add("success"),i.getAnimations?.().forEach(t=>t.cancel()),window.setTimeout(function(){if(!(i&&i instanceof HTMLElement))return;const t=i.animate?.([{opacity:1},{opacity:0}],{duration:900,fill:"forwards"});t?t.addEventListener("finish",()=>{i.style.display="none"}):window.setTimeout(()=>{i.style.display="none"},900)},3e3),i.style.display="block")},finishedError(t,e){const i=document.querySelector(t);i&&i instanceof HTMLElement&&(i.textContent=e,i.classList.remove("success"),i.classList.add("error"),i.style.display="block")}},Fe={updatableNotification:null,getDefaultNotificationFunction:null,setDefault(t){this.getDefaultNotificationFunction=t},hide(t,e){l.default.isFunction(t)&&(e=t,t=void 0),t?(t.each(function(){p()(this)[0].toastify?p()(this)[0].toastify.hideToast():Z.error("cannot hide toast because object is not set"),this===this.updatableNotification&&(this.updatableNotification=null)}),e&&e.call(),this.getDefaultNotificationFunction&&this.getDefaultNotificationFunction()):Z.error("Missing argument $row in OC.Notification.hide() call, caller needs to be adjusted to only dismiss its own notification")},showHtml(t,e){(e=e||{}).isHTML=!0,e.timeout=e.timeout?e.timeout:_e.DH;const i=(0,_e.rG)(t,e);return i.toastElement.toastify=i,p()(i.toastElement)},show(t,e){(e=e||{}).timeout=e.timeout?e.timeout:_e.DH;const i=(0,_e.rG)(function(t){return t.toString().split("&").join("&").split("<").join("<").split(">").join(">").split('"').join(""").split("'").join("'")}(t),e);return i.toastElement.toastify=i,p()(i.toastElement)},showUpdate(t){return this.updatableNotification&&this.updatableNotification.hideToast(),this.updatableNotification=(0,_e.rG)(t,{timeout:_e.DH}),this.updatableNotification.toastElement.toastify=this.updatableNotification,p()(this.updatableNotification.toastElement)},showTemporary(t,e){(e=e||{}).timeout=e.timeout||_e.aR;const i=(0,_e.rG)(t,e);return i.toastElement.toastify=i,p()(i.toastElement)},isHidden:()=>!p()("#content").find(".toastify").length},We={requiresPasswordConfirmation:()=>(0,Ot.oB)(),requirePasswordConfirmation(t,e,i){(0,Ot.C5)().then(t,i)}},Ye={_plugins:{},register(t,e){let i=this._plugins[t];i||(i=this._plugins[t]=[]),i.push(e)},getPlugins(t){return this._plugins[t]||[]},attach(t,e,i){const n=this.getPlugins(t);for(let t=0;t").join(">").split('"').join(""").split("'").join("'")},async rebuildNavigation(){const{data:t}=await c.Ay.get((0,h.KT)("core/navigation",2)+"/apps?format=json");200===t.ocs.meta.statuscode&&((0,st.Ic)("nextcloud:app-menu.refresh",{apps:t.ocs.data}),window.dispatchEvent(new Event("resize")))},setupGroupsSelect:function(e,i,n){const r=this;n=n||{},e.length>0&&p().ajax({url:(0,h.KT)("cloud/groups/details"),dataType:"json",success:function(o){const s=[];o.ocs.data.groups&&o.ocs.data.groups.length>0?(o.ocs.data.groups.forEach(function(t){n.excludeAdmins&&"admin"===t.id||s.push({id:t.id,displayname:t.displayname})}),e.select2(l.default.extend({placeholder:t("core","Groups"),allowClear:!0,multiple:!0,toggleSelect:!0,separator:"|",data:{results:s,text:"displayname"},initSelection:function(t,e){const i=p()(t).val();let n;i&&s.length>0?n=l.default.map(l.default.filter((i||[]).split("|").sort(),function(t){return void 0!==s.find(function(e){return e.id===t})}),function(t){return{id:t,displayname:s.find(function(e){return e.id===t}).displayname}}):i&&(n=l.default.map((i||[]).split("|").sort(),function(t){return{id:t,displayname:t}})),e(n)},formatResult:function(t){return r.escapeHTML(t.displayname)},formatSelection:function(t){return r.escapeHTML(t.displayname)},escapeMarkup:function(t){return t}},i||{}))):(OC.Notification.show(t("core","Group list is empty"),{type:"error"}),Z.debug(o))},error:function(e){OC.Notification.show(t("core","Unable to retrieve the group list"),{type:"error"}),Z.debug(e)}})}},Ge=window._theme||{};var Ve=r(35810);function Ke(t){const e=[];let i,n=0,r=-1,o=0;for(;n="0"&&i<="9";s!==o&&(r++,e[r]="",o=s),e[r]+=i,n++}return e}const Xe={History:{_handlers:[],_pushState(t,e,i){let n;if(n="string"==typeof t?t:$e.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,i=0,n=t.length;i=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=$e.parseQueryString(this._decodeQuery(t))),e=l.default.extend(e||{},$e.parseQueryString(this._decodeQuery(location.search))),e||{}},_onPopState(t){if(this._cancelPop)return void(this._cancelPop=!1);let e;if(this._handlers.length){e=t&&t.state,l.default.isString(e)?e=$e.parseQueryString(e):e||(e=this.parseUrlQuery()||{});for(let t=0;t(void 0===window.TESTING&&$e.debug&&Z.warn("OC.Util.formatDate is deprecated and will be removed in Nextcloud 21. See @nextcloud/moment"),e=e||"LLL",A()(t).format(e)),relativeModifiedDate(e){void 0===window.TESTING&&$e.debug&&Z.warn("OC.Util.relativeModifiedDate is deprecated and will be removed in Nextcloud 21. See @nextcloud/moment");const i=A()().diff(A()(e));return i>=0&&i<45e3?t("core","seconds ago"):A()(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 i=t.offsetWidth;e.style.overflow="scroll";let n=t.offsetWidth;return i===n&&(n=e.clientWidth),document.body.removeChild(e),this._scrollBarWidth=i-n,this._scrollBarWidth},stripTime:t=>new Date(t.getFullYear(),t.getMonth(),t.getDate()),naturalSortCompare(t,e){let i;const n=Ke(t),r=Ke(e);for(i=0;n[i]&&r[i];i++)if(n[i]!==r[i]){const t=Number(n[i]),e=Number(r[i]);return t==n[i]&&e==r[i]?t-e:n[i].localeCompare(r[i],$e.getLanguage())}return n.length-r.length},waitFor(t,e){const i=function(){!0!==t()&&setTimeout(i,e)};i()},isCookieSetToValue(t,e){const i=document.cookie.split(";");for(let n=0;n!$_",Apps:ae,appConfig:re,appswebroots:ue,Backbone:ve,config:be,currentUser:Ce,dialogs:Ee,EventSource:De,MimeType:o,getCurrentUser:function(){return{uid:Ce,displayName:we}},isUserAdmin:()=>ne,L10N:Pe,registerXHRForErrorProcessing:()=>{},getCapabilities:function(){return OC.debug&&Z.warn("OC.getCapabilities is deprecated and will be removed in Nextcloud 21. See @nextcloud/capabilities"),(0,Mt.F)()},hideMenus:Ne,registerMenu:function(t,e,i,n){e.addClass("menu");const r="A"===t.prop("tagName")||"BUTTON"===t.prop("tagName");t.on(r?"click.menu":"click.menu keyup.menu",function(r){r.preventDefault(),r.key&&"Enter"!==r.key||(e.is(Re)?Ne():(Re&&Ne(),!0===n&&e.parent().addClass("openedMenu"),t.attr("aria-expanded",!0),e.slideToggle(50,i),Re=e,ze=t))})},showMenu:function(t,e,i){e.is(Re)||(Ne(),Re=e,ze=t,e.trigger(new(p().Event)("beforeShow")),e.show(),e.trigger(new(p().Event)("afterShow")),l.default.isFunction(i)&&i())},unregisterMenu:function(t,e){e.is(Re)&&Ne(),t.off("click.menu").removeClass("menutoggle"),e.removeClass("menu")},basename:ie.P8,encodePath:ie.O0,dirname:ie.pD,isSamePath:ie.ys,joinPaths:ie.fj,getCanonicalLocale:d.lO,getLocale:d.JK,getLanguage:d.Z0,buildQueryString:function(t){return t?new URLSearchParams(t).toString():""},parseQueryString:function(t){const e=new URLSearchParams(t);return Object.fromEntries(e.entries())},msg:qe,Notification:Fe,PasswordConfirmation:We,Plugins:Ye,Settings:Qe,theme:Ge,Util:Xe,debug:xe,filePath:h.fg,generateUrl:h.Jv,getRootPath:h.aU,imagePath:h.d0,requestToken:Ie(),linkTo:h.uM,linkToOCS:(t,e)=>(0,h.KT)(t,{},{ocsVersion:e||1})+"/",linkToRemote:h.dC,linkToRemoteBase:function(t){return(0,h.aU)()+"/remote.php/"+t},webroot:Je};(0,st.B1)("csrf-token-update",t=>{OC.requestToken=t.token,Z.info("OC.requestToken changed",{token:t.token})});const{auto_logout:ti,session_keepalive:ei,session_lifetime:ii}=(0,at.C)("core","config",{});async function ni(){try{await async function(){const t=(0,h.Jv)("/csrftoken"),e=await fetch(t);if(!e.ok)throw new Error("Could not fetch CSRF token from API",{cause:e});const{token:i}=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,st.Ic)("csrf-token-update",{token:t})}(i),i}()}catch(t){Z.error("session heartbeat failed",{error:t})}}function ri(){const t=window.setInterval(ni,1e3*function(){const t=ii?Math.floor(ii/2):900;return Math.min(86400,Math.max(60,t))}());return Z.info("session heartbeat polling started"),t}function oi(t){const e=document.createElement("textarea"),i=document.createTextNode(t);e.appendChild(i),document.body.appendChild(e),e.focus({preventScroll:!0}),e.select();try{document.execCommand("copy")}catch(e){window.prompt((0,d.t)("core","Clipboard not available, please copy manually"),t),Z.error("files Unable to copy to clipboard",{error:e})}document.body.removeChild(e)}function si(t){const e=window.location.protocol+"//"+window.location.host+(0,h.aU)();return t.startsWith(e)||function(t){return!t.startsWith("https://")&&!t.startsWith("http://")}(t)&&t.startsWith((0,h.aU)())}async function ai(){if(null!==(0,u.HW)()&&!0!==ai.running){ai.running=!0;try{const{status:t}=await window.fetch((0,h.Jv)("/apps/files"));401===t&&(Z.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);Z.debug("Browser storages cleared")}catch(t){Z.error("Could not clear browser storages",{error:t})}}(),window.location=(0,h.Jv)("/login?redirect_url={url}",{url:window.location.pathname+window.location.search+window.location.hash}))}catch(t){Z.warn("Could not check login-state",{error:t})}finally{delete ai.running}}}const ui={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 ci=$e.getLocale();function hi(){const t=(0,d.V8)()?"right":"left",e=(0,d.V8)()?"left":"right";var i;if(XMLHttpRequest.prototype.open=(i=XMLHttpRequest.prototype.open,function(t,e){i.apply(this,arguments),si(e)&&(this.getResponseHeader("X-Requested-With")||this.setRequestHeader("X-Requested-With","XMLHttpRequest"),this.addEventListener("loadend",function(){401===this.status&&ai()}))}),window.fetch=function(t){return async(e,i)=>{if(!si(e.url??e.toString()))return await t(e,i);i||(i={}),i.headers||(i.headers=new Headers),i.headers instanceof Headers&&!i.headers.has("X-Requested-With")?i.headers.append("X-Requested-With","XMLHttpRequest"):i.headers instanceof Object&&!i.headers["X-Requested-With"]&&(i.headers["X-Requested-With"]="XMLHttpRequest");const n=await t(e,i);return 401===n.status&&ai(),n}}(window.fetch),window.navigator?.clipboard?.writeText||(Z.info("Clipboard API not available, using fallback"),Object.defineProperty(window.navigator,"clipboard",{value:{writeText:oi},writable:!1})),function(){if(function(){if(!ti||!(0,u.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 i=Date.now()-1e3*(ii??86400);if(t{Z.info("Browser is online again, resuming heartbeat"),t=ri();try{await ni(),Z.info("Session token successfully updated after resuming network"),(0,st.Ic)("networkOnline",{success:!0})}catch(t){Z.error("could not update session token after resuming network",{error:t}),(0,st.Ic)("networkOnline",{success:!1})}}),window.addEventListener("offline",()=>{Z.info("Browser is offline, stopping heartbeat"),(0,st.Ic)("networkOffline",{}),clearInterval(t),Z.info("Session heartbeat polling stopped")})}(),$e.registerMenu(p()("#expand"),p()("#expanddiv"),!1,!0),p()(document).on("mouseup.closemenus",t=>{const e=p()(t.target);if(e.closest(".menu").length||e.closest(".menutoggle").length)return!1;$e.hideMenus()}),function(){m.Ay.mixin({methods:{t:d.Tl,n:d.zw}});const t=document.getElementById("header-start__appmenu");if(!t)return;const e=new(m.Ay.extend(_t))({}).$mount(t);Object.assign(OC,{setNavigationCounter(t,i){e.setNavigationCounter(t,i)}})}(),function(){const t=document.getElementById("user-menu");t&&new m.Ay({name:"AccountMenuRoot",el:t,render:t=>t(ee)})}(),function(){const t=document.getElementById("contactsmenu");t&&(window.OC.ContactsMenu=new ot,new m.Ay({name:"ContactsMenuRoot",el:t,render:t=>t(rt)}))}(),p()("#app-navigation").length&&!p()("html").hasClass("lte9")&&!p()("#app-content").hasClass("no-snapper")){const i=new Snap({element:document.getElementById("app-content"),disable:e,maxPosition:300,minPosition:-300,minDragDistance:100});p()("#app-content").prepend('');let n=!1;i.on("animating",()=>{n=!0}),i.on("animated",()=>{n=!1}),i.on("start",()=>{n=!0}),i.on("end",()=>{n=!1}),i.on("open",()=>{u.attr("aria-hidden","false")}),i.on("close",()=>{u.attr("aria-hidden","true")});const r=i.open,o=i.close,s=()=>{n||"closed"!==i.state().state||r(t)},a=()=>{n||"closed"===i.state().state||o()};window.TESTING||(i.open=()=>{l.default.defer(s)},i.close=()=>{l.default.defer(a)}),p()("#app-navigation-toggle").click(()=>{i.state().state!==t&&i.open(t)}),p()("#app-navigation-toggle").keypress(()=>{i.state().state===t?i.close():i.open(t)});const u=p()("#app-navigation");u.attr("aria-hidden","true"),u.delegate("a, :button","click",t=>{const e=p()(t.target);e.is(".app-navigation-noclose")||e.closest(".app-navigation-noclose").length||e.is(".app-navigation-entry-utils-menu-button")||e.closest(".app-navigation-entry-utils-menu-button").length||e.is(".add-new")||e.closest(".add-new").length||e.is("#app-settings")||e.closest("#app-settings").length||i.close()});let c=!1,h=!0,d=!1;$e.allowNavigationBarSlideGesture=()=>{h=!0,d&&(i.enable(),c=!0,d=!1)},$e.disallowNavigationBarSlideGesture=()=>{if(h=!1,c){const t=!0;i.disable(t),c=!1,d=!0}};const f=()=>{p()(window).width()>1024?(u.attr("aria-hidden","false"),i.close(),i.disable(),c=!1,d=!1):h?(i.enable(),c=!0,d=!1):d=!0};p()(window).resize(l.default.debounce(f,250)),f()}setInterval(()=>{p()(".live-relative-timestamp").each(function(){const t=parseInt(p()(this).attr("data-timestamp"),10);p()(this).text(A()(t).fromNow())})},3e4)}Object.hasOwn(ui,ci)&&(ci=ui[ci]),A().locale(ci),r(84315),r(7452);var li=r(57576),di=r.n(li);const fi={disableKeyboardShortcuts:()=>(0,at.C)("theming","shortcutsDisabled",!1),setPageHeading:function(t){const e=document.getElementById("page-heading-level-1");e&&(e.textContent=t)}};async function pi(t,e,i={}){"post"!==t&&"delete"!==t||!(0,Ot.oB)(Ot.mH.Lax)||await(0,Ot.C5)();try{const{data:n}=await c.Ay.request({method:t.toLowerCase(),url:(0,h.KT)("apps/provisioning_api/api/v1/config/apps")+e,data:i.data||{}});i.success?.(n.ocs.data)}catch(t){i.error?.(t)}}function gi(t){pi("get","",t)}function Ai(t,e){pi("get","/"+t,e)}function mi(t,e,i,n){(n=n||{}).data={defaultValue:i},pi("get","/"+t+"/"+e,n)}function vi(t,e,i,n){(n=n||{}).data={value:i},pi("post","/"+t+"/"+e,n)}function bi(t,e,i){pi("delete","/"+t+"/"+e,i)}var yi=r(70580),wi=r.n(yi);const Ci={},xi={registerType(t,e){Ci[t]=e},trigger:t=>Ci[t].action(),getTypes:()=>Object.keys(Ci),getIcon:t=>Ci[t].typeIconClass||"",getLabel:t=>wi()(Ci[t].typeString||t),getLink:(t,e)=>void 0!==Ci[t]?Ci[t].link(e):""},ki=/(\s|^)(https?:\/\/)([-A-Z0-9+_.]+(?::[0-9]+)?(?:\/[-A-Z0-9+&@#%?=~_|!:,.;()]*)*)(\s|$)/gi;function _i(t){return Bi(t)}function Mi(t){return Ei(t)}function Bi(t){return t.replace(ki,function(t,e,i,n,r){let o=n;return i?"http://"===i&&(o=i+n):i="https://",e+''+o+""+r})}function Ei(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 Ii={},Si={},Di={loadScript(t,e){const i=t+e;return Object.hasOwn(Ii,i)?Promise.resolve():(Ii[i]=!0,new Promise(function(i,n){const r=(0,h.fg)(t,"js",e),o=document.createElement("script");o.src=r,o.setAttribute("nonce",btoa(OC.requestToken)),o.onload=()=>i(),o.onerror=()=>n(new Error(`Failed to load script from ${r}`)),document.head.appendChild(o)}))},loadStylesheet(t,e){const i=t+e;return Object.hasOwn(Si,i)?Promise.resolve():(Si[i]=!0,new Promise(function(i,n){const r=(0,h.fg)(t,"css",e),o=document.createElement("link");o.href=r,o.type="text/css",o.rel="stylesheet",o.onload=()=>i(),o.onerror=()=>n(new Error(`Failed to load stylesheet from ${r}`)),document.head.appendChild(o)}))}},Ti={success:(t,e)=>(0,_e.Te)(t,e),warning:(t,e)=>(0,_e.I9)(t,e),error:(t,e)=>(0,_e.Qg)(t,e),info:(t,e)=>(0,_e.cf)(t,e),message:(t,e)=>(0,_e.rG)(t,e)},Oi={Accessibility:fi,AppConfig:s,Collaboration:xi,Comments:a,InitialState:{loadState:at.C},Loader:Di,Toast:Ti};r(99660);var Pi=r(3131),Ri={};Ri.styleTagTransform=Y(),Ri.setAttributes=U(),Ri.insert=j().bind(null,"head"),Ri.domAPI=N(),Ri.insertStyleElement=F(),R()(Pi.A,Ri),Pi.A&&Pi.A.locals&&Pi.A.locals;var zi=r(13169),Ni={};Ni.styleTagTransform=Y(),Ni.setAttributes=U(),Ni.insert=j().bind(null,"head"),Ni.domAPI=N(),Ni.insertStyleElement=F(),R()(zi.A,Ni),zi.A&&zi.A.locals&&zi.A.locals,r(44275);var Hi=r(35156),ji={};ji.styleTagTransform=Y(),ji.setAttributes=U(),ji.insert=j().bind(null,"head"),ji.domAPI=N(),ji.insertStyleElement=F(),R()(Hi.A,ji),Hi.A&&Hi.A.locals&&Hi.A.locals,r(57223),r(53425);var Li=r(86140),Ui={};function qi(){void 0===window.TESTING&&$e.debug&&console.warn.apply(console,arguments)}function Fi(t,e,i){(Array.isArray(t)?t:[t]).forEach(t=>{void 0!==window[t]&&delete window[t],Object.defineProperty(window,t,{get:()=>(qi(i?`${t} is deprecated: ${i}`:`${t} is deprecated`),e())})})}function Wi(t){return"click"===t.type||"keydown"===t.type&&"Enter"===t.key}Ui.styleTagTransform=Y(),Ui.setAttributes=U(),Ui.insert=j().bind(null,"head"),Ui.domAPI=N(),Ui.insertStyleElement=F(),R()(Li.A,Ui),Li.A&&Li.A.locals&&Li.A.locals,window._=l.default,Fi(["$","jQuery"],()=>p(),"The global jQuery is deprecated. It will be removed in a later versions without another warning. Please ship your own."),Fi("Backbone",()=>he(),"please ship your own, this will be removed in Nextcloud 20"),Fi(["Clipboard","ClipboardJS"],()=>di(),"please ship your own, this will be removed in Nextcloud 20"),window.dav=le.dav,Fi("Handlebars",()=>Oe(),"please ship your own, this will be removed in Nextcloud 20"),Fi("moment",()=>A(),"please ship your own, this will be removed in Nextcloud 20"),window.OC=$e,Fi("initCore",()=>hi,"this is an internal function"),Fi("oc_appswebroots",()=>$e.appswebroots,"use OC.appswebroots instead, this will be removed in Nextcloud 20"),Fi("oc_config",()=>$e.config,"use OC.config instead, this will be removed in Nextcloud 20"),Fi("oc_current_user",()=>$e.getCurrentUser().uid,"use OC.getCurrentUser().uid instead, this will be removed in Nextcloud 20"),Fi("oc_debug",()=>$e.debug,"use OC.debug instead, this will be removed in Nextcloud 20"),Fi("oc_defaults",()=>$e.theme,"use OC.theme instead, this will be removed in Nextcloud 20"),Fi("oc_isadmin",$e.isUserAdmin,"use OC.isUserAdmin() instead, this will be removed in Nextcloud 20"),Fi("oc_requesttoken",()=>Ie(),"use OC.requestToken instead, this will be removed in Nextcloud 20"),Fi("oc_webroot",()=>$e.webroot,"use OC.getRootPath() instead, this will be removed in Nextcloud 20"),Fi("OCDialogs",()=>$e.dialogs,"use OC.dialogs instead, this will be removed in Nextcloud 20"),window.OCP=Oi,window.OCA={},p().fn.select2=function(t){const e=t,i=function(){return qi("The select2 library is deprecated! It will be removed in nextcloud 19."),e.apply(this,arguments)};return Object.assign(i,e),i}(p().fn.select2),window.t=l.default.bind($e.L10N.translate,$e.L10N),window.n=l.default.bind($e.L10N.translatePlural,$e.L10N),p().fn.avatar=function(t,e,i,n,r,o){const s=function(t){t.imageplaceholder("?"),t.css("background-color","#b9b9b9")};if(void 0!==t&&(t=String(t)),void 0!==o&&(o=String(o)),void 0===e&&(e=this.height()>0?this.height():this.data("size")>0?this.data("size"):64),this.height(e),this.width(e),void 0===t){if(void 0===this.data("user"))return void s(this);t=this.data("user")}t=String(t).replace(/\//g,"");const a=this;let c;c=t===(0,u.HW)()?.uid?(0,h.Jv)("/avatar/{user}/{size}?v={version}",{user:t,size:Math.ceil(e*window.devicePixelRatio),version:window.oc_userconfig.avatar.version}):(0,h.Jv)("/avatar/{user}/{size}",{user:t,size:Math.ceil(e*window.devicePixelRatio)});const l=new Image;l.onload=function(){a.clearimageplaceholder(),a.append(l),"function"==typeof r&&r()},l.onerror=function(){a.clearimageplaceholder(),void 0!==o?a.imageplaceholder(t,o):s(a),"function"==typeof r&&r()},e<32?a.addClass("icon-loading-small"):a.addClass("icon-loading"),l.width=e,l.height=e,l.src=c,l.alt=""},p().fn.exists=function(){return this.length>0},p().fn.filterAttr=function(t,e){return this.filter(function(){return p()(this).attr(t)===e})};var Yi=r(52697);p().widget("oc.ocdialog",{options:{width:"auto",height:"auto",closeButton:!0,closeOnEscape:!0,closeCallback:null,modal:!1},_create(){const t=this;this.originalCss={display:this.element[0].style.display,width:this.element[0].style.width,height:this.element[0].style.height},this.originalTitle=this.element.attr("title"),this.options.title=this.options.title||this.originalTitle,this.$dialog=p()('
').attr({tabIndex:-1,role:"dialog","aria-modal":!0}).insertBefore(this.element),this.$dialog.append(this.element.detach()),this.element.removeAttr("title").addClass("oc-dialog-content").appendTo(this.$dialog),1===t.element.find("input").length&&t.element.find("input").on("keydown",function(e){if(Wi(e)&&t.$buttonrow){const e=t.$buttonrow.find("button.primary");e&&!e.prop("disabled")&&e.click()}}),this.$dialog.css({display:"inline-block",position:"fixed"}),this.enterCallback=null,p()(document).on("keydown keyup",function(e){if(e.target===t.$dialog.get(0)||0!==t.$dialog.find(p()(e.target)).length)return 27===e.keyCode&&"keydown"===e.type&&t.options.closeOnEscape?(e.stopImmediatePropagation(),t.close(),!1):13===e.keyCode?(e.stopImmediatePropagation(),null!==t.enterCallback?(t.enterCallback(),e.preventDefault(),!1):"keyup"===e.type&&(e.preventDefault(),!1)):void 0}),this._setOptions(this.options),this._createOverlay(),this._useFocusTrap()},_init(){this._trigger("open")},_setOption(e,i){const n=this;switch(e){case"title":if(this.$title)this.$title.text(i);else{const t=p()('

'+i+"

");this.$title=t.prependTo(this.$dialog)}this._setSizes();break;case"buttons":if(this.$buttonrow)this.$buttonrow.empty();else{const t=p()('
');this.$buttonrow=t.appendTo(this.$dialog)}1===i.length?this.$buttonrow.addClass("onebutton"):2===i.length?this.$buttonrow.addClass("twobuttons"):3===i.length&&this.$buttonrow.addClass("threebuttons"),p().each(i,function(t,e){const i=p()("');e.attr("aria-label",t("core",'Close "{dialogTitle}" dialog',{dialogTitle:this.$title||this.options.title})),this.$dialog.prepend(e),e.on("click keydown",function(t){Wi(t)&&(n.options.closeCallback&&n.options.closeCallback(),n.close())})}else this.$dialog.find(".oc-dialog-close").remove();break;case"width":this.$dialog.css("width",i);break;case"height":this.$dialog.css("height",i);break;case"close":this.closeCB=i}p().Widget.prototype._setOption.apply(this,arguments)},_setOptions(){p().Widget.prototype._setOptions.apply(this,arguments)},_setSizes(){let t=0;this.$title&&(t+=this.$title.outerHeight(!0)),this.$buttonrow&&(t+=this.$buttonrow.outerHeight(!0)),this.element.css({height:"calc(100% - "+t+"px)"})},_createOverlay(){if(!this.options.modal)return;const t=this;let e=p()("#content");0===e.length&&(e=p()(".content")),this.overlay=p()("
").addClass("oc-dialog-dim").insertBefore(this.$dialog),this.overlay.on("click keydown keyup",function(e){e.target!==t.$dialog.get(0)&&0===t.$dialog.find(p()(e.target)).length&&(e.preventDefault(),e.stopPropagation())})},_destroyOverlay(){this.options.modal&&this.overlay&&(this.overlay.off("click keydown keyup"),this.overlay.remove(),this.overlay=null)},_useFocusTrap(){Object.assign(window,{_nc_focus_trap:window._nc_focus_trap||[]});const t=this.$dialog[0];this.focusTrap=(0,Yi.K)(t,{allowOutsideClick:!0,trapStack:window._nc_focus_trap,fallbackFocus:t}),this.focusTrap.activate()},_clearFocusTrap(){this.focusTrap?.deactivate(),this.focusTrap=null},widget(){return this.$dialog},setEnterCallback(t){this.enterCallback=t},unsetEnterCallback(){this.enterCallback=null},close(){this._clearFocusTrap(),this._destroyOverlay();const t=this;setTimeout(function(){t._trigger("close",t)},200),t.$dialog.remove(),this.destroy()},destroy(){this.$title&&this.$title.remove(),this.$buttonrow&&this.$buttonrow.remove(),this.originalTitle&&this.element.attr("title",this.originalTitle),this.element.removeClass("oc-dialog-content").css(this.originalCss).detach().insertBefore(this.$dialog),this.$dialog.remove()}});const Qi={init(t,e,i){this.vars=t,this.options=p().extend({},this.options,e),this.elem=i;const n=this;if("function"==typeof this.options.escapeFunction){const t=Object.keys(this.vars);for(let e=0;et[0].toUpperCase()).join("");this.html(t)}},p().fn.clearimageplaceholder=function(){this.css("background-color",""),this.css("color",""),this.css("font-weight",""),this.css("text-align",""),this.css("line-height",""),this.css("font-size",""),this.html(""),this.removeClass("icon-loading"),this.removeClass("icon-loading-small")},p()(document).on("ajaxSend",function(t,e,i){!1===i.crossDomain&&(e.setRequestHeader("requesttoken",Ie()),e.setRequestHeader("OCS-APIREQUEST","true"))}),p().fn.selectRange=function(t,e){return this.each(function(){if(this.setSelectionRange)this.focus(),this.setSelectionRange(t,e);else if(this.createTextRange){const i=this.createTextRange();i.collapse(!0),i.moveEnd("character",e),i.moveStart("character",t),i.select()}})},p().fn.extend({showPassword(t){const e={fn:null,args:{}};e.fn=t;const i=function(t,e){e.val(t.val())},n=function(t,e,n){t.is(":checked")?(i(e,n),n.show(),e.hide()):(i(n,e),n.hide(),e.show())};return this.each(function(){const t=p()(this),r=p()(t.data("typetoggle")),o=function(t){const e=p()(t),i=p()("");return i.attr({type:"text",class:e.attr("class"),style:e.attr("style"),size:e.attr("size"),name:e.attr("name")+"-clone",tabindex:e.attr("tabindex"),autocomplete:"off"}),void 0!==e.attr("placeholder")&&i.attr("placeholder",e.attr("placeholder")),i}(t);o.insertAfter(t),e.fn&&(e.args.input=t,e.args.checkbox=r,e.args.clone=o),r.bind("click",function(){n(r,t,o)}),t.bind("keyup",function(){i(t,o)}),o.bind("keyup",function(){i(o,t),t.trigger("keyup")}),o.bind("blur",function(){t.trigger("focusout")}),n(r,t,o),o.closest("form").submit(function(){o.prop("type","password")}),e.fn&&e.fn(e.args)})}}),p().ui.autocomplete.prototype._resizeMenu=function(){this.menu.element.outerWidth(this.element.outerWidth())};var Ki=r(90628),Xi={};Xi.styleTagTransform=Y(),Xi.setAttributes=U(),Xi.insert=j().bind(null,"head"),Xi.domAPI=N(),Xi.insertStyleElement=F(),R()(Ki.A,Xi),Ki.A&&Ki.A.locals&&Ki.A.locals;var Zi=r(2791),Ji={};Ji.styleTagTransform=Y(),Ji.setAttributes=U(),Ji.insert=j().bind(null,"head"),Ji.domAPI=N(),Ji.insertStyleElement=F(),R()(Zi.A,Ji),Zi.A&&Zi.A.locals&&Zi.A.locals,p().ajaxSetup({contents:{script:!1}}),p().globalEval=function(){},r.nc=(0,u.aV)(),window.addEventListener("DOMContentLoaded",function(){hi(),function(){let t=p()("[data-apps-slide-toggle]");0===t.length&&p()("#app-navigation").addClass("without-app-settings"),p()(document).click(function(e){oe&&(t=p()("[data-apps-slide-toggle]")),t.each(function(t,i){const n=p()(i).data("apps-slide-toggle"),r=p()(n);function o(){r.slideUp(4*OC.menuSpeed,function(){r.trigger(new(p().Event)("hide"))}),r.removeClass("opened"),p()(i).removeClass("opened"),p()(i).attr("aria-expanded","false")}if(!r.is(":animated"))if(p()(i).is(p()(e.target).closest("[data-apps-slide-toggle]")))r.is(":visible")?o():function(){r.slideDown(4*OC.menuSpeed,function(){r.trigger(new(p().Event)("show"))}),r.addClass("opened"),p()(i).addClass("opened"),p()(i).attr("aria-expanded","true");const t=p()(n+" [autofocus]");1===t.length&&t.focus()}();else{const t=p()(e.target).closest(n);r.is(":visible")&&t[0]!==r[0]&&o()}})})}(),window.history.pushState?window.onpopstate=l.default.bind($e.Util.History._onPopState,$e.Util.History):window.onhashchange=l.default.bind($e.Util.History._onPopState,$e.Util.History)}),document.addEventListener("DOMContentLoaded",function(){const t=document.getElementById("password-input-form");t&&t.addEventListener("submit",async function(e){e.preventDefault();const i=document.getElementById("requesttoken");if(i){const t=(0,h.Jv)("/csrftoken"),e=await c.Ay.get(t);i.value=e.data.token}t.submit()})})},21391(t,e,i){var n,r,o;o="object"==typeof self&&self.self===self&&self||"object"==typeof globalThis&&globalThis.global===globalThis&&globalThis,n=[i(86860),i(74692),e],r=function(t,e,i){o.Backbone=function(t,e,i,n){var r=t.Backbone,o=Array.prototype.slice;e.VERSION="1.6.1",e.$=n,e.noConflict=function(){return t.Backbone=r,this},e.emulateHTTP=!1,e.emulateJSON=!1;var s,a=e.Events={},u=/\s+/,c=function(t,e,n,r,o){var s,a=0;if(n&&"object"==typeof n){void 0!==r&&"context"in o&&void 0===o.context&&(o.context=r);for(s=i.keys(n);athis.length&&(r=this.length),r<0&&(r+=this.length+1);var o,s,a=[],u=[],c=[],h=[],l={},d=e.add,f=e.merge,p=e.remove,g=!1,A=this.comparator&&null==r&&!1!==e.sort,m=i.isString(this.comparator)?this.comparator:null;for(s=0;s0&&!e.silent&&delete e.index,i},_isModel:function(t){return t instanceof m},_addReference:function(t,e){this._byId[t.cid]=t;var i=this.modelId(t.attributes,t.idAttribute);null!=i&&(this._byId[i]=t),t.on("all",this._onModelEvent,this)},_removeReference:function(t,e){delete this._byId[t.cid];var i=this.modelId(t.attributes,t.idAttribute);null!=i&&delete this._byId[i],this===t.collection&&delete t.collection,t.off("all",this._onModelEvent,this)},_onModelEvent:function(t,e,i,n){if(e){if(("add"===t||"remove"===t)&&i!==this)return;if("destroy"===t&&this.remove(e,n),"changeId"===t){var r=this.modelId(e.previousAttributes(),e.idAttribute),o=this.modelId(e.attributes,e.idAttribute);null!=r&&delete this._byId[r],null!=o&&(this._byId[o]=e)}}this.trigger.apply(this,arguments)},_forwardPristineError:function(t,e,i){this.has(t)||this._onModelEvent("error",t,e,i)}});var C="function"==typeof Symbol&&Symbol.iterator;C&&(v.prototype[C]=v.prototype.values);var x=function(t,e){this._collection=t,this._kind=e,this._index=0},k=1,_=2,M=3;C&&(x.prototype[C]=function(){return this}),x.prototype.next=function(){if(this._collection){if(this._index7),this._useHashChange=this._wantsHashChange&&this._hasHashChange,this._wantsPushState=!!this.options.pushState,this._hasPushState=!(!this.history||!this.history.pushState),this._usePushState=this._wantsPushState&&this._hasPushState,this.fragment=this.getFragment(),this.root=("/"+this.root+"/").replace(U,"/"),this._wantsHashChange&&this._wantsPushState){if(!this._hasPushState&&!this.atRoot()){var e=this.root.slice(0,-1)||"/";return this.location.replace(e+"#"+this.getPath()),!0}this._hasPushState&&this.atRoot()&&this.navigate(this.getHash(),{replace:!0})}if(!this._hasHashChange&&this._wantsHashChange&&!this._usePushState){this.iframe=document.createElement("iframe"),this.iframe.src="javascript:0",this.iframe.style.display="none",this.iframe.tabIndex=-1;var n=document.body,r=n.insertBefore(this.iframe,n.firstChild).contentWindow;r.document.open(),r.document.close(),r.location.hash="#"+this.fragment}var o=window.addEventListener||function(t,e){return attachEvent("on"+t,e)};if(this._usePushState?o("popstate",this.checkUrl,!1):this._useHashChange&&!this.iframe?o("hashchange",this.checkUrl,!1):this._wantsHashChange&&(this._checkUrlInterval=setInterval(this.checkUrl,this.interval)),!this.options.silent)return this.loadUrl()},stop:function(){var t=window.removeEventListener||function(t,e){return detachEvent("on"+t,e)};this._usePushState?t("popstate",this.checkUrl,!1):this._useHashChange&&!this.iframe&&t("hashchange",this.checkUrl,!1),this.iframe&&(document.body.removeChild(this.iframe),this.iframe=null),this._checkUrlInterval&&clearInterval(this._checkUrlInterval),j.started=!1},route:function(t,e){this.handlers.unshift({route:t,callback:e})},checkUrl:function(t){var e=this.getFragment();if(e===this.fragment&&this.iframe&&(e=this.getHash(this.iframe.contentWindow)),e===this.fragment)return!this.matchRoot()&&this.notfound();this.iframe&&this.navigate(e),this.loadUrl()},loadUrl:function(t){return this.matchRoot()?(t=this.fragment=this.getFragment(t),i.some(this.handlers,function(e){if(e.route.test(t))return e.callback(t),!0})||this.notfound()):this.notfound()},notfound:function(){return this.trigger("notfound"),!1},navigate:function(t,e){if(!j.started)return!1;e&&!0!==e||(e={trigger:!!e}),t=this.getFragment(t||"");var i=this.root;this._trailingSlash||""!==t&&"?"!==t.charAt(0)||(i=i.slice(0,-1)||"/");var n=i+t;t=t.replace(q,"");var r=this.decodeFragment(t);if(this.fragment!==r){if(this.fragment=r,this._usePushState)this.history[e.replace?"replaceState":"pushState"]({},document.title,n);else{if(!this._wantsHashChange)return this.location.assign(n);if(this._updateHash(this.location,t,e.replace),this.iframe&&t!==this.getHash(this.iframe.contentWindow)){var o=this.iframe.contentWindow;e.replace||(o.document.open(),o.document.close()),this._updateHash(o.location,t,e.replace)}}return e.trigger?this.loadUrl(t):void 0}},_updateHash:function(t,e,i){if(i){var n=t.href.replace(/(javascript:|#).*$/,"");t.replace(n+"#"+e)}else t.hash="#"+e}}),e.history=new j;m.extend=v.extend=P.extend=B.extend=j.extend=function(t,e){var n,r=this;return n=t&&i.has(t,"constructor")?t.constructor:function(){return r.apply(this,arguments)},i.extend(n,r,e),n.prototype=i.create(r.prototype,t),n.prototype.constructor=n,n.__super__=r.prototype,n};var F=function(){throw new Error('A "url" property or function must be specified')},W=function(t,e){var i=e.error;e.error=function(n){i&&i.call(e.context,t,n,e),t.trigger("error",t,n,e)}};return e._debug=function(){return{root:t,_:i}},e}(o,i,t,e)}.apply(e,n),void 0===r||(t.exports=r)},39404(t,e,i){!function(t,e){"use strict";function n(t,e){if(!t)throw new Error(e||"Assertion failed")}function r(t,e){t.super_=e;var i=function(){};i.prototype=e.prototype,t.prototype=new i,t.prototype.constructor=t}function o(t,e,i){if(o.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(i=e,e=10),this._init(t||0,e||10,i||"be"))}var s;"object"==typeof t?t.exports=o:e.BN=o,o.BN=o,o.wordSize=26;try{s="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:i(47790).Buffer}catch(t){}function a(t,e){var i=t.charCodeAt(e);return i>=48&&i<=57?i-48:i>=65&&i<=70?i-55:i>=97&&i<=102?i-87:void n(!1,"Invalid character in "+t)}function u(t,e,i){var n=a(t,i);return i-1>=e&&(n|=a(t,i-1)<<4),n}function c(t,e,i,r){for(var o=0,s=0,a=Math.min(t.length,i),u=e;u=49?c-49+10:c>=17?c-17+10:c,n(c>=0&&s0?t:e},o.min=function(t,e){return t.cmp(e)<0?t:e},o.prototype._init=function(t,e,i){if("number"==typeof t)return this._initNumber(t,e,i);if("object"==typeof t)return this._initArray(t,e,i);"hex"===e&&(e=16),n(e===(0|e)&&e>=2&&e<=36);var r=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(r++,this.negative=1),r=0;r-=3)s=t[r]|t[r-1]<<8|t[r-2]<<16,this.words[o]|=s<>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);else if("le"===i)for(r=0,o=0;r>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);return this._strip()},o.prototype._parseHex=function(t,e,i){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var n=0;n=e;n-=2)r=u(t,e,n)<=18?(o-=18,s+=1,this.words[s]|=r>>>26):o+=8;else for(n=(t.length-e)%2==0?e+1:e;n=18?(o-=18,s+=1,this.words[s]|=r>>>26):o+=8;this._strip()},o.prototype._parseBase=function(t,e,i){this.words=[0],this.length=1;for(var n=0,r=1;r<=67108863;r*=e)n++;n--,r=r/e|0;for(var o=t.length-i,s=o%n,a=Math.min(o,o-s)+i,u=0,h=i;h1&&0===this.words[this.length-1];)this.length--;return this._normSign()},o.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},"undefined"!=typeof Symbol&&"function"==typeof Symbol.for)try{o.prototype[Symbol.for("nodejs.util.inspect.custom")]=l}catch(t){o.prototype.inspect=l}else o.prototype.inspect=l;function l(){return(this.red?""}var d=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],f=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],p=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function g(t,e,i){i.negative=e.negative^t.negative;var n=t.length+e.length|0;i.length=n,n=n-1|0;var r=0|t.words[0],o=0|e.words[0],s=r*o,a=67108863&s,u=s/67108864|0;i.words[0]=a;for(var c=1;c>>26,l=67108863&u,d=Math.min(c,e.length-1),f=Math.max(0,c-t.length+1);f<=d;f++){var p=c-f|0;h+=(s=(r=0|t.words[p])*(o=0|e.words[f])+l)/67108864|0,l=67108863&s}i.words[c]=0|l,u=0|h}return 0!==u?i.words[c]=0|u:i.length--,i._strip()}o.prototype.toString=function(t,e){var i;if(e=0|e||1,16===(t=t||10)||"hex"===t){i="";for(var r=0,o=0,s=0;s>>24-r&16777215,(r+=2)>=26&&(r-=26,s--),i=0!==o||s!==this.length-1?d[6-u.length]+u+i:u+i}for(0!==o&&(i=o.toString(16)+i);i.length%e!==0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}if(t===(0|t)&&t>=2&&t<=36){var c=f[t],h=p[t];i="";var l=this.clone();for(l.negative=0;!l.isZero();){var g=l.modrn(h).toString(t);i=(l=l.idivn(h)).isZero()?g+i:d[c-g.length]+g+i}for(this.isZero()&&(i="0"+i);i.length%e!==0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}n(!1,"Base should be between 2 and 36")},o.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},o.prototype.toJSON=function(){return this.toString(16,2)},s&&(o.prototype.toBuffer=function(t,e){return this.toArrayLike(s,t,e)}),o.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},o.prototype.toArrayLike=function(t,e,i){this._strip();var r=this.byteLength(),o=i||Math.max(1,r);n(r<=o,"byte array longer than desired length"),n(o>0,"Requested array length <= 0");var s=function(t,e){return t.allocUnsafe?t.allocUnsafe(e):new t(e)}(t,o);return this["_toArrayLike"+("le"===e?"LE":"BE")](s,r),s},o.prototype._toArrayLikeLE=function(t,e){for(var i=0,n=0,r=0,o=0;r>8&255),i>16&255),6===o?(i>24&255),n=0,o=0):(n=s>>>24,o+=2)}if(i=0&&(t[i--]=s>>8&255),i>=0&&(t[i--]=s>>16&255),6===o?(i>=0&&(t[i--]=s>>24&255),n=0,o=0):(n=s>>>24,o+=2)}if(i>=0)for(t[i--]=n;i>=0;)t[i--]=0},Math.clz32?o.prototype._countBits=function(t){return 32-Math.clz32(t)}:o.prototype._countBits=function(t){var e=t,i=0;return e>=4096&&(i+=13,e>>>=13),e>=64&&(i+=7,e>>>=7),e>=8&&(i+=4,e>>>=4),e>=2&&(i+=2,e>>>=2),i+e},o.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,i=0;return 8191&e||(i+=13,e>>>=13),127&e||(i+=7,e>>>=7),15&e||(i+=4,e>>>=4),3&e||(i+=2,e>>>=2),1&e||i++,i},o.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},o.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},o.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},o.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var i=0;it.length?this.clone().iand(t):t.clone().iand(this)},o.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},o.prototype.iuxor=function(t){var e,i;this.length>t.length?(e=this,i=t):(e=t,i=this);for(var n=0;nt.length?this.clone().ixor(t):t.clone().ixor(this)},o.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},o.prototype.inotn=function(t){n("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),i=t%26;this._expand(e),i>0&&e--;for(var r=0;r0&&(this.words[r]=~this.words[r]&67108863>>26-i),this._strip()},o.prototype.notn=function(t){return this.clone().inotn(t)},o.prototype.setn=function(t,e){n("number"==typeof t&&t>=0);var i=t/26|0,r=t%26;return this._expand(i+1),this.words[i]=e?this.words[i]|1<t.length?(i=this,n=t):(i=t,n=this);for(var r=0,o=0;o>>26;for(;0!==r&&o>>26;if(this.length=i.length,0!==r)this.words[this.length]=r,this.length++;else if(i!==this)for(;ot.length?this.clone().iadd(t):t.clone().iadd(this)},o.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var i,n,r=this.cmp(t);if(0===r)return this.negative=0,this.length=1,this.words[0]=0,this;r>0?(i=this,n=t):(i=t,n=this);for(var o=0,s=0;s>26,this.words[s]=67108863&e;for(;0!==o&&s>26,this.words[s]=67108863&e;if(0===o&&s>>13,f=0|s[1],p=8191&f,g=f>>>13,A=0|s[2],m=8191&A,v=A>>>13,b=0|s[3],y=8191&b,w=b>>>13,C=0|s[4],x=8191&C,k=C>>>13,_=0|s[5],M=8191&_,B=_>>>13,E=0|s[6],I=8191&E,S=E>>>13,D=0|s[7],T=8191&D,O=D>>>13,P=0|s[8],R=8191&P,z=P>>>13,N=0|s[9],H=8191&N,j=N>>>13,L=0|a[0],U=8191&L,q=L>>>13,F=0|a[1],W=8191&F,Y=F>>>13,Q=0|a[2],G=8191&Q,V=Q>>>13,K=0|a[3],X=8191&K,Z=K>>>13,J=0|a[4],$=8191&J,tt=J>>>13,et=0|a[5],it=8191&et,nt=et>>>13,rt=0|a[6],ot=8191&rt,st=rt>>>13,at=0|a[7],ut=8191&at,ct=at>>>13,ht=0|a[8],lt=8191&ht,dt=ht>>>13,ft=0|a[9],pt=8191&ft,gt=ft>>>13;i.negative=t.negative^e.negative,i.length=19;var At=(c+(n=Math.imul(l,U))|0)+((8191&(r=(r=Math.imul(l,q))+Math.imul(d,U)|0))<<13)|0;c=((o=Math.imul(d,q))+(r>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(p,U),r=(r=Math.imul(p,q))+Math.imul(g,U)|0,o=Math.imul(g,q);var mt=(c+(n=n+Math.imul(l,W)|0)|0)+((8191&(r=(r=r+Math.imul(l,Y)|0)+Math.imul(d,W)|0))<<13)|0;c=((o=o+Math.imul(d,Y)|0)+(r>>>13)|0)+(mt>>>26)|0,mt&=67108863,n=Math.imul(m,U),r=(r=Math.imul(m,q))+Math.imul(v,U)|0,o=Math.imul(v,q),n=n+Math.imul(p,W)|0,r=(r=r+Math.imul(p,Y)|0)+Math.imul(g,W)|0,o=o+Math.imul(g,Y)|0;var vt=(c+(n=n+Math.imul(l,G)|0)|0)+((8191&(r=(r=r+Math.imul(l,V)|0)+Math.imul(d,G)|0))<<13)|0;c=((o=o+Math.imul(d,V)|0)+(r>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(y,U),r=(r=Math.imul(y,q))+Math.imul(w,U)|0,o=Math.imul(w,q),n=n+Math.imul(m,W)|0,r=(r=r+Math.imul(m,Y)|0)+Math.imul(v,W)|0,o=o+Math.imul(v,Y)|0,n=n+Math.imul(p,G)|0,r=(r=r+Math.imul(p,V)|0)+Math.imul(g,G)|0,o=o+Math.imul(g,V)|0;var bt=(c+(n=n+Math.imul(l,X)|0)|0)+((8191&(r=(r=r+Math.imul(l,Z)|0)+Math.imul(d,X)|0))<<13)|0;c=((o=o+Math.imul(d,Z)|0)+(r>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(x,U),r=(r=Math.imul(x,q))+Math.imul(k,U)|0,o=Math.imul(k,q),n=n+Math.imul(y,W)|0,r=(r=r+Math.imul(y,Y)|0)+Math.imul(w,W)|0,o=o+Math.imul(w,Y)|0,n=n+Math.imul(m,G)|0,r=(r=r+Math.imul(m,V)|0)+Math.imul(v,G)|0,o=o+Math.imul(v,V)|0,n=n+Math.imul(p,X)|0,r=(r=r+Math.imul(p,Z)|0)+Math.imul(g,X)|0,o=o+Math.imul(g,Z)|0;var yt=(c+(n=n+Math.imul(l,$)|0)|0)+((8191&(r=(r=r+Math.imul(l,tt)|0)+Math.imul(d,$)|0))<<13)|0;c=((o=o+Math.imul(d,tt)|0)+(r>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(M,U),r=(r=Math.imul(M,q))+Math.imul(B,U)|0,o=Math.imul(B,q),n=n+Math.imul(x,W)|0,r=(r=r+Math.imul(x,Y)|0)+Math.imul(k,W)|0,o=o+Math.imul(k,Y)|0,n=n+Math.imul(y,G)|0,r=(r=r+Math.imul(y,V)|0)+Math.imul(w,G)|0,o=o+Math.imul(w,V)|0,n=n+Math.imul(m,X)|0,r=(r=r+Math.imul(m,Z)|0)+Math.imul(v,X)|0,o=o+Math.imul(v,Z)|0,n=n+Math.imul(p,$)|0,r=(r=r+Math.imul(p,tt)|0)+Math.imul(g,$)|0,o=o+Math.imul(g,tt)|0;var wt=(c+(n=n+Math.imul(l,it)|0)|0)+((8191&(r=(r=r+Math.imul(l,nt)|0)+Math.imul(d,it)|0))<<13)|0;c=((o=o+Math.imul(d,nt)|0)+(r>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(I,U),r=(r=Math.imul(I,q))+Math.imul(S,U)|0,o=Math.imul(S,q),n=n+Math.imul(M,W)|0,r=(r=r+Math.imul(M,Y)|0)+Math.imul(B,W)|0,o=o+Math.imul(B,Y)|0,n=n+Math.imul(x,G)|0,r=(r=r+Math.imul(x,V)|0)+Math.imul(k,G)|0,o=o+Math.imul(k,V)|0,n=n+Math.imul(y,X)|0,r=(r=r+Math.imul(y,Z)|0)+Math.imul(w,X)|0,o=o+Math.imul(w,Z)|0,n=n+Math.imul(m,$)|0,r=(r=r+Math.imul(m,tt)|0)+Math.imul(v,$)|0,o=o+Math.imul(v,tt)|0,n=n+Math.imul(p,it)|0,r=(r=r+Math.imul(p,nt)|0)+Math.imul(g,it)|0,o=o+Math.imul(g,nt)|0;var Ct=(c+(n=n+Math.imul(l,ot)|0)|0)+((8191&(r=(r=r+Math.imul(l,st)|0)+Math.imul(d,ot)|0))<<13)|0;c=((o=o+Math.imul(d,st)|0)+(r>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,n=Math.imul(T,U),r=(r=Math.imul(T,q))+Math.imul(O,U)|0,o=Math.imul(O,q),n=n+Math.imul(I,W)|0,r=(r=r+Math.imul(I,Y)|0)+Math.imul(S,W)|0,o=o+Math.imul(S,Y)|0,n=n+Math.imul(M,G)|0,r=(r=r+Math.imul(M,V)|0)+Math.imul(B,G)|0,o=o+Math.imul(B,V)|0,n=n+Math.imul(x,X)|0,r=(r=r+Math.imul(x,Z)|0)+Math.imul(k,X)|0,o=o+Math.imul(k,Z)|0,n=n+Math.imul(y,$)|0,r=(r=r+Math.imul(y,tt)|0)+Math.imul(w,$)|0,o=o+Math.imul(w,tt)|0,n=n+Math.imul(m,it)|0,r=(r=r+Math.imul(m,nt)|0)+Math.imul(v,it)|0,o=o+Math.imul(v,nt)|0,n=n+Math.imul(p,ot)|0,r=(r=r+Math.imul(p,st)|0)+Math.imul(g,ot)|0,o=o+Math.imul(g,st)|0;var xt=(c+(n=n+Math.imul(l,ut)|0)|0)+((8191&(r=(r=r+Math.imul(l,ct)|0)+Math.imul(d,ut)|0))<<13)|0;c=((o=o+Math.imul(d,ct)|0)+(r>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(R,U),r=(r=Math.imul(R,q))+Math.imul(z,U)|0,o=Math.imul(z,q),n=n+Math.imul(T,W)|0,r=(r=r+Math.imul(T,Y)|0)+Math.imul(O,W)|0,o=o+Math.imul(O,Y)|0,n=n+Math.imul(I,G)|0,r=(r=r+Math.imul(I,V)|0)+Math.imul(S,G)|0,o=o+Math.imul(S,V)|0,n=n+Math.imul(M,X)|0,r=(r=r+Math.imul(M,Z)|0)+Math.imul(B,X)|0,o=o+Math.imul(B,Z)|0,n=n+Math.imul(x,$)|0,r=(r=r+Math.imul(x,tt)|0)+Math.imul(k,$)|0,o=o+Math.imul(k,tt)|0,n=n+Math.imul(y,it)|0,r=(r=r+Math.imul(y,nt)|0)+Math.imul(w,it)|0,o=o+Math.imul(w,nt)|0,n=n+Math.imul(m,ot)|0,r=(r=r+Math.imul(m,st)|0)+Math.imul(v,ot)|0,o=o+Math.imul(v,st)|0,n=n+Math.imul(p,ut)|0,r=(r=r+Math.imul(p,ct)|0)+Math.imul(g,ut)|0,o=o+Math.imul(g,ct)|0;var kt=(c+(n=n+Math.imul(l,lt)|0)|0)+((8191&(r=(r=r+Math.imul(l,dt)|0)+Math.imul(d,lt)|0))<<13)|0;c=((o=o+Math.imul(d,dt)|0)+(r>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(H,U),r=(r=Math.imul(H,q))+Math.imul(j,U)|0,o=Math.imul(j,q),n=n+Math.imul(R,W)|0,r=(r=r+Math.imul(R,Y)|0)+Math.imul(z,W)|0,o=o+Math.imul(z,Y)|0,n=n+Math.imul(T,G)|0,r=(r=r+Math.imul(T,V)|0)+Math.imul(O,G)|0,o=o+Math.imul(O,V)|0,n=n+Math.imul(I,X)|0,r=(r=r+Math.imul(I,Z)|0)+Math.imul(S,X)|0,o=o+Math.imul(S,Z)|0,n=n+Math.imul(M,$)|0,r=(r=r+Math.imul(M,tt)|0)+Math.imul(B,$)|0,o=o+Math.imul(B,tt)|0,n=n+Math.imul(x,it)|0,r=(r=r+Math.imul(x,nt)|0)+Math.imul(k,it)|0,o=o+Math.imul(k,nt)|0,n=n+Math.imul(y,ot)|0,r=(r=r+Math.imul(y,st)|0)+Math.imul(w,ot)|0,o=o+Math.imul(w,st)|0,n=n+Math.imul(m,ut)|0,r=(r=r+Math.imul(m,ct)|0)+Math.imul(v,ut)|0,o=o+Math.imul(v,ct)|0,n=n+Math.imul(p,lt)|0,r=(r=r+Math.imul(p,dt)|0)+Math.imul(g,lt)|0,o=o+Math.imul(g,dt)|0;var _t=(c+(n=n+Math.imul(l,pt)|0)|0)+((8191&(r=(r=r+Math.imul(l,gt)|0)+Math.imul(d,pt)|0))<<13)|0;c=((o=o+Math.imul(d,gt)|0)+(r>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(H,W),r=(r=Math.imul(H,Y))+Math.imul(j,W)|0,o=Math.imul(j,Y),n=n+Math.imul(R,G)|0,r=(r=r+Math.imul(R,V)|0)+Math.imul(z,G)|0,o=o+Math.imul(z,V)|0,n=n+Math.imul(T,X)|0,r=(r=r+Math.imul(T,Z)|0)+Math.imul(O,X)|0,o=o+Math.imul(O,Z)|0,n=n+Math.imul(I,$)|0,r=(r=r+Math.imul(I,tt)|0)+Math.imul(S,$)|0,o=o+Math.imul(S,tt)|0,n=n+Math.imul(M,it)|0,r=(r=r+Math.imul(M,nt)|0)+Math.imul(B,it)|0,o=o+Math.imul(B,nt)|0,n=n+Math.imul(x,ot)|0,r=(r=r+Math.imul(x,st)|0)+Math.imul(k,ot)|0,o=o+Math.imul(k,st)|0,n=n+Math.imul(y,ut)|0,r=(r=r+Math.imul(y,ct)|0)+Math.imul(w,ut)|0,o=o+Math.imul(w,ct)|0,n=n+Math.imul(m,lt)|0,r=(r=r+Math.imul(m,dt)|0)+Math.imul(v,lt)|0,o=o+Math.imul(v,dt)|0;var Mt=(c+(n=n+Math.imul(p,pt)|0)|0)+((8191&(r=(r=r+Math.imul(p,gt)|0)+Math.imul(g,pt)|0))<<13)|0;c=((o=o+Math.imul(g,gt)|0)+(r>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(H,G),r=(r=Math.imul(H,V))+Math.imul(j,G)|0,o=Math.imul(j,V),n=n+Math.imul(R,X)|0,r=(r=r+Math.imul(R,Z)|0)+Math.imul(z,X)|0,o=o+Math.imul(z,Z)|0,n=n+Math.imul(T,$)|0,r=(r=r+Math.imul(T,tt)|0)+Math.imul(O,$)|0,o=o+Math.imul(O,tt)|0,n=n+Math.imul(I,it)|0,r=(r=r+Math.imul(I,nt)|0)+Math.imul(S,it)|0,o=o+Math.imul(S,nt)|0,n=n+Math.imul(M,ot)|0,r=(r=r+Math.imul(M,st)|0)+Math.imul(B,ot)|0,o=o+Math.imul(B,st)|0,n=n+Math.imul(x,ut)|0,r=(r=r+Math.imul(x,ct)|0)+Math.imul(k,ut)|0,o=o+Math.imul(k,ct)|0,n=n+Math.imul(y,lt)|0,r=(r=r+Math.imul(y,dt)|0)+Math.imul(w,lt)|0,o=o+Math.imul(w,dt)|0;var Bt=(c+(n=n+Math.imul(m,pt)|0)|0)+((8191&(r=(r=r+Math.imul(m,gt)|0)+Math.imul(v,pt)|0))<<13)|0;c=((o=o+Math.imul(v,gt)|0)+(r>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,n=Math.imul(H,X),r=(r=Math.imul(H,Z))+Math.imul(j,X)|0,o=Math.imul(j,Z),n=n+Math.imul(R,$)|0,r=(r=r+Math.imul(R,tt)|0)+Math.imul(z,$)|0,o=o+Math.imul(z,tt)|0,n=n+Math.imul(T,it)|0,r=(r=r+Math.imul(T,nt)|0)+Math.imul(O,it)|0,o=o+Math.imul(O,nt)|0,n=n+Math.imul(I,ot)|0,r=(r=r+Math.imul(I,st)|0)+Math.imul(S,ot)|0,o=o+Math.imul(S,st)|0,n=n+Math.imul(M,ut)|0,r=(r=r+Math.imul(M,ct)|0)+Math.imul(B,ut)|0,o=o+Math.imul(B,ct)|0,n=n+Math.imul(x,lt)|0,r=(r=r+Math.imul(x,dt)|0)+Math.imul(k,lt)|0,o=o+Math.imul(k,dt)|0;var Et=(c+(n=n+Math.imul(y,pt)|0)|0)+((8191&(r=(r=r+Math.imul(y,gt)|0)+Math.imul(w,pt)|0))<<13)|0;c=((o=o+Math.imul(w,gt)|0)+(r>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(H,$),r=(r=Math.imul(H,tt))+Math.imul(j,$)|0,o=Math.imul(j,tt),n=n+Math.imul(R,it)|0,r=(r=r+Math.imul(R,nt)|0)+Math.imul(z,it)|0,o=o+Math.imul(z,nt)|0,n=n+Math.imul(T,ot)|0,r=(r=r+Math.imul(T,st)|0)+Math.imul(O,ot)|0,o=o+Math.imul(O,st)|0,n=n+Math.imul(I,ut)|0,r=(r=r+Math.imul(I,ct)|0)+Math.imul(S,ut)|0,o=o+Math.imul(S,ct)|0,n=n+Math.imul(M,lt)|0,r=(r=r+Math.imul(M,dt)|0)+Math.imul(B,lt)|0,o=o+Math.imul(B,dt)|0;var It=(c+(n=n+Math.imul(x,pt)|0)|0)+((8191&(r=(r=r+Math.imul(x,gt)|0)+Math.imul(k,pt)|0))<<13)|0;c=((o=o+Math.imul(k,gt)|0)+(r>>>13)|0)+(It>>>26)|0,It&=67108863,n=Math.imul(H,it),r=(r=Math.imul(H,nt))+Math.imul(j,it)|0,o=Math.imul(j,nt),n=n+Math.imul(R,ot)|0,r=(r=r+Math.imul(R,st)|0)+Math.imul(z,ot)|0,o=o+Math.imul(z,st)|0,n=n+Math.imul(T,ut)|0,r=(r=r+Math.imul(T,ct)|0)+Math.imul(O,ut)|0,o=o+Math.imul(O,ct)|0,n=n+Math.imul(I,lt)|0,r=(r=r+Math.imul(I,dt)|0)+Math.imul(S,lt)|0,o=o+Math.imul(S,dt)|0;var St=(c+(n=n+Math.imul(M,pt)|0)|0)+((8191&(r=(r=r+Math.imul(M,gt)|0)+Math.imul(B,pt)|0))<<13)|0;c=((o=o+Math.imul(B,gt)|0)+(r>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(H,ot),r=(r=Math.imul(H,st))+Math.imul(j,ot)|0,o=Math.imul(j,st),n=n+Math.imul(R,ut)|0,r=(r=r+Math.imul(R,ct)|0)+Math.imul(z,ut)|0,o=o+Math.imul(z,ct)|0,n=n+Math.imul(T,lt)|0,r=(r=r+Math.imul(T,dt)|0)+Math.imul(O,lt)|0,o=o+Math.imul(O,dt)|0;var Dt=(c+(n=n+Math.imul(I,pt)|0)|0)+((8191&(r=(r=r+Math.imul(I,gt)|0)+Math.imul(S,pt)|0))<<13)|0;c=((o=o+Math.imul(S,gt)|0)+(r>>>13)|0)+(Dt>>>26)|0,Dt&=67108863,n=Math.imul(H,ut),r=(r=Math.imul(H,ct))+Math.imul(j,ut)|0,o=Math.imul(j,ct),n=n+Math.imul(R,lt)|0,r=(r=r+Math.imul(R,dt)|0)+Math.imul(z,lt)|0,o=o+Math.imul(z,dt)|0;var Tt=(c+(n=n+Math.imul(T,pt)|0)|0)+((8191&(r=(r=r+Math.imul(T,gt)|0)+Math.imul(O,pt)|0))<<13)|0;c=((o=o+Math.imul(O,gt)|0)+(r>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(H,lt),r=(r=Math.imul(H,dt))+Math.imul(j,lt)|0,o=Math.imul(j,dt);var Ot=(c+(n=n+Math.imul(R,pt)|0)|0)+((8191&(r=(r=r+Math.imul(R,gt)|0)+Math.imul(z,pt)|0))<<13)|0;c=((o=o+Math.imul(z,gt)|0)+(r>>>13)|0)+(Ot>>>26)|0,Ot&=67108863;var Pt=(c+(n=Math.imul(H,pt))|0)+((8191&(r=(r=Math.imul(H,gt))+Math.imul(j,pt)|0))<<13)|0;return c=((o=Math.imul(j,gt))+(r>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,u[0]=At,u[1]=mt,u[2]=vt,u[3]=bt,u[4]=yt,u[5]=wt,u[6]=Ct,u[7]=xt,u[8]=kt,u[9]=_t,u[10]=Mt,u[11]=Bt,u[12]=Et,u[13]=It,u[14]=St,u[15]=Dt,u[16]=Tt,u[17]=Ot,u[18]=Pt,0!==c&&(u[19]=c,i.length++),i};function m(t,e,i){i.negative=e.negative^t.negative,i.length=t.length+e.length;for(var n=0,r=0,o=0;o>>26)|0)>>>26,s&=67108863}i.words[o]=a,n=s,s=r}return 0!==n?i.words[o]=n:i.length--,i._strip()}function v(t,e,i){return m(t,e,i)}function b(t,e){this.x=t,this.y=e}Math.imul||(A=g),o.prototype.mulTo=function(t,e){var i=this.length+t.length;return 10===this.length&&10===t.length?A(this,t,e):i<63?g(this,t,e):i<1024?m(this,t,e):v(this,t,e)},b.prototype.makeRBT=function(t){for(var e=new Array(t),i=o.prototype._countBits(t)-1,n=0;n>=1;return n},b.prototype.permute=function(t,e,i,n,r,o){for(var s=0;s>>=1)r++;return 1<>>=13,i[2*s+1]=8191&o,o>>>=13;for(s=2*e;s>=26,i+=o/67108864|0,i+=s>>>26,this.words[r]=67108863&s}return 0!==i&&(this.words[r]=i,this.length++),this.length=0===t?1:this.length,e?this.ineg():this},o.prototype.muln=function(t){return this.clone().imuln(t)},o.prototype.sqr=function(){return this.mul(this)},o.prototype.isqr=function(){return this.imul(this.clone())},o.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),i=0;i>>r&1}return e}(t);if(0===e.length)return new o(1);for(var i=this,n=0;n=0);var e,i=t%26,r=(t-i)/26,o=67108863>>>26-i<<26-i;if(0!==i){var s=0;for(e=0;e>>26-i}s&&(this.words[e]=s,this.length++)}if(0!==r){for(e=this.length-1;e>=0;e--)this.words[e+r]=this.words[e];for(e=0;e=0),r=e?(e-e%26)/26:0;var o=t%26,s=Math.min((t-o)/26,this.length),a=67108863^67108863>>>o<s)for(this.length-=s,c=0;c=0&&(0!==h||c>=r);c--){var l=0|this.words[c];this.words[c]=h<<26-o|l>>>o,h=l&a}return u&&0!==h&&(u.words[u.length++]=h),0===this.length&&(this.words[0]=0,this.length=1),this._strip()},o.prototype.ishrn=function(t,e,i){return n(0===this.negative),this.iushrn(t,e,i)},o.prototype.shln=function(t){return this.clone().ishln(t)},o.prototype.ushln=function(t){return this.clone().iushln(t)},o.prototype.shrn=function(t){return this.clone().ishrn(t)},o.prototype.ushrn=function(t){return this.clone().iushrn(t)},o.prototype.testn=function(t){n("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26,r=1<=0);var e=t%26,i=(t-e)/26;if(n(0===this.negative,"imaskn works only with positive numbers"),this.length<=i)return this;if(0!==e&&i++,this.length=Math.min(i,this.length),0!==e){var r=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},o.prototype.isubn=function(t){if(n("number"==typeof t),n(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(u/67108864|0),this.words[r+i]=67108863&o}for(;r>26,this.words[r+i]=67108863&o;if(0===a)return this._strip();for(n(-1===a),a=0,r=0;r>26,this.words[r]=67108863&o;return this.negative=1,this._strip()},o.prototype._wordDiv=function(t,e){var i=(this.length,t.length),n=this.clone(),r=t,s=0|r.words[r.length-1];0!=(i=26-this._countBits(s))&&(r=r.ushln(i),n.iushln(i),s=0|r.words[r.length-1]);var a,u=n.length-r.length;if("mod"!==e){(a=new o(null)).length=u+1,a.words=new Array(a.length);for(var c=0;c=0;l--){var d=67108864*(0|n.words[r.length+l])+(0|n.words[r.length+l-1]);for(d=Math.min(d/s|0,67108863),n._ishlnsubmul(r,d,l);0!==n.negative;)d--,n.negative=0,n._ishlnsubmul(r,1,l),n.isZero()||(n.negative^=1);a&&(a.words[l]=d)}return a&&a._strip(),n._strip(),"div"!==e&&0!==i&&n.iushrn(i),{div:a||null,mod:n}},o.prototype.divmod=function(t,e,i){return n(!t.isZero()),this.isZero()?{div:new o(0),mod:new o(0)}:0!==this.negative&&0===t.negative?(a=this.neg().divmod(t,e),"mod"!==e&&(r=a.div.neg()),"div"!==e&&(s=a.mod.neg(),i&&0!==s.negative&&s.iadd(t)),{div:r,mod:s}):0===this.negative&&0!==t.negative?(a=this.divmod(t.neg(),e),"mod"!==e&&(r=a.div.neg()),{div:r,mod:a.mod}):0!==(this.negative&t.negative)?(a=this.neg().divmod(t.neg(),e),"div"!==e&&(s=a.mod.neg(),i&&0!==s.negative&&s.isub(t)),{div:a.div,mod:s}):t.length>this.length||this.cmp(t)<0?{div:new o(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new o(this.modrn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new o(this.modrn(t.words[0]))}:this._wordDiv(t,e);var r,s,a},o.prototype.div=function(t){return this.divmod(t,"div",!1).div},o.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},o.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},o.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var i=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),r=t.andln(1),o=i.cmp(n);return o<0||1===r&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},o.prototype.modrn=function(t){var e=t<0;e&&(t=-t),n(t<=67108863);for(var i=(1<<26)%t,r=0,o=this.length-1;o>=0;o--)r=(i*r+(0|this.words[o]))%t;return e?-r:r},o.prototype.modn=function(t){return this.modrn(t)},o.prototype.idivn=function(t){var e=t<0;e&&(t=-t),n(t<=67108863);for(var i=0,r=this.length-1;r>=0;r--){var o=(0|this.words[r])+67108864*i;this.words[r]=o/t|0,i=o%t}return this._strip(),e?this.ineg():this},o.prototype.divn=function(t){return this.clone().idivn(t)},o.prototype.egcd=function(t){n(0===t.negative),n(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var r=new o(1),s=new o(0),a=new o(0),u=new o(1),c=0;e.isEven()&&i.isEven();)e.iushrn(1),i.iushrn(1),++c;for(var h=i.clone(),l=e.clone();!e.isZero();){for(var d=0,f=1;0===(e.words[0]&f)&&d<26;++d,f<<=1);if(d>0)for(e.iushrn(d);d-- >0;)(r.isOdd()||s.isOdd())&&(r.iadd(h),s.isub(l)),r.iushrn(1),s.iushrn(1);for(var p=0,g=1;0===(i.words[0]&g)&&p<26;++p,g<<=1);if(p>0)for(i.iushrn(p);p-- >0;)(a.isOdd()||u.isOdd())&&(a.iadd(h),u.isub(l)),a.iushrn(1),u.iushrn(1);e.cmp(i)>=0?(e.isub(i),r.isub(a),s.isub(u)):(i.isub(e),a.isub(r),u.isub(s))}return{a,b:u,gcd:i.iushln(c)}},o.prototype._invmp=function(t){n(0===t.negative),n(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var r,s=new o(1),a=new o(0),u=i.clone();e.cmpn(1)>0&&i.cmpn(1)>0;){for(var c=0,h=1;0===(e.words[0]&h)&&c<26;++c,h<<=1);if(c>0)for(e.iushrn(c);c-- >0;)s.isOdd()&&s.iadd(u),s.iushrn(1);for(var l=0,d=1;0===(i.words[0]&d)&&l<26;++l,d<<=1);if(l>0)for(i.iushrn(l);l-- >0;)a.isOdd()&&a.iadd(u),a.iushrn(1);e.cmp(i)>=0?(e.isub(i),s.isub(a)):(i.isub(e),a.isub(s))}return(r=0===e.cmpn(1)?s:a).cmpn(0)<0&&r.iadd(t),r},o.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),i=t.clone();e.negative=0,i.negative=0;for(var n=0;e.isEven()&&i.isEven();n++)e.iushrn(1),i.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;i.isEven();)i.iushrn(1);var r=e.cmp(i);if(r<0){var o=e;e=i,i=o}else if(0===r||0===i.cmpn(1))break;e.isub(i)}return i.iushln(n)},o.prototype.invm=function(t){return this.egcd(t).a.umod(t)},o.prototype.isEven=function(){return!(1&this.words[0])},o.prototype.isOdd=function(){return!(1&~this.words[0])},o.prototype.andln=function(t){return this.words[0]&t},o.prototype.bincn=function(t){n("number"==typeof t);var e=t%26,i=(t-e)/26,r=1<>>26,a&=67108863,this.words[s]=a}return 0!==o&&(this.words[s]=o,this.length++),this},o.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},o.prototype.cmpn=function(t){var e,i=t<0;if(0!==this.negative&&!i)return-1;if(0===this.negative&&i)return 1;if(this._strip(),this.length>1)e=1;else{i&&(t=-t),n(t<=67108863,"Number is too big");var r=0|this.words[0];e=r===t?0:rt.length)return 1;if(this.length=0;i--){var n=0|this.words[i],r=0|t.words[i];if(n!==r){nr&&(e=1);break}}return e},o.prototype.gtn=function(t){return 1===this.cmpn(t)},o.prototype.gt=function(t){return 1===this.cmp(t)},o.prototype.gten=function(t){return this.cmpn(t)>=0},o.prototype.gte=function(t){return this.cmp(t)>=0},o.prototype.ltn=function(t){return-1===this.cmpn(t)},o.prototype.lt=function(t){return-1===this.cmp(t)},o.prototype.lten=function(t){return this.cmpn(t)<=0},o.prototype.lte=function(t){return this.cmp(t)<=0},o.prototype.eqn=function(t){return 0===this.cmpn(t)},o.prototype.eq=function(t){return 0===this.cmp(t)},o.red=function(t){return new M(t)},o.prototype.toRed=function(t){return n(!this.red,"Already a number in reduction context"),n(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},o.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},o.prototype._forceRed=function(t){return this.red=t,this},o.prototype.forceRed=function(t){return n(!this.red,"Already a number in reduction context"),this._forceRed(t)},o.prototype.redAdd=function(t){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},o.prototype.redIAdd=function(t){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},o.prototype.redSub=function(t){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},o.prototype.redISub=function(t){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},o.prototype.redShl=function(t){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},o.prototype.redMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},o.prototype.redIMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},o.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},o.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},o.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},o.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},o.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},o.prototype.redPow=function(t){return n(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var y={k256:null,p224:null,p192:null,p25519:null};function w(t,e){this.name=t,this.p=new o(e,16),this.n=this.p.bitLength(),this.k=new o(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function C(){w.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function x(){w.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function k(){w.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function _(){w.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function M(t){if("string"==typeof t){var e=o._prime(t);this.m=e.p,this.prime=e}else n(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function B(t){M.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new o(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}w.prototype._tmp=function(){var t=new o(null);return t.words=new Array(Math.ceil(this.n/13)),t},w.prototype.ireduce=function(t){var e,i=t;do{this.split(i,this.tmp),e=(i=(i=this.imulK(i)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e0?i.isub(this.p):void 0!==i.strip?i.strip():i._strip(),i},w.prototype.split=function(t,e){t.iushrn(this.n,0,e)},w.prototype.imulK=function(t){return t.imul(this.k)},r(C,w),C.prototype.split=function(t,e){for(var i=4194303,n=Math.min(t.length,9),r=0;r>>22,o=s}o>>>=22,t.words[r-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},C.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,i=0;i>>=26,t.words[i]=r,e=n}return 0!==e&&(t.words[t.length++]=e),t},o._prime=function(t){if(y[t])return y[t];var e;if("k256"===t)e=new C;else if("p224"===t)e=new x;else if("p192"===t)e=new k;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new _}return y[t]=e,e},M.prototype._verify1=function(t){n(0===t.negative,"red works only with positives"),n(t.red,"red works only with red numbers")},M.prototype._verify2=function(t,e){n(0===(t.negative|e.negative),"red works only with positives"),n(t.red&&t.red===e.red,"red works only with red numbers")},M.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):(h(t,t.umod(this.m)._forceRed(this)),t)},M.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},M.prototype.add=function(t,e){this._verify2(t,e);var i=t.add(e);return i.cmp(this.m)>=0&&i.isub(this.m),i._forceRed(this)},M.prototype.iadd=function(t,e){this._verify2(t,e);var i=t.iadd(e);return i.cmp(this.m)>=0&&i.isub(this.m),i},M.prototype.sub=function(t,e){this._verify2(t,e);var i=t.sub(e);return i.cmpn(0)<0&&i.iadd(this.m),i._forceRed(this)},M.prototype.isub=function(t,e){this._verify2(t,e);var i=t.isub(e);return i.cmpn(0)<0&&i.iadd(this.m),i},M.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},M.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},M.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},M.prototype.isqr=function(t){return this.imul(t,t.clone())},M.prototype.sqr=function(t){return this.mul(t,t)},M.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(n(e%2==1),3===e){var i=this.m.add(new o(1)).iushrn(2);return this.pow(t,i)}for(var r=this.m.subn(1),s=0;!r.isZero()&&0===r.andln(1);)s++,r.iushrn(1);n(!r.isZero());var a=new o(1).toRed(this),u=a.redNeg(),c=this.m.subn(1).iushrn(1),h=this.m.bitLength();for(h=new o(2*h*h).toRed(this);0!==this.pow(h,c).cmp(u);)h.redIAdd(u);for(var l=this.pow(h,r),d=this.pow(t,r.addn(1).iushrn(1)),f=this.pow(t,r),p=s;0!==f.cmp(a);){for(var g=f,A=0;0!==g.cmp(a);A++)g=g.redSqr();n(A=0;n--){for(var c=e.words[n],h=u-1;h>=0;h--){var l=c>>h&1;r!==i[0]&&(r=this.sqr(r)),0!==l||0!==s?(s<<=1,s|=l,(4===++a||0===n&&0===h)&&(r=this.mul(r,i[s]),a=0,s=0)):a=0}u=26}return r},M.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},M.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},o.mont=function(t){return new B(t)},r(B,M),B.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},B.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},B.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var i=t.imul(e),n=i.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),r=i.isub(n).iushrn(this.shift),o=r;return r.cmp(this.m)>=0?o=r.isub(this.m):r.cmpn(0)<0&&(o=r.iadd(this.m)),o._forceRed(this)},B.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new o(0)._forceRed(this);var i=t.mul(e),n=i.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),r=i.isub(n).iushrn(this.shift),s=r;return r.cmp(this.m)>=0?s=r.isub(this.m):r.cmpn(0)<0&&(s=r.iadd(this.m)),s._forceRed(this)},B.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(t=i.nmd(t),this)},15037(t,e,i){var n;function r(t){this.rand=t}if(t.exports=function(t){return n||(n=new r(null)),n.generate(t)},t.exports.Rand=r,r.prototype.generate=function(t){return this._rand(t)},r.prototype._rand=function(t){if(this.rand.getBytes)return this.rand.getBytes(t);for(var e=new Uint8Array(t),i=0;i>>24]^h[p>>>16&255]^l[g>>>8&255]^d[255&A]^e[m++],s=c[p>>>24]^h[g>>>16&255]^l[A>>>8&255]^d[255&f]^e[m++],a=c[g>>>24]^h[A>>>16&255]^l[f>>>8&255]^d[255&p]^e[m++],u=c[A>>>24]^h[f>>>16&255]^l[p>>>8&255]^d[255&g]^e[m++],f=o,p=s,g=a,A=u;return o=(n[f>>>24]<<24|n[p>>>16&255]<<16|n[g>>>8&255]<<8|n[255&A])^e[m++],s=(n[p>>>24]<<24|n[g>>>16&255]<<16|n[A>>>8&255]<<8|n[255&f])^e[m++],a=(n[g>>>24]<<24|n[A>>>16&255]<<16|n[f>>>8&255]<<8|n[255&p])^e[m++],u=(n[A>>>24]<<24|n[f>>>16&255]<<16|n[p>>>8&255]<<8|n[255&g])^e[m++],[o>>>=0,s>>>=0,a>>>=0,u>>>=0]}var a=[0,1,2,4,8,16,32,64,128,27,54],u=function(){for(var t=new Array(256),e=0;e<256;e++)t[e]=e<128?e<<1:e<<1^283;for(var i=[],n=[],r=[[],[],[],[]],o=[[],[],[],[]],s=0,a=0,u=0;u<256;++u){var c=a^a<<1^a<<2^a<<3^a<<4;c=c>>>8^255&c^99,i[s]=c,n[c]=s;var h=t[s],l=t[h],d=t[l],f=257*t[c]^16843008*c;r[0][s]=f<<24|f>>>8,r[1][s]=f<<16|f>>>16,r[2][s]=f<<8|f>>>24,r[3][s]=f,f=16843009*d^65537*l^257*h^16843008*s,o[0][c]=f<<24|f>>>8,o[1][c]=f<<16|f>>>16,o[2][c]=f<<8|f>>>24,o[3][c]=f,0===s?s=a=1:(s=h^t[t[t[d^h]]],a^=t[t[a]])}return{SBOX:i,INV_SBOX:n,SUB_MIX:r,INV_SUB_MIX:o}}();function c(t){this._key=r(t),this._reset()}c.blockSize=16,c.keySize=32,c.prototype.blockSize=c.blockSize,c.prototype.keySize=c.keySize,c.prototype._reset=function(){for(var t=this._key,e=t.length,i=e+6,n=4*(i+1),r=[],o=0;o>>24,s=u.SBOX[s>>>24]<<24|u.SBOX[s>>>16&255]<<16|u.SBOX[s>>>8&255]<<8|u.SBOX[255&s],s^=a[o/e|0]<<24):e>6&&o%e===4&&(s=u.SBOX[s>>>24]<<24|u.SBOX[s>>>16&255]<<16|u.SBOX[s>>>8&255]<<8|u.SBOX[255&s]),r[o]=r[o-e]^s}for(var c=[],h=0;h>>24]]^u.INV_SUB_MIX[1][u.SBOX[d>>>16&255]]^u.INV_SUB_MIX[2][u.SBOX[d>>>8&255]]^u.INV_SUB_MIX[3][u.SBOX[255&d]]}this._nRounds=i,this._keySchedule=r,this._invKeySchedule=c},c.prototype.encryptBlockRaw=function(t){return s(t=r(t),this._keySchedule,u.SUB_MIX,u.SBOX,this._nRounds)},c.prototype.encryptBlock=function(t){var e=this.encryptBlockRaw(t),i=n.allocUnsafe(16);return i.writeUInt32BE(e[0],0),i.writeUInt32BE(e[1],4),i.writeUInt32BE(e[2],8),i.writeUInt32BE(e[3],12),i},c.prototype.decryptBlock=function(t){var e=(t=r(t))[1];t[1]=t[3],t[3]=e;var i=s(t,this._invKeySchedule,u.INV_SUB_MIX,u.INV_SBOX,this._nRounds),o=n.allocUnsafe(16);return o.writeUInt32BE(i[0],0),o.writeUInt32BE(i[3],4),o.writeUInt32BE(i[2],8),o.writeUInt32BE(i[1],12),o},c.prototype.scrub=function(){o(this._keySchedule),o(this._invKeySchedule),o(this._key)},t.exports.AES=c},92356(t,e,i){var n=i(50462),r=i(92861).Buffer,o=i(56168),s=i(56698),a=i(25892),u=i(30295),c=i(45122);function h(t,e,i,s){o.call(this);var u=r.alloc(4,0);this._cipher=new n.AES(e);var h=this._cipher.encryptBlock(u);this._ghash=new a(h),i=function(t,e,i){if(12===e.length)return t._finID=r.concat([e,r.from([0,0,0,1])]),r.concat([e,r.from([0,0,0,2])]);var n=new a(i),o=e.length,s=o%16;n.update(e),s&&(s=16-s,n.update(r.alloc(s,0))),n.update(r.alloc(8,0));var u=8*o,h=r.alloc(8);h.writeUIntBE(u,0,8),n.update(h),t._finID=n.state;var l=r.from(t._finID);return c(l),l}(this,i,h),this._prev=r.from(i),this._cache=r.allocUnsafe(0),this._secCache=r.allocUnsafe(0),this._decrypt=s,this._alen=0,this._len=0,this._mode=t,this._authTag=null,this._called=!1}s(h,o),h.prototype._update=function(t){if(!this._called&&this._alen){var e=16-this._alen%16;e<16&&(e=r.alloc(e,0),this._ghash.update(e))}this._called=!0;var i=this._mode.encrypt(this,t);return this._decrypt?this._ghash.update(t):this._ghash.update(i),this._len+=t.length,i},h.prototype._final=function(){if(this._decrypt&&!this._authTag)throw new Error("Unsupported state or unable to authenticate data");var t=u(this._ghash.final(8*this._alen,8*this._len),this._cipher.encryptBlock(this._finID));if(this._decrypt&&function(t,e){var i=0;t.length!==e.length&&i++;for(var n=Math.min(t.length,e.length),r=0;r16)throw new Error("unable to decrypt data");for(var i=-1;++i16)return e=this.cache.slice(0,16),this.cache=this.cache.slice(16),e}else if(this.cache.length>=16)return e=this.cache.slice(0,16),this.cache=this.cache.slice(16),e;return null},l.prototype.flush=function(){if(this.cache.length)return this.cache},e.createDecipher=function(t,e){var i=o[t.toLowerCase()];if(!i)throw new TypeError("invalid suite type");var n=c(e,!1,i.key,i.iv);return d(t,n.key,n.iv)},e.createDecipheriv=d},25799(t,e,i){var n=i(530),r=i(92356),o=i(92861).Buffer,s=i(50650),a=i(56168),u=i(50462),c=i(68078);function h(t,e,i){a.call(this),this._cache=new d,this._cipher=new u.AES(e),this._prev=o.from(i),this._mode=t,this._autopadding=!0}i(56698)(h,a),h.prototype._update=function(t){var e,i;this._cache.add(t);for(var n=[];e=this._cache.get();)i=this._mode.encrypt(this,e),n.push(i);return o.concat(n)};var l=o.alloc(16,16);function d(){this.cache=o.allocUnsafe(0)}function f(t,e,i){var a=n[t.toLowerCase()];if(!a)throw new TypeError("invalid suite type");if("string"==typeof e&&(e=o.from(e)),e.length!==a.key/8)throw new TypeError("invalid key length "+e.length);if("string"==typeof i&&(i=o.from(i)),"GCM"!==a.mode&&i.length!==a.iv)throw new TypeError("invalid iv length "+i.length);return"stream"===a.type?new s(a.module,e,i):"auth"===a.type?new r(a.module,e,i):new h(a.module,e,i)}h.prototype._final=function(){var t=this._cache.flush();if(this._autopadding)return t=this._mode.encrypt(this,t),this._cipher.scrub(),t;if(!t.equals(l))throw this._cipher.scrub(),new Error("data not multiple of block length")},h.prototype.setAutoPadding=function(t){return this._autopadding=!!t,this},d.prototype.add=function(t){this.cache=o.concat([this.cache,t])},d.prototype.get=function(){if(this.cache.length>15){var t=this.cache.slice(0,16);return this.cache=this.cache.slice(16),t}return null},d.prototype.flush=function(){for(var t=16-this.cache.length,e=o.allocUnsafe(t),i=-1;++i>>0,0),e.writeUInt32BE(t[1]>>>0,4),e.writeUInt32BE(t[2]>>>0,8),e.writeUInt32BE(t[3]>>>0,12),e}function s(t){this.h=t,this.state=n.alloc(16,0),this.cache=n.allocUnsafe(0)}s.prototype.ghash=function(t){for(var e=-1;++e0;e--)n[e]=n[e]>>>1|(1&n[e-1])<<31;n[0]=n[0]>>>1,i&&(n[0]=n[0]^225<<24)}this.state=o(r)},s.prototype.update=function(t){var e;for(this.cache=n.concat([this.cache,t]);this.cache.length>=16;)e=this.cache.slice(0,16),this.cache=this.cache.slice(16),this.ghash(e)},s.prototype.final=function(t,e){return this.cache.length&&this.ghash(n.concat([this.cache,r],16)),this.ghash(o([0,t,0,e])),this.state},t.exports=s},45122(t){t.exports=function(t){for(var e,i=t.length;i--;){if(255!==(e=t.readUInt8(i))){e++,t.writeUInt8(e,i);break}t.writeUInt8(0,i)}}},92884(t,e,i){var n=i(30295);e.encrypt=function(t,e){var i=n(e,t._prev);return t._prev=t._cipher.encryptBlock(i),t._prev},e.decrypt=function(t,e){var i=t._prev;t._prev=e;var r=t._cipher.decryptBlock(e);return n(r,i)}},46383(t,e,i){var n=i(92861).Buffer,r=i(30295);function o(t,e,i){var o=e.length,s=r(e,t._cache);return t._cache=t._cache.slice(o),t._prev=n.concat([t._prev,i?e:s]),s}e.encrypt=function(t,e,i){for(var r,s=n.allocUnsafe(0);e.length;){if(0===t._cache.length&&(t._cache=t._cipher.encryptBlock(t._prev),t._prev=n.allocUnsafe(0)),!(t._cache.length<=e.length)){s=n.concat([s,o(t,e,i)]);break}r=t._cache.length,s=n.concat([s,o(t,e.slice(0,r),i)]),e=e.slice(r)}return s}},55264(t,e,i){var n=i(92861).Buffer;function r(t,e,i){for(var n,r,s=-1,a=0;++s<8;)n=e&1<<7-s?128:0,a+=(128&(r=t._cipher.encryptBlock(t._prev)[0]^n))>>s%8,t._prev=o(t._prev,i?n:r);return a}function o(t,e){var i=t.length,r=-1,o=n.allocUnsafe(t.length);for(t=n.concat([t,n.from([e])]);++r>7;return o}e.encrypt=function(t,e,i){for(var o=e.length,s=n.allocUnsafe(o),a=-1;++a=0||!e.umod(t.prime1)||!e.umod(t.prime2));return e}function a(t,e){var i=function(t){var e=s(t);return{blinder:e.toRed(n.mont(t.modulus)).redPow(new n(t.publicExponent)).fromRed(),unblinder:e.invm(t.modulus)}}(e),r=e.modulus.byteLength(),a=new n(t).mul(i.blinder).umod(e.modulus),u=a.toRed(n.mont(e.prime1)),c=a.toRed(n.mont(e.prime2)),h=e.coefficient,l=e.prime1,d=e.prime2,f=u.redPow(e.exponent1).fromRed(),p=c.redPow(e.exponent2).fromRed(),g=f.isub(p).imul(h).umod(l).imul(d);return p.iadd(g).imul(i.unblinder).umod(e.modulus).toArrayLike(o,"be",r)}a.getr=s,t.exports=a},55715(t,e,i){"use strict";t.exports=i(62951)},20(t,e,i){"use strict";var n=i(92861).Buffer,r=i(47108),o=i(28399),s=i(56698),a=i(35359),u=i(74847),c=i(62951);function h(t){o.Writable.call(this);var e=c[t];if(!e)throw new Error("Unknown message digest");this._hashType=e.hash,this._hash=r(e.hash),this._tag=e.id,this._signType=e.sign}function l(t){o.Writable.call(this);var e=c[t];if(!e)throw new Error("Unknown message digest");this._hash=r(e.hash),this._tag=e.id,this._signType=e.sign}function d(t){return new h(t)}function f(t){return new l(t)}Object.keys(c).forEach(function(t){c[t].id=n.from(c[t].id,"hex"),c[t.toLowerCase()]=c[t]}),s(h,o.Writable),h.prototype._write=function(t,e,i){this._hash.update(t),i()},h.prototype.update=function(t,e){return this._hash.update("string"==typeof t?n.from(t,e):t),this},h.prototype.sign=function(t,e){this.end();var i=this._hash.digest(),n=a(i,t,this._hashType,this._signType,this._tag);return e?n.toString(e):n},s(l,o.Writable),l.prototype._write=function(t,e,i){this._hash.update(t),i()},l.prototype.update=function(t,e){return this._hash.update("string"==typeof t?n.from(t,e):t),this},l.prototype.verify=function(t,e,i){var r="string"==typeof e?n.from(e,i):e;this.end();var o=this._hash.digest();return u(r,o,t,this._signType,this._tag)},t.exports={Sign:d,Verify:f,createSign:d,createVerify:f}},35359(t,e,i){"use strict";var n=i(92861).Buffer,r=i(83507),o=i(67332),s=i(86729).ec,a=i(39404),u=i(78170),c=i(64589);function h(t,e,i,o){if((t=n.from(t.toArray())).length0&&i.ishrn(n),i}function d(t,e,i){var o,s;do{for(o=n.alloc(0);8*o.length=0)throw new Error("invalid sig")}t.exports=function(t,e,i,c,h){var l=s(i);if("ec"===l.type){if("ecdsa"!==c&&"ecdsa/rsa"!==c)throw new Error("wrong public key type");return function(t,e,i){var n=a[i.data.algorithm.curve.join(".")];if(!n)throw new Error("unknown curve "+i.data.algorithm.curve.join("."));var r=new o(n),s=i.data.subjectPrivateKey.data;return r.verify(e,t,s)}(t,e,l)}if("dsa"===l.type){if("dsa"!==c)throw new Error("wrong public key type");return function(t,e,i){var n=i.data.p,o=i.data.q,a=i.data.g,c=i.data.pub_key,h=s.signature.decode(t,"der"),l=h.s,d=h.r;u(l,o),u(d,o);var f=r.mont(n),p=l.invm(o);return 0===a.toRed(f).redPow(new r(e).mul(p).mod(o)).fromRed().mul(c.toRed(f).redPow(d.mul(p).mod(o)).fromRed()).mod(n).mod(o).cmp(d)}(t,e,l)}if("rsa"!==c&&"ecdsa/rsa"!==c)throw new Error("wrong public key type");e=n.concat([h,e]);for(var d=l.modulus.byteLength(),f=[1],p=0;e.length+f.length+21&&void 0!==arguments[1]?arguments[1]:{container:document.body},i="";return"string"==typeof t?i=l(t,e):t instanceof HTMLInputElement&&!["text","search","url","tel","password"].includes(null==t?void 0:t.type)?i=l(t.value,e):(i=u()(t),c("copy")),i};function f(t){return f="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},f(t)}function p(t){return p="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},p(t)}function g(t,e){for(var i=0;i0&&void 0!==arguments[0]?arguments[0]:{};this.action="function"==typeof t.action?t.action:this.defaultAction,this.target="function"==typeof t.target?t.target:this.defaultTarget,this.text="function"==typeof t.text?t.text:this.defaultText,this.container="object"===p(t.container)?t.container:document.body}},{key:"listenClick",value:function(t){var e=this;this.listener=s()(t,"click",function(t){return e.onClick(t)})}},{key:"onClick",value:function(t){var e=t.delegateTarget||t.currentTarget,i=this.action(e)||"copy",n=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.action,i=void 0===e?"copy":e,n=t.container,r=t.target,o=t.text;if("copy"!==i&&"cut"!==i)throw new Error('Invalid "action" value, use either "copy" or "cut"');if(void 0!==r){if(!r||"object"!==f(r)||1!==r.nodeType)throw new Error('Invalid "target" value, use a valid Element');if("copy"===i&&r.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if("cut"===i&&(r.hasAttribute("readonly")||r.hasAttribute("disabled")))throw new Error('Invalid "target" attribute. You can\'t cut text from elements with "readonly" or "disabled" attributes')}return o?d(o,{container:n}):r?"cut"===i?h(r):d(r,{container:n}):void 0}({action:i,container:this.container,target:this.target(e),text:this.text(e)});this.emit(n?"success":"error",{action:i,text:n,trigger:e,clearSelection:function(){e&&e.focus(),window.getSelection().removeAllRanges()}})}},{key:"defaultAction",value:function(t){return v("action",t)}},{key:"defaultTarget",value:function(t){var e=v("target",t);if(e)return document.querySelector(e)}},{key:"defaultText",value:function(t){return v("text",t)}},{key:"destroy",value:function(){this.listener.destroy()}}],n=[{key:"copy",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{container:document.body};return d(t,e)}},{key:"cut",value:function(t){return h(t)}},{key:"isSupported",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:["copy","cut"],e="string"==typeof t?[t]:t,i=!!document.queryCommandSupported;return e.forEach(function(t){i=i&&!!document.queryCommandSupported(t)}),i}}],i&&g(e.prototype,i),n&&g(e,n),u}(r()),y=b},828:function(t){if("undefined"!=typeof Element&&!Element.prototype.matches){var e=Element.prototype;e.matches=e.matchesSelector||e.mozMatchesSelector||e.msMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector}t.exports=function(t,e){for(;t&&9!==t.nodeType;){if("function"==typeof t.matches&&t.matches(e))return t;t=t.parentNode}}},438:function(t,e,i){var n=i(828);function r(t,e,i,n,r){var s=o.apply(this,arguments);return t.addEventListener(i,s,r),{destroy:function(){t.removeEventListener(i,s,r)}}}function o(t,e,i,r){return function(i){i.delegateTarget=n(i.target,e),i.delegateTarget&&r.call(t,i)}}t.exports=function(t,e,i,n,o){return"function"==typeof t.addEventListener?r.apply(null,arguments):"function"==typeof i?r.bind(null,document).apply(null,arguments):("string"==typeof t&&(t=document.querySelectorAll(t)),Array.prototype.map.call(t,function(t){return r(t,e,i,n,o)}))}},879:function(t,e){e.node=function(t){return void 0!==t&&t instanceof HTMLElement&&1===t.nodeType},e.nodeList=function(t){var i=Object.prototype.toString.call(t);return void 0!==t&&("[object NodeList]"===i||"[object HTMLCollection]"===i)&&"length"in t&&(0===t.length||e.node(t[0]))},e.string=function(t){return"string"==typeof t||t instanceof String},e.fn=function(t){return"[object Function]"===Object.prototype.toString.call(t)}},370:function(t,e,i){var n=i(879),r=i(438);t.exports=function(t,e,i){if(!t&&!e&&!i)throw new Error("Missing required arguments");if(!n.string(e))throw new TypeError("Second argument must be a String");if(!n.fn(i))throw new TypeError("Third argument must be a Function");if(n.node(t))return function(t,e,i){return t.addEventListener(e,i),{destroy:function(){t.removeEventListener(e,i)}}}(t,e,i);if(n.nodeList(t))return function(t,e,i){return Array.prototype.forEach.call(t,function(t){t.addEventListener(e,i)}),{destroy:function(){Array.prototype.forEach.call(t,function(t){t.removeEventListener(e,i)})}}}(t,e,i);if(n.string(t))return function(t,e,i){return r(document.body,t,e,i)}(t,e,i);throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList")}},817:function(t){t.exports=function(t){var e;if("SELECT"===t.nodeName)t.focus(),e=t.value;else if("INPUT"===t.nodeName||"TEXTAREA"===t.nodeName){var i=t.hasAttribute("readonly");i||t.setAttribute("readonly",""),t.select(),t.setSelectionRange(0,t.value.length),i||t.removeAttribute("readonly"),e=t.value}else{t.hasAttribute("contenteditable")&&t.focus();var n=window.getSelection(),r=document.createRange();r.selectNodeContents(t),n.removeAllRanges(),n.addRange(r),e=n.toString()}return e}},279:function(t){function e(){}e.prototype={on:function(t,e,i){var n=this.e||(this.e={});return(n[t]||(n[t]=[])).push({fn:e,ctx:i}),this},once:function(t,e,i){var n=this;function r(){n.off(t,r),e.apply(i,arguments)}return r._=e,this.on(t,r,i)},emit:function(t){for(var e=[].slice.call(arguments,1),i=((this.e||(this.e={}))[t]||[]).slice(),n=0,r=i.length;n=65&&i<=70?i-55:i>=97&&i<=102?i-87:i-48&15}function u(t,e,i){var n=a(t,i);return i-1>=e&&(n|=a(t,i-1)<<4),n}function c(t,e,i,n){for(var r=0,o=Math.min(t.length,i),s=e;s=49?a-49+10:a>=17?a-17+10:a}return r}o.isBN=function(t){return t instanceof o||null!==t&&"object"==typeof t&&t.constructor.wordSize===o.wordSize&&Array.isArray(t.words)},o.max=function(t,e){return t.cmp(e)>0?t:e},o.min=function(t,e){return t.cmp(e)<0?t:e},o.prototype._init=function(t,e,i){if("number"==typeof t)return this._initNumber(t,e,i);if("object"==typeof t)return this._initArray(t,e,i);"hex"===e&&(e=16),n(e===(0|e)&&e>=2&&e<=36);var r=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(r++,this.negative=1),r=0;r-=3)s=t[r]|t[r-1]<<8|t[r-2]<<16,this.words[o]|=s<>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);else if("le"===i)for(r=0,o=0;r>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);return this.strip()},o.prototype._parseHex=function(t,e,i){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var n=0;n=e;n-=2)r=u(t,e,n)<=18?(o-=18,s+=1,this.words[s]|=r>>>26):o+=8;else for(n=(t.length-e)%2==0?e+1:e;n=18?(o-=18,s+=1,this.words[s]|=r>>>26):o+=8;this.strip()},o.prototype._parseBase=function(t,e,i){this.words=[0],this.length=1;for(var n=0,r=1;r<=67108863;r*=e)n++;n--,r=r/e|0;for(var o=t.length-i,s=o%n,a=Math.min(o,o-s)+i,u=0,h=i;h1&&0===this.words[this.length-1];)this.length--;return this._normSign()},o.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},o.prototype.inspect=function(){return(this.red?""};var h=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],l=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],d=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function f(t,e,i){i.negative=e.negative^t.negative;var n=t.length+e.length|0;i.length=n,n=n-1|0;var r=0|t.words[0],o=0|e.words[0],s=r*o,a=67108863&s,u=s/67108864|0;i.words[0]=a;for(var c=1;c>>26,l=67108863&u,d=Math.min(c,e.length-1),f=Math.max(0,c-t.length+1);f<=d;f++){var p=c-f|0;h+=(s=(r=0|t.words[p])*(o=0|e.words[f])+l)/67108864|0,l=67108863&s}i.words[c]=0|l,u=0|h}return 0!==u?i.words[c]=0|u:i.length--,i.strip()}o.prototype.toString=function(t,e){var i;if(e=0|e||1,16===(t=t||10)||"hex"===t){i="";for(var r=0,o=0,s=0;s>>24-r&16777215,(r+=2)>=26&&(r-=26,s--),i=0!==o||s!==this.length-1?h[6-u.length]+u+i:u+i}for(0!==o&&(i=o.toString(16)+i);i.length%e!==0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}if(t===(0|t)&&t>=2&&t<=36){var c=l[t],f=d[t];i="";var p=this.clone();for(p.negative=0;!p.isZero();){var g=p.modn(f).toString(t);i=(p=p.idivn(f)).isZero()?g+i:h[c-g.length]+g+i}for(this.isZero()&&(i="0"+i);i.length%e!==0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}n(!1,"Base should be between 2 and 36")},o.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},o.prototype.toJSON=function(){return this.toString(16)},o.prototype.toBuffer=function(t,e){return n(void 0!==s),this.toArrayLike(s,t,e)},o.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},o.prototype.toArrayLike=function(t,e,i){var r=this.byteLength(),o=i||Math.max(1,r);n(r<=o,"byte array longer than desired length"),n(o>0,"Requested array length <= 0"),this.strip();var s,a,u="le"===e,c=new t(o),h=this.clone();if(u){for(a=0;!h.isZero();a++)s=h.andln(255),h.iushrn(8),c[a]=s;for(;a=4096&&(i+=13,e>>>=13),e>=64&&(i+=7,e>>>=7),e>=8&&(i+=4,e>>>=4),e>=2&&(i+=2,e>>>=2),i+e},o.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,i=0;return 8191&e||(i+=13,e>>>=13),127&e||(i+=7,e>>>=7),15&e||(i+=4,e>>>=4),3&e||(i+=2,e>>>=2),1&e||i++,i},o.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},o.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},o.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},o.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var i=0;it.length?this.clone().iand(t):t.clone().iand(this)},o.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},o.prototype.iuxor=function(t){var e,i;this.length>t.length?(e=this,i=t):(e=t,i=this);for(var n=0;nt.length?this.clone().ixor(t):t.clone().ixor(this)},o.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},o.prototype.inotn=function(t){n("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),i=t%26;this._expand(e),i>0&&e--;for(var r=0;r0&&(this.words[r]=~this.words[r]&67108863>>26-i),this.strip()},o.prototype.notn=function(t){return this.clone().inotn(t)},o.prototype.setn=function(t,e){n("number"==typeof t&&t>=0);var i=t/26|0,r=t%26;return this._expand(i+1),this.words[i]=e?this.words[i]|1<t.length?(i=this,n=t):(i=t,n=this);for(var r=0,o=0;o>>26;for(;0!==r&&o>>26;if(this.length=i.length,0!==r)this.words[this.length]=r,this.length++;else if(i!==this)for(;ot.length?this.clone().iadd(t):t.clone().iadd(this)},o.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var i,n,r=this.cmp(t);if(0===r)return this.negative=0,this.length=1,this.words[0]=0,this;r>0?(i=this,n=t):(i=t,n=this);for(var o=0,s=0;s>26,this.words[s]=67108863&e;for(;0!==o&&s>26,this.words[s]=67108863&e;if(0===o&&s>>13,f=0|s[1],p=8191&f,g=f>>>13,A=0|s[2],m=8191&A,v=A>>>13,b=0|s[3],y=8191&b,w=b>>>13,C=0|s[4],x=8191&C,k=C>>>13,_=0|s[5],M=8191&_,B=_>>>13,E=0|s[6],I=8191&E,S=E>>>13,D=0|s[7],T=8191&D,O=D>>>13,P=0|s[8],R=8191&P,z=P>>>13,N=0|s[9],H=8191&N,j=N>>>13,L=0|a[0],U=8191&L,q=L>>>13,F=0|a[1],W=8191&F,Y=F>>>13,Q=0|a[2],G=8191&Q,V=Q>>>13,K=0|a[3],X=8191&K,Z=K>>>13,J=0|a[4],$=8191&J,tt=J>>>13,et=0|a[5],it=8191&et,nt=et>>>13,rt=0|a[6],ot=8191&rt,st=rt>>>13,at=0|a[7],ut=8191&at,ct=at>>>13,ht=0|a[8],lt=8191&ht,dt=ht>>>13,ft=0|a[9],pt=8191&ft,gt=ft>>>13;i.negative=t.negative^e.negative,i.length=19;var At=(c+(n=Math.imul(l,U))|0)+((8191&(r=(r=Math.imul(l,q))+Math.imul(d,U)|0))<<13)|0;c=((o=Math.imul(d,q))+(r>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(p,U),r=(r=Math.imul(p,q))+Math.imul(g,U)|0,o=Math.imul(g,q);var mt=(c+(n=n+Math.imul(l,W)|0)|0)+((8191&(r=(r=r+Math.imul(l,Y)|0)+Math.imul(d,W)|0))<<13)|0;c=((o=o+Math.imul(d,Y)|0)+(r>>>13)|0)+(mt>>>26)|0,mt&=67108863,n=Math.imul(m,U),r=(r=Math.imul(m,q))+Math.imul(v,U)|0,o=Math.imul(v,q),n=n+Math.imul(p,W)|0,r=(r=r+Math.imul(p,Y)|0)+Math.imul(g,W)|0,o=o+Math.imul(g,Y)|0;var vt=(c+(n=n+Math.imul(l,G)|0)|0)+((8191&(r=(r=r+Math.imul(l,V)|0)+Math.imul(d,G)|0))<<13)|0;c=((o=o+Math.imul(d,V)|0)+(r>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(y,U),r=(r=Math.imul(y,q))+Math.imul(w,U)|0,o=Math.imul(w,q),n=n+Math.imul(m,W)|0,r=(r=r+Math.imul(m,Y)|0)+Math.imul(v,W)|0,o=o+Math.imul(v,Y)|0,n=n+Math.imul(p,G)|0,r=(r=r+Math.imul(p,V)|0)+Math.imul(g,G)|0,o=o+Math.imul(g,V)|0;var bt=(c+(n=n+Math.imul(l,X)|0)|0)+((8191&(r=(r=r+Math.imul(l,Z)|0)+Math.imul(d,X)|0))<<13)|0;c=((o=o+Math.imul(d,Z)|0)+(r>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(x,U),r=(r=Math.imul(x,q))+Math.imul(k,U)|0,o=Math.imul(k,q),n=n+Math.imul(y,W)|0,r=(r=r+Math.imul(y,Y)|0)+Math.imul(w,W)|0,o=o+Math.imul(w,Y)|0,n=n+Math.imul(m,G)|0,r=(r=r+Math.imul(m,V)|0)+Math.imul(v,G)|0,o=o+Math.imul(v,V)|0,n=n+Math.imul(p,X)|0,r=(r=r+Math.imul(p,Z)|0)+Math.imul(g,X)|0,o=o+Math.imul(g,Z)|0;var yt=(c+(n=n+Math.imul(l,$)|0)|0)+((8191&(r=(r=r+Math.imul(l,tt)|0)+Math.imul(d,$)|0))<<13)|0;c=((o=o+Math.imul(d,tt)|0)+(r>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(M,U),r=(r=Math.imul(M,q))+Math.imul(B,U)|0,o=Math.imul(B,q),n=n+Math.imul(x,W)|0,r=(r=r+Math.imul(x,Y)|0)+Math.imul(k,W)|0,o=o+Math.imul(k,Y)|0,n=n+Math.imul(y,G)|0,r=(r=r+Math.imul(y,V)|0)+Math.imul(w,G)|0,o=o+Math.imul(w,V)|0,n=n+Math.imul(m,X)|0,r=(r=r+Math.imul(m,Z)|0)+Math.imul(v,X)|0,o=o+Math.imul(v,Z)|0,n=n+Math.imul(p,$)|0,r=(r=r+Math.imul(p,tt)|0)+Math.imul(g,$)|0,o=o+Math.imul(g,tt)|0;var wt=(c+(n=n+Math.imul(l,it)|0)|0)+((8191&(r=(r=r+Math.imul(l,nt)|0)+Math.imul(d,it)|0))<<13)|0;c=((o=o+Math.imul(d,nt)|0)+(r>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(I,U),r=(r=Math.imul(I,q))+Math.imul(S,U)|0,o=Math.imul(S,q),n=n+Math.imul(M,W)|0,r=(r=r+Math.imul(M,Y)|0)+Math.imul(B,W)|0,o=o+Math.imul(B,Y)|0,n=n+Math.imul(x,G)|0,r=(r=r+Math.imul(x,V)|0)+Math.imul(k,G)|0,o=o+Math.imul(k,V)|0,n=n+Math.imul(y,X)|0,r=(r=r+Math.imul(y,Z)|0)+Math.imul(w,X)|0,o=o+Math.imul(w,Z)|0,n=n+Math.imul(m,$)|0,r=(r=r+Math.imul(m,tt)|0)+Math.imul(v,$)|0,o=o+Math.imul(v,tt)|0,n=n+Math.imul(p,it)|0,r=(r=r+Math.imul(p,nt)|0)+Math.imul(g,it)|0,o=o+Math.imul(g,nt)|0;var Ct=(c+(n=n+Math.imul(l,ot)|0)|0)+((8191&(r=(r=r+Math.imul(l,st)|0)+Math.imul(d,ot)|0))<<13)|0;c=((o=o+Math.imul(d,st)|0)+(r>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,n=Math.imul(T,U),r=(r=Math.imul(T,q))+Math.imul(O,U)|0,o=Math.imul(O,q),n=n+Math.imul(I,W)|0,r=(r=r+Math.imul(I,Y)|0)+Math.imul(S,W)|0,o=o+Math.imul(S,Y)|0,n=n+Math.imul(M,G)|0,r=(r=r+Math.imul(M,V)|0)+Math.imul(B,G)|0,o=o+Math.imul(B,V)|0,n=n+Math.imul(x,X)|0,r=(r=r+Math.imul(x,Z)|0)+Math.imul(k,X)|0,o=o+Math.imul(k,Z)|0,n=n+Math.imul(y,$)|0,r=(r=r+Math.imul(y,tt)|0)+Math.imul(w,$)|0,o=o+Math.imul(w,tt)|0,n=n+Math.imul(m,it)|0,r=(r=r+Math.imul(m,nt)|0)+Math.imul(v,it)|0,o=o+Math.imul(v,nt)|0,n=n+Math.imul(p,ot)|0,r=(r=r+Math.imul(p,st)|0)+Math.imul(g,ot)|0,o=o+Math.imul(g,st)|0;var xt=(c+(n=n+Math.imul(l,ut)|0)|0)+((8191&(r=(r=r+Math.imul(l,ct)|0)+Math.imul(d,ut)|0))<<13)|0;c=((o=o+Math.imul(d,ct)|0)+(r>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(R,U),r=(r=Math.imul(R,q))+Math.imul(z,U)|0,o=Math.imul(z,q),n=n+Math.imul(T,W)|0,r=(r=r+Math.imul(T,Y)|0)+Math.imul(O,W)|0,o=o+Math.imul(O,Y)|0,n=n+Math.imul(I,G)|0,r=(r=r+Math.imul(I,V)|0)+Math.imul(S,G)|0,o=o+Math.imul(S,V)|0,n=n+Math.imul(M,X)|0,r=(r=r+Math.imul(M,Z)|0)+Math.imul(B,X)|0,o=o+Math.imul(B,Z)|0,n=n+Math.imul(x,$)|0,r=(r=r+Math.imul(x,tt)|0)+Math.imul(k,$)|0,o=o+Math.imul(k,tt)|0,n=n+Math.imul(y,it)|0,r=(r=r+Math.imul(y,nt)|0)+Math.imul(w,it)|0,o=o+Math.imul(w,nt)|0,n=n+Math.imul(m,ot)|0,r=(r=r+Math.imul(m,st)|0)+Math.imul(v,ot)|0,o=o+Math.imul(v,st)|0,n=n+Math.imul(p,ut)|0,r=(r=r+Math.imul(p,ct)|0)+Math.imul(g,ut)|0,o=o+Math.imul(g,ct)|0;var kt=(c+(n=n+Math.imul(l,lt)|0)|0)+((8191&(r=(r=r+Math.imul(l,dt)|0)+Math.imul(d,lt)|0))<<13)|0;c=((o=o+Math.imul(d,dt)|0)+(r>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(H,U),r=(r=Math.imul(H,q))+Math.imul(j,U)|0,o=Math.imul(j,q),n=n+Math.imul(R,W)|0,r=(r=r+Math.imul(R,Y)|0)+Math.imul(z,W)|0,o=o+Math.imul(z,Y)|0,n=n+Math.imul(T,G)|0,r=(r=r+Math.imul(T,V)|0)+Math.imul(O,G)|0,o=o+Math.imul(O,V)|0,n=n+Math.imul(I,X)|0,r=(r=r+Math.imul(I,Z)|0)+Math.imul(S,X)|0,o=o+Math.imul(S,Z)|0,n=n+Math.imul(M,$)|0,r=(r=r+Math.imul(M,tt)|0)+Math.imul(B,$)|0,o=o+Math.imul(B,tt)|0,n=n+Math.imul(x,it)|0,r=(r=r+Math.imul(x,nt)|0)+Math.imul(k,it)|0,o=o+Math.imul(k,nt)|0,n=n+Math.imul(y,ot)|0,r=(r=r+Math.imul(y,st)|0)+Math.imul(w,ot)|0,o=o+Math.imul(w,st)|0,n=n+Math.imul(m,ut)|0,r=(r=r+Math.imul(m,ct)|0)+Math.imul(v,ut)|0,o=o+Math.imul(v,ct)|0,n=n+Math.imul(p,lt)|0,r=(r=r+Math.imul(p,dt)|0)+Math.imul(g,lt)|0,o=o+Math.imul(g,dt)|0;var _t=(c+(n=n+Math.imul(l,pt)|0)|0)+((8191&(r=(r=r+Math.imul(l,gt)|0)+Math.imul(d,pt)|0))<<13)|0;c=((o=o+Math.imul(d,gt)|0)+(r>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(H,W),r=(r=Math.imul(H,Y))+Math.imul(j,W)|0,o=Math.imul(j,Y),n=n+Math.imul(R,G)|0,r=(r=r+Math.imul(R,V)|0)+Math.imul(z,G)|0,o=o+Math.imul(z,V)|0,n=n+Math.imul(T,X)|0,r=(r=r+Math.imul(T,Z)|0)+Math.imul(O,X)|0,o=o+Math.imul(O,Z)|0,n=n+Math.imul(I,$)|0,r=(r=r+Math.imul(I,tt)|0)+Math.imul(S,$)|0,o=o+Math.imul(S,tt)|0,n=n+Math.imul(M,it)|0,r=(r=r+Math.imul(M,nt)|0)+Math.imul(B,it)|0,o=o+Math.imul(B,nt)|0,n=n+Math.imul(x,ot)|0,r=(r=r+Math.imul(x,st)|0)+Math.imul(k,ot)|0,o=o+Math.imul(k,st)|0,n=n+Math.imul(y,ut)|0,r=(r=r+Math.imul(y,ct)|0)+Math.imul(w,ut)|0,o=o+Math.imul(w,ct)|0,n=n+Math.imul(m,lt)|0,r=(r=r+Math.imul(m,dt)|0)+Math.imul(v,lt)|0,o=o+Math.imul(v,dt)|0;var Mt=(c+(n=n+Math.imul(p,pt)|0)|0)+((8191&(r=(r=r+Math.imul(p,gt)|0)+Math.imul(g,pt)|0))<<13)|0;c=((o=o+Math.imul(g,gt)|0)+(r>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(H,G),r=(r=Math.imul(H,V))+Math.imul(j,G)|0,o=Math.imul(j,V),n=n+Math.imul(R,X)|0,r=(r=r+Math.imul(R,Z)|0)+Math.imul(z,X)|0,o=o+Math.imul(z,Z)|0,n=n+Math.imul(T,$)|0,r=(r=r+Math.imul(T,tt)|0)+Math.imul(O,$)|0,o=o+Math.imul(O,tt)|0,n=n+Math.imul(I,it)|0,r=(r=r+Math.imul(I,nt)|0)+Math.imul(S,it)|0,o=o+Math.imul(S,nt)|0,n=n+Math.imul(M,ot)|0,r=(r=r+Math.imul(M,st)|0)+Math.imul(B,ot)|0,o=o+Math.imul(B,st)|0,n=n+Math.imul(x,ut)|0,r=(r=r+Math.imul(x,ct)|0)+Math.imul(k,ut)|0,o=o+Math.imul(k,ct)|0,n=n+Math.imul(y,lt)|0,r=(r=r+Math.imul(y,dt)|0)+Math.imul(w,lt)|0,o=o+Math.imul(w,dt)|0;var Bt=(c+(n=n+Math.imul(m,pt)|0)|0)+((8191&(r=(r=r+Math.imul(m,gt)|0)+Math.imul(v,pt)|0))<<13)|0;c=((o=o+Math.imul(v,gt)|0)+(r>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,n=Math.imul(H,X),r=(r=Math.imul(H,Z))+Math.imul(j,X)|0,o=Math.imul(j,Z),n=n+Math.imul(R,$)|0,r=(r=r+Math.imul(R,tt)|0)+Math.imul(z,$)|0,o=o+Math.imul(z,tt)|0,n=n+Math.imul(T,it)|0,r=(r=r+Math.imul(T,nt)|0)+Math.imul(O,it)|0,o=o+Math.imul(O,nt)|0,n=n+Math.imul(I,ot)|0,r=(r=r+Math.imul(I,st)|0)+Math.imul(S,ot)|0,o=o+Math.imul(S,st)|0,n=n+Math.imul(M,ut)|0,r=(r=r+Math.imul(M,ct)|0)+Math.imul(B,ut)|0,o=o+Math.imul(B,ct)|0,n=n+Math.imul(x,lt)|0,r=(r=r+Math.imul(x,dt)|0)+Math.imul(k,lt)|0,o=o+Math.imul(k,dt)|0;var Et=(c+(n=n+Math.imul(y,pt)|0)|0)+((8191&(r=(r=r+Math.imul(y,gt)|0)+Math.imul(w,pt)|0))<<13)|0;c=((o=o+Math.imul(w,gt)|0)+(r>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(H,$),r=(r=Math.imul(H,tt))+Math.imul(j,$)|0,o=Math.imul(j,tt),n=n+Math.imul(R,it)|0,r=(r=r+Math.imul(R,nt)|0)+Math.imul(z,it)|0,o=o+Math.imul(z,nt)|0,n=n+Math.imul(T,ot)|0,r=(r=r+Math.imul(T,st)|0)+Math.imul(O,ot)|0,o=o+Math.imul(O,st)|0,n=n+Math.imul(I,ut)|0,r=(r=r+Math.imul(I,ct)|0)+Math.imul(S,ut)|0,o=o+Math.imul(S,ct)|0,n=n+Math.imul(M,lt)|0,r=(r=r+Math.imul(M,dt)|0)+Math.imul(B,lt)|0,o=o+Math.imul(B,dt)|0;var It=(c+(n=n+Math.imul(x,pt)|0)|0)+((8191&(r=(r=r+Math.imul(x,gt)|0)+Math.imul(k,pt)|0))<<13)|0;c=((o=o+Math.imul(k,gt)|0)+(r>>>13)|0)+(It>>>26)|0,It&=67108863,n=Math.imul(H,it),r=(r=Math.imul(H,nt))+Math.imul(j,it)|0,o=Math.imul(j,nt),n=n+Math.imul(R,ot)|0,r=(r=r+Math.imul(R,st)|0)+Math.imul(z,ot)|0,o=o+Math.imul(z,st)|0,n=n+Math.imul(T,ut)|0,r=(r=r+Math.imul(T,ct)|0)+Math.imul(O,ut)|0,o=o+Math.imul(O,ct)|0,n=n+Math.imul(I,lt)|0,r=(r=r+Math.imul(I,dt)|0)+Math.imul(S,lt)|0,o=o+Math.imul(S,dt)|0;var St=(c+(n=n+Math.imul(M,pt)|0)|0)+((8191&(r=(r=r+Math.imul(M,gt)|0)+Math.imul(B,pt)|0))<<13)|0;c=((o=o+Math.imul(B,gt)|0)+(r>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(H,ot),r=(r=Math.imul(H,st))+Math.imul(j,ot)|0,o=Math.imul(j,st),n=n+Math.imul(R,ut)|0,r=(r=r+Math.imul(R,ct)|0)+Math.imul(z,ut)|0,o=o+Math.imul(z,ct)|0,n=n+Math.imul(T,lt)|0,r=(r=r+Math.imul(T,dt)|0)+Math.imul(O,lt)|0,o=o+Math.imul(O,dt)|0;var Dt=(c+(n=n+Math.imul(I,pt)|0)|0)+((8191&(r=(r=r+Math.imul(I,gt)|0)+Math.imul(S,pt)|0))<<13)|0;c=((o=o+Math.imul(S,gt)|0)+(r>>>13)|0)+(Dt>>>26)|0,Dt&=67108863,n=Math.imul(H,ut),r=(r=Math.imul(H,ct))+Math.imul(j,ut)|0,o=Math.imul(j,ct),n=n+Math.imul(R,lt)|0,r=(r=r+Math.imul(R,dt)|0)+Math.imul(z,lt)|0,o=o+Math.imul(z,dt)|0;var Tt=(c+(n=n+Math.imul(T,pt)|0)|0)+((8191&(r=(r=r+Math.imul(T,gt)|0)+Math.imul(O,pt)|0))<<13)|0;c=((o=o+Math.imul(O,gt)|0)+(r>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(H,lt),r=(r=Math.imul(H,dt))+Math.imul(j,lt)|0,o=Math.imul(j,dt);var Ot=(c+(n=n+Math.imul(R,pt)|0)|0)+((8191&(r=(r=r+Math.imul(R,gt)|0)+Math.imul(z,pt)|0))<<13)|0;c=((o=o+Math.imul(z,gt)|0)+(r>>>13)|0)+(Ot>>>26)|0,Ot&=67108863;var Pt=(c+(n=Math.imul(H,pt))|0)+((8191&(r=(r=Math.imul(H,gt))+Math.imul(j,pt)|0))<<13)|0;return c=((o=Math.imul(j,gt))+(r>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,u[0]=At,u[1]=mt,u[2]=vt,u[3]=bt,u[4]=yt,u[5]=wt,u[6]=Ct,u[7]=xt,u[8]=kt,u[9]=_t,u[10]=Mt,u[11]=Bt,u[12]=Et,u[13]=It,u[14]=St,u[15]=Dt,u[16]=Tt,u[17]=Ot,u[18]=Pt,0!==c&&(u[19]=c,i.length++),i};function g(t,e,i){return(new A).mulp(t,e,i)}function A(t,e){this.x=t,this.y=e}Math.imul||(p=f),o.prototype.mulTo=function(t,e){var i,n=this.length+t.length;return i=10===this.length&&10===t.length?p(this,t,e):n<63?f(this,t,e):n<1024?function(t,e,i){i.negative=e.negative^t.negative,i.length=t.length+e.length;for(var n=0,r=0,o=0;o>>26)|0)>>>26,s&=67108863}i.words[o]=a,n=s,s=r}return 0!==n?i.words[o]=n:i.length--,i.strip()}(this,t,e):g(this,t,e),i},A.prototype.makeRBT=function(t){for(var e=new Array(t),i=o.prototype._countBits(t)-1,n=0;n>=1;return n},A.prototype.permute=function(t,e,i,n,r,o){for(var s=0;s>>=1)r++;return 1<>>=13,i[2*s+1]=8191&o,o>>>=13;for(s=2*e;s>=26,e+=r/67108864|0,e+=o>>>26,this.words[i]=67108863&o}return 0!==e&&(this.words[i]=e,this.length++),this.length=0===t?1:this.length,this},o.prototype.muln=function(t){return this.clone().imuln(t)},o.prototype.sqr=function(){return this.mul(this)},o.prototype.isqr=function(){return this.imul(this.clone())},o.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),i=0;i>>r}return e}(t);if(0===e.length)return new o(1);for(var i=this,n=0;n=0);var e,i=t%26,r=(t-i)/26,o=67108863>>>26-i<<26-i;if(0!==i){var s=0;for(e=0;e>>26-i}s&&(this.words[e]=s,this.length++)}if(0!==r){for(e=this.length-1;e>=0;e--)this.words[e+r]=this.words[e];for(e=0;e=0),r=e?(e-e%26)/26:0;var o=t%26,s=Math.min((t-o)/26,this.length),a=67108863^67108863>>>o<s)for(this.length-=s,c=0;c=0&&(0!==h||c>=r);c--){var l=0|this.words[c];this.words[c]=h<<26-o|l>>>o,h=l&a}return u&&0!==h&&(u.words[u.length++]=h),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},o.prototype.ishrn=function(t,e,i){return n(0===this.negative),this.iushrn(t,e,i)},o.prototype.shln=function(t){return this.clone().ishln(t)},o.prototype.ushln=function(t){return this.clone().iushln(t)},o.prototype.shrn=function(t){return this.clone().ishrn(t)},o.prototype.ushrn=function(t){return this.clone().iushrn(t)},o.prototype.testn=function(t){n("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26,r=1<=0);var e=t%26,i=(t-e)/26;if(n(0===this.negative,"imaskn works only with positive numbers"),this.length<=i)return this;if(0!==e&&i++,this.length=Math.min(i,this.length),0!==e){var r=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},o.prototype.isubn=function(t){if(n("number"==typeof t),n(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(u/67108864|0),this.words[r+i]=67108863&o}for(;r>26,this.words[r+i]=67108863&o;if(0===a)return this.strip();for(n(-1===a),a=0,r=0;r>26,this.words[r]=67108863&o;return this.negative=1,this.strip()},o.prototype._wordDiv=function(t,e){var i=(this.length,t.length),n=this.clone(),r=t,s=0|r.words[r.length-1];0!=(i=26-this._countBits(s))&&(r=r.ushln(i),n.iushln(i),s=0|r.words[r.length-1]);var a,u=n.length-r.length;if("mod"!==e){(a=new o(null)).length=u+1,a.words=new Array(a.length);for(var c=0;c=0;l--){var d=67108864*(0|n.words[r.length+l])+(0|n.words[r.length+l-1]);for(d=Math.min(d/s|0,67108863),n._ishlnsubmul(r,d,l);0!==n.negative;)d--,n.negative=0,n._ishlnsubmul(r,1,l),n.isZero()||(n.negative^=1);a&&(a.words[l]=d)}return a&&a.strip(),n.strip(),"div"!==e&&0!==i&&n.iushrn(i),{div:a||null,mod:n}},o.prototype.divmod=function(t,e,i){return n(!t.isZero()),this.isZero()?{div:new o(0),mod:new o(0)}:0!==this.negative&&0===t.negative?(a=this.neg().divmod(t,e),"mod"!==e&&(r=a.div.neg()),"div"!==e&&(s=a.mod.neg(),i&&0!==s.negative&&s.iadd(t)),{div:r,mod:s}):0===this.negative&&0!==t.negative?(a=this.divmod(t.neg(),e),"mod"!==e&&(r=a.div.neg()),{div:r,mod:a.mod}):0!==(this.negative&t.negative)?(a=this.neg().divmod(t.neg(),e),"div"!==e&&(s=a.mod.neg(),i&&0!==s.negative&&s.isub(t)),{div:a.div,mod:s}):t.length>this.length||this.cmp(t)<0?{div:new o(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new o(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new o(this.modn(t.words[0]))}:this._wordDiv(t,e);var r,s,a},o.prototype.div=function(t){return this.divmod(t,"div",!1).div},o.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},o.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},o.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var i=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),r=t.andln(1),o=i.cmp(n);return o<0||1===r&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},o.prototype.modn=function(t){n(t<=67108863);for(var e=(1<<26)%t,i=0,r=this.length-1;r>=0;r--)i=(e*i+(0|this.words[r]))%t;return i},o.prototype.idivn=function(t){n(t<=67108863);for(var e=0,i=this.length-1;i>=0;i--){var r=(0|this.words[i])+67108864*e;this.words[i]=r/t|0,e=r%t}return this.strip()},o.prototype.divn=function(t){return this.clone().idivn(t)},o.prototype.egcd=function(t){n(0===t.negative),n(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var r=new o(1),s=new o(0),a=new o(0),u=new o(1),c=0;e.isEven()&&i.isEven();)e.iushrn(1),i.iushrn(1),++c;for(var h=i.clone(),l=e.clone();!e.isZero();){for(var d=0,f=1;0===(e.words[0]&f)&&d<26;++d,f<<=1);if(d>0)for(e.iushrn(d);d-- >0;)(r.isOdd()||s.isOdd())&&(r.iadd(h),s.isub(l)),r.iushrn(1),s.iushrn(1);for(var p=0,g=1;0===(i.words[0]&g)&&p<26;++p,g<<=1);if(p>0)for(i.iushrn(p);p-- >0;)(a.isOdd()||u.isOdd())&&(a.iadd(h),u.isub(l)),a.iushrn(1),u.iushrn(1);e.cmp(i)>=0?(e.isub(i),r.isub(a),s.isub(u)):(i.isub(e),a.isub(r),u.isub(s))}return{a,b:u,gcd:i.iushln(c)}},o.prototype._invmp=function(t){n(0===t.negative),n(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var r,s=new o(1),a=new o(0),u=i.clone();e.cmpn(1)>0&&i.cmpn(1)>0;){for(var c=0,h=1;0===(e.words[0]&h)&&c<26;++c,h<<=1);if(c>0)for(e.iushrn(c);c-- >0;)s.isOdd()&&s.iadd(u),s.iushrn(1);for(var l=0,d=1;0===(i.words[0]&d)&&l<26;++l,d<<=1);if(l>0)for(i.iushrn(l);l-- >0;)a.isOdd()&&a.iadd(u),a.iushrn(1);e.cmp(i)>=0?(e.isub(i),s.isub(a)):(i.isub(e),a.isub(s))}return(r=0===e.cmpn(1)?s:a).cmpn(0)<0&&r.iadd(t),r},o.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),i=t.clone();e.negative=0,i.negative=0;for(var n=0;e.isEven()&&i.isEven();n++)e.iushrn(1),i.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;i.isEven();)i.iushrn(1);var r=e.cmp(i);if(r<0){var o=e;e=i,i=o}else if(0===r||0===i.cmpn(1))break;e.isub(i)}return i.iushln(n)},o.prototype.invm=function(t){return this.egcd(t).a.umod(t)},o.prototype.isEven=function(){return!(1&this.words[0])},o.prototype.isOdd=function(){return!(1&~this.words[0])},o.prototype.andln=function(t){return this.words[0]&t},o.prototype.bincn=function(t){n("number"==typeof t);var e=t%26,i=(t-e)/26,r=1<>>26,a&=67108863,this.words[s]=a}return 0!==o&&(this.words[s]=o,this.length++),this},o.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},o.prototype.cmpn=function(t){var e,i=t<0;if(0!==this.negative&&!i)return-1;if(0===this.negative&&i)return 1;if(this.strip(),this.length>1)e=1;else{i&&(t=-t),n(t<=67108863,"Number is too big");var r=0|this.words[0];e=r===t?0:rt.length)return 1;if(this.length=0;i--){var n=0|this.words[i],r=0|t.words[i];if(n!==r){nr&&(e=1);break}}return e},o.prototype.gtn=function(t){return 1===this.cmpn(t)},o.prototype.gt=function(t){return 1===this.cmp(t)},o.prototype.gten=function(t){return this.cmpn(t)>=0},o.prototype.gte=function(t){return this.cmp(t)>=0},o.prototype.ltn=function(t){return-1===this.cmpn(t)},o.prototype.lt=function(t){return-1===this.cmp(t)},o.prototype.lten=function(t){return this.cmpn(t)<=0},o.prototype.lte=function(t){return this.cmp(t)<=0},o.prototype.eqn=function(t){return 0===this.cmpn(t)},o.prototype.eq=function(t){return 0===this.cmp(t)},o.red=function(t){return new x(t)},o.prototype.toRed=function(t){return n(!this.red,"Already a number in reduction context"),n(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},o.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},o.prototype._forceRed=function(t){return this.red=t,this},o.prototype.forceRed=function(t){return n(!this.red,"Already a number in reduction context"),this._forceRed(t)},o.prototype.redAdd=function(t){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},o.prototype.redIAdd=function(t){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},o.prototype.redSub=function(t){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},o.prototype.redISub=function(t){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},o.prototype.redShl=function(t){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},o.prototype.redMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},o.prototype.redIMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},o.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},o.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},o.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},o.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},o.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},o.prototype.redPow=function(t){return n(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var m={k256:null,p224:null,p192:null,p25519:null};function v(t,e){this.name=t,this.p=new o(e,16),this.n=this.p.bitLength(),this.k=new o(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function b(){v.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function y(){v.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function w(){v.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function C(){v.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function x(t){if("string"==typeof t){var e=o._prime(t);this.m=e.p,this.prime=e}else n(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function k(t){x.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new o(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}v.prototype._tmp=function(){var t=new o(null);return t.words=new Array(Math.ceil(this.n/13)),t},v.prototype.ireduce=function(t){var e,i=t;do{this.split(i,this.tmp),e=(i=(i=this.imulK(i)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e0?i.isub(this.p):void 0!==i.strip?i.strip():i._strip(),i},v.prototype.split=function(t,e){t.iushrn(this.n,0,e)},v.prototype.imulK=function(t){return t.imul(this.k)},r(b,v),b.prototype.split=function(t,e){for(var i=4194303,n=Math.min(t.length,9),r=0;r>>22,o=s}o>>>=22,t.words[r-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},b.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,i=0;i>>=26,t.words[i]=r,e=n}return 0!==e&&(t.words[t.length++]=e),t},o._prime=function(t){if(m[t])return m[t];var e;if("k256"===t)e=new b;else if("p224"===t)e=new y;else if("p192"===t)e=new w;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new C}return m[t]=e,e},x.prototype._verify1=function(t){n(0===t.negative,"red works only with positives"),n(t.red,"red works only with red numbers")},x.prototype._verify2=function(t,e){n(0===(t.negative|e.negative),"red works only with positives"),n(t.red&&t.red===e.red,"red works only with red numbers")},x.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},x.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},x.prototype.add=function(t,e){this._verify2(t,e);var i=t.add(e);return i.cmp(this.m)>=0&&i.isub(this.m),i._forceRed(this)},x.prototype.iadd=function(t,e){this._verify2(t,e);var i=t.iadd(e);return i.cmp(this.m)>=0&&i.isub(this.m),i},x.prototype.sub=function(t,e){this._verify2(t,e);var i=t.sub(e);return i.cmpn(0)<0&&i.iadd(this.m),i._forceRed(this)},x.prototype.isub=function(t,e){this._verify2(t,e);var i=t.isub(e);return i.cmpn(0)<0&&i.iadd(this.m),i},x.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},x.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},x.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},x.prototype.isqr=function(t){return this.imul(t,t.clone())},x.prototype.sqr=function(t){return this.mul(t,t)},x.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(n(e%2==1),3===e){var i=this.m.add(new o(1)).iushrn(2);return this.pow(t,i)}for(var r=this.m.subn(1),s=0;!r.isZero()&&0===r.andln(1);)s++,r.iushrn(1);n(!r.isZero());var a=new o(1).toRed(this),u=a.redNeg(),c=this.m.subn(1).iushrn(1),h=this.m.bitLength();for(h=new o(2*h*h).toRed(this);0!==this.pow(h,c).cmp(u);)h.redIAdd(u);for(var l=this.pow(h,r),d=this.pow(t,r.addn(1).iushrn(1)),f=this.pow(t,r),p=s;0!==f.cmp(a);){for(var g=f,A=0;0!==g.cmp(a);A++)g=g.redSqr();n(A=0;n--){for(var c=e.words[n],h=u-1;h>=0;h--){var l=c>>h&1;r!==i[0]&&(r=this.sqr(r)),0!==l||0!==s?(s<<=1,s|=l,(4===++a||0===n&&0===h)&&(r=this.mul(r,i[s]),a=0,s=0)):a=0}u=26}return r},x.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},x.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},o.mont=function(t){return new k(t)},r(k,x),k.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},k.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},k.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var i=t.imul(e),n=i.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),r=i.isub(n).iushrn(this.shift),o=r;return r.cmp(this.m)>=0?o=r.isub(this.m):r.cmpn(0)<0&&(o=r.iadd(this.m)),o._forceRed(this)},k.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new o(0)._forceRed(this);var i=t.mul(e),n=i.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),r=i.isub(n).iushrn(this.shift),s=r;return r.cmp(this.m)>=0?s=r.isub(this.m):r.cmpn(0)<0&&(s=r.iadd(this.m)),s._forceRed(this)},k.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(t=i.nmd(t),this)},47108(t,e,i){"use strict";var n=i(56698),r=i(88276),o=i(66011),s=i(62802),a=i(56168);function u(t){a.call(this,"digest"),this._hash=t}n(u,a),u.prototype._update=function(t){this._hash.update(t)},u.prototype._final=function(){return this._hash.digest()},t.exports=function(t){return"md5"===(t=t.toLowerCase())?new r:"rmd160"===t||"ripemd160"===t?new o:new u(s(t))}},20320(t,e,i){var n=i(88276);t.exports=function(t){return(new n).update(t).digest()}},83507(t,e,i){"use strict";var n=i(56698),r=i(41800),o=i(56168),s=i(92861).Buffer,a=i(20320),u=i(66011),c=i(62802),h=s.alloc(128);function l(t,e){o.call(this,"digest"),"string"==typeof e&&(e=s.from(e));var i="sha512"===t||"sha384"===t?128:64;this._alg=t,this._key=e,e.length>i?e=("rmd160"===t?new u:c(t)).update(e).digest():e.lengtha?e=t(e):e.lengthM});var n=i(71354),r=i.n(n),o=i(76314),s=i.n(o),a=i(4417),u=i.n(a),c=new URL(i(59699),i.b),h=new URL(i(34213),i.b),l=new URL(i(3132),i.b),d=new URL(i(19394),i.b),f=new URL(i(81972),i.b),p=new URL(i(6411),i.b),g=new URL(i(14506),i.b),A=new URL(i(64886),i.b),m=s()(r()),v=u()(c),b=u()(h),y=u()(l),w=u()(d),C=u()(f),x=u()(p),k=u()(g),_=u()(A);m.push([t.id,`/*! jQuery UI - v1.13.3 - 2024-04-26\n* https://jqueryui.com\n* Includes: core.css, accordion.css, autocomplete.css, menu.css, button.css, controlgroup.css, checkboxradio.css, datepicker.css, dialog.css, draggable.css, resizable.css, progressbar.css, selectable.css, selectmenu.css, slider.css, sortable.css, spinner.css, tabs.css, tooltip.css, theme.css\n* To view and modify this theme, visit https://jqueryui.com/themeroller/?bgShadowXPos=&bgOverlayXPos=&bgErrorXPos=&bgHighlightXPos=&bgContentXPos=&bgHeaderXPos=&bgActiveXPos=&bgHoverXPos=&bgDefaultXPos=&bgShadowYPos=&bgOverlayYPos=&bgErrorYPos=&bgHighlightYPos=&bgContentYPos=&bgHeaderYPos=&bgActiveYPos=&bgHoverYPos=&bgDefaultYPos=&bgShadowRepeat=&bgOverlayRepeat=&bgErrorRepeat=&bgHighlightRepeat=&bgContentRepeat=&bgHeaderRepeat=&bgActiveRepeat=&bgHoverRepeat=&bgDefaultRepeat=&iconsHover=url(%22images%2Fui-icons_555555_256x240.png%22)&iconsHighlight=url(%22images%2Fui-icons_777620_256x240.png%22)&iconsHeader=url(%22images%2Fui-icons_444444_256x240.png%22)&iconsError=url(%22images%2Fui-icons_cc0000_256x240.png%22)&iconsDefault=url(%22images%2Fui-icons_777777_256x240.png%22)&iconsContent=url(%22images%2Fui-icons_444444_256x240.png%22)&iconsActive=url(%22images%2Fui-icons_ffffff_256x240.png%22)&bgImgUrlShadow=&bgImgUrlOverlay=&bgImgUrlHover=&bgImgUrlHighlight=&bgImgUrlHeader=&bgImgUrlError=&bgImgUrlDefault=&bgImgUrlContent=&bgImgUrlActive=&opacityFilterShadow=%22alpha(opacity%3D30)%22&opacityFilterOverlay=%22alpha(opacity%3D30)%22&opacityShadowPerc=30&opacityOverlayPerc=30&iconColorHover=%23555555&iconColorHighlight=%23777620&iconColorHeader=%23444444&iconColorError=%23cc0000&iconColorDefault=%23777777&iconColorContent=%23444444&iconColorActive=%23ffffff&bgImgOpacityShadow=0&bgImgOpacityOverlay=0&bgImgOpacityError=95&bgImgOpacityHighlight=55&bgImgOpacityContent=75&bgImgOpacityHeader=75&bgImgOpacityActive=65&bgImgOpacityHover=75&bgImgOpacityDefault=75&bgTextureShadow=flat&bgTextureOverlay=flat&bgTextureError=flat&bgTextureHighlight=flat&bgTextureContent=flat&bgTextureHeader=flat&bgTextureActive=flat&bgTextureHover=flat&bgTextureDefault=flat&cornerRadius=3px&fwDefault=normal&ffDefault=Arial%2CHelvetica%2Csans-serif&fsDefault=1em&cornerRadiusShadow=8px&thicknessShadow=5px&offsetLeftShadow=0px&offsetTopShadow=0px&opacityShadow=.3&bgColorShadow=%23666666&opacityOverlay=.3&bgColorOverlay=%23aaaaaa&fcError=%235f3f3f&borderColorError=%23f1a899&bgColorError=%23fddfdf&fcHighlight=%23777620&borderColorHighlight=%23dad55e&bgColorHighlight=%23fffa90&fcContent=%23333333&borderColorContent=%23dddddd&bgColorContent=%23ffffff&fcHeader=%23333333&borderColorHeader=%23dddddd&bgColorHeader=%23e9e9e9&fcActive=%23ffffff&borderColorActive=%23003eff&bgColorActive=%23007fff&fcHover=%232b2b2b&borderColorHover=%23cccccc&bgColorHover=%23ededed&fcDefault=%23454545&borderColorDefault=%23c5c5c5&bgColorDefault=%23f6f6f6\n* Copyright OpenJS Foundation and other contributors; Licensed MIT */\n\n/* Layout helpers\n----------------------------------*/\n.ui-helper-hidden {\n\tdisplay: none;\n}\n.ui-helper-hidden-accessible {\n\tborder: 0;\n\tclip: rect(0 0 0 0);\n\theight: 1px;\n\tmargin: -1px;\n\toverflow: hidden;\n\tpadding: 0;\n\tposition: absolute;\n\twidth: 1px;\n}\n.ui-helper-reset {\n\tmargin: 0;\n\tpadding: 0;\n\tborder: 0;\n\toutline: 0;\n\tline-height: 1.3;\n\ttext-decoration: none;\n\tfont-size: 100%;\n\tlist-style: none;\n}\n.ui-helper-clearfix:before,\n.ui-helper-clearfix:after {\n\tcontent: "";\n\tdisplay: table;\n\tborder-collapse: collapse;\n}\n.ui-helper-clearfix:after {\n\tclear: both;\n}\n.ui-helper-zfix {\n\twidth: 100%;\n\theight: 100%;\n\ttop: 0;\n\tleft: 0;\n\tposition: absolute;\n\topacity: 0;\n\t-ms-filter: "alpha(opacity=0)"; /* support: IE8 */\n}\n\n.ui-front {\n\tz-index: 100;\n}\n\n\n/* Interaction Cues\n----------------------------------*/\n.ui-state-disabled {\n\tcursor: default !important;\n\tpointer-events: none;\n}\n\n\n/* Icons\n----------------------------------*/\n.ui-icon {\n\tdisplay: inline-block;\n\tvertical-align: middle;\n\tmargin-top: -.25em;\n\tposition: relative;\n\ttext-indent: -99999px;\n\toverflow: hidden;\n\tbackground-repeat: no-repeat;\n}\n\n.ui-widget-icon-block {\n\tleft: 50%;\n\tmargin-left: -8px;\n\tdisplay: block;\n}\n\n/* Misc visuals\n----------------------------------*/\n\n/* Overlays */\n.ui-widget-overlay {\n\tposition: fixed;\n\ttop: 0;\n\tleft: 0;\n\twidth: 100%;\n\theight: 100%;\n}\n.ui-accordion .ui-accordion-header {\n\tdisplay: block;\n\tcursor: pointer;\n\tposition: relative;\n\tmargin: 2px 0 0 0;\n\tpadding: .5em .5em .5em .7em;\n\tfont-size: 100%;\n}\n.ui-accordion .ui-accordion-content {\n\tpadding: 1em 2.2em;\n\tborder-top: 0;\n\toverflow: auto;\n}\n.ui-autocomplete {\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\tcursor: default;\n}\n.ui-menu {\n\tlist-style: none;\n\tpadding: 0;\n\tmargin: 0;\n\tdisplay: block;\n\toutline: 0;\n}\n.ui-menu .ui-menu {\n\tposition: absolute;\n}\n.ui-menu .ui-menu-item {\n\tmargin: 0;\n\tcursor: pointer;\n\t/* support: IE10, see #8844 */\n\tlist-style-image: url(${v});\n}\n.ui-menu .ui-menu-item-wrapper {\n\tposition: relative;\n\tpadding: 3px 1em 3px .4em;\n}\n.ui-menu .ui-menu-divider {\n\tmargin: 5px 0;\n\theight: 0;\n\tfont-size: 0;\n\tline-height: 0;\n\tborder-width: 1px 0 0 0;\n}\n.ui-menu .ui-state-focus,\n.ui-menu .ui-state-active {\n\tmargin: -1px;\n}\n\n/* icon support */\n.ui-menu-icons {\n\tposition: relative;\n}\n.ui-menu-icons .ui-menu-item-wrapper {\n\tpadding-left: 2em;\n}\n\n/* left-aligned */\n.ui-menu .ui-icon {\n\tposition: absolute;\n\ttop: 0;\n\tbottom: 0;\n\tleft: .2em;\n\tmargin: auto 0;\n}\n\n/* right-aligned */\n.ui-menu .ui-menu-icon {\n\tleft: auto;\n\tright: 0;\n}\n.ui-button {\n\tpadding: .4em 1em;\n\tdisplay: inline-block;\n\tposition: relative;\n\tline-height: normal;\n\tmargin-right: .1em;\n\tcursor: pointer;\n\tvertical-align: middle;\n\ttext-align: center;\n\t-webkit-user-select: none;\n\t-moz-user-select: none;\n\t-ms-user-select: none;\n\tuser-select: none;\n\n\t/* Support: IE <= 11 */\n\toverflow: visible;\n}\n\n.ui-button,\n.ui-button:link,\n.ui-button:visited,\n.ui-button:hover,\n.ui-button:active {\n\ttext-decoration: none;\n}\n\n/* to make room for the icon, a width needs to be set here */\n.ui-button-icon-only {\n\twidth: 2em;\n\tbox-sizing: border-box;\n\ttext-indent: -9999px;\n\twhite-space: nowrap;\n}\n\n/* no icon support for input elements */\ninput.ui-button.ui-button-icon-only {\n\ttext-indent: 0;\n}\n\n/* button icon element(s) */\n.ui-button-icon-only .ui-icon {\n\tposition: absolute;\n\ttop: 50%;\n\tleft: 50%;\n\tmargin-top: -8px;\n\tmargin-left: -8px;\n}\n\n.ui-button.ui-icon-notext .ui-icon {\n\tpadding: 0;\n\twidth: 2.1em;\n\theight: 2.1em;\n\ttext-indent: -9999px;\n\twhite-space: nowrap;\n\n}\n\ninput.ui-button.ui-icon-notext .ui-icon {\n\twidth: auto;\n\theight: auto;\n\ttext-indent: 0;\n\twhite-space: normal;\n\tpadding: .4em 1em;\n}\n\n/* workarounds */\n/* Support: Firefox 5 - 40 */\ninput.ui-button::-moz-focus-inner,\nbutton.ui-button::-moz-focus-inner {\n\tborder: 0;\n\tpadding: 0;\n}\n.ui-controlgroup {\n\tvertical-align: middle;\n\tdisplay: inline-block;\n}\n.ui-controlgroup > .ui-controlgroup-item {\n\tfloat: left;\n\tmargin-left: 0;\n\tmargin-right: 0;\n}\n.ui-controlgroup > .ui-controlgroup-item:focus,\n.ui-controlgroup > .ui-controlgroup-item.ui-visual-focus {\n\tz-index: 9999;\n}\n.ui-controlgroup-vertical > .ui-controlgroup-item {\n\tdisplay: block;\n\tfloat: none;\n\twidth: 100%;\n\tmargin-top: 0;\n\tmargin-bottom: 0;\n\ttext-align: left;\n}\n.ui-controlgroup-vertical .ui-controlgroup-item {\n\tbox-sizing: border-box;\n}\n.ui-controlgroup .ui-controlgroup-label {\n\tpadding: .4em 1em;\n}\n.ui-controlgroup .ui-controlgroup-label span {\n\tfont-size: 80%;\n}\n.ui-controlgroup-horizontal .ui-controlgroup-label + .ui-controlgroup-item {\n\tborder-left: none;\n}\n.ui-controlgroup-vertical .ui-controlgroup-label + .ui-controlgroup-item {\n\tborder-top: none;\n}\n.ui-controlgroup-horizontal .ui-controlgroup-label.ui-widget-content {\n\tborder-right: none;\n}\n.ui-controlgroup-vertical .ui-controlgroup-label.ui-widget-content {\n\tborder-bottom: none;\n}\n\n/* Spinner specific style fixes */\n.ui-controlgroup-vertical .ui-spinner-input {\n\n\t/* Support: IE8 only, Android < 4.4 only */\n\twidth: 75%;\n\twidth: calc( 100% - 2.4em );\n}\n.ui-controlgroup-vertical .ui-spinner .ui-spinner-up {\n\tborder-top-style: solid;\n}\n\n.ui-checkboxradio-label .ui-icon-background {\n\tbox-shadow: inset 1px 1px 1px #ccc;\n\tborder-radius: .12em;\n\tborder: none;\n}\n.ui-checkboxradio-radio-label .ui-icon-background {\n\twidth: 16px;\n\theight: 16px;\n\tborder-radius: 1em;\n\toverflow: visible;\n\tborder: none;\n}\n.ui-checkboxradio-radio-label.ui-checkboxradio-checked .ui-icon,\n.ui-checkboxradio-radio-label.ui-checkboxradio-checked:hover .ui-icon {\n\tbackground-image: none;\n\twidth: 8px;\n\theight: 8px;\n\tborder-width: 4px;\n\tborder-style: solid;\n}\n.ui-checkboxradio-disabled {\n\tpointer-events: none;\n}\n.ui-datepicker {\n\twidth: 17em;\n\tpadding: .2em .2em 0;\n\tdisplay: none;\n}\n.ui-datepicker .ui-datepicker-header {\n\tposition: relative;\n\tpadding: .2em 0;\n}\n.ui-datepicker .ui-datepicker-prev,\n.ui-datepicker .ui-datepicker-next {\n\tposition: absolute;\n\ttop: 2px;\n\twidth: 1.8em;\n\theight: 1.8em;\n}\n.ui-datepicker .ui-datepicker-prev-hover,\n.ui-datepicker .ui-datepicker-next-hover {\n\ttop: 1px;\n}\n.ui-datepicker .ui-datepicker-prev {\n\tleft: 2px;\n}\n.ui-datepicker .ui-datepicker-next {\n\tright: 2px;\n}\n.ui-datepicker .ui-datepicker-prev-hover {\n\tleft: 1px;\n}\n.ui-datepicker .ui-datepicker-next-hover {\n\tright: 1px;\n}\n.ui-datepicker .ui-datepicker-prev span,\n.ui-datepicker .ui-datepicker-next span {\n\tdisplay: block;\n\tposition: absolute;\n\tleft: 50%;\n\tmargin-left: -8px;\n\ttop: 50%;\n\tmargin-top: -8px;\n}\n.ui-datepicker .ui-datepicker-title {\n\tmargin: 0 2.3em;\n\tline-height: 1.8em;\n\ttext-align: center;\n}\n.ui-datepicker .ui-datepicker-title select {\n\tfont-size: 1em;\n\tmargin: 1px 0;\n}\n.ui-datepicker select.ui-datepicker-month,\n.ui-datepicker select.ui-datepicker-year {\n\twidth: 45%;\n}\n.ui-datepicker table {\n\twidth: 100%;\n\tfont-size: .9em;\n\tborder-collapse: collapse;\n\tmargin: 0 0 .4em;\n}\n.ui-datepicker th {\n\tpadding: .7em .3em;\n\ttext-align: center;\n\tfont-weight: bold;\n\tborder: 0;\n}\n.ui-datepicker td {\n\tborder: 0;\n\tpadding: 1px;\n}\n.ui-datepicker td span,\n.ui-datepicker td a {\n\tdisplay: block;\n\tpadding: .2em;\n\ttext-align: right;\n\ttext-decoration: none;\n}\n.ui-datepicker .ui-datepicker-buttonpane {\n\tbackground-image: none;\n\tmargin: .7em 0 0 0;\n\tpadding: 0 .2em;\n\tborder-left: 0;\n\tborder-right: 0;\n\tborder-bottom: 0;\n}\n.ui-datepicker .ui-datepicker-buttonpane button {\n\tfloat: right;\n\tmargin: .5em .2em .4em;\n\tcursor: pointer;\n\tpadding: .2em .6em .3em .6em;\n\twidth: auto;\n\toverflow: visible;\n}\n.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current {\n\tfloat: left;\n}\n\n/* with multiple calendars */\n.ui-datepicker.ui-datepicker-multi {\n\twidth: auto;\n}\n.ui-datepicker-multi .ui-datepicker-group {\n\tfloat: left;\n}\n.ui-datepicker-multi .ui-datepicker-group table {\n\twidth: 95%;\n\tmargin: 0 auto .4em;\n}\n.ui-datepicker-multi-2 .ui-datepicker-group {\n\twidth: 50%;\n}\n.ui-datepicker-multi-3 .ui-datepicker-group {\n\twidth: 33.3%;\n}\n.ui-datepicker-multi-4 .ui-datepicker-group {\n\twidth: 25%;\n}\n.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,\n.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header {\n\tborder-left-width: 0;\n}\n.ui-datepicker-multi .ui-datepicker-buttonpane {\n\tclear: left;\n}\n.ui-datepicker-row-break {\n\tclear: both;\n\twidth: 100%;\n\tfont-size: 0;\n}\n\n/* RTL support */\n.ui-datepicker-rtl {\n\tdirection: rtl;\n}\n.ui-datepicker-rtl .ui-datepicker-prev {\n\tright: 2px;\n\tleft: auto;\n}\n.ui-datepicker-rtl .ui-datepicker-next {\n\tleft: 2px;\n\tright: auto;\n}\n.ui-datepicker-rtl .ui-datepicker-prev:hover {\n\tright: 1px;\n\tleft: auto;\n}\n.ui-datepicker-rtl .ui-datepicker-next:hover {\n\tleft: 1px;\n\tright: auto;\n}\n.ui-datepicker-rtl .ui-datepicker-buttonpane {\n\tclear: right;\n}\n.ui-datepicker-rtl .ui-datepicker-buttonpane button {\n\tfloat: left;\n}\n.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,\n.ui-datepicker-rtl .ui-datepicker-group {\n\tfloat: right;\n}\n.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,\n.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header {\n\tborder-right-width: 0;\n\tborder-left-width: 1px;\n}\n\n/* Icons */\n.ui-datepicker .ui-icon {\n\tdisplay: block;\n\ttext-indent: -99999px;\n\toverflow: hidden;\n\tbackground-repeat: no-repeat;\n\tleft: .5em;\n\ttop: .3em;\n}\n.ui-dialog {\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\tpadding: .2em;\n\toutline: 0;\n}\n.ui-dialog .ui-dialog-titlebar {\n\tpadding: .4em 1em;\n\tposition: relative;\n}\n.ui-dialog .ui-dialog-title {\n\tfloat: left;\n\tmargin: .1em 0;\n\twhite-space: nowrap;\n\twidth: 90%;\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n}\n.ui-dialog .ui-dialog-titlebar-close {\n\tposition: absolute;\n\tright: .3em;\n\ttop: 50%;\n\twidth: 20px;\n\tmargin: -10px 0 0 0;\n\tpadding: 1px;\n\theight: 20px;\n}\n.ui-dialog .ui-dialog-content {\n\tposition: relative;\n\tborder: 0;\n\tpadding: .5em 1em;\n\tbackground: none;\n\toverflow: auto;\n}\n.ui-dialog .ui-dialog-buttonpane {\n\ttext-align: left;\n\tborder-width: 1px 0 0 0;\n\tbackground-image: none;\n\tmargin-top: .5em;\n\tpadding: .3em 1em .5em .4em;\n}\n.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {\n\tfloat: right;\n}\n.ui-dialog .ui-dialog-buttonpane button {\n\tmargin: .5em .4em .5em 0;\n\tcursor: pointer;\n}\n.ui-dialog .ui-resizable-n {\n\theight: 2px;\n\ttop: 0;\n}\n.ui-dialog .ui-resizable-e {\n\twidth: 2px;\n\tright: 0;\n}\n.ui-dialog .ui-resizable-s {\n\theight: 2px;\n\tbottom: 0;\n}\n.ui-dialog .ui-resizable-w {\n\twidth: 2px;\n\tleft: 0;\n}\n.ui-dialog .ui-resizable-se,\n.ui-dialog .ui-resizable-sw,\n.ui-dialog .ui-resizable-ne,\n.ui-dialog .ui-resizable-nw {\n\twidth: 7px;\n\theight: 7px;\n}\n.ui-dialog .ui-resizable-se {\n\tright: 0;\n\tbottom: 0;\n}\n.ui-dialog .ui-resizable-sw {\n\tleft: 0;\n\tbottom: 0;\n}\n.ui-dialog .ui-resizable-ne {\n\tright: 0;\n\ttop: 0;\n}\n.ui-dialog .ui-resizable-nw {\n\tleft: 0;\n\ttop: 0;\n}\n.ui-draggable .ui-dialog-titlebar {\n\tcursor: move;\n}\n.ui-draggable-handle {\n\t-ms-touch-action: none;\n\ttouch-action: none;\n}\n.ui-resizable {\n\tposition: relative;\n}\n.ui-resizable-handle {\n\tposition: absolute;\n\tfont-size: 0.1px;\n\tdisplay: block;\n\t-ms-touch-action: none;\n\ttouch-action: none;\n}\n.ui-resizable-disabled .ui-resizable-handle,\n.ui-resizable-autohide .ui-resizable-handle {\n\tdisplay: none;\n}\n.ui-resizable-n {\n\tcursor: n-resize;\n\theight: 7px;\n\twidth: 100%;\n\ttop: -5px;\n\tleft: 0;\n}\n.ui-resizable-s {\n\tcursor: s-resize;\n\theight: 7px;\n\twidth: 100%;\n\tbottom: -5px;\n\tleft: 0;\n}\n.ui-resizable-e {\n\tcursor: e-resize;\n\twidth: 7px;\n\tright: -5px;\n\ttop: 0;\n\theight: 100%;\n}\n.ui-resizable-w {\n\tcursor: w-resize;\n\twidth: 7px;\n\tleft: -5px;\n\ttop: 0;\n\theight: 100%;\n}\n.ui-resizable-se {\n\tcursor: se-resize;\n\twidth: 12px;\n\theight: 12px;\n\tright: 1px;\n\tbottom: 1px;\n}\n.ui-resizable-sw {\n\tcursor: sw-resize;\n\twidth: 9px;\n\theight: 9px;\n\tleft: -5px;\n\tbottom: -5px;\n}\n.ui-resizable-nw {\n\tcursor: nw-resize;\n\twidth: 9px;\n\theight: 9px;\n\tleft: -5px;\n\ttop: -5px;\n}\n.ui-resizable-ne {\n\tcursor: ne-resize;\n\twidth: 9px;\n\theight: 9px;\n\tright: -5px;\n\ttop: -5px;\n}\n.ui-progressbar {\n\theight: 2em;\n\ttext-align: left;\n\toverflow: hidden;\n}\n.ui-progressbar .ui-progressbar-value {\n\tmargin: -1px;\n\theight: 100%;\n}\n.ui-progressbar .ui-progressbar-overlay {\n\tbackground: url(${b});\n\theight: 100%;\n\t-ms-filter: "alpha(opacity=25)"; /* support: IE8 */\n\topacity: 0.25;\n}\n.ui-progressbar-indeterminate .ui-progressbar-value {\n\tbackground-image: none;\n}\n.ui-selectable {\n\t-ms-touch-action: none;\n\ttouch-action: none;\n}\n.ui-selectable-helper {\n\tposition: absolute;\n\tz-index: 100;\n\tborder: 1px dotted black;\n}\n.ui-selectmenu-menu {\n\tpadding: 0;\n\tmargin: 0;\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\tdisplay: none;\n}\n.ui-selectmenu-menu .ui-menu {\n\toverflow: auto;\n\toverflow-x: hidden;\n\tpadding-bottom: 1px;\n}\n.ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup {\n\tfont-size: 1em;\n\tfont-weight: bold;\n\tline-height: 1.5;\n\tpadding: 2px 0.4em;\n\tmargin: 0.5em 0 0 0;\n\theight: auto;\n\tborder: 0;\n}\n.ui-selectmenu-open {\n\tdisplay: block;\n}\n.ui-selectmenu-text {\n\tdisplay: block;\n\tmargin-right: 20px;\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n}\n.ui-selectmenu-button.ui-button {\n\ttext-align: left;\n\twhite-space: nowrap;\n\twidth: 14em;\n}\n.ui-selectmenu-icon.ui-icon {\n\tfloat: right;\n\tmargin-top: 0;\n}\n.ui-slider {\n\tposition: relative;\n\ttext-align: left;\n}\n.ui-slider .ui-slider-handle {\n\tposition: absolute;\n\tz-index: 2;\n\twidth: 1.2em;\n\theight: 1.2em;\n\tcursor: pointer;\n\t-ms-touch-action: none;\n\ttouch-action: none;\n}\n.ui-slider .ui-slider-range {\n\tposition: absolute;\n\tz-index: 1;\n\tfont-size: .7em;\n\tdisplay: block;\n\tborder: 0;\n\tbackground-position: 0 0;\n}\n\n/* support: IE8 - See #6727 */\n.ui-slider.ui-state-disabled .ui-slider-handle,\n.ui-slider.ui-state-disabled .ui-slider-range {\n\tfilter: inherit;\n}\n\n.ui-slider-horizontal {\n\theight: .8em;\n}\n.ui-slider-horizontal .ui-slider-handle {\n\ttop: -.3em;\n\tmargin-left: -.6em;\n}\n.ui-slider-horizontal .ui-slider-range {\n\ttop: 0;\n\theight: 100%;\n}\n.ui-slider-horizontal .ui-slider-range-min {\n\tleft: 0;\n}\n.ui-slider-horizontal .ui-slider-range-max {\n\tright: 0;\n}\n\n.ui-slider-vertical {\n\twidth: .8em;\n\theight: 100px;\n}\n.ui-slider-vertical .ui-slider-handle {\n\tleft: -.3em;\n\tmargin-left: 0;\n\tmargin-bottom: -.6em;\n}\n.ui-slider-vertical .ui-slider-range {\n\tleft: 0;\n\twidth: 100%;\n}\n.ui-slider-vertical .ui-slider-range-min {\n\tbottom: 0;\n}\n.ui-slider-vertical .ui-slider-range-max {\n\ttop: 0;\n}\n.ui-sortable-handle {\n\t-ms-touch-action: none;\n\ttouch-action: none;\n}\n.ui-spinner {\n\tposition: relative;\n\tdisplay: inline-block;\n\toverflow: hidden;\n\tpadding: 0;\n\tvertical-align: middle;\n}\n.ui-spinner-input {\n\tborder: none;\n\tbackground: none;\n\tcolor: inherit;\n\tpadding: .222em 0;\n\tmargin: .2em 0;\n\tvertical-align: middle;\n\tmargin-left: .4em;\n\tmargin-right: 2em;\n}\n.ui-spinner-button {\n\twidth: 1.6em;\n\theight: 50%;\n\tfont-size: .5em;\n\tpadding: 0;\n\tmargin: 0;\n\ttext-align: center;\n\tposition: absolute;\n\tcursor: default;\n\tdisplay: block;\n\toverflow: hidden;\n\tright: 0;\n}\n/* more specificity required here to override default borders */\n.ui-spinner a.ui-spinner-button {\n\tborder-top-style: none;\n\tborder-bottom-style: none;\n\tborder-right-style: none;\n}\n.ui-spinner-up {\n\ttop: 0;\n}\n.ui-spinner-down {\n\tbottom: 0;\n}\n.ui-tabs {\n\tposition: relative;/* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */\n\tpadding: .2em;\n}\n.ui-tabs .ui-tabs-nav {\n\tmargin: 0;\n\tpadding: .2em .2em 0;\n}\n.ui-tabs .ui-tabs-nav li {\n\tlist-style: none;\n\tfloat: left;\n\tposition: relative;\n\ttop: 0;\n\tmargin: 1px .2em 0 0;\n\tborder-bottom-width: 0;\n\tpadding: 0;\n\twhite-space: nowrap;\n}\n.ui-tabs .ui-tabs-nav .ui-tabs-anchor {\n\tfloat: left;\n\tpadding: .5em 1em;\n\ttext-decoration: none;\n}\n.ui-tabs .ui-tabs-nav li.ui-tabs-active {\n\tmargin-bottom: -1px;\n\tpadding-bottom: 1px;\n}\n.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor,\n.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor,\n.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor {\n\tcursor: text;\n}\n.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor {\n\tcursor: pointer;\n}\n.ui-tabs .ui-tabs-panel {\n\tdisplay: block;\n\tborder-width: 0;\n\tpadding: 1em 1.4em;\n\tbackground: none;\n}\n.ui-tooltip {\n\tpadding: 8px;\n\tposition: absolute;\n\tz-index: 9999;\n\tmax-width: 300px;\n}\nbody .ui-tooltip {\n\tborder-width: 2px;\n}\n\n/* Component containers\n----------------------------------*/\n.ui-widget {\n\tfont-family: Arial,Helvetica,sans-serif;\n\tfont-size: 1em;\n}\n.ui-widget .ui-widget {\n\tfont-size: 1em;\n}\n.ui-widget input,\n.ui-widget select,\n.ui-widget textarea,\n.ui-widget button {\n\tfont-family: Arial,Helvetica,sans-serif;\n\tfont-size: 1em;\n}\n.ui-widget.ui-widget-content {\n\tborder: 1px solid #c5c5c5;\n}\n.ui-widget-content {\n\tborder: 1px solid #dddddd;\n\tbackground: #ffffff;\n\tcolor: #333333;\n}\n.ui-widget-content a {\n\tcolor: #333333;\n}\n.ui-widget-header {\n\tborder: 1px solid #dddddd;\n\tbackground: #e9e9e9;\n\tcolor: #333333;\n\tfont-weight: bold;\n}\n.ui-widget-header a {\n\tcolor: #333333;\n}\n\n/* Interaction states\n----------------------------------*/\n.ui-state-default,\n.ui-widget-content .ui-state-default,\n.ui-widget-header .ui-state-default,\n.ui-button,\n\n/* We use html here because we need a greater specificity to make sure disabled\nworks properly when clicked or hovered */\nhtml .ui-button.ui-state-disabled:hover,\nhtml .ui-button.ui-state-disabled:active {\n\tborder: 1px solid #c5c5c5;\n\tbackground: #f6f6f6;\n\tfont-weight: normal;\n\tcolor: #454545;\n}\n.ui-state-default a,\n.ui-state-default a:link,\n.ui-state-default a:visited,\na.ui-button,\na:link.ui-button,\na:visited.ui-button,\n.ui-button {\n\tcolor: #454545;\n\ttext-decoration: none;\n}\n.ui-state-hover,\n.ui-widget-content .ui-state-hover,\n.ui-widget-header .ui-state-hover,\n.ui-state-focus,\n.ui-widget-content .ui-state-focus,\n.ui-widget-header .ui-state-focus,\n.ui-button:hover,\n.ui-button:focus {\n\tborder: 1px solid #cccccc;\n\tbackground: #ededed;\n\tfont-weight: normal;\n\tcolor: #2b2b2b;\n}\n.ui-state-hover a,\n.ui-state-hover a:hover,\n.ui-state-hover a:link,\n.ui-state-hover a:visited,\n.ui-state-focus a,\n.ui-state-focus a:hover,\n.ui-state-focus a:link,\n.ui-state-focus a:visited,\na.ui-button:hover,\na.ui-button:focus {\n\tcolor: #2b2b2b;\n\ttext-decoration: none;\n}\n\n.ui-visual-focus {\n\tbox-shadow: 0 0 3px 1px rgb(94, 158, 214);\n}\n.ui-state-active,\n.ui-widget-content .ui-state-active,\n.ui-widget-header .ui-state-active,\na.ui-button:active,\n.ui-button:active,\n.ui-button.ui-state-active:hover {\n\tborder: 1px solid #003eff;\n\tbackground: #007fff;\n\tfont-weight: normal;\n\tcolor: #ffffff;\n}\n.ui-icon-background,\n.ui-state-active .ui-icon-background {\n\tborder: #003eff;\n\tbackground-color: #ffffff;\n}\n.ui-state-active a,\n.ui-state-active a:link,\n.ui-state-active a:visited {\n\tcolor: #ffffff;\n\ttext-decoration: none;\n}\n\n/* Interaction Cues\n----------------------------------*/\n.ui-state-highlight,\n.ui-widget-content .ui-state-highlight,\n.ui-widget-header .ui-state-highlight {\n\tborder: 1px solid #dad55e;\n\tbackground: #fffa90;\n\tcolor: #777620;\n}\n.ui-state-checked {\n\tborder: 1px solid #dad55e;\n\tbackground: #fffa90;\n}\n.ui-state-highlight a,\n.ui-widget-content .ui-state-highlight a,\n.ui-widget-header .ui-state-highlight a {\n\tcolor: #777620;\n}\n.ui-state-error,\n.ui-widget-content .ui-state-error,\n.ui-widget-header .ui-state-error {\n\tborder: 1px solid #f1a899;\n\tbackground: #fddfdf;\n\tcolor: #5f3f3f;\n}\n.ui-state-error a,\n.ui-widget-content .ui-state-error a,\n.ui-widget-header .ui-state-error a {\n\tcolor: #5f3f3f;\n}\n.ui-state-error-text,\n.ui-widget-content .ui-state-error-text,\n.ui-widget-header .ui-state-error-text {\n\tcolor: #5f3f3f;\n}\n.ui-priority-primary,\n.ui-widget-content .ui-priority-primary,\n.ui-widget-header .ui-priority-primary {\n\tfont-weight: bold;\n}\n.ui-priority-secondary,\n.ui-widget-content .ui-priority-secondary,\n.ui-widget-header .ui-priority-secondary {\n\topacity: .7;\n\t-ms-filter: "alpha(opacity=70)"; /* support: IE8 */\n\tfont-weight: normal;\n}\n.ui-state-disabled,\n.ui-widget-content .ui-state-disabled,\n.ui-widget-header .ui-state-disabled {\n\topacity: .35;\n\t-ms-filter: "alpha(opacity=35)"; /* support: IE8 */\n\tbackground-image: none;\n}\n.ui-state-disabled .ui-icon {\n\t-ms-filter: "alpha(opacity=35)"; /* support: IE8 - See #6059 */\n}\n\n/* Icons\n----------------------------------*/\n\n/* states and images */\n.ui-icon {\n\twidth: 16px;\n\theight: 16px;\n}\n.ui-icon,\n.ui-widget-content .ui-icon {\n\tbackground-image: url(${y});\n}\n.ui-widget-header .ui-icon {\n\tbackground-image: url(${y});\n}\n.ui-state-hover .ui-icon,\n.ui-state-focus .ui-icon,\n.ui-button:hover .ui-icon,\n.ui-button:focus .ui-icon {\n\tbackground-image: url(${w});\n}\n.ui-state-active .ui-icon,\n.ui-button:active .ui-icon {\n\tbackground-image: url(${C});\n}\n.ui-state-highlight .ui-icon,\n.ui-button .ui-state-highlight.ui-icon {\n\tbackground-image: url(${x});\n}\n.ui-state-error .ui-icon,\n.ui-state-error-text .ui-icon {\n\tbackground-image: url(${k});\n}\n.ui-button .ui-icon {\n\tbackground-image: url(${_});\n}\n\n/* positioning */\n/* Three classes needed to override \`.ui-button:hover .ui-icon\` */\n.ui-icon-blank.ui-icon-blank.ui-icon-blank {\n\tbackground-image: none;\n}\n.ui-icon-caret-1-n { background-position: 0 0; }\n.ui-icon-caret-1-ne { background-position: -16px 0; }\n.ui-icon-caret-1-e { background-position: -32px 0; }\n.ui-icon-caret-1-se { background-position: -48px 0; }\n.ui-icon-caret-1-s { background-position: -65px 0; }\n.ui-icon-caret-1-sw { background-position: -80px 0; }\n.ui-icon-caret-1-w { background-position: -96px 0; }\n.ui-icon-caret-1-nw { background-position: -112px 0; }\n.ui-icon-caret-2-n-s { background-position: -128px 0; }\n.ui-icon-caret-2-e-w { background-position: -144px 0; }\n.ui-icon-triangle-1-n { background-position: 0 -16px; }\n.ui-icon-triangle-1-ne { background-position: -16px -16px; }\n.ui-icon-triangle-1-e { background-position: -32px -16px; }\n.ui-icon-triangle-1-se { background-position: -48px -16px; }\n.ui-icon-triangle-1-s { background-position: -65px -16px; }\n.ui-icon-triangle-1-sw { background-position: -80px -16px; }\n.ui-icon-triangle-1-w { background-position: -96px -16px; }\n.ui-icon-triangle-1-nw { background-position: -112px -16px; }\n.ui-icon-triangle-2-n-s { background-position: -128px -16px; }\n.ui-icon-triangle-2-e-w { background-position: -144px -16px; }\n.ui-icon-arrow-1-n { background-position: 0 -32px; }\n.ui-icon-arrow-1-ne { background-position: -16px -32px; }\n.ui-icon-arrow-1-e { background-position: -32px -32px; }\n.ui-icon-arrow-1-se { background-position: -48px -32px; }\n.ui-icon-arrow-1-s { background-position: -65px -32px; }\n.ui-icon-arrow-1-sw { background-position: -80px -32px; }\n.ui-icon-arrow-1-w { background-position: -96px -32px; }\n.ui-icon-arrow-1-nw { background-position: -112px -32px; }\n.ui-icon-arrow-2-n-s { background-position: -128px -32px; }\n.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }\n.ui-icon-arrow-2-e-w { background-position: -160px -32px; }\n.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }\n.ui-icon-arrowstop-1-n { background-position: -192px -32px; }\n.ui-icon-arrowstop-1-e { background-position: -208px -32px; }\n.ui-icon-arrowstop-1-s { background-position: -224px -32px; }\n.ui-icon-arrowstop-1-w { background-position: -240px -32px; }\n.ui-icon-arrowthick-1-n { background-position: 1px -48px; }\n.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }\n.ui-icon-arrowthick-1-e { background-position: -32px -48px; }\n.ui-icon-arrowthick-1-se { background-position: -48px -48px; }\n.ui-icon-arrowthick-1-s { background-position: -64px -48px; }\n.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }\n.ui-icon-arrowthick-1-w { background-position: -96px -48px; }\n.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }\n.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }\n.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }\n.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }\n.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }\n.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }\n.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }\n.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }\n.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }\n.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }\n.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }\n.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }\n.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }\n.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }\n.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }\n.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }\n.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }\n.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }\n.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }\n.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }\n.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }\n.ui-icon-arrow-4 { background-position: 0 -80px; }\n.ui-icon-arrow-4-diag { background-position: -16px -80px; }\n.ui-icon-extlink { background-position: -32px -80px; }\n.ui-icon-newwin { background-position: -48px -80px; }\n.ui-icon-refresh { background-position: -64px -80px; }\n.ui-icon-shuffle { background-position: -80px -80px; }\n.ui-icon-transfer-e-w { background-position: -96px -80px; }\n.ui-icon-transferthick-e-w { background-position: -112px -80px; }\n.ui-icon-folder-collapsed { background-position: 0 -96px; }\n.ui-icon-folder-open { background-position: -16px -96px; }\n.ui-icon-document { background-position: -32px -96px; }\n.ui-icon-document-b { background-position: -48px -96px; }\n.ui-icon-note { background-position: -64px -96px; }\n.ui-icon-mail-closed { background-position: -80px -96px; }\n.ui-icon-mail-open { background-position: -96px -96px; }\n.ui-icon-suitcase { background-position: -112px -96px; }\n.ui-icon-comment { background-position: -128px -96px; }\n.ui-icon-person { background-position: -144px -96px; }\n.ui-icon-print { background-position: -160px -96px; }\n.ui-icon-trash { background-position: -176px -96px; }\n.ui-icon-locked { background-position: -192px -96px; }\n.ui-icon-unlocked { background-position: -208px -96px; }\n.ui-icon-bookmark { background-position: -224px -96px; }\n.ui-icon-tag { background-position: -240px -96px; }\n.ui-icon-home { background-position: 0 -112px; }\n.ui-icon-flag { background-position: -16px -112px; }\n.ui-icon-calendar { background-position: -32px -112px; }\n.ui-icon-cart { background-position: -48px -112px; }\n.ui-icon-pencil { background-position: -64px -112px; }\n.ui-icon-clock { background-position: -80px -112px; }\n.ui-icon-disk { background-position: -96px -112px; }\n.ui-icon-calculator { background-position: -112px -112px; }\n.ui-icon-zoomin { background-position: -128px -112px; }\n.ui-icon-zoomout { background-position: -144px -112px; }\n.ui-icon-search { background-position: -160px -112px; }\n.ui-icon-wrench { background-position: -176px -112px; }\n.ui-icon-gear { background-position: -192px -112px; }\n.ui-icon-heart { background-position: -208px -112px; }\n.ui-icon-star { background-position: -224px -112px; }\n.ui-icon-link { background-position: -240px -112px; }\n.ui-icon-cancel { background-position: 0 -128px; }\n.ui-icon-plus { background-position: -16px -128px; }\n.ui-icon-plusthick { background-position: -32px -128px; }\n.ui-icon-minus { background-position: -48px -128px; }\n.ui-icon-minusthick { background-position: -64px -128px; }\n.ui-icon-close { background-position: -80px -128px; }\n.ui-icon-closethick { background-position: -96px -128px; }\n.ui-icon-key { background-position: -112px -128px; }\n.ui-icon-lightbulb { background-position: -128px -128px; }\n.ui-icon-scissors { background-position: -144px -128px; }\n.ui-icon-clipboard { background-position: -160px -128px; }\n.ui-icon-copy { background-position: -176px -128px; }\n.ui-icon-contact { background-position: -192px -128px; }\n.ui-icon-image { background-position: -208px -128px; }\n.ui-icon-video { background-position: -224px -128px; }\n.ui-icon-script { background-position: -240px -128px; }\n.ui-icon-alert { background-position: 0 -144px; }\n.ui-icon-info { background-position: -16px -144px; }\n.ui-icon-notice { background-position: -32px -144px; }\n.ui-icon-help { background-position: -48px -144px; }\n.ui-icon-check { background-position: -64px -144px; }\n.ui-icon-bullet { background-position: -80px -144px; }\n.ui-icon-radio-on { background-position: -96px -144px; }\n.ui-icon-radio-off { background-position: -112px -144px; }\n.ui-icon-pin-w { background-position: -128px -144px; }\n.ui-icon-pin-s { background-position: -144px -144px; }\n.ui-icon-play { background-position: 0 -160px; }\n.ui-icon-pause { background-position: -16px -160px; }\n.ui-icon-seek-next { background-position: -32px -160px; }\n.ui-icon-seek-prev { background-position: -48px -160px; }\n.ui-icon-seek-end { background-position: -64px -160px; }\n.ui-icon-seek-start { background-position: -80px -160px; }\n/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */\n.ui-icon-seek-first { background-position: -80px -160px; }\n.ui-icon-stop { background-position: -96px -160px; }\n.ui-icon-eject { background-position: -112px -160px; }\n.ui-icon-volume-off { background-position: -128px -160px; }\n.ui-icon-volume-on { background-position: -144px -160px; }\n.ui-icon-power { background-position: 0 -176px; }\n.ui-icon-signal-diag { background-position: -16px -176px; }\n.ui-icon-signal { background-position: -32px -176px; }\n.ui-icon-battery-0 { background-position: -48px -176px; }\n.ui-icon-battery-1 { background-position: -64px -176px; }\n.ui-icon-battery-2 { background-position: -80px -176px; }\n.ui-icon-battery-3 { background-position: -96px -176px; }\n.ui-icon-circle-plus { background-position: 0 -192px; }\n.ui-icon-circle-minus { background-position: -16px -192px; }\n.ui-icon-circle-close { background-position: -32px -192px; }\n.ui-icon-circle-triangle-e { background-position: -48px -192px; }\n.ui-icon-circle-triangle-s { background-position: -64px -192px; }\n.ui-icon-circle-triangle-w { background-position: -80px -192px; }\n.ui-icon-circle-triangle-n { background-position: -96px -192px; }\n.ui-icon-circle-arrow-e { background-position: -112px -192px; }\n.ui-icon-circle-arrow-s { background-position: -128px -192px; }\n.ui-icon-circle-arrow-w { background-position: -144px -192px; }\n.ui-icon-circle-arrow-n { background-position: -160px -192px; }\n.ui-icon-circle-zoomin { background-position: -176px -192px; }\n.ui-icon-circle-zoomout { background-position: -192px -192px; }\n.ui-icon-circle-check { background-position: -208px -192px; }\n.ui-icon-circlesmall-plus { background-position: 0 -208px; }\n.ui-icon-circlesmall-minus { background-position: -16px -208px; }\n.ui-icon-circlesmall-close { background-position: -32px -208px; }\n.ui-icon-squaresmall-plus { background-position: -48px -208px; }\n.ui-icon-squaresmall-minus { background-position: -64px -208px; }\n.ui-icon-squaresmall-close { background-position: -80px -208px; }\n.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }\n.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }\n.ui-icon-grip-solid-vertical { background-position: -32px -224px; }\n.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }\n.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }\n.ui-icon-grip-diagonal-se { background-position: -80px -224px; }\n\n\n/* Misc visuals\n----------------------------------*/\n\n/* Corner radius */\n.ui-corner-all,\n.ui-corner-top,\n.ui-corner-left,\n.ui-corner-tl {\n\tborder-top-left-radius: 3px;\n}\n.ui-corner-all,\n.ui-corner-top,\n.ui-corner-right,\n.ui-corner-tr {\n\tborder-top-right-radius: 3px;\n}\n.ui-corner-all,\n.ui-corner-bottom,\n.ui-corner-left,\n.ui-corner-bl {\n\tborder-bottom-left-radius: 3px;\n}\n.ui-corner-all,\n.ui-corner-bottom,\n.ui-corner-right,\n.ui-corner-br {\n\tborder-bottom-right-radius: 3px;\n}\n\n/* Overlays */\n.ui-widget-overlay {\n\tbackground: #aaaaaa;\n\topacity: .003;\n\t-ms-filter: "alpha(opacity=.3)"; /* support: IE8 */\n}\n.ui-widget-shadow {\n\t-webkit-box-shadow: 0px 0px 5px #666666;\n\tbox-shadow: 0px 0px 5px #666666;\n}\n`,"",{version:3,sources:["webpack://./node_modules/jquery-ui-dist/jquery-ui.css"],names:[],mappings:"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,YAAY;AACb;AACA;CACC,WAAW;CACX,YAAY;CACZ,kBAAkB;CAClB,iBAAiB;CACjB,YAAY;AACb;AACA;;CAEC,sBAAsB;CACtB,UAAU;CACV,WAAW;CACX,iBAAiB;CACjB,mBAAmB;AACpB;AACA;CACC,oBAAoB;AACrB;AACA;CACC,WAAW;CACX,oBAAoB;CACpB,aAAa;AACd;AACA;CACC,kBAAkB;CAClB,eAAe;AAChB;AACA;;CAEC,kBAAkB;CAClB,QAAQ;CACR,YAAY;CACZ,aAAa;AACd;AACA;;CAEC,QAAQ;AACT;AACA;CACC,SAAS;AACV;AACA;CACC,UAAU;AACX;AACA;CACC,SAAS;AACV;AACA;CACC,UAAU;AACX;AACA;;CAEC,cAAc;CACd,kBAAkB;CAClB,SAAS;CACT,iBAAiB;CACjB,QAAQ;CACR,gBAAgB;AACjB;AACA;CACC,eAAe;CACf,kBAAkB;CAClB,kBAAkB;AACnB;AACA;CACC,cAAc;CACd,aAAa;AACd;AACA;;CAEC,UAAU;AACX;AACA;CACC,WAAW;CACX,eAAe;CACf,yBAAyB;CACzB,gBAAgB;AACjB;AACA;CACC,kBAAkB;CAClB,kBAAkB;CAClB,iBAAiB;CACjB,SAAS;AACV;AACA;CACC,SAAS;CACT,YAAY;AACb;AACA;;CAEC,cAAc;CACd,aAAa;CACb,iBAAiB;CACjB,qBAAqB;AACtB;AACA;CACC,sBAAsB;CACtB,kBAAkB;CAClB,eAAe;CACf,cAAc;CACd,eAAe;CACf,gBAAgB;AACjB;AACA;CACC,YAAY;CACZ,sBAAsB;CACtB,eAAe;CACf,4BAA4B;CAC5B,WAAW;CACX,iBAAiB;AAClB;AACA;CACC,WAAW;AACZ;;AAEA,4BAA4B;AAC5B;CACC,WAAW;AACZ;AACA;CACC,WAAW;AACZ;AACA;CACC,UAAU;CACV,mBAAmB;AACpB;AACA;CACC,UAAU;AACX;AACA;CACC,YAAY;AACb;AACA;CACC,UAAU;AACX;AACA;;CAEC,oBAAoB;AACrB;AACA;CACC,WAAW;AACZ;AACA;CACC,WAAW;CACX,WAAW;CACX,YAAY;AACb;;AAEA,gBAAgB;AAChB;CACC,cAAc;AACf;AACA;CACC,UAAU;CACV,UAAU;AACX;AACA;CACC,SAAS;CACT,WAAW;AACZ;AACA;CACC,UAAU;CACV,UAAU;AACX;AACA;CACC,SAAS;CACT,WAAW;AACZ;AACA;CACC,YAAY;AACb;AACA;CACC,WAAW;AACZ;AACA;;CAEC,YAAY;AACb;AACA;;CAEC,qBAAqB;CACrB,sBAAsB;AACvB;;AAEA,UAAU;AACV;CACC,cAAc;CACd,qBAAqB;CACrB,gBAAgB;CAChB,4BAA4B;CAC5B,UAAU;CACV,SAAS;AACV;AACA;CACC,kBAAkB;CAClB,MAAM;CACN,OAAO;CACP,aAAa;CACb,UAAU;AACX;AACA;CACC,iBAAiB;CACjB,kBAAkB;AACnB;AACA;CACC,WAAW;CACX,cAAc;CACd,mBAAmB;CACnB,UAAU;CACV,gBAAgB;CAChB,uBAAuB;AACxB;AACA;CACC,kBAAkB;CAClB,WAAW;CACX,QAAQ;CACR,WAAW;CACX,mBAAmB;CACnB,YAAY;CACZ,YAAY;AACb;AACA;CACC,kBAAkB;CAClB,SAAS;CACT,iBAAiB;CACjB,gBAAgB;CAChB,cAAc;AACf;AACA;CACC,gBAAgB;CAChB,uBAAuB;CACvB,sBAAsB;CACtB,gBAAgB;CAChB,2BAA2B;AAC5B;AACA;CACC,YAAY;AACb;AACA;CACC,wBAAwB;CACxB,eAAe;AAChB;AACA;CACC,WAAW;CACX,MAAM;AACP;AACA;CACC,UAAU;CACV,QAAQ;AACT;AACA;CACC,WAAW;CACX,SAAS;AACV;AACA;CACC,UAAU;CACV,OAAO;AACR;AACA;;;;CAIC,UAAU;CACV,WAAW;AACZ;AACA;CACC,QAAQ;CACR,SAAS;AACV;AACA;CACC,OAAO;CACP,SAAS;AACV;AACA;CACC,QAAQ;CACR,MAAM;AACP;AACA;CACC,OAAO;CACP,MAAM;AACP;AACA;CACC,YAAY;AACb;AACA;CACC,sBAAsB;CACtB,kBAAkB;AACnB;AACA;CACC,kBAAkB;AACnB;AACA;CACC,kBAAkB;CAClB,gBAAgB;CAChB,cAAc;CACd,sBAAsB;CACtB,kBAAkB;AACnB;AACA;;CAEC,aAAa;AACd;AACA;CACC,gBAAgB;CAChB,WAAW;CACX,WAAW;CACX,SAAS;CACT,OAAO;AACR;AACA;CACC,gBAAgB;CAChB,WAAW;CACX,WAAW;CACX,YAAY;CACZ,OAAO;AACR;AACA;CACC,gBAAgB;CAChB,UAAU;CACV,WAAW;CACX,MAAM;CACN,YAAY;AACb;AACA;CACC,gBAAgB;CAChB,UAAU;CACV,UAAU;CACV,MAAM;CACN,YAAY;AACb;AACA;CACC,iBAAiB;CACjB,WAAW;CACX,YAAY;CACZ,UAAU;CACV,WAAW;AACZ;AACA;CACC,iBAAiB;CACjB,UAAU;CACV,WAAW;CACX,UAAU;CACV,YAAY;AACb;AACA;CACC,iBAAiB;CACjB,UAAU;CACV,WAAW;CACX,UAAU;CACV,SAAS;AACV;AACA;CACC,iBAAiB;CACjB,UAAU;CACV,WAAW;CACX,WAAW;CACX,SAAS;AACV;AACA;CACC,WAAW;CACX,gBAAgB;CAChB,gBAAgB;AACjB;AACA;CACC,YAAY;CACZ,YAAY;AACb;AACA;CACC,mDAAyzE;CACzzE,YAAY;CACZ,+BAA+B,EAAE,iBAAiB;CAClD,aAAa;AACd;AACA;CACC,sBAAsB;AACvB;AACA;CACC,sBAAsB;CACtB,kBAAkB;AACnB;AACA;CACC,kBAAkB;CAClB,YAAY;CACZ,wBAAwB;AACzB;AACA;CACC,UAAU;CACV,SAAS;CACT,kBAAkB;CAClB,MAAM;CACN,OAAO;CACP,aAAa;AACd;AACA;CACC,cAAc;CACd,kBAAkB;CAClB,mBAAmB;AACpB;AACA;CACC,cAAc;CACd,iBAAiB;CACjB,gBAAgB;CAChB,kBAAkB;CAClB,mBAAmB;CACnB,YAAY;CACZ,SAAS;AACV;AACA;CACC,cAAc;AACf;AACA;CACC,cAAc;CACd,kBAAkB;CAClB,gBAAgB;CAChB,uBAAuB;AACxB;AACA;CACC,gBAAgB;CAChB,mBAAmB;CACnB,WAAW;AACZ;AACA;CACC,YAAY;CACZ,aAAa;AACd;AACA;CACC,kBAAkB;CAClB,gBAAgB;AACjB;AACA;CACC,kBAAkB;CAClB,UAAU;CACV,YAAY;CACZ,aAAa;CACb,eAAe;CACf,sBAAsB;CACtB,kBAAkB;AACnB;AACA;CACC,kBAAkB;CAClB,UAAU;CACV,eAAe;CACf,cAAc;CACd,SAAS;CACT,wBAAwB;AACzB;;AAEA,6BAA6B;AAC7B;;CAEC,eAAe;AAChB;;AAEA;CACC,YAAY;AACb;AACA;CACC,UAAU;CACV,kBAAkB;AACnB;AACA;CACC,MAAM;CACN,YAAY;AACb;AACA;CACC,OAAO;AACR;AACA;CACC,QAAQ;AACT;;AAEA;CACC,WAAW;CACX,aAAa;AACd;AACA;CACC,WAAW;CACX,cAAc;CACd,oBAAoB;AACrB;AACA;CACC,OAAO;CACP,WAAW;AACZ;AACA;CACC,SAAS;AACV;AACA;CACC,MAAM;AACP;AACA;CACC,sBAAsB;CACtB,kBAAkB;AACnB;AACA;CACC,kBAAkB;CAClB,qBAAqB;CACrB,gBAAgB;CAChB,UAAU;CACV,sBAAsB;AACvB;AACA;CACC,YAAY;CACZ,gBAAgB;CAChB,cAAc;CACd,iBAAiB;CACjB,cAAc;CACd,sBAAsB;CACtB,iBAAiB;CACjB,iBAAiB;AAClB;AACA;CACC,YAAY;CACZ,WAAW;CACX,eAAe;CACf,UAAU;CACV,SAAS;CACT,kBAAkB;CAClB,kBAAkB;CAClB,eAAe;CACf,cAAc;CACd,gBAAgB;CAChB,QAAQ;AACT;AACA,+DAA+D;AAC/D;CACC,sBAAsB;CACtB,yBAAyB;CACzB,wBAAwB;AACzB;AACA;CACC,MAAM;AACP;AACA;CACC,SAAS;AACV;AACA;CACC,kBAAkB,CAAC,uIAAuI;CAC1J,aAAa;AACd;AACA;CACC,SAAS;CACT,oBAAoB;AACrB;AACA;CACC,gBAAgB;CAChB,WAAW;CACX,kBAAkB;CAClB,MAAM;CACN,oBAAoB;CACpB,sBAAsB;CACtB,UAAU;CACV,mBAAmB;AACpB;AACA;CACC,WAAW;CACX,iBAAiB;CACjB,qBAAqB;AACtB;AACA;CACC,mBAAmB;CACnB,mBAAmB;AACpB;AACA;;;CAGC,YAAY;AACb;AACA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",sourcesContent:['/*! jQuery UI - v1.13.3 - 2024-04-26\n* https://jqueryui.com\n* Includes: core.css, accordion.css, autocomplete.css, menu.css, button.css, controlgroup.css, checkboxradio.css, datepicker.css, dialog.css, draggable.css, resizable.css, progressbar.css, selectable.css, selectmenu.css, slider.css, sortable.css, spinner.css, tabs.css, tooltip.css, theme.css\n* To view and modify this theme, visit https://jqueryui.com/themeroller/?bgShadowXPos=&bgOverlayXPos=&bgErrorXPos=&bgHighlightXPos=&bgContentXPos=&bgHeaderXPos=&bgActiveXPos=&bgHoverXPos=&bgDefaultXPos=&bgShadowYPos=&bgOverlayYPos=&bgErrorYPos=&bgHighlightYPos=&bgContentYPos=&bgHeaderYPos=&bgActiveYPos=&bgHoverYPos=&bgDefaultYPos=&bgShadowRepeat=&bgOverlayRepeat=&bgErrorRepeat=&bgHighlightRepeat=&bgContentRepeat=&bgHeaderRepeat=&bgActiveRepeat=&bgHoverRepeat=&bgDefaultRepeat=&iconsHover=url(%22images%2Fui-icons_555555_256x240.png%22)&iconsHighlight=url(%22images%2Fui-icons_777620_256x240.png%22)&iconsHeader=url(%22images%2Fui-icons_444444_256x240.png%22)&iconsError=url(%22images%2Fui-icons_cc0000_256x240.png%22)&iconsDefault=url(%22images%2Fui-icons_777777_256x240.png%22)&iconsContent=url(%22images%2Fui-icons_444444_256x240.png%22)&iconsActive=url(%22images%2Fui-icons_ffffff_256x240.png%22)&bgImgUrlShadow=&bgImgUrlOverlay=&bgImgUrlHover=&bgImgUrlHighlight=&bgImgUrlHeader=&bgImgUrlError=&bgImgUrlDefault=&bgImgUrlContent=&bgImgUrlActive=&opacityFilterShadow=%22alpha(opacity%3D30)%22&opacityFilterOverlay=%22alpha(opacity%3D30)%22&opacityShadowPerc=30&opacityOverlayPerc=30&iconColorHover=%23555555&iconColorHighlight=%23777620&iconColorHeader=%23444444&iconColorError=%23cc0000&iconColorDefault=%23777777&iconColorContent=%23444444&iconColorActive=%23ffffff&bgImgOpacityShadow=0&bgImgOpacityOverlay=0&bgImgOpacityError=95&bgImgOpacityHighlight=55&bgImgOpacityContent=75&bgImgOpacityHeader=75&bgImgOpacityActive=65&bgImgOpacityHover=75&bgImgOpacityDefault=75&bgTextureShadow=flat&bgTextureOverlay=flat&bgTextureError=flat&bgTextureHighlight=flat&bgTextureContent=flat&bgTextureHeader=flat&bgTextureActive=flat&bgTextureHover=flat&bgTextureDefault=flat&cornerRadius=3px&fwDefault=normal&ffDefault=Arial%2CHelvetica%2Csans-serif&fsDefault=1em&cornerRadiusShadow=8px&thicknessShadow=5px&offsetLeftShadow=0px&offsetTopShadow=0px&opacityShadow=.3&bgColorShadow=%23666666&opacityOverlay=.3&bgColorOverlay=%23aaaaaa&fcError=%235f3f3f&borderColorError=%23f1a899&bgColorError=%23fddfdf&fcHighlight=%23777620&borderColorHighlight=%23dad55e&bgColorHighlight=%23fffa90&fcContent=%23333333&borderColorContent=%23dddddd&bgColorContent=%23ffffff&fcHeader=%23333333&borderColorHeader=%23dddddd&bgColorHeader=%23e9e9e9&fcActive=%23ffffff&borderColorActive=%23003eff&bgColorActive=%23007fff&fcHover=%232b2b2b&borderColorHover=%23cccccc&bgColorHover=%23ededed&fcDefault=%23454545&borderColorDefault=%23c5c5c5&bgColorDefault=%23f6f6f6\n* Copyright OpenJS Foundation and other contributors; Licensed MIT */\n\n/* Layout helpers\n----------------------------------*/\n.ui-helper-hidden {\n\tdisplay: none;\n}\n.ui-helper-hidden-accessible {\n\tborder: 0;\n\tclip: rect(0 0 0 0);\n\theight: 1px;\n\tmargin: -1px;\n\toverflow: hidden;\n\tpadding: 0;\n\tposition: absolute;\n\twidth: 1px;\n}\n.ui-helper-reset {\n\tmargin: 0;\n\tpadding: 0;\n\tborder: 0;\n\toutline: 0;\n\tline-height: 1.3;\n\ttext-decoration: none;\n\tfont-size: 100%;\n\tlist-style: none;\n}\n.ui-helper-clearfix:before,\n.ui-helper-clearfix:after {\n\tcontent: "";\n\tdisplay: table;\n\tborder-collapse: collapse;\n}\n.ui-helper-clearfix:after {\n\tclear: both;\n}\n.ui-helper-zfix {\n\twidth: 100%;\n\theight: 100%;\n\ttop: 0;\n\tleft: 0;\n\tposition: absolute;\n\topacity: 0;\n\t-ms-filter: "alpha(opacity=0)"; /* support: IE8 */\n}\n\n.ui-front {\n\tz-index: 100;\n}\n\n\n/* Interaction Cues\n----------------------------------*/\n.ui-state-disabled {\n\tcursor: default !important;\n\tpointer-events: none;\n}\n\n\n/* Icons\n----------------------------------*/\n.ui-icon {\n\tdisplay: inline-block;\n\tvertical-align: middle;\n\tmargin-top: -.25em;\n\tposition: relative;\n\ttext-indent: -99999px;\n\toverflow: hidden;\n\tbackground-repeat: no-repeat;\n}\n\n.ui-widget-icon-block {\n\tleft: 50%;\n\tmargin-left: -8px;\n\tdisplay: block;\n}\n\n/* Misc visuals\n----------------------------------*/\n\n/* Overlays */\n.ui-widget-overlay {\n\tposition: fixed;\n\ttop: 0;\n\tleft: 0;\n\twidth: 100%;\n\theight: 100%;\n}\n.ui-accordion .ui-accordion-header {\n\tdisplay: block;\n\tcursor: pointer;\n\tposition: relative;\n\tmargin: 2px 0 0 0;\n\tpadding: .5em .5em .5em .7em;\n\tfont-size: 100%;\n}\n.ui-accordion .ui-accordion-content {\n\tpadding: 1em 2.2em;\n\tborder-top: 0;\n\toverflow: auto;\n}\n.ui-autocomplete {\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\tcursor: default;\n}\n.ui-menu {\n\tlist-style: none;\n\tpadding: 0;\n\tmargin: 0;\n\tdisplay: block;\n\toutline: 0;\n}\n.ui-menu .ui-menu {\n\tposition: absolute;\n}\n.ui-menu .ui-menu-item {\n\tmargin: 0;\n\tcursor: pointer;\n\t/* support: IE10, see #8844 */\n\tlist-style-image: url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7");\n}\n.ui-menu .ui-menu-item-wrapper {\n\tposition: relative;\n\tpadding: 3px 1em 3px .4em;\n}\n.ui-menu .ui-menu-divider {\n\tmargin: 5px 0;\n\theight: 0;\n\tfont-size: 0;\n\tline-height: 0;\n\tborder-width: 1px 0 0 0;\n}\n.ui-menu .ui-state-focus,\n.ui-menu .ui-state-active {\n\tmargin: -1px;\n}\n\n/* icon support */\n.ui-menu-icons {\n\tposition: relative;\n}\n.ui-menu-icons .ui-menu-item-wrapper {\n\tpadding-left: 2em;\n}\n\n/* left-aligned */\n.ui-menu .ui-icon {\n\tposition: absolute;\n\ttop: 0;\n\tbottom: 0;\n\tleft: .2em;\n\tmargin: auto 0;\n}\n\n/* right-aligned */\n.ui-menu .ui-menu-icon {\n\tleft: auto;\n\tright: 0;\n}\n.ui-button {\n\tpadding: .4em 1em;\n\tdisplay: inline-block;\n\tposition: relative;\n\tline-height: normal;\n\tmargin-right: .1em;\n\tcursor: pointer;\n\tvertical-align: middle;\n\ttext-align: center;\n\t-webkit-user-select: none;\n\t-moz-user-select: none;\n\t-ms-user-select: none;\n\tuser-select: none;\n\n\t/* Support: IE <= 11 */\n\toverflow: visible;\n}\n\n.ui-button,\n.ui-button:link,\n.ui-button:visited,\n.ui-button:hover,\n.ui-button:active {\n\ttext-decoration: none;\n}\n\n/* to make room for the icon, a width needs to be set here */\n.ui-button-icon-only {\n\twidth: 2em;\n\tbox-sizing: border-box;\n\ttext-indent: -9999px;\n\twhite-space: nowrap;\n}\n\n/* no icon support for input elements */\ninput.ui-button.ui-button-icon-only {\n\ttext-indent: 0;\n}\n\n/* button icon element(s) */\n.ui-button-icon-only .ui-icon {\n\tposition: absolute;\n\ttop: 50%;\n\tleft: 50%;\n\tmargin-top: -8px;\n\tmargin-left: -8px;\n}\n\n.ui-button.ui-icon-notext .ui-icon {\n\tpadding: 0;\n\twidth: 2.1em;\n\theight: 2.1em;\n\ttext-indent: -9999px;\n\twhite-space: nowrap;\n\n}\n\ninput.ui-button.ui-icon-notext .ui-icon {\n\twidth: auto;\n\theight: auto;\n\ttext-indent: 0;\n\twhite-space: normal;\n\tpadding: .4em 1em;\n}\n\n/* workarounds */\n/* Support: Firefox 5 - 40 */\ninput.ui-button::-moz-focus-inner,\nbutton.ui-button::-moz-focus-inner {\n\tborder: 0;\n\tpadding: 0;\n}\n.ui-controlgroup {\n\tvertical-align: middle;\n\tdisplay: inline-block;\n}\n.ui-controlgroup > .ui-controlgroup-item {\n\tfloat: left;\n\tmargin-left: 0;\n\tmargin-right: 0;\n}\n.ui-controlgroup > .ui-controlgroup-item:focus,\n.ui-controlgroup > .ui-controlgroup-item.ui-visual-focus {\n\tz-index: 9999;\n}\n.ui-controlgroup-vertical > .ui-controlgroup-item {\n\tdisplay: block;\n\tfloat: none;\n\twidth: 100%;\n\tmargin-top: 0;\n\tmargin-bottom: 0;\n\ttext-align: left;\n}\n.ui-controlgroup-vertical .ui-controlgroup-item {\n\tbox-sizing: border-box;\n}\n.ui-controlgroup .ui-controlgroup-label {\n\tpadding: .4em 1em;\n}\n.ui-controlgroup .ui-controlgroup-label span {\n\tfont-size: 80%;\n}\n.ui-controlgroup-horizontal .ui-controlgroup-label + .ui-controlgroup-item {\n\tborder-left: none;\n}\n.ui-controlgroup-vertical .ui-controlgroup-label + .ui-controlgroup-item {\n\tborder-top: none;\n}\n.ui-controlgroup-horizontal .ui-controlgroup-label.ui-widget-content {\n\tborder-right: none;\n}\n.ui-controlgroup-vertical .ui-controlgroup-label.ui-widget-content {\n\tborder-bottom: none;\n}\n\n/* Spinner specific style fixes */\n.ui-controlgroup-vertical .ui-spinner-input {\n\n\t/* Support: IE8 only, Android < 4.4 only */\n\twidth: 75%;\n\twidth: calc( 100% - 2.4em );\n}\n.ui-controlgroup-vertical .ui-spinner .ui-spinner-up {\n\tborder-top-style: solid;\n}\n\n.ui-checkboxradio-label .ui-icon-background {\n\tbox-shadow: inset 1px 1px 1px #ccc;\n\tborder-radius: .12em;\n\tborder: none;\n}\n.ui-checkboxradio-radio-label .ui-icon-background {\n\twidth: 16px;\n\theight: 16px;\n\tborder-radius: 1em;\n\toverflow: visible;\n\tborder: none;\n}\n.ui-checkboxradio-radio-label.ui-checkboxradio-checked .ui-icon,\n.ui-checkboxradio-radio-label.ui-checkboxradio-checked:hover .ui-icon {\n\tbackground-image: none;\n\twidth: 8px;\n\theight: 8px;\n\tborder-width: 4px;\n\tborder-style: solid;\n}\n.ui-checkboxradio-disabled {\n\tpointer-events: none;\n}\n.ui-datepicker {\n\twidth: 17em;\n\tpadding: .2em .2em 0;\n\tdisplay: none;\n}\n.ui-datepicker .ui-datepicker-header {\n\tposition: relative;\n\tpadding: .2em 0;\n}\n.ui-datepicker .ui-datepicker-prev,\n.ui-datepicker .ui-datepicker-next {\n\tposition: absolute;\n\ttop: 2px;\n\twidth: 1.8em;\n\theight: 1.8em;\n}\n.ui-datepicker .ui-datepicker-prev-hover,\n.ui-datepicker .ui-datepicker-next-hover {\n\ttop: 1px;\n}\n.ui-datepicker .ui-datepicker-prev {\n\tleft: 2px;\n}\n.ui-datepicker .ui-datepicker-next {\n\tright: 2px;\n}\n.ui-datepicker .ui-datepicker-prev-hover {\n\tleft: 1px;\n}\n.ui-datepicker .ui-datepicker-next-hover {\n\tright: 1px;\n}\n.ui-datepicker .ui-datepicker-prev span,\n.ui-datepicker .ui-datepicker-next span {\n\tdisplay: block;\n\tposition: absolute;\n\tleft: 50%;\n\tmargin-left: -8px;\n\ttop: 50%;\n\tmargin-top: -8px;\n}\n.ui-datepicker .ui-datepicker-title {\n\tmargin: 0 2.3em;\n\tline-height: 1.8em;\n\ttext-align: center;\n}\n.ui-datepicker .ui-datepicker-title select {\n\tfont-size: 1em;\n\tmargin: 1px 0;\n}\n.ui-datepicker select.ui-datepicker-month,\n.ui-datepicker select.ui-datepicker-year {\n\twidth: 45%;\n}\n.ui-datepicker table {\n\twidth: 100%;\n\tfont-size: .9em;\n\tborder-collapse: collapse;\n\tmargin: 0 0 .4em;\n}\n.ui-datepicker th {\n\tpadding: .7em .3em;\n\ttext-align: center;\n\tfont-weight: bold;\n\tborder: 0;\n}\n.ui-datepicker td {\n\tborder: 0;\n\tpadding: 1px;\n}\n.ui-datepicker td span,\n.ui-datepicker td a {\n\tdisplay: block;\n\tpadding: .2em;\n\ttext-align: right;\n\ttext-decoration: none;\n}\n.ui-datepicker .ui-datepicker-buttonpane {\n\tbackground-image: none;\n\tmargin: .7em 0 0 0;\n\tpadding: 0 .2em;\n\tborder-left: 0;\n\tborder-right: 0;\n\tborder-bottom: 0;\n}\n.ui-datepicker .ui-datepicker-buttonpane button {\n\tfloat: right;\n\tmargin: .5em .2em .4em;\n\tcursor: pointer;\n\tpadding: .2em .6em .3em .6em;\n\twidth: auto;\n\toverflow: visible;\n}\n.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current {\n\tfloat: left;\n}\n\n/* with multiple calendars */\n.ui-datepicker.ui-datepicker-multi {\n\twidth: auto;\n}\n.ui-datepicker-multi .ui-datepicker-group {\n\tfloat: left;\n}\n.ui-datepicker-multi .ui-datepicker-group table {\n\twidth: 95%;\n\tmargin: 0 auto .4em;\n}\n.ui-datepicker-multi-2 .ui-datepicker-group {\n\twidth: 50%;\n}\n.ui-datepicker-multi-3 .ui-datepicker-group {\n\twidth: 33.3%;\n}\n.ui-datepicker-multi-4 .ui-datepicker-group {\n\twidth: 25%;\n}\n.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,\n.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header {\n\tborder-left-width: 0;\n}\n.ui-datepicker-multi .ui-datepicker-buttonpane {\n\tclear: left;\n}\n.ui-datepicker-row-break {\n\tclear: both;\n\twidth: 100%;\n\tfont-size: 0;\n}\n\n/* RTL support */\n.ui-datepicker-rtl {\n\tdirection: rtl;\n}\n.ui-datepicker-rtl .ui-datepicker-prev {\n\tright: 2px;\n\tleft: auto;\n}\n.ui-datepicker-rtl .ui-datepicker-next {\n\tleft: 2px;\n\tright: auto;\n}\n.ui-datepicker-rtl .ui-datepicker-prev:hover {\n\tright: 1px;\n\tleft: auto;\n}\n.ui-datepicker-rtl .ui-datepicker-next:hover {\n\tleft: 1px;\n\tright: auto;\n}\n.ui-datepicker-rtl .ui-datepicker-buttonpane {\n\tclear: right;\n}\n.ui-datepicker-rtl .ui-datepicker-buttonpane button {\n\tfloat: left;\n}\n.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,\n.ui-datepicker-rtl .ui-datepicker-group {\n\tfloat: right;\n}\n.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,\n.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header {\n\tborder-right-width: 0;\n\tborder-left-width: 1px;\n}\n\n/* Icons */\n.ui-datepicker .ui-icon {\n\tdisplay: block;\n\ttext-indent: -99999px;\n\toverflow: hidden;\n\tbackground-repeat: no-repeat;\n\tleft: .5em;\n\ttop: .3em;\n}\n.ui-dialog {\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\tpadding: .2em;\n\toutline: 0;\n}\n.ui-dialog .ui-dialog-titlebar {\n\tpadding: .4em 1em;\n\tposition: relative;\n}\n.ui-dialog .ui-dialog-title {\n\tfloat: left;\n\tmargin: .1em 0;\n\twhite-space: nowrap;\n\twidth: 90%;\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n}\n.ui-dialog .ui-dialog-titlebar-close {\n\tposition: absolute;\n\tright: .3em;\n\ttop: 50%;\n\twidth: 20px;\n\tmargin: -10px 0 0 0;\n\tpadding: 1px;\n\theight: 20px;\n}\n.ui-dialog .ui-dialog-content {\n\tposition: relative;\n\tborder: 0;\n\tpadding: .5em 1em;\n\tbackground: none;\n\toverflow: auto;\n}\n.ui-dialog .ui-dialog-buttonpane {\n\ttext-align: left;\n\tborder-width: 1px 0 0 0;\n\tbackground-image: none;\n\tmargin-top: .5em;\n\tpadding: .3em 1em .5em .4em;\n}\n.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {\n\tfloat: right;\n}\n.ui-dialog .ui-dialog-buttonpane button {\n\tmargin: .5em .4em .5em 0;\n\tcursor: pointer;\n}\n.ui-dialog .ui-resizable-n {\n\theight: 2px;\n\ttop: 0;\n}\n.ui-dialog .ui-resizable-e {\n\twidth: 2px;\n\tright: 0;\n}\n.ui-dialog .ui-resizable-s {\n\theight: 2px;\n\tbottom: 0;\n}\n.ui-dialog .ui-resizable-w {\n\twidth: 2px;\n\tleft: 0;\n}\n.ui-dialog .ui-resizable-se,\n.ui-dialog .ui-resizable-sw,\n.ui-dialog .ui-resizable-ne,\n.ui-dialog .ui-resizable-nw {\n\twidth: 7px;\n\theight: 7px;\n}\n.ui-dialog .ui-resizable-se {\n\tright: 0;\n\tbottom: 0;\n}\n.ui-dialog .ui-resizable-sw {\n\tleft: 0;\n\tbottom: 0;\n}\n.ui-dialog .ui-resizable-ne {\n\tright: 0;\n\ttop: 0;\n}\n.ui-dialog .ui-resizable-nw {\n\tleft: 0;\n\ttop: 0;\n}\n.ui-draggable .ui-dialog-titlebar {\n\tcursor: move;\n}\n.ui-draggable-handle {\n\t-ms-touch-action: none;\n\ttouch-action: none;\n}\n.ui-resizable {\n\tposition: relative;\n}\n.ui-resizable-handle {\n\tposition: absolute;\n\tfont-size: 0.1px;\n\tdisplay: block;\n\t-ms-touch-action: none;\n\ttouch-action: none;\n}\n.ui-resizable-disabled .ui-resizable-handle,\n.ui-resizable-autohide .ui-resizable-handle {\n\tdisplay: none;\n}\n.ui-resizable-n {\n\tcursor: n-resize;\n\theight: 7px;\n\twidth: 100%;\n\ttop: -5px;\n\tleft: 0;\n}\n.ui-resizable-s {\n\tcursor: s-resize;\n\theight: 7px;\n\twidth: 100%;\n\tbottom: -5px;\n\tleft: 0;\n}\n.ui-resizable-e {\n\tcursor: e-resize;\n\twidth: 7px;\n\tright: -5px;\n\ttop: 0;\n\theight: 100%;\n}\n.ui-resizable-w {\n\tcursor: w-resize;\n\twidth: 7px;\n\tleft: -5px;\n\ttop: 0;\n\theight: 100%;\n}\n.ui-resizable-se {\n\tcursor: se-resize;\n\twidth: 12px;\n\theight: 12px;\n\tright: 1px;\n\tbottom: 1px;\n}\n.ui-resizable-sw {\n\tcursor: sw-resize;\n\twidth: 9px;\n\theight: 9px;\n\tleft: -5px;\n\tbottom: -5px;\n}\n.ui-resizable-nw {\n\tcursor: nw-resize;\n\twidth: 9px;\n\theight: 9px;\n\tleft: -5px;\n\ttop: -5px;\n}\n.ui-resizable-ne {\n\tcursor: ne-resize;\n\twidth: 9px;\n\theight: 9px;\n\tright: -5px;\n\ttop: -5px;\n}\n.ui-progressbar {\n\theight: 2em;\n\ttext-align: left;\n\toverflow: hidden;\n}\n.ui-progressbar .ui-progressbar-value {\n\tmargin: -1px;\n\theight: 100%;\n}\n.ui-progressbar .ui-progressbar-overlay {\n\tbackground: url("data:image/gif;base64,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");\n\theight: 100%;\n\t-ms-filter: "alpha(opacity=25)"; /* support: IE8 */\n\topacity: 0.25;\n}\n.ui-progressbar-indeterminate .ui-progressbar-value {\n\tbackground-image: none;\n}\n.ui-selectable {\n\t-ms-touch-action: none;\n\ttouch-action: none;\n}\n.ui-selectable-helper {\n\tposition: absolute;\n\tz-index: 100;\n\tborder: 1px dotted black;\n}\n.ui-selectmenu-menu {\n\tpadding: 0;\n\tmargin: 0;\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\tdisplay: none;\n}\n.ui-selectmenu-menu .ui-menu {\n\toverflow: auto;\n\toverflow-x: hidden;\n\tpadding-bottom: 1px;\n}\n.ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup {\n\tfont-size: 1em;\n\tfont-weight: bold;\n\tline-height: 1.5;\n\tpadding: 2px 0.4em;\n\tmargin: 0.5em 0 0 0;\n\theight: auto;\n\tborder: 0;\n}\n.ui-selectmenu-open {\n\tdisplay: block;\n}\n.ui-selectmenu-text {\n\tdisplay: block;\n\tmargin-right: 20px;\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n}\n.ui-selectmenu-button.ui-button {\n\ttext-align: left;\n\twhite-space: nowrap;\n\twidth: 14em;\n}\n.ui-selectmenu-icon.ui-icon {\n\tfloat: right;\n\tmargin-top: 0;\n}\n.ui-slider {\n\tposition: relative;\n\ttext-align: left;\n}\n.ui-slider .ui-slider-handle {\n\tposition: absolute;\n\tz-index: 2;\n\twidth: 1.2em;\n\theight: 1.2em;\n\tcursor: pointer;\n\t-ms-touch-action: none;\n\ttouch-action: none;\n}\n.ui-slider .ui-slider-range {\n\tposition: absolute;\n\tz-index: 1;\n\tfont-size: .7em;\n\tdisplay: block;\n\tborder: 0;\n\tbackground-position: 0 0;\n}\n\n/* support: IE8 - See #6727 */\n.ui-slider.ui-state-disabled .ui-slider-handle,\n.ui-slider.ui-state-disabled .ui-slider-range {\n\tfilter: inherit;\n}\n\n.ui-slider-horizontal {\n\theight: .8em;\n}\n.ui-slider-horizontal .ui-slider-handle {\n\ttop: -.3em;\n\tmargin-left: -.6em;\n}\n.ui-slider-horizontal .ui-slider-range {\n\ttop: 0;\n\theight: 100%;\n}\n.ui-slider-horizontal .ui-slider-range-min {\n\tleft: 0;\n}\n.ui-slider-horizontal .ui-slider-range-max {\n\tright: 0;\n}\n\n.ui-slider-vertical {\n\twidth: .8em;\n\theight: 100px;\n}\n.ui-slider-vertical .ui-slider-handle {\n\tleft: -.3em;\n\tmargin-left: 0;\n\tmargin-bottom: -.6em;\n}\n.ui-slider-vertical .ui-slider-range {\n\tleft: 0;\n\twidth: 100%;\n}\n.ui-slider-vertical .ui-slider-range-min {\n\tbottom: 0;\n}\n.ui-slider-vertical .ui-slider-range-max {\n\ttop: 0;\n}\n.ui-sortable-handle {\n\t-ms-touch-action: none;\n\ttouch-action: none;\n}\n.ui-spinner {\n\tposition: relative;\n\tdisplay: inline-block;\n\toverflow: hidden;\n\tpadding: 0;\n\tvertical-align: middle;\n}\n.ui-spinner-input {\n\tborder: none;\n\tbackground: none;\n\tcolor: inherit;\n\tpadding: .222em 0;\n\tmargin: .2em 0;\n\tvertical-align: middle;\n\tmargin-left: .4em;\n\tmargin-right: 2em;\n}\n.ui-spinner-button {\n\twidth: 1.6em;\n\theight: 50%;\n\tfont-size: .5em;\n\tpadding: 0;\n\tmargin: 0;\n\ttext-align: center;\n\tposition: absolute;\n\tcursor: default;\n\tdisplay: block;\n\toverflow: hidden;\n\tright: 0;\n}\n/* more specificity required here to override default borders */\n.ui-spinner a.ui-spinner-button {\n\tborder-top-style: none;\n\tborder-bottom-style: none;\n\tborder-right-style: none;\n}\n.ui-spinner-up {\n\ttop: 0;\n}\n.ui-spinner-down {\n\tbottom: 0;\n}\n.ui-tabs {\n\tposition: relative;/* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */\n\tpadding: .2em;\n}\n.ui-tabs .ui-tabs-nav {\n\tmargin: 0;\n\tpadding: .2em .2em 0;\n}\n.ui-tabs .ui-tabs-nav li {\n\tlist-style: none;\n\tfloat: left;\n\tposition: relative;\n\ttop: 0;\n\tmargin: 1px .2em 0 0;\n\tborder-bottom-width: 0;\n\tpadding: 0;\n\twhite-space: nowrap;\n}\n.ui-tabs .ui-tabs-nav .ui-tabs-anchor {\n\tfloat: left;\n\tpadding: .5em 1em;\n\ttext-decoration: none;\n}\n.ui-tabs .ui-tabs-nav li.ui-tabs-active {\n\tmargin-bottom: -1px;\n\tpadding-bottom: 1px;\n}\n.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor,\n.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor,\n.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor {\n\tcursor: text;\n}\n.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor {\n\tcursor: pointer;\n}\n.ui-tabs .ui-tabs-panel {\n\tdisplay: block;\n\tborder-width: 0;\n\tpadding: 1em 1.4em;\n\tbackground: none;\n}\n.ui-tooltip {\n\tpadding: 8px;\n\tposition: absolute;\n\tz-index: 9999;\n\tmax-width: 300px;\n}\nbody .ui-tooltip {\n\tborder-width: 2px;\n}\n\n/* Component containers\n----------------------------------*/\n.ui-widget {\n\tfont-family: Arial,Helvetica,sans-serif;\n\tfont-size: 1em;\n}\n.ui-widget .ui-widget {\n\tfont-size: 1em;\n}\n.ui-widget input,\n.ui-widget select,\n.ui-widget textarea,\n.ui-widget button {\n\tfont-family: Arial,Helvetica,sans-serif;\n\tfont-size: 1em;\n}\n.ui-widget.ui-widget-content {\n\tborder: 1px solid #c5c5c5;\n}\n.ui-widget-content {\n\tborder: 1px solid #dddddd;\n\tbackground: #ffffff;\n\tcolor: #333333;\n}\n.ui-widget-content a {\n\tcolor: #333333;\n}\n.ui-widget-header {\n\tborder: 1px solid #dddddd;\n\tbackground: #e9e9e9;\n\tcolor: #333333;\n\tfont-weight: bold;\n}\n.ui-widget-header a {\n\tcolor: #333333;\n}\n\n/* Interaction states\n----------------------------------*/\n.ui-state-default,\n.ui-widget-content .ui-state-default,\n.ui-widget-header .ui-state-default,\n.ui-button,\n\n/* We use html here because we need a greater specificity to make sure disabled\nworks properly when clicked or hovered */\nhtml .ui-button.ui-state-disabled:hover,\nhtml .ui-button.ui-state-disabled:active {\n\tborder: 1px solid #c5c5c5;\n\tbackground: #f6f6f6;\n\tfont-weight: normal;\n\tcolor: #454545;\n}\n.ui-state-default a,\n.ui-state-default a:link,\n.ui-state-default a:visited,\na.ui-button,\na:link.ui-button,\na:visited.ui-button,\n.ui-button {\n\tcolor: #454545;\n\ttext-decoration: none;\n}\n.ui-state-hover,\n.ui-widget-content .ui-state-hover,\n.ui-widget-header .ui-state-hover,\n.ui-state-focus,\n.ui-widget-content .ui-state-focus,\n.ui-widget-header .ui-state-focus,\n.ui-button:hover,\n.ui-button:focus {\n\tborder: 1px solid #cccccc;\n\tbackground: #ededed;\n\tfont-weight: normal;\n\tcolor: #2b2b2b;\n}\n.ui-state-hover a,\n.ui-state-hover a:hover,\n.ui-state-hover a:link,\n.ui-state-hover a:visited,\n.ui-state-focus a,\n.ui-state-focus a:hover,\n.ui-state-focus a:link,\n.ui-state-focus a:visited,\na.ui-button:hover,\na.ui-button:focus {\n\tcolor: #2b2b2b;\n\ttext-decoration: none;\n}\n\n.ui-visual-focus {\n\tbox-shadow: 0 0 3px 1px rgb(94, 158, 214);\n}\n.ui-state-active,\n.ui-widget-content .ui-state-active,\n.ui-widget-header .ui-state-active,\na.ui-button:active,\n.ui-button:active,\n.ui-button.ui-state-active:hover {\n\tborder: 1px solid #003eff;\n\tbackground: #007fff;\n\tfont-weight: normal;\n\tcolor: #ffffff;\n}\n.ui-icon-background,\n.ui-state-active .ui-icon-background {\n\tborder: #003eff;\n\tbackground-color: #ffffff;\n}\n.ui-state-active a,\n.ui-state-active a:link,\n.ui-state-active a:visited {\n\tcolor: #ffffff;\n\ttext-decoration: none;\n}\n\n/* Interaction Cues\n----------------------------------*/\n.ui-state-highlight,\n.ui-widget-content .ui-state-highlight,\n.ui-widget-header .ui-state-highlight {\n\tborder: 1px solid #dad55e;\n\tbackground: #fffa90;\n\tcolor: #777620;\n}\n.ui-state-checked {\n\tborder: 1px solid #dad55e;\n\tbackground: #fffa90;\n}\n.ui-state-highlight a,\n.ui-widget-content .ui-state-highlight a,\n.ui-widget-header .ui-state-highlight a {\n\tcolor: #777620;\n}\n.ui-state-error,\n.ui-widget-content .ui-state-error,\n.ui-widget-header .ui-state-error {\n\tborder: 1px solid #f1a899;\n\tbackground: #fddfdf;\n\tcolor: #5f3f3f;\n}\n.ui-state-error a,\n.ui-widget-content .ui-state-error a,\n.ui-widget-header .ui-state-error a {\n\tcolor: #5f3f3f;\n}\n.ui-state-error-text,\n.ui-widget-content .ui-state-error-text,\n.ui-widget-header .ui-state-error-text {\n\tcolor: #5f3f3f;\n}\n.ui-priority-primary,\n.ui-widget-content .ui-priority-primary,\n.ui-widget-header .ui-priority-primary {\n\tfont-weight: bold;\n}\n.ui-priority-secondary,\n.ui-widget-content .ui-priority-secondary,\n.ui-widget-header .ui-priority-secondary {\n\topacity: .7;\n\t-ms-filter: "alpha(opacity=70)"; /* support: IE8 */\n\tfont-weight: normal;\n}\n.ui-state-disabled,\n.ui-widget-content .ui-state-disabled,\n.ui-widget-header .ui-state-disabled {\n\topacity: .35;\n\t-ms-filter: "alpha(opacity=35)"; /* support: IE8 */\n\tbackground-image: none;\n}\n.ui-state-disabled .ui-icon {\n\t-ms-filter: "alpha(opacity=35)"; /* support: IE8 - See #6059 */\n}\n\n/* Icons\n----------------------------------*/\n\n/* states and images */\n.ui-icon {\n\twidth: 16px;\n\theight: 16px;\n}\n.ui-icon,\n.ui-widget-content .ui-icon {\n\tbackground-image: url("images/ui-icons_444444_256x240.png");\n}\n.ui-widget-header .ui-icon {\n\tbackground-image: url("images/ui-icons_444444_256x240.png");\n}\n.ui-state-hover .ui-icon,\n.ui-state-focus .ui-icon,\n.ui-button:hover .ui-icon,\n.ui-button:focus .ui-icon {\n\tbackground-image: url("images/ui-icons_555555_256x240.png");\n}\n.ui-state-active .ui-icon,\n.ui-button:active .ui-icon {\n\tbackground-image: url("images/ui-icons_ffffff_256x240.png");\n}\n.ui-state-highlight .ui-icon,\n.ui-button .ui-state-highlight.ui-icon {\n\tbackground-image: url("images/ui-icons_777620_256x240.png");\n}\n.ui-state-error .ui-icon,\n.ui-state-error-text .ui-icon {\n\tbackground-image: url("images/ui-icons_cc0000_256x240.png");\n}\n.ui-button .ui-icon {\n\tbackground-image: url("images/ui-icons_777777_256x240.png");\n}\n\n/* positioning */\n/* Three classes needed to override `.ui-button:hover .ui-icon` */\n.ui-icon-blank.ui-icon-blank.ui-icon-blank {\n\tbackground-image: none;\n}\n.ui-icon-caret-1-n { background-position: 0 0; }\n.ui-icon-caret-1-ne { background-position: -16px 0; }\n.ui-icon-caret-1-e { background-position: -32px 0; }\n.ui-icon-caret-1-se { background-position: -48px 0; }\n.ui-icon-caret-1-s { background-position: -65px 0; }\n.ui-icon-caret-1-sw { background-position: -80px 0; }\n.ui-icon-caret-1-w { background-position: -96px 0; }\n.ui-icon-caret-1-nw { background-position: -112px 0; }\n.ui-icon-caret-2-n-s { background-position: -128px 0; }\n.ui-icon-caret-2-e-w { background-position: -144px 0; }\n.ui-icon-triangle-1-n { background-position: 0 -16px; }\n.ui-icon-triangle-1-ne { background-position: -16px -16px; }\n.ui-icon-triangle-1-e { background-position: -32px -16px; }\n.ui-icon-triangle-1-se { background-position: -48px -16px; }\n.ui-icon-triangle-1-s { background-position: -65px -16px; }\n.ui-icon-triangle-1-sw { background-position: -80px -16px; }\n.ui-icon-triangle-1-w { background-position: -96px -16px; }\n.ui-icon-triangle-1-nw { background-position: -112px -16px; }\n.ui-icon-triangle-2-n-s { background-position: -128px -16px; }\n.ui-icon-triangle-2-e-w { background-position: -144px -16px; }\n.ui-icon-arrow-1-n { background-position: 0 -32px; }\n.ui-icon-arrow-1-ne { background-position: -16px -32px; }\n.ui-icon-arrow-1-e { background-position: -32px -32px; }\n.ui-icon-arrow-1-se { background-position: -48px -32px; }\n.ui-icon-arrow-1-s { background-position: -65px -32px; }\n.ui-icon-arrow-1-sw { background-position: -80px -32px; }\n.ui-icon-arrow-1-w { background-position: -96px -32px; }\n.ui-icon-arrow-1-nw { background-position: -112px -32px; }\n.ui-icon-arrow-2-n-s { background-position: -128px -32px; }\n.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }\n.ui-icon-arrow-2-e-w { background-position: -160px -32px; }\n.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }\n.ui-icon-arrowstop-1-n { background-position: -192px -32px; }\n.ui-icon-arrowstop-1-e { background-position: -208px -32px; }\n.ui-icon-arrowstop-1-s { background-position: -224px -32px; }\n.ui-icon-arrowstop-1-w { background-position: -240px -32px; }\n.ui-icon-arrowthick-1-n { background-position: 1px -48px; }\n.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }\n.ui-icon-arrowthick-1-e { background-position: -32px -48px; }\n.ui-icon-arrowthick-1-se { background-position: -48px -48px; }\n.ui-icon-arrowthick-1-s { background-position: -64px -48px; }\n.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }\n.ui-icon-arrowthick-1-w { background-position: -96px -48px; }\n.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }\n.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }\n.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }\n.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }\n.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }\n.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }\n.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }\n.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }\n.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }\n.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }\n.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }\n.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }\n.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }\n.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }\n.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }\n.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }\n.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }\n.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }\n.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }\n.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }\n.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }\n.ui-icon-arrow-4 { background-position: 0 -80px; }\n.ui-icon-arrow-4-diag { background-position: -16px -80px; }\n.ui-icon-extlink { background-position: -32px -80px; }\n.ui-icon-newwin { background-position: -48px -80px; }\n.ui-icon-refresh { background-position: -64px -80px; }\n.ui-icon-shuffle { background-position: -80px -80px; }\n.ui-icon-transfer-e-w { background-position: -96px -80px; }\n.ui-icon-transferthick-e-w { background-position: -112px -80px; }\n.ui-icon-folder-collapsed { background-position: 0 -96px; }\n.ui-icon-folder-open { background-position: -16px -96px; }\n.ui-icon-document { background-position: -32px -96px; }\n.ui-icon-document-b { background-position: -48px -96px; }\n.ui-icon-note { background-position: -64px -96px; }\n.ui-icon-mail-closed { background-position: -80px -96px; }\n.ui-icon-mail-open { background-position: -96px -96px; }\n.ui-icon-suitcase { background-position: -112px -96px; }\n.ui-icon-comment { background-position: -128px -96px; }\n.ui-icon-person { background-position: -144px -96px; }\n.ui-icon-print { background-position: -160px -96px; }\n.ui-icon-trash { background-position: -176px -96px; }\n.ui-icon-locked { background-position: -192px -96px; }\n.ui-icon-unlocked { background-position: -208px -96px; }\n.ui-icon-bookmark { background-position: -224px -96px; }\n.ui-icon-tag { background-position: -240px -96px; }\n.ui-icon-home { background-position: 0 -112px; }\n.ui-icon-flag { background-position: -16px -112px; }\n.ui-icon-calendar { background-position: -32px -112px; }\n.ui-icon-cart { background-position: -48px -112px; }\n.ui-icon-pencil { background-position: -64px -112px; }\n.ui-icon-clock { background-position: -80px -112px; }\n.ui-icon-disk { background-position: -96px -112px; }\n.ui-icon-calculator { background-position: -112px -112px; }\n.ui-icon-zoomin { background-position: -128px -112px; }\n.ui-icon-zoomout { background-position: -144px -112px; }\n.ui-icon-search { background-position: -160px -112px; }\n.ui-icon-wrench { background-position: -176px -112px; }\n.ui-icon-gear { background-position: -192px -112px; }\n.ui-icon-heart { background-position: -208px -112px; }\n.ui-icon-star { background-position: -224px -112px; }\n.ui-icon-link { background-position: -240px -112px; }\n.ui-icon-cancel { background-position: 0 -128px; }\n.ui-icon-plus { background-position: -16px -128px; }\n.ui-icon-plusthick { background-position: -32px -128px; }\n.ui-icon-minus { background-position: -48px -128px; }\n.ui-icon-minusthick { background-position: -64px -128px; }\n.ui-icon-close { background-position: -80px -128px; }\n.ui-icon-closethick { background-position: -96px -128px; }\n.ui-icon-key { background-position: -112px -128px; }\n.ui-icon-lightbulb { background-position: -128px -128px; }\n.ui-icon-scissors { background-position: -144px -128px; }\n.ui-icon-clipboard { background-position: -160px -128px; }\n.ui-icon-copy { background-position: -176px -128px; }\n.ui-icon-contact { background-position: -192px -128px; }\n.ui-icon-image { background-position: -208px -128px; }\n.ui-icon-video { background-position: -224px -128px; }\n.ui-icon-script { background-position: -240px -128px; }\n.ui-icon-alert { background-position: 0 -144px; }\n.ui-icon-info { background-position: -16px -144px; }\n.ui-icon-notice { background-position: -32px -144px; }\n.ui-icon-help { background-position: -48px -144px; }\n.ui-icon-check { background-position: -64px -144px; }\n.ui-icon-bullet { background-position: -80px -144px; }\n.ui-icon-radio-on { background-position: -96px -144px; }\n.ui-icon-radio-off { background-position: -112px -144px; }\n.ui-icon-pin-w { background-position: -128px -144px; }\n.ui-icon-pin-s { background-position: -144px -144px; }\n.ui-icon-play { background-position: 0 -160px; }\n.ui-icon-pause { background-position: -16px -160px; }\n.ui-icon-seek-next { background-position: -32px -160px; }\n.ui-icon-seek-prev { background-position: -48px -160px; }\n.ui-icon-seek-end { background-position: -64px -160px; }\n.ui-icon-seek-start { background-position: -80px -160px; }\n/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */\n.ui-icon-seek-first { background-position: -80px -160px; }\n.ui-icon-stop { background-position: -96px -160px; }\n.ui-icon-eject { background-position: -112px -160px; }\n.ui-icon-volume-off { background-position: -128px -160px; }\n.ui-icon-volume-on { background-position: -144px -160px; }\n.ui-icon-power { background-position: 0 -176px; }\n.ui-icon-signal-diag { background-position: -16px -176px; }\n.ui-icon-signal { background-position: -32px -176px; }\n.ui-icon-battery-0 { background-position: -48px -176px; }\n.ui-icon-battery-1 { background-position: -64px -176px; }\n.ui-icon-battery-2 { background-position: -80px -176px; }\n.ui-icon-battery-3 { background-position: -96px -176px; }\n.ui-icon-circle-plus { background-position: 0 -192px; }\n.ui-icon-circle-minus { background-position: -16px -192px; }\n.ui-icon-circle-close { background-position: -32px -192px; }\n.ui-icon-circle-triangle-e { background-position: -48px -192px; }\n.ui-icon-circle-triangle-s { background-position: -64px -192px; }\n.ui-icon-circle-triangle-w { background-position: -80px -192px; }\n.ui-icon-circle-triangle-n { background-position: -96px -192px; }\n.ui-icon-circle-arrow-e { background-position: -112px -192px; }\n.ui-icon-circle-arrow-s { background-position: -128px -192px; }\n.ui-icon-circle-arrow-w { background-position: -144px -192px; }\n.ui-icon-circle-arrow-n { background-position: -160px -192px; }\n.ui-icon-circle-zoomin { background-position: -176px -192px; }\n.ui-icon-circle-zoomout { background-position: -192px -192px; }\n.ui-icon-circle-check { background-position: -208px -192px; }\n.ui-icon-circlesmall-plus { background-position: 0 -208px; }\n.ui-icon-circlesmall-minus { background-position: -16px -208px; }\n.ui-icon-circlesmall-close { background-position: -32px -208px; }\n.ui-icon-squaresmall-plus { background-position: -48px -208px; }\n.ui-icon-squaresmall-minus { background-position: -64px -208px; }\n.ui-icon-squaresmall-close { background-position: -80px -208px; }\n.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }\n.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }\n.ui-icon-grip-solid-vertical { background-position: -32px -224px; }\n.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }\n.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }\n.ui-icon-grip-diagonal-se { background-position: -80px -224px; }\n\n\n/* Misc visuals\n----------------------------------*/\n\n/* Corner radius */\n.ui-corner-all,\n.ui-corner-top,\n.ui-corner-left,\n.ui-corner-tl {\n\tborder-top-left-radius: 3px;\n}\n.ui-corner-all,\n.ui-corner-top,\n.ui-corner-right,\n.ui-corner-tr {\n\tborder-top-right-radius: 3px;\n}\n.ui-corner-all,\n.ui-corner-bottom,\n.ui-corner-left,\n.ui-corner-bl {\n\tborder-bottom-left-radius: 3px;\n}\n.ui-corner-all,\n.ui-corner-bottom,\n.ui-corner-right,\n.ui-corner-br {\n\tborder-bottom-right-radius: 3px;\n}\n\n/* Overlays */\n.ui-widget-overlay {\n\tbackground: #aaaaaa;\n\topacity: .003;\n\t-ms-filter: "alpha(opacity=.3)"; /* support: IE8 */\n}\n.ui-widget-shadow {\n\t-webkit-box-shadow: 0px 0px 5px #666666;\n\tbox-shadow: 0px 0px 5px #666666;\n}\n'],sourceRoot:""}]);const M=m},13169(t,e,i){"use strict";i.d(e,{A:()=>C});var n=i(71354),r=i.n(n),o=i(76314),s=i.n(o),a=i(4417),u=i.n(a),c=new URL(i(3132),i.b),h=new URL(i(19394),i.b),l=new URL(i(81972),i.b),d=new URL(i(6411),i.b),f=new URL(i(14506),i.b),p=new URL(i(64886),i.b),g=s()(r()),A=u()(c),m=u()(h),v=u()(l),b=u()(d),y=u()(f),w=u()(p);g.push([t.id,`/*!\n * jQuery UI CSS Framework 1.13.3\n * https://jqueryui.com\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license.\n * https://jquery.org/license\n *\n * https://api.jqueryui.com/category/theming/\n *\n * To view and modify this theme, visit https://jqueryui.com/themeroller/?bgShadowXPos=&bgOverlayXPos=&bgErrorXPos=&bgHighlightXPos=&bgContentXPos=&bgHeaderXPos=&bgActiveXPos=&bgHoverXPos=&bgDefaultXPos=&bgShadowYPos=&bgOverlayYPos=&bgErrorYPos=&bgHighlightYPos=&bgContentYPos=&bgHeaderYPos=&bgActiveYPos=&bgHoverYPos=&bgDefaultYPos=&bgShadowRepeat=&bgOverlayRepeat=&bgErrorRepeat=&bgHighlightRepeat=&bgContentRepeat=&bgHeaderRepeat=&bgActiveRepeat=&bgHoverRepeat=&bgDefaultRepeat=&iconsHover=url(%22images%2Fui-icons_555555_256x240.png%22)&iconsHighlight=url(%22images%2Fui-icons_777620_256x240.png%22)&iconsHeader=url(%22images%2Fui-icons_444444_256x240.png%22)&iconsError=url(%22images%2Fui-icons_cc0000_256x240.png%22)&iconsDefault=url(%22images%2Fui-icons_777777_256x240.png%22)&iconsContent=url(%22images%2Fui-icons_444444_256x240.png%22)&iconsActive=url(%22images%2Fui-icons_ffffff_256x240.png%22)&bgImgUrlShadow=&bgImgUrlOverlay=&bgImgUrlHover=&bgImgUrlHighlight=&bgImgUrlHeader=&bgImgUrlError=&bgImgUrlDefault=&bgImgUrlContent=&bgImgUrlActive=&opacityFilterShadow=%22alpha(opacity%3D30)%22&opacityFilterOverlay=%22alpha(opacity%3D30)%22&opacityShadowPerc=30&opacityOverlayPerc=30&iconColorHover=%23555555&iconColorHighlight=%23777620&iconColorHeader=%23444444&iconColorError=%23cc0000&iconColorDefault=%23777777&iconColorContent=%23444444&iconColorActive=%23ffffff&bgImgOpacityShadow=0&bgImgOpacityOverlay=0&bgImgOpacityError=95&bgImgOpacityHighlight=55&bgImgOpacityContent=75&bgImgOpacityHeader=75&bgImgOpacityActive=65&bgImgOpacityHover=75&bgImgOpacityDefault=75&bgTextureShadow=flat&bgTextureOverlay=flat&bgTextureError=flat&bgTextureHighlight=flat&bgTextureContent=flat&bgTextureHeader=flat&bgTextureActive=flat&bgTextureHover=flat&bgTextureDefault=flat&cornerRadius=3px&fwDefault=normal&ffDefault=Arial%2CHelvetica%2Csans-serif&fsDefault=1em&cornerRadiusShadow=8px&thicknessShadow=5px&offsetLeftShadow=0px&offsetTopShadow=0px&opacityShadow=.3&bgColorShadow=%23666666&opacityOverlay=.3&bgColorOverlay=%23aaaaaa&fcError=%235f3f3f&borderColorError=%23f1a899&bgColorError=%23fddfdf&fcHighlight=%23777620&borderColorHighlight=%23dad55e&bgColorHighlight=%23fffa90&fcContent=%23333333&borderColorContent=%23dddddd&bgColorContent=%23ffffff&fcHeader=%23333333&borderColorHeader=%23dddddd&bgColorHeader=%23e9e9e9&fcActive=%23ffffff&borderColorActive=%23003eff&bgColorActive=%23007fff&fcHover=%232b2b2b&borderColorHover=%23cccccc&bgColorHover=%23ededed&fcDefault=%23454545&borderColorDefault=%23c5c5c5&bgColorDefault=%23f6f6f6\n */\n\n\n/* Component containers\n----------------------------------*/\n.ui-widget {\n\tfont-family: Arial,Helvetica,sans-serif;\n\tfont-size: 1em;\n}\n.ui-widget .ui-widget {\n\tfont-size: 1em;\n}\n.ui-widget input,\n.ui-widget select,\n.ui-widget textarea,\n.ui-widget button {\n\tfont-family: Arial,Helvetica,sans-serif;\n\tfont-size: 1em;\n}\n.ui-widget.ui-widget-content {\n\tborder: 1px solid #c5c5c5;\n}\n.ui-widget-content {\n\tborder: 1px solid #dddddd;\n\tbackground: #ffffff;\n\tcolor: #333333;\n}\n.ui-widget-content a {\n\tcolor: #333333;\n}\n.ui-widget-header {\n\tborder: 1px solid #dddddd;\n\tbackground: #e9e9e9;\n\tcolor: #333333;\n\tfont-weight: bold;\n}\n.ui-widget-header a {\n\tcolor: #333333;\n}\n\n/* Interaction states\n----------------------------------*/\n.ui-state-default,\n.ui-widget-content .ui-state-default,\n.ui-widget-header .ui-state-default,\n.ui-button,\n\n/* We use html here because we need a greater specificity to make sure disabled\nworks properly when clicked or hovered */\nhtml .ui-button.ui-state-disabled:hover,\nhtml .ui-button.ui-state-disabled:active {\n\tborder: 1px solid #c5c5c5;\n\tbackground: #f6f6f6;\n\tfont-weight: normal;\n\tcolor: #454545;\n}\n.ui-state-default a,\n.ui-state-default a:link,\n.ui-state-default a:visited,\na.ui-button,\na:link.ui-button,\na:visited.ui-button,\n.ui-button {\n\tcolor: #454545;\n\ttext-decoration: none;\n}\n.ui-state-hover,\n.ui-widget-content .ui-state-hover,\n.ui-widget-header .ui-state-hover,\n.ui-state-focus,\n.ui-widget-content .ui-state-focus,\n.ui-widget-header .ui-state-focus,\n.ui-button:hover,\n.ui-button:focus {\n\tborder: 1px solid #cccccc;\n\tbackground: #ededed;\n\tfont-weight: normal;\n\tcolor: #2b2b2b;\n}\n.ui-state-hover a,\n.ui-state-hover a:hover,\n.ui-state-hover a:link,\n.ui-state-hover a:visited,\n.ui-state-focus a,\n.ui-state-focus a:hover,\n.ui-state-focus a:link,\n.ui-state-focus a:visited,\na.ui-button:hover,\na.ui-button:focus {\n\tcolor: #2b2b2b;\n\ttext-decoration: none;\n}\n\n.ui-visual-focus {\n\tbox-shadow: 0 0 3px 1px rgb(94, 158, 214);\n}\n.ui-state-active,\n.ui-widget-content .ui-state-active,\n.ui-widget-header .ui-state-active,\na.ui-button:active,\n.ui-button:active,\n.ui-button.ui-state-active:hover {\n\tborder: 1px solid #003eff;\n\tbackground: #007fff;\n\tfont-weight: normal;\n\tcolor: #ffffff;\n}\n.ui-icon-background,\n.ui-state-active .ui-icon-background {\n\tborder: #003eff;\n\tbackground-color: #ffffff;\n}\n.ui-state-active a,\n.ui-state-active a:link,\n.ui-state-active a:visited {\n\tcolor: #ffffff;\n\ttext-decoration: none;\n}\n\n/* Interaction Cues\n----------------------------------*/\n.ui-state-highlight,\n.ui-widget-content .ui-state-highlight,\n.ui-widget-header .ui-state-highlight {\n\tborder: 1px solid #dad55e;\n\tbackground: #fffa90;\n\tcolor: #777620;\n}\n.ui-state-checked {\n\tborder: 1px solid #dad55e;\n\tbackground: #fffa90;\n}\n.ui-state-highlight a,\n.ui-widget-content .ui-state-highlight a,\n.ui-widget-header .ui-state-highlight a {\n\tcolor: #777620;\n}\n.ui-state-error,\n.ui-widget-content .ui-state-error,\n.ui-widget-header .ui-state-error {\n\tborder: 1px solid #f1a899;\n\tbackground: #fddfdf;\n\tcolor: #5f3f3f;\n}\n.ui-state-error a,\n.ui-widget-content .ui-state-error a,\n.ui-widget-header .ui-state-error a {\n\tcolor: #5f3f3f;\n}\n.ui-state-error-text,\n.ui-widget-content .ui-state-error-text,\n.ui-widget-header .ui-state-error-text {\n\tcolor: #5f3f3f;\n}\n.ui-priority-primary,\n.ui-widget-content .ui-priority-primary,\n.ui-widget-header .ui-priority-primary {\n\tfont-weight: bold;\n}\n.ui-priority-secondary,\n.ui-widget-content .ui-priority-secondary,\n.ui-widget-header .ui-priority-secondary {\n\topacity: .7;\n\t-ms-filter: "alpha(opacity=70)"; /* support: IE8 */\n\tfont-weight: normal;\n}\n.ui-state-disabled,\n.ui-widget-content .ui-state-disabled,\n.ui-widget-header .ui-state-disabled {\n\topacity: .35;\n\t-ms-filter: "alpha(opacity=35)"; /* support: IE8 */\n\tbackground-image: none;\n}\n.ui-state-disabled .ui-icon {\n\t-ms-filter: "alpha(opacity=35)"; /* support: IE8 - See #6059 */\n}\n\n/* Icons\n----------------------------------*/\n\n/* states and images */\n.ui-icon {\n\twidth: 16px;\n\theight: 16px;\n}\n.ui-icon,\n.ui-widget-content .ui-icon {\n\tbackground-image: url(${A});\n}\n.ui-widget-header .ui-icon {\n\tbackground-image: url(${A});\n}\n.ui-state-hover .ui-icon,\n.ui-state-focus .ui-icon,\n.ui-button:hover .ui-icon,\n.ui-button:focus .ui-icon {\n\tbackground-image: url(${m});\n}\n.ui-state-active .ui-icon,\n.ui-button:active .ui-icon {\n\tbackground-image: url(${v});\n}\n.ui-state-highlight .ui-icon,\n.ui-button .ui-state-highlight.ui-icon {\n\tbackground-image: url(${b});\n}\n.ui-state-error .ui-icon,\n.ui-state-error-text .ui-icon {\n\tbackground-image: url(${y});\n}\n.ui-button .ui-icon {\n\tbackground-image: url(${w});\n}\n\n/* positioning */\n/* Three classes needed to override \`.ui-button:hover .ui-icon\` */\n.ui-icon-blank.ui-icon-blank.ui-icon-blank {\n\tbackground-image: none;\n}\n.ui-icon-caret-1-n { background-position: 0 0; }\n.ui-icon-caret-1-ne { background-position: -16px 0; }\n.ui-icon-caret-1-e { background-position: -32px 0; }\n.ui-icon-caret-1-se { background-position: -48px 0; }\n.ui-icon-caret-1-s { background-position: -65px 0; }\n.ui-icon-caret-1-sw { background-position: -80px 0; }\n.ui-icon-caret-1-w { background-position: -96px 0; }\n.ui-icon-caret-1-nw { background-position: -112px 0; }\n.ui-icon-caret-2-n-s { background-position: -128px 0; }\n.ui-icon-caret-2-e-w { background-position: -144px 0; }\n.ui-icon-triangle-1-n { background-position: 0 -16px; }\n.ui-icon-triangle-1-ne { background-position: -16px -16px; }\n.ui-icon-triangle-1-e { background-position: -32px -16px; }\n.ui-icon-triangle-1-se { background-position: -48px -16px; }\n.ui-icon-triangle-1-s { background-position: -65px -16px; }\n.ui-icon-triangle-1-sw { background-position: -80px -16px; }\n.ui-icon-triangle-1-w { background-position: -96px -16px; }\n.ui-icon-triangle-1-nw { background-position: -112px -16px; }\n.ui-icon-triangle-2-n-s { background-position: -128px -16px; }\n.ui-icon-triangle-2-e-w { background-position: -144px -16px; }\n.ui-icon-arrow-1-n { background-position: 0 -32px; }\n.ui-icon-arrow-1-ne { background-position: -16px -32px; }\n.ui-icon-arrow-1-e { background-position: -32px -32px; }\n.ui-icon-arrow-1-se { background-position: -48px -32px; }\n.ui-icon-arrow-1-s { background-position: -65px -32px; }\n.ui-icon-arrow-1-sw { background-position: -80px -32px; }\n.ui-icon-arrow-1-w { background-position: -96px -32px; }\n.ui-icon-arrow-1-nw { background-position: -112px -32px; }\n.ui-icon-arrow-2-n-s { background-position: -128px -32px; }\n.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }\n.ui-icon-arrow-2-e-w { background-position: -160px -32px; }\n.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }\n.ui-icon-arrowstop-1-n { background-position: -192px -32px; }\n.ui-icon-arrowstop-1-e { background-position: -208px -32px; }\n.ui-icon-arrowstop-1-s { background-position: -224px -32px; }\n.ui-icon-arrowstop-1-w { background-position: -240px -32px; }\n.ui-icon-arrowthick-1-n { background-position: 1px -48px; }\n.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }\n.ui-icon-arrowthick-1-e { background-position: -32px -48px; }\n.ui-icon-arrowthick-1-se { background-position: -48px -48px; }\n.ui-icon-arrowthick-1-s { background-position: -64px -48px; }\n.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }\n.ui-icon-arrowthick-1-w { background-position: -96px -48px; }\n.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }\n.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }\n.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }\n.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }\n.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }\n.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }\n.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }\n.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }\n.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }\n.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }\n.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }\n.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }\n.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }\n.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }\n.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }\n.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }\n.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }\n.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }\n.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }\n.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }\n.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }\n.ui-icon-arrow-4 { background-position: 0 -80px; }\n.ui-icon-arrow-4-diag { background-position: -16px -80px; }\n.ui-icon-extlink { background-position: -32px -80px; }\n.ui-icon-newwin { background-position: -48px -80px; }\n.ui-icon-refresh { background-position: -64px -80px; }\n.ui-icon-shuffle { background-position: -80px -80px; }\n.ui-icon-transfer-e-w { background-position: -96px -80px; }\n.ui-icon-transferthick-e-w { background-position: -112px -80px; }\n.ui-icon-folder-collapsed { background-position: 0 -96px; }\n.ui-icon-folder-open { background-position: -16px -96px; }\n.ui-icon-document { background-position: -32px -96px; }\n.ui-icon-document-b { background-position: -48px -96px; }\n.ui-icon-note { background-position: -64px -96px; }\n.ui-icon-mail-closed { background-position: -80px -96px; }\n.ui-icon-mail-open { background-position: -96px -96px; }\n.ui-icon-suitcase { background-position: -112px -96px; }\n.ui-icon-comment { background-position: -128px -96px; }\n.ui-icon-person { background-position: -144px -96px; }\n.ui-icon-print { background-position: -160px -96px; }\n.ui-icon-trash { background-position: -176px -96px; }\n.ui-icon-locked { background-position: -192px -96px; }\n.ui-icon-unlocked { background-position: -208px -96px; }\n.ui-icon-bookmark { background-position: -224px -96px; }\n.ui-icon-tag { background-position: -240px -96px; }\n.ui-icon-home { background-position: 0 -112px; }\n.ui-icon-flag { background-position: -16px -112px; }\n.ui-icon-calendar { background-position: -32px -112px; }\n.ui-icon-cart { background-position: -48px -112px; }\n.ui-icon-pencil { background-position: -64px -112px; }\n.ui-icon-clock { background-position: -80px -112px; }\n.ui-icon-disk { background-position: -96px -112px; }\n.ui-icon-calculator { background-position: -112px -112px; }\n.ui-icon-zoomin { background-position: -128px -112px; }\n.ui-icon-zoomout { background-position: -144px -112px; }\n.ui-icon-search { background-position: -160px -112px; }\n.ui-icon-wrench { background-position: -176px -112px; }\n.ui-icon-gear { background-position: -192px -112px; }\n.ui-icon-heart { background-position: -208px -112px; }\n.ui-icon-star { background-position: -224px -112px; }\n.ui-icon-link { background-position: -240px -112px; }\n.ui-icon-cancel { background-position: 0 -128px; }\n.ui-icon-plus { background-position: -16px -128px; }\n.ui-icon-plusthick { background-position: -32px -128px; }\n.ui-icon-minus { background-position: -48px -128px; }\n.ui-icon-minusthick { background-position: -64px -128px; }\n.ui-icon-close { background-position: -80px -128px; }\n.ui-icon-closethick { background-position: -96px -128px; }\n.ui-icon-key { background-position: -112px -128px; }\n.ui-icon-lightbulb { background-position: -128px -128px; }\n.ui-icon-scissors { background-position: -144px -128px; }\n.ui-icon-clipboard { background-position: -160px -128px; }\n.ui-icon-copy { background-position: -176px -128px; }\n.ui-icon-contact { background-position: -192px -128px; }\n.ui-icon-image { background-position: -208px -128px; }\n.ui-icon-video { background-position: -224px -128px; }\n.ui-icon-script { background-position: -240px -128px; }\n.ui-icon-alert { background-position: 0 -144px; }\n.ui-icon-info { background-position: -16px -144px; }\n.ui-icon-notice { background-position: -32px -144px; }\n.ui-icon-help { background-position: -48px -144px; }\n.ui-icon-check { background-position: -64px -144px; }\n.ui-icon-bullet { background-position: -80px -144px; }\n.ui-icon-radio-on { background-position: -96px -144px; }\n.ui-icon-radio-off { background-position: -112px -144px; }\n.ui-icon-pin-w { background-position: -128px -144px; }\n.ui-icon-pin-s { background-position: -144px -144px; }\n.ui-icon-play { background-position: 0 -160px; }\n.ui-icon-pause { background-position: -16px -160px; }\n.ui-icon-seek-next { background-position: -32px -160px; }\n.ui-icon-seek-prev { background-position: -48px -160px; }\n.ui-icon-seek-end { background-position: -64px -160px; }\n.ui-icon-seek-start { background-position: -80px -160px; }\n/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */\n.ui-icon-seek-first { background-position: -80px -160px; }\n.ui-icon-stop { background-position: -96px -160px; }\n.ui-icon-eject { background-position: -112px -160px; }\n.ui-icon-volume-off { background-position: -128px -160px; }\n.ui-icon-volume-on { background-position: -144px -160px; }\n.ui-icon-power { background-position: 0 -176px; }\n.ui-icon-signal-diag { background-position: -16px -176px; }\n.ui-icon-signal { background-position: -32px -176px; }\n.ui-icon-battery-0 { background-position: -48px -176px; }\n.ui-icon-battery-1 { background-position: -64px -176px; }\n.ui-icon-battery-2 { background-position: -80px -176px; }\n.ui-icon-battery-3 { background-position: -96px -176px; }\n.ui-icon-circle-plus { background-position: 0 -192px; }\n.ui-icon-circle-minus { background-position: -16px -192px; }\n.ui-icon-circle-close { background-position: -32px -192px; }\n.ui-icon-circle-triangle-e { background-position: -48px -192px; }\n.ui-icon-circle-triangle-s { background-position: -64px -192px; }\n.ui-icon-circle-triangle-w { background-position: -80px -192px; }\n.ui-icon-circle-triangle-n { background-position: -96px -192px; }\n.ui-icon-circle-arrow-e { background-position: -112px -192px; }\n.ui-icon-circle-arrow-s { background-position: -128px -192px; }\n.ui-icon-circle-arrow-w { background-position: -144px -192px; }\n.ui-icon-circle-arrow-n { background-position: -160px -192px; }\n.ui-icon-circle-zoomin { background-position: -176px -192px; }\n.ui-icon-circle-zoomout { background-position: -192px -192px; }\n.ui-icon-circle-check { background-position: -208px -192px; }\n.ui-icon-circlesmall-plus { background-position: 0 -208px; }\n.ui-icon-circlesmall-minus { background-position: -16px -208px; }\n.ui-icon-circlesmall-close { background-position: -32px -208px; }\n.ui-icon-squaresmall-plus { background-position: -48px -208px; }\n.ui-icon-squaresmall-minus { background-position: -64px -208px; }\n.ui-icon-squaresmall-close { background-position: -80px -208px; }\n.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }\n.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }\n.ui-icon-grip-solid-vertical { background-position: -32px -224px; }\n.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }\n.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }\n.ui-icon-grip-diagonal-se { background-position: -80px -224px; }\n\n\n/* Misc visuals\n----------------------------------*/\n\n/* Corner radius */\n.ui-corner-all,\n.ui-corner-top,\n.ui-corner-left,\n.ui-corner-tl {\n\tborder-top-left-radius: 3px;\n}\n.ui-corner-all,\n.ui-corner-top,\n.ui-corner-right,\n.ui-corner-tr {\n\tborder-top-right-radius: 3px;\n}\n.ui-corner-all,\n.ui-corner-bottom,\n.ui-corner-left,\n.ui-corner-bl {\n\tborder-bottom-left-radius: 3px;\n}\n.ui-corner-all,\n.ui-corner-bottom,\n.ui-corner-right,\n.ui-corner-br {\n\tborder-bottom-right-radius: 3px;\n}\n\n/* Overlays */\n.ui-widget-overlay {\n\tbackground: #aaaaaa;\n\topacity: .003;\n\t-ms-filter: "alpha(opacity=.3)"; /* support: IE8 */\n}\n.ui-widget-shadow {\n\t-webkit-box-shadow: 0px 0px 5px #666666;\n\tbox-shadow: 0px 0px 5px #666666;\n}\n`,"",{version:3,sources:["webpack://./node_modules/jquery-ui-dist/jquery-ui.theme.css"],names:[],mappings:"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",sourcesContent:['/*!\n * jQuery UI CSS Framework 1.13.3\n * https://jqueryui.com\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license.\n * https://jquery.org/license\n *\n * https://api.jqueryui.com/category/theming/\n *\n * To view and modify this theme, visit https://jqueryui.com/themeroller/?bgShadowXPos=&bgOverlayXPos=&bgErrorXPos=&bgHighlightXPos=&bgContentXPos=&bgHeaderXPos=&bgActiveXPos=&bgHoverXPos=&bgDefaultXPos=&bgShadowYPos=&bgOverlayYPos=&bgErrorYPos=&bgHighlightYPos=&bgContentYPos=&bgHeaderYPos=&bgActiveYPos=&bgHoverYPos=&bgDefaultYPos=&bgShadowRepeat=&bgOverlayRepeat=&bgErrorRepeat=&bgHighlightRepeat=&bgContentRepeat=&bgHeaderRepeat=&bgActiveRepeat=&bgHoverRepeat=&bgDefaultRepeat=&iconsHover=url(%22images%2Fui-icons_555555_256x240.png%22)&iconsHighlight=url(%22images%2Fui-icons_777620_256x240.png%22)&iconsHeader=url(%22images%2Fui-icons_444444_256x240.png%22)&iconsError=url(%22images%2Fui-icons_cc0000_256x240.png%22)&iconsDefault=url(%22images%2Fui-icons_777777_256x240.png%22)&iconsContent=url(%22images%2Fui-icons_444444_256x240.png%22)&iconsActive=url(%22images%2Fui-icons_ffffff_256x240.png%22)&bgImgUrlShadow=&bgImgUrlOverlay=&bgImgUrlHover=&bgImgUrlHighlight=&bgImgUrlHeader=&bgImgUrlError=&bgImgUrlDefault=&bgImgUrlContent=&bgImgUrlActive=&opacityFilterShadow=%22alpha(opacity%3D30)%22&opacityFilterOverlay=%22alpha(opacity%3D30)%22&opacityShadowPerc=30&opacityOverlayPerc=30&iconColorHover=%23555555&iconColorHighlight=%23777620&iconColorHeader=%23444444&iconColorError=%23cc0000&iconColorDefault=%23777777&iconColorContent=%23444444&iconColorActive=%23ffffff&bgImgOpacityShadow=0&bgImgOpacityOverlay=0&bgImgOpacityError=95&bgImgOpacityHighlight=55&bgImgOpacityContent=75&bgImgOpacityHeader=75&bgImgOpacityActive=65&bgImgOpacityHover=75&bgImgOpacityDefault=75&bgTextureShadow=flat&bgTextureOverlay=flat&bgTextureError=flat&bgTextureHighlight=flat&bgTextureContent=flat&bgTextureHeader=flat&bgTextureActive=flat&bgTextureHover=flat&bgTextureDefault=flat&cornerRadius=3px&fwDefault=normal&ffDefault=Arial%2CHelvetica%2Csans-serif&fsDefault=1em&cornerRadiusShadow=8px&thicknessShadow=5px&offsetLeftShadow=0px&offsetTopShadow=0px&opacityShadow=.3&bgColorShadow=%23666666&opacityOverlay=.3&bgColorOverlay=%23aaaaaa&fcError=%235f3f3f&borderColorError=%23f1a899&bgColorError=%23fddfdf&fcHighlight=%23777620&borderColorHighlight=%23dad55e&bgColorHighlight=%23fffa90&fcContent=%23333333&borderColorContent=%23dddddd&bgColorContent=%23ffffff&fcHeader=%23333333&borderColorHeader=%23dddddd&bgColorHeader=%23e9e9e9&fcActive=%23ffffff&borderColorActive=%23003eff&bgColorActive=%23007fff&fcHover=%232b2b2b&borderColorHover=%23cccccc&bgColorHover=%23ededed&fcDefault=%23454545&borderColorDefault=%23c5c5c5&bgColorDefault=%23f6f6f6\n */\n\n\n/* Component containers\n----------------------------------*/\n.ui-widget {\n\tfont-family: Arial,Helvetica,sans-serif;\n\tfont-size: 1em;\n}\n.ui-widget .ui-widget {\n\tfont-size: 1em;\n}\n.ui-widget input,\n.ui-widget select,\n.ui-widget textarea,\n.ui-widget button {\n\tfont-family: Arial,Helvetica,sans-serif;\n\tfont-size: 1em;\n}\n.ui-widget.ui-widget-content {\n\tborder: 1px solid #c5c5c5;\n}\n.ui-widget-content {\n\tborder: 1px solid #dddddd;\n\tbackground: #ffffff;\n\tcolor: #333333;\n}\n.ui-widget-content a {\n\tcolor: #333333;\n}\n.ui-widget-header {\n\tborder: 1px solid #dddddd;\n\tbackground: #e9e9e9;\n\tcolor: #333333;\n\tfont-weight: bold;\n}\n.ui-widget-header a {\n\tcolor: #333333;\n}\n\n/* Interaction states\n----------------------------------*/\n.ui-state-default,\n.ui-widget-content .ui-state-default,\n.ui-widget-header .ui-state-default,\n.ui-button,\n\n/* We use html here because we need a greater specificity to make sure disabled\nworks properly when clicked or hovered */\nhtml .ui-button.ui-state-disabled:hover,\nhtml .ui-button.ui-state-disabled:active {\n\tborder: 1px solid #c5c5c5;\n\tbackground: #f6f6f6;\n\tfont-weight: normal;\n\tcolor: #454545;\n}\n.ui-state-default a,\n.ui-state-default a:link,\n.ui-state-default a:visited,\na.ui-button,\na:link.ui-button,\na:visited.ui-button,\n.ui-button {\n\tcolor: #454545;\n\ttext-decoration: none;\n}\n.ui-state-hover,\n.ui-widget-content .ui-state-hover,\n.ui-widget-header .ui-state-hover,\n.ui-state-focus,\n.ui-widget-content .ui-state-focus,\n.ui-widget-header .ui-state-focus,\n.ui-button:hover,\n.ui-button:focus {\n\tborder: 1px solid #cccccc;\n\tbackground: #ededed;\n\tfont-weight: normal;\n\tcolor: #2b2b2b;\n}\n.ui-state-hover a,\n.ui-state-hover a:hover,\n.ui-state-hover a:link,\n.ui-state-hover a:visited,\n.ui-state-focus a,\n.ui-state-focus a:hover,\n.ui-state-focus a:link,\n.ui-state-focus a:visited,\na.ui-button:hover,\na.ui-button:focus {\n\tcolor: #2b2b2b;\n\ttext-decoration: none;\n}\n\n.ui-visual-focus {\n\tbox-shadow: 0 0 3px 1px rgb(94, 158, 214);\n}\n.ui-state-active,\n.ui-widget-content .ui-state-active,\n.ui-widget-header .ui-state-active,\na.ui-button:active,\n.ui-button:active,\n.ui-button.ui-state-active:hover {\n\tborder: 1px solid #003eff;\n\tbackground: #007fff;\n\tfont-weight: normal;\n\tcolor: #ffffff;\n}\n.ui-icon-background,\n.ui-state-active .ui-icon-background {\n\tborder: #003eff;\n\tbackground-color: #ffffff;\n}\n.ui-state-active a,\n.ui-state-active a:link,\n.ui-state-active a:visited {\n\tcolor: #ffffff;\n\ttext-decoration: none;\n}\n\n/* Interaction Cues\n----------------------------------*/\n.ui-state-highlight,\n.ui-widget-content .ui-state-highlight,\n.ui-widget-header .ui-state-highlight {\n\tborder: 1px solid #dad55e;\n\tbackground: #fffa90;\n\tcolor: #777620;\n}\n.ui-state-checked {\n\tborder: 1px solid #dad55e;\n\tbackground: #fffa90;\n}\n.ui-state-highlight a,\n.ui-widget-content .ui-state-highlight a,\n.ui-widget-header .ui-state-highlight a {\n\tcolor: #777620;\n}\n.ui-state-error,\n.ui-widget-content .ui-state-error,\n.ui-widget-header .ui-state-error {\n\tborder: 1px solid #f1a899;\n\tbackground: #fddfdf;\n\tcolor: #5f3f3f;\n}\n.ui-state-error a,\n.ui-widget-content .ui-state-error a,\n.ui-widget-header .ui-state-error a {\n\tcolor: #5f3f3f;\n}\n.ui-state-error-text,\n.ui-widget-content .ui-state-error-text,\n.ui-widget-header .ui-state-error-text {\n\tcolor: #5f3f3f;\n}\n.ui-priority-primary,\n.ui-widget-content .ui-priority-primary,\n.ui-widget-header .ui-priority-primary {\n\tfont-weight: bold;\n}\n.ui-priority-secondary,\n.ui-widget-content .ui-priority-secondary,\n.ui-widget-header .ui-priority-secondary {\n\topacity: .7;\n\t-ms-filter: "alpha(opacity=70)"; /* support: IE8 */\n\tfont-weight: normal;\n}\n.ui-state-disabled,\n.ui-widget-content .ui-state-disabled,\n.ui-widget-header .ui-state-disabled {\n\topacity: .35;\n\t-ms-filter: "alpha(opacity=35)"; /* support: IE8 */\n\tbackground-image: none;\n}\n.ui-state-disabled .ui-icon {\n\t-ms-filter: "alpha(opacity=35)"; /* support: IE8 - See #6059 */\n}\n\n/* Icons\n----------------------------------*/\n\n/* states and images */\n.ui-icon {\n\twidth: 16px;\n\theight: 16px;\n}\n.ui-icon,\n.ui-widget-content .ui-icon {\n\tbackground-image: url("images/ui-icons_444444_256x240.png");\n}\n.ui-widget-header .ui-icon {\n\tbackground-image: url("images/ui-icons_444444_256x240.png");\n}\n.ui-state-hover .ui-icon,\n.ui-state-focus .ui-icon,\n.ui-button:hover .ui-icon,\n.ui-button:focus .ui-icon {\n\tbackground-image: url("images/ui-icons_555555_256x240.png");\n}\n.ui-state-active .ui-icon,\n.ui-button:active .ui-icon {\n\tbackground-image: url("images/ui-icons_ffffff_256x240.png");\n}\n.ui-state-highlight .ui-icon,\n.ui-button .ui-state-highlight.ui-icon {\n\tbackground-image: url("images/ui-icons_777620_256x240.png");\n}\n.ui-state-error .ui-icon,\n.ui-state-error-text .ui-icon {\n\tbackground-image: url("images/ui-icons_cc0000_256x240.png");\n}\n.ui-button .ui-icon {\n\tbackground-image: url("images/ui-icons_777777_256x240.png");\n}\n\n/* positioning */\n/* Three classes needed to override `.ui-button:hover .ui-icon` */\n.ui-icon-blank.ui-icon-blank.ui-icon-blank {\n\tbackground-image: none;\n}\n.ui-icon-caret-1-n { background-position: 0 0; }\n.ui-icon-caret-1-ne { background-position: -16px 0; }\n.ui-icon-caret-1-e { background-position: -32px 0; }\n.ui-icon-caret-1-se { background-position: -48px 0; }\n.ui-icon-caret-1-s { background-position: -65px 0; }\n.ui-icon-caret-1-sw { background-position: -80px 0; }\n.ui-icon-caret-1-w { background-position: -96px 0; }\n.ui-icon-caret-1-nw { background-position: -112px 0; }\n.ui-icon-caret-2-n-s { background-position: -128px 0; }\n.ui-icon-caret-2-e-w { background-position: -144px 0; }\n.ui-icon-triangle-1-n { background-position: 0 -16px; }\n.ui-icon-triangle-1-ne { background-position: -16px -16px; }\n.ui-icon-triangle-1-e { background-position: -32px -16px; }\n.ui-icon-triangle-1-se { background-position: -48px -16px; }\n.ui-icon-triangle-1-s { background-position: -65px -16px; }\n.ui-icon-triangle-1-sw { background-position: -80px -16px; }\n.ui-icon-triangle-1-w { background-position: -96px -16px; }\n.ui-icon-triangle-1-nw { background-position: -112px -16px; }\n.ui-icon-triangle-2-n-s { background-position: -128px -16px; }\n.ui-icon-triangle-2-e-w { background-position: -144px -16px; }\n.ui-icon-arrow-1-n { background-position: 0 -32px; }\n.ui-icon-arrow-1-ne { background-position: -16px -32px; }\n.ui-icon-arrow-1-e { background-position: -32px -32px; }\n.ui-icon-arrow-1-se { background-position: -48px -32px; }\n.ui-icon-arrow-1-s { background-position: -65px -32px; }\n.ui-icon-arrow-1-sw { background-position: -80px -32px; }\n.ui-icon-arrow-1-w { background-position: -96px -32px; }\n.ui-icon-arrow-1-nw { background-position: -112px -32px; }\n.ui-icon-arrow-2-n-s { background-position: -128px -32px; }\n.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }\n.ui-icon-arrow-2-e-w { background-position: -160px -32px; }\n.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }\n.ui-icon-arrowstop-1-n { background-position: -192px -32px; }\n.ui-icon-arrowstop-1-e { background-position: -208px -32px; }\n.ui-icon-arrowstop-1-s { background-position: -224px -32px; }\n.ui-icon-arrowstop-1-w { background-position: -240px -32px; }\n.ui-icon-arrowthick-1-n { background-position: 1px -48px; }\n.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }\n.ui-icon-arrowthick-1-e { background-position: -32px -48px; }\n.ui-icon-arrowthick-1-se { background-position: -48px -48px; }\n.ui-icon-arrowthick-1-s { background-position: -64px -48px; }\n.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }\n.ui-icon-arrowthick-1-w { background-position: -96px -48px; }\n.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }\n.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }\n.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }\n.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }\n.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }\n.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }\n.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }\n.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }\n.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }\n.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }\n.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }\n.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }\n.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }\n.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }\n.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }\n.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }\n.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }\n.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }\n.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }\n.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }\n.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }\n.ui-icon-arrow-4 { background-position: 0 -80px; }\n.ui-icon-arrow-4-diag { background-position: -16px -80px; }\n.ui-icon-extlink { background-position: -32px -80px; }\n.ui-icon-newwin { background-position: -48px -80px; }\n.ui-icon-refresh { background-position: -64px -80px; }\n.ui-icon-shuffle { background-position: -80px -80px; }\n.ui-icon-transfer-e-w { background-position: -96px -80px; }\n.ui-icon-transferthick-e-w { background-position: -112px -80px; }\n.ui-icon-folder-collapsed { background-position: 0 -96px; }\n.ui-icon-folder-open { background-position: -16px -96px; }\n.ui-icon-document { background-position: -32px -96px; }\n.ui-icon-document-b { background-position: -48px -96px; }\n.ui-icon-note { background-position: -64px -96px; }\n.ui-icon-mail-closed { background-position: -80px -96px; }\n.ui-icon-mail-open { background-position: -96px -96px; }\n.ui-icon-suitcase { background-position: -112px -96px; }\n.ui-icon-comment { background-position: -128px -96px; }\n.ui-icon-person { background-position: -144px -96px; }\n.ui-icon-print { background-position: -160px -96px; }\n.ui-icon-trash { background-position: -176px -96px; }\n.ui-icon-locked { background-position: -192px -96px; }\n.ui-icon-unlocked { background-position: -208px -96px; }\n.ui-icon-bookmark { background-position: -224px -96px; }\n.ui-icon-tag { background-position: -240px -96px; }\n.ui-icon-home { background-position: 0 -112px; }\n.ui-icon-flag { background-position: -16px -112px; }\n.ui-icon-calendar { background-position: -32px -112px; }\n.ui-icon-cart { background-position: -48px -112px; }\n.ui-icon-pencil { background-position: -64px -112px; }\n.ui-icon-clock { background-position: -80px -112px; }\n.ui-icon-disk { background-position: -96px -112px; }\n.ui-icon-calculator { background-position: -112px -112px; }\n.ui-icon-zoomin { background-position: -128px -112px; }\n.ui-icon-zoomout { background-position: -144px -112px; }\n.ui-icon-search { background-position: -160px -112px; }\n.ui-icon-wrench { background-position: -176px -112px; }\n.ui-icon-gear { background-position: -192px -112px; }\n.ui-icon-heart { background-position: -208px -112px; }\n.ui-icon-star { background-position: -224px -112px; }\n.ui-icon-link { background-position: -240px -112px; }\n.ui-icon-cancel { background-position: 0 -128px; }\n.ui-icon-plus { background-position: -16px -128px; }\n.ui-icon-plusthick { background-position: -32px -128px; }\n.ui-icon-minus { background-position: -48px -128px; }\n.ui-icon-minusthick { background-position: -64px -128px; }\n.ui-icon-close { background-position: -80px -128px; }\n.ui-icon-closethick { background-position: -96px -128px; }\n.ui-icon-key { background-position: -112px -128px; }\n.ui-icon-lightbulb { background-position: -128px -128px; }\n.ui-icon-scissors { background-position: -144px -128px; }\n.ui-icon-clipboard { background-position: -160px -128px; }\n.ui-icon-copy { background-position: -176px -128px; }\n.ui-icon-contact { background-position: -192px -128px; }\n.ui-icon-image { background-position: -208px -128px; }\n.ui-icon-video { background-position: -224px -128px; }\n.ui-icon-script { background-position: -240px -128px; }\n.ui-icon-alert { background-position: 0 -144px; }\n.ui-icon-info { background-position: -16px -144px; }\n.ui-icon-notice { background-position: -32px -144px; }\n.ui-icon-help { background-position: -48px -144px; }\n.ui-icon-check { background-position: -64px -144px; }\n.ui-icon-bullet { background-position: -80px -144px; }\n.ui-icon-radio-on { background-position: -96px -144px; }\n.ui-icon-radio-off { background-position: -112px -144px; }\n.ui-icon-pin-w { background-position: -128px -144px; }\n.ui-icon-pin-s { background-position: -144px -144px; }\n.ui-icon-play { background-position: 0 -160px; }\n.ui-icon-pause { background-position: -16px -160px; }\n.ui-icon-seek-next { background-position: -32px -160px; }\n.ui-icon-seek-prev { background-position: -48px -160px; }\n.ui-icon-seek-end { background-position: -64px -160px; }\n.ui-icon-seek-start { background-position: -80px -160px; }\n/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */\n.ui-icon-seek-first { background-position: -80px -160px; }\n.ui-icon-stop { background-position: -96px -160px; }\n.ui-icon-eject { background-position: -112px -160px; }\n.ui-icon-volume-off { background-position: -128px -160px; }\n.ui-icon-volume-on { background-position: -144px -160px; }\n.ui-icon-power { background-position: 0 -176px; }\n.ui-icon-signal-diag { background-position: -16px -176px; }\n.ui-icon-signal { background-position: -32px -176px; }\n.ui-icon-battery-0 { background-position: -48px -176px; }\n.ui-icon-battery-1 { background-position: -64px -176px; }\n.ui-icon-battery-2 { background-position: -80px -176px; }\n.ui-icon-battery-3 { background-position: -96px -176px; }\n.ui-icon-circle-plus { background-position: 0 -192px; }\n.ui-icon-circle-minus { background-position: -16px -192px; }\n.ui-icon-circle-close { background-position: -32px -192px; }\n.ui-icon-circle-triangle-e { background-position: -48px -192px; }\n.ui-icon-circle-triangle-s { background-position: -64px -192px; }\n.ui-icon-circle-triangle-w { background-position: -80px -192px; }\n.ui-icon-circle-triangle-n { background-position: -96px -192px; }\n.ui-icon-circle-arrow-e { background-position: -112px -192px; }\n.ui-icon-circle-arrow-s { background-position: -128px -192px; }\n.ui-icon-circle-arrow-w { background-position: -144px -192px; }\n.ui-icon-circle-arrow-n { background-position: -160px -192px; }\n.ui-icon-circle-zoomin { background-position: -176px -192px; }\n.ui-icon-circle-zoomout { background-position: -192px -192px; }\n.ui-icon-circle-check { background-position: -208px -192px; }\n.ui-icon-circlesmall-plus { background-position: 0 -208px; }\n.ui-icon-circlesmall-minus { background-position: -16px -208px; }\n.ui-icon-circlesmall-close { background-position: -32px -208px; }\n.ui-icon-squaresmall-plus { background-position: -48px -208px; }\n.ui-icon-squaresmall-minus { background-position: -64px -208px; }\n.ui-icon-squaresmall-close { background-position: -80px -208px; }\n.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }\n.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }\n.ui-icon-grip-solid-vertical { background-position: -32px -224px; }\n.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }\n.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }\n.ui-icon-grip-diagonal-se { background-position: -80px -224px; }\n\n\n/* Misc visuals\n----------------------------------*/\n\n/* Corner radius */\n.ui-corner-all,\n.ui-corner-top,\n.ui-corner-left,\n.ui-corner-tl {\n\tborder-top-left-radius: 3px;\n}\n.ui-corner-all,\n.ui-corner-top,\n.ui-corner-right,\n.ui-corner-tr {\n\tborder-top-right-radius: 3px;\n}\n.ui-corner-all,\n.ui-corner-bottom,\n.ui-corner-left,\n.ui-corner-bl {\n\tborder-bottom-left-radius: 3px;\n}\n.ui-corner-all,\n.ui-corner-bottom,\n.ui-corner-right,\n.ui-corner-br {\n\tborder-bottom-right-radius: 3px;\n}\n\n/* Overlays */\n.ui-widget-overlay {\n\tbackground: #aaaaaa;\n\topacity: .003;\n\t-ms-filter: "alpha(opacity=.3)"; /* support: IE8 */\n}\n.ui-widget-shadow {\n\t-webkit-box-shadow: 0px 0px 5px #666666;\n\tbox-shadow: 0px 0px 5px #666666;\n}\n'],sourceRoot:""}]);const C=g},90628(t,e,i){"use strict";i.d(e,{A:()=>y});var n=i(71354),r=i.n(n),o=i(76314),s=i.n(o),a=i(4417),u=i.n(a),c=new URL(i(7369),i.b),h=new URL(i(48832),i.b),l=new URL(i(36114),i.b),d=new URL(i(83864),i.b),f=new URL(i(26609),i.b),p=s()(r()),g=u()(c),A=u()(h),m=u()(l),v=u()(d),b=u()(f);p.push([t.id,`.ui-widget-content{border:1px solid var(--color-border);background:var(--color-main-background) none;color:var(--color-main-text)}.ui-widget-content a{color:var(--color-main-text)}.ui-widget-header{border:none;color:var(--color-main-text);background-image:none}.ui-widget-header a{color:var(--color-main-text)}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default{border:1px solid var(--color-border);background:var(--color-main-background) none;font-weight:bold;color:#555}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited{color:#555}.ui-state-hover,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-hover,.ui-state-focus,.ui-widget-content .ui-state-focus,.ui-widget-header .ui-state-focus{border:1px solid #ddd;background:var(--color-main-background) none;font-weight:bold;color:var(--color-main-text)}.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited{color:var(--color-main-text)}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active{border:1px solid var(--color-primary-element);background:var(--color-main-background) none;font-weight:bold;color:var(--color-main-text)}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:var(--color-main-text)}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid var(--color-main-background);background:var(--color-main-background) none;color:var(--color-main-text);font-weight:600}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:var(--color-text-maxcontrast)}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:var(--color-error);background:var(--color-error) none;color:#fff}.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#fff}.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#fff}.ui-state-default .ui-icon{background-image:url(${g})}.ui-state-hover .ui-icon,.ui-state-focus .ui-icon{background-image:url(${g})}.ui-state-active .ui-icon{background-image:url(${g})}.ui-state-highlight .ui-icon{background-image:url(${A})}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url(${m})}.ui-icon.ui-icon-none{display:none}.ui-widget-overlay{background:#666 url(${v}) 50% 50% repeat;opacity:.5}.ui-widget-shadow{margin:-5px 0 0 -5px;padding:5px;background:#000 url(${b}) 50% 50% repeat-x;opacity:.2;border-radius:5px}.ui-tabs{border:none}.ui-tabs .ui-tabs-nav.ui-corner-all{border-end-start-radius:0;border-end-end-radius:0}.ui-tabs .ui-tabs-nav{background:none;margin-bottom:15px}.ui-tabs .ui-tabs-nav .ui-state-default{border:none;border-bottom:1px solid rgba(0,0,0,0);font-weight:normal;margin:0 !important;padding:0 !important}.ui-tabs .ui-tabs-nav .ui-state-hover,.ui-tabs .ui-tabs-nav .ui-state-active{border:none;border-bottom:1px solid var(--color-main-text);color:var(--color-main-text)}.ui-tabs .ui-tabs-nav .ui-state-hover a,.ui-tabs .ui-tabs-nav .ui-state-hover a:link,.ui-tabs .ui-tabs-nav .ui-state-hover a:hover,.ui-tabs .ui-tabs-nav .ui-state-hover a:visited,.ui-tabs .ui-tabs-nav .ui-state-active a,.ui-tabs .ui-tabs-nav .ui-state-active a:link,.ui-tabs .ui-tabs-nav .ui-state-active a:hover,.ui-tabs .ui-tabs-nav .ui-state-active a:visited{color:var(--color-main-text)}.ui-tabs .ui-tabs-nav .ui-state-active{font-weight:bold}.ui-autocomplete.ui-menu{padding:0}.ui-autocomplete.ui-menu.item-count-1,.ui-autocomplete.ui-menu.item-count-2{overflow-y:hidden}.ui-autocomplete.ui-menu .ui-menu-item a{color:var(--color-text-maxcontrast);display:block;padding:4px;padding-inline-start:14px}.ui-autocomplete.ui-menu .ui-menu-item a.ui-state-focus,.ui-autocomplete.ui-menu .ui-menu-item a.ui-state-active{box-shadow:inset 4px 0 var(--color-primary-element);color:var(--color-main-text)}.ui-autocomplete.ui-widget-content{background:var(--color-main-background);border-top:none}.ui-autocomplete.ui-corner-all{border-radius:0;border-end-start-radius:var(--border-radius);border-end-end-radius:var(--border-radius)}.ui-autocomplete .ui-state-hover,.ui-autocomplete .ui-widget-content .ui-state-hover,.ui-autocomplete .ui-widget-header .ui-state-hover,.ui-autocomplete .ui-state-focus,.ui-autocomplete .ui-widget-content .ui-state-focus,.ui-autocomplete .ui-widget-header .ui-state-focus{border:1px solid rgba(0,0,0,0);background:inherit;color:var(--color-primary-element)}.ui-autocomplete .ui-menu-item a{border-radius:0 !important}.ui-button.primary{background-color:var(--color-primary-element);color:var(--color-primary-element-text);border:1px solid var(--color-primary-element-text)}.ui-button:hover{font-weight:bold !important}.ui-draggable-handle,.ui-selectable{touch-action:pan-y}`,"",{version:3,sources:["webpack://./core/src/jquery/css/jquery-ui-fixes.scss"],names:[],mappings:"AAMA,mBACC,oCAAA,CACA,4CAAA,CACA,4BAAA,CAGD,qBACC,4BAAA,CAGD,kBACC,WAAA,CACA,4BAAA,CACA,qBAAA,CAGD,oBACC,4BAAA,CAKD,2FAGC,oCAAA,CACA,4CAAA,CACA,gBAAA,CACA,UAAA,CAGD,yEAGC,UAAA,CAGD,0KAMC,qBAAA,CACA,4CAAA,CACA,gBAAA,CACA,4BAAA,CAGD,2FAIC,4BAAA,CAGD,wFAGC,6CAAA,CACA,4CAAA,CACA,gBAAA,CACA,4BAAA,CAGD,sEAGC,4BAAA,CAKD,iGAGC,6CAAA,CACA,4CAAA,CACA,4BAAA,CACA,eAAA,CAGD,uGAGC,mCAAA,CAGD,qFAGC,yBAAA,CACA,kCAAA,CACA,UAAA,CAGD,2FAGC,UAAA,CAGD,oGAGC,UAAA,CAKD,2BACC,wDAAA,CAGD,kDAEC,wDAAA,CAGD,0BACC,wDAAA,CAGD,6BACC,wDAAA,CAGD,uDAEC,wDAAA,CAGD,sBACC,YAAA,CAMD,mBACC,sEAAA,CACA,UAAA,CAGD,kBACC,oBAAA,CACA,WAAA,CACA,wEAAA,CACA,UAAA,CACA,iBAAA,CAID,SACC,WAAA,CAEA,oCACC,yBAAA,CACA,uBAAA,CAGD,sBACC,eAAA,CACA,kBAAA,CAEA,wCACC,WAAA,CACA,qCAAA,CACA,kBAAA,CACA,mBAAA,CACA,oBAAA,CAGD,6EAEC,WAAA,CACA,8CAAA,CACA,4BAAA,CACA,0WACC,4BAAA,CAGF,uCACC,gBAAA,CAOF,yBACC,SAAA,CAIA,4EAEC,iBAAA,CAGD,yCACC,mCAAA,CACA,aAAA,CACA,WAAA,CACA,yBAAA,CAEA,iHACC,mDAAA,CACA,4BAAA,CAKH,mCACC,uCAAA,CACA,eAAA,CAGD,+BACC,eAAA,CACA,4CAAA,CACA,0CAAA,CAGD,gRAKC,8BAAA,CACA,kBAAA,CACA,kCAAA,CAIA,iCACC,0BAAA,CAKH,mBACC,6CAAA,CACA,uCAAA,CACA,kDAAA,CAID,iBACI,2BAAA,CAKJ,oCAEC,kBAAA",sourcesContent:["/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/* Component containers\n----------------------------------*/\n.ui-widget-content {\n\tborder: 1px solid var(--color-border);\n\tbackground: var(--color-main-background) none;\n\tcolor: var(--color-main-text);\n}\n\n.ui-widget-content a {\n\tcolor: var(--color-main-text);\n}\n\n.ui-widget-header {\n\tborder: none;\n\tcolor: var(--color-main-text);\n\tbackground-image: none;\n}\n\n.ui-widget-header a {\n\tcolor: var(--color-main-text);\n}\n\n/* Interaction states\n----------------------------------*/\n.ui-state-default,\n.ui-widget-content .ui-state-default,\n.ui-widget-header .ui-state-default {\n\tborder: 1px solid var(--color-border);\n\tbackground: var(--color-main-background) none;\n\tfont-weight: bold;\n\tcolor: #555;\n}\n\n.ui-state-default a,\n.ui-state-default a:link,\n.ui-state-default a:visited {\n\tcolor: #555;\n}\n\n.ui-state-hover,\n.ui-widget-content .ui-state-hover,\n.ui-widget-header .ui-state-hover,\n.ui-state-focus,\n.ui-widget-content .ui-state-focus,\n.ui-widget-header .ui-state-focus {\n\tborder: 1px solid #ddd;\n\tbackground: var(--color-main-background) none;\n\tfont-weight: bold;\n\tcolor: var(--color-main-text);\n}\n\n.ui-state-hover a,\n.ui-state-hover a:hover,\n.ui-state-hover a:link,\n.ui-state-hover a:visited {\n\tcolor: var(--color-main-text);\n}\n\n.ui-state-active,\n.ui-widget-content .ui-state-active,\n.ui-widget-header .ui-state-active {\n\tborder: 1px solid var(--color-primary-element);\n\tbackground: var(--color-main-background) none;\n\tfont-weight: bold;\n\tcolor: var(--color-main-text);\n}\n\n.ui-state-active a,\n.ui-state-active a:link,\n.ui-state-active a:visited {\n\tcolor: var(--color-main-text);\n}\n\n/* Interaction Cues\n----------------------------------*/\n.ui-state-highlight,\n.ui-widget-content .ui-state-highlight,\n.ui-widget-header .ui-state-highlight {\n\tborder: 1px solid var(--color-main-background);\n\tbackground: var(--color-main-background) none;\n\tcolor: var(--color-main-text);\n\tfont-weight: 600;\n}\n\n.ui-state-highlight a,\n.ui-widget-content .ui-state-highlight a,\n.ui-widget-header .ui-state-highlight a {\n\tcolor: var(--color-text-maxcontrast);\n}\n\n.ui-state-error,\n.ui-widget-content .ui-state-error,\n.ui-widget-header .ui-state-error {\n\tborder: var(--color-error);\n\tbackground: var(--color-error) none;\n\tcolor: #ffffff;\n}\n\n.ui-state-error a,\n.ui-widget-content .ui-state-error a,\n.ui-widget-header .ui-state-error a {\n\tcolor: #ffffff;\n}\n\n.ui-state-error-text,\n.ui-widget-content .ui-state-error-text,\n.ui-widget-header .ui-state-error-text {\n\tcolor: #ffffff;\n}\n\n/* Icons\n----------------------------------*/\n.ui-state-default .ui-icon {\n\tbackground-image: url('images/ui-icons_1d2d44_256x240.png');\n}\n\n.ui-state-hover .ui-icon,\n.ui-state-focus .ui-icon {\n\tbackground-image: url('images/ui-icons_1d2d44_256x240.png');\n}\n\n.ui-state-active .ui-icon {\n\tbackground-image: url('images/ui-icons_1d2d44_256x240.png');\n}\n\n.ui-state-highlight .ui-icon {\n\tbackground-image: url('images/ui-icons_ffffff_256x240.png');\n}\n\n.ui-state-error .ui-icon,\n.ui-state-error-text .ui-icon {\n\tbackground-image: url('images/ui-icons_ffd27a_256x240.png');\n}\n\n.ui-icon.ui-icon-none {\n\tdisplay: none;\n}\n\n/* Misc visuals\n----------------------------------*/\n/* Overlays */\n.ui-widget-overlay {\n\tbackground: #666666 url('images/ui-bg_diagonals-thick_20_666666_40x40.png') 50% 50% repeat;\n\topacity: .5;\n}\n\n.ui-widget-shadow {\n\tmargin: -5px 0 0 -5px;\n\tpadding: 5px;\n\tbackground: #000000 url('images/ui-bg_flat_10_000000_40x100.png') 50% 50% repeat-x;\n\topacity: .2;\n\tborder-radius: 5px;\n}\n\n/* Tabs customizations */\n.ui-tabs {\n\tborder: none;\n\n\t.ui-tabs-nav.ui-corner-all {\n\t\tborder-end-start-radius: 0;\n\t\tborder-end-end-radius: 0;\n\t}\n\n\t.ui-tabs-nav {\n\t\tbackground: none;\n\t\tmargin-bottom: 15px;\n\n\t\t.ui-state-default {\n\t\t\tborder: none;\n\t\t\tborder-bottom: 1px solid transparent;\n\t\t\tfont-weight: normal;\n\t\t\tmargin: 0 !important;\n\t\t\tpadding: 0 !important;\n\t\t}\n\n\t\t.ui-state-hover,\n\t\t.ui-state-active {\n\t\t\tborder: none;\n\t\t\tborder-bottom: 1px solid var(--color-main-text);\n\t\t\tcolor: var(--color-main-text);\n\t\t\ta, a:link, a:hover, a:visited {\n\t\t\t\tcolor: var(--color-main-text);\n\t\t\t}\n\t\t}\n\t\t.ui-state-active {\n\t\t\tfont-weight: bold;\n\t\t}\n\t}\n}\n\n/* Select menus */\n.ui-autocomplete {\n\t&.ui-menu {\n\t\tpadding: 0;\n\n\t\t/* scrolling starts from three items,\n\t\t * so hide overflow and scrollbars for a clean layout */\n\t\t&.item-count-1,\n\t\t&.item-count-2 {\n\t\t\toverflow-y: hidden;\n\t\t}\n\n\t\t.ui-menu-item a {\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t\tdisplay: block;\n\t\t\tpadding: 4px;\n\t\t\tpadding-inline-start: 14px;\n\n\t\t\t&.ui-state-focus, &.ui-state-active {\n\t\t\t\tbox-shadow: inset 4px 0 var(--color-primary-element);\n\t\t\t\tcolor: var(--color-main-text);\n\t\t\t}\n\t\t}\n\t}\n\n\t&.ui-widget-content {\n\t\tbackground: var(--color-main-background);\n\t\tborder-top: none;\n\t}\n\n\t&.ui-corner-all {\n\t\tborder-radius: 0;\n\t\tborder-end-start-radius: var(--border-radius);\n\t\tborder-end-end-radius: var(--border-radius);\n\t}\n\n\t.ui-state-hover, .ui-widget-content .ui-state-hover,\n\t.ui-widget-header .ui-state-hover,\n\t.ui-state-focus,\n\t.ui-widget-content .ui-state-focus,\n\t.ui-widget-header .ui-state-focus {\n\t\tborder: 1px solid transparent;\n\t\tbackground: inherit;\n\t\tcolor: var(--color-primary-element);\n\t}\n\n\t.ui-menu-item {\n\t\ta {\n\t\t\tborder-radius: 0 !important;\n\t\t}\n\t}\n}\n\n.ui-button.primary {\n\tbackground-color: var(--color-primary-element);\n\tcolor: var(--color-primary-element-text);\n\tborder: 1px solid var(--color-primary-element-text);\n}\n\n// fix ui-buttons on hover\n.ui-button:hover {\n font-weight:bold !important;\n}\n\n\n/* DRAGGABLE */\n.ui-draggable-handle,\n.ui-selectable {\n\ttouch-action: pan-y;\n}\n"],sourceRoot:""}]);const y=p},2791(t,e,i){"use strict";i.d(e,{A:()=>a});var n=i(71354),r=i.n(n),o=i(76314),s=i.n(o)()(r());s.push([t.id,".oc-dialog{background:var(--color-main-background);border-radius:var(--border-radius-large);box-shadow:0 0 30px var(--color-box-shadow);color:var(--color-main-text);padding:24px;z-index:100001;font-size:100%;box-sizing:border-box;min-width:200px;top:50%;inset-inline-start:50%;transform:translate(-50%, -50%);max-height:calc(100% - 20px);max-width:calc(100% - 20px);overflow:auto}.oc-dialog-title{background:var(--color-main-background)}.oc-dialog-buttonrow{position:relative;display:flex;background:rgba(0,0,0,0);inset-inline-end:0;bottom:0;padding:0;padding-top:10px;box-sizing:border-box;width:100%;background-image:linear-gradient(rgba(255, 255, 255, 0), var(--color-main-background))}.oc-dialog-buttonrow.twobuttons{justify-content:space-between}.oc-dialog-buttonrow.onebutton,.oc-dialog-buttonrow.twobuttons.aside{justify-content:flex-end}.oc-dialog-buttonrow button{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;height:44px;min-width:44px}.oc-dialog-close{position:absolute;width:44px !important;height:44px !important;top:4px;inset-inline-end:4px;padding:25px;background:var(--icon-close-dark) no-repeat center;opacity:.5;border-radius:var(--border-radius-pill)}.oc-dialog-close:hover,.oc-dialog-close:focus,.oc-dialog-close:active{opacity:1}.oc-dialog-dim{background-color:#000;opacity:.2;z-index:100001;position:fixed;top:0;inset-inline-start:0;width:100%;height:100%}body.theme--dark .oc-dialog-dim{opacity:.8}.oc-dialog-content{width:100%;max-width:550px}","",{version:3,sources:["webpack://./core/src/jquery/css/jquery.ocdialog.scss"],names:[],mappings:"AAIA,WACC,uCAAA,CACA,wCAAA,CACA,2CAAA,CACA,4BAAA,CACA,YAAA,CACA,cAAA,CACA,cAAA,CACA,qBAAA,CACA,eAAA,CACA,OAAA,CACA,sBAAA,CACA,+BAAA,CACA,4BAAA,CACA,2BAAA,CACA,aAAA,CAGD,iBACC,uCAAA,CAGD,qBACC,iBAAA,CACA,YAAA,CACA,wBAAA,CACA,kBAAA,CACA,QAAA,CACA,SAAA,CACA,gBAAA,CACA,qBAAA,CACA,UAAA,CACA,sFAAA,CAEA,gCACO,6BAAA,CAGP,qEAEC,wBAAA,CAGD,4BACI,kBAAA,CACA,eAAA,CACH,sBAAA,CACA,WAAA,CACA,cAAA,CAIF,iBACC,iBAAA,CACA,qBAAA,CACA,sBAAA,CACA,OAAA,CACA,oBAAA,CACA,YAAA,CACA,kDAAA,CACA,UAAA,CACA,uCAAA,CAEA,sEAGC,SAAA,CAIF,eACC,qBAAA,CACA,UAAA,CACA,cAAA,CACA,cAAA,CACA,KAAA,CACA,oBAAA,CACA,UAAA,CACA,WAAA,CAGD,gCACC,UAAA,CAGD,mBACC,UAAA,CACA,eAAA",sourcesContent:["/**\n * SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n.oc-dialog {\n\tbackground: var(--color-main-background);\n\tborder-radius: var(--border-radius-large);\n\tbox-shadow: 0 0 30px var(--color-box-shadow);\n\tcolor: var(--color-main-text);\n\tpadding: 24px;\n\tz-index: 100001;\n\tfont-size: 100%;\n\tbox-sizing: border-box;\n\tmin-width: 200px;\n\ttop: 50%;\n\tinset-inline-start: 50%;\n\ttransform: translate(-50%, -50%);\n\tmax-height: calc(100% - 20px);\n\tmax-width: calc(100% - 20px);\n\toverflow: auto;\n}\n\n.oc-dialog-title {\n\tbackground: var(--color-main-background);\n}\n\n.oc-dialog-buttonrow {\n\tposition: relative;\n\tdisplay: flex;\n\tbackground: transparent;\n\tinset-inline-end: 0;\n\tbottom: 0;\n\tpadding: 0;\n\tpadding-top: 10px;\n\tbox-sizing: border-box;\n\twidth: 100%;\n\tbackground-image: linear-gradient(rgba(255, 255, 255, 0.0), var(--color-main-background));\n\n\t&.twobuttons {\n justify-content: space-between;\n }\n\n\t&.onebutton,\n\t&.twobuttons.aside {\n\t\tjustify-content: flex-end;\n\t}\n\n\tbutton {\n\t white-space: nowrap;\n\t overflow: hidden;\n\t\ttext-overflow: ellipsis;\n\t\theight: 44px;\n\t\tmin-width: 44px;\n\t}\n}\n\n.oc-dialog-close {\n\tposition: absolute;\n\twidth: 44px !important;\n\theight: 44px !important;\n\ttop: 4px;\n\tinset-inline-end: 4px;\n\tpadding: 25px;\n\tbackground: var(--icon-close-dark) no-repeat center;\n\topacity: .5;\n\tborder-radius: var(--border-radius-pill);\n\n\t&:hover,\n\t&:focus,\n\t&:active {\n\t\topacity: 1;\n\t}\n}\n\n.oc-dialog-dim {\n\tbackground-color: #000;\n\topacity: .2;\n\tz-index: 100001;\n\tposition: fixed;\n\ttop: 0;\n\tinset-inline-start: 0;\n\twidth: 100%;\n\theight: 100%;\n}\n\nbody.theme--dark .oc-dialog-dim {\n\topacity: .8;\n}\n\n.oc-dialog-content {\n\twidth: 100%;\n\tmax-width: 550px;\n}\n"],sourceRoot:""}]);const a=s},35156(t,e,i){"use strict";i.d(e,{A:()=>A});var n=i(71354),r=i.n(n),o=i(76314),s=i.n(o),a=i(4417),u=i.n(a),c=new URL(i(65653),i.b),h=new URL(i(22046),i.b),l=new URL(i(32095),i.b),d=s()(r()),f=u()(c),p=u()(h),g=u()(l);d.push([t.id,`/*\nVersion: @@ver@@ Timestamp: @@timestamp@@\n*/\n.select2-container {\n margin: 0;\n position: relative;\n display: inline-block;\n /* inline-block for ie7 */\n zoom: 1;\n *display: inline;\n vertical-align: middle;\n}\n\n.select2-container,\n.select2-drop,\n.select2-search,\n.select2-search input {\n /*\n Force border-box so that % widths fit the parent\n container without overlap because of margin/padding.\n More Info : http://www.quirksmode.org/css/box.html\n */\n -webkit-box-sizing: border-box; /* webkit */\n -moz-box-sizing: border-box; /* firefox */\n box-sizing: border-box; /* css3 */\n}\n\n.select2-container .select2-choice {\n display: block;\n height: 26px;\n padding: 0 0 0 8px;\n overflow: hidden;\n position: relative;\n\n border: 1px solid #aaa;\n white-space: nowrap;\n line-height: 26px;\n color: #444;\n text-decoration: none;\n\n border-radius: 4px;\n\n background-clip: padding-box;\n\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n\n background-color: #fff;\n background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #eee), color-stop(0.5, #fff));\n background-image: -webkit-linear-gradient(center bottom, #eee 0%, #fff 50%);\n background-image: -moz-linear-gradient(center bottom, #eee 0%, #fff 50%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr = '#ffffff', endColorstr = '#eeeeee', GradientType = 0);\n background-image: linear-gradient(to top, #eee 0%, #fff 50%);\n}\n\nhtml[dir="rtl"] .select2-container .select2-choice {\n padding: 0 8px 0 0;\n}\n\n.select2-container.select2-drop-above .select2-choice {\n border-bottom-color: #aaa;\n\n border-radius: 0 0 4px 4px;\n\n background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #eee), color-stop(0.9, #fff));\n background-image: -webkit-linear-gradient(center bottom, #eee 0%, #fff 90%);\n background-image: -moz-linear-gradient(center bottom, #eee 0%, #fff 90%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#eeeeee', GradientType=0);\n background-image: linear-gradient(to bottom, #eee 0%, #fff 90%);\n}\n\n.select2-container.select2-allowclear .select2-choice .select2-chosen {\n margin-right: 42px;\n}\n\n.select2-container .select2-choice > .select2-chosen {\n margin-right: 26px;\n display: block;\n overflow: hidden;\n\n white-space: nowrap;\n\n text-overflow: ellipsis;\n float: none;\n width: auto;\n}\n\nhtml[dir="rtl"] .select2-container .select2-choice > .select2-chosen {\n margin-left: 26px;\n margin-right: 0;\n}\n\n.select2-container .select2-choice abbr {\n display: none;\n width: 12px;\n height: 12px;\n position: absolute;\n right: 24px;\n top: 8px;\n\n font-size: 1px;\n text-decoration: none;\n\n border: 0;\n background: url(${f}) right top no-repeat;\n cursor: pointer;\n outline: 0;\n}\n\n.select2-container.select2-allowclear .select2-choice abbr {\n display: inline-block;\n}\n\n.select2-container .select2-choice abbr:hover {\n background-position: right -11px;\n cursor: pointer;\n}\n\n.select2-drop-mask {\n border: 0;\n margin: 0;\n padding: 0;\n position: fixed;\n left: 0;\n top: 0;\n min-height: 100%;\n min-width: 100%;\n height: auto;\n width: auto;\n opacity: 0;\n z-index: 9998;\n /* styles required for IE to work */\n background-color: #fff;\n filter: alpha(opacity=0);\n}\n\n.select2-drop {\n width: 100%;\n margin-top: -1px;\n position: absolute;\n z-index: 9999;\n top: 100%;\n\n background: #fff;\n color: #000;\n border: 1px solid #aaa;\n border-top: 0;\n\n border-radius: 0 0 4px 4px;\n\n -webkit-box-shadow: 0 4px 5px rgba(0, 0, 0, .15);\n box-shadow: 0 4px 5px rgba(0, 0, 0, .15);\n}\n\n.select2-drop.select2-drop-above {\n margin-top: 1px;\n border-top: 1px solid #aaa;\n border-bottom: 0;\n\n border-radius: 4px 4px 0 0;\n\n -webkit-box-shadow: 0 -4px 5px rgba(0, 0, 0, .15);\n box-shadow: 0 -4px 5px rgba(0, 0, 0, .15);\n}\n\n.select2-drop-active {\n border: 1px solid #5897fb;\n border-top: none;\n}\n\n.select2-drop.select2-drop-above.select2-drop-active {\n border-top: 1px solid #5897fb;\n}\n\n.select2-drop-auto-width {\n border-top: 1px solid #aaa;\n width: auto;\n}\n\n.select2-drop-auto-width .select2-search {\n padding-top: 4px;\n}\n\n.select2-container .select2-choice .select2-arrow {\n display: inline-block;\n width: 18px;\n height: 100%;\n position: absolute;\n right: 0;\n top: 0;\n\n border-left: 1px solid #aaa;\n border-radius: 0 4px 4px 0;\n\n background-clip: padding-box;\n\n background: #ccc;\n background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #ccc), color-stop(0.6, #eee));\n background-image: -webkit-linear-gradient(center bottom, #ccc 0%, #eee 60%);\n background-image: -moz-linear-gradient(center bottom, #ccc 0%, #eee 60%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr = '#eeeeee', endColorstr = '#cccccc', GradientType = 0);\n background-image: linear-gradient(to top, #ccc 0%, #eee 60%);\n}\n\nhtml[dir="rtl"] .select2-container .select2-choice .select2-arrow {\n left: 0;\n right: auto;\n\n border-left: none;\n border-right: 1px solid #aaa;\n border-radius: 4px 0 0 4px;\n}\n\n.select2-container .select2-choice .select2-arrow b {\n display: block;\n width: 100%;\n height: 100%;\n background: url(${f}) no-repeat 0 1px;\n}\n\nhtml[dir="rtl"] .select2-container .select2-choice .select2-arrow b {\n background-position: 2px 1px;\n}\n\n.select2-search {\n display: inline-block;\n width: 100%;\n min-height: 26px;\n margin: 0;\n padding-left: 4px;\n padding-right: 4px;\n\n position: relative;\n z-index: 10000;\n\n white-space: nowrap;\n}\n\n.select2-search input {\n width: 100%;\n height: auto !important;\n min-height: 26px;\n padding: 4px 20px 4px 5px;\n margin: 0;\n\n outline: 0;\n font-family: sans-serif;\n font-size: 1em;\n\n border: 1px solid #aaa;\n border-radius: 0;\n\n -webkit-box-shadow: none;\n box-shadow: none;\n\n background: #fff url(${f}) no-repeat 100% -22px;\n background: url(${f}) no-repeat 100% -22px, -webkit-gradient(linear, left bottom, left top, color-stop(0.85, #fff), color-stop(0.99, #eee));\n background: url(${f}) no-repeat 100% -22px, -webkit-linear-gradient(center bottom, #fff 85%, #eee 99%);\n background: url(${f}) no-repeat 100% -22px, -moz-linear-gradient(center bottom, #fff 85%, #eee 99%);\n background: url(${f}) no-repeat 100% -22px, linear-gradient(to bottom, #fff 85%, #eee 99%) 0 0;\n}\n\nhtml[dir="rtl"] .select2-search input {\n padding: 4px 5px 4px 20px;\n\n background: #fff url(${f}) no-repeat -37px -22px;\n background: url(${f}) no-repeat -37px -22px, -webkit-gradient(linear, left bottom, left top, color-stop(0.85, #fff), color-stop(0.99, #eee));\n background: url(${f}) no-repeat -37px -22px, -webkit-linear-gradient(center bottom, #fff 85%, #eee 99%);\n background: url(${f}) no-repeat -37px -22px, -moz-linear-gradient(center bottom, #fff 85%, #eee 99%);\n background: url(${f}) no-repeat -37px -22px, linear-gradient(to bottom, #fff 85%, #eee 99%) 0 0;\n}\n\n.select2-drop.select2-drop-above .select2-search input {\n margin-top: 4px;\n}\n\n.select2-search input.select2-active {\n background: #fff url(${p}) no-repeat 100%;\n background: url(${p}) no-repeat 100%, -webkit-gradient(linear, left bottom, left top, color-stop(0.85, #fff), color-stop(0.99, #eee));\n background: url(${p}) no-repeat 100%, -webkit-linear-gradient(center bottom, #fff 85%, #eee 99%);\n background: url(${p}) no-repeat 100%, -moz-linear-gradient(center bottom, #fff 85%, #eee 99%);\n background: url(${p}) no-repeat 100%, linear-gradient(to bottom, #fff 85%, #eee 99%) 0 0;\n}\n\n.select2-container-active .select2-choice,\n.select2-container-active .select2-choices {\n border: 1px solid #5897fb;\n outline: none;\n\n -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, .3);\n box-shadow: 0 0 5px rgba(0, 0, 0, .3);\n}\n\n.select2-dropdown-open .select2-choice {\n border-bottom-color: transparent;\n -webkit-box-shadow: 0 1px 0 #fff inset;\n box-shadow: 0 1px 0 #fff inset;\n\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n\n background-color: #eee;\n background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #fff), color-stop(0.5, #eee));\n background-image: -webkit-linear-gradient(center bottom, #fff 0%, #eee 50%);\n background-image: -moz-linear-gradient(center bottom, #fff 0%, #eee 50%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#ffffff', GradientType=0);\n background-image: linear-gradient(to top, #fff 0%, #eee 50%);\n}\n\n.select2-dropdown-open.select2-drop-above .select2-choice,\n.select2-dropdown-open.select2-drop-above .select2-choices {\n border: 1px solid #5897fb;\n border-top-color: transparent;\n\n background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff), color-stop(0.5, #eee));\n background-image: -webkit-linear-gradient(center top, #fff 0%, #eee 50%);\n background-image: -moz-linear-gradient(center top, #fff 0%, #eee 50%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#ffffff', GradientType=0);\n background-image: linear-gradient(to bottom, #fff 0%, #eee 50%);\n}\n\n.select2-dropdown-open .select2-choice .select2-arrow {\n background: transparent;\n border-left: none;\n filter: none;\n}\nhtml[dir="rtl"] .select2-dropdown-open .select2-choice .select2-arrow {\n border-right: none;\n}\n\n.select2-dropdown-open .select2-choice .select2-arrow b {\n background-position: -18px 1px;\n}\n\nhtml[dir="rtl"] .select2-dropdown-open .select2-choice .select2-arrow b {\n background-position: -16px 1px;\n}\n\n.select2-hidden-accessible {\n border: 0;\n clip: rect(0 0 0 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n width: 1px;\n}\n\n/* results */\n.select2-results {\n max-height: 200px;\n padding: 0 0 0 4px;\n margin: 4px 4px 4px 0;\n position: relative;\n overflow-x: hidden;\n overflow-y: auto;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\nhtml[dir="rtl"] .select2-results {\n padding: 0 4px 0 0;\n margin: 4px 0 4px 4px;\n}\n\n.select2-results ul.select2-result-sub {\n margin: 0;\n padding-left: 0;\n}\n\n.select2-results li {\n list-style: none;\n display: list-item;\n background-image: none;\n}\n\n.select2-results li.select2-result-with-children > .select2-result-label {\n font-weight: bold;\n}\n\n.select2-results .select2-result-label {\n padding: 3px 7px 4px;\n margin: 0;\n cursor: pointer;\n\n min-height: 1em;\n\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n.select2-results-dept-1 .select2-result-label { padding-left: 20px }\n.select2-results-dept-2 .select2-result-label { padding-left: 40px }\n.select2-results-dept-3 .select2-result-label { padding-left: 60px }\n.select2-results-dept-4 .select2-result-label { padding-left: 80px }\n.select2-results-dept-5 .select2-result-label { padding-left: 100px }\n.select2-results-dept-6 .select2-result-label { padding-left: 110px }\n.select2-results-dept-7 .select2-result-label { padding-left: 120px }\n\n.select2-results .select2-highlighted {\n background: #3875d7;\n color: #fff;\n}\n\n.select2-results li em {\n background: #feffde;\n font-style: normal;\n}\n\n.select2-results .select2-highlighted em {\n background: transparent;\n}\n\n.select2-results .select2-highlighted ul {\n background: #fff;\n color: #000;\n}\n\n.select2-results .select2-no-results,\n.select2-results .select2-searching,\n.select2-results .select2-ajax-error,\n.select2-results .select2-selection-limit {\n background: #f4f4f4;\n display: list-item;\n padding-left: 5px;\n}\n\n/*\ndisabled look for disabled choices in the results dropdown\n*/\n.select2-results .select2-disabled.select2-highlighted {\n color: #666;\n background: #f4f4f4;\n display: list-item;\n cursor: default;\n}\n.select2-results .select2-disabled {\n background: #f4f4f4;\n display: list-item;\n cursor: default;\n}\n\n.select2-results .select2-selected {\n display: none;\n}\n\n.select2-more-results.select2-active {\n background: #f4f4f4 url(${p}) no-repeat 100%;\n}\n\n.select2-results .select2-ajax-error {\n background: rgba(255, 50, 50, .2);\n}\n\n.select2-more-results {\n background: #f4f4f4;\n display: list-item;\n}\n\n/* disabled styles */\n\n.select2-container.select2-container-disabled .select2-choice {\n background-color: #f4f4f4;\n background-image: none;\n border: 1px solid #ddd;\n cursor: default;\n}\n\n.select2-container.select2-container-disabled .select2-choice .select2-arrow {\n background-color: #f4f4f4;\n background-image: none;\n border-left: 0;\n}\n\n.select2-container.select2-container-disabled .select2-choice abbr {\n display: none;\n}\n\n\n/* multiselect */\n\n.select2-container-multi .select2-choices {\n height: auto !important;\n height: 1%;\n margin: 0;\n padding: 0 5px 0 0;\n position: relative;\n\n border: 1px solid #aaa;\n cursor: text;\n overflow: hidden;\n\n background-color: #fff;\n background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(1%, #eee), color-stop(15%, #fff));\n background-image: -webkit-linear-gradient(top, #eee 1%, #fff 15%);\n background-image: -moz-linear-gradient(top, #eee 1%, #fff 15%);\n background-image: linear-gradient(to bottom, #eee 1%, #fff 15%);\n}\n\nhtml[dir="rtl"] .select2-container-multi .select2-choices {\n padding: 0 0 0 5px;\n}\n\n.select2-locked {\n padding: 3px 5px 3px 5px !important;\n}\n\n.select2-container-multi .select2-choices {\n min-height: 26px;\n}\n\n.select2-container-multi.select2-container-active .select2-choices {\n border: 1px solid #5897fb;\n outline: none;\n\n -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, .3);\n box-shadow: 0 0 5px rgba(0, 0, 0, .3);\n}\n.select2-container-multi .select2-choices li {\n float: left;\n list-style: none;\n}\nhtml[dir="rtl"] .select2-container-multi .select2-choices li\n{\n float: right;\n}\n.select2-container-multi .select2-choices .select2-search-field {\n margin: 0;\n padding: 0;\n white-space: nowrap;\n}\n\n.select2-container-multi .select2-choices .select2-search-field input {\n padding: 5px;\n margin: 1px 0;\n\n font-family: sans-serif;\n font-size: 100%;\n color: #666;\n outline: 0;\n border: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n background: transparent !important;\n}\n\n.select2-container-multi .select2-choices .select2-search-field input.select2-active {\n background: #fff url(${p}) no-repeat 100% !important;\n}\n\n.select2-default {\n color: #999 !important;\n}\n\n.select2-container-multi .select2-choices .select2-search-choice {\n padding: 3px 5px 3px 18px;\n margin: 3px 0 3px 5px;\n position: relative;\n\n line-height: 13px;\n color: #333;\n cursor: default;\n border: 1px solid #aaaaaa;\n\n border-radius: 3px;\n\n -webkit-box-shadow: 0 0 2px #fff inset, 0 1px 0 rgba(0, 0, 0, 0.05);\n box-shadow: 0 0 2px #fff inset, 0 1px 0 rgba(0, 0, 0, 0.05);\n\n background-clip: padding-box;\n\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n\n background-color: #e4e4e4;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#f4f4f4', GradientType=0);\n background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(20%, #f4f4f4), color-stop(50%, #f0f0f0), color-stop(52%, #e8e8e8), color-stop(100%, #eee));\n background-image: -webkit-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%);\n background-image: -moz-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%);\n background-image: linear-gradient(to bottom, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%);\n}\nhtml[dir="rtl"] .select2-container-multi .select2-choices .select2-search-choice\n{\n margin: 3px 5px 3px 0;\n padding: 3px 18px 3px 5px;\n}\n.select2-container-multi .select2-choices .select2-search-choice .select2-chosen {\n cursor: default;\n}\n.select2-container-multi .select2-choices .select2-search-choice-focus {\n background: #d4d4d4;\n}\n\n.select2-search-choice-close {\n display: block;\n width: 12px;\n height: 13px;\n position: absolute;\n right: 3px;\n top: 4px;\n\n font-size: 1px;\n outline: none;\n background: url(${f}) right top no-repeat;\n}\nhtml[dir="rtl"] .select2-search-choice-close {\n right: auto;\n left: 3px;\n}\n\n.select2-container-multi .select2-search-choice-close {\n left: 3px;\n}\n\nhtml[dir="rtl"] .select2-container-multi .select2-search-choice-close {\n left: auto;\n right: 2px;\n}\n\n.select2-container-multi .select2-choices .select2-search-choice .select2-search-choice-close:hover {\n background-position: right -11px;\n}\n.select2-container-multi .select2-choices .select2-search-choice-focus .select2-search-choice-close {\n background-position: right -11px;\n}\n\n/* disabled styles */\n.select2-container-multi.select2-container-disabled .select2-choices {\n background-color: #f4f4f4;\n background-image: none;\n border: 1px solid #ddd;\n cursor: default;\n}\n\n.select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice {\n padding: 3px 5px 3px 5px;\n border: 1px solid #ddd;\n background-image: none;\n background-color: #f4f4f4;\n}\n\n.select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice .select2-search-choice-close { display: none;\n background: none;\n}\n/* end multiselect */\n\n\n.select2-result-selectable .select2-match,\n.select2-result-unselectable .select2-match {\n text-decoration: underline;\n}\n\n.select2-offscreen, .select2-offscreen:focus {\n clip: rect(0 0 0 0) !important;\n width: 1px !important;\n height: 1px !important;\n border: 0 !important;\n margin: 0 !important;\n padding: 0 !important;\n overflow: hidden !important;\n position: absolute !important;\n outline: 0 !important;\n left: 0px !important;\n top: 0px !important;\n}\n\n.select2-display-none {\n display: none;\n}\n\n.select2-measure-scrollbar {\n position: absolute;\n top: -10000px;\n left: -10000px;\n width: 100px;\n height: 100px;\n overflow: scroll;\n}\n\n/* Retina-ize icons */\n\n@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-resolution: 2dppx) {\n .select2-search input,\n .select2-search-choice-close,\n .select2-container .select2-choice abbr,\n .select2-container .select2-choice .select2-arrow b {\n background-image: url(${g}) !important;\n background-repeat: no-repeat !important;\n background-size: 60px 40px !important;\n }\n\n .select2-search input {\n background-position: 100% -21px !important;\n }\n}\n`,"",{version:3,sources:["webpack://./node_modules/select2/select2.css"],names:[],mappings:"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",sourcesContent:["/*\nVersion: @@ver@@ Timestamp: @@timestamp@@\n*/\n.select2-container {\n margin: 0;\n position: relative;\n display: inline-block;\n /* inline-block for ie7 */\n zoom: 1;\n *display: inline;\n vertical-align: middle;\n}\n\n.select2-container,\n.select2-drop,\n.select2-search,\n.select2-search input {\n /*\n Force border-box so that % widths fit the parent\n container without overlap because of margin/padding.\n More Info : http://www.quirksmode.org/css/box.html\n */\n -webkit-box-sizing: border-box; /* webkit */\n -moz-box-sizing: border-box; /* firefox */\n box-sizing: border-box; /* css3 */\n}\n\n.select2-container .select2-choice {\n display: block;\n height: 26px;\n padding: 0 0 0 8px;\n overflow: hidden;\n position: relative;\n\n border: 1px solid #aaa;\n white-space: nowrap;\n line-height: 26px;\n color: #444;\n text-decoration: none;\n\n border-radius: 4px;\n\n background-clip: padding-box;\n\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n\n background-color: #fff;\n background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #eee), color-stop(0.5, #fff));\n background-image: -webkit-linear-gradient(center bottom, #eee 0%, #fff 50%);\n background-image: -moz-linear-gradient(center bottom, #eee 0%, #fff 50%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr = '#ffffff', endColorstr = '#eeeeee', GradientType = 0);\n background-image: linear-gradient(to top, #eee 0%, #fff 50%);\n}\n\nhtml[dir=\"rtl\"] .select2-container .select2-choice {\n padding: 0 8px 0 0;\n}\n\n.select2-container.select2-drop-above .select2-choice {\n border-bottom-color: #aaa;\n\n border-radius: 0 0 4px 4px;\n\n background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #eee), color-stop(0.9, #fff));\n background-image: -webkit-linear-gradient(center bottom, #eee 0%, #fff 90%);\n background-image: -moz-linear-gradient(center bottom, #eee 0%, #fff 90%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#eeeeee', GradientType=0);\n background-image: linear-gradient(to bottom, #eee 0%, #fff 90%);\n}\n\n.select2-container.select2-allowclear .select2-choice .select2-chosen {\n margin-right: 42px;\n}\n\n.select2-container .select2-choice > .select2-chosen {\n margin-right: 26px;\n display: block;\n overflow: hidden;\n\n white-space: nowrap;\n\n text-overflow: ellipsis;\n float: none;\n width: auto;\n}\n\nhtml[dir=\"rtl\"] .select2-container .select2-choice > .select2-chosen {\n margin-left: 26px;\n margin-right: 0;\n}\n\n.select2-container .select2-choice abbr {\n display: none;\n width: 12px;\n height: 12px;\n position: absolute;\n right: 24px;\n top: 8px;\n\n font-size: 1px;\n text-decoration: none;\n\n border: 0;\n background: url('select2.png') right top no-repeat;\n cursor: pointer;\n outline: 0;\n}\n\n.select2-container.select2-allowclear .select2-choice abbr {\n display: inline-block;\n}\n\n.select2-container .select2-choice abbr:hover {\n background-position: right -11px;\n cursor: pointer;\n}\n\n.select2-drop-mask {\n border: 0;\n margin: 0;\n padding: 0;\n position: fixed;\n left: 0;\n top: 0;\n min-height: 100%;\n min-width: 100%;\n height: auto;\n width: auto;\n opacity: 0;\n z-index: 9998;\n /* styles required for IE to work */\n background-color: #fff;\n filter: alpha(opacity=0);\n}\n\n.select2-drop {\n width: 100%;\n margin-top: -1px;\n position: absolute;\n z-index: 9999;\n top: 100%;\n\n background: #fff;\n color: #000;\n border: 1px solid #aaa;\n border-top: 0;\n\n border-radius: 0 0 4px 4px;\n\n -webkit-box-shadow: 0 4px 5px rgba(0, 0, 0, .15);\n box-shadow: 0 4px 5px rgba(0, 0, 0, .15);\n}\n\n.select2-drop.select2-drop-above {\n margin-top: 1px;\n border-top: 1px solid #aaa;\n border-bottom: 0;\n\n border-radius: 4px 4px 0 0;\n\n -webkit-box-shadow: 0 -4px 5px rgba(0, 0, 0, .15);\n box-shadow: 0 -4px 5px rgba(0, 0, 0, .15);\n}\n\n.select2-drop-active {\n border: 1px solid #5897fb;\n border-top: none;\n}\n\n.select2-drop.select2-drop-above.select2-drop-active {\n border-top: 1px solid #5897fb;\n}\n\n.select2-drop-auto-width {\n border-top: 1px solid #aaa;\n width: auto;\n}\n\n.select2-drop-auto-width .select2-search {\n padding-top: 4px;\n}\n\n.select2-container .select2-choice .select2-arrow {\n display: inline-block;\n width: 18px;\n height: 100%;\n position: absolute;\n right: 0;\n top: 0;\n\n border-left: 1px solid #aaa;\n border-radius: 0 4px 4px 0;\n\n background-clip: padding-box;\n\n background: #ccc;\n background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #ccc), color-stop(0.6, #eee));\n background-image: -webkit-linear-gradient(center bottom, #ccc 0%, #eee 60%);\n background-image: -moz-linear-gradient(center bottom, #ccc 0%, #eee 60%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr = '#eeeeee', endColorstr = '#cccccc', GradientType = 0);\n background-image: linear-gradient(to top, #ccc 0%, #eee 60%);\n}\n\nhtml[dir=\"rtl\"] .select2-container .select2-choice .select2-arrow {\n left: 0;\n right: auto;\n\n border-left: none;\n border-right: 1px solid #aaa;\n border-radius: 4px 0 0 4px;\n}\n\n.select2-container .select2-choice .select2-arrow b {\n display: block;\n width: 100%;\n height: 100%;\n background: url('select2.png') no-repeat 0 1px;\n}\n\nhtml[dir=\"rtl\"] .select2-container .select2-choice .select2-arrow b {\n background-position: 2px 1px;\n}\n\n.select2-search {\n display: inline-block;\n width: 100%;\n min-height: 26px;\n margin: 0;\n padding-left: 4px;\n padding-right: 4px;\n\n position: relative;\n z-index: 10000;\n\n white-space: nowrap;\n}\n\n.select2-search input {\n width: 100%;\n height: auto !important;\n min-height: 26px;\n padding: 4px 20px 4px 5px;\n margin: 0;\n\n outline: 0;\n font-family: sans-serif;\n font-size: 1em;\n\n border: 1px solid #aaa;\n border-radius: 0;\n\n -webkit-box-shadow: none;\n box-shadow: none;\n\n background: #fff url('select2.png') no-repeat 100% -22px;\n background: url('select2.png') no-repeat 100% -22px, -webkit-gradient(linear, left bottom, left top, color-stop(0.85, #fff), color-stop(0.99, #eee));\n background: url('select2.png') no-repeat 100% -22px, -webkit-linear-gradient(center bottom, #fff 85%, #eee 99%);\n background: url('select2.png') no-repeat 100% -22px, -moz-linear-gradient(center bottom, #fff 85%, #eee 99%);\n background: url('select2.png') no-repeat 100% -22px, linear-gradient(to bottom, #fff 85%, #eee 99%) 0 0;\n}\n\nhtml[dir=\"rtl\"] .select2-search input {\n padding: 4px 5px 4px 20px;\n\n background: #fff url('select2.png') no-repeat -37px -22px;\n background: url('select2.png') no-repeat -37px -22px, -webkit-gradient(linear, left bottom, left top, color-stop(0.85, #fff), color-stop(0.99, #eee));\n background: url('select2.png') no-repeat -37px -22px, -webkit-linear-gradient(center bottom, #fff 85%, #eee 99%);\n background: url('select2.png') no-repeat -37px -22px, -moz-linear-gradient(center bottom, #fff 85%, #eee 99%);\n background: url('select2.png') no-repeat -37px -22px, linear-gradient(to bottom, #fff 85%, #eee 99%) 0 0;\n}\n\n.select2-drop.select2-drop-above .select2-search input {\n margin-top: 4px;\n}\n\n.select2-search input.select2-active {\n background: #fff url('select2-spinner.gif') no-repeat 100%;\n background: url('select2-spinner.gif') no-repeat 100%, -webkit-gradient(linear, left bottom, left top, color-stop(0.85, #fff), color-stop(0.99, #eee));\n background: url('select2-spinner.gif') no-repeat 100%, -webkit-linear-gradient(center bottom, #fff 85%, #eee 99%);\n background: url('select2-spinner.gif') no-repeat 100%, -moz-linear-gradient(center bottom, #fff 85%, #eee 99%);\n background: url('select2-spinner.gif') no-repeat 100%, linear-gradient(to bottom, #fff 85%, #eee 99%) 0 0;\n}\n\n.select2-container-active .select2-choice,\n.select2-container-active .select2-choices {\n border: 1px solid #5897fb;\n outline: none;\n\n -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, .3);\n box-shadow: 0 0 5px rgba(0, 0, 0, .3);\n}\n\n.select2-dropdown-open .select2-choice {\n border-bottom-color: transparent;\n -webkit-box-shadow: 0 1px 0 #fff inset;\n box-shadow: 0 1px 0 #fff inset;\n\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n\n background-color: #eee;\n background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #fff), color-stop(0.5, #eee));\n background-image: -webkit-linear-gradient(center bottom, #fff 0%, #eee 50%);\n background-image: -moz-linear-gradient(center bottom, #fff 0%, #eee 50%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#ffffff', GradientType=0);\n background-image: linear-gradient(to top, #fff 0%, #eee 50%);\n}\n\n.select2-dropdown-open.select2-drop-above .select2-choice,\n.select2-dropdown-open.select2-drop-above .select2-choices {\n border: 1px solid #5897fb;\n border-top-color: transparent;\n\n background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff), color-stop(0.5, #eee));\n background-image: -webkit-linear-gradient(center top, #fff 0%, #eee 50%);\n background-image: -moz-linear-gradient(center top, #fff 0%, #eee 50%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#ffffff', GradientType=0);\n background-image: linear-gradient(to bottom, #fff 0%, #eee 50%);\n}\n\n.select2-dropdown-open .select2-choice .select2-arrow {\n background: transparent;\n border-left: none;\n filter: none;\n}\nhtml[dir=\"rtl\"] .select2-dropdown-open .select2-choice .select2-arrow {\n border-right: none;\n}\n\n.select2-dropdown-open .select2-choice .select2-arrow b {\n background-position: -18px 1px;\n}\n\nhtml[dir=\"rtl\"] .select2-dropdown-open .select2-choice .select2-arrow b {\n background-position: -16px 1px;\n}\n\n.select2-hidden-accessible {\n border: 0;\n clip: rect(0 0 0 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n width: 1px;\n}\n\n/* results */\n.select2-results {\n max-height: 200px;\n padding: 0 0 0 4px;\n margin: 4px 4px 4px 0;\n position: relative;\n overflow-x: hidden;\n overflow-y: auto;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\nhtml[dir=\"rtl\"] .select2-results {\n padding: 0 4px 0 0;\n margin: 4px 0 4px 4px;\n}\n\n.select2-results ul.select2-result-sub {\n margin: 0;\n padding-left: 0;\n}\n\n.select2-results li {\n list-style: none;\n display: list-item;\n background-image: none;\n}\n\n.select2-results li.select2-result-with-children > .select2-result-label {\n font-weight: bold;\n}\n\n.select2-results .select2-result-label {\n padding: 3px 7px 4px;\n margin: 0;\n cursor: pointer;\n\n min-height: 1em;\n\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n.select2-results-dept-1 .select2-result-label { padding-left: 20px }\n.select2-results-dept-2 .select2-result-label { padding-left: 40px }\n.select2-results-dept-3 .select2-result-label { padding-left: 60px }\n.select2-results-dept-4 .select2-result-label { padding-left: 80px }\n.select2-results-dept-5 .select2-result-label { padding-left: 100px }\n.select2-results-dept-6 .select2-result-label { padding-left: 110px }\n.select2-results-dept-7 .select2-result-label { padding-left: 120px }\n\n.select2-results .select2-highlighted {\n background: #3875d7;\n color: #fff;\n}\n\n.select2-results li em {\n background: #feffde;\n font-style: normal;\n}\n\n.select2-results .select2-highlighted em {\n background: transparent;\n}\n\n.select2-results .select2-highlighted ul {\n background: #fff;\n color: #000;\n}\n\n.select2-results .select2-no-results,\n.select2-results .select2-searching,\n.select2-results .select2-ajax-error,\n.select2-results .select2-selection-limit {\n background: #f4f4f4;\n display: list-item;\n padding-left: 5px;\n}\n\n/*\ndisabled look for disabled choices in the results dropdown\n*/\n.select2-results .select2-disabled.select2-highlighted {\n color: #666;\n background: #f4f4f4;\n display: list-item;\n cursor: default;\n}\n.select2-results .select2-disabled {\n background: #f4f4f4;\n display: list-item;\n cursor: default;\n}\n\n.select2-results .select2-selected {\n display: none;\n}\n\n.select2-more-results.select2-active {\n background: #f4f4f4 url('select2-spinner.gif') no-repeat 100%;\n}\n\n.select2-results .select2-ajax-error {\n background: rgba(255, 50, 50, .2);\n}\n\n.select2-more-results {\n background: #f4f4f4;\n display: list-item;\n}\n\n/* disabled styles */\n\n.select2-container.select2-container-disabled .select2-choice {\n background-color: #f4f4f4;\n background-image: none;\n border: 1px solid #ddd;\n cursor: default;\n}\n\n.select2-container.select2-container-disabled .select2-choice .select2-arrow {\n background-color: #f4f4f4;\n background-image: none;\n border-left: 0;\n}\n\n.select2-container.select2-container-disabled .select2-choice abbr {\n display: none;\n}\n\n\n/* multiselect */\n\n.select2-container-multi .select2-choices {\n height: auto !important;\n height: 1%;\n margin: 0;\n padding: 0 5px 0 0;\n position: relative;\n\n border: 1px solid #aaa;\n cursor: text;\n overflow: hidden;\n\n background-color: #fff;\n background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(1%, #eee), color-stop(15%, #fff));\n background-image: -webkit-linear-gradient(top, #eee 1%, #fff 15%);\n background-image: -moz-linear-gradient(top, #eee 1%, #fff 15%);\n background-image: linear-gradient(to bottom, #eee 1%, #fff 15%);\n}\n\nhtml[dir=\"rtl\"] .select2-container-multi .select2-choices {\n padding: 0 0 0 5px;\n}\n\n.select2-locked {\n padding: 3px 5px 3px 5px !important;\n}\n\n.select2-container-multi .select2-choices {\n min-height: 26px;\n}\n\n.select2-container-multi.select2-container-active .select2-choices {\n border: 1px solid #5897fb;\n outline: none;\n\n -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, .3);\n box-shadow: 0 0 5px rgba(0, 0, 0, .3);\n}\n.select2-container-multi .select2-choices li {\n float: left;\n list-style: none;\n}\nhtml[dir=\"rtl\"] .select2-container-multi .select2-choices li\n{\n float: right;\n}\n.select2-container-multi .select2-choices .select2-search-field {\n margin: 0;\n padding: 0;\n white-space: nowrap;\n}\n\n.select2-container-multi .select2-choices .select2-search-field input {\n padding: 5px;\n margin: 1px 0;\n\n font-family: sans-serif;\n font-size: 100%;\n color: #666;\n outline: 0;\n border: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n background: transparent !important;\n}\n\n.select2-container-multi .select2-choices .select2-search-field input.select2-active {\n background: #fff url('select2-spinner.gif') no-repeat 100% !important;\n}\n\n.select2-default {\n color: #999 !important;\n}\n\n.select2-container-multi .select2-choices .select2-search-choice {\n padding: 3px 5px 3px 18px;\n margin: 3px 0 3px 5px;\n position: relative;\n\n line-height: 13px;\n color: #333;\n cursor: default;\n border: 1px solid #aaaaaa;\n\n border-radius: 3px;\n\n -webkit-box-shadow: 0 0 2px #fff inset, 0 1px 0 rgba(0, 0, 0, 0.05);\n box-shadow: 0 0 2px #fff inset, 0 1px 0 rgba(0, 0, 0, 0.05);\n\n background-clip: padding-box;\n\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n\n background-color: #e4e4e4;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#f4f4f4', GradientType=0);\n background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(20%, #f4f4f4), color-stop(50%, #f0f0f0), color-stop(52%, #e8e8e8), color-stop(100%, #eee));\n background-image: -webkit-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%);\n background-image: -moz-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%);\n background-image: linear-gradient(to bottom, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%);\n}\nhtml[dir=\"rtl\"] .select2-container-multi .select2-choices .select2-search-choice\n{\n margin: 3px 5px 3px 0;\n padding: 3px 18px 3px 5px;\n}\n.select2-container-multi .select2-choices .select2-search-choice .select2-chosen {\n cursor: default;\n}\n.select2-container-multi .select2-choices .select2-search-choice-focus {\n background: #d4d4d4;\n}\n\n.select2-search-choice-close {\n display: block;\n width: 12px;\n height: 13px;\n position: absolute;\n right: 3px;\n top: 4px;\n\n font-size: 1px;\n outline: none;\n background: url('select2.png') right top no-repeat;\n}\nhtml[dir=\"rtl\"] .select2-search-choice-close {\n right: auto;\n left: 3px;\n}\n\n.select2-container-multi .select2-search-choice-close {\n left: 3px;\n}\n\nhtml[dir=\"rtl\"] .select2-container-multi .select2-search-choice-close {\n left: auto;\n right: 2px;\n}\n\n.select2-container-multi .select2-choices .select2-search-choice .select2-search-choice-close:hover {\n background-position: right -11px;\n}\n.select2-container-multi .select2-choices .select2-search-choice-focus .select2-search-choice-close {\n background-position: right -11px;\n}\n\n/* disabled styles */\n.select2-container-multi.select2-container-disabled .select2-choices {\n background-color: #f4f4f4;\n background-image: none;\n border: 1px solid #ddd;\n cursor: default;\n}\n\n.select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice {\n padding: 3px 5px 3px 5px;\n border: 1px solid #ddd;\n background-image: none;\n background-color: #f4f4f4;\n}\n\n.select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice .select2-search-choice-close { display: none;\n background: none;\n}\n/* end multiselect */\n\n\n.select2-result-selectable .select2-match,\n.select2-result-unselectable .select2-match {\n text-decoration: underline;\n}\n\n.select2-offscreen, .select2-offscreen:focus {\n clip: rect(0 0 0 0) !important;\n width: 1px !important;\n height: 1px !important;\n border: 0 !important;\n margin: 0 !important;\n padding: 0 !important;\n overflow: hidden !important;\n position: absolute !important;\n outline: 0 !important;\n left: 0px !important;\n top: 0px !important;\n}\n\n.select2-display-none {\n display: none;\n}\n\n.select2-measure-scrollbar {\n position: absolute;\n top: -10000px;\n left: -10000px;\n width: 100px;\n height: 100px;\n overflow: scroll;\n}\n\n/* Retina-ize icons */\n\n@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-resolution: 2dppx) {\n .select2-search input,\n .select2-search-choice-close,\n .select2-container .select2-choice abbr,\n .select2-container .select2-choice .select2-arrow b {\n background-image: url('select2x2.png') !important;\n background-repeat: no-repeat !important;\n background-size: 60px 40px !important;\n }\n\n .select2-search input {\n background-position: 100% -21px !important;\n }\n}\n"],sourceRoot:""}]);const A=d},86140(t,e,i){"use strict";i.d(e,{A:()=>a});var n=i(71354),r=i.n(n),o=i(76314),s=i.n(o)()(r());s.push([t.id,'/**\n * Strengthify - show the weakness of a password (uses zxcvbn for this)\n * https://github.com/MorrisJobke/strengthify\n * Version: 0.5.9\n * License: The MIT License (MIT)\n * Copyright (c) 2013-2020 Morris Jobke \n */\n\n.strengthify-wrapper {\n position: relative;\n}\n\n.strengthify-wrapper > * {\n\t-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";\n\tfilter: alpha(opacity=0);\n\topacity: 0;\n\t-webkit-transition:all .5s ease-in-out;\n\t-moz-transition:all .5s ease-in-out;\n\ttransition:all .5s ease-in-out;\n}\n\n.strengthify-bg, .strengthify-container, .strengthify-separator {\n\theight: 3px;\n}\n\n.strengthify-bg, .strengthify-container {\n\tdisplay: block;\n\tposition: absolute;\n\twidth: 100%;\n}\n\n.strengthify-bg {\n\tbackground-color: #BBB;\n}\n\n.strengthify-separator {\n\tdisplay: inline-block;\n\tposition: absolute;\n\tbackground-color: #FFF;\n\twidth: 1px;\n\tz-index: 10;\n}\n\n.password-bad {\n\tbackground-color: #C33;\n}\n.password-medium {\n\tbackground-color: #F80;\n}\n.password-good {\n\tbackground-color: #3C3;\n}\n\ndiv[data-strengthifyMessage] {\n padding: 3px 8px;\n}\n\n.strengthify-tiles{\n\tfloat: right;\n}\n',"",{version:3,sources:["webpack://./node_modules/strengthify/strengthify.css"],names:[],mappings:"AAAA;;;;;;EAME;;AAEF;IACI,kBAAkB;AACtB;;AAEA;CACC,+DAA+D;CAC/D,wBAAwB;CACxB,UAAU;CACV,sCAAsC;CACtC,mCAAmC;CACnC,8BAA8B;AAC/B;;AAEA;CACC,WAAW;AACZ;;AAEA;CACC,cAAc;CACd,kBAAkB;CAClB,WAAW;AACZ;;AAEA;CACC,sBAAsB;AACvB;;AAEA;CACC,qBAAqB;CACrB,kBAAkB;CAClB,sBAAsB;CACtB,UAAU;CACV,WAAW;AACZ;;AAEA;CACC,sBAAsB;AACvB;AACA;CACC,sBAAsB;AACvB;AACA;CACC,sBAAsB;AACvB;;AAEA;IACI,gBAAgB;AACpB;;AAEA;CACC,YAAY;AACb",sourcesContent:['/**\n * Strengthify - show the weakness of a password (uses zxcvbn for this)\n * https://github.com/MorrisJobke/strengthify\n * Version: 0.5.9\n * License: The MIT License (MIT)\n * Copyright (c) 2013-2020 Morris Jobke \n */\n\n.strengthify-wrapper {\n position: relative;\n}\n\n.strengthify-wrapper > * {\n\t-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";\n\tfilter: alpha(opacity=0);\n\topacity: 0;\n\t-webkit-transition:all .5s ease-in-out;\n\t-moz-transition:all .5s ease-in-out;\n\ttransition:all .5s ease-in-out;\n}\n\n.strengthify-bg, .strengthify-container, .strengthify-separator {\n\theight: 3px;\n}\n\n.strengthify-bg, .strengthify-container {\n\tdisplay: block;\n\tposition: absolute;\n\twidth: 100%;\n}\n\n.strengthify-bg {\n\tbackground-color: #BBB;\n}\n\n.strengthify-separator {\n\tdisplay: inline-block;\n\tposition: absolute;\n\tbackground-color: #FFF;\n\twidth: 1px;\n\tz-index: 10;\n}\n\n.password-bad {\n\tbackground-color: #C33;\n}\n.password-medium {\n\tbackground-color: #F80;\n}\n.password-good {\n\tbackground-color: #3C3;\n}\n\ndiv[data-strengthifyMessage] {\n padding: 3px 8px;\n}\n\n.strengthify-tiles{\n\tfloat: right;\n}\n'],sourceRoot:""}]);const a=s},51286(t,e,i){"use strict";i.d(e,{A:()=>a});var n=i(71354),r=i.n(n),o=i(76314),s=i.n(o)()(r());s.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 a=s},35644(t,e,i){"use strict";i.d(e,{A:()=>a});var n=i(71354),r=i.n(n),o=i(76314),s=i.n(o)()(r());s.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 a=s},75882(t,e,i){"use strict";i.d(e,{A:()=>a});var n=i(71354),r=i.n(n),o=i(76314),s=i.n(o)()(r());s.push([t.id,".app-menu[data-v-141e7efc]{--app-menu-entry-growth: calc(var(--default-grid-baseline) * 4);display:flex;flex:1 1;width:0}.app-menu__list[data-v-141e7efc]{display:flex;flex-wrap:nowrap;margin-inline:calc(var(--app-menu-entry-growth)/2)}.app-menu__overflow[data-v-141e7efc]{margin-block:auto}.app-menu__overflow[data-v-141e7efc] .button-vue--vue-tertiary{opacity:.7;margin:3px;filter:var(--background-image-invert-if-bright)}.app-menu__overflow[data-v-141e7efc] .button-vue--vue-tertiary:not([aria-expanded=true]){color:var(--color-background-plain-text)}.app-menu__overflow[data-v-141e7efc] .button-vue--vue-tertiary:not([aria-expanded=true]):hover{opacity:1;background-color:rgba(0,0,0,0) !important}.app-menu__overflow[data-v-141e7efc] .button-vue--vue-tertiary:focus-visible{opacity:1;outline:none !important}.app-menu__overflow-entry[data-v-141e7efc] .action-link__icon{filter:var(--background-invert-if-bright) !important}","",{version:3,sources:["webpack://./core/src/components/AppMenu.vue"],names:[],mappings:"AACA,2BAEC,+DAAA,CACA,YAAA,CACA,QAAA,CACA,OAAA,CAEA,iCACC,YAAA,CACA,gBAAA,CACA,kDAAA,CAGD,qCACC,iBAAA,CAGA,+DACC,UAAA,CACA,UAAA,CACA,+CAAA,CAGA,yFACC,wCAAA,CAEA,+FACC,SAAA,CACA,yCAAA,CAIF,6EACC,SAAA,CACA,uBAAA,CAMF,8DAEC,oDAAA",sourcesContent:['\n.app-menu {\n\t// The size the currently focussed entry will grow to show the full name\n\t--app-menu-entry-growth: calc(var(--default-grid-baseline) * 4);\n\tdisplay: flex;\n\tflex: 1 1;\n\twidth: 0;\n\n\t&__list {\n\t\tdisplay: flex;\n\t\tflex-wrap: nowrap;\n\t\tmargin-inline: calc(var(--app-menu-entry-growth) / 2);\n\t}\n\n\t&__overflow {\n\t\tmargin-block: auto;\n\n\t\t// Adjust the overflow NcActions styles as they are directly rendered on the background\n\t\t:deep(.button-vue--vue-tertiary) {\n\t\t\topacity: .7;\n\t\t\tmargin: 3px;\n\t\t\tfilter: var(--background-image-invert-if-bright);\n\n\t\t\t/* Remove all background and align text color if not expanded */\n\t\t\t&:not([aria-expanded="true"]) {\n\t\t\t\tcolor: var(--color-background-plain-text);\n\n\t\t\t\t&:hover {\n\t\t\t\t\topacity: 1;\n\t\t\t\t\tbackground-color: transparent !important;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t&:focus-visible {\n\t\t\t\topacity: 1;\n\t\t\t\toutline: none !important;\n\t\t\t}\n\t\t}\n\t}\n\n\t&__overflow-entry {\n\t\t:deep(.action-link__icon) {\n\t\t\t// Icons are bright so invert them if bright color theme == bright background is used\n\t\t\tfilter: var(--background-invert-if-bright) !important;\n\t\t}\n\t}\n}\n'],sourceRoot:""}]);const a=s},55720(t,e,i){"use strict";i.d(e,{A:()=>a});var n=i(71354),r=i.n(n),o=i(76314),s=i.n(o)()(r());s.push([t.id,'.app-menu-entry[data-v-7faa0c46]{--app-menu-entry-font-size: 12px;width:var(--header-height);height:var(--header-height);position:relative}.app-menu-entry__link[data-v-7faa0c46]{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--color-background-plain-text);width:calc(100% - 4px);height:calc(100% - 4px);margin:2px}.app-menu-entry__label[data-v-7faa0c46]{opacity:0;position:absolute;font-size:var(--app-menu-entry-font-size);color:var(--color-background-plain-text);text-align:center;bottom:0;inset-inline-start:50%;top:50%;display:block;transform:translateX(-50%);max-width:100%;text-overflow:ellipsis;overflow:hidden;letter-spacing:-0.5px}body[dir=rtl] .app-menu-entry__label[data-v-7faa0c46]{transform:translateX(50%) !important}.app-menu-entry__icon[data-v-7faa0c46]{font-size:var(--app-menu-entry-font-size)}.app-menu-entry--active .app-menu-entry__label[data-v-7faa0c46]{font-weight:bolder}.app-menu-entry--active[data-v-7faa0c46]::before{content:" ";position:absolute;pointer-events:none;border-bottom-color:var(--color-main-background);transform:translateX(-50%);width:10px;height:5px;border-radius:3px;background-color:var(--color-background-plain-text);inset-inline-start:50%;bottom:8px;display:block;transition:all var(--animation-quick) ease-in-out;opacity:1}body[dir=rtl] .app-menu-entry--active[data-v-7faa0c46]::before{transform:translateX(50%) !important}.app-menu-entry__icon[data-v-7faa0c46],.app-menu-entry__label[data-v-7faa0c46]{transition:all var(--animation-quick) ease-in-out}.app-menu-entry:hover .app-menu-entry__label[data-v-7faa0c46],.app-menu-entry:focus-within .app-menu-entry__label[data-v-7faa0c46]{font-weight:bold}.app-menu-entry--truncated:hover .app-menu-entry__label[data-v-7faa0c46],.app-menu-entry--truncated:focus-within .app-menu-entry__label[data-v-7faa0c46]{max-width:calc(var(--header-height) + var(--app-menu-entry-growth))}.app-menu-entry--truncated:hover+.app-menu-entry .app-menu-entry__label[data-v-7faa0c46],.app-menu-entry--truncated:focus-within+.app-menu-entry .app-menu-entry__label[data-v-7faa0c46]{font-weight:normal;max-width:calc(var(--header-height) - var(--app-menu-entry-growth))}.app-menu-entry:has(+.app-menu-entry--truncated:hover) .app-menu-entry__label[data-v-7faa0c46],.app-menu-entry:has(+.app-menu-entry--truncated:focus-within) .app-menu-entry__label[data-v-7faa0c46]{font-weight:normal;max-width:calc(var(--header-height) - var(--app-menu-entry-growth))}',"",{version:3,sources:["webpack://./core/src/components/AppMenuEntry.vue"],names:[],mappings:"AACA,iCACC,gCAAA,CACA,0BAAA,CACA,2BAAA,CACA,iBAAA,CAEA,uCACC,iBAAA,CACA,YAAA,CACA,qBAAA,CACA,kBAAA,CACA,sBAAA,CAEA,wCAAA,CAEA,sBAAA,CACA,uBAAA,CACA,UAAA,CAGD,wCACC,SAAA,CACA,iBAAA,CACA,yCAAA,CAEA,wCAAA,CACA,iBAAA,CACA,QAAA,CACA,sBAAA,CACA,OAAA,CACA,aAAA,CACA,0BAAA,CACA,cAAA,CACA,sBAAA,CACA,eAAA,CACA,qBAAA,CAED,sDACC,oCAAA,CAGD,uCACC,yCAAA,CAKA,gEACC,kBAAA,CAID,iDACC,WAAA,CACA,iBAAA,CACA,mBAAA,CACA,gDAAA,CACA,0BAAA,CACA,UAAA,CACA,UAAA,CACA,iBAAA,CACA,mDAAA,CACA,sBAAA,CACA,UAAA,CACA,aAAA,CACA,iDAAA,CACA,SAAA,CAED,+DACC,oCAAA,CAIF,+EAEC,iDAAA,CAID,mIAEC,gBAAA,CAOA,yJACC,mEAAA,CAKA,yLACC,kBAAA,CACA,mEAAA,CAQF,qMACC,kBAAA,CACA,mEAAA",sourcesContent:['\n.app-menu-entry {\n\t--app-menu-entry-font-size: 12px;\n\twidth: var(--header-height);\n\theight: var(--header-height);\n\tposition: relative;\n\n\t&__link {\n\t\tposition: relative;\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\t// Set color as this is shown directly on the background\n\t\tcolor: var(--color-background-plain-text);\n\t\t// Make space for focus-visible outline\n\t\twidth: calc(100% - 4px);\n\t\theight: calc(100% - 4px);\n\t\tmargin: 2px;\n\t}\n\n\t&__label {\n\t\topacity: 0;\n\t\tposition: absolute;\n\t\tfont-size: var(--app-menu-entry-font-size);\n\t\t// this is shown directly on the background\n\t\tcolor: var(--color-background-plain-text);\n\t\ttext-align: center;\n\t\tbottom: 0;\n\t\tinset-inline-start: 50%;\n\t\ttop: 50%;\n\t\tdisplay: block;\n\t\ttransform: translateX(-50%);\n\t\tmax-width: 100%;\n\t\ttext-overflow: ellipsis;\n\t\toverflow: hidden;\n\t\tletter-spacing: -0.5px;\n\t}\n\tbody[dir=rtl] &__label {\n\t\ttransform: translateX(50%) !important;\n\t}\n\n\t&__icon {\n\t\tfont-size: var(--app-menu-entry-font-size);\n\t}\n\n\t&--active {\n\t\t// When hover or focus, show the label and make it bolder than the other entries\n\t\t.app-menu-entry__label {\n\t\t\tfont-weight: bolder;\n\t\t}\n\n\t\t// When active show a line below the entry as an "active" indicator\n\t\t&::before {\n\t\t\tcontent: " ";\n\t\t\tposition: absolute;\n\t\t\tpointer-events: none;\n\t\t\tborder-bottom-color: var(--color-main-background);\n\t\t\ttransform: translateX(-50%);\n\t\t\twidth: 10px;\n\t\t\theight: 5px;\n\t\t\tborder-radius: 3px;\n\t\t\tbackground-color: var(--color-background-plain-text);\n\t\t\tinset-inline-start: 50%;\n\t\t\tbottom: 8px;\n\t\t\tdisplay: block;\n\t\t\ttransition: all var(--animation-quick) ease-in-out;\n\t\t\topacity: 1;\n\t\t}\n\t\tbody[dir=rtl] &::before {\n\t\t\ttransform: translateX(50%) !important;\n\t\t}\n\t}\n\n\t&__icon,\n\t&__label {\n\t\ttransition: all var(--animation-quick) ease-in-out;\n\t}\n\n\t// Make the hovered entry bold to see that it is hovered\n\t&:hover .app-menu-entry__label,\n\t&:focus-within .app-menu-entry__label {\n\t\tfont-weight: bold;\n\t}\n\n\t// Adjust the width when an entry is focussed\n\t// The focussed / hovered entry should grow, while both neighbors need to shrink\n\t&--truncated:hover,\n\t&--truncated:focus-within {\n\t\t.app-menu-entry__label {\n\t\t\tmax-width: calc(var(--header-height) + var(--app-menu-entry-growth));\n\t\t}\n\n\t\t// The next entry needs to shrink half the growth\n\t\t+ .app-menu-entry {\n\t\t\t.app-menu-entry__label {\n\t\t\t\tfont-weight: normal;\n\t\t\t\tmax-width: calc(var(--header-height) - var(--app-menu-entry-growth));\n\t\t\t}\n\t\t}\n\t}\n\n\t// The previous entry needs to shrink half the growth\n\t&:has(+ .app-menu-entry--truncated:hover),\n\t&:has(+ .app-menu-entry--truncated:focus-within) {\n\t\t.app-menu-entry__label {\n\t\t\tfont-weight: normal;\n\t\t\tmax-width: calc(var(--header-height) - var(--app-menu-entry-growth));\n\t\t}\n\t}\n}\n'],sourceRoot:""}]);const a=s},80960(t,e,i){"use strict";i.d(e,{A:()=>a});var n=i(71354),r=i.n(n),o=i(76314),s=i.n(o)()(r());s.push([t.id,".app-menu-entry:hover .app-menu-entry__icon,.app-menu-entry:focus-within .app-menu-entry__icon,.app-menu__list:hover .app-menu-entry__icon,.app-menu__list:focus-within .app-menu-entry__icon{margin-block-end:1lh}.app-menu-entry:hover .app-menu-entry__label,.app-menu-entry:focus-within .app-menu-entry__label,.app-menu__list:hover .app-menu-entry__label,.app-menu__list:focus-within .app-menu-entry__label{opacity:1}.app-menu-entry:hover .app-menu-entry--active::before,.app-menu-entry:focus-within .app-menu-entry--active::before,.app-menu__list:hover .app-menu-entry--active::before,.app-menu__list:focus-within .app-menu-entry--active::before{opacity:0}.app-menu-entry:hover .app-menu-icon__unread,.app-menu-entry:focus-within .app-menu-icon__unread,.app-menu__list:hover .app-menu-icon__unread,.app-menu__list:focus-within .app-menu-icon__unread{opacity:0}","",{version:3,sources:["webpack://./core/src/components/AppMenuEntry.vue"],names:[],mappings:"AAOC,8LACC,oBAAA,CAID,kMACC,SAAA,CAID,sOACC,SAAA,CAGD,kMACC,SAAA",sourcesContent:["\n// Showing the label\n.app-menu-entry:hover,\n.app-menu-entry:focus-within,\n.app-menu__list:hover,\n.app-menu__list:focus-within {\n\t// Move icon up so that the name does not overflow the icon\n\t.app-menu-entry__icon {\n\t\tmargin-block-end: 1lh;\n\t}\n\n\t// Make the label visible\n\t.app-menu-entry__label {\n\t\topacity: 1;\n\t}\n\n\t// Hide indicator when the text is shown\n\t.app-menu-entry--active::before {\n\t\topacity: 0;\n\t}\n\n\t.app-menu-icon__unread {\n\t\topacity: 0;\n\t}\n}\n"],sourceRoot:""}]);const a=s},65151(t,e,i){"use strict";i.d(e,{A:()=>a});var n=i(71354),r=i.n(n),o=i(76314),s=i.n(o)()(r());s.push([t.id,".app-menu-icon[data-v-81f2fa84]{box-sizing:border-box;position:relative;height:20px;width:20px}.app-menu-icon__icon[data-v-81f2fa84]{transition:margin .1s ease-in-out;height:20px;width:20px;filter:var(--background-image-invert-if-bright);mask:var(--header-menu-icon-mask)}.app-menu-icon__unread[data-v-81f2fa84]{color:var(--color-text-error);position:absolute;inset-block-end:15px;inset-inline-end:-5px;transition:all .1s ease-in-out}","",{version:3,sources:["webpack://./core/src/components/AppMenuIcon.vue"],names:[],mappings:"AAIA,gCACC,qBAAA,CACA,iBAAA,CAEA,WAPW,CAQX,UARW,CAUX,sCACC,iCAAA,CACA,WAZU,CAaV,UAbU,CAcV,+CAAA,CACA,iCAAA,CAGD,wCACC,6BAAA,CACA,iBAAA,CAEA,oBAAA,CACA,qBAAA,CACA,8BAAA",sourcesContent:["\n$icon-size: 20px;\n$unread-indicator-size: 10px;\n\n.app-menu-icon {\n\tbox-sizing: border-box;\n\tposition: relative;\n\n\theight: $icon-size;\n\twidth: $icon-size;\n\n\t&__icon {\n\t\ttransition: margin 0.1s ease-in-out;\n\t\theight: $icon-size;\n\t\twidth: $icon-size;\n\t\tfilter: var(--background-image-invert-if-bright);\n\t\tmask: var(--header-menu-icon-mask);\n\t}\n\n\t&__unread {\n\t\tcolor: var(--color-text-error);\n\t\tposition: absolute;\n\t\t// Align the dot to the top right corner of the icon\n\t\tinset-block-end: calc($icon-size + ($unread-indicator-size / -2));\n\t\tinset-inline-end: calc($unread-indicator-size / -2);\n\t\ttransition: all 0.1s ease-in-out;\n\t}\n}\n"],sourceRoot:""}]);const a=s},89004(t,e,i){"use strict";i.d(e,{A:()=>a});var n=i(71354),r=i.n(n),o=i(76314),s=i.n(o)()(r());s.push([t.id,".contact[data-v-56b7b257]{display:flex;position:relative;align-items:center;padding:3px;padding-inline-start:10px}.contact__action__icon[data-v-56b7b257]{width:20px;height:20px;padding:calc((var(--default-clickable-area) - 20px)/2);filter:var(--background-invert-if-dark)}.contact__avatar[data-v-56b7b257]{display:inherit}.contact__body[data-v-56b7b257]{flex-grow:1;padding-inline-start:10px;margin-inline-start:10px;min-width:0}.contact__body div[data-v-56b7b257]{position:relative;width:100%;overflow-x:hidden;text-overflow:ellipsis;margin:-1px 0}.contact__body div[data-v-56b7b257]:first-of-type{margin-top:0}.contact__body div[data-v-56b7b257]:last-of-type{margin-bottom:0}.contact__body__last-message[data-v-56b7b257],.contact__body__status-message[data-v-56b7b257],.contact__body__email-address[data-v-56b7b257]{color:var(--color-text-maxcontrast)}.contact__body[data-v-56b7b257]:focus-visible{box-shadow:0 0 0 4px var(--color-main-background) !important;outline:2px solid var(--color-main-text) !important}.contact .other-actions[data-v-56b7b257]{width:16px;height:16px;cursor:pointer}.contact .other-actions img[data-v-56b7b257]{filter:var(--background-invert-if-dark)}.contact button.other-actions[data-v-56b7b257]{width:44px}.contact button.other-actions[data-v-56b7b257]:focus{border-color:rgba(0,0,0,0);box-shadow:0 0 0 2px var(--color-main-text)}.contact button.other-actions[data-v-56b7b257]:focus-visible{border-radius:var(--border-radius-pill)}.contact .menu[data-v-56b7b257]{top:47px;margin-inline-end:13px}.contact .popovermenu[data-v-56b7b257]::after{inset-inline-end:2px}","",{version:3,sources:["webpack://./core/src/components/ContactsMenu/ContactMenuEntry.vue"],names:[],mappings:"AACA,0BACC,YAAA,CACA,iBAAA,CACA,kBAAA,CACA,WAAA,CACA,yBAAA,CAGC,wCACC,UAAA,CACA,WAAA,CACA,sDAAA,CACA,uCAAA,CAIF,kCACC,eAAA,CAGD,gCACC,WAAA,CACA,yBAAA,CACA,wBAAA,CACA,WAAA,CAEA,oCACC,iBAAA,CACA,UAAA,CACA,iBAAA,CACA,sBAAA,CACA,aAAA,CAED,kDACC,YAAA,CAED,iDACC,eAAA,CAGD,6IACC,mCAAA,CAGD,8CACC,4DAAA,CACA,mDAAA,CAIF,yCACC,UAAA,CACA,WAAA,CACA,cAAA,CAEA,6CACC,uCAAA,CAIF,+CACC,UAAA,CAEA,qDACC,0BAAA,CACA,2CAAA,CAGD,6DACC,uCAAA,CAKF,gCACC,QAAA,CACA,sBAAA,CAGD,8CACC,oBAAA",sourcesContent:["\n.contact {\n\tdisplay: flex;\n\tposition: relative;\n\talign-items: center;\n\tpadding: 3px;\n\tpadding-inline-start: 10px;\n\n\t&__action {\n\t\t&__icon {\n\t\t\twidth: 20px;\n\t\t\theight: 20px;\n\t\t\tpadding: calc((var(--default-clickable-area) - 20px) / 2);\n\t\t\tfilter: var(--background-invert-if-dark);\n\t\t}\n\t}\n\n\t&__avatar {\n\t\tdisplay: inherit;\n\t}\n\n\t&__body {\n\t\tflex-grow: 1;\n\t\tpadding-inline-start: 10px;\n\t\tmargin-inline-start: 10px;\n\t\tmin-width: 0;\n\n\t\tdiv {\n\t\t\tposition: relative;\n\t\t\twidth: 100%;\n\t\t\toverflow-x: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t\tmargin: -1px 0;\n\t\t}\n\t\tdiv:first-of-type {\n\t\t\tmargin-top: 0;\n\t\t}\n\t\tdiv:last-of-type {\n\t\t\tmargin-bottom: 0;\n\t\t}\n\n\t\t&__last-message, &__status-message, &__email-address {\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t}\n\n\t\t&:focus-visible {\n\t\t\tbox-shadow: 0 0 0 4px var(--color-main-background) !important;\n\t\t\toutline: 2px solid var(--color-main-text) !important;\n\t\t}\n\t}\n\n\t.other-actions {\n\t\twidth: 16px;\n\t\theight: 16px;\n\t\tcursor: pointer;\n\n\t\timg {\n\t\t\tfilter: var(--background-invert-if-dark);\n\t\t}\n\t}\n\n\tbutton.other-actions {\n\t\twidth: 44px;\n\n\t\t&:focus {\n\t\t\tborder-color: transparent;\n\t\t\tbox-shadow: 0 0 0 2px var(--color-main-text);\n\t\t}\n\n\t\t&:focus-visible {\n\t\t\tborder-radius: var(--border-radius-pill);\n\t\t}\n\t}\n\n\t/* actions menu */\n\t.menu {\n\t\ttop: 47px;\n\t\tmargin-inline-end: 13px;\n\t}\n\n\t.popovermenu::after {\n\t\tinset-inline-end: 2px;\n\t}\n}\n"],sourceRoot:""}]);const a=s},33096(t,e,i){"use strict";i.d(e,{A:()=>a});var n=i(71354),r=i.n(n),o=i(76314),s=i.n(o)()(r());s.push([t.id,"[data-v-6c007912] #header-menu-user-menu{padding:0 !important}.account-menu[data-v-6c007912] *{mask:none !important}.account-menu__avatar[data-v-6c007912]{--account-menu-outline: var(--border-width-input) solid color-mix(in srgb, var(--color-background-plain-text), transparent 75%);outline:var(--account-menu-outline);position:fixed}.account-menu__avatar[data-v-6c007912]:hover{--account-menu-outline: none;border:var(--border-width-input-focused) solid var(--color-background-plain-text)}.account-menu__list[data-v-6c007912]{display:inline-flex;flex-direction:column;padding-block:var(--default-grid-baseline) 0;padding-inline:0 var(--default-grid-baseline)}.account-menu__list[data-v-6c007912]> li{box-sizing:border-box;flex:0 1}.account-menu[data-v-6c007912] .header-menu__content{width:fit-content !important}.account-menu[data-v-6c007912] button{opacity:1 !important}.account-menu[data-v-6c007912] button:focus-visible .account-menu__avatar{--account-menu-outline: none;border:var(--border-width-input-focused) solid var(--color-background-plain-text)}","",{version:3,sources:["webpack://./core/src/views/AccountMenu.vue"],names:[],mappings:"AACA,yCACC,oBAAA,CAIA,iCAEC,oBAAA,CAGD,uCACC,+HAAA,CACA,mCAAA,CACA,cAAA,CAEA,6CACC,4BAAA,CAEA,iFAAA,CAIF,qCACC,mBAAA,CACA,qBAAA,CACA,4CAAA,CACA,6CAAA,CAEA,yCACC,qBAAA,CAEA,QAAA,CAKF,qDACC,4BAAA,CAGD,sCAGC,oBAAA,CAKC,0EACC,4BAAA,CACA,iFAAA",sourcesContent:['\n:deep(#header-menu-user-menu) {\n\tpadding: 0 !important;\n}\n\n.account-menu {\n\t:deep(*) {\n\t\t// do not apply the alpha mask on the avatar div\n\t\tmask: none !important;\n\t}\n\n\t&__avatar {\n\t\t--account-menu-outline: var(--border-width-input) solid color-mix(in srgb, var(--color-background-plain-text), transparent 75%);\n\t\toutline: var(--account-menu-outline);\n\t\tposition: fixed;\n\n\t\t&:hover {\n\t\t\t--account-menu-outline: none;\n\t\t\t// Add hover styles similar to the focus-visible style\n\t\t\tborder: var(--border-width-input-focused) solid var(--color-background-plain-text);\n\t\t}\n\t}\n\n\t&__list {\n\t\tdisplay: inline-flex;\n\t\tflex-direction: column;\n\t\tpadding-block: var(--default-grid-baseline) 0;\n\t\tpadding-inline: 0 var(--default-grid-baseline);\n\n\t\t> :deep(li) {\n\t\t\tbox-sizing: border-box;\n\t\t\t// basically "fit-content"\n\t\t\tflex: 0 1;\n\t\t}\n\t}\n\n\t// Ensure we do not waste space, as the header menu sets a default width of 350px\n\t:deep(.header-menu__content) {\n\t\twidth: fit-content !important;\n\t}\n\n\t:deep(button) {\n\t\t// Normally header menus are slightly translucent when not active\n\t\t// this is generally ok but for the avatar this is weird so fix the opacity\n\t\topacity: 1 !important;\n\n\t\t// The avatar is just the "icon" of the button\n\t\t// So we add the focus-visible manually\n\t\t&:focus-visible {\n\t\t\t.account-menu__avatar {\n\t\t\t\t--account-menu-outline: none;\n\t\t\t\tborder: var(--border-width-input-focused) solid var(--color-background-plain-text);\n\t\t\t}\n\t\t}\n\t}\n}\n'],sourceRoot:""}]);const a=s},32351(t,e,i){"use strict";i.d(e,{A:()=>a});var n=i(71354),r=i.n(n),o=i(76314),s=i.n(o)()(r());s.push([t.id,".contactsmenu[data-v-253ecd69]{overflow-y:hidden}.contactsmenu__trigger-icon[data-v-253ecd69]{color:var(--color-background-plain-text) !important}.contactsmenu__menu[data-v-253ecd69]{display:flex;flex-direction:column;overflow:hidden;height:328px;max-height:inherit}.contactsmenu__menu__search-container[data-v-253ecd69]{padding:10px;display:flex;flex:row nowrap;column-gap:10px}.contactsmenu__menu__input-wrapper[data-v-253ecd69]{z-index:2;top:0;flex-grow:1;display:flex;gap:var(--default-grid-baseline)}.contactsmenu__menu__search[data-v-253ecd69]{width:100%;height:34px;margin-top:0 !important}.contactsmenu__menu__content[data-v-253ecd69]{overflow-y:auto;margin-top:10px;flex:1 1 auto}.contactsmenu__menu__content__footer[data-v-253ecd69]{display:flex;flex-direction:column;align-items:center}.contactsmenu__menu a[data-v-253ecd69]:focus-visible{box-shadow:inset 0 0 0 2px var(--color-main-text) !important}.contactsmenu[data-v-253ecd69] .empty-content{margin:0 !important}","",{version:3,sources:["webpack://./core/src/views/ContactsMenu.vue"],names:[],mappings:"AACA,+BACC,iBAAA,CAEA,6CACC,mDAAA,CAGD,qCACC,YAAA,CACA,qBAAA,CACA,eAAA,CACA,YAAA,CACA,kBAAA,CAEA,uDACC,YAAA,CACA,YAAA,CACA,eAAA,CACA,eAAA,CAGD,oDACC,SAAA,CACA,KAAA,CACA,WAAA,CACA,YAAA,CACA,gCAAA,CAGD,6CACC,UAAA,CACA,WAAA,CACA,uBAAA,CAGD,8CACC,eAAA,CACA,eAAA,CACA,aAAA,CAEA,sDACC,YAAA,CACA,qBAAA,CACA,kBAAA,CAKD,qDACC,4DAAA,CAKH,8CACC,mBAAA",sourcesContent:["\n.contactsmenu {\n\toverflow-y: hidden;\n\n\t&__trigger-icon {\n\t\tcolor: var(--color-background-plain-text) !important;\n\t}\n\n\t&__menu {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\toverflow: hidden;\n\t\theight: calc(50px * 6 + 2px + 26px);\n\t\tmax-height: inherit;\n\n\t\t&__search-container {\n\t\t\tpadding: 10px;\n\t\t\tdisplay: flex;\n\t\t\tflex: row nowrap;\n\t\t\tcolumn-gap: 10px;\n\t\t}\n\n\t\t&__input-wrapper {\n\t\t\tz-index: 2;\n\t\t\ttop: 0;\n\t\t\tflex-grow: 1;\n\t\t\tdisplay: flex;\n\t\t\tgap: var(--default-grid-baseline);\n\t\t}\n\n\t\t&__search {\n\t\t\twidth: 100%;\n\t\t\theight: 34px;\n\t\t\tmargin-top: 0!important;\n\t\t}\n\n\t\t&__content {\n\t\t\toverflow-y: auto;\n\t\t\tmargin-top: 10px;\n\t\t\tflex: 1 1 auto;\n\n\t\t\t&__footer {\n\t\t\t\tdisplay: flex;\n\t\t\t\tflex-direction: column;\n\t\t\t\talign-items: center;\n\t\t\t}\n\t\t}\n\n\t\ta {\n\t\t\t&:focus-visible {\n\t\t\t\tbox-shadow: inset 0 0 0 2px var(--color-main-text) !important; // override rule in core/css/headers.scss #header a:focus-visible\n\t\t\t}\n\t\t}\n\t}\n\n\t:deep(.empty-content) {\n\t\tmargin: 0 !important;\n\t}\n}\n"],sourceRoot:""}]);const a=s},29560(t,e,i){"use strict";e.utils=i(87626),e.Cipher=i(82808),e.DES=i(82211),e.CBC=i(3389),e.EDE=i(65279)},3389(t,e,i){"use strict";var n=i(43349),r=i(56698),o={};function s(t){n.equal(t.length,8,"Invalid IV length"),this.iv=new Array(8);for(var e=0;e0;n--)e+=this._buffer(t,e),i+=this._flushBuffer(r,i);return e+=this._buffer(t,e),r},r.prototype.final=function(t){var e,i;return t&&(e=this.update(t)),i="encrypt"===this.type?this._finalEncrypt():this._finalDecrypt(),e?e.concat(i):i},r.prototype._pad=function(t,e){if(0===e)return!1;for(;e>>1];i=o.r28shl(i,a),r=o.r28shl(r,a),o.pc2(i,r,t.keys,s)}},u.prototype._update=function(t,e,i,n){var r=this._desState,s=o.readUInt32BE(t,e),a=o.readUInt32BE(t,e+4);o.ip(s,a,r.tmp,0),s=r.tmp[0],a=r.tmp[1],"encrypt"===this.type?this._encrypt(r,s,a,r.tmp,0):this._decrypt(r,s,a,r.tmp,0),s=r.tmp[0],a=r.tmp[1],o.writeUInt32BE(i,s,n),o.writeUInt32BE(i,a,n+4)},u.prototype._pad=function(t,e){if(!1===this.padding)return!1;for(var i=t.length-e,n=e;n>>0,s=d}o.rip(a,s,n,r)},u.prototype._decrypt=function(t,e,i,n,r){for(var s=i,a=e,u=t.keys.length-2;u>=0;u-=2){var c=t.keys[u],h=t.keys[u+1];o.expand(s,t.tmp,0),c^=t.tmp[0],h^=t.tmp[1];var l=o.substitute(c,h),d=s;s=(a^o.permute(l))>>>0,a=d}o.rip(s,a,n,r)}},65279(t,e,i){"use strict";var n=i(43349),r=i(56698),o=i(82808),s=i(82211);function a(t,e){n.equal(e.length,24,"Invalid key length");var i=e.slice(0,8),r=e.slice(8,16),o=e.slice(16,24);this.ciphers="encrypt"===t?[s.create({type:"encrypt",key:i}),s.create({type:"decrypt",key:r}),s.create({type:"encrypt",key:o})]:[s.create({type:"decrypt",key:o}),s.create({type:"encrypt",key:r}),s.create({type:"decrypt",key:i})]}function u(t){o.call(this,t);var e=new a(this.type,this.options.key);this._edeState=e}r(u,o),t.exports=u,u.create=function(t){return new u(t)},u.prototype._update=function(t,e,i,n){var r=this._edeState;r.ciphers[0]._update(t,e,i,n),r.ciphers[1]._update(i,n,i,n),r.ciphers[2]._update(i,n,i,n)},u.prototype._pad=s.prototype._pad,u.prototype._unpad=s.prototype._unpad},87626(t,e){"use strict";e.readUInt32BE=function(t,e){return(t[0+e]<<24|t[1+e]<<16|t[2+e]<<8|t[3+e])>>>0},e.writeUInt32BE=function(t,e,i){t[0+i]=e>>>24,t[1+i]=e>>>16&255,t[2+i]=e>>>8&255,t[3+i]=255&e},e.ip=function(t,e,i,n){for(var r=0,o=0,s=6;s>=0;s-=2){for(var a=0;a<=24;a+=8)r<<=1,r|=e>>>a+s&1;for(a=0;a<=24;a+=8)r<<=1,r|=t>>>a+s&1}for(s=6;s>=0;s-=2){for(a=1;a<=25;a+=8)o<<=1,o|=e>>>a+s&1;for(a=1;a<=25;a+=8)o<<=1,o|=t>>>a+s&1}i[n+0]=r>>>0,i[n+1]=o>>>0},e.rip=function(t,e,i,n){for(var r=0,o=0,s=0;s<4;s++)for(var a=24;a>=0;a-=8)r<<=1,r|=e>>>a+s&1,r<<=1,r|=t>>>a+s&1;for(s=4;s<8;s++)for(a=24;a>=0;a-=8)o<<=1,o|=e>>>a+s&1,o<<=1,o|=t>>>a+s&1;i[n+0]=r>>>0,i[n+1]=o>>>0},e.pc1=function(t,e,i,n){for(var r=0,o=0,s=7;s>=5;s--){for(var a=0;a<=24;a+=8)r<<=1,r|=e>>a+s&1;for(a=0;a<=24;a+=8)r<<=1,r|=t>>a+s&1}for(a=0;a<=24;a+=8)r<<=1,r|=e>>a+s&1;for(s=1;s<=3;s++){for(a=0;a<=24;a+=8)o<<=1,o|=e>>a+s&1;for(a=0;a<=24;a+=8)o<<=1,o|=t>>a+s&1}for(a=0;a<=24;a+=8)o<<=1,o|=t>>a+s&1;i[n+0]=r>>>0,i[n+1]=o>>>0},e.r28shl=function(t,e){return t<>>28-e};var i=[14,11,17,4,27,23,25,0,13,22,7,18,5,9,16,24,2,20,12,21,1,8,15,26,15,4,25,19,9,1,26,16,5,11,23,8,12,7,17,0,22,3,10,14,6,20,27,24];e.pc2=function(t,e,n,r){for(var o=0,s=0,a=i.length>>>1,u=0;u>>i[u]&1;for(u=a;u>>i[u]&1;n[r+0]=o>>>0,n[r+1]=s>>>0},e.expand=function(t,e,i){var n=0,r=0;n=(1&t)<<5|t>>>27;for(var o=23;o>=15;o-=4)n<<=6,n|=t>>>o&63;for(o=11;o>=3;o-=4)r|=t>>>o&63,r<<=6;r|=(31&t)<<1|t>>>31,e[i+0]=n>>>0,e[i+1]=r>>>0};var n=[14,0,4,15,13,7,1,4,2,14,15,2,11,13,8,1,3,10,10,6,6,12,12,11,5,9,9,5,0,3,7,8,4,15,1,12,14,8,8,2,13,4,6,9,2,1,11,7,15,5,12,11,9,3,7,14,3,10,10,0,5,6,0,13,15,3,1,13,8,4,14,7,6,15,11,2,3,8,4,14,9,12,7,0,2,1,13,10,12,6,0,9,5,11,10,5,0,13,14,8,7,10,11,1,10,3,4,15,13,4,1,2,5,11,8,6,12,7,6,12,9,0,3,5,2,14,15,9,10,13,0,7,9,0,14,9,6,3,3,4,15,6,5,10,1,2,13,8,12,5,7,14,11,12,4,11,2,15,8,1,13,1,6,10,4,13,9,0,8,6,15,9,3,8,0,7,11,4,1,15,2,14,12,3,5,11,10,5,14,2,7,12,7,13,13,8,14,11,3,5,0,6,6,15,9,0,10,3,1,4,2,7,8,2,5,12,11,1,12,10,4,14,15,9,10,3,6,15,9,0,0,6,12,10,11,1,7,13,13,8,15,9,1,4,3,5,14,11,5,12,2,7,8,2,4,14,2,14,12,11,4,2,1,12,7,4,10,7,11,13,6,1,8,5,5,0,3,15,15,10,13,3,0,9,14,8,9,6,4,11,2,8,1,12,11,7,10,1,13,14,7,2,8,13,15,6,9,15,12,0,5,9,6,10,3,4,0,5,14,3,12,10,1,15,10,4,15,2,9,7,2,12,6,9,8,5,0,6,13,1,3,13,4,14,14,0,7,11,5,3,11,8,9,4,14,3,15,2,5,12,2,9,8,5,12,15,3,10,7,11,0,14,4,1,10,7,1,6,13,0,11,8,6,13,4,13,11,0,2,11,14,7,15,4,0,9,8,1,13,10,3,14,12,3,9,5,7,12,5,2,10,15,6,8,1,6,1,6,4,11,11,13,13,8,12,1,3,4,7,10,14,7,10,9,15,5,6,0,8,15,0,14,5,2,9,3,2,12,13,1,2,15,8,13,4,8,6,10,15,3,11,7,1,4,10,12,9,5,3,6,14,11,5,0,0,14,12,9,7,2,7,2,11,1,4,14,1,7,9,4,12,10,14,8,2,13,0,15,6,12,10,9,13,0,15,3,3,5,5,6,8,11];e.substitute=function(t,e){for(var i=0,r=0;r<4;r++)i<<=4,i|=n[64*r+(t>>>18-6*r&63)];for(r=0;r<4;r++)i<<=4,i|=n[256+64*r+(e>>>18-6*r&63)];return i>>>0};var r=[16,25,12,11,3,20,4,15,31,17,9,6,27,14,1,22,30,24,8,18,0,5,29,23,13,19,2,26,10,21,28,7];e.permute=function(t){for(var e=0,i=0;i>>r[i]&1;return e>>>0},e.padSplit=function(t,e,i){for(var n=t.toString(2);n.lengtht;)i.ishrn(1);if(i.isEven()&&i.iadd(a),i.testn(1)||i.iadd(u),e.cmp(u)){if(!e.cmp(c))for(;i.mod(h).cmp(l);)i.iadd(f)}else for(;i.mod(o).cmp(d);)i.iadd(f);if(A(p=i.shrn(1))&&A(i)&&m(p)&&m(i)&&s.test(p)&&s.test(i))return i}}},66473(t,e,i){!function(t,e){"use strict";function n(t,e){if(!t)throw new Error(e||"Assertion failed")}function r(t,e){t.super_=e;var i=function(){};i.prototype=e.prototype,t.prototype=new i,t.prototype.constructor=t}function o(t,e,i){if(o.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(i=e,e=10),this._init(t||0,e||10,i||"be"))}var s;"object"==typeof t?t.exports=o:e.BN=o,o.BN=o,o.wordSize=26;try{s="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:i(66089).Buffer}catch(t){}function a(t,e){var i=t.charCodeAt(e);return i>=65&&i<=70?i-55:i>=97&&i<=102?i-87:i-48&15}function u(t,e,i){var n=a(t,i);return i-1>=e&&(n|=a(t,i-1)<<4),n}function c(t,e,i,n){for(var r=0,o=Math.min(t.length,i),s=e;s=49?a-49+10:a>=17?a-17+10:a}return r}o.isBN=function(t){return t instanceof o||null!==t&&"object"==typeof t&&t.constructor.wordSize===o.wordSize&&Array.isArray(t.words)},o.max=function(t,e){return t.cmp(e)>0?t:e},o.min=function(t,e){return t.cmp(e)<0?t:e},o.prototype._init=function(t,e,i){if("number"==typeof t)return this._initNumber(t,e,i);if("object"==typeof t)return this._initArray(t,e,i);"hex"===e&&(e=16),n(e===(0|e)&&e>=2&&e<=36);var r=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(r++,this.negative=1),r=0;r-=3)s=t[r]|t[r-1]<<8|t[r-2]<<16,this.words[o]|=s<>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);else if("le"===i)for(r=0,o=0;r>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);return this.strip()},o.prototype._parseHex=function(t,e,i){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var n=0;n=e;n-=2)r=u(t,e,n)<=18?(o-=18,s+=1,this.words[s]|=r>>>26):o+=8;else for(n=(t.length-e)%2==0?e+1:e;n=18?(o-=18,s+=1,this.words[s]|=r>>>26):o+=8;this.strip()},o.prototype._parseBase=function(t,e,i){this.words=[0],this.length=1;for(var n=0,r=1;r<=67108863;r*=e)n++;n--,r=r/e|0;for(var o=t.length-i,s=o%n,a=Math.min(o,o-s)+i,u=0,h=i;h1&&0===this.words[this.length-1];)this.length--;return this._normSign()},o.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},o.prototype.inspect=function(){return(this.red?""};var h=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],l=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],d=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function f(t,e,i){i.negative=e.negative^t.negative;var n=t.length+e.length|0;i.length=n,n=n-1|0;var r=0|t.words[0],o=0|e.words[0],s=r*o,a=67108863&s,u=s/67108864|0;i.words[0]=a;for(var c=1;c>>26,l=67108863&u,d=Math.min(c,e.length-1),f=Math.max(0,c-t.length+1);f<=d;f++){var p=c-f|0;h+=(s=(r=0|t.words[p])*(o=0|e.words[f])+l)/67108864|0,l=67108863&s}i.words[c]=0|l,u=0|h}return 0!==u?i.words[c]=0|u:i.length--,i.strip()}o.prototype.toString=function(t,e){var i;if(e=0|e||1,16===(t=t||10)||"hex"===t){i="";for(var r=0,o=0,s=0;s>>24-r&16777215,(r+=2)>=26&&(r-=26,s--),i=0!==o||s!==this.length-1?h[6-u.length]+u+i:u+i}for(0!==o&&(i=o.toString(16)+i);i.length%e!==0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}if(t===(0|t)&&t>=2&&t<=36){var c=l[t],f=d[t];i="";var p=this.clone();for(p.negative=0;!p.isZero();){var g=p.modn(f).toString(t);i=(p=p.idivn(f)).isZero()?g+i:h[c-g.length]+g+i}for(this.isZero()&&(i="0"+i);i.length%e!==0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}n(!1,"Base should be between 2 and 36")},o.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},o.prototype.toJSON=function(){return this.toString(16)},o.prototype.toBuffer=function(t,e){return n(void 0!==s),this.toArrayLike(s,t,e)},o.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},o.prototype.toArrayLike=function(t,e,i){var r=this.byteLength(),o=i||Math.max(1,r);n(r<=o,"byte array longer than desired length"),n(o>0,"Requested array length <= 0"),this.strip();var s,a,u="le"===e,c=new t(o),h=this.clone();if(u){for(a=0;!h.isZero();a++)s=h.andln(255),h.iushrn(8),c[a]=s;for(;a=4096&&(i+=13,e>>>=13),e>=64&&(i+=7,e>>>=7),e>=8&&(i+=4,e>>>=4),e>=2&&(i+=2,e>>>=2),i+e},o.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,i=0;return 8191&e||(i+=13,e>>>=13),127&e||(i+=7,e>>>=7),15&e||(i+=4,e>>>=4),3&e||(i+=2,e>>>=2),1&e||i++,i},o.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},o.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},o.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},o.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var i=0;it.length?this.clone().iand(t):t.clone().iand(this)},o.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},o.prototype.iuxor=function(t){var e,i;this.length>t.length?(e=this,i=t):(e=t,i=this);for(var n=0;nt.length?this.clone().ixor(t):t.clone().ixor(this)},o.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},o.prototype.inotn=function(t){n("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),i=t%26;this._expand(e),i>0&&e--;for(var r=0;r0&&(this.words[r]=~this.words[r]&67108863>>26-i),this.strip()},o.prototype.notn=function(t){return this.clone().inotn(t)},o.prototype.setn=function(t,e){n("number"==typeof t&&t>=0);var i=t/26|0,r=t%26;return this._expand(i+1),this.words[i]=e?this.words[i]|1<t.length?(i=this,n=t):(i=t,n=this);for(var r=0,o=0;o>>26;for(;0!==r&&o>>26;if(this.length=i.length,0!==r)this.words[this.length]=r,this.length++;else if(i!==this)for(;ot.length?this.clone().iadd(t):t.clone().iadd(this)},o.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var i,n,r=this.cmp(t);if(0===r)return this.negative=0,this.length=1,this.words[0]=0,this;r>0?(i=this,n=t):(i=t,n=this);for(var o=0,s=0;s>26,this.words[s]=67108863&e;for(;0!==o&&s>26,this.words[s]=67108863&e;if(0===o&&s>>13,f=0|s[1],p=8191&f,g=f>>>13,A=0|s[2],m=8191&A,v=A>>>13,b=0|s[3],y=8191&b,w=b>>>13,C=0|s[4],x=8191&C,k=C>>>13,_=0|s[5],M=8191&_,B=_>>>13,E=0|s[6],I=8191&E,S=E>>>13,D=0|s[7],T=8191&D,O=D>>>13,P=0|s[8],R=8191&P,z=P>>>13,N=0|s[9],H=8191&N,j=N>>>13,L=0|a[0],U=8191&L,q=L>>>13,F=0|a[1],W=8191&F,Y=F>>>13,Q=0|a[2],G=8191&Q,V=Q>>>13,K=0|a[3],X=8191&K,Z=K>>>13,J=0|a[4],$=8191&J,tt=J>>>13,et=0|a[5],it=8191&et,nt=et>>>13,rt=0|a[6],ot=8191&rt,st=rt>>>13,at=0|a[7],ut=8191&at,ct=at>>>13,ht=0|a[8],lt=8191&ht,dt=ht>>>13,ft=0|a[9],pt=8191&ft,gt=ft>>>13;i.negative=t.negative^e.negative,i.length=19;var At=(c+(n=Math.imul(l,U))|0)+((8191&(r=(r=Math.imul(l,q))+Math.imul(d,U)|0))<<13)|0;c=((o=Math.imul(d,q))+(r>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(p,U),r=(r=Math.imul(p,q))+Math.imul(g,U)|0,o=Math.imul(g,q);var mt=(c+(n=n+Math.imul(l,W)|0)|0)+((8191&(r=(r=r+Math.imul(l,Y)|0)+Math.imul(d,W)|0))<<13)|0;c=((o=o+Math.imul(d,Y)|0)+(r>>>13)|0)+(mt>>>26)|0,mt&=67108863,n=Math.imul(m,U),r=(r=Math.imul(m,q))+Math.imul(v,U)|0,o=Math.imul(v,q),n=n+Math.imul(p,W)|0,r=(r=r+Math.imul(p,Y)|0)+Math.imul(g,W)|0,o=o+Math.imul(g,Y)|0;var vt=(c+(n=n+Math.imul(l,G)|0)|0)+((8191&(r=(r=r+Math.imul(l,V)|0)+Math.imul(d,G)|0))<<13)|0;c=((o=o+Math.imul(d,V)|0)+(r>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(y,U),r=(r=Math.imul(y,q))+Math.imul(w,U)|0,o=Math.imul(w,q),n=n+Math.imul(m,W)|0,r=(r=r+Math.imul(m,Y)|0)+Math.imul(v,W)|0,o=o+Math.imul(v,Y)|0,n=n+Math.imul(p,G)|0,r=(r=r+Math.imul(p,V)|0)+Math.imul(g,G)|0,o=o+Math.imul(g,V)|0;var bt=(c+(n=n+Math.imul(l,X)|0)|0)+((8191&(r=(r=r+Math.imul(l,Z)|0)+Math.imul(d,X)|0))<<13)|0;c=((o=o+Math.imul(d,Z)|0)+(r>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(x,U),r=(r=Math.imul(x,q))+Math.imul(k,U)|0,o=Math.imul(k,q),n=n+Math.imul(y,W)|0,r=(r=r+Math.imul(y,Y)|0)+Math.imul(w,W)|0,o=o+Math.imul(w,Y)|0,n=n+Math.imul(m,G)|0,r=(r=r+Math.imul(m,V)|0)+Math.imul(v,G)|0,o=o+Math.imul(v,V)|0,n=n+Math.imul(p,X)|0,r=(r=r+Math.imul(p,Z)|0)+Math.imul(g,X)|0,o=o+Math.imul(g,Z)|0;var yt=(c+(n=n+Math.imul(l,$)|0)|0)+((8191&(r=(r=r+Math.imul(l,tt)|0)+Math.imul(d,$)|0))<<13)|0;c=((o=o+Math.imul(d,tt)|0)+(r>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(M,U),r=(r=Math.imul(M,q))+Math.imul(B,U)|0,o=Math.imul(B,q),n=n+Math.imul(x,W)|0,r=(r=r+Math.imul(x,Y)|0)+Math.imul(k,W)|0,o=o+Math.imul(k,Y)|0,n=n+Math.imul(y,G)|0,r=(r=r+Math.imul(y,V)|0)+Math.imul(w,G)|0,o=o+Math.imul(w,V)|0,n=n+Math.imul(m,X)|0,r=(r=r+Math.imul(m,Z)|0)+Math.imul(v,X)|0,o=o+Math.imul(v,Z)|0,n=n+Math.imul(p,$)|0,r=(r=r+Math.imul(p,tt)|0)+Math.imul(g,$)|0,o=o+Math.imul(g,tt)|0;var wt=(c+(n=n+Math.imul(l,it)|0)|0)+((8191&(r=(r=r+Math.imul(l,nt)|0)+Math.imul(d,it)|0))<<13)|0;c=((o=o+Math.imul(d,nt)|0)+(r>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(I,U),r=(r=Math.imul(I,q))+Math.imul(S,U)|0,o=Math.imul(S,q),n=n+Math.imul(M,W)|0,r=(r=r+Math.imul(M,Y)|0)+Math.imul(B,W)|0,o=o+Math.imul(B,Y)|0,n=n+Math.imul(x,G)|0,r=(r=r+Math.imul(x,V)|0)+Math.imul(k,G)|0,o=o+Math.imul(k,V)|0,n=n+Math.imul(y,X)|0,r=(r=r+Math.imul(y,Z)|0)+Math.imul(w,X)|0,o=o+Math.imul(w,Z)|0,n=n+Math.imul(m,$)|0,r=(r=r+Math.imul(m,tt)|0)+Math.imul(v,$)|0,o=o+Math.imul(v,tt)|0,n=n+Math.imul(p,it)|0,r=(r=r+Math.imul(p,nt)|0)+Math.imul(g,it)|0,o=o+Math.imul(g,nt)|0;var Ct=(c+(n=n+Math.imul(l,ot)|0)|0)+((8191&(r=(r=r+Math.imul(l,st)|0)+Math.imul(d,ot)|0))<<13)|0;c=((o=o+Math.imul(d,st)|0)+(r>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,n=Math.imul(T,U),r=(r=Math.imul(T,q))+Math.imul(O,U)|0,o=Math.imul(O,q),n=n+Math.imul(I,W)|0,r=(r=r+Math.imul(I,Y)|0)+Math.imul(S,W)|0,o=o+Math.imul(S,Y)|0,n=n+Math.imul(M,G)|0,r=(r=r+Math.imul(M,V)|0)+Math.imul(B,G)|0,o=o+Math.imul(B,V)|0,n=n+Math.imul(x,X)|0,r=(r=r+Math.imul(x,Z)|0)+Math.imul(k,X)|0,o=o+Math.imul(k,Z)|0,n=n+Math.imul(y,$)|0,r=(r=r+Math.imul(y,tt)|0)+Math.imul(w,$)|0,o=o+Math.imul(w,tt)|0,n=n+Math.imul(m,it)|0,r=(r=r+Math.imul(m,nt)|0)+Math.imul(v,it)|0,o=o+Math.imul(v,nt)|0,n=n+Math.imul(p,ot)|0,r=(r=r+Math.imul(p,st)|0)+Math.imul(g,ot)|0,o=o+Math.imul(g,st)|0;var xt=(c+(n=n+Math.imul(l,ut)|0)|0)+((8191&(r=(r=r+Math.imul(l,ct)|0)+Math.imul(d,ut)|0))<<13)|0;c=((o=o+Math.imul(d,ct)|0)+(r>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(R,U),r=(r=Math.imul(R,q))+Math.imul(z,U)|0,o=Math.imul(z,q),n=n+Math.imul(T,W)|0,r=(r=r+Math.imul(T,Y)|0)+Math.imul(O,W)|0,o=o+Math.imul(O,Y)|0,n=n+Math.imul(I,G)|0,r=(r=r+Math.imul(I,V)|0)+Math.imul(S,G)|0,o=o+Math.imul(S,V)|0,n=n+Math.imul(M,X)|0,r=(r=r+Math.imul(M,Z)|0)+Math.imul(B,X)|0,o=o+Math.imul(B,Z)|0,n=n+Math.imul(x,$)|0,r=(r=r+Math.imul(x,tt)|0)+Math.imul(k,$)|0,o=o+Math.imul(k,tt)|0,n=n+Math.imul(y,it)|0,r=(r=r+Math.imul(y,nt)|0)+Math.imul(w,it)|0,o=o+Math.imul(w,nt)|0,n=n+Math.imul(m,ot)|0,r=(r=r+Math.imul(m,st)|0)+Math.imul(v,ot)|0,o=o+Math.imul(v,st)|0,n=n+Math.imul(p,ut)|0,r=(r=r+Math.imul(p,ct)|0)+Math.imul(g,ut)|0,o=o+Math.imul(g,ct)|0;var kt=(c+(n=n+Math.imul(l,lt)|0)|0)+((8191&(r=(r=r+Math.imul(l,dt)|0)+Math.imul(d,lt)|0))<<13)|0;c=((o=o+Math.imul(d,dt)|0)+(r>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(H,U),r=(r=Math.imul(H,q))+Math.imul(j,U)|0,o=Math.imul(j,q),n=n+Math.imul(R,W)|0,r=(r=r+Math.imul(R,Y)|0)+Math.imul(z,W)|0,o=o+Math.imul(z,Y)|0,n=n+Math.imul(T,G)|0,r=(r=r+Math.imul(T,V)|0)+Math.imul(O,G)|0,o=o+Math.imul(O,V)|0,n=n+Math.imul(I,X)|0,r=(r=r+Math.imul(I,Z)|0)+Math.imul(S,X)|0,o=o+Math.imul(S,Z)|0,n=n+Math.imul(M,$)|0,r=(r=r+Math.imul(M,tt)|0)+Math.imul(B,$)|0,o=o+Math.imul(B,tt)|0,n=n+Math.imul(x,it)|0,r=(r=r+Math.imul(x,nt)|0)+Math.imul(k,it)|0,o=o+Math.imul(k,nt)|0,n=n+Math.imul(y,ot)|0,r=(r=r+Math.imul(y,st)|0)+Math.imul(w,ot)|0,o=o+Math.imul(w,st)|0,n=n+Math.imul(m,ut)|0,r=(r=r+Math.imul(m,ct)|0)+Math.imul(v,ut)|0,o=o+Math.imul(v,ct)|0,n=n+Math.imul(p,lt)|0,r=(r=r+Math.imul(p,dt)|0)+Math.imul(g,lt)|0,o=o+Math.imul(g,dt)|0;var _t=(c+(n=n+Math.imul(l,pt)|0)|0)+((8191&(r=(r=r+Math.imul(l,gt)|0)+Math.imul(d,pt)|0))<<13)|0;c=((o=o+Math.imul(d,gt)|0)+(r>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(H,W),r=(r=Math.imul(H,Y))+Math.imul(j,W)|0,o=Math.imul(j,Y),n=n+Math.imul(R,G)|0,r=(r=r+Math.imul(R,V)|0)+Math.imul(z,G)|0,o=o+Math.imul(z,V)|0,n=n+Math.imul(T,X)|0,r=(r=r+Math.imul(T,Z)|0)+Math.imul(O,X)|0,o=o+Math.imul(O,Z)|0,n=n+Math.imul(I,$)|0,r=(r=r+Math.imul(I,tt)|0)+Math.imul(S,$)|0,o=o+Math.imul(S,tt)|0,n=n+Math.imul(M,it)|0,r=(r=r+Math.imul(M,nt)|0)+Math.imul(B,it)|0,o=o+Math.imul(B,nt)|0,n=n+Math.imul(x,ot)|0,r=(r=r+Math.imul(x,st)|0)+Math.imul(k,ot)|0,o=o+Math.imul(k,st)|0,n=n+Math.imul(y,ut)|0,r=(r=r+Math.imul(y,ct)|0)+Math.imul(w,ut)|0,o=o+Math.imul(w,ct)|0,n=n+Math.imul(m,lt)|0,r=(r=r+Math.imul(m,dt)|0)+Math.imul(v,lt)|0,o=o+Math.imul(v,dt)|0;var Mt=(c+(n=n+Math.imul(p,pt)|0)|0)+((8191&(r=(r=r+Math.imul(p,gt)|0)+Math.imul(g,pt)|0))<<13)|0;c=((o=o+Math.imul(g,gt)|0)+(r>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(H,G),r=(r=Math.imul(H,V))+Math.imul(j,G)|0,o=Math.imul(j,V),n=n+Math.imul(R,X)|0,r=(r=r+Math.imul(R,Z)|0)+Math.imul(z,X)|0,o=o+Math.imul(z,Z)|0,n=n+Math.imul(T,$)|0,r=(r=r+Math.imul(T,tt)|0)+Math.imul(O,$)|0,o=o+Math.imul(O,tt)|0,n=n+Math.imul(I,it)|0,r=(r=r+Math.imul(I,nt)|0)+Math.imul(S,it)|0,o=o+Math.imul(S,nt)|0,n=n+Math.imul(M,ot)|0,r=(r=r+Math.imul(M,st)|0)+Math.imul(B,ot)|0,o=o+Math.imul(B,st)|0,n=n+Math.imul(x,ut)|0,r=(r=r+Math.imul(x,ct)|0)+Math.imul(k,ut)|0,o=o+Math.imul(k,ct)|0,n=n+Math.imul(y,lt)|0,r=(r=r+Math.imul(y,dt)|0)+Math.imul(w,lt)|0,o=o+Math.imul(w,dt)|0;var Bt=(c+(n=n+Math.imul(m,pt)|0)|0)+((8191&(r=(r=r+Math.imul(m,gt)|0)+Math.imul(v,pt)|0))<<13)|0;c=((o=o+Math.imul(v,gt)|0)+(r>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,n=Math.imul(H,X),r=(r=Math.imul(H,Z))+Math.imul(j,X)|0,o=Math.imul(j,Z),n=n+Math.imul(R,$)|0,r=(r=r+Math.imul(R,tt)|0)+Math.imul(z,$)|0,o=o+Math.imul(z,tt)|0,n=n+Math.imul(T,it)|0,r=(r=r+Math.imul(T,nt)|0)+Math.imul(O,it)|0,o=o+Math.imul(O,nt)|0,n=n+Math.imul(I,ot)|0,r=(r=r+Math.imul(I,st)|0)+Math.imul(S,ot)|0,o=o+Math.imul(S,st)|0,n=n+Math.imul(M,ut)|0,r=(r=r+Math.imul(M,ct)|0)+Math.imul(B,ut)|0,o=o+Math.imul(B,ct)|0,n=n+Math.imul(x,lt)|0,r=(r=r+Math.imul(x,dt)|0)+Math.imul(k,lt)|0,o=o+Math.imul(k,dt)|0;var Et=(c+(n=n+Math.imul(y,pt)|0)|0)+((8191&(r=(r=r+Math.imul(y,gt)|0)+Math.imul(w,pt)|0))<<13)|0;c=((o=o+Math.imul(w,gt)|0)+(r>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(H,$),r=(r=Math.imul(H,tt))+Math.imul(j,$)|0,o=Math.imul(j,tt),n=n+Math.imul(R,it)|0,r=(r=r+Math.imul(R,nt)|0)+Math.imul(z,it)|0,o=o+Math.imul(z,nt)|0,n=n+Math.imul(T,ot)|0,r=(r=r+Math.imul(T,st)|0)+Math.imul(O,ot)|0,o=o+Math.imul(O,st)|0,n=n+Math.imul(I,ut)|0,r=(r=r+Math.imul(I,ct)|0)+Math.imul(S,ut)|0,o=o+Math.imul(S,ct)|0,n=n+Math.imul(M,lt)|0,r=(r=r+Math.imul(M,dt)|0)+Math.imul(B,lt)|0,o=o+Math.imul(B,dt)|0;var It=(c+(n=n+Math.imul(x,pt)|0)|0)+((8191&(r=(r=r+Math.imul(x,gt)|0)+Math.imul(k,pt)|0))<<13)|0;c=((o=o+Math.imul(k,gt)|0)+(r>>>13)|0)+(It>>>26)|0,It&=67108863,n=Math.imul(H,it),r=(r=Math.imul(H,nt))+Math.imul(j,it)|0,o=Math.imul(j,nt),n=n+Math.imul(R,ot)|0,r=(r=r+Math.imul(R,st)|0)+Math.imul(z,ot)|0,o=o+Math.imul(z,st)|0,n=n+Math.imul(T,ut)|0,r=(r=r+Math.imul(T,ct)|0)+Math.imul(O,ut)|0,o=o+Math.imul(O,ct)|0,n=n+Math.imul(I,lt)|0,r=(r=r+Math.imul(I,dt)|0)+Math.imul(S,lt)|0,o=o+Math.imul(S,dt)|0;var St=(c+(n=n+Math.imul(M,pt)|0)|0)+((8191&(r=(r=r+Math.imul(M,gt)|0)+Math.imul(B,pt)|0))<<13)|0;c=((o=o+Math.imul(B,gt)|0)+(r>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(H,ot),r=(r=Math.imul(H,st))+Math.imul(j,ot)|0,o=Math.imul(j,st),n=n+Math.imul(R,ut)|0,r=(r=r+Math.imul(R,ct)|0)+Math.imul(z,ut)|0,o=o+Math.imul(z,ct)|0,n=n+Math.imul(T,lt)|0,r=(r=r+Math.imul(T,dt)|0)+Math.imul(O,lt)|0,o=o+Math.imul(O,dt)|0;var Dt=(c+(n=n+Math.imul(I,pt)|0)|0)+((8191&(r=(r=r+Math.imul(I,gt)|0)+Math.imul(S,pt)|0))<<13)|0;c=((o=o+Math.imul(S,gt)|0)+(r>>>13)|0)+(Dt>>>26)|0,Dt&=67108863,n=Math.imul(H,ut),r=(r=Math.imul(H,ct))+Math.imul(j,ut)|0,o=Math.imul(j,ct),n=n+Math.imul(R,lt)|0,r=(r=r+Math.imul(R,dt)|0)+Math.imul(z,lt)|0,o=o+Math.imul(z,dt)|0;var Tt=(c+(n=n+Math.imul(T,pt)|0)|0)+((8191&(r=(r=r+Math.imul(T,gt)|0)+Math.imul(O,pt)|0))<<13)|0;c=((o=o+Math.imul(O,gt)|0)+(r>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(H,lt),r=(r=Math.imul(H,dt))+Math.imul(j,lt)|0,o=Math.imul(j,dt);var Ot=(c+(n=n+Math.imul(R,pt)|0)|0)+((8191&(r=(r=r+Math.imul(R,gt)|0)+Math.imul(z,pt)|0))<<13)|0;c=((o=o+Math.imul(z,gt)|0)+(r>>>13)|0)+(Ot>>>26)|0,Ot&=67108863;var Pt=(c+(n=Math.imul(H,pt))|0)+((8191&(r=(r=Math.imul(H,gt))+Math.imul(j,pt)|0))<<13)|0;return c=((o=Math.imul(j,gt))+(r>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,u[0]=At,u[1]=mt,u[2]=vt,u[3]=bt,u[4]=yt,u[5]=wt,u[6]=Ct,u[7]=xt,u[8]=kt,u[9]=_t,u[10]=Mt,u[11]=Bt,u[12]=Et,u[13]=It,u[14]=St,u[15]=Dt,u[16]=Tt,u[17]=Ot,u[18]=Pt,0!==c&&(u[19]=c,i.length++),i};function g(t,e,i){return(new A).mulp(t,e,i)}function A(t,e){this.x=t,this.y=e}Math.imul||(p=f),o.prototype.mulTo=function(t,e){var i,n=this.length+t.length;return i=10===this.length&&10===t.length?p(this,t,e):n<63?f(this,t,e):n<1024?function(t,e,i){i.negative=e.negative^t.negative,i.length=t.length+e.length;for(var n=0,r=0,o=0;o>>26)|0)>>>26,s&=67108863}i.words[o]=a,n=s,s=r}return 0!==n?i.words[o]=n:i.length--,i.strip()}(this,t,e):g(this,t,e),i},A.prototype.makeRBT=function(t){for(var e=new Array(t),i=o.prototype._countBits(t)-1,n=0;n>=1;return n},A.prototype.permute=function(t,e,i,n,r,o){for(var s=0;s>>=1)r++;return 1<>>=13,i[2*s+1]=8191&o,o>>>=13;for(s=2*e;s>=26,e+=r/67108864|0,e+=o>>>26,this.words[i]=67108863&o}return 0!==e&&(this.words[i]=e,this.length++),this.length=0===t?1:this.length,this},o.prototype.muln=function(t){return this.clone().imuln(t)},o.prototype.sqr=function(){return this.mul(this)},o.prototype.isqr=function(){return this.imul(this.clone())},o.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),i=0;i>>r}return e}(t);if(0===e.length)return new o(1);for(var i=this,n=0;n=0);var e,i=t%26,r=(t-i)/26,o=67108863>>>26-i<<26-i;if(0!==i){var s=0;for(e=0;e>>26-i}s&&(this.words[e]=s,this.length++)}if(0!==r){for(e=this.length-1;e>=0;e--)this.words[e+r]=this.words[e];for(e=0;e=0),r=e?(e-e%26)/26:0;var o=t%26,s=Math.min((t-o)/26,this.length),a=67108863^67108863>>>o<s)for(this.length-=s,c=0;c=0&&(0!==h||c>=r);c--){var l=0|this.words[c];this.words[c]=h<<26-o|l>>>o,h=l&a}return u&&0!==h&&(u.words[u.length++]=h),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},o.prototype.ishrn=function(t,e,i){return n(0===this.negative),this.iushrn(t,e,i)},o.prototype.shln=function(t){return this.clone().ishln(t)},o.prototype.ushln=function(t){return this.clone().iushln(t)},o.prototype.shrn=function(t){return this.clone().ishrn(t)},o.prototype.ushrn=function(t){return this.clone().iushrn(t)},o.prototype.testn=function(t){n("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26,r=1<=0);var e=t%26,i=(t-e)/26;if(n(0===this.negative,"imaskn works only with positive numbers"),this.length<=i)return this;if(0!==e&&i++,this.length=Math.min(i,this.length),0!==e){var r=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},o.prototype.isubn=function(t){if(n("number"==typeof t),n(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(u/67108864|0),this.words[r+i]=67108863&o}for(;r>26,this.words[r+i]=67108863&o;if(0===a)return this.strip();for(n(-1===a),a=0,r=0;r>26,this.words[r]=67108863&o;return this.negative=1,this.strip()},o.prototype._wordDiv=function(t,e){var i=(this.length,t.length),n=this.clone(),r=t,s=0|r.words[r.length-1];0!=(i=26-this._countBits(s))&&(r=r.ushln(i),n.iushln(i),s=0|r.words[r.length-1]);var a,u=n.length-r.length;if("mod"!==e){(a=new o(null)).length=u+1,a.words=new Array(a.length);for(var c=0;c=0;l--){var d=67108864*(0|n.words[r.length+l])+(0|n.words[r.length+l-1]);for(d=Math.min(d/s|0,67108863),n._ishlnsubmul(r,d,l);0!==n.negative;)d--,n.negative=0,n._ishlnsubmul(r,1,l),n.isZero()||(n.negative^=1);a&&(a.words[l]=d)}return a&&a.strip(),n.strip(),"div"!==e&&0!==i&&n.iushrn(i),{div:a||null,mod:n}},o.prototype.divmod=function(t,e,i){return n(!t.isZero()),this.isZero()?{div:new o(0),mod:new o(0)}:0!==this.negative&&0===t.negative?(a=this.neg().divmod(t,e),"mod"!==e&&(r=a.div.neg()),"div"!==e&&(s=a.mod.neg(),i&&0!==s.negative&&s.iadd(t)),{div:r,mod:s}):0===this.negative&&0!==t.negative?(a=this.divmod(t.neg(),e),"mod"!==e&&(r=a.div.neg()),{div:r,mod:a.mod}):0!==(this.negative&t.negative)?(a=this.neg().divmod(t.neg(),e),"div"!==e&&(s=a.mod.neg(),i&&0!==s.negative&&s.isub(t)),{div:a.div,mod:s}):t.length>this.length||this.cmp(t)<0?{div:new o(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new o(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new o(this.modn(t.words[0]))}:this._wordDiv(t,e);var r,s,a},o.prototype.div=function(t){return this.divmod(t,"div",!1).div},o.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},o.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},o.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var i=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),r=t.andln(1),o=i.cmp(n);return o<0||1===r&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},o.prototype.modn=function(t){n(t<=67108863);for(var e=(1<<26)%t,i=0,r=this.length-1;r>=0;r--)i=(e*i+(0|this.words[r]))%t;return i},o.prototype.idivn=function(t){n(t<=67108863);for(var e=0,i=this.length-1;i>=0;i--){var r=(0|this.words[i])+67108864*e;this.words[i]=r/t|0,e=r%t}return this.strip()},o.prototype.divn=function(t){return this.clone().idivn(t)},o.prototype.egcd=function(t){n(0===t.negative),n(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var r=new o(1),s=new o(0),a=new o(0),u=new o(1),c=0;e.isEven()&&i.isEven();)e.iushrn(1),i.iushrn(1),++c;for(var h=i.clone(),l=e.clone();!e.isZero();){for(var d=0,f=1;0===(e.words[0]&f)&&d<26;++d,f<<=1);if(d>0)for(e.iushrn(d);d-- >0;)(r.isOdd()||s.isOdd())&&(r.iadd(h),s.isub(l)),r.iushrn(1),s.iushrn(1);for(var p=0,g=1;0===(i.words[0]&g)&&p<26;++p,g<<=1);if(p>0)for(i.iushrn(p);p-- >0;)(a.isOdd()||u.isOdd())&&(a.iadd(h),u.isub(l)),a.iushrn(1),u.iushrn(1);e.cmp(i)>=0?(e.isub(i),r.isub(a),s.isub(u)):(i.isub(e),a.isub(r),u.isub(s))}return{a,b:u,gcd:i.iushln(c)}},o.prototype._invmp=function(t){n(0===t.negative),n(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var r,s=new o(1),a=new o(0),u=i.clone();e.cmpn(1)>0&&i.cmpn(1)>0;){for(var c=0,h=1;0===(e.words[0]&h)&&c<26;++c,h<<=1);if(c>0)for(e.iushrn(c);c-- >0;)s.isOdd()&&s.iadd(u),s.iushrn(1);for(var l=0,d=1;0===(i.words[0]&d)&&l<26;++l,d<<=1);if(l>0)for(i.iushrn(l);l-- >0;)a.isOdd()&&a.iadd(u),a.iushrn(1);e.cmp(i)>=0?(e.isub(i),s.isub(a)):(i.isub(e),a.isub(s))}return(r=0===e.cmpn(1)?s:a).cmpn(0)<0&&r.iadd(t),r},o.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),i=t.clone();e.negative=0,i.negative=0;for(var n=0;e.isEven()&&i.isEven();n++)e.iushrn(1),i.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;i.isEven();)i.iushrn(1);var r=e.cmp(i);if(r<0){var o=e;e=i,i=o}else if(0===r||0===i.cmpn(1))break;e.isub(i)}return i.iushln(n)},o.prototype.invm=function(t){return this.egcd(t).a.umod(t)},o.prototype.isEven=function(){return!(1&this.words[0])},o.prototype.isOdd=function(){return!(1&~this.words[0])},o.prototype.andln=function(t){return this.words[0]&t},o.prototype.bincn=function(t){n("number"==typeof t);var e=t%26,i=(t-e)/26,r=1<>>26,a&=67108863,this.words[s]=a}return 0!==o&&(this.words[s]=o,this.length++),this},o.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},o.prototype.cmpn=function(t){var e,i=t<0;if(0!==this.negative&&!i)return-1;if(0===this.negative&&i)return 1;if(this.strip(),this.length>1)e=1;else{i&&(t=-t),n(t<=67108863,"Number is too big");var r=0|this.words[0];e=r===t?0:rt.length)return 1;if(this.length=0;i--){var n=0|this.words[i],r=0|t.words[i];if(n!==r){nr&&(e=1);break}}return e},o.prototype.gtn=function(t){return 1===this.cmpn(t)},o.prototype.gt=function(t){return 1===this.cmp(t)},o.prototype.gten=function(t){return this.cmpn(t)>=0},o.prototype.gte=function(t){return this.cmp(t)>=0},o.prototype.ltn=function(t){return-1===this.cmpn(t)},o.prototype.lt=function(t){return-1===this.cmp(t)},o.prototype.lten=function(t){return this.cmpn(t)<=0},o.prototype.lte=function(t){return this.cmp(t)<=0},o.prototype.eqn=function(t){return 0===this.cmpn(t)},o.prototype.eq=function(t){return 0===this.cmp(t)},o.red=function(t){return new x(t)},o.prototype.toRed=function(t){return n(!this.red,"Already a number in reduction context"),n(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},o.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},o.prototype._forceRed=function(t){return this.red=t,this},o.prototype.forceRed=function(t){return n(!this.red,"Already a number in reduction context"),this._forceRed(t)},o.prototype.redAdd=function(t){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},o.prototype.redIAdd=function(t){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},o.prototype.redSub=function(t){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},o.prototype.redISub=function(t){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},o.prototype.redShl=function(t){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},o.prototype.redMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},o.prototype.redIMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},o.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},o.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},o.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},o.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},o.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},o.prototype.redPow=function(t){return n(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var m={k256:null,p224:null,p192:null,p25519:null};function v(t,e){this.name=t,this.p=new o(e,16),this.n=this.p.bitLength(),this.k=new o(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function b(){v.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function y(){v.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function w(){v.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function C(){v.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function x(t){if("string"==typeof t){var e=o._prime(t);this.m=e.p,this.prime=e}else n(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function k(t){x.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new o(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}v.prototype._tmp=function(){var t=new o(null);return t.words=new Array(Math.ceil(this.n/13)),t},v.prototype.ireduce=function(t){var e,i=t;do{this.split(i,this.tmp),e=(i=(i=this.imulK(i)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e0?i.isub(this.p):void 0!==i.strip?i.strip():i._strip(),i},v.prototype.split=function(t,e){t.iushrn(this.n,0,e)},v.prototype.imulK=function(t){return t.imul(this.k)},r(b,v),b.prototype.split=function(t,e){for(var i=4194303,n=Math.min(t.length,9),r=0;r>>22,o=s}o>>>=22,t.words[r-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},b.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,i=0;i>>=26,t.words[i]=r,e=n}return 0!==e&&(t.words[t.length++]=e),t},o._prime=function(t){if(m[t])return m[t];var e;if("k256"===t)e=new b;else if("p224"===t)e=new y;else if("p192"===t)e=new w;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new C}return m[t]=e,e},x.prototype._verify1=function(t){n(0===t.negative,"red works only with positives"),n(t.red,"red works only with red numbers")},x.prototype._verify2=function(t,e){n(0===(t.negative|e.negative),"red works only with positives"),n(t.red&&t.red===e.red,"red works only with red numbers")},x.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},x.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},x.prototype.add=function(t,e){this._verify2(t,e);var i=t.add(e);return i.cmp(this.m)>=0&&i.isub(this.m),i._forceRed(this)},x.prototype.iadd=function(t,e){this._verify2(t,e);var i=t.iadd(e);return i.cmp(this.m)>=0&&i.isub(this.m),i},x.prototype.sub=function(t,e){this._verify2(t,e);var i=t.sub(e);return i.cmpn(0)<0&&i.iadd(this.m),i._forceRed(this)},x.prototype.isub=function(t,e){this._verify2(t,e);var i=t.isub(e);return i.cmpn(0)<0&&i.iadd(this.m),i},x.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},x.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},x.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},x.prototype.isqr=function(t){return this.imul(t,t.clone())},x.prototype.sqr=function(t){return this.mul(t,t)},x.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(n(e%2==1),3===e){var i=this.m.add(new o(1)).iushrn(2);return this.pow(t,i)}for(var r=this.m.subn(1),s=0;!r.isZero()&&0===r.andln(1);)s++,r.iushrn(1);n(!r.isZero());var a=new o(1).toRed(this),u=a.redNeg(),c=this.m.subn(1).iushrn(1),h=this.m.bitLength();for(h=new o(2*h*h).toRed(this);0!==this.pow(h,c).cmp(u);)h.redIAdd(u);for(var l=this.pow(h,r),d=this.pow(t,r.addn(1).iushrn(1)),f=this.pow(t,r),p=s;0!==f.cmp(a);){for(var g=f,A=0;0!==g.cmp(a);A++)g=g.redSqr();n(A=0;n--){for(var c=e.words[n],h=u-1;h>=0;h--){var l=c>>h&1;r!==i[0]&&(r=this.sqr(r)),0!==l||0!==s?(s<<=1,s|=l,(4===++a||0===n&&0===h)&&(r=this.mul(r,i[s]),a=0,s=0)):a=0}u=26}return r},x.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},x.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},o.mont=function(t){return new k(t)},r(k,x),k.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},k.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},k.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var i=t.imul(e),n=i.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),r=i.isub(n).iushrn(this.shift),o=r;return r.cmp(this.m)>=0?o=r.isub(this.m):r.cmpn(0)<0&&(o=r.iadd(this.m)),o._forceRed(this)},k.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new o(0)._forceRed(this);var i=t.mul(e),n=i.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),r=i.isub(n).iushrn(this.shift),s=r;return r.cmp(this.m)>=0?s=r.isub(this.m):r.cmpn(0)<0&&(s=r.iadd(this.m)),s._forceRed(this)},k.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(t=i.nmd(t),this)},86729(t,e,i){"use strict";var n=e;n.version=i(1636).rE,n.utils=i(47011),n.rand=i(15037),n.curve=i(894),n.curves=i(60480),n.ec=i(57447),n.eddsa=i(8650)},36677(t,e,i){"use strict";var n=i(28490),r=i(47011),o=r.getNAF,s=r.getJSF,a=r.assert;function u(t,e){this.type=t,this.p=new n(e.p,16),this.red=e.prime?n.red(e.prime):n.mont(this.p),this.zero=new n(0).toRed(this.red),this.one=new n(1).toRed(this.red),this.two=new n(2).toRed(this.red),this.n=e.n&&new n(e.n,16),this.g=e.g&&this.pointFromJSON(e.g,e.gRed),this._wnafT1=new Array(4),this._wnafT2=new Array(4),this._wnafT3=new Array(4),this._wnafT4=new Array(4),this._bitLength=this.n?this.n.bitLength():0;var i=this.n&&this.p.div(this.n);!i||i.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}function c(t,e){this.curve=t,this.type=e,this.precomputed=null}t.exports=u,u.prototype.point=function(){throw new Error("Not implemented")},u.prototype.validate=function(){throw new Error("Not implemented")},u.prototype._fixedNafMul=function(t,e){a(t.precomputed);var i=t._getDoubles(),n=o(e,1,this._bitLength),r=(1<=s;h--)u=(u<<1)+n[h];c.push(u)}for(var l=this.jpoint(null,null,null),d=this.jpoint(null,null,null),f=r;f>0;f--){for(s=0;s=0;c--){for(var h=0;c>=0&&0===s[c];c--)h++;if(c>=0&&h++,u=u.dblp(h),c<0)break;var l=s[c];a(0!==l),u="affine"===t.type?l>0?u.mixedAdd(r[l-1>>1]):u.mixedAdd(r[-l-1>>1].neg()):l>0?u.add(r[l-1>>1]):u.add(r[-l-1>>1].neg())}return"affine"===t.type?u.toP():u},u.prototype._wnafMulAdd=function(t,e,i,n,r){var a,u,c,h=this._wnafT1,l=this._wnafT2,d=this._wnafT3,f=0;for(a=0;a=1;a-=2){var g=a-1,A=a;if(1===h[g]&&1===h[A]){var m=[e[g],null,null,e[A]];0===e[g].y.cmp(e[A].y)?(m[1]=e[g].add(e[A]),m[2]=e[g].toJ().mixedAdd(e[A].neg())):0===e[g].y.cmp(e[A].y.redNeg())?(m[1]=e[g].toJ().mixedAdd(e[A]),m[2]=e[g].add(e[A].neg())):(m[1]=e[g].toJ().mixedAdd(e[A]),m[2]=e[g].toJ().mixedAdd(e[A].neg()));var v=[-3,-1,-5,-7,0,7,5,1,3],b=s(i[g],i[A]);for(f=Math.max(b[0].length,f),d[g]=new Array(f),d[A]=new Array(f),u=0;u=0;a--){for(var k=0;a>=0;){var _=!0;for(u=0;u=0&&k++,C=C.dblp(k),a<0)break;for(u=0;u0?c=l[u][M-1>>1]:M<0&&(c=l[u][-M-1>>1].neg()),C="affine"===c.type?C.mixedAdd(c):C.add(c))}}for(a=0;a=Math.ceil((t.bitLength()+1)/e.step)},c.prototype._getDoubles=function(t,e){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var i=[this],n=this,r=0;r":""},c.prototype.isInfinity=function(){return 0===this.x.cmpn(0)&&(0===this.y.cmp(this.z)||this.zOne&&0===this.y.cmp(this.curve.c))},c.prototype._extDbl=function(){var t=this.x.redSqr(),e=this.y.redSqr(),i=this.z.redSqr();i=i.redIAdd(i);var n=this.curve._mulA(t),r=this.x.redAdd(this.y).redSqr().redISub(t).redISub(e),o=n.redAdd(e),s=o.redSub(i),a=n.redSub(e),u=r.redMul(s),c=o.redMul(a),h=r.redMul(a),l=s.redMul(o);return this.curve.point(u,c,l,h)},c.prototype._projDbl=function(){var t,e,i,n,r,o,s=this.x.redAdd(this.y).redSqr(),a=this.x.redSqr(),u=this.y.redSqr();if(this.curve.twisted){var c=(n=this.curve._mulA(a)).redAdd(u);this.zOne?(t=s.redSub(a).redSub(u).redMul(c.redSub(this.curve.two)),e=c.redMul(n.redSub(u)),i=c.redSqr().redSub(c).redSub(c)):(r=this.z.redSqr(),o=c.redSub(r).redISub(r),t=s.redSub(a).redISub(u).redMul(o),e=c.redMul(n.redSub(u)),i=c.redMul(o))}else n=a.redAdd(u),r=this.curve._mulC(this.z).redSqr(),o=n.redSub(r).redSub(r),t=this.curve._mulC(s.redISub(n)).redMul(o),e=this.curve._mulC(n).redMul(a.redISub(u)),i=n.redMul(o);return this.curve.point(t,e,i)},c.prototype.dbl=function(){return this.isInfinity()?this:this.curve.extended?this._extDbl():this._projDbl()},c.prototype._extAdd=function(t){var e=this.y.redSub(this.x).redMul(t.y.redSub(t.x)),i=this.y.redAdd(this.x).redMul(t.y.redAdd(t.x)),n=this.t.redMul(this.curve.dd).redMul(t.t),r=this.z.redMul(t.z.redAdd(t.z)),o=i.redSub(e),s=r.redSub(n),a=r.redAdd(n),u=i.redAdd(e),c=o.redMul(s),h=a.redMul(u),l=o.redMul(u),d=s.redMul(a);return this.curve.point(c,h,d,l)},c.prototype._projAdd=function(t){var e,i,n=this.z.redMul(t.z),r=n.redSqr(),o=this.x.redMul(t.x),s=this.y.redMul(t.y),a=this.curve.d.redMul(o).redMul(s),u=r.redSub(a),c=r.redAdd(a),h=this.x.redAdd(this.y).redMul(t.x.redAdd(t.y)).redISub(o).redISub(s),l=n.redMul(u).redMul(h);return this.curve.twisted?(e=n.redMul(c).redMul(s.redSub(this.curve._mulA(o))),i=u.redMul(c)):(e=n.redMul(c).redMul(s.redSub(o)),i=this.curve._mulC(u).redMul(c)),this.curve.point(l,e,i)},c.prototype.add=function(t){return this.isInfinity()?t:t.isInfinity()?this:this.curve.extended?this._extAdd(t):this._projAdd(t)},c.prototype.mul=function(t){return this._hasDoubles(t)?this.curve._fixedNafMul(this,t):this.curve._wnafMul(this,t)},c.prototype.mulAdd=function(t,e,i){return this.curve._wnafMulAdd(1,[this,e],[t,i],2,!1)},c.prototype.jmulAdd=function(t,e,i){return this.curve._wnafMulAdd(1,[this,e],[t,i],2,!0)},c.prototype.normalize=function(){if(this.zOne)return this;var t=this.z.redInvm();return this.x=this.x.redMul(t),this.y=this.y.redMul(t),this.t&&(this.t=this.t.redMul(t)),this.z=this.curve.one,this.zOne=!0,this},c.prototype.neg=function(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())},c.prototype.getX=function(){return this.normalize(),this.x.fromRed()},c.prototype.getY=function(){return this.normalize(),this.y.fromRed()},c.prototype.eq=function(t){return this===t||0===this.getX().cmp(t.getX())&&0===this.getY().cmp(t.getY())},c.prototype.eqXToP=function(t){var e=t.toRed(this.curve.red).redMul(this.z);if(0===this.x.cmp(e))return!0;for(var i=t.clone(),n=this.curve.redN.redMul(this.z);;){if(i.iadd(this.curve.n),i.cmp(this.curve.p)>=0)return!1;if(e.redIAdd(n),0===this.x.cmp(e))return!0}},c.prototype.toP=c.prototype.normalize,c.prototype.mixedAdd=c.prototype.add},894(t,e,i){"use strict";var n=e;n.base=i(36677),n.short=i(39188),n.mont=i(30370),n.edwards=i(31298)},30370(t,e,i){"use strict";var n=i(28490),r=i(56698),o=i(36677),s=i(47011);function a(t){o.call(this,"mont",t),this.a=new n(t.a,16).toRed(this.red),this.b=new n(t.b,16).toRed(this.red),this.i4=new n(4).toRed(this.red).redInvm(),this.two=new n(2).toRed(this.red),this.a24=this.i4.redMul(this.a.redAdd(this.two))}function u(t,e,i){o.BasePoint.call(this,t,"projective"),null===e&&null===i?(this.x=this.curve.one,this.z=this.curve.zero):(this.x=new n(e,16),this.z=new n(i,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)))}r(a,o),t.exports=a,a.prototype.validate=function(t){var e=t.normalize().x,i=e.redSqr(),n=i.redMul(e).redAdd(i.redMul(this.a)).redAdd(e);return 0===n.redSqrt().redSqr().cmp(n)},r(u,o.BasePoint),a.prototype.decodePoint=function(t,e){return this.point(s.toArray(t,e),1)},a.prototype.point=function(t,e){return new u(this,t,e)},a.prototype.pointFromJSON=function(t){return u.fromJSON(this,t)},u.prototype.precompute=function(){},u.prototype._encode=function(){return this.getX().toArray("be",this.curve.p.byteLength())},u.fromJSON=function(t,e){return new u(t,e[0],e[1]||t.one)},u.prototype.inspect=function(){return this.isInfinity()?"":""},u.prototype.isInfinity=function(){return 0===this.z.cmpn(0)},u.prototype.dbl=function(){var t=this.x.redAdd(this.z).redSqr(),e=this.x.redSub(this.z).redSqr(),i=t.redSub(e),n=t.redMul(e),r=i.redMul(e.redAdd(this.curve.a24.redMul(i)));return this.curve.point(n,r)},u.prototype.add=function(){throw new Error("Not supported on Montgomery curve")},u.prototype.diffAdd=function(t,e){var i=this.x.redAdd(this.z),n=this.x.redSub(this.z),r=t.x.redAdd(t.z),o=t.x.redSub(t.z).redMul(i),s=r.redMul(n),a=e.z.redMul(o.redAdd(s).redSqr()),u=e.x.redMul(o.redISub(s).redSqr());return this.curve.point(a,u)},u.prototype.mul=function(t){for(var e=t.clone(),i=this,n=this.curve.point(null,null),r=[];0!==e.cmpn(0);e.iushrn(1))r.push(e.andln(1));for(var o=r.length-1;o>=0;o--)0===r[o]?(i=i.diffAdd(n,this),n=n.dbl()):(n=i.diffAdd(n,this),i=i.dbl());return n},u.prototype.mulAdd=function(){throw new Error("Not supported on Montgomery curve")},u.prototype.jumlAdd=function(){throw new Error("Not supported on Montgomery curve")},u.prototype.eq=function(t){return 0===this.getX().cmp(t.getX())},u.prototype.normalize=function(){return this.x=this.x.redMul(this.z.redInvm()),this.z=this.curve.one,this},u.prototype.getX=function(){return this.normalize(),this.x.fromRed()}},39188(t,e,i){"use strict";var n=i(47011),r=i(28490),o=i(56698),s=i(36677),a=n.assert;function u(t){s.call(this,"short",t),this.a=new r(t.a,16).toRed(this.red),this.b=new r(t.b,16).toRed(this.red),this.tinv=this.two.redInvm(),this.zeroA=0===this.a.fromRed().cmpn(0),this.threeA=0===this.a.fromRed().sub(this.p).cmpn(-3),this.endo=this._getEndomorphism(t),this._endoWnafT1=new Array(4),this._endoWnafT2=new Array(4)}function c(t,e,i,n){s.BasePoint.call(this,t,"affine"),null===e&&null===i?(this.x=null,this.y=null,this.inf=!0):(this.x=new r(e,16),this.y=new r(i,16),n&&(this.x.forceRed(this.curve.red),this.y.forceRed(this.curve.red)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.inf=!1)}function h(t,e,i,n){s.BasePoint.call(this,t,"jacobian"),null===e&&null===i&&null===n?(this.x=this.curve.one,this.y=this.curve.one,this.z=new r(0)):(this.x=new r(e,16),this.y=new r(i,16),this.z=new r(n,16)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.zOne=this.z===this.curve.one}o(u,s),t.exports=u,u.prototype._getEndomorphism=function(t){if(this.zeroA&&this.g&&this.n&&1===this.p.modn(3)){var e,i;if(t.beta)e=new r(t.beta,16).toRed(this.red);else{var n=this._getEndoRoots(this.p);e=(e=n[0].cmp(n[1])<0?n[0]:n[1]).toRed(this.red)}if(t.lambda)i=new r(t.lambda,16);else{var o=this._getEndoRoots(this.n);0===this.g.mul(o[0]).x.cmp(this.g.x.redMul(e))?i=o[0]:(i=o[1],a(0===this.g.mul(i).x.cmp(this.g.x.redMul(e))))}return{beta:e,lambda:i,basis:t.basis?t.basis.map(function(t){return{a:new r(t.a,16),b:new r(t.b,16)}}):this._getEndoBasis(i)}}},u.prototype._getEndoRoots=function(t){var e=t===this.p?this.red:r.mont(t),i=new r(2).toRed(e).redInvm(),n=i.redNeg(),o=new r(3).toRed(e).redNeg().redSqrt().redMul(i);return[n.redAdd(o).fromRed(),n.redSub(o).fromRed()]},u.prototype._getEndoBasis=function(t){for(var e,i,n,o,s,a,u,c,h,l=this.n.ushrn(Math.floor(this.n.bitLength()/2)),d=t,f=this.n.clone(),p=new r(1),g=new r(0),A=new r(0),m=new r(1),v=0;0!==d.cmpn(0);){var b=f.div(d);c=f.sub(b.mul(d)),h=A.sub(b.mul(p));var y=m.sub(b.mul(g));if(!n&&c.cmp(l)<0)e=u.neg(),i=p,n=c.neg(),o=h;else if(n&&2===++v)break;u=c,f=d,d=c,A=p,p=h,m=g,g=y}s=c.neg(),a=h;var w=n.sqr().add(o.sqr());return s.sqr().add(a.sqr()).cmp(w)>=0&&(s=e,a=i),n.negative&&(n=n.neg(),o=o.neg()),s.negative&&(s=s.neg(),a=a.neg()),[{a:n,b:o},{a:s,b:a}]},u.prototype._endoSplit=function(t){var e=this.endo.basis,i=e[0],n=e[1],r=n.b.mul(t).divRound(this.n),o=i.b.neg().mul(t).divRound(this.n),s=r.mul(i.a),a=o.mul(n.a),u=r.mul(i.b),c=o.mul(n.b);return{k1:t.sub(s).sub(a),k2:u.add(c).neg()}},u.prototype.pointFromX=function(t,e){(t=new r(t,16)).red||(t=t.toRed(this.red));var i=t.redSqr().redMul(t).redIAdd(t.redMul(this.a)).redIAdd(this.b),n=i.redSqrt();if(0!==n.redSqr().redSub(i).cmp(this.zero))throw new Error("invalid point");var o=n.fromRed().isOdd();return(e&&!o||!e&&o)&&(n=n.redNeg()),this.point(t,n)},u.prototype.validate=function(t){if(t.inf)return!0;var e=t.x,i=t.y,n=this.a.redMul(e),r=e.redSqr().redMul(e).redIAdd(n).redIAdd(this.b);return 0===i.redSqr().redISub(r).cmpn(0)},u.prototype._endoWnafMulAdd=function(t,e,i){for(var n=this._endoWnafT1,r=this._endoWnafT2,o=0;o":""},c.prototype.isInfinity=function(){return this.inf},c.prototype.add=function(t){if(this.inf)return t;if(t.inf)return this;if(this.eq(t))return this.dbl();if(this.neg().eq(t))return this.curve.point(null,null);if(0===this.x.cmp(t.x))return this.curve.point(null,null);var e=this.y.redSub(t.y);0!==e.cmpn(0)&&(e=e.redMul(this.x.redSub(t.x).redInvm()));var i=e.redSqr().redISub(this.x).redISub(t.x),n=e.redMul(this.x.redSub(i)).redISub(this.y);return this.curve.point(i,n)},c.prototype.dbl=function(){if(this.inf)return this;var t=this.y.redAdd(this.y);if(0===t.cmpn(0))return this.curve.point(null,null);var e=this.curve.a,i=this.x.redSqr(),n=t.redInvm(),r=i.redAdd(i).redIAdd(i).redIAdd(e).redMul(n),o=r.redSqr().redISub(this.x.redAdd(this.x)),s=r.redMul(this.x.redSub(o)).redISub(this.y);return this.curve.point(o,s)},c.prototype.getX=function(){return this.x.fromRed()},c.prototype.getY=function(){return this.y.fromRed()},c.prototype.mul=function(t){return t=new r(t,16),this.isInfinity()?this:this._hasDoubles(t)?this.curve._fixedNafMul(this,t):this.curve.endo?this.curve._endoWnafMulAdd([this],[t]):this.curve._wnafMul(this,t)},c.prototype.mulAdd=function(t,e,i){var n=[this,e],r=[t,i];return this.curve.endo?this.curve._endoWnafMulAdd(n,r):this.curve._wnafMulAdd(1,n,r,2)},c.prototype.jmulAdd=function(t,e,i){var n=[this,e],r=[t,i];return this.curve.endo?this.curve._endoWnafMulAdd(n,r,!0):this.curve._wnafMulAdd(1,n,r,2,!0)},c.prototype.eq=function(t){return this===t||this.inf===t.inf&&(this.inf||0===this.x.cmp(t.x)&&0===this.y.cmp(t.y))},c.prototype.neg=function(t){if(this.inf)return this;var e=this.curve.point(this.x,this.y.redNeg());if(t&&this.precomputed){var i=this.precomputed,n=function(t){return t.neg()};e.precomputed={naf:i.naf&&{wnd:i.naf.wnd,points:i.naf.points.map(n)},doubles:i.doubles&&{step:i.doubles.step,points:i.doubles.points.map(n)}}}return e},c.prototype.toJ=function(){return this.inf?this.curve.jpoint(null,null,null):this.curve.jpoint(this.x,this.y,this.curve.one)},o(h,s.BasePoint),u.prototype.jpoint=function(t,e,i){return new h(this,t,e,i)},h.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var t=this.z.redInvm(),e=t.redSqr(),i=this.x.redMul(e),n=this.y.redMul(e).redMul(t);return this.curve.point(i,n)},h.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},h.prototype.add=function(t){if(this.isInfinity())return t;if(t.isInfinity())return this;var e=t.z.redSqr(),i=this.z.redSqr(),n=this.x.redMul(e),r=t.x.redMul(i),o=this.y.redMul(e.redMul(t.z)),s=t.y.redMul(i.redMul(this.z)),a=n.redSub(r),u=o.redSub(s);if(0===a.cmpn(0))return 0!==u.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var c=a.redSqr(),h=c.redMul(a),l=n.redMul(c),d=u.redSqr().redIAdd(h).redISub(l).redISub(l),f=u.redMul(l.redISub(d)).redISub(o.redMul(h)),p=this.z.redMul(t.z).redMul(a);return this.curve.jpoint(d,f,p)},h.prototype.mixedAdd=function(t){if(this.isInfinity())return t.toJ();if(t.isInfinity())return this;var e=this.z.redSqr(),i=this.x,n=t.x.redMul(e),r=this.y,o=t.y.redMul(e).redMul(this.z),s=i.redSub(n),a=r.redSub(o);if(0===s.cmpn(0))return 0!==a.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var u=s.redSqr(),c=u.redMul(s),h=i.redMul(u),l=a.redSqr().redIAdd(c).redISub(h).redISub(h),d=a.redMul(h.redISub(l)).redISub(r.redMul(c)),f=this.z.redMul(s);return this.curve.jpoint(l,d,f)},h.prototype.dblp=function(t){if(0===t)return this;if(this.isInfinity())return this;if(!t)return this.dbl();var e;if(this.curve.zeroA||this.curve.threeA){var i=this;for(e=0;e=0)return!1;if(i.redIAdd(r),0===this.x.cmp(i))return!0}},h.prototype.inspect=function(){return this.isInfinity()?"":""},h.prototype.isInfinity=function(){return 0===this.z.cmpn(0)}},60480(t,e,i){"use strict";var n,r=e,o=i(77952),s=i(894),a=i(47011).assert;function u(t){"short"===t.type?this.curve=new s.short(t):"edwards"===t.type?this.curve=new s.edwards(t):this.curve=new s.mont(t),this.g=this.curve.g,this.n=this.curve.n,this.hash=t.hash,a(this.g.validate(),"Invalid curve"),a(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}function c(t,e){Object.defineProperty(r,t,{configurable:!0,enumerable:!0,get:function(){var i=new u(e);return Object.defineProperty(r,t,{configurable:!0,enumerable:!0,value:i}),i}})}r.PresetCurve=u,c("p192",{type:"short",prime:"p192",p:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff",a:"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc",b:"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1",n:"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831",hash:o.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),c("p224",{type:"short",prime:"p224",p:"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001",a:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe",b:"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4",n:"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d",hash:o.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),c("p256",{type:"short",prime:null,p:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff",a:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc",b:"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b",n:"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551",hash:o.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),c("p384",{type:"short",prime:null,p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff",a:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc",b:"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef",n:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973",hash:o.sha384,gRed:!1,g:["aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7","3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f"]}),c("p521",{type:"short",prime:null,p:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff",a:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc",b:"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00",n:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409",hash:o.sha512,gRed:!1,g:["000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66","00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650"]}),c("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:o.sha256,gRed:!1,g:["9"]}),c("ed25519",{type:"edwards",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"-1",c:"1",d:"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:o.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});try{n=i(74011)}catch(t){n=void 0}c("secp256k1",{type:"short",prime:"k256",p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f",a:"0",b:"7",n:"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141",h:"1",hash:o.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",n]})},57447(t,e,i){"use strict";var n=i(28490),r=i(32723),o=i(47011),s=i(60480),a=i(15037),u=o.assert,c=i(61200),h=i(28545);function l(t){if(!(this instanceof l))return new l(t);"string"==typeof t&&(u(Object.prototype.hasOwnProperty.call(s,t),"Unknown curve "+t),t=s[t]),t instanceof s.PresetCurve&&(t={curve:t}),this.curve=t.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=t.curve.g,this.g.precompute(t.curve.n.bitLength()+1),this.hash=t.hash||t.curve.hash}t.exports=l,l.prototype.keyPair=function(t){return new c(this,t)},l.prototype.keyFromPrivate=function(t,e){return c.fromPrivate(this,t,e)},l.prototype.keyFromPublic=function(t,e){return c.fromPublic(this,t,e)},l.prototype.genKeyPair=function(t){t||(t={});for(var e=new r({hash:this.hash,pers:t.pers,persEnc:t.persEnc||"utf8",entropy:t.entropy||a(this.hash.hmacStrength),entropyEnc:t.entropy&&t.entropyEnc||"utf8",nonce:this.n.toArray()}),i=this.n.byteLength(),o=this.n.sub(new n(2));;){var s=new n(e.generate(i));if(!(s.cmp(o)>0))return s.iaddn(1),this.keyFromPrivate(s)}},l.prototype._truncateToN=function(t,e,i){var r;if(n.isBN(t)||"number"==typeof t)r=(t=new n(t,16)).byteLength();else if("object"==typeof t)r=t.length,t=new n(t,16);else{var o=t.toString();r=o.length+1>>>1,t=new n(o,16)}"number"!=typeof i&&(i=8*r);var s=i-this.n.bitLength();return s>0&&(t=t.ushrn(s)),!e&&t.cmp(this.n)>=0?t.sub(this.n):t},l.prototype.sign=function(t,e,i,o){if("object"==typeof i&&(o=i,i=null),o||(o={}),"string"!=typeof t&&"number"!=typeof t&&!n.isBN(t)){u("object"==typeof t&&t&&"number"==typeof t.length,"Expected message to be an array-like, a hex string, or a BN instance"),u(t.length>>>0===t.length);for(var s=0;s=0)){var A=this.g.mul(g);if(!A.isInfinity()){var m=A.getX(),v=m.umod(this.n);if(0!==v.cmpn(0)){var b=g.invm(this.n).mul(v.mul(e.getPrivate()).iadd(t));if(0!==(b=b.umod(this.n)).cmpn(0)){var y=(A.getY().isOdd()?1:0)|(0!==m.cmp(v)?2:0);return o.canonical&&b.cmp(this.nh)>0&&(b=this.n.sub(b),y^=1),new h({r:v,s:b,recoveryParam:y})}}}}}},l.prototype.verify=function(t,e,i,n,r){r||(r={}),t=this._truncateToN(t,!1,r.msgBitLength),i=this.keyFromPublic(i,n);var o=(e=new h(e,"hex")).r,s=e.s;if(o.cmpn(1)<0||o.cmp(this.n)>=0)return!1;if(s.cmpn(1)<0||s.cmp(this.n)>=0)return!1;var a,u=s.invm(this.n),c=u.mul(t).umod(this.n),l=u.mul(o).umod(this.n);return this.curve._maxwellTrick?!(a=this.g.jmulAdd(c,i.getPublic(),l)).isInfinity()&&a.eqXToP(o):!(a=this.g.mulAdd(c,i.getPublic(),l)).isInfinity()&&0===a.getX().umod(this.n).cmp(o)},l.prototype.recoverPubKey=function(t,e,i,r){u((3&i)===i,"The recovery param is more than two bits"),e=new h(e,r);var o=this.n,s=new n(t),a=e.r,c=e.s,l=1&i,d=i>>1;if(a.cmp(this.curve.p.umod(this.curve.n))>=0&&d)throw new Error("Unable to find sencond key candinate");a=d?this.curve.pointFromX(a.add(this.curve.n),l):this.curve.pointFromX(a,l);var f=e.r.invm(o),p=o.sub(s).mul(f).umod(o),g=c.mul(f).umod(o);return this.g.mulAdd(p,a,g)},l.prototype.getKeyRecoveryParam=function(t,e,i,n){if(null!==(e=new h(e,n)).recoveryParam)return e.recoveryParam;for(var r=0;r<4;r++){var o;try{o=this.recoverPubKey(t,e,r)}catch(t){continue}if(o.eq(i))return r}throw new Error("Unable to find valid recovery factor")}},61200(t,e,i){"use strict";var n=i(28490),r=i(47011).assert;function o(t,e){this.ec=t,this.priv=null,this.pub=null,e.priv&&this._importPrivate(e.priv,e.privEnc),e.pub&&this._importPublic(e.pub,e.pubEnc)}t.exports=o,o.fromPublic=function(t,e,i){return e instanceof o?e:new o(t,{pub:e,pubEnc:i})},o.fromPrivate=function(t,e,i){return e instanceof o?e:new o(t,{priv:e,privEnc:i})},o.prototype.validate=function(){var t=this.getPublic();return t.isInfinity()?{result:!1,reason:"Invalid public key"}:t.validate()?t.mul(this.ec.curve.n).isInfinity()?{result:!0,reason:null}:{result:!1,reason:"Public key * N != O"}:{result:!1,reason:"Public key is not a point"}},o.prototype.getPublic=function(t,e){return"string"==typeof t&&(e=t,t=null),this.pub||(this.pub=this.ec.g.mul(this.priv)),e?this.pub.encode(e,t):this.pub},o.prototype.getPrivate=function(t){return"hex"===t?this.priv.toString(16,2):this.priv},o.prototype._importPrivate=function(t,e){this.priv=new n(t,e||16),this.priv=this.priv.umod(this.ec.curve.n)},o.prototype._importPublic=function(t,e){if(t.x||t.y)return"mont"===this.ec.curve.type?r(t.x,"Need x coordinate"):"short"!==this.ec.curve.type&&"edwards"!==this.ec.curve.type||r(t.x&&t.y,"Need both x and y coordinate"),void(this.pub=this.ec.curve.point(t.x,t.y));this.pub=this.ec.curve.decodePoint(t,e)},o.prototype.derive=function(t){return t.validate()||r(t.validate(),"public point not validated"),t.mul(this.priv).getX()},o.prototype.sign=function(t,e,i){return this.ec.sign(t,this,e,i)},o.prototype.verify=function(t,e,i){return this.ec.verify(t,e,this,void 0,i)},o.prototype.inspect=function(){return""}},28545(t,e,i){"use strict";var n=i(28490),r=i(47011),o=r.assert;function s(t,e){if(t instanceof s)return t;this._importDER(t,e)||(o(t.r&&t.s,"Signature without r or s"),this.r=new n(t.r,16),this.s=new n(t.s,16),void 0===t.recoveryParam?this.recoveryParam=null:this.recoveryParam=t.recoveryParam)}function a(){this.place=0}function u(t,e){var i=t[e.place++];if(!(128&i))return i;var n=15&i;if(0===n||n>4)return!1;if(0===t[e.place])return!1;for(var r=0,o=0,s=e.place;o>>=0;return!(r<=127)&&(e.place=s,r)}function c(t){for(var e=0,i=t.length-1;!t[e]&&!(128&t[e+1])&&e>>3);for(t.push(128|i);--i;)t.push(e>>>(i<<3)&255);t.push(e)}}t.exports=s,s.prototype._importDER=function(t,e){t=r.toArray(t,e);var i=new a;if(48!==t[i.place++])return!1;var o=u(t,i);if(!1===o)return!1;if(o+i.place!==t.length)return!1;if(2!==t[i.place++])return!1;var s=u(t,i);if(!1===s)return!1;if(128&t[i.place])return!1;var c=t.slice(i.place,s+i.place);if(i.place+=s,2!==t[i.place++])return!1;var h=u(t,i);if(!1===h)return!1;if(t.length!==h+i.place)return!1;if(128&t[i.place])return!1;var l=t.slice(i.place,h+i.place);if(0===c[0]){if(!(128&c[1]))return!1;c=c.slice(1)}if(0===l[0]){if(!(128&l[1]))return!1;l=l.slice(1)}return this.r=new n(c),this.s=new n(l),this.recoveryParam=null,!0},s.prototype.toDER=function(t){var e=this.r.toArray(),i=this.s.toArray();for(128&e[0]&&(e=[0].concat(e)),128&i[0]&&(i=[0].concat(i)),e=c(e),i=c(i);!(i[0]||128&i[1]);)i=i.slice(1);var n=[2];h(n,e.length),(n=n.concat(e)).push(2),h(n,i.length);var o=n.concat(i),s=[48];return h(s,o.length),s=s.concat(o),r.encode(s,t)}},8650(t,e,i){"use strict";var n=i(77952),r=i(60480),o=i(47011),s=o.assert,a=o.parseBytes,u=i(46661),c=i(90220);function h(t){if(s("ed25519"===t,"only tested with ed25519 so far"),!(this instanceof h))return new h(t);t=r[t].curve,this.curve=t,this.g=t.g,this.g.precompute(t.n.bitLength()+1),this.pointClass=t.point().constructor,this.encodingLength=Math.ceil(t.n.bitLength()/8),this.hash=n.sha512}t.exports=h,h.prototype.sign=function(t,e){t=a(t);var i=this.keyFromSecret(e),n=this.hashInt(i.messagePrefix(),t),r=this.g.mul(n),o=this.encodePoint(r),s=this.hashInt(o,i.pubBytes(),t).mul(i.priv()),u=n.add(s).umod(this.curve.n);return this.makeSignature({R:r,S:u,Rencoded:o})},h.prototype.verify=function(t,e,i){if(t=a(t),(e=this.makeSignature(e)).S().gte(e.eddsa.curve.n)||e.S().isNeg())return!1;var n=this.keyFromPublic(i),r=this.hashInt(e.Rencoded(),n.pubBytes(),t),o=this.g.mul(e.S());return e.R().add(n.pub().mul(r)).eq(o)},h.prototype.hashInt=function(){for(var t=this.hash(),e=0;e(o>>1)-1?(o>>1)-u:u,s.isubn(a)):a=0,r[n]=a,s.iushrn(1)}return r},n.getJSF=function(t,e){var i=[[],[]];t=t.clone(),e=e.clone();for(var n,r=0,o=0;t.cmpn(-r)>0||e.cmpn(-o)>0;){var s,a,u=t.andln(3)+r&3,c=e.andln(3)+o&3;3===u&&(u=-1),3===c&&(c=-1),s=1&u?3!=(n=t.andln(7)+r&7)&&5!==n||2!==c?u:-u:0,i[0].push(s),a=1&c?3!=(n=e.andln(7)+o&7)&&5!==n||2!==u?c:-c:0,i[1].push(a),2*r===s+1&&(r=1-r),2*o===a+1&&(o=1-o),t.iushrn(1),e.iushrn(1)}return i},n.cachedProperty=function(t,e,i){var n="_"+e;t.prototype[e]=function(){return void 0!==this[n]?this[n]:this[n]=i.call(this)}},n.parseBytes=function(t){return"string"==typeof t?n.toArray(t,"hex"):t},n.intFromLE=function(t){return new r(t,"hex","le")}},28490(t,e,i){!function(t,e){"use strict";function n(t,e){if(!t)throw new Error(e||"Assertion failed")}function r(t,e){t.super_=e;var i=function(){};i.prototype=e.prototype,t.prototype=new i,t.prototype.constructor=t}function o(t,e,i){if(o.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(i=e,e=10),this._init(t||0,e||10,i||"be"))}var s;"object"==typeof t?t.exports=o:e.BN=o,o.BN=o,o.wordSize=26;try{s="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:i(79368).Buffer}catch(t){}function a(t,e){var i=t.charCodeAt(e);return i>=65&&i<=70?i-55:i>=97&&i<=102?i-87:i-48&15}function u(t,e,i){var n=a(t,i);return i-1>=e&&(n|=a(t,i-1)<<4),n}function c(t,e,i,n){for(var r=0,o=Math.min(t.length,i),s=e;s=49?a-49+10:a>=17?a-17+10:a}return r}o.isBN=function(t){return t instanceof o||null!==t&&"object"==typeof t&&t.constructor.wordSize===o.wordSize&&Array.isArray(t.words)},o.max=function(t,e){return t.cmp(e)>0?t:e},o.min=function(t,e){return t.cmp(e)<0?t:e},o.prototype._init=function(t,e,i){if("number"==typeof t)return this._initNumber(t,e,i);if("object"==typeof t)return this._initArray(t,e,i);"hex"===e&&(e=16),n(e===(0|e)&&e>=2&&e<=36);var r=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(r++,this.negative=1),r=0;r-=3)s=t[r]|t[r-1]<<8|t[r-2]<<16,this.words[o]|=s<>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);else if("le"===i)for(r=0,o=0;r>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);return this.strip()},o.prototype._parseHex=function(t,e,i){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var n=0;n=e;n-=2)r=u(t,e,n)<=18?(o-=18,s+=1,this.words[s]|=r>>>26):o+=8;else for(n=(t.length-e)%2==0?e+1:e;n=18?(o-=18,s+=1,this.words[s]|=r>>>26):o+=8;this.strip()},o.prototype._parseBase=function(t,e,i){this.words=[0],this.length=1;for(var n=0,r=1;r<=67108863;r*=e)n++;n--,r=r/e|0;for(var o=t.length-i,s=o%n,a=Math.min(o,o-s)+i,u=0,h=i;h1&&0===this.words[this.length-1];)this.length--;return this._normSign()},o.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},o.prototype.inspect=function(){return(this.red?""};var h=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],l=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],d=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function f(t,e,i){i.negative=e.negative^t.negative;var n=t.length+e.length|0;i.length=n,n=n-1|0;var r=0|t.words[0],o=0|e.words[0],s=r*o,a=67108863&s,u=s/67108864|0;i.words[0]=a;for(var c=1;c>>26,l=67108863&u,d=Math.min(c,e.length-1),f=Math.max(0,c-t.length+1);f<=d;f++){var p=c-f|0;h+=(s=(r=0|t.words[p])*(o=0|e.words[f])+l)/67108864|0,l=67108863&s}i.words[c]=0|l,u=0|h}return 0!==u?i.words[c]=0|u:i.length--,i.strip()}o.prototype.toString=function(t,e){var i;if(e=0|e||1,16===(t=t||10)||"hex"===t){i="";for(var r=0,o=0,s=0;s>>24-r&16777215,(r+=2)>=26&&(r-=26,s--),i=0!==o||s!==this.length-1?h[6-u.length]+u+i:u+i}for(0!==o&&(i=o.toString(16)+i);i.length%e!==0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}if(t===(0|t)&&t>=2&&t<=36){var c=l[t],f=d[t];i="";var p=this.clone();for(p.negative=0;!p.isZero();){var g=p.modn(f).toString(t);i=(p=p.idivn(f)).isZero()?g+i:h[c-g.length]+g+i}for(this.isZero()&&(i="0"+i);i.length%e!==0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}n(!1,"Base should be between 2 and 36")},o.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},o.prototype.toJSON=function(){return this.toString(16)},o.prototype.toBuffer=function(t,e){return n(void 0!==s),this.toArrayLike(s,t,e)},o.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},o.prototype.toArrayLike=function(t,e,i){var r=this.byteLength(),o=i||Math.max(1,r);n(r<=o,"byte array longer than desired length"),n(o>0,"Requested array length <= 0"),this.strip();var s,a,u="le"===e,c=new t(o),h=this.clone();if(u){for(a=0;!h.isZero();a++)s=h.andln(255),h.iushrn(8),c[a]=s;for(;a=4096&&(i+=13,e>>>=13),e>=64&&(i+=7,e>>>=7),e>=8&&(i+=4,e>>>=4),e>=2&&(i+=2,e>>>=2),i+e},o.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,i=0;return 8191&e||(i+=13,e>>>=13),127&e||(i+=7,e>>>=7),15&e||(i+=4,e>>>=4),3&e||(i+=2,e>>>=2),1&e||i++,i},o.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},o.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},o.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},o.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var i=0;it.length?this.clone().iand(t):t.clone().iand(this)},o.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},o.prototype.iuxor=function(t){var e,i;this.length>t.length?(e=this,i=t):(e=t,i=this);for(var n=0;nt.length?this.clone().ixor(t):t.clone().ixor(this)},o.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},o.prototype.inotn=function(t){n("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),i=t%26;this._expand(e),i>0&&e--;for(var r=0;r0&&(this.words[r]=~this.words[r]&67108863>>26-i),this.strip()},o.prototype.notn=function(t){return this.clone().inotn(t)},o.prototype.setn=function(t,e){n("number"==typeof t&&t>=0);var i=t/26|0,r=t%26;return this._expand(i+1),this.words[i]=e?this.words[i]|1<t.length?(i=this,n=t):(i=t,n=this);for(var r=0,o=0;o>>26;for(;0!==r&&o>>26;if(this.length=i.length,0!==r)this.words[this.length]=r,this.length++;else if(i!==this)for(;ot.length?this.clone().iadd(t):t.clone().iadd(this)},o.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var i,n,r=this.cmp(t);if(0===r)return this.negative=0,this.length=1,this.words[0]=0,this;r>0?(i=this,n=t):(i=t,n=this);for(var o=0,s=0;s>26,this.words[s]=67108863&e;for(;0!==o&&s>26,this.words[s]=67108863&e;if(0===o&&s>>13,f=0|s[1],p=8191&f,g=f>>>13,A=0|s[2],m=8191&A,v=A>>>13,b=0|s[3],y=8191&b,w=b>>>13,C=0|s[4],x=8191&C,k=C>>>13,_=0|s[5],M=8191&_,B=_>>>13,E=0|s[6],I=8191&E,S=E>>>13,D=0|s[7],T=8191&D,O=D>>>13,P=0|s[8],R=8191&P,z=P>>>13,N=0|s[9],H=8191&N,j=N>>>13,L=0|a[0],U=8191&L,q=L>>>13,F=0|a[1],W=8191&F,Y=F>>>13,Q=0|a[2],G=8191&Q,V=Q>>>13,K=0|a[3],X=8191&K,Z=K>>>13,J=0|a[4],$=8191&J,tt=J>>>13,et=0|a[5],it=8191&et,nt=et>>>13,rt=0|a[6],ot=8191&rt,st=rt>>>13,at=0|a[7],ut=8191&at,ct=at>>>13,ht=0|a[8],lt=8191&ht,dt=ht>>>13,ft=0|a[9],pt=8191&ft,gt=ft>>>13;i.negative=t.negative^e.negative,i.length=19;var At=(c+(n=Math.imul(l,U))|0)+((8191&(r=(r=Math.imul(l,q))+Math.imul(d,U)|0))<<13)|0;c=((o=Math.imul(d,q))+(r>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(p,U),r=(r=Math.imul(p,q))+Math.imul(g,U)|0,o=Math.imul(g,q);var mt=(c+(n=n+Math.imul(l,W)|0)|0)+((8191&(r=(r=r+Math.imul(l,Y)|0)+Math.imul(d,W)|0))<<13)|0;c=((o=o+Math.imul(d,Y)|0)+(r>>>13)|0)+(mt>>>26)|0,mt&=67108863,n=Math.imul(m,U),r=(r=Math.imul(m,q))+Math.imul(v,U)|0,o=Math.imul(v,q),n=n+Math.imul(p,W)|0,r=(r=r+Math.imul(p,Y)|0)+Math.imul(g,W)|0,o=o+Math.imul(g,Y)|0;var vt=(c+(n=n+Math.imul(l,G)|0)|0)+((8191&(r=(r=r+Math.imul(l,V)|0)+Math.imul(d,G)|0))<<13)|0;c=((o=o+Math.imul(d,V)|0)+(r>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(y,U),r=(r=Math.imul(y,q))+Math.imul(w,U)|0,o=Math.imul(w,q),n=n+Math.imul(m,W)|0,r=(r=r+Math.imul(m,Y)|0)+Math.imul(v,W)|0,o=o+Math.imul(v,Y)|0,n=n+Math.imul(p,G)|0,r=(r=r+Math.imul(p,V)|0)+Math.imul(g,G)|0,o=o+Math.imul(g,V)|0;var bt=(c+(n=n+Math.imul(l,X)|0)|0)+((8191&(r=(r=r+Math.imul(l,Z)|0)+Math.imul(d,X)|0))<<13)|0;c=((o=o+Math.imul(d,Z)|0)+(r>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(x,U),r=(r=Math.imul(x,q))+Math.imul(k,U)|0,o=Math.imul(k,q),n=n+Math.imul(y,W)|0,r=(r=r+Math.imul(y,Y)|0)+Math.imul(w,W)|0,o=o+Math.imul(w,Y)|0,n=n+Math.imul(m,G)|0,r=(r=r+Math.imul(m,V)|0)+Math.imul(v,G)|0,o=o+Math.imul(v,V)|0,n=n+Math.imul(p,X)|0,r=(r=r+Math.imul(p,Z)|0)+Math.imul(g,X)|0,o=o+Math.imul(g,Z)|0;var yt=(c+(n=n+Math.imul(l,$)|0)|0)+((8191&(r=(r=r+Math.imul(l,tt)|0)+Math.imul(d,$)|0))<<13)|0;c=((o=o+Math.imul(d,tt)|0)+(r>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(M,U),r=(r=Math.imul(M,q))+Math.imul(B,U)|0,o=Math.imul(B,q),n=n+Math.imul(x,W)|0,r=(r=r+Math.imul(x,Y)|0)+Math.imul(k,W)|0,o=o+Math.imul(k,Y)|0,n=n+Math.imul(y,G)|0,r=(r=r+Math.imul(y,V)|0)+Math.imul(w,G)|0,o=o+Math.imul(w,V)|0,n=n+Math.imul(m,X)|0,r=(r=r+Math.imul(m,Z)|0)+Math.imul(v,X)|0,o=o+Math.imul(v,Z)|0,n=n+Math.imul(p,$)|0,r=(r=r+Math.imul(p,tt)|0)+Math.imul(g,$)|0,o=o+Math.imul(g,tt)|0;var wt=(c+(n=n+Math.imul(l,it)|0)|0)+((8191&(r=(r=r+Math.imul(l,nt)|0)+Math.imul(d,it)|0))<<13)|0;c=((o=o+Math.imul(d,nt)|0)+(r>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(I,U),r=(r=Math.imul(I,q))+Math.imul(S,U)|0,o=Math.imul(S,q),n=n+Math.imul(M,W)|0,r=(r=r+Math.imul(M,Y)|0)+Math.imul(B,W)|0,o=o+Math.imul(B,Y)|0,n=n+Math.imul(x,G)|0,r=(r=r+Math.imul(x,V)|0)+Math.imul(k,G)|0,o=o+Math.imul(k,V)|0,n=n+Math.imul(y,X)|0,r=(r=r+Math.imul(y,Z)|0)+Math.imul(w,X)|0,o=o+Math.imul(w,Z)|0,n=n+Math.imul(m,$)|0,r=(r=r+Math.imul(m,tt)|0)+Math.imul(v,$)|0,o=o+Math.imul(v,tt)|0,n=n+Math.imul(p,it)|0,r=(r=r+Math.imul(p,nt)|0)+Math.imul(g,it)|0,o=o+Math.imul(g,nt)|0;var Ct=(c+(n=n+Math.imul(l,ot)|0)|0)+((8191&(r=(r=r+Math.imul(l,st)|0)+Math.imul(d,ot)|0))<<13)|0;c=((o=o+Math.imul(d,st)|0)+(r>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,n=Math.imul(T,U),r=(r=Math.imul(T,q))+Math.imul(O,U)|0,o=Math.imul(O,q),n=n+Math.imul(I,W)|0,r=(r=r+Math.imul(I,Y)|0)+Math.imul(S,W)|0,o=o+Math.imul(S,Y)|0,n=n+Math.imul(M,G)|0,r=(r=r+Math.imul(M,V)|0)+Math.imul(B,G)|0,o=o+Math.imul(B,V)|0,n=n+Math.imul(x,X)|0,r=(r=r+Math.imul(x,Z)|0)+Math.imul(k,X)|0,o=o+Math.imul(k,Z)|0,n=n+Math.imul(y,$)|0,r=(r=r+Math.imul(y,tt)|0)+Math.imul(w,$)|0,o=o+Math.imul(w,tt)|0,n=n+Math.imul(m,it)|0,r=(r=r+Math.imul(m,nt)|0)+Math.imul(v,it)|0,o=o+Math.imul(v,nt)|0,n=n+Math.imul(p,ot)|0,r=(r=r+Math.imul(p,st)|0)+Math.imul(g,ot)|0,o=o+Math.imul(g,st)|0;var xt=(c+(n=n+Math.imul(l,ut)|0)|0)+((8191&(r=(r=r+Math.imul(l,ct)|0)+Math.imul(d,ut)|0))<<13)|0;c=((o=o+Math.imul(d,ct)|0)+(r>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(R,U),r=(r=Math.imul(R,q))+Math.imul(z,U)|0,o=Math.imul(z,q),n=n+Math.imul(T,W)|0,r=(r=r+Math.imul(T,Y)|0)+Math.imul(O,W)|0,o=o+Math.imul(O,Y)|0,n=n+Math.imul(I,G)|0,r=(r=r+Math.imul(I,V)|0)+Math.imul(S,G)|0,o=o+Math.imul(S,V)|0,n=n+Math.imul(M,X)|0,r=(r=r+Math.imul(M,Z)|0)+Math.imul(B,X)|0,o=o+Math.imul(B,Z)|0,n=n+Math.imul(x,$)|0,r=(r=r+Math.imul(x,tt)|0)+Math.imul(k,$)|0,o=o+Math.imul(k,tt)|0,n=n+Math.imul(y,it)|0,r=(r=r+Math.imul(y,nt)|0)+Math.imul(w,it)|0,o=o+Math.imul(w,nt)|0,n=n+Math.imul(m,ot)|0,r=(r=r+Math.imul(m,st)|0)+Math.imul(v,ot)|0,o=o+Math.imul(v,st)|0,n=n+Math.imul(p,ut)|0,r=(r=r+Math.imul(p,ct)|0)+Math.imul(g,ut)|0,o=o+Math.imul(g,ct)|0;var kt=(c+(n=n+Math.imul(l,lt)|0)|0)+((8191&(r=(r=r+Math.imul(l,dt)|0)+Math.imul(d,lt)|0))<<13)|0;c=((o=o+Math.imul(d,dt)|0)+(r>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(H,U),r=(r=Math.imul(H,q))+Math.imul(j,U)|0,o=Math.imul(j,q),n=n+Math.imul(R,W)|0,r=(r=r+Math.imul(R,Y)|0)+Math.imul(z,W)|0,o=o+Math.imul(z,Y)|0,n=n+Math.imul(T,G)|0,r=(r=r+Math.imul(T,V)|0)+Math.imul(O,G)|0,o=o+Math.imul(O,V)|0,n=n+Math.imul(I,X)|0,r=(r=r+Math.imul(I,Z)|0)+Math.imul(S,X)|0,o=o+Math.imul(S,Z)|0,n=n+Math.imul(M,$)|0,r=(r=r+Math.imul(M,tt)|0)+Math.imul(B,$)|0,o=o+Math.imul(B,tt)|0,n=n+Math.imul(x,it)|0,r=(r=r+Math.imul(x,nt)|0)+Math.imul(k,it)|0,o=o+Math.imul(k,nt)|0,n=n+Math.imul(y,ot)|0,r=(r=r+Math.imul(y,st)|0)+Math.imul(w,ot)|0,o=o+Math.imul(w,st)|0,n=n+Math.imul(m,ut)|0,r=(r=r+Math.imul(m,ct)|0)+Math.imul(v,ut)|0,o=o+Math.imul(v,ct)|0,n=n+Math.imul(p,lt)|0,r=(r=r+Math.imul(p,dt)|0)+Math.imul(g,lt)|0,o=o+Math.imul(g,dt)|0;var _t=(c+(n=n+Math.imul(l,pt)|0)|0)+((8191&(r=(r=r+Math.imul(l,gt)|0)+Math.imul(d,pt)|0))<<13)|0;c=((o=o+Math.imul(d,gt)|0)+(r>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(H,W),r=(r=Math.imul(H,Y))+Math.imul(j,W)|0,o=Math.imul(j,Y),n=n+Math.imul(R,G)|0,r=(r=r+Math.imul(R,V)|0)+Math.imul(z,G)|0,o=o+Math.imul(z,V)|0,n=n+Math.imul(T,X)|0,r=(r=r+Math.imul(T,Z)|0)+Math.imul(O,X)|0,o=o+Math.imul(O,Z)|0,n=n+Math.imul(I,$)|0,r=(r=r+Math.imul(I,tt)|0)+Math.imul(S,$)|0,o=o+Math.imul(S,tt)|0,n=n+Math.imul(M,it)|0,r=(r=r+Math.imul(M,nt)|0)+Math.imul(B,it)|0,o=o+Math.imul(B,nt)|0,n=n+Math.imul(x,ot)|0,r=(r=r+Math.imul(x,st)|0)+Math.imul(k,ot)|0,o=o+Math.imul(k,st)|0,n=n+Math.imul(y,ut)|0,r=(r=r+Math.imul(y,ct)|0)+Math.imul(w,ut)|0,o=o+Math.imul(w,ct)|0,n=n+Math.imul(m,lt)|0,r=(r=r+Math.imul(m,dt)|0)+Math.imul(v,lt)|0,o=o+Math.imul(v,dt)|0;var Mt=(c+(n=n+Math.imul(p,pt)|0)|0)+((8191&(r=(r=r+Math.imul(p,gt)|0)+Math.imul(g,pt)|0))<<13)|0;c=((o=o+Math.imul(g,gt)|0)+(r>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(H,G),r=(r=Math.imul(H,V))+Math.imul(j,G)|0,o=Math.imul(j,V),n=n+Math.imul(R,X)|0,r=(r=r+Math.imul(R,Z)|0)+Math.imul(z,X)|0,o=o+Math.imul(z,Z)|0,n=n+Math.imul(T,$)|0,r=(r=r+Math.imul(T,tt)|0)+Math.imul(O,$)|0,o=o+Math.imul(O,tt)|0,n=n+Math.imul(I,it)|0,r=(r=r+Math.imul(I,nt)|0)+Math.imul(S,it)|0,o=o+Math.imul(S,nt)|0,n=n+Math.imul(M,ot)|0,r=(r=r+Math.imul(M,st)|0)+Math.imul(B,ot)|0,o=o+Math.imul(B,st)|0,n=n+Math.imul(x,ut)|0,r=(r=r+Math.imul(x,ct)|0)+Math.imul(k,ut)|0,o=o+Math.imul(k,ct)|0,n=n+Math.imul(y,lt)|0,r=(r=r+Math.imul(y,dt)|0)+Math.imul(w,lt)|0,o=o+Math.imul(w,dt)|0;var Bt=(c+(n=n+Math.imul(m,pt)|0)|0)+((8191&(r=(r=r+Math.imul(m,gt)|0)+Math.imul(v,pt)|0))<<13)|0;c=((o=o+Math.imul(v,gt)|0)+(r>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,n=Math.imul(H,X),r=(r=Math.imul(H,Z))+Math.imul(j,X)|0,o=Math.imul(j,Z),n=n+Math.imul(R,$)|0,r=(r=r+Math.imul(R,tt)|0)+Math.imul(z,$)|0,o=o+Math.imul(z,tt)|0,n=n+Math.imul(T,it)|0,r=(r=r+Math.imul(T,nt)|0)+Math.imul(O,it)|0,o=o+Math.imul(O,nt)|0,n=n+Math.imul(I,ot)|0,r=(r=r+Math.imul(I,st)|0)+Math.imul(S,ot)|0,o=o+Math.imul(S,st)|0,n=n+Math.imul(M,ut)|0,r=(r=r+Math.imul(M,ct)|0)+Math.imul(B,ut)|0,o=o+Math.imul(B,ct)|0,n=n+Math.imul(x,lt)|0,r=(r=r+Math.imul(x,dt)|0)+Math.imul(k,lt)|0,o=o+Math.imul(k,dt)|0;var Et=(c+(n=n+Math.imul(y,pt)|0)|0)+((8191&(r=(r=r+Math.imul(y,gt)|0)+Math.imul(w,pt)|0))<<13)|0;c=((o=o+Math.imul(w,gt)|0)+(r>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(H,$),r=(r=Math.imul(H,tt))+Math.imul(j,$)|0,o=Math.imul(j,tt),n=n+Math.imul(R,it)|0,r=(r=r+Math.imul(R,nt)|0)+Math.imul(z,it)|0,o=o+Math.imul(z,nt)|0,n=n+Math.imul(T,ot)|0,r=(r=r+Math.imul(T,st)|0)+Math.imul(O,ot)|0,o=o+Math.imul(O,st)|0,n=n+Math.imul(I,ut)|0,r=(r=r+Math.imul(I,ct)|0)+Math.imul(S,ut)|0,o=o+Math.imul(S,ct)|0,n=n+Math.imul(M,lt)|0,r=(r=r+Math.imul(M,dt)|0)+Math.imul(B,lt)|0,o=o+Math.imul(B,dt)|0;var It=(c+(n=n+Math.imul(x,pt)|0)|0)+((8191&(r=(r=r+Math.imul(x,gt)|0)+Math.imul(k,pt)|0))<<13)|0;c=((o=o+Math.imul(k,gt)|0)+(r>>>13)|0)+(It>>>26)|0,It&=67108863,n=Math.imul(H,it),r=(r=Math.imul(H,nt))+Math.imul(j,it)|0,o=Math.imul(j,nt),n=n+Math.imul(R,ot)|0,r=(r=r+Math.imul(R,st)|0)+Math.imul(z,ot)|0,o=o+Math.imul(z,st)|0,n=n+Math.imul(T,ut)|0,r=(r=r+Math.imul(T,ct)|0)+Math.imul(O,ut)|0,o=o+Math.imul(O,ct)|0,n=n+Math.imul(I,lt)|0,r=(r=r+Math.imul(I,dt)|0)+Math.imul(S,lt)|0,o=o+Math.imul(S,dt)|0;var St=(c+(n=n+Math.imul(M,pt)|0)|0)+((8191&(r=(r=r+Math.imul(M,gt)|0)+Math.imul(B,pt)|0))<<13)|0;c=((o=o+Math.imul(B,gt)|0)+(r>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(H,ot),r=(r=Math.imul(H,st))+Math.imul(j,ot)|0,o=Math.imul(j,st),n=n+Math.imul(R,ut)|0,r=(r=r+Math.imul(R,ct)|0)+Math.imul(z,ut)|0,o=o+Math.imul(z,ct)|0,n=n+Math.imul(T,lt)|0,r=(r=r+Math.imul(T,dt)|0)+Math.imul(O,lt)|0,o=o+Math.imul(O,dt)|0;var Dt=(c+(n=n+Math.imul(I,pt)|0)|0)+((8191&(r=(r=r+Math.imul(I,gt)|0)+Math.imul(S,pt)|0))<<13)|0;c=((o=o+Math.imul(S,gt)|0)+(r>>>13)|0)+(Dt>>>26)|0,Dt&=67108863,n=Math.imul(H,ut),r=(r=Math.imul(H,ct))+Math.imul(j,ut)|0,o=Math.imul(j,ct),n=n+Math.imul(R,lt)|0,r=(r=r+Math.imul(R,dt)|0)+Math.imul(z,lt)|0,o=o+Math.imul(z,dt)|0;var Tt=(c+(n=n+Math.imul(T,pt)|0)|0)+((8191&(r=(r=r+Math.imul(T,gt)|0)+Math.imul(O,pt)|0))<<13)|0;c=((o=o+Math.imul(O,gt)|0)+(r>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(H,lt),r=(r=Math.imul(H,dt))+Math.imul(j,lt)|0,o=Math.imul(j,dt);var Ot=(c+(n=n+Math.imul(R,pt)|0)|0)+((8191&(r=(r=r+Math.imul(R,gt)|0)+Math.imul(z,pt)|0))<<13)|0;c=((o=o+Math.imul(z,gt)|0)+(r>>>13)|0)+(Ot>>>26)|0,Ot&=67108863;var Pt=(c+(n=Math.imul(H,pt))|0)+((8191&(r=(r=Math.imul(H,gt))+Math.imul(j,pt)|0))<<13)|0;return c=((o=Math.imul(j,gt))+(r>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,u[0]=At,u[1]=mt,u[2]=vt,u[3]=bt,u[4]=yt,u[5]=wt,u[6]=Ct,u[7]=xt,u[8]=kt,u[9]=_t,u[10]=Mt,u[11]=Bt,u[12]=Et,u[13]=It,u[14]=St,u[15]=Dt,u[16]=Tt,u[17]=Ot,u[18]=Pt,0!==c&&(u[19]=c,i.length++),i};function g(t,e,i){return(new A).mulp(t,e,i)}function A(t,e){this.x=t,this.y=e}Math.imul||(p=f),o.prototype.mulTo=function(t,e){var i,n=this.length+t.length;return i=10===this.length&&10===t.length?p(this,t,e):n<63?f(this,t,e):n<1024?function(t,e,i){i.negative=e.negative^t.negative,i.length=t.length+e.length;for(var n=0,r=0,o=0;o>>26)|0)>>>26,s&=67108863}i.words[o]=a,n=s,s=r}return 0!==n?i.words[o]=n:i.length--,i.strip()}(this,t,e):g(this,t,e),i},A.prototype.makeRBT=function(t){for(var e=new Array(t),i=o.prototype._countBits(t)-1,n=0;n>=1;return n},A.prototype.permute=function(t,e,i,n,r,o){for(var s=0;s>>=1)r++;return 1<>>=13,i[2*s+1]=8191&o,o>>>=13;for(s=2*e;s>=26,e+=r/67108864|0,e+=o>>>26,this.words[i]=67108863&o}return 0!==e&&(this.words[i]=e,this.length++),this.length=0===t?1:this.length,this},o.prototype.muln=function(t){return this.clone().imuln(t)},o.prototype.sqr=function(){return this.mul(this)},o.prototype.isqr=function(){return this.imul(this.clone())},o.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),i=0;i>>r}return e}(t);if(0===e.length)return new o(1);for(var i=this,n=0;n=0);var e,i=t%26,r=(t-i)/26,o=67108863>>>26-i<<26-i;if(0!==i){var s=0;for(e=0;e>>26-i}s&&(this.words[e]=s,this.length++)}if(0!==r){for(e=this.length-1;e>=0;e--)this.words[e+r]=this.words[e];for(e=0;e=0),r=e?(e-e%26)/26:0;var o=t%26,s=Math.min((t-o)/26,this.length),a=67108863^67108863>>>o<s)for(this.length-=s,c=0;c=0&&(0!==h||c>=r);c--){var l=0|this.words[c];this.words[c]=h<<26-o|l>>>o,h=l&a}return u&&0!==h&&(u.words[u.length++]=h),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},o.prototype.ishrn=function(t,e,i){return n(0===this.negative),this.iushrn(t,e,i)},o.prototype.shln=function(t){return this.clone().ishln(t)},o.prototype.ushln=function(t){return this.clone().iushln(t)},o.prototype.shrn=function(t){return this.clone().ishrn(t)},o.prototype.ushrn=function(t){return this.clone().iushrn(t)},o.prototype.testn=function(t){n("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26,r=1<=0);var e=t%26,i=(t-e)/26;if(n(0===this.negative,"imaskn works only with positive numbers"),this.length<=i)return this;if(0!==e&&i++,this.length=Math.min(i,this.length),0!==e){var r=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},o.prototype.isubn=function(t){if(n("number"==typeof t),n(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(u/67108864|0),this.words[r+i]=67108863&o}for(;r>26,this.words[r+i]=67108863&o;if(0===a)return this.strip();for(n(-1===a),a=0,r=0;r>26,this.words[r]=67108863&o;return this.negative=1,this.strip()},o.prototype._wordDiv=function(t,e){var i=(this.length,t.length),n=this.clone(),r=t,s=0|r.words[r.length-1];0!=(i=26-this._countBits(s))&&(r=r.ushln(i),n.iushln(i),s=0|r.words[r.length-1]);var a,u=n.length-r.length;if("mod"!==e){(a=new o(null)).length=u+1,a.words=new Array(a.length);for(var c=0;c=0;l--){var d=67108864*(0|n.words[r.length+l])+(0|n.words[r.length+l-1]);for(d=Math.min(d/s|0,67108863),n._ishlnsubmul(r,d,l);0!==n.negative;)d--,n.negative=0,n._ishlnsubmul(r,1,l),n.isZero()||(n.negative^=1);a&&(a.words[l]=d)}return a&&a.strip(),n.strip(),"div"!==e&&0!==i&&n.iushrn(i),{div:a||null,mod:n}},o.prototype.divmod=function(t,e,i){return n(!t.isZero()),this.isZero()?{div:new o(0),mod:new o(0)}:0!==this.negative&&0===t.negative?(a=this.neg().divmod(t,e),"mod"!==e&&(r=a.div.neg()),"div"!==e&&(s=a.mod.neg(),i&&0!==s.negative&&s.iadd(t)),{div:r,mod:s}):0===this.negative&&0!==t.negative?(a=this.divmod(t.neg(),e),"mod"!==e&&(r=a.div.neg()),{div:r,mod:a.mod}):0!==(this.negative&t.negative)?(a=this.neg().divmod(t.neg(),e),"div"!==e&&(s=a.mod.neg(),i&&0!==s.negative&&s.isub(t)),{div:a.div,mod:s}):t.length>this.length||this.cmp(t)<0?{div:new o(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new o(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new o(this.modn(t.words[0]))}:this._wordDiv(t,e);var r,s,a},o.prototype.div=function(t){return this.divmod(t,"div",!1).div},o.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},o.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},o.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var i=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),r=t.andln(1),o=i.cmp(n);return o<0||1===r&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},o.prototype.modn=function(t){n(t<=67108863);for(var e=(1<<26)%t,i=0,r=this.length-1;r>=0;r--)i=(e*i+(0|this.words[r]))%t;return i},o.prototype.idivn=function(t){n(t<=67108863);for(var e=0,i=this.length-1;i>=0;i--){var r=(0|this.words[i])+67108864*e;this.words[i]=r/t|0,e=r%t}return this.strip()},o.prototype.divn=function(t){return this.clone().idivn(t)},o.prototype.egcd=function(t){n(0===t.negative),n(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var r=new o(1),s=new o(0),a=new o(0),u=new o(1),c=0;e.isEven()&&i.isEven();)e.iushrn(1),i.iushrn(1),++c;for(var h=i.clone(),l=e.clone();!e.isZero();){for(var d=0,f=1;0===(e.words[0]&f)&&d<26;++d,f<<=1);if(d>0)for(e.iushrn(d);d-- >0;)(r.isOdd()||s.isOdd())&&(r.iadd(h),s.isub(l)),r.iushrn(1),s.iushrn(1);for(var p=0,g=1;0===(i.words[0]&g)&&p<26;++p,g<<=1);if(p>0)for(i.iushrn(p);p-- >0;)(a.isOdd()||u.isOdd())&&(a.iadd(h),u.isub(l)),a.iushrn(1),u.iushrn(1);e.cmp(i)>=0?(e.isub(i),r.isub(a),s.isub(u)):(i.isub(e),a.isub(r),u.isub(s))}return{a,b:u,gcd:i.iushln(c)}},o.prototype._invmp=function(t){n(0===t.negative),n(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var r,s=new o(1),a=new o(0),u=i.clone();e.cmpn(1)>0&&i.cmpn(1)>0;){for(var c=0,h=1;0===(e.words[0]&h)&&c<26;++c,h<<=1);if(c>0)for(e.iushrn(c);c-- >0;)s.isOdd()&&s.iadd(u),s.iushrn(1);for(var l=0,d=1;0===(i.words[0]&d)&&l<26;++l,d<<=1);if(l>0)for(i.iushrn(l);l-- >0;)a.isOdd()&&a.iadd(u),a.iushrn(1);e.cmp(i)>=0?(e.isub(i),s.isub(a)):(i.isub(e),a.isub(s))}return(r=0===e.cmpn(1)?s:a).cmpn(0)<0&&r.iadd(t),r},o.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),i=t.clone();e.negative=0,i.negative=0;for(var n=0;e.isEven()&&i.isEven();n++)e.iushrn(1),i.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;i.isEven();)i.iushrn(1);var r=e.cmp(i);if(r<0){var o=e;e=i,i=o}else if(0===r||0===i.cmpn(1))break;e.isub(i)}return i.iushln(n)},o.prototype.invm=function(t){return this.egcd(t).a.umod(t)},o.prototype.isEven=function(){return!(1&this.words[0])},o.prototype.isOdd=function(){return!(1&~this.words[0])},o.prototype.andln=function(t){return this.words[0]&t},o.prototype.bincn=function(t){n("number"==typeof t);var e=t%26,i=(t-e)/26,r=1<>>26,a&=67108863,this.words[s]=a}return 0!==o&&(this.words[s]=o,this.length++),this},o.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},o.prototype.cmpn=function(t){var e,i=t<0;if(0!==this.negative&&!i)return-1;if(0===this.negative&&i)return 1;if(this.strip(),this.length>1)e=1;else{i&&(t=-t),n(t<=67108863,"Number is too big");var r=0|this.words[0];e=r===t?0:rt.length)return 1;if(this.length=0;i--){var n=0|this.words[i],r=0|t.words[i];if(n!==r){nr&&(e=1);break}}return e},o.prototype.gtn=function(t){return 1===this.cmpn(t)},o.prototype.gt=function(t){return 1===this.cmp(t)},o.prototype.gten=function(t){return this.cmpn(t)>=0},o.prototype.gte=function(t){return this.cmp(t)>=0},o.prototype.ltn=function(t){return-1===this.cmpn(t)},o.prototype.lt=function(t){return-1===this.cmp(t)},o.prototype.lten=function(t){return this.cmpn(t)<=0},o.prototype.lte=function(t){return this.cmp(t)<=0},o.prototype.eqn=function(t){return 0===this.cmpn(t)},o.prototype.eq=function(t){return 0===this.cmp(t)},o.red=function(t){return new x(t)},o.prototype.toRed=function(t){return n(!this.red,"Already a number in reduction context"),n(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},o.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},o.prototype._forceRed=function(t){return this.red=t,this},o.prototype.forceRed=function(t){return n(!this.red,"Already a number in reduction context"),this._forceRed(t)},o.prototype.redAdd=function(t){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},o.prototype.redIAdd=function(t){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},o.prototype.redSub=function(t){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},o.prototype.redISub=function(t){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},o.prototype.redShl=function(t){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},o.prototype.redMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},o.prototype.redIMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},o.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},o.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},o.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},o.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},o.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},o.prototype.redPow=function(t){return n(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var m={k256:null,p224:null,p192:null,p25519:null};function v(t,e){this.name=t,this.p=new o(e,16),this.n=this.p.bitLength(),this.k=new o(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function b(){v.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function y(){v.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function w(){v.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function C(){v.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function x(t){if("string"==typeof t){var e=o._prime(t);this.m=e.p,this.prime=e}else n(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function k(t){x.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new o(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}v.prototype._tmp=function(){var t=new o(null);return t.words=new Array(Math.ceil(this.n/13)),t},v.prototype.ireduce=function(t){var e,i=t;do{this.split(i,this.tmp),e=(i=(i=this.imulK(i)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e0?i.isub(this.p):void 0!==i.strip?i.strip():i._strip(),i},v.prototype.split=function(t,e){t.iushrn(this.n,0,e)},v.prototype.imulK=function(t){return t.imul(this.k)},r(b,v),b.prototype.split=function(t,e){for(var i=4194303,n=Math.min(t.length,9),r=0;r>>22,o=s}o>>>=22,t.words[r-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},b.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,i=0;i>>=26,t.words[i]=r,e=n}return 0!==e&&(t.words[t.length++]=e),t},o._prime=function(t){if(m[t])return m[t];var e;if("k256"===t)e=new b;else if("p224"===t)e=new y;else if("p192"===t)e=new w;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new C}return m[t]=e,e},x.prototype._verify1=function(t){n(0===t.negative,"red works only with positives"),n(t.red,"red works only with red numbers")},x.prototype._verify2=function(t,e){n(0===(t.negative|e.negative),"red works only with positives"),n(t.red&&t.red===e.red,"red works only with red numbers")},x.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},x.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},x.prototype.add=function(t,e){this._verify2(t,e);var i=t.add(e);return i.cmp(this.m)>=0&&i.isub(this.m),i._forceRed(this)},x.prototype.iadd=function(t,e){this._verify2(t,e);var i=t.iadd(e);return i.cmp(this.m)>=0&&i.isub(this.m),i},x.prototype.sub=function(t,e){this._verify2(t,e);var i=t.sub(e);return i.cmpn(0)<0&&i.iadd(this.m),i._forceRed(this)},x.prototype.isub=function(t,e){this._verify2(t,e);var i=t.isub(e);return i.cmpn(0)<0&&i.iadd(this.m),i},x.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},x.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},x.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},x.prototype.isqr=function(t){return this.imul(t,t.clone())},x.prototype.sqr=function(t){return this.mul(t,t)},x.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(n(e%2==1),3===e){var i=this.m.add(new o(1)).iushrn(2);return this.pow(t,i)}for(var r=this.m.subn(1),s=0;!r.isZero()&&0===r.andln(1);)s++,r.iushrn(1);n(!r.isZero());var a=new o(1).toRed(this),u=a.redNeg(),c=this.m.subn(1).iushrn(1),h=this.m.bitLength();for(h=new o(2*h*h).toRed(this);0!==this.pow(h,c).cmp(u);)h.redIAdd(u);for(var l=this.pow(h,r),d=this.pow(t,r.addn(1).iushrn(1)),f=this.pow(t,r),p=s;0!==f.cmp(a);){for(var g=f,A=0;0!==g.cmp(a);A++)g=g.redSqr();n(A=0;n--){for(var c=e.words[n],h=u-1;h>=0;h--){var l=c>>h&1;r!==i[0]&&(r=this.sqr(r)),0!==l||0!==s?(s<<=1,s|=l,(4===++a||0===n&&0===h)&&(r=this.mul(r,i[s]),a=0,s=0)):a=0}u=26}return r},x.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},x.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},o.mont=function(t){return new k(t)},r(k,x),k.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},k.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},k.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var i=t.imul(e),n=i.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),r=i.isub(n).iushrn(this.shift),o=r;return r.cmp(this.m)>=0?o=r.isub(this.m):r.cmpn(0)<0&&(o=r.iadd(this.m)),o._forceRed(this)},k.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new o(0)._forceRed(this);var i=t.mul(e),n=i.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),r=i.isub(n).iushrn(this.shift),s=r;return r.cmp(this.m)>=0?s=r.isub(this.m):r.cmpn(0)<0&&(s=r.iadd(this.m)),s._forceRed(this)},k.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(t=i.nmd(t),this)},68078(t,e,i){var n=i(92861).Buffer,r=i(88276);t.exports=function(t,e,i,o){if(n.isBuffer(t)||(t=n.from(t,"binary")),e&&(n.isBuffer(e)||(e=n.from(e,"binary")),8!==e.length))throw new RangeError("salt should be Buffer with 8 byte length");for(var s=i/8,a=n.alloc(s),u=n.alloc(o||0),c=n.alloc(0);s>0||o>0;){var h=new r;h.update(c),h.update(t),e&&h.update(e),c=h.digest();var l=0;if(s>0){var d=a.length-s;l=Math.min(s,c.length),c.copy(a,d,0,l),s-=l}if(l0){var f=u.length-o,p=Math.min(o,c.length-l);c.copy(u,f,l,l+p),o-=p}}return c.fill(0),{key:a,iv:u}}},78112(t){const e={_XML_CHAR_MAP:{"<":"<",">":">","&":"&",'"':""","'":"'"},_escapeXml:function(t){return t.replace(/[<>&"']/g,function(t){return e._XML_CHAR_MAP[t]})},Client:function(t){var e;for(e in t)this[e]=t[e]}};e.Client.prototype={baseUrl:null,userName:null,password:null,xmlNamespaces:{"DAV:":"d"},propFind:function(t,e,i,n){void 0===i&&(i="0"),i=""+i,(n=n||{}).Depth=i,n["Content-Type"]="application/xml; charset=utf-8";var r,o='\n\n":o+=" \n'}return o+=" \n",o+="",this.request("PROPFIND",t,n,o).then(function(t){return"0"===i?{status:t.status,body:t.body[0],xhr:t.xhr}:{status:t.status,body:t.body,xhr:t.xhr}}.bind(this))},_renderPropSet:function(t){var i=" \n \n";for(var n in t)if(t.hasOwnProperty(n)){var r,o=this.parseClarkNotation(n),s=t[n];"d:resourcetype"!=(r=this.xmlNamespaces[o.namespace]?this.xmlNamespaces[o.namespace]+":"+o.name:"x:"+o.name+' xmlns:x="'+o.namespace+'"')&&(s=e._escapeXml(s)),i+=" <"+r+">"+s+"\n"}return(i+=" \n")+" \n"},propPatch:function(t,e,i){(i=i||{})["Content-Type"]="application/xml; charset=utf-8";var n,r='\n0){for(var i=[],n=0;n= 2.0.0-beta.1",7:">= 4.0.0 <4.3.0",8:">= 4.3.0"};var h="[object Object]";function l(t,e,i){this.helpers=t||{},this.partials=e||{},this.decorators=i||{},s.registerDefaultHelpers(this),a.registerDefaultDecorators(this)}l.prototype={constructor:l,logger:u.default,log:u.default.log,registerHelper:function(t,e){if(r.toString.call(t)===h){if(e)throw new o.default("Arg not supported with multiple helpers");r.extend(this.helpers,t)}else this.helpers[t]=e},unregisterHelper:function(t){delete this.helpers[t]},registerPartial:function(t,e){if(r.toString.call(t)===h)r.extend(this.partials,t);else{if(void 0===e)throw new o.default('Attempting to register a partial called "'+t+'" as undefined');this.partials[t]=e}},unregisterPartial:function(t){delete this.partials[t]},registerDecorator:function(t,e){if(r.toString.call(t)===h){if(e)throw new o.default("Arg not supported with multiple decorators");r.extend(this.decorators,t)}else this.decorators[t]=e},unregisterDecorator:function(t){delete this.decorators[t]},resetLoggedPropertyAccesses:function(){c.resetLoggedProperties()}};var d=u.default.log;e.log=d,e.createFrame=r.createFrame,e.logger=u.default},75940(t,e,i){"use strict";e.__esModule=!0,e.registerDefaultDecorators=function(t){r.default(t)};var n,r=(n=i(77430))&&n.__esModule?n:{default:n}},77430(t,e,i){"use strict";e.__esModule=!0;var n=i(82849);e.default=function(t){t.registerDecorator("inline",function(t,e,i,r){var o=t;return e.partials||(e.partials={},o=function(r,o){var s=i.partials;i.partials=n.extend({},s,e.partials);var a=t(r,o);return i.partials=s,a}),e.partials[r.args[0]]=r.fn,o})},t.exports=e.default},13769(t,e){"use strict";e.__esModule=!0;var i=["description","fileName","lineNumber","endLineNumber","message","name","number","stack"];function n(t,e){var r=e&&e.loc,o=void 0,s=void 0,a=void 0,u=void 0;r&&(o=r.start.line,s=r.end.line,a=r.start.column,u=r.end.column,t+=" - "+o+":"+a);for(var c=Error.prototype.constructor.call(this,t),h=0;h0?(i.ids&&(i.ids=[i.name]),t.helpers.each(e,i)):r(this);if(i.data&&i.ids){var s=n.createFrame(i.data);s.contextPath=n.appendContextPath(i.data.contextPath,i.name),i={data:s}}return o(e,i)})},t.exports=e.default},46785(t,e,i){"use strict";e.__esModule=!0;var n,r=i(82849),o=(n=i(13769))&&n.__esModule?n:{default:n};e.default=function(t){t.registerHelper("each",function(t,e){if(!e)throw new o.default("Must pass iterator to #each");var i,n=e.fn,s=e.inverse,a=0,u="",c=void 0,h=void 0;function l(e,i,o){c&&(c.key=e,c.index=i,c.first=0===i,c.last=!!o,h&&(c.contextPath=h+e)),u+=n(t[e],{data:c,blockParams:r.blockParams([t[e],e],[h+e,null])})}if(e.data&&e.ids&&(h=r.appendContextPath(e.data.contextPath,e.ids[0])+"."),r.isFunction(t)&&(t=t.call(this)),e.data&&(c=r.createFrame(e.data)),t&&"object"==typeof t)if(r.isArray(t))for(var d=t.length;a=0?e:parseInt(t,10)}return t},log:function(t){if(t=r.lookupLevel(t),"undefined"!=typeof console&&r.lookupLevel(r.level)<=t){var e=r.methodMap[t];console[e]||(e="log");for(var i=arguments.length,n=Array(i>1?i-1:0),o=1;o=s.LAST_COMPATIBLE_COMPILER_REVISION&&e<=s.COMPILER_REVISION)){if(e":">",'"':""","'":"'","`":"`","=":"="},n=/[&<>"'`=]/g,r=/[&<>"'`=]/;function o(t){return i[t]}function s(t){for(var e=1;e=this._blockSize;){for(var o=this._blockOffset;o0;++u)this._length[u]+=c,(c=this._length[u]/4294967296|0)>0&&(this._length[u]-=4294967296*c);return this},o.prototype._update=function(){throw new Error("_update is not implemented")},o.prototype.digest=function(t){if(this._finalized)throw new Error("Digest already called");this._finalized=!0;var e=this._digest();void 0!==t&&(e=e.toString(t)),this._block.fill(0),this._blockOffset=0;for(var i=0;i<4;++i)this._length[i]=0;return e},o.prototype._digest=function(){throw new Error("_digest is not implemented")},t.exports=o},77952(t,e,i){var n=e;n.utils=i(67426),n.common=i(66166),n.sha=i(46229),n.ripemd=i(46784),n.hmac=i(28948),n.sha1=n.sha.sha1,n.sha256=n.sha.sha256,n.sha224=n.sha.sha224,n.sha384=n.sha.sha384,n.sha512=n.sha.sha512,n.ripemd160=n.ripemd.ripemd160},66166(t,e,i){"use strict";var n=i(67426),r=i(43349);function o(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian="big",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}e.BlockHash=o,o.prototype.update=function(t,e){if(t=n.toArray(t,e),this.pending?this.pending=this.pending.concat(t):this.pending=t,this.pendingTotal+=t.length,this.pending.length>=this._delta8){var i=(t=this.pending).length%this._delta8;this.pending=t.slice(t.length-i,t.length),0===this.pending.length&&(this.pending=null),t=n.join32(t,0,t.length-i,this.endian);for(var r=0;r>>24&255,n[r++]=t>>>16&255,n[r++]=t>>>8&255,n[r++]=255&t}else for(n[r++]=255&t,n[r++]=t>>>8&255,n[r++]=t>>>16&255,n[r++]=t>>>24&255,n[r++]=0,n[r++]=0,n[r++]=0,n[r++]=0,o=8;othis.blockSize&&(t=(new this.Hash).update(t).digest()),r(t.length<=this.blockSize);for(var e=t.length;e>>3},e.g1_256=function(t){return n(t,17)^n(t,19)^t>>>10}},67426(t,e,i){"use strict";var n=i(43349),r=i(56698);function o(t,e){return 55296==(64512&t.charCodeAt(e))&&!(e<0||e+1>=t.length)&&56320==(64512&t.charCodeAt(e+1))}function s(t){return(t>>>24|t>>>8&65280|t<<8&16711680|(255&t)<<24)>>>0}function a(t){return 1===t.length?"0"+t:t}function u(t){return 7===t.length?"0"+t:6===t.length?"00"+t:5===t.length?"000"+t:4===t.length?"0000"+t:3===t.length?"00000"+t:2===t.length?"000000"+t:1===t.length?"0000000"+t:t}e.inherits=r,e.toArray=function(t,e){if(Array.isArray(t))return t.slice();if(!t)return[];var i=[];if("string"==typeof t)if(e){if("hex"===e)for((t=t.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(t="0"+t),r=0;r>6|192,i[n++]=63&s|128):o(t,r)?(s=65536+((1023&s)<<10)+(1023&t.charCodeAt(++r)),i[n++]=s>>18|240,i[n++]=s>>12&63|128,i[n++]=s>>6&63|128,i[n++]=63&s|128):(i[n++]=s>>12|224,i[n++]=s>>6&63|128,i[n++]=63&s|128)}else for(r=0;r>>0}return s},e.split32=function(t,e){for(var i=new Array(4*t.length),n=0,r=0;n>>24,i[r+1]=o>>>16&255,i[r+2]=o>>>8&255,i[r+3]=255&o):(i[r+3]=o>>>24,i[r+2]=o>>>16&255,i[r+1]=o>>>8&255,i[r]=255&o)}return i},e.rotr32=function(t,e){return t>>>e|t<<32-e},e.rotl32=function(t,e){return t<>>32-e},e.sum32=function(t,e){return t+e>>>0},e.sum32_3=function(t,e,i){return t+e+i>>>0},e.sum32_4=function(t,e,i,n){return t+e+i+n>>>0},e.sum32_5=function(t,e,i,n,r){return t+e+i+n+r>>>0},e.sum64=function(t,e,i,n){var r=t[e],o=n+t[e+1]>>>0,s=(o>>0,t[e+1]=o},e.sum64_hi=function(t,e,i,n){return(e+n>>>0>>0},e.sum64_lo=function(t,e,i,n){return e+n>>>0},e.sum64_4_hi=function(t,e,i,n,r,o,s,a){var u=0,c=e;return u+=(c=c+n>>>0)>>0)>>0)>>0},e.sum64_4_lo=function(t,e,i,n,r,o,s,a){return e+n+o+a>>>0},e.sum64_5_hi=function(t,e,i,n,r,o,s,a,u,c){var h=0,l=e;return h+=(l=l+n>>>0)>>0)>>0)>>0)>>0},e.sum64_5_lo=function(t,e,i,n,r,o,s,a,u,c){return e+n+o+a+c>>>0},e.rotr64_hi=function(t,e,i){return(e<<32-i|t>>>i)>>>0},e.rotr64_lo=function(t,e,i){return(t<<32-i|e>>>i)>>>0},e.shr64_hi=function(t,e,i){return t>>>i},e.shr64_lo=function(t,e,i){return(t<<32-i|e>>>i)>>>0}},32723(t,e,i){"use strict";var n=i(77952),r=i(64367),o=i(43349);function s(t){if(!(this instanceof s))return new s(t);this.hash=t.hash,this.predResist=!!t.predResist,this.outLen=this.hash.outSize,this.minEntropy=t.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var e=r.toArray(t.entropy,t.entropyEnc||"hex"),i=r.toArray(t.nonce,t.nonceEnc||"hex"),n=r.toArray(t.pers,t.persEnc||"hex");o(e.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(e,i,n)}t.exports=s,s.prototype._init=function(t,e,i){var n=t.concat(e).concat(i);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var r=0;r=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(t.concat(i||[])),this._reseed=1},s.prototype.generate=function(t,e,i,n){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");"string"!=typeof e&&(n=i,i=e,e=null),i&&(i=r.toArray(i,n||"hex"),this._update(i));for(var o=[];o.length",options:{classes:{},disabled:!1,create:null},_createWidget:function(e,n){n=t(n||this.defaultElement||this)[0],this.element=t(n),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=t(),this.hoverable=t(),this.focusable=t(),this.classesElementLookup={},n!==this&&(t.data(n,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===n&&this.destroy()}}),this.document=t(n.style?n.ownerDocument:n.document||n),this.window=t(this.document[0].defaultView||this.document[0].parentWindow)),this.options=t.widget.extend({},this.options,this._getCreateOptions(),e),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:t.noop,_create:t.noop,_init:t.noop,destroy:function(){var e=this;this._destroy(),t.each(this.classesElementLookup,function(t,i){e._removeClass(i,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:t.noop,widget:function(){return this.element},option:function(e,i){var n,r,o,s=e;if(0===arguments.length)return t.widget.extend({},this.options);if("string"==typeof e)if(s={},n=e.split("."),e=n.shift(),n.length){for(r=s[e]=t.widget.extend({},this.options[e]),o=0;o
"),o=r.children()[0];return t("body").append(r),i=o.offsetWidth,r.css("overflow","scroll"),i===(n=o.offsetWidth)&&(n=r[0].clientWidth),r.remove(),e=i-n},getScrollInfo:function(e){var i=e.isWindow||e.isDocument?"":e.element.css("overflow-x"),n=e.isWindow||e.isDocument?"":e.element.css("overflow-y"),r="scroll"===i||"auto"===i&&e.width0?"right":"center",vertical:h<0?"top":u>0?"bottom":"middle"};fi(n(u),n(h))?l.important="horizontal":l.important="vertical",e.using.call(this,t,l)}),s.offset(t.extend(_,{using:o}))})},t.ui.position={fit:{left:function(t,e){var n,r=e.within,o=r.isWindow?r.scrollLeft:r.offset.left,s=r.width,a=t.left-e.collisionPosition.marginLeft,u=o-a,c=a+e.collisionWidth-s-o;e.collisionWidth>s?u>0&&c<=0?(n=t.left+u+e.collisionWidth-s-o,t.left+=u-n):t.left=c>0&&u<=0?o:u>c?o+s-e.collisionWidth:o:u>0?t.left+=u:c>0?t.left-=c:t.left=i(t.left-a,t.left)},top:function(t,e){var n,r=e.within,o=r.isWindow?r.scrollTop:r.offset.top,s=e.within.height,a=t.top-e.collisionPosition.marginTop,u=o-a,c=a+e.collisionHeight-s-o;e.collisionHeight>s?u>0&&c<=0?(n=t.top+u+e.collisionHeight-s-o,t.top+=u-n):t.top=c>0&&u<=0?o:u>c?o+s-e.collisionHeight:o:u>0?t.top+=u:c>0?t.top-=c:t.top=i(t.top-a,t.top)}},flip:{left:function(t,e){var i,r,o=e.within,s=o.offset.left+o.scrollLeft,a=o.width,u=o.isWindow?o.scrollLeft:o.offset.left,c=t.left-e.collisionPosition.marginLeft,h=c-u,l=c+e.collisionWidth-a-u,d="left"===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,f="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,p=-2*e.offset[0];h<0?((i=t.left+d+f+p+e.collisionWidth-a-s)<0||i0&&((r=t.left-e.collisionPosition.marginLeft+d+f+p-u)>0||n(r)0&&((i=t.top-e.collisionPosition.marginTop+d+f+p-u)>0||n(i)")[0],m=a.each;function v(t){return null==t?t+"":"object"==typeof t?u[c.call(t)]||"object":typeof t}function b(t,e,i){var n=p[e.type]||{};return null==t?i||!e.def?null:e.def:(t=n.floor?~~t:parseFloat(t),isNaN(t)?e.def:n.mod?(t+n.mod)%n.mod:Math.min(n.max,Math.max(0,t)))}function y(t){var e=d(),i=e._rgba=[];return t=t.toLowerCase(),m(l,function(n,r){var o,s=r.re.exec(t),a=s&&r.parse(s),u=r.space||"rgba";if(a)return o=e[u](a),e[f[u].cache]=o[f[u].cache],i=e._rgba=o._rgba,!1}),i.length?("0,0,0,0"===i.join()&&a.extend(i,o.transparent),e):o[t]}function w(t,e,i){return 6*(i=(i+1)%1)<1?t+(e-t)*i*6:2*i<1?e:3*i<2?t+(e-t)*(2/3-i)*6:t}A.style.cssText="background-color:rgba(1,1,1,.5)",g.rgba=A.style.backgroundColor.indexOf("rgba")>-1,m(f,function(t,e){e.cache="_"+t,e.props.alpha={idx:3,type:"percent",def:1}}),a.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(t,e){u["[object "+e+"]"]=e.toLowerCase()}),d.fn=a.extend(d.prototype,{parse:function(t,e,i,n){if(void 0===t)return this._rgba=[null,null,null,null],this;(t.jquery||t.nodeType)&&(t=a(t).css(e),e=void 0);var r=this,s=v(t),u=this._rgba=[];return void 0!==e&&(t=[t,e,i,n],s="array"),"string"===s?this.parse(y(t)||o._default):"array"===s?(m(f.rgba.props,function(e,i){u[i.idx]=b(t[i.idx],i)}),this):"object"===s?(m(f,t instanceof d?function(e,i){t[i.cache]&&(r[i.cache]=t[i.cache].slice())}:function(e,i){var n=i.cache;m(i.props,function(e,o){if(!r[n]&&i.to){if("alpha"===e||null==t[e])return;r[n]=i.to(r._rgba)}r[n][o.idx]=b(t[e],o,!0)}),r[n]&&a.inArray(null,r[n].slice(0,3))<0&&(null==r[n][3]&&(r[n][3]=1),i.from&&(r._rgba=i.from(r[n])))}),this):void 0},is:function(t){var e=d(t),i=!0,n=this;return m(f,function(t,r){var o,s=e[r.cache];return s&&(o=n[r.cache]||r.to&&r.to(n._rgba)||[],m(r.props,function(t,e){if(null!=s[e.idx])return i=s[e.idx]===o[e.idx]})),i}),i},_space:function(){var t=[],e=this;return m(f,function(i,n){e[n.cache]&&t.push(i)}),t.pop()},transition:function(t,e){var i=d(t),n=i._space(),r=f[n],o=0===this.alpha()?d("transparent"):this,s=o[r.cache]||r.to(o._rgba),a=s.slice();return i=i[r.cache],m(r.props,function(t,n){var r=n.idx,o=s[r],u=i[r],c=p[n.type]||{};null!==u&&(null===o?a[r]=u:(c.mod&&(u-o>c.mod/2?o+=c.mod:o-u>c.mod/2&&(o-=c.mod)),a[r]=b((u-o)*e+o,n)))}),this[n](a)},blend:function(t){if(1===this._rgba[3])return this;var e=this._rgba.slice(),i=e.pop(),n=d(t)._rgba;return d(a.map(e,function(t,e){return(1-i)*n[e]+i*t}))},toRgbaString:function(){var t="rgba(",e=a.map(this._rgba,function(t,e){return null!=t?t:e>2?1:0});return 1===e[3]&&(e.pop(),t="rgb("),t+e.join()+")"},toHslaString:function(){var t="hsla(",e=a.map(this.hsla(),function(t,e){return null==t&&(t=e>2?1:0),e&&e<3&&(t=Math.round(100*t)+"%"),t});return 1===e[3]&&(e.pop(),t="hsl("),t+e.join()+")"},toHexString:function(t){var e=this._rgba.slice(),i=e.pop();return t&&e.push(~~(255*i)),"#"+a.map(e,function(t){return 1===(t=(t||0).toString(16)).length?"0"+t:t}).join("")},toString:function(){return 0===this._rgba[3]?"transparent":this.toRgbaString()}}),d.fn.parse.prototype=d.fn,f.hsla.to=function(t){if(null==t[0]||null==t[1]||null==t[2])return[null,null,null,t[3]];var e,i,n=t[0]/255,r=t[1]/255,o=t[2]/255,s=t[3],a=Math.max(n,r,o),u=Math.min(n,r,o),c=a-u,h=a+u,l=.5*h;return e=u===a?0:n===a?60*(r-o)/c+360:r===a?60*(o-n)/c+120:60*(n-r)/c+240,i=0===c?0:l<=.5?c/h:c/(2-h),[Math.round(e)%360,i,l,null==s?1:s]},f.hsla.from=function(t){if(null==t[0]||null==t[1]||null==t[2])return[null,null,null,t[3]];var e=t[0]/360,i=t[1],n=t[2],r=t[3],o=n<=.5?n*(1+i):n+i-n*i,s=2*n-o;return[Math.round(255*w(s,o,e+1/3)),Math.round(255*w(s,o,e)),Math.round(255*w(s,o,e-1/3)),r]},m(f,function(t,e){var i=e.props,n=e.cache,r=e.to,o=e.from;d.fn[t]=function(t){if(r&&!this[n]&&(this[n]=r(this._rgba)),void 0===t)return this[n].slice();var e,s=v(t),a="array"===s||"object"===s?t:arguments,u=this[n].slice();return m(i,function(t,e){var i=a["object"===s?t:e.idx];null==i&&(i=u[e.idx]),u[e.idx]=b(i,e)}),o?((e=d(o(u)))[n]=u,e):d(u)},m(i,function(e,i){d.fn[e]||(d.fn[e]=function(n){var r,o,s,a,u=v(n);return o=(r=this[a="alpha"===e?this._hsla?"hsla":"rgba":t]())[i.idx],"undefined"===u?o:("function"===u&&(u=v(n=n.call(this,o))),null==n&&i.empty?this:("string"===u&&(s=h.exec(n))&&(n=o+parseFloat(s[2])*("+"===s[1]?1:-1)),r[i.idx]=n,this[a](r)))})})}),d.hook=function(t){var e=t.split(" ");m(e,function(t,e){a.cssHooks[e]={set:function(t,i){var n,r,o="";if("transparent"!==i&&("string"!==v(i)||(n=y(i)))){if(i=d(n||i),!g.rgba&&1!==i._rgba[3]){for(r="backgroundColor"===e?t.parentNode:t;(""===o||"transparent"===o)&&r&&r.style;)try{o=a.css(r,"backgroundColor"),r=r.parentNode}catch(t){}i=i.blend(o&&"transparent"!==o?o:"_default")}i=i.toRgbaString()}try{t.style[e]=i}catch(t){}}},a.fx.step[e]=function(t){t.colorInit||(t.start=d(t.elem,e),t.end=d(t.end),t.colorInit=!0),a.cssHooks[e].set(t.elem,t.start.transition(t.end,t.pos))}})},d.hook("backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor"),a.cssHooks.borderColor={expand:function(t){var e={};return m(["Top","Right","Bottom","Left"],function(i,n){e["border"+n+"Color"]=t}),e}},o=a.Color.names={aqua:"#00ffff",black:"#000000",blue:"#0000ff",fuchsia:"#ff00ff",gray:"#808080",green:"#008000",lime:"#00ff00",maroon:"#800000",navy:"#000080",olive:"#808000",purple:"#800080",red:"#ff0000",silver:"#c0c0c0",teal:"#008080",white:"#ffffff",yellow:"#ffff00",transparent:[null,null,null,0],_default:"#ffffff"};var C,x,k="ui-effects-",_="ui-effects-style",M="ui-effects-animated";if(t.effects={effect:{}},function(){var e=["add","remove","toggle"],i={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};function n(t){return t.replace(/-([\da-z])/gi,function(t,e){return e.toUpperCase()})}function r(t){var e,i,r=t.ownerDocument.defaultView?t.ownerDocument.defaultView.getComputedStyle(t,null):t.currentStyle,o={};if(r&&r.length&&r[0]&&r[r[0]])for(i=r.length;i--;)"string"==typeof r[e=r[i]]&&(o[n(e)]=r[e]);else for(e in r)"string"==typeof r[e]&&(o[e]=r[e]);return o}t.each(["borderLeftStyle","borderRightStyle","borderBottomStyle","borderTopStyle"],function(e,i){t.fx.step[i]=function(t){("none"!==t.end&&!t.setAttr||1===t.pos&&!t.setAttr)&&(a.style(t.elem,i,t.end),t.setAttr=!0)}}),t.fn.addBack||(t.fn.addBack=function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}),t.effects.animateClass=function(n,o,s,a){var u=t.speed(o,s,a);return this.queue(function(){var o,s=t(this),a=s.attr("class")||"",c=u.children?s.find("*").addBack():s;c=c.map(function(){return{el:t(this),start:r(this)}}),(o=function(){t.each(e,function(t,e){n[e]&&s[e+"Class"](n[e])})})(),c=c.map(function(){return this.end=r(this.el[0]),this.diff=function(e,n){var r,o,s={};for(r in n)o=n[r],e[r]!==o&&(i[r]||!t.fx.step[r]&&isNaN(parseFloat(o))||(s[r]=o));return s}(this.start,this.end),this}),s.attr("class",a),c=c.map(function(){var e=this,i=t.Deferred(),n=t.extend({},u,{queue:!1,complete:function(){i.resolve(e)}});return this.el.animate(this.diff,n),i.promise()}),t.when.apply(t,c.get()).done(function(){o(),t.each(arguments,function(){var e=this.el;t.each(this.diff,function(t){e.css(t,"")})}),u.complete.call(s[0])})})},t.fn.extend({addClass:function(e){return function(i,n,r,o){return n?t.effects.animateClass.call(this,{add:i},n,r,o):e.apply(this,arguments)}}(t.fn.addClass),removeClass:function(e){return function(i,n,r,o){return arguments.length>1?t.effects.animateClass.call(this,{remove:i},n,r,o):e.apply(this,arguments)}}(t.fn.removeClass),toggleClass:function(e){return function(i,n,r,o,s){return"boolean"==typeof n||void 0===n?r?t.effects.animateClass.call(this,n?{add:i}:{remove:i},r,o,s):e.apply(this,arguments):t.effects.animateClass.call(this,{toggle:i},n,r,o)}}(t.fn.toggleClass),switchClass:function(e,i,n,r,o){return t.effects.animateClass.call(this,{add:i,remove:e},n,r,o)}})}(),function(){function e(e,i,n,r){return t.isPlainObject(e)&&(i=e,e=e.effect),e={effect:e},null==i&&(i={}),"function"==typeof i&&(r=i,n=null,i={}),("number"==typeof i||t.fx.speeds[i])&&(r=n,n=i,i={}),"function"==typeof n&&(r=n,n=null),i&&t.extend(e,i),n=n||i.duration,e.duration=t.fx.off?0:"number"==typeof n?n:n in t.fx.speeds?t.fx.speeds[n]:t.fx.speeds._default,e.complete=r||i.complete,e}function i(e){return!(e&&"number"!=typeof e&&!t.fx.speeds[e])||"string"==typeof e&&!t.effects.effect[e]||"function"==typeof e||"object"==typeof e&&!e.effect}function n(t,e){var i=e.outerWidth(),n=e.outerHeight(),r=/^rect\((-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto)\)$/.exec(t)||["",0,i,n,0];return{top:parseFloat(r[1])||0,right:"auto"===r[2]?i:parseFloat(r[2]),bottom:"auto"===r[3]?n:parseFloat(r[3]),left:parseFloat(r[4])||0}}t.expr&&t.expr.pseudos&&t.expr.pseudos.animated&&(t.expr.pseudos.animated=function(e){return function(i){return!!t(i).data(M)||e(i)}}(t.expr.pseudos.animated)),!1!==t.uiBackCompat&&t.extend(t.effects,{save:function(t,e){for(var i=0,n=e.length;i
").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}),r={width:e.width(),height:e.height()},o=document.activeElement;try{o.id}catch(t){o=document.body}return e.wrap(n),(e[0]===o||t.contains(e[0],o))&&t(o).trigger("focus"),n=e.parent(),"static"===e.css("position")?(n.css({position:"relative"}),e.css({position:"relative"})):(t.extend(i,{position:e.css("position"),zIndex:e.css("z-index")}),t.each(["top","left","bottom","right"],function(t,n){i[n]=e.css(n),isNaN(parseInt(i[n],10))&&(i[n]="auto")}),e.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})),e.css(r),n.css(i).show()},removeWrapper:function(e){var i=document.activeElement;return e.parent().is(".ui-effects-wrapper")&&(e.parent().replaceWith(e),(e[0]===i||t.contains(e[0],i))&&t(i).trigger("focus")),e}}),t.extend(t.effects,{version:"1.13.3",define:function(e,i,n){return n||(n=i,i="effect"),t.effects.effect[e]=n,t.effects.effect[e].mode=i,n},scaledDimensions:function(t,e,i){if(0===e)return{height:0,width:0,outerHeight:0,outerWidth:0};var n="horizontal"!==i?(e||100)/100:1,r="vertical"!==i?(e||100)/100:1;return{height:t.height()*r,width:t.width()*n,outerHeight:t.outerHeight()*r,outerWidth:t.outerWidth()*n}},clipToBox:function(t){return{width:t.clip.right-t.clip.left,height:t.clip.bottom-t.clip.top,left:t.clip.left,top:t.clip.top}},unshift:function(t,e,i){var n=t.queue();e>1&&n.splice.apply(n,[1,0].concat(n.splice(e,i))),t.dequeue()},saveStyle:function(t){t.data(_,t[0].style.cssText)},restoreStyle:function(t){t[0].style.cssText=t.data(_)||"",t.removeData(_)},mode:function(t,e){var i=t.is(":hidden");return"toggle"===e&&(e=i?"show":"hide"),(i?"hide"===e:"show"===e)&&(e="none"),e},getBaseline:function(t,e){var i,n;switch(t[0]){case"top":i=0;break;case"middle":i=.5;break;case"bottom":i=1;break;default:i=t[0]/e.height}switch(t[1]){case"left":n=0;break;case"center":n=.5;break;case"right":n=1;break;default:n=t[1]/e.width}return{x:n,y:i}},createPlaceholder:function(e){var i,n=e.css("position"),r=e.position();return e.css({marginTop:e.css("marginTop"),marginBottom:e.css("marginBottom"),marginLeft:e.css("marginLeft"),marginRight:e.css("marginRight")}).outerWidth(e.outerWidth()).outerHeight(e.outerHeight()),/^(static|relative)/.test(n)&&(n="absolute",i=t("<"+e[0].nodeName+">").insertAfter(e).css({display:/^(inline|ruby)/.test(e.css("display"))?"inline-block":"block",visibility:"hidden",marginTop:e.css("marginTop"),marginBottom:e.css("marginBottom"),marginLeft:e.css("marginLeft"),marginRight:e.css("marginRight"),float:e.css("float")}).outerWidth(e.outerWidth()).outerHeight(e.outerHeight()).addClass("ui-effects-placeholder"),e.data(k+"placeholder",i)),e.css({position:n,left:r.left,top:r.top}),i},removePlaceholder:function(t){var e=k+"placeholder",i=t.data(e);i&&(i.remove(),t.removeData(e))},cleanUp:function(e){t.effects.restoreStyle(e),t.effects.removePlaceholder(e)},setTransition:function(e,i,n,r){return r=r||{},t.each(i,function(t,i){var o=e.cssUnit(i);o[0]>0&&(r[i]=o[0]*n+o[1])}),r}}),t.fn.extend({effect:function(){var i=e.apply(this,arguments),n=t.effects.effect[i.effect],r=n.mode,o=i.queue,s=o||"fx",a=i.complete,u=i.mode,c=[],h=function(e){var i=t(this),n=t.effects.mode(i,u)||r;i.data(M,!0),c.push(n),r&&("show"===n||n===r&&"hide"===n)&&i.show(),r&&"none"===n||t.effects.saveStyle(i),"function"==typeof e&&e()};if(t.fx.off||!n)return u?this[u](i.duration,a):this.each(function(){a&&a.call(this)});function l(e){var o=t(this);function s(){"function"==typeof a&&a.call(o[0]),"function"==typeof e&&e()}i.mode=c.shift(),!1===t.uiBackCompat||r?"none"===i.mode?(o[u](),s()):n.call(o[0],i,function(){o.removeData(M),t.effects.cleanUp(o),"hide"===i.mode&&o.hide(),s()}):(o.is(":hidden")?"hide"===u:"show"===u)?(o[u](),s()):n.call(o[0],i,s)}return!1===o?this.each(h).each(l):this.queue(s,h).queue(s,l)},show:function(t){return function(n){if(i(n))return t.apply(this,arguments);var r=e.apply(this,arguments);return r.mode="show",this.effect.call(this,r)}}(t.fn.show),hide:function(t){return function(n){if(i(n))return t.apply(this,arguments);var r=e.apply(this,arguments);return r.mode="hide",this.effect.call(this,r)}}(t.fn.hide),toggle:function(t){return function(n){if(i(n)||"boolean"==typeof n)return t.apply(this,arguments);var r=e.apply(this,arguments);return r.mode="toggle",this.effect.call(this,r)}}(t.fn.toggle),cssUnit:function(e){var i=this.css(e),n=[];return t.each(["em","px","%","pt"],function(t,e){i.indexOf(e)>0&&(n=[parseFloat(i),e])}),n},cssClip:function(t){return t?this.css("clip","rect("+t.top+"px "+t.right+"px "+t.bottom+"px "+t.left+"px)"):n(this.css("clip"),this)},transfer:function(e,i){var n=t(this),r=t(e.to),o="fixed"===r.css("position"),s=t("body"),a=o?s.scrollTop():0,u=o?s.scrollLeft():0,c=r.offset(),h={top:c.top-a,left:c.left-u,height:r.innerHeight(),width:r.innerWidth()},l=n.offset(),d=t("
");d.appendTo("body").addClass(e.className).css({top:l.top-a,left:l.left-u,height:n.innerHeight(),width:n.innerWidth(),position:o?"fixed":"absolute"}).animate(h,e.duration,e.easing,function(){d.remove(),"function"==typeof i&&i()})}}),t.fx.step.clip=function(e){e.clipInit||(e.start=t(e.elem).cssClip(),"string"==typeof e.end&&(e.end=n(e.end,e.elem)),e.clipInit=!0),t(e.elem).cssClip({top:e.pos*(e.end.top-e.start.top)+e.start.top,right:e.pos*(e.end.right-e.start.right)+e.start.right,bottom:e.pos*(e.end.bottom-e.start.bottom)+e.start.bottom,left:e.pos*(e.end.left-e.start.left)+e.start.left})}}(),C={},t.each(["Quad","Cubic","Quart","Quint","Expo"],function(t,e){C[e]=function(e){return Math.pow(e,t+2)}}),t.extend(C,{Sine:function(t){return 1-Math.cos(t*Math.PI/2)},Circ:function(t){return 1-Math.sqrt(1-t*t)},Elastic:function(t){return 0===t||1===t?t:-Math.pow(2,8*(t-1))*Math.sin((80*(t-1)-7.5)*Math.PI/15)},Back:function(t){return t*t*(3*t-2)},Bounce:function(t){for(var e,i=4;t<((e=Math.pow(2,--i))-1)/11;);return 1/Math.pow(4,3-i)-7.5625*Math.pow((3*e-2)/22-t,2)}}),t.each(C,function(e,i){t.easing["easeIn"+e]=i,t.easing["easeOut"+e]=function(t){return 1-i(1-t)},t.easing["easeInOut"+e]=function(t){return t<.5?i(2*t)/2:1-i(-2*t+2)/2}}),t.effects,t.effects.define("blind","hide",function(e,i){var n={up:["bottom","top"],vertical:["bottom","top"],down:["top","bottom"],left:["right","left"],horizontal:["right","left"],right:["left","right"]},r=t(this),o=e.direction||"up",s=r.cssClip(),a={clip:t.extend({},s)},u=t.effects.createPlaceholder(r);a.clip[n[o][0]]=a.clip[n[o][1]],"show"===e.mode&&(r.cssClip(a.clip),u&&u.css(t.effects.clipToBox(a)),a.clip=s),u&&u.animate(t.effects.clipToBox(a),e.duration,e.easing),r.animate(a,{queue:!1,duration:e.duration,easing:e.easing,complete:i})}),t.effects.define("bounce",function(e,i){var n,r,o,s=t(this),a=e.mode,u="hide"===a,c="show"===a,h=e.direction||"up",l=e.distance,d=e.times||5,f=2*d+(c||u?1:0),p=e.duration/f,g=e.easing,A="up"===h||"down"===h?"top":"left",m="up"===h||"left"===h,v=0,b=s.queue().length;for(t.effects.createPlaceholder(s),o=s.css(A),l||(l=s["top"===A?"outerHeight":"outerWidth"]()/3),c&&((r={opacity:1})[A]=o,s.css("opacity",0).css(A,m?2*-l:2*l).animate(r,p,g)),u&&(l/=Math.pow(2,d-1)),(r={})[A]=o;v").css({position:"absolute",visibility:"visible",left:-r*p,top:-n*g}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:p,height:g,left:o+(d?a*p:0),top:s+(d?u*g:0),opacity:d?0:1}).animate({left:o+(d?0:a*p),top:s+(d?0:u*g),opacity:d?1:0},e.duration||500,e.easing,m)}),t.effects.define("fade","toggle",function(e,i){var n="show"===e.mode;t(this).css("opacity",n?0:1).animate({opacity:n?1:0},{queue:!1,duration:e.duration,easing:e.easing,complete:i})}),t.effects.define("fold","hide",function(e,i){var n=t(this),r=e.mode,o="show"===r,s="hide"===r,a=e.size||15,u=/([0-9]+)%/.exec(a),c=e.horizFirst?["right","bottom"]:["bottom","right"],h=e.duration/2,l=t.effects.createPlaceholder(n),d=n.cssClip(),f={clip:t.extend({},d)},p={clip:t.extend({},d)},g=[d[c[0]],d[c[1]]],A=n.queue().length;u&&(a=parseInt(u[1],10)/100*g[s?0:1]),f.clip[c[0]]=a,p.clip[c[0]]=a,p.clip[c[1]]=0,o&&(n.cssClip(p.clip),l&&l.css(t.effects.clipToBox(p)),p.clip=d),n.queue(function(i){l&&l.animate(t.effects.clipToBox(f),h,e.easing).animate(t.effects.clipToBox(p),h,e.easing),i()}).animate(f,h,e.easing).animate(p,h,e.easing).queue(i),t.effects.unshift(n,A,4)}),t.effects.define("highlight","show",function(e,i){var n=t(this),r={backgroundColor:n.css("backgroundColor")};"hide"===e.mode&&(r.opacity=0),t.effects.saveStyle(n),n.css({backgroundImage:"none",backgroundColor:e.color||"#ffff99"}).animate(r,{queue:!1,duration:e.duration,easing:e.easing,complete:i})}),t.effects.define("size",function(e,i){var n,r,o,s=t(this),a=["fontSize"],u=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],c=["borderLeftWidth","borderRightWidth","paddingLeft","paddingRight"],h=e.mode,l="effect"!==h,d=e.scale||"both",f=e.origin||["middle","center"],p=s.css("position"),g=s.position(),A=t.effects.scaledDimensions(s),m=e.from||A,v=e.to||t.effects.scaledDimensions(s,0);t.effects.createPlaceholder(s),"show"===h&&(o=m,m=v,v=o),r={from:{y:m.height/A.height,x:m.width/A.width},to:{y:v.height/A.height,x:v.width/A.width}},"box"!==d&&"both"!==d||(r.from.y!==r.to.y&&(m=t.effects.setTransition(s,u,r.from.y,m),v=t.effects.setTransition(s,u,r.to.y,v)),r.from.x!==r.to.x&&(m=t.effects.setTransition(s,c,r.from.x,m),v=t.effects.setTransition(s,c,r.to.x,v))),"content"!==d&&"both"!==d||r.from.y!==r.to.y&&(m=t.effects.setTransition(s,a,r.from.y,m),v=t.effects.setTransition(s,a,r.to.y,v)),f&&(n=t.effects.getBaseline(f,A),m.top=(A.outerHeight-m.outerHeight)*n.y+g.top,m.left=(A.outerWidth-m.outerWidth)*n.x+g.left,v.top=(A.outerHeight-v.outerHeight)*n.y+g.top,v.left=(A.outerWidth-v.outerWidth)*n.x+g.left),delete m.outerHeight,delete m.outerWidth,s.css(m),"content"!==d&&"both"!==d||(u=u.concat(["marginTop","marginBottom"]).concat(a),c=c.concat(["marginLeft","marginRight"]),s.find("*[width]").each(function(){var i=t(this),n=t.effects.scaledDimensions(i),o={height:n.height*r.from.y,width:n.width*r.from.x,outerHeight:n.outerHeight*r.from.y,outerWidth:n.outerWidth*r.from.x},s={height:n.height*r.to.y,width:n.width*r.to.x,outerHeight:n.height*r.to.y,outerWidth:n.width*r.to.x};r.from.y!==r.to.y&&(o=t.effects.setTransition(i,u,r.from.y,o),s=t.effects.setTransition(i,u,r.to.y,s)),r.from.x!==r.to.x&&(o=t.effects.setTransition(i,c,r.from.x,o),s=t.effects.setTransition(i,c,r.to.x,s)),l&&t.effects.saveStyle(i),i.css(o),i.animate(s,e.duration,e.easing,function(){l&&t.effects.restoreStyle(i)})})),s.animate(v,{queue:!1,duration:e.duration,easing:e.easing,complete:function(){var e=s.offset();0===v.opacity&&s.css("opacity",m.opacity),l||(s.css("position","static"===p?"relative":p).offset(e),t.effects.saveStyle(s)),i()}})}),t.effects.define("scale",function(e,i){var n=t(this),r=e.mode,o=parseInt(e.percent,10)||(0===parseInt(e.percent,10)||"effect"!==r?0:100),s=t.extend(!0,{from:t.effects.scaledDimensions(n),to:t.effects.scaledDimensions(n,o,e.direction||"both"),origin:e.origin||["middle","center"]},e);e.fade&&(s.from.opacity=1,s.to.opacity=0),t.effects.effect.size.call(this,s,i)}),t.effects.define("puff","hide",function(e,i){var n=t.extend(!0,{},e,{fade:!0,percent:parseInt(e.percent,10)||150});t.effects.effect.scale.call(this,n,i)}),t.effects.define("pulsate","show",function(e,i){var n=t(this),r=e.mode,o="show"===r,s=o||"hide"===r,a=2*(e.times||5)+(s?1:0),u=e.duration/a,c=0,h=1,l=n.queue().length;for(!o&&n.is(":visible")||(n.css("opacity",0).show(),c=1);h0&&o.is(":visible")):(/^(input|select|textarea|button|object)$/.test(u)?(s=!e.disabled)&&(a=t(e).closest("fieldset")[0])&&(s=!a.disabled):s="a"===u&&e.href||i,s&&t(e).is(":visible")&&function(t){for(var e=t.css("visibility");"inherit"===e;)e=(t=t.parent()).css("visibility");return"visible"===e}(t(e)))},t.extend(t.expr.pseudos,{focusable:function(e){return t.ui.focusable(e,null!=t.attr(e,"tabindex"))}}),t.ui.focusable,t.fn._form=function(){return"string"==typeof this[0].form?this.closest("form"):t(this[0].form)},t.ui.formResetMixin={_formResetHandler:function(){var e=t(this);setTimeout(function(){var i=e.data("ui-form-reset-instances");t.each(i,function(){this.refresh()})})},_bindFormResetHandler:function(){if(this.form=this.element._form(),this.form.length){var t=this.form.data("ui-form-reset-instances")||[];t.length||this.form.on("reset.ui-form-reset",this._formResetHandler),t.push(this),this.form.data("ui-form-reset-instances",t)}},_unbindFormResetHandler:function(){if(this.form.length){var e=this.form.data("ui-form-reset-instances");e.splice(t.inArray(this,e),1),e.length?this.form.data("ui-form-reset-instances",e):this.form.removeData("ui-form-reset-instances").off("reset.ui-form-reset")}}},t.expr.pseudos||(t.expr.pseudos=t.expr[":"]),t.uniqueSort||(t.uniqueSort=t.unique),!t.escapeSelector){var B=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g,E=function(t,e){return e?"\0"===t?"�":t.slice(0,-1)+"\\"+t.charCodeAt(t.length-1).toString(16)+" ":"\\"+t};t.escapeSelector=function(t){return(t+"").replace(B,E)}}t.fn.even&&t.fn.odd||t.fn.extend({even:function(){return this.filter(function(t){return t%2==0})},odd:function(){return this.filter(function(t){return t%2==1})}}),t.ui.keyCode={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38},t.fn.labels=function(){var e,i,n,r,o;return this.length?this[0].labels&&this[0].labels.length?this.pushStack(this[0].labels):(r=this.eq(0).parents("label"),(n=this.attr("id"))&&(o=(e=this.eq(0).parents().last()).add(e.length?e.siblings():this.siblings()),i="label[for='"+t.escapeSelector(n)+"']",r=r.add(o.find(i).addBack(i))),this.pushStack(r)):this.pushStack([])},t.fn.scrollParent=function(e){var i=this.css("position"),n="absolute"===i,r=e?/(auto|scroll|hidden)/:/(auto|scroll)/,o=this.parents().filter(function(){var e=t(this);return(!n||"static"!==e.css("position"))&&r.test(e.css("overflow")+e.css("overflow-y")+e.css("overflow-x"))}).eq(0);return"fixed"!==i&&o.length?o:t(this[0].ownerDocument||document)},t.extend(t.expr.pseudos,{tabbable:function(e){var i=t.attr(e,"tabindex"),n=null!=i;return(!n||i>=0)&&t.ui.focusable(e,n)}}),t.fn.extend({uniqueId:(x=0,function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++x)})}),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&t(this).removeAttr("id")})}}),t.widget("ui.accordion",{version:"1.13.3",options:{active:0,animate:{},classes:{"ui-accordion-header":"ui-corner-top","ui-accordion-header-collapsed":"ui-corner-all","ui-accordion-content":"ui-corner-bottom"},collapsible:!1,event:"click",header:function(t){return t.find("> li > :first-child").add(t.find("> :not(li)").even())},heightStyle:"auto",icons:{activeHeader:"ui-icon-triangle-1-s",header:"ui-icon-triangle-1-e"},activate:null,beforeActivate:null},hideProps:{borderTopWidth:"hide",borderBottomWidth:"hide",paddingTop:"hide",paddingBottom:"hide",height:"hide"},showProps:{borderTopWidth:"show",borderBottomWidth:"show",paddingTop:"show",paddingBottom:"show",height:"show"},_create:function(){var e=this.options;this.prevShow=this.prevHide=t(),this._addClass("ui-accordion","ui-widget ui-helper-reset"),this.element.attr("role","tablist"),e.collapsible||!1!==e.active&&null!=e.active||(e.active=0),this._processPanels(),e.active<0&&(e.active+=this.headers.length),this._refresh()},_getCreateEventData:function(){return{header:this.active,panel:this.active.length?this.active.next():t()}},_createIcons:function(){var e,i,n=this.options.icons;n&&(e=t(""),this._addClass(e,"ui-accordion-header-icon","ui-icon "+n.header),e.prependTo(this.headers),i=this.active.children(".ui-accordion-header-icon"),this._removeClass(i,n.header)._addClass(i,null,n.activeHeader)._addClass(this.headers,"ui-accordion-icons"))},_destroyIcons:function(){this._removeClass(this.headers,"ui-accordion-icons"),this.headers.children(".ui-accordion-header-icon").remove()},_destroy:function(){var t;this.element.removeAttr("role"),this.headers.removeAttr("role aria-expanded aria-selected aria-controls tabIndex").removeUniqueId(),this._destroyIcons(),t=this.headers.next().css("display","").removeAttr("role aria-hidden aria-labelledby").removeUniqueId(),"content"!==this.options.heightStyle&&t.css("height","")},_setOption:function(t,e){"active"!==t?("event"===t&&(this.options.event&&this._off(this.headers,this.options.event),this._setupEvents(e)),this._super(t,e),"collapsible"!==t||e||!1!==this.options.active||this._activate(0),"icons"===t&&(this._destroyIcons(),e&&this._createIcons())):this._activate(e)},_setOptionDisabled:function(t){this._super(t),this.element.attr("aria-disabled",t),this._toggleClass(null,"ui-state-disabled",!!t),this._toggleClass(this.headers.add(this.headers.next()),null,"ui-state-disabled",!!t)},_keydown:function(e){if(!e.altKey&&!e.ctrlKey){var i=t.ui.keyCode,n=this.headers.length,r=this.headers.index(e.target),o=!1;switch(e.keyCode){case i.RIGHT:case i.DOWN:o=this.headers[(r+1)%n];break;case i.LEFT:case i.UP:o=this.headers[(r-1+n)%n];break;case i.SPACE:case i.ENTER:this._eventHandler(e);break;case i.HOME:o=this.headers[0];break;case i.END:o=this.headers[n-1]}o&&(t(e.target).attr("tabIndex",-1),t(o).attr("tabIndex",0),t(o).trigger("focus"),e.preventDefault())}},_panelKeyDown:function(e){e.keyCode===t.ui.keyCode.UP&&e.ctrlKey&&t(e.currentTarget).prev().trigger("focus")},refresh:function(){var e=this.options;this._processPanels(),!1===e.active&&!0===e.collapsible||!this.headers.length?(e.active=!1,this.active=t()):!1===e.active?this._activate(0):this.active.length&&!t.contains(this.element[0],this.active[0])?this.headers.length===this.headers.find(".ui-state-disabled").length?(e.active=!1,this.active=t()):this._activate(Math.max(0,e.active-1)):e.active=this.headers.index(this.active),this._destroyIcons(),this._refresh()},_processPanels:function(){var t=this.headers,e=this.panels;"function"==typeof this.options.header?this.headers=this.options.header(this.element):this.headers=this.element.find(this.options.header),this._addClass(this.headers,"ui-accordion-header ui-accordion-header-collapsed","ui-state-default"),this.panels=this.headers.next().filter(":not(.ui-accordion-content-active)").hide(),this._addClass(this.panels,"ui-accordion-content","ui-helper-reset ui-widget-content"),e&&(this._off(t.not(this.headers)),this._off(e.not(this.panels)))},_refresh:function(){var e,i=this.options,n=i.heightStyle,r=this.element.parent();this.active=this._findActive(i.active),this._addClass(this.active,"ui-accordion-header-active","ui-state-active")._removeClass(this.active,"ui-accordion-header-collapsed"),this._addClass(this.active.next(),"ui-accordion-content-active"),this.active.next().show(),this.headers.attr("role","tab").each(function(){var e=t(this),i=e.uniqueId().attr("id"),n=e.next(),r=n.uniqueId().attr("id");e.attr("aria-controls",r),n.attr("aria-labelledby",i)}).next().attr("role","tabpanel"),this.headers.not(this.active).attr({"aria-selected":"false","aria-expanded":"false",tabIndex:-1}).next().attr({"aria-hidden":"true"}).hide(),this.active.length?this.active.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0}).next().attr({"aria-hidden":"false"}):this.headers.eq(0).attr("tabIndex",0),this._createIcons(),this._setupEvents(i.event),"fill"===n?(e=r.height(),this.element.siblings(":visible").each(function(){var i=t(this),n=i.css("position");"absolute"!==n&&"fixed"!==n&&(e-=i.outerHeight(!0))}),this.headers.each(function(){e-=t(this).outerHeight(!0)}),this.headers.next().each(function(){t(this).height(Math.max(0,e-t(this).innerHeight()+t(this).height()))}).css("overflow","auto")):"auto"===n&&(e=0,this.headers.next().each(function(){var i=t(this).is(":visible");i||t(this).show(),e=Math.max(e,t(this).css("height","").height()),i||t(this).hide()}).height(e))},_activate:function(e){var i=this._findActive(e)[0];i!==this.active[0]&&(i=i||this.active[0],this._eventHandler({target:i,currentTarget:i,preventDefault:t.noop}))},_findActive:function(e){return"number"==typeof e?this.headers.eq(e):t()},_setupEvents:function(e){var i={keydown:"_keydown"};e&&t.each(e.split(" "),function(t,e){i[e]="_eventHandler"}),this._off(this.headers.add(this.headers.next())),this._on(this.headers,i),this._on(this.headers.next(),{keydown:"_panelKeyDown"}),this._hoverable(this.headers),this._focusable(this.headers)},_eventHandler:function(e){var i,n,r=this.options,o=this.active,s=t(e.currentTarget),a=s[0]===o[0],u=a&&r.collapsible,c=u?t():s.next(),h=o.next(),l={oldHeader:o,oldPanel:h,newHeader:u?t():s,newPanel:c};e.preventDefault(),a&&!r.collapsible||!1===this._trigger("beforeActivate",e,l)||(r.active=!u&&this.headers.index(s),this.active=a?t():s,this._toggle(l),this._removeClass(o,"ui-accordion-header-active","ui-state-active"),r.icons&&(i=o.children(".ui-accordion-header-icon"),this._removeClass(i,null,r.icons.activeHeader)._addClass(i,null,r.icons.header)),a||(this._removeClass(s,"ui-accordion-header-collapsed")._addClass(s,"ui-accordion-header-active","ui-state-active"),r.icons&&(n=s.children(".ui-accordion-header-icon"),this._removeClass(n,null,r.icons.header)._addClass(n,null,r.icons.activeHeader)),this._addClass(s.next(),"ui-accordion-content-active")))},_toggle:function(e){var i=e.newPanel,n=this.prevShow.length?this.prevShow:e.oldPanel;this.prevShow.add(this.prevHide).stop(!0,!0),this.prevShow=i,this.prevHide=n,this.options.animate?this._animate(i,n,e):(n.hide(),i.show(),this._toggleComplete(e)),n.attr({"aria-hidden":"true"}),n.prev().attr({"aria-selected":"false","aria-expanded":"false"}),i.length&&n.length?n.prev().attr({tabIndex:-1,"aria-expanded":"false"}):i.length&&this.headers.filter(function(){return 0===parseInt(t(this).attr("tabIndex"),10)}).attr("tabIndex",-1),i.attr("aria-hidden","false").prev().attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0})},_animate:function(t,e,i){var n,r,o,s=this,a=0,u=t.css("box-sizing"),c=t.length&&(!e.length||t.index()",delay:300,options:{icons:{submenu:"ui-icon-caret-1-e"},items:"> *",menus:"ul",position:{my:"left top",at:"right top"},role:"menu",blur:null,focus:null,select:null},_create:function(){this.activeMenu=this.element,this.mouseHandled=!1,this.lastMousePosition={x:null,y:null},this.element.uniqueId().attr({role:this.options.role,tabIndex:0}),this._addClass("ui-menu","ui-widget ui-widget-content"),this._on({"mousedown .ui-menu-item":function(t){t.preventDefault(),this._activateItem(t)},"click .ui-menu-item":function(e){var i=t(e.target),n=t(t.ui.safeActiveElement(this.document[0]));!this.mouseHandled&&i.not(".ui-state-disabled").length&&(this.select(e),e.isPropagationStopped()||(this.mouseHandled=!0),i.has(".ui-menu").length?this.expand(e):!this.element.is(":focus")&&n.closest(".ui-menu").length&&(this.element.trigger("focus",[!0]),this.active&&1===this.active.parents(".ui-menu").length&&clearTimeout(this.timer)))},"mouseenter .ui-menu-item":"_activateItem","mousemove .ui-menu-item":"_activateItem",mouseleave:"collapseAll","mouseleave .ui-menu":"collapseAll",focus:function(t,e){var i=this.active||this._menuItems().first();e||this.focus(t,i)},blur:function(e){this._delay(function(){!t.contains(this.element[0],t.ui.safeActiveElement(this.document[0]))&&this.collapseAll(e)})},keydown:"_keydown"}),this.refresh(),this._on(this.document,{click:function(t){this._closeOnDocumentClick(t)&&this.collapseAll(t,!0),this.mouseHandled=!1}})},_activateItem:function(e){if(!this.previousFilter&&(e.clientX!==this.lastMousePosition.x||e.clientY!==this.lastMousePosition.y)){this.lastMousePosition={x:e.clientX,y:e.clientY};var i=t(e.target).closest(".ui-menu-item"),n=t(e.currentTarget);i[0]===n[0]&&(n.is(".ui-state-active")||(this._removeClass(n.siblings().children(".ui-state-active"),null,"ui-state-active"),this.focus(e,n)))}},_destroy:function(){var e=this.element.find(".ui-menu-item").removeAttr("role aria-disabled").children(".ui-menu-item-wrapper").removeUniqueId().removeAttr("tabIndex role aria-haspopup");this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeAttr("role aria-labelledby aria-expanded aria-hidden aria-disabled tabIndex").removeUniqueId().show(),e.children().each(function(){var e=t(this);e.data("ui-menu-submenu-caret")&&e.remove()})},_keydown:function(e){var i,n,r,o,s=!0;switch(e.keyCode){case t.ui.keyCode.PAGE_UP:this.previousPage(e);break;case t.ui.keyCode.PAGE_DOWN:this.nextPage(e);break;case t.ui.keyCode.HOME:this._move("first","first",e);break;case t.ui.keyCode.END:this._move("last","last",e);break;case t.ui.keyCode.UP:this.previous(e);break;case t.ui.keyCode.DOWN:this.next(e);break;case t.ui.keyCode.LEFT:this.collapse(e);break;case t.ui.keyCode.RIGHT:this.active&&!this.active.is(".ui-state-disabled")&&this.expand(e);break;case t.ui.keyCode.ENTER:case t.ui.keyCode.SPACE:this._activate(e);break;case t.ui.keyCode.ESCAPE:this.collapse(e);break;default:s=!1,n=this.previousFilter||"",o=!1,r=e.keyCode>=96&&e.keyCode<=105?(e.keyCode-96).toString():String.fromCharCode(e.keyCode),clearTimeout(this.filterTimer),r===n?o=!0:r=n+r,i=this._filterMenuItems(r),(i=o&&-1!==i.index(this.active.next())?this.active.nextAll(".ui-menu-item"):i).length||(r=String.fromCharCode(e.keyCode),i=this._filterMenuItems(r)),i.length?(this.focus(e,i),this.previousFilter=r,this.filterTimer=this._delay(function(){delete this.previousFilter},1e3)):delete this.previousFilter}s&&e.preventDefault()},_activate:function(t){this.active&&!this.active.is(".ui-state-disabled")&&(this.active.children("[aria-haspopup='true']").length?this.expand(t):this.select(t))},refresh:function(){var e,i,n,r,o=this,s=this.options.icons.submenu,a=this.element.find(this.options.menus);this._toggleClass("ui-menu-icons",null,!!this.element.find(".ui-icon").length),i=a.filter(":not(.ui-menu)").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"}).each(function(){var e=t(this),i=e.prev(),n=t("").data("ui-menu-submenu-caret",!0);o._addClass(n,"ui-menu-icon","ui-icon "+s),i.attr("aria-haspopup","true").prepend(n),e.attr("aria-labelledby",i.attr("id"))}),this._addClass(i,"ui-menu","ui-widget ui-widget-content ui-front"),(e=a.add(this.element).find(this.options.items)).not(".ui-menu-item").each(function(){var e=t(this);o._isDivider(e)&&o._addClass(e,"ui-menu-divider","ui-widget-content")}),r=(n=e.not(".ui-menu-item, .ui-menu-divider")).children().not(".ui-menu").uniqueId().attr({tabIndex:-1,role:this._itemRole()}),this._addClass(n,"ui-menu-item")._addClass(r,"ui-menu-item-wrapper"),e.filter(".ui-state-disabled").attr("aria-disabled","true"),this.active&&!t.contains(this.element[0],this.active[0])&&this.blur()},_itemRole:function(){return{menu:"menuitem",listbox:"option"}[this.options.role]},_setOption:function(t,e){if("icons"===t){var i=this.element.find(".ui-menu-icon");this._removeClass(i,null,this.options.icons.submenu)._addClass(i,null,e.submenu)}this._super(t,e)},_setOptionDisabled:function(t){this._super(t),this.element.attr("aria-disabled",String(t)),this._toggleClass(null,"ui-state-disabled",!!t)},focus:function(t,e){var i,n,r;this.blur(t,t&&"focus"===t.type),this._scrollIntoView(e),this.active=e.first(),n=this.active.children(".ui-menu-item-wrapper"),this._addClass(n,null,"ui-state-active"),this.options.role&&this.element.attr("aria-activedescendant",n.attr("id")),r=this.active.parent().closest(".ui-menu-item").children(".ui-menu-item-wrapper"),this._addClass(r,null,"ui-state-active"),t&&"keydown"===t.type?this._close():this.timer=this._delay(function(){this._close()},this.delay),(i=e.children(".ui-menu")).length&&t&&/^mouse/.test(t.type)&&this._startOpening(i),this.activeMenu=e.parent(),this._trigger("focus",t,{item:e})},_scrollIntoView:function(e){var i,n,r,o,s,a;this._hasScroll()&&(i=parseFloat(t.css(this.activeMenu[0],"borderTopWidth"))||0,n=parseFloat(t.css(this.activeMenu[0],"paddingTop"))||0,r=e.offset().top-this.activeMenu.offset().top-i-n,o=this.activeMenu.scrollTop(),s=this.activeMenu.height(),a=e.outerHeight(),r<0?this.activeMenu.scrollTop(o+r):r+a>s&&this.activeMenu.scrollTop(o+r-s+a))},blur:function(t,e){e||clearTimeout(this.timer),this.active&&(this._removeClass(this.active.children(".ui-menu-item-wrapper"),null,"ui-state-active"),this._trigger("blur",t,{item:this.active}),this.active=null)},_startOpening:function(t){clearTimeout(this.timer),"true"===t.attr("aria-hidden")&&(this.timer=this._delay(function(){this._close(),this._open(t)},this.delay))},_open:function(e){var i=t.extend({of:this.active},this.options.position);clearTimeout(this.timer),this.element.find(".ui-menu").not(e.parents(".ui-menu")).hide().attr("aria-hidden","true"),e.show().removeAttr("aria-hidden").attr("aria-expanded","true").position(i)},collapseAll:function(e,i){clearTimeout(this.timer),this.timer=this._delay(function(){var n=i?this.element:t(e&&e.target).closest(this.element.find(".ui-menu"));n.length||(n=this.element),this._close(n),this.blur(e),this._removeClass(n.find(".ui-state-active"),null,"ui-state-active"),this.activeMenu=n},i?0:this.delay)},_close:function(t){t||(t=this.active?this.active.parent():this.element),t.find(".ui-menu").hide().attr("aria-hidden","true").attr("aria-expanded","false")},_closeOnDocumentClick:function(e){return!t(e.target).closest(".ui-menu").length},_isDivider:function(t){return!/[^\-\u2014\u2013\s]/.test(t.text())},collapse:function(t){var e=this.active&&this.active.parent().closest(".ui-menu-item",this.element);e&&e.length&&(this._close(),this.focus(t,e))},expand:function(t){var e=this.active&&this._menuItems(this.active.children(".ui-menu")).first();e&&e.length&&(this._open(e.parent()),this._delay(function(){this.focus(t,e)}))},next:function(t){this._move("next","first",t)},previous:function(t){this._move("prev","last",t)},isFirstItem:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},isLastItem:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},_menuItems:function(t){return(t||this.element).find(this.options.items).filter(".ui-menu-item")},_move:function(t,e,i){var n;this.active&&(n="first"===t||"last"===t?this.active["first"===t?"prevAll":"nextAll"](".ui-menu-item").last():this.active[t+"All"](".ui-menu-item").first()),n&&n.length&&this.active||(n=this._menuItems(this.activeMenu)[e]()),this.focus(i,n)},nextPage:function(e){var i,n,r;this.active?this.isLastItem()||(this._hasScroll()?(n=this.active.offset().top,r=this.element.innerHeight(),0===t.fn.jquery.indexOf("3.2.")&&(r+=this.element[0].offsetHeight-this.element.outerHeight()),this.active.nextAll(".ui-menu-item").each(function(){return(i=t(this)).offset().top-n-r<0}),this.focus(e,i)):this.focus(e,this._menuItems(this.activeMenu)[this.active?"last":"first"]())):this.next(e)},previousPage:function(e){var i,n,r;this.active?this.isFirstItem()||(this._hasScroll()?(n=this.active.offset().top,r=this.element.innerHeight(),0===t.fn.jquery.indexOf("3.2.")&&(r+=this.element[0].offsetHeight-this.element.outerHeight()),this.active.prevAll(".ui-menu-item").each(function(){return(i=t(this)).offset().top-n+r>0}),this.focus(e,i)):this.focus(e,this._menuItems(this.activeMenu).first())):this.next(e)},_hasScroll:function(){return this.element.outerHeight()",options:{appendTo:null,autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},requestIndex:0,pending:0,liveRegionTimer:null,_create:function(){var e,i,n,r=this.element[0].nodeName.toLowerCase(),o="textarea"===r,s="input"===r;this.isMultiLine=o||!s&&this._isContentEditable(this.element),this.valueMethod=this.element[o||s?"val":"text"],this.isNewMenu=!0,this._addClass("ui-autocomplete-input"),this.element.attr("autocomplete","off"),this._on(this.element,{keydown:function(r){if(this.element.prop("readOnly"))return e=!0,n=!0,void(i=!0);e=!1,n=!1,i=!1;var o=t.ui.keyCode;switch(r.keyCode){case o.PAGE_UP:e=!0,this._move("previousPage",r);break;case o.PAGE_DOWN:e=!0,this._move("nextPage",r);break;case o.UP:e=!0,this._keyEvent("previous",r);break;case o.DOWN:e=!0,this._keyEvent("next",r);break;case o.ENTER:this.menu.active&&(e=!0,r.preventDefault(),this.menu.select(r));break;case o.TAB:this.menu.active&&this.menu.select(r);break;case o.ESCAPE:this.menu.element.is(":visible")&&(this.isMultiLine||this._value(this.term),this.close(r),r.preventDefault());break;default:i=!0,this._searchTimeout(r)}},keypress:function(n){if(e)return e=!1,void(this.isMultiLine&&!this.menu.element.is(":visible")||n.preventDefault());if(!i){var r=t.ui.keyCode;switch(n.keyCode){case r.PAGE_UP:this._move("previousPage",n);break;case r.PAGE_DOWN:this._move("nextPage",n);break;case r.UP:this._keyEvent("previous",n);break;case r.DOWN:this._keyEvent("next",n)}}},input:function(t){if(n)return n=!1,void t.preventDefault();this._searchTimeout(t)},focus:function(){this.selectedItem=null,this.previous=this._value()},blur:function(t){clearTimeout(this.searching),this.close(t),this._change(t)}}),this._initSource(),this.menu=t("
    ").appendTo(this._appendTo()).menu({role:null}).hide().attr({unselectable:"on"}).menu("instance"),this._addClass(this.menu.element,"ui-autocomplete","ui-front"),this._on(this.menu.element,{mousedown:function(t){t.preventDefault()},menufocus:function(e,i){var n,r;if(this.isNewMenu&&(this.isNewMenu=!1,e.originalEvent&&/^mouse/.test(e.originalEvent.type)))return this.menu.blur(),void this.document.one("mousemove",function(){t(e.target).trigger(e.originalEvent)});r=i.item.data("ui-autocomplete-item"),!1!==this._trigger("focus",e,{item:r})&&e.originalEvent&&/^key/.test(e.originalEvent.type)&&this._value(r.value),(n=i.item.attr("aria-label")||r.value)&&String.prototype.trim.call(n).length&&(clearTimeout(this.liveRegionTimer),this.liveRegionTimer=this._delay(function(){this.liveRegion.html(t("
    ").text(n))},100))},menuselect:function(e,i){var n=i.item.data("ui-autocomplete-item"),r=this.previous;this.element[0]!==t.ui.safeActiveElement(this.document[0])&&(this.element.trigger("focus"),this.previous=r,this._delay(function(){this.previous=r,this.selectedItem=n})),!1!==this._trigger("select",e,{item:n})&&this._value(n.value),this.term=this._value(),this.close(e),this.selectedItem=n}}),this.liveRegion=t("
    ",{role:"status","aria-live":"assertive","aria-relevant":"additions"}).appendTo(this.document[0].body),this._addClass(this.liveRegion,null,"ui-helper-hidden-accessible"),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_destroy:function(){clearTimeout(this.searching),this.element.removeAttr("autocomplete"),this.menu.element.remove(),this.liveRegion.remove()},_setOption:function(t,e){this._super(t,e),"source"===t&&this._initSource(),"appendTo"===t&&this.menu.element.appendTo(this._appendTo()),"disabled"===t&&e&&this.xhr&&this.xhr.abort()},_isEventTargetInWidget:function(e){var i=this.menu.element[0];return e.target===this.element[0]||e.target===i||t.contains(i,e.target)},_closeOnClickOutside:function(t){this._isEventTargetInWidget(t)||this.close()},_appendTo:function(){var e=this.options.appendTo;return e&&(e=e.jquery||e.nodeType?t(e):this.document.find(e).eq(0)),e&&e[0]||(e=this.element.closest(".ui-front, dialog")),e.length||(e=this.document[0].body),e},_initSource:function(){var e,i,n=this;Array.isArray(this.options.source)?(e=this.options.source,this.source=function(i,n){n(t.ui.autocomplete.filter(e,i.term))}):"string"==typeof this.options.source?(i=this.options.source,this.source=function(e,r){n.xhr&&n.xhr.abort(),n.xhr=t.ajax({url:i,data:e,dataType:"json",success:function(t){r(t)},error:function(){r([])}})}):this.source=this.options.source},_searchTimeout:function(t){clearTimeout(this.searching),this.searching=this._delay(function(){var e=this.term===this._value(),i=this.menu.element.is(":visible"),n=t.altKey||t.ctrlKey||t.metaKey||t.shiftKey;e&&(!e||i||n)||(this.selectedItem=null,this.search(null,t))},this.options.delay)},search:function(t,e){return t=null!=t?t:this._value(),this.term=this._value(),t.length").append(t("
    ").text(i.label)).appendTo(e)},_move:function(t,e){if(this.menu.element.is(":visible"))return this.menu.isFirstItem()&&/^previous/.test(t)||this.menu.isLastItem()&&/^next/.test(t)?(this.isMultiLine||this._value(this.term),void this.menu.blur()):void this.menu[t](e);this.search(null,e)},widget:function(){return this.menu.element},_value:function(){return this.valueMethod.apply(this.element,arguments)},_keyEvent:function(t,e){this.isMultiLine&&!this.menu.element.is(":visible")||(this._move(t,e),e.preventDefault())},_isContentEditable:function(t){if(!t.length)return!1;var e=t.prop("contentEditable");return"inherit"===e?this._isContentEditable(t.parent()):"true"===e}}),t.extend(t.ui.autocomplete,{escapeRegex:function(t){return t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")},filter:function(e,i){var n=new RegExp(t.ui.autocomplete.escapeRegex(i),"i");return t.grep(e,function(t){return n.test(t.label||t.value||t)})}}),t.widget("ui.autocomplete",t.ui.autocomplete,{options:{messages:{noResults:"No search results.",results:function(t){return t+(t>1?" results are":" result is")+" available, use up and down arrow keys to navigate."}}},__response:function(e){var i;this._superApply(arguments),this.options.disabled||this.cancelSearch||(i=e&&e.length?this.options.messages.results(e.length):this.options.messages.noResults,clearTimeout(this.liveRegionTimer),this.liveRegionTimer=this._delay(function(){this.liveRegion.html(t("
    ").text(i))},100))}}),t.ui.autocomplete;var I,S=/ui-corner-([a-z]){2,6}/g;function D(){this._curInst=null,this._keyEvent=!1,this._disabledInputs=[],this._datepickerShowing=!1,this._inDialog=!1,this._mainDivId="ui-datepicker-div",this._inlineClass="ui-datepicker-inline",this._appendClass="ui-datepicker-append",this._triggerClass="ui-datepicker-trigger",this._dialogClass="ui-datepicker-dialog",this._disableClass="ui-datepicker-disabled",this._unselectableClass="ui-datepicker-unselectable",this._currentClass="ui-datepicker-current-day",this._dayOverClass="ui-datepicker-days-cell-over",this.regional=[],this.regional[""]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"mm/dd/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:"",selectMonthLabel:"Select month",selectYearLabel:"Select year"},this._defaults={showOn:"focus",showAnim:"fadeIn",showOptions:{},defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:!1,hideIfNoPrevNext:!1,navigationAsDateFormat:!1,gotoCurrent:!1,changeMonth:!1,changeYear:!1,yearRange:"c-10:c+10",showOtherMonths:!1,selectOtherMonths:!1,showWeek:!1,calculateWeek:this.iso8601Week,shortYearCutoff:"+10",minDate:null,maxDate:null,duration:"fast",beforeShowDay:null,beforeShow:null,onSelect:null,onChangeMonthYear:null,onClose:null,onUpdateDatepicker:null,numberOfMonths:1,showCurrentAtPos:0,stepMonths:1,stepBigMonths:12,altField:"",altFormat:"",constrainInput:!0,showButtonPanel:!1,autoSize:!1,disabled:!1},t.extend(this._defaults,this.regional[""]),this.regional.en=t.extend(!0,{},this.regional[""]),this.regional["en-US"]=t.extend(!0,{},this.regional.en),this.dpDiv=T(t("
    "))}function T(e){var i="button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a";return e.on("mouseout",i,function(){t(this).removeClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&t(this).removeClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&t(this).removeClass("ui-datepicker-next-hover")}).on("mouseover",i,O)}function O(){t.datepicker._isDisabledDatepicker(I.inline?I.dpDiv.parent()[0]:I.input[0])||(t(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"),t(this).addClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&t(this).addClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&t(this).addClass("ui-datepicker-next-hover"))}function P(e,i){for(var n in t.extend(e,i),i)null==i[n]&&(e[n]=i[n]);return e}t.widget("ui.controlgroup",{version:"1.13.3",defaultElement:"
    ",options:{direction:"horizontal",disabled:null,onlyVisible:!0,items:{button:"input[type=button], input[type=submit], input[type=reset], button, a",controlgroupLabel:".ui-controlgroup-label",checkboxradio:"input[type='checkbox'], input[type='radio']",selectmenu:"select",spinner:".ui-spinner-input"}},_create:function(){this._enhance()},_enhance:function(){this.element.attr("role","toolbar"),this.refresh()},_destroy:function(){this._callChildMethod("destroy"),this.childWidgets.removeData("ui-controlgroup-data"),this.element.removeAttr("role"),this.options.items.controlgroupLabel&&this.element.find(this.options.items.controlgroupLabel).find(".ui-controlgroup-label-contents").contents().unwrap()},_initWidgets:function(){var e=this,i=[];t.each(this.options.items,function(n,r){var o,s={};if(r)return"controlgroupLabel"===n?((o=e.element.find(r)).each(function(){var e=t(this);e.children(".ui-controlgroup-label-contents").length||e.contents().wrapAll("")}),e._addClass(o,null,"ui-widget ui-widget-content ui-state-default"),void(i=i.concat(o.get()))):void(t.fn[n]&&(s=e["_"+n+"Options"]?e["_"+n+"Options"]("middle"):{classes:{}},e.element.find(r).each(function(){var r=t(this),o=r[n]("instance"),a=t.widget.extend({},s);if("button"!==n||!r.parent(".ui-spinner").length){o||(o=r[n]()[n]("instance")),o&&(a.classes=e._resolveClassesValues(a.classes,o)),r[n](a);var u=r[n]("widget");t.data(u[0],"ui-controlgroup-data",o||r[n]("instance")),i.push(u[0])}})))}),this.childWidgets=t(t.uniqueSort(i)),this._addClass(this.childWidgets,"ui-controlgroup-item")},_callChildMethod:function(e){this.childWidgets.each(function(){var i=t(this).data("ui-controlgroup-data");i&&i[e]&&i[e]()})},_updateCornerClass:function(t,e){var i=this._buildSimpleOptions(e,"label").classes.label;this._removeClass(t,null,"ui-corner-top ui-corner-bottom ui-corner-left ui-corner-right ui-corner-all"),this._addClass(t,null,i)},_buildSimpleOptions:function(t,e){var i="vertical"===this.options.direction,n={classes:{}};return n.classes[e]={middle:"",first:"ui-corner-"+(i?"top":"left"),last:"ui-corner-"+(i?"bottom":"right"),only:"ui-corner-all"}[t],n},_spinnerOptions:function(t){var e=this._buildSimpleOptions(t,"ui-spinner");return e.classes["ui-spinner-up"]="",e.classes["ui-spinner-down"]="",e},_buttonOptions:function(t){return this._buildSimpleOptions(t,"ui-button")},_checkboxradioOptions:function(t){return this._buildSimpleOptions(t,"ui-checkboxradio-label")},_selectmenuOptions:function(t){var e="vertical"===this.options.direction;return{width:!!e&&"auto",classes:{middle:{"ui-selectmenu-button-open":"","ui-selectmenu-button-closed":""},first:{"ui-selectmenu-button-open":"ui-corner-"+(e?"top":"tl"),"ui-selectmenu-button-closed":"ui-corner-"+(e?"top":"left")},last:{"ui-selectmenu-button-open":e?"":"ui-corner-tr","ui-selectmenu-button-closed":"ui-corner-"+(e?"bottom":"right")},only:{"ui-selectmenu-button-open":"ui-corner-top","ui-selectmenu-button-closed":"ui-corner-all"}}[t]}},_resolveClassesValues:function(e,i){var n={};return t.each(e,function(t){var r=i.options.classes[t]||"";r=String.prototype.trim.call(r.replace(S,"")),n[t]=(r+" "+e[t]).replace(/\s+/g," ")}),n},_setOption:function(t,e){"direction"===t&&this._removeClass("ui-controlgroup-"+this.options.direction),this._super(t,e),"disabled"!==t?this.refresh():this._callChildMethod(e?"disable":"enable")},refresh:function(){var e,i=this;this._addClass("ui-controlgroup ui-controlgroup-"+this.options.direction),"horizontal"===this.options.direction&&this._addClass(null,"ui-helper-clearfix"),this._initWidgets(),e=this.childWidgets,this.options.onlyVisible&&(e=e.filter(":visible")),e.length&&(t.each(["first","last"],function(t,n){var r=e[n]().data("ui-controlgroup-data");if(r&&i["_"+r.widgetName+"Options"]){var o=i["_"+r.widgetName+"Options"](1===e.length?"only":n);o.classes=i._resolveClassesValues(o.classes,r),r.element[r.widgetName](o)}else i._updateCornerClass(e[n](),n)}),this._callChildMethod("refresh"))}}),t.widget("ui.checkboxradio",[t.ui.formResetMixin,{version:"1.13.3",options:{disabled:null,label:null,icon:!0,classes:{"ui-checkboxradio-label":"ui-corner-all","ui-checkboxradio-icon":"ui-corner-all"}},_getCreateOptions:function(){var e,i,n,r=this._super()||{};return this._readType(),i=this.element.labels(),this.label=t(i[i.length-1]),this.label.length||t.error("No label found for checkboxradio widget"),this.originalLabel="",(n=this.label.contents().not(this.element[0])).length&&(this.originalLabel+=n.clone().wrapAll("
    ").parent().html()),this.originalLabel&&(r.label=this.originalLabel),null!=(e=this.element[0].disabled)&&(r.disabled=e),r},_create:function(){var t=this.element[0].checked;this._bindFormResetHandler(),null==this.options.disabled&&(this.options.disabled=this.element[0].disabled),this._setOption("disabled",this.options.disabled),this._addClass("ui-checkboxradio","ui-helper-hidden-accessible"),this._addClass(this.label,"ui-checkboxradio-label","ui-button ui-widget"),"radio"===this.type&&this._addClass(this.label,"ui-checkboxradio-radio-label"),this.options.label&&this.options.label!==this.originalLabel?this._updateLabel():this.originalLabel&&(this.options.label=this.originalLabel),this._enhance(),t&&this._addClass(this.label,"ui-checkboxradio-checked","ui-state-active"),this._on({change:"_toggleClasses",focus:function(){this._addClass(this.label,null,"ui-state-focus ui-visual-focus")},blur:function(){this._removeClass(this.label,null,"ui-state-focus ui-visual-focus")}})},_readType:function(){var e=this.element[0].nodeName.toLowerCase();this.type=this.element[0].type,"input"===e&&/radio|checkbox/.test(this.type)||t.error("Can't create checkboxradio on element.nodeName="+e+" and element.type="+this.type)},_enhance:function(){this._updateIcon(this.element[0].checked)},widget:function(){return this.label},_getRadioGroup:function(){var e=this.element[0].name,i="input[name='"+t.escapeSelector(e)+"']";return e?(this.form.length?t(this.form[0].elements).filter(i):t(i).filter(function(){return 0===t(this)._form().length})).not(this.element):t([])},_toggleClasses:function(){var e=this.element[0].checked;this._toggleClass(this.label,"ui-checkboxradio-checked","ui-state-active",e),this.options.icon&&"checkbox"===this.type&&this._toggleClass(this.icon,null,"ui-icon-check ui-state-checked",e)._toggleClass(this.icon,null,"ui-icon-blank",!e),"radio"===this.type&&this._getRadioGroup().each(function(){var e=t(this).checkboxradio("instance");e&&e._removeClass(e.label,"ui-checkboxradio-checked","ui-state-active")})},_destroy:function(){this._unbindFormResetHandler(),this.icon&&(this.icon.remove(),this.iconSpace.remove())},_setOption:function(t,e){if("label"!==t||e){if(this._super(t,e),"disabled"===t)return this._toggleClass(this.label,null,"ui-state-disabled",e),void(this.element[0].disabled=e);this.refresh()}},_updateIcon:function(e){var i="ui-icon ui-icon-background ";this.options.icon?(this.icon||(this.icon=t(""),this.iconSpace=t(" "),this._addClass(this.iconSpace,"ui-checkboxradio-icon-space")),"checkbox"===this.type?(i+=e?"ui-icon-check ui-state-checked":"ui-icon-blank",this._removeClass(this.icon,null,e?"ui-icon-blank":"ui-icon-check")):i+="ui-icon-blank",this._addClass(this.icon,"ui-checkboxradio-icon",i),e||this._removeClass(this.icon,null,"ui-icon-check ui-state-checked"),this.icon.prependTo(this.label).after(this.iconSpace)):void 0!==this.icon&&(this.icon.remove(),this.iconSpace.remove(),delete this.icon)},_updateLabel:function(){var t=this.label.contents().not(this.element[0]);this.icon&&(t=t.not(this.icon[0])),this.iconSpace&&(t=t.not(this.iconSpace[0])),t.remove(),this.label.append(this.options.label)},refresh:function(){var t=this.element[0].checked,e=this.element[0].disabled;this._updateIcon(t),this._toggleClass(this.label,"ui-checkboxradio-checked","ui-state-active",t),null!==this.options.label&&this._updateLabel(),e!==this.options.disabled&&this._setOptions({disabled:e})}}]),t.ui.checkboxradio,t.widget("ui.button",{version:"1.13.3",defaultElement:"
    "+(G[0]>0&&_===G[1]-1?"
    ":""):"")}w+=k}return w+=h,e._keyEvent=!1,w},_generateMonthYearHeader:function(t,e,i,n,r,o,s,a){var u,c,h,l,d,f,p,g,A=this._get(t,"changeMonth"),m=this._get(t,"changeYear"),v=this._get(t,"showMonthAfterYear"),b=this._get(t,"selectMonthLabel"),y=this._get(t,"selectYearLabel"),w="
    ",C="";if(o||!A)C+=""+s[e]+"";else{for(u=n&&n.getFullYear()===i,c=r&&r.getFullYear()===i,C+=""}if(v||(w+=C+(!o&&A&&m?"":" ")),!t.yearshtml)if(t.yearshtml="",o||!m)w+=""+i+"";else{for(l=this._get(t,"yearRange").split(":"),d=(new Date).getFullYear(),f=function(t){var e=t.match(/c[+\-].*/)?i+parseInt(t.substring(1),10):t.match(/[+\-].*/)?d+parseInt(t,10):parseInt(t,10);return isNaN(e)?d:e},p=f(l[0]),g=Math.max(p,f(l[1]||"")),p=n?Math.max(p,n.getFullYear()):p,g=r?Math.min(g,r.getFullYear()):g,t.yearshtml+="",w+=t.yearshtml,t.yearshtml=null}return w+=this._get(t,"yearSuffix"),v&&(w+=(!o&&A&&m?"":" ")+C),w+"
    "},_adjustInstDate:function(t,e,i){var n=t.selectedYear+("Y"===i?e:0),r=t.selectedMonth+("M"===i?e:0),o=Math.min(t.selectedDay,this._getDaysInMonth(n,r))+("D"===i?e:0),s=this._restrictMinMax(t,this._daylightSavingAdjust(new Date(n,r,o)));t.selectedDay=s.getDate(),t.drawMonth=t.selectedMonth=s.getMonth(),t.drawYear=t.selectedYear=s.getFullYear(),"M"!==i&&"Y"!==i||this._notifyChange(t)},_restrictMinMax:function(t,e){var i=this._getMinMaxDate(t,"min"),n=this._getMinMaxDate(t,"max"),r=i&&en?n:r},_notifyChange:function(t){var e=this._get(t,"onChangeMonthYear");e&&e.apply(t.input?t.input[0]:null,[t.selectedYear,t.selectedMonth+1,t])},_getNumberOfMonths:function(t){var e=this._get(t,"numberOfMonths");return null==e?[1,1]:"number"==typeof e?[1,e]:e},_getMinMaxDate:function(t,e){return this._determineDate(t,this._get(t,e+"Date"),null)},_getDaysInMonth:function(t,e){return 32-this._daylightSavingAdjust(new Date(t,e,32)).getDate()},_getFirstDayOfMonth:function(t,e){return new Date(t,e,1).getDay()},_canAdjustMonth:function(t,e,i,n){var r=this._getNumberOfMonths(t),o=this._daylightSavingAdjust(new Date(i,n+(e<0?e:r[0]*r[1]),1));return e<0&&o.setDate(this._getDaysInMonth(o.getFullYear(),o.getMonth())),this._isInRange(t,o)},_isInRange:function(t,e){var i,n,r=this._getMinMaxDate(t,"min"),o=this._getMinMaxDate(t,"max"),s=null,a=null,u=this._get(t,"yearRange");return u&&(i=u.split(":"),n=(new Date).getFullYear(),s=parseInt(i[0],10),a=parseInt(i[1],10),i[0].match(/[+\-].*/)&&(s+=n),i[1].match(/[+\-].*/)&&(a+=n)),(!r||e.getTime()>=r.getTime())&&(!o||e.getTime()<=o.getTime())&&(!s||e.getFullYear()>=s)&&(!a||e.getFullYear()<=a)},_getFormatConfig:function(t){var e=this._get(t,"shortYearCutoff");return{shortYearCutoff:e="string"!=typeof e?e:(new Date).getFullYear()%100+parseInt(e,10),dayNamesShort:this._get(t,"dayNamesShort"),dayNames:this._get(t,"dayNames"),monthNamesShort:this._get(t,"monthNamesShort"),monthNames:this._get(t,"monthNames")}},_formatDate:function(t,e,i,n){e||(t.currentDay=t.selectedDay,t.currentMonth=t.selectedMonth,t.currentYear=t.selectedYear);var r=e?"object"==typeof e?e:this._daylightSavingAdjust(new Date(n,i,e)):this._daylightSavingAdjust(new Date(t.currentYear,t.currentMonth,t.currentDay));return this.formatDate(this._get(t,"dateFormat"),r,this._getFormatConfig(t))}}),t.fn.datepicker=function(e){if(!this.length)return this;t.datepicker.initialized||(t(document).on("mousedown",t.datepicker._checkExternalClick),t.datepicker.initialized=!0),0===t("#"+t.datepicker._mainDivId).length&&t("body").append(t.datepicker.dpDiv);var i=Array.prototype.slice.call(arguments,1);return"string"!=typeof e||"isDisabled"!==e&&"getDate"!==e&&"widget"!==e?"option"===e&&2===arguments.length&&"string"==typeof arguments[1]?t.datepicker["_"+e+"Datepicker"].apply(t.datepicker,[this[0]].concat(i)):this.each(function(){"string"==typeof e?t.datepicker["_"+e+"Datepicker"].apply(t.datepicker,[this].concat(i)):t.datepicker._attachDatepicker(this,e)}):t.datepicker["_"+e+"Datepicker"].apply(t.datepicker,[this[0]].concat(i))},t.datepicker=new D,t.datepicker.initialized=!1,t.datepicker.uuid=(new Date).getTime(),t.datepicker.version="1.13.3",t.datepicker,t.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase());var R,z=!1;function N(t){return function(){var e=this.element.val();t.apply(this,arguments),this._refresh(),e!==this.element.val()&&this._trigger("change")}}t(document).on("mouseup",function(){z=!1}),t.widget("ui.mouse",{version:"1.13.3",options:{cancel:"input, textarea, button, select, option",distance:1,delay:0},_mouseInit:function(){var e=this;this.element.on("mousedown."+this.widgetName,function(t){return e._mouseDown(t)}).on("click."+this.widgetName,function(i){if(!0===t.data(i.target,e.widgetName+".preventClickEvent"))return t.removeData(i.target,e.widgetName+".preventClickEvent"),i.stopImmediatePropagation(),!1}),this.started=!1},_mouseDestroy:function(){this.element.off("."+this.widgetName),this._mouseMoveDelegate&&this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(e){if(!z){this._mouseMoved=!1,this._mouseStarted&&this._mouseUp(e),this._mouseDownEvent=e;var i=this,n=1===e.which,r=!("string"!=typeof this.options.cancel||!e.target.nodeName)&&t(e.target).closest(this.options.cancel).length;return!(n&&!r&&this._mouseCapture(e)&&(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){i.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=!1!==this._mouseStart(e),!this._mouseStarted)?(e.preventDefault(),0):(!0===t.data(e.target,this.widgetName+".preventClickEvent")&&t.removeData(e.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(t){return i._mouseMove(t)},this._mouseUpDelegate=function(t){return i._mouseUp(t)},this.document.on("mousemove."+this.widgetName,this._mouseMoveDelegate).on("mouseup."+this.widgetName,this._mouseUpDelegate),e.preventDefault(),z=!0,0)))}},_mouseMove:function(e){if(this._mouseMoved){if(t.ui.ie&&(!document.documentMode||document.documentMode<9)&&!e.button)return this._mouseUp(e);if(!e.which)if(e.originalEvent.altKey||e.originalEvent.ctrlKey||e.originalEvent.metaKey||e.originalEvent.shiftKey)this.ignoreMissingWhich=!0;else if(!this.ignoreMissingWhich)return this._mouseUp(e)}return(e.which||e.button)&&(this._mouseMoved=!0),this._mouseStarted?(this._mouseDrag(e),e.preventDefault()):(this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=!1!==this._mouseStart(this._mouseDownEvent,e),this._mouseStarted?this._mouseDrag(e):this._mouseUp(e)),!this._mouseStarted)},_mouseUp:function(e){this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,e.target===this._mouseDownEvent.target&&t.data(e.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(e)),this._mouseDelayTimer&&(clearTimeout(this._mouseDelayTimer),delete this._mouseDelayTimer),this.ignoreMissingWhich=!1,z=!1,e.preventDefault()},_mouseDistanceMet:function(t){return Math.max(Math.abs(this._mouseDownEvent.pageX-t.pageX),Math.abs(this._mouseDownEvent.pageY-t.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}}),t.ui.plugin={add:function(e,i,n){var r,o=t.ui[e].prototype;for(r in n)o.plugins[r]=o.plugins[r]||[],o.plugins[r].push([i,n[r]])},call:function(t,e,i,n){var r,o=t.plugins[e];if(o&&(n||t.element[0].parentNode&&11!==t.element[0].parentNode.nodeType))for(r=0;r0||(this.handle=this._getHandle(e),!this.handle||(this._blurActiveElement(e),this._blockFrames(!0===i.iframeFix?"iframe":i.iframeFix),0)))},_blockFrames:function(e){this.iframeBlocks=this.document.find(e).map(function(){var e=t(this);return t("
    ").css("position","absolute").appendTo(e.parent()).outerWidth(e.outerWidth()).outerHeight(e.outerHeight()).offset(e.offset())[0]})},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_blurActiveElement:function(e){var i=t.ui.safeActiveElement(this.document[0]);t(e.target).closest(i).length||t.ui.safeBlur(i)},_mouseStart:function(e){var i=this.options;return this.helper=this._createHelper(e),this._addClass(this.helper,"ui-draggable-dragging"),this._cacheHelperProportions(),t.ui.ddmanager&&(t.ui.ddmanager.current=this),this._cacheMargins(),this.cssPosition=this.helper.css("position"),this.scrollParent=this.helper.scrollParent(!0),this.offsetParent=this.helper.offsetParent(),this.hasFixedAncestor=this.helper.parents().filter(function(){return"fixed"===t(this).css("position")}).length>0,this.positionAbs=this.element.offset(),this._refreshOffsets(e),this.originalPosition=this.position=this._generatePosition(e,!1),this.originalPageX=e.pageX,this.originalPageY=e.pageY,i.cursorAt&&this._adjustOffsetFromHelper(i.cursorAt),this._setContainment(),!1===this._trigger("start",e)?(this._clear(),!1):(this._cacheHelperProportions(),t.ui.ddmanager&&!i.dropBehaviour&&t.ui.ddmanager.prepareOffsets(this,e),this._mouseDrag(e,!0),t.ui.ddmanager&&t.ui.ddmanager.dragStart(this,e),!0)},_refreshOffsets:function(t){this.offset={top:this.positionAbs.top-this.margins.top,left:this.positionAbs.left-this.margins.left,scroll:!1,parent:this._getParentOffset(),relative:this._getRelativeOffset()},this.offset.click={left:t.pageX-this.offset.left,top:t.pageY-this.offset.top}},_mouseDrag:function(e,i){if(this.hasFixedAncestor&&(this.offset.parent=this._getParentOffset()),this.position=this._generatePosition(e,!0),this.positionAbs=this._convertPositionTo("absolute"),!i){var n=this._uiHash();if(!1===this._trigger("drag",e,n))return this._mouseUp(new t.Event("mouseup",e)),!1;this.position=n.position}return this.helper[0].style.left=this.position.left+"px",this.helper[0].style.top=this.position.top+"px",t.ui.ddmanager&&t.ui.ddmanager.drag(this,e),!1},_mouseStop:function(e){var i=this,n=!1;return t.ui.ddmanager&&!this.options.dropBehaviour&&(n=t.ui.ddmanager.drop(this,e)),this.dropped&&(n=this.dropped,this.dropped=!1),"invalid"===this.options.revert&&!n||"valid"===this.options.revert&&n||!0===this.options.revert||"function"==typeof this.options.revert&&this.options.revert.call(this.element,n)?t(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){!1!==i._trigger("stop",e)&&i._clear()}):!1!==this._trigger("stop",e)&&this._clear(),!1},_mouseUp:function(e){return this._unblockFrames(),t.ui.ddmanager&&t.ui.ddmanager.dragStop(this,e),this.handleElement.is(e.target)&&this.element.trigger("focus"),t.ui.mouse.prototype._mouseUp.call(this,e)},cancel:function(){return this.helper.is(".ui-draggable-dragging")?this._mouseUp(new t.Event("mouseup",{target:this.element[0]})):this._clear(),this},_getHandle:function(e){return!this.options.handle||!!t(e.target).closest(this.element.find(this.options.handle)).length},_setHandleClassName:function(){this.handleElement=this.options.handle?this.element.find(this.options.handle):this.element,this._addClass(this.handleElement,"ui-draggable-handle")},_removeHandleClassName:function(){this._removeClass(this.handleElement,"ui-draggable-handle")},_createHelper:function(e){var i=this.options,n="function"==typeof i.helper,r=n?t(i.helper.apply(this.element[0],[e])):"clone"===i.helper?this.element.clone().removeAttr("id"):this.element;return r.parents("body").length||r.appendTo("parent"===i.appendTo?this.element[0].parentNode:i.appendTo),n&&r[0]===this.element[0]&&this._setPositionRelative(),r[0]===this.element[0]||/(fixed|absolute)/.test(r.css("position"))||r.css("position","absolute"),r},_setPositionRelative:function(){/^(?:r|a|f)/.test(this.element.css("position"))||(this.element[0].style.position="relative")},_adjustOffsetFromHelper:function(t){"string"==typeof t&&(t=t.split(" ")),Array.isArray(t)&&(t={left:+t[0],top:+t[1]||0}),"left"in t&&(this.offset.click.left=t.left+this.margins.left),"right"in t&&(this.offset.click.left=this.helperProportions.width-t.right+this.margins.left),"top"in t&&(this.offset.click.top=t.top+this.margins.top),"bottom"in t&&(this.offset.click.top=this.helperProportions.height-t.bottom+this.margins.top)},_isRootNode:function(t){return/(html|body)/i.test(t.tagName)||t===this.document[0]},_getParentOffset:function(){var e=this.offsetParent.offset(),i=this.document[0];return"absolute"===this.cssPosition&&this.scrollParent[0]!==i&&t.contains(this.scrollParent[0],this.offsetParent[0])&&(e.left+=this.scrollParent.scrollLeft(),e.top+=this.scrollParent.scrollTop()),this._isRootNode(this.offsetParent[0])&&(e={top:0,left:0}),{top:e.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:e.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"!==this.cssPosition)return{top:0,left:0};var t=this.element.position(),e=this._isRootNode(this.scrollParent[0]);return{top:t.top-(parseInt(this.helper.css("top"),10)||0)+(e?0:this.scrollParent.scrollTop()),left:t.left-(parseInt(this.helper.css("left"),10)||0)+(e?0:this.scrollParent.scrollLeft())}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var e,i,n,r=this.options,o=this.document[0];this.relativeContainer=null,r.containment?"window"!==r.containment?"document"!==r.containment?r.containment.constructor!==Array?("parent"===r.containment&&(r.containment=this.helper[0].parentNode),(n=(i=t(r.containment))[0])&&(e=/(scroll|auto)/.test(i.css("overflow")),this.containment=[(parseInt(i.css("borderLeftWidth"),10)||0)+(parseInt(i.css("paddingLeft"),10)||0),(parseInt(i.css("borderTopWidth"),10)||0)+(parseInt(i.css("paddingTop"),10)||0),(e?Math.max(n.scrollWidth,n.offsetWidth):n.offsetWidth)-(parseInt(i.css("borderRightWidth"),10)||0)-(parseInt(i.css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(e?Math.max(n.scrollHeight,n.offsetHeight):n.offsetHeight)-(parseInt(i.css("borderBottomWidth"),10)||0)-(parseInt(i.css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom],this.relativeContainer=i)):this.containment=r.containment:this.containment=[0,0,t(o).width()-this.helperProportions.width-this.margins.left,(t(o).height()||o.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]:this.containment=[t(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,t(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,t(window).scrollLeft()+t(window).width()-this.helperProportions.width-this.margins.left,t(window).scrollTop()+(t(window).height()||o.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]:this.containment=null},_convertPositionTo:function(t,e){e||(e=this.position);var i="absolute"===t?1:-1,n=this._isRootNode(this.scrollParent[0]);return{top:e.top+this.offset.relative.top*i+this.offset.parent.top*i-("fixed"===this.cssPosition?-this.offset.scroll.top:n?0:this.offset.scroll.top)*i,left:e.left+this.offset.relative.left*i+this.offset.parent.left*i-("fixed"===this.cssPosition?-this.offset.scroll.left:n?0:this.offset.scroll.left)*i}},_generatePosition:function(t,e){var i,n,r,o,s=this.options,a=this._isRootNode(this.scrollParent[0]),u=t.pageX,c=t.pageY;return a&&this.offset.scroll||(this.offset.scroll={top:this.scrollParent.scrollTop(),left:this.scrollParent.scrollLeft()}),e&&(this.containment&&(this.relativeContainer?(n=this.relativeContainer.offset(),i=[this.containment[0]+n.left,this.containment[1]+n.top,this.containment[2]+n.left,this.containment[3]+n.top]):i=this.containment,t.pageX-this.offset.click.lefti[2]&&(u=i[2]+this.offset.click.left),t.pageY-this.offset.click.top>i[3]&&(c=i[3]+this.offset.click.top)),s.grid&&(r=s.grid[1]?this.originalPageY+Math.round((c-this.originalPageY)/s.grid[1])*s.grid[1]:this.originalPageY,c=i?r-this.offset.click.top>=i[1]||r-this.offset.click.top>i[3]?r:r-this.offset.click.top>=i[1]?r-s.grid[1]:r+s.grid[1]:r,o=s.grid[0]?this.originalPageX+Math.round((u-this.originalPageX)/s.grid[0])*s.grid[0]:this.originalPageX,u=i?o-this.offset.click.left>=i[0]||o-this.offset.click.left>i[2]?o:o-this.offset.click.left>=i[0]?o-s.grid[0]:o+s.grid[0]:o),"y"===s.axis&&(u=this.originalPageX),"x"===s.axis&&(c=this.originalPageY)),{top:c-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.offset.scroll.top:a?0:this.offset.scroll.top),left:u-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.offset.scroll.left:a?0:this.offset.scroll.left)}},_clear:function(){this._removeClass(this.helper,"ui-draggable-dragging"),this.helper[0]===this.element[0]||this.cancelHelperRemoval||this.helper.remove(),this.helper=null,this.cancelHelperRemoval=!1,this.destroyOnClear&&this.destroy()},_trigger:function(e,i,n){return n=n||this._uiHash(),t.ui.plugin.call(this,e,[i,n,this],!0),/^(drag|start|stop)/.test(e)&&(this.positionAbs=this._convertPositionTo("absolute"),n.offset=this.positionAbs),t.Widget.prototype._trigger.call(this,e,i,n)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}}),t.ui.plugin.add("draggable","connectToSortable",{start:function(e,i,n){var r=t.extend({},i,{item:n.element});n.sortables=[],t(n.options.connectToSortable).each(function(){var i=t(this).sortable("instance");i&&!i.options.disabled&&(n.sortables.push(i),i.refreshPositions(),i._trigger("activate",e,r))})},stop:function(e,i,n){var r=t.extend({},i,{item:n.element});n.cancelHelperRemoval=!1,t.each(n.sortables,function(){var t=this;t.isOver?(t.isOver=0,n.cancelHelperRemoval=!0,t.cancelHelperRemoval=!1,t._storedCSS={position:t.placeholder.css("position"),top:t.placeholder.css("top"),left:t.placeholder.css("left")},t._mouseStop(e),t.options.helper=t.options._helper):(t.cancelHelperRemoval=!0,t._trigger("deactivate",e,r))})},drag:function(e,i,n){t.each(n.sortables,function(){var r=!1,o=this;o.positionAbs=n.positionAbs,o.helperProportions=n.helperProportions,o.offset.click=n.offset.click,o._intersectsWith(o.containerCache)&&(r=!0,t.each(n.sortables,function(){return this.positionAbs=n.positionAbs,this.helperProportions=n.helperProportions,this.offset.click=n.offset.click,this!==o&&this._intersectsWith(this.containerCache)&&t.contains(o.element[0],this.element[0])&&(r=!1),r})),r?(o.isOver||(o.isOver=1,n._parent=i.helper.parent(),o.currentItem=i.helper.appendTo(o.element).data("ui-sortable-item",!0),o.options._helper=o.options.helper,o.options.helper=function(){return i.helper[0]},e.target=o.currentItem[0],o._mouseCapture(e,!0),o._mouseStart(e,!0,!0),o.offset.click.top=n.offset.click.top,o.offset.click.left=n.offset.click.left,o.offset.parent.left-=n.offset.parent.left-o.offset.parent.left,o.offset.parent.top-=n.offset.parent.top-o.offset.parent.top,n._trigger("toSortable",e),n.dropped=o.element,t.each(n.sortables,function(){this.refreshPositions()}),n.currentItem=n.element,o.fromOutside=n),o.currentItem&&(o._mouseDrag(e),i.position=o.position)):o.isOver&&(o.isOver=0,o.cancelHelperRemoval=!0,o.options._revert=o.options.revert,o.options.revert=!1,o._trigger("out",e,o._uiHash(o)),o._mouseStop(e,!0),o.options.revert=o.options._revert,o.options.helper=o.options._helper,o.placeholder&&o.placeholder.remove(),i.helper.appendTo(n._parent),n._refreshOffsets(e),i.position=n._generatePosition(e,!0),n._trigger("fromSortable",e),n.dropped=!1,t.each(n.sortables,function(){this.refreshPositions()}))})}}),t.ui.plugin.add("draggable","cursor",{start:function(e,i,n){var r=t("body"),o=n.options;r.css("cursor")&&(o._cursor=r.css("cursor")),r.css("cursor",o.cursor)},stop:function(e,i,n){var r=n.options;r._cursor&&t("body").css("cursor",r._cursor)}}),t.ui.plugin.add("draggable","opacity",{start:function(e,i,n){var r=t(i.helper),o=n.options;r.css("opacity")&&(o._opacity=r.css("opacity")),r.css("opacity",o.opacity)},stop:function(e,i,n){var r=n.options;r._opacity&&t(i.helper).css("opacity",r._opacity)}}),t.ui.plugin.add("draggable","scroll",{start:function(t,e,i){i.scrollParentNotHidden||(i.scrollParentNotHidden=i.helper.scrollParent(!1)),i.scrollParentNotHidden[0]!==i.document[0]&&"HTML"!==i.scrollParentNotHidden[0].tagName&&(i.overflowOffset=i.scrollParentNotHidden.offset())},drag:function(e,i,n){var r=n.options,o=!1,s=n.scrollParentNotHidden[0],a=n.document[0];s!==a&&"HTML"!==s.tagName?(r.axis&&"x"===r.axis||(n.overflowOffset.top+s.offsetHeight-e.pageY=0;d--)c=(u=n.snapElements[d].left-n.margins.left)+n.snapElements[d].width,l=(h=n.snapElements[d].top-n.margins.top)+n.snapElements[d].height,mc+g||bl+g||!t.contains(n.snapElements[d].item.ownerDocument,n.snapElements[d].item)?(n.snapElements[d].snapping&&n.options.snap.release&&n.options.snap.release.call(n.element,e,t.extend(n._uiHash(),{snapItem:n.snapElements[d].item})),n.snapElements[d].snapping=!1):("inner"!==p.snapMode&&(r=Math.abs(h-b)<=g,o=Math.abs(l-v)<=g,s=Math.abs(u-m)<=g,a=Math.abs(c-A)<=g,r&&(i.position.top=n._convertPositionTo("relative",{top:h-n.helperProportions.height,left:0}).top),o&&(i.position.top=n._convertPositionTo("relative",{top:l,left:0}).top),s&&(i.position.left=n._convertPositionTo("relative",{top:0,left:u-n.helperProportions.width}).left),a&&(i.position.left=n._convertPositionTo("relative",{top:0,left:c}).left)),f=r||o||s||a,"outer"!==p.snapMode&&(r=Math.abs(h-v)<=g,o=Math.abs(l-b)<=g,s=Math.abs(u-A)<=g,a=Math.abs(c-m)<=g,r&&(i.position.top=n._convertPositionTo("relative",{top:h,left:0}).top),o&&(i.position.top=n._convertPositionTo("relative",{top:l-n.helperProportions.height,left:0}).top),s&&(i.position.left=n._convertPositionTo("relative",{top:0,left:u}).left),a&&(i.position.left=n._convertPositionTo("relative",{top:0,left:c-n.helperProportions.width}).left)),!n.snapElements[d].snapping&&(r||o||s||a||f)&&n.options.snap.snap&&n.options.snap.snap.call(n.element,e,t.extend(n._uiHash(),{snapItem:n.snapElements[d].item})),n.snapElements[d].snapping=r||o||s||a||f)}}),t.ui.plugin.add("draggable","stack",{start:function(e,i,n){var r,o=n.options,s=t.makeArray(t(o.stack)).sort(function(e,i){return(parseInt(t(e).css("zIndex"),10)||0)-(parseInt(t(i).css("zIndex"),10)||0)});s.length&&(r=parseInt(t(s[0]).css("zIndex"),10)||0,t(s).each(function(e){t(this).css("zIndex",r+e)}),this.css("zIndex",r+s.length))}}),t.ui.plugin.add("draggable","zIndex",{start:function(e,i,n){var r=t(i.helper),o=n.options;r.css("zIndex")&&(o._zIndex=r.css("zIndex")),r.css("zIndex",o.zIndex)},stop:function(e,i,n){var r=n.options;r._zIndex&&t(i.helper).css("zIndex",r._zIndex)}}),t.ui.draggable,t.widget("ui.resizable",t.ui.mouse,{version:"1.13.3",widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,classes:{"ui-resizable-se":"ui-icon ui-icon-gripsmall-diagonal-se"},containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:90,resize:null,start:null,stop:null},_num:function(t){return parseFloat(t)||0},_isNumber:function(t){return!isNaN(parseFloat(t))},_hasScroll:function(e,i){if("hidden"===t(e).css("overflow"))return!1;var n=i&&"left"===i?"scrollLeft":"scrollTop",r=!1;if(e[n]>0)return!0;try{e[n]=1,r=e[n]>0,e[n]=0}catch(t){}return r},_create:function(){var e,i=this.options,n=this;this._addClass("ui-resizable"),t.extend(this,{_aspectRatio:!!i.aspectRatio,aspectRatio:i.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:i.helper||i.ghost||i.animate?i.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/^(canvas|textarea|input|select|button|img)$/i)&&(this.element.wrap(t("
    ").css({overflow:"hidden",position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.resizable("instance")),this.elementIsWrapper=!0,e={marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom"),marginLeft:this.originalElement.css("marginLeft")},this.element.css(e),this.originalElement.css("margin",0),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css(e),this._proportionallyResize()),this._setupHandles(),i.autoHide&&t(this.element).on("mouseenter",function(){i.disabled||(n._removeClass("ui-resizable-autohide"),n._handles.show())}).on("mouseleave",function(){i.disabled||n.resizing||(n._addClass("ui-resizable-autohide"),n._handles.hide())}),this._mouseInit()},_destroy:function(){this._mouseDestroy(),this._addedHandles.remove();var e,i=function(e){t(e).removeData("resizable").removeData("ui-resizable").off(".resizable")};return this.elementIsWrapper&&(i(this.element),e=this.element,this.originalElement.css({position:e.css("position"),width:e.outerWidth(),height:e.outerHeight(),top:e.css("top"),left:e.css("left")}).insertAfter(e),e.remove()),this.originalElement.css("resize",this.originalResizeStyle),i(this.originalElement),this},_setOption:function(t,e){switch(this._super(t,e),t){case"handles":this._removeHandles(),this._setupHandles();break;case"aspectRatio":this._aspectRatio=!!e}},_setupHandles:function(){var e,i,n,r,o,s=this.options,a=this;if(this.handles=s.handles||(t(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this._handles=t(),this._addedHandles=t(),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),n=this.handles.split(","),this.handles={},i=0;i"),this._addClass(o,"ui-resizable-handle "+r),o.css({zIndex:s.zIndex}),this.handles[e]=".ui-resizable-"+e,this.element.children(this.handles[e]).length||(this.element.append(o),this._addedHandles=this._addedHandles.add(o));this._renderAxis=function(e){var i,n,r,o;for(i in e=e||this.element,this.handles)this.handles[i].constructor===String?this.handles[i]=this.element.children(this.handles[i]).first().show():(this.handles[i].jquery||this.handles[i].nodeType)&&(this.handles[i]=t(this.handles[i]),this._on(this.handles[i],{mousedown:a._mouseDown})),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i)&&(n=t(this.handles[i],this.element),o=/sw|ne|nw|se|n|s/.test(i)?n.outerHeight():n.outerWidth(),r=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join(""),e.css(r,o),this._proportionallyResize()),this._handles=this._handles.add(this.handles[i])},this._renderAxis(this.element),this._handles=this._handles.add(this.element.find(".ui-resizable-handle")),this._handles.disableSelection(),this._handles.on("mouseover",function(){a.resizing||(this.className&&(o=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),a.axis=o&&o[1]?o[1]:"se")}),s.autoHide&&(this._handles.hide(),this._addClass("ui-resizable-autohide"))},_removeHandles:function(){this._addedHandles.remove()},_mouseCapture:function(e){var i,n,r=!1;for(i in this.handles)((n=t(this.handles[i])[0])===e.target||t.contains(n,e.target))&&(r=!0);return!this.options.disabled&&r},_mouseStart:function(e){var i,n,r,o=this.options,s=this.element;return this.resizing=!0,this._renderProxy(),i=this._num(this.helper.css("left")),n=this._num(this.helper.css("top")),o.containment&&(i+=t(o.containment).scrollLeft()||0,n+=t(o.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:i,top:n},this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{width:s.width(),height:s.height()},this.originalSize=this._helper?{width:s.outerWidth(),height:s.outerHeight()}:{width:s.width(),height:s.height()},this.sizeDiff={width:s.outerWidth()-s.width(),height:s.outerHeight()-s.height()},this.originalPosition={left:i,top:n},this.originalMousePosition={left:e.pageX,top:e.pageY},this.aspectRatio="number"==typeof o.aspectRatio?o.aspectRatio:this.originalSize.width/this.originalSize.height||1,r=t(".ui-resizable-"+this.axis).css("cursor"),t("body").css("cursor","auto"===r?this.axis+"-resize":r),this._addClass("ui-resizable-resizing"),this._propagate("start",e),!0},_mouseDrag:function(e){var i,n,r=this.originalMousePosition,o=this.axis,s=e.pageX-r.left||0,a=e.pageY-r.top||0,u=this._change[o];return this._updatePrevProperties(),!!u&&(i=u.apply(this,[e,s,a]),this._updateVirtualBoundaries(e.shiftKey),(this._aspectRatio||e.shiftKey)&&(i=this._updateRatio(i,e)),i=this._respectSize(i,e),this._updateCache(i),this._propagate("resize",e),n=this._applyChanges(),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),t.isEmptyObject(n)||(this._updatePrevProperties(),this._trigger("resize",e,this.ui()),this._applyChanges()),!1)},_mouseStop:function(e){this.resizing=!1;var i,n,r,o,s,a,u,c=this.options,h=this;return this._helper&&(r=(n=(i=this._proportionallyResizeElements).length&&/textarea/i.test(i[0].nodeName))&&this._hasScroll(i[0],"left")?0:h.sizeDiff.height,o=n?0:h.sizeDiff.width,s={width:h.helper.width()-o,height:h.helper.height()-r},a=parseFloat(h.element.css("left"))+(h.position.left-h.originalPosition.left)||null,u=parseFloat(h.element.css("top"))+(h.position.top-h.originalPosition.top)||null,c.animate||this.element.css(t.extend(s,{top:u,left:a})),h.helper.height(h.size.height),h.helper.width(h.size.width),this._helper&&!c.animate&&this._proportionallyResize()),t("body").css("cursor","auto"),this._removeClass("ui-resizable-resizing"),this._propagate("stop",e),this._helper&&this.helper.remove(),!1},_updatePrevProperties:function(){this.prevPosition={top:this.position.top,left:this.position.left},this.prevSize={width:this.size.width,height:this.size.height}},_applyChanges:function(){var t={};return this.position.top!==this.prevPosition.top&&(t.top=this.position.top+"px"),this.position.left!==this.prevPosition.left&&(t.left=this.position.left+"px"),this.helper.css(t),this.size.width!==this.prevSize.width&&(t.width=this.size.width+"px",this.helper.width(t.width)),this.size.height!==this.prevSize.height&&(t.height=this.size.height+"px",this.helper.height(t.height)),t},_updateVirtualBoundaries:function(t){var e,i,n,r,o,s=this.options;o={minWidth:this._isNumber(s.minWidth)?s.minWidth:0,maxWidth:this._isNumber(s.maxWidth)?s.maxWidth:1/0,minHeight:this._isNumber(s.minHeight)?s.minHeight:0,maxHeight:this._isNumber(s.maxHeight)?s.maxHeight:1/0},(this._aspectRatio||t)&&(e=o.minHeight*this.aspectRatio,n=o.minWidth/this.aspectRatio,i=o.maxHeight*this.aspectRatio,r=o.maxWidth/this.aspectRatio,e>o.minWidth&&(o.minWidth=e),n>o.minHeight&&(o.minHeight=n),it.width,s=this._isNumber(t.height)&&e.minHeight&&e.minHeight>t.height,a=this.originalPosition.left+this.originalSize.width,u=this.originalPosition.top+this.originalSize.height,c=/sw|nw|w/.test(i),h=/nw|ne|n/.test(i);return o&&(t.width=e.minWidth),s&&(t.height=e.minHeight),n&&(t.width=e.maxWidth),r&&(t.height=e.maxHeight),o&&c&&(t.left=a-e.minWidth),n&&c&&(t.left=a-e.maxWidth),s&&h&&(t.top=u-e.minHeight),r&&h&&(t.top=u-e.maxHeight),t.width||t.height||t.left||!t.top?t.width||t.height||t.top||!t.left||(t.left=null):t.top=null,t},_getPaddingPlusBorderDimensions:function(t){for(var e=0,i=[],n=[t.css("borderTopWidth"),t.css("borderRightWidth"),t.css("borderBottomWidth"),t.css("borderLeftWidth")],r=[t.css("paddingTop"),t.css("paddingRight"),t.css("paddingBottom"),t.css("paddingLeft")];e<4;e++)i[e]=parseFloat(n[e])||0,i[e]+=parseFloat(r[e])||0;return{height:i[0]+i[2],width:i[1]+i[3]}},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var t,e=0,i=this.helper||this.element;e
    ").css({overflow:"hidden"}),this._addClass(this.helper,this._helper),this.helper.css({width:this.element.outerWidth(),height:this.element.outerHeight(),position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++i.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element},_change:{e:function(t,e){return{width:this.originalSize.width+e}},w:function(t,e){var i=this.originalSize;return{left:this.originalPosition.left+e,width:i.width-e}},n:function(t,e,i){var n=this.originalSize;return{top:this.originalPosition.top+i,height:n.height-i}},s:function(t,e,i){return{height:this.originalSize.height+i}},se:function(e,i,n){return t.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[e,i,n]))},sw:function(e,i,n){return t.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[e,i,n]))},ne:function(e,i,n){return t.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[e,i,n]))},nw:function(e,i,n){return t.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[e,i,n]))}},_propagate:function(e,i){t.ui.plugin.call(this,e,[i,this.ui()]),"resize"!==e&&this._trigger(e,i,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),t.ui.plugin.add("resizable","animate",{stop:function(e){var i=t(this).resizable("instance"),n=i.options,r=i._proportionallyResizeElements,o=r.length&&/textarea/i.test(r[0].nodeName),s=o&&i._hasScroll(r[0],"left")?0:i.sizeDiff.height,a=o?0:i.sizeDiff.width,u={width:i.size.width-a,height:i.size.height-s},c=parseFloat(i.element.css("left"))+(i.position.left-i.originalPosition.left)||null,h=parseFloat(i.element.css("top"))+(i.position.top-i.originalPosition.top)||null;i.element.animate(t.extend(u,h&&c?{top:h,left:c}:{}),{duration:n.animateDuration,easing:n.animateEasing,step:function(){var n={width:parseFloat(i.element.css("width")),height:parseFloat(i.element.css("height")),top:parseFloat(i.element.css("top")),left:parseFloat(i.element.css("left"))};r&&r.length&&t(r[0]).css({width:n.width,height:n.height}),i._updateCache(n),i._propagate("resize",e)}})}}),t.ui.plugin.add("resizable","containment",{start:function(){var e,i,n,r,o,s,a,u=t(this).resizable("instance"),c=u.options,h=u.element,l=c.containment,d=l instanceof t?l.get(0):/parent/.test(l)?h.parent().get(0):l;d&&(u.containerElement=t(d),/document/.test(l)||l===document?(u.containerOffset={left:0,top:0},u.containerPosition={left:0,top:0},u.parentData={element:t(document),left:0,top:0,width:t(document).width(),height:t(document).height()||document.body.parentNode.scrollHeight}):(e=t(d),i=[],t(["Top","Right","Left","Bottom"]).each(function(t,n){i[t]=u._num(e.css("padding"+n))}),u.containerOffset=e.offset(),u.containerPosition=e.position(),u.containerSize={height:e.innerHeight()-i[3],width:e.innerWidth()-i[1]},n=u.containerOffset,r=u.containerSize.height,o=u.containerSize.width,s=u._hasScroll(d,"left")?d.scrollWidth:o,a=u._hasScroll(d)?d.scrollHeight:r,u.parentData={element:d,left:n.left,top:n.top,width:s,height:a}))},resize:function(e){var i,n,r,o,s=t(this).resizable("instance"),a=s.options,u=s.containerOffset,c=s.position,h=s._aspectRatio||e.shiftKey,l={top:0,left:0},d=s.containerElement,f=!0;d[0]!==document&&/static/.test(d.css("position"))&&(l=u),c.left<(s._helper?u.left:0)&&(s.size.width=s.size.width+(s._helper?s.position.left-u.left:s.position.left-l.left),h&&(s.size.height=s.size.width/s.aspectRatio,f=!1),s.position.left=a.helper?u.left:0),c.top<(s._helper?u.top:0)&&(s.size.height=s.size.height+(s._helper?s.position.top-u.top:s.position.top),h&&(s.size.width=s.size.height*s.aspectRatio,f=!1),s.position.top=s._helper?u.top:0),r=s.containerElement.get(0)===s.element.parent().get(0),o=/relative|absolute/.test(s.containerElement.css("position")),r&&o?(s.offset.left=s.parentData.left+s.position.left,s.offset.top=s.parentData.top+s.position.top):(s.offset.left=s.element.offset().left,s.offset.top=s.element.offset().top),i=Math.abs(s.sizeDiff.width+(s._helper?s.offset.left-l.left:s.offset.left-u.left)),n=Math.abs(s.sizeDiff.height+(s._helper?s.offset.top-l.top:s.offset.top-u.top)),i+s.size.width>=s.parentData.width&&(s.size.width=s.parentData.width-i,h&&(s.size.height=s.size.width/s.aspectRatio,f=!1)),n+s.size.height>=s.parentData.height&&(s.size.height=s.parentData.height-n,h&&(s.size.width=s.size.height*s.aspectRatio,f=!1)),f||(s.position.left=s.prevPosition.left,s.position.top=s.prevPosition.top,s.size.width=s.prevSize.width,s.size.height=s.prevSize.height)},stop:function(){var e=t(this).resizable("instance"),i=e.options,n=e.containerOffset,r=e.containerPosition,o=e.containerElement,s=t(e.helper),a=s.offset(),u=s.outerWidth()-e.sizeDiff.width,c=s.outerHeight()-e.sizeDiff.height;e._helper&&!i.animate&&/relative/.test(o.css("position"))&&t(this).css({left:a.left-r.left-n.left,width:u,height:c}),e._helper&&!i.animate&&/static/.test(o.css("position"))&&t(this).css({left:a.left-r.left-n.left,width:u,height:c})}}),t.ui.plugin.add("resizable","alsoResize",{start:function(){var e=t(this).resizable("instance").options;t(e.alsoResize).each(function(){var e=t(this);e.data("ui-resizable-alsoresize",{width:parseFloat(e.css("width")),height:parseFloat(e.css("height")),left:parseFloat(e.css("left")),top:parseFloat(e.css("top"))})})},resize:function(e,i){var n=t(this).resizable("instance"),r=n.options,o=n.originalSize,s=n.originalPosition,a={height:n.size.height-o.height||0,width:n.size.width-o.width||0,top:n.position.top-s.top||0,left:n.position.left-s.left||0};t(r.alsoResize).each(function(){var e=t(this),n=t(this).data("ui-resizable-alsoresize"),r={},o=e.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];t.each(o,function(t,e){var i=(n[e]||0)+(a[e]||0);i&&i>=0&&(r[e]=i||null)}),e.css(r)})},stop:function(){t(this).removeData("ui-resizable-alsoresize")}}),t.ui.plugin.add("resizable","ghost",{start:function(){var e=t(this).resizable("instance"),i=e.size;e.ghost=e.originalElement.clone(),e.ghost.css({opacity:.25,display:"block",position:"relative",height:i.height,width:i.width,margin:0,left:0,top:0}),e._addClass(e.ghost,"ui-resizable-ghost"),!1!==t.uiBackCompat&&"string"==typeof e.options.ghost&&e.ghost.addClass(this.options.ghost),e.ghost.appendTo(e.helper)},resize:function(){var e=t(this).resizable("instance");e.ghost&&e.ghost.css({position:"relative",height:e.size.height,width:e.size.width})},stop:function(){var e=t(this).resizable("instance");e.ghost&&e.helper&&e.helper.get(0).removeChild(e.ghost.get(0))}}),t.ui.plugin.add("resizable","grid",{resize:function(){var e,i=t(this).resizable("instance"),n=i.options,r=i.size,o=i.originalSize,s=i.originalPosition,a=i.axis,u="number"==typeof n.grid?[n.grid,n.grid]:n.grid,c=u[0]||1,h=u[1]||1,l=Math.round((r.width-o.width)/c)*c,d=Math.round((r.height-o.height)/h)*h,f=o.width+l,p=o.height+d,g=n.maxWidth&&n.maxWidthf,v=n.minHeight&&n.minHeight>p;n.grid=u,m&&(f+=c),v&&(p+=h),g&&(f-=c),A&&(p-=h),/^(se|s|e)$/.test(a)?(i.size.width=f,i.size.height=p):/^(ne)$/.test(a)?(i.size.width=f,i.size.height=p,i.position.top=s.top-d):/^(sw)$/.test(a)?(i.size.width=f,i.size.height=p,i.position.left=s.left-l):((p-h<=0||f-c<=0)&&(e=i._getPaddingPlusBorderDimensions(this)),p-h>0?(i.size.height=p,i.position.top=s.top-d):(p=h-e.height,i.size.height=p,i.position.top=s.top+o.height-p),f-c>0?(i.size.width=f,i.position.left=s.left-l):(f=c-e.width,i.size.width=f,i.position.left=s.left+o.width-f))}}),t.ui.resizable,t.widget("ui.dialog",{version:"1.13.3",options:{appendTo:"body",autoOpen:!0,buttons:[],classes:{"ui-dialog":"ui-corner-all","ui-dialog-titlebar":"ui-corner-all"},closeOnEscape:!0,closeText:"Close",draggable:!0,hide:null,height:"auto",maxHeight:null,maxWidth:null,minHeight:150,minWidth:150,modal:!1,position:{my:"center",at:"center",of:window,collision:"fit",using:function(e){var i=t(this).css(e).offset().top;i<0&&t(this).css("top",e.top-i)}},resizable:!0,show:null,title:null,width:300,beforeClose:null,close:null,drag:null,dragStart:null,dragStop:null,focus:null,open:null,resize:null,resizeStart:null,resizeStop:null},sizeRelatedOptions:{buttons:!0,height:!0,maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0,width:!0},resizableRelatedOptions:{maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0},_create:function(){this.originalCss={display:this.element[0].style.display,width:this.element[0].style.width,minHeight:this.element[0].style.minHeight,maxHeight:this.element[0].style.maxHeight,height:this.element[0].style.height},this.originalPosition={parent:this.element.parent(),index:this.element.parent().children().index(this.element)},this.originalTitle=this.element.attr("title"),null==this.options.title&&null!=this.originalTitle&&(this.options.title=this.originalTitle),this.options.disabled&&(this.options.disabled=!1),this._createWrapper(),this.element.show().removeAttr("title").appendTo(this.uiDialog),this._addClass("ui-dialog-content","ui-widget-content"),this._createTitlebar(),this._createButtonPane(),this.options.draggable&&t.fn.draggable&&this._makeDraggable(),this.options.resizable&&t.fn.resizable&&this._makeResizable(),this._isOpen=!1,this._trackFocus()},_init:function(){this.options.autoOpen&&this.open()},_appendTo:function(){var e=this.options.appendTo;return e&&(e.jquery||e.nodeType)?t(e):this.document.find(e||"body").eq(0)},_destroy:function(){var t,e=this.originalPosition;this._untrackInstance(),this._destroyOverlay(),this.element.removeUniqueId().css(this.originalCss).detach(),this.uiDialog.remove(),this.originalTitle&&this.element.attr("title",this.originalTitle),(t=e.parent.children().eq(e.index)).length&&t[0]!==this.element[0]?t.before(this.element):e.parent.append(this.element)},widget:function(){return this.uiDialog},disable:t.noop,enable:t.noop,close:function(e){var i=this;this._isOpen&&!1!==this._trigger("beforeClose",e)&&(this._isOpen=!1,this._focusedElement=null,this._destroyOverlay(),this._untrackInstance(),this.opener.filter(":focusable").trigger("focus").length||t.ui.safeBlur(t.ui.safeActiveElement(this.document[0])),this._hide(this.uiDialog,this.options.hide,function(){i._trigger("close",e)}))},isOpen:function(){return this._isOpen},moveToTop:function(){this._moveToTop()},_moveToTop:function(e,i){var n=!1,r=this.uiDialog.siblings(".ui-front:visible").map(function(){return+t(this).css("z-index")}).get(),o=Math.max.apply(null,r);return o>=+this.uiDialog.css("z-index")&&(this.uiDialog.css("z-index",o+1),n=!0),n&&!i&&this._trigger("focus",e),n},open:function(){var e=this;this._isOpen?this._moveToTop()&&this._focusTabbable():(this._isOpen=!0,this.opener=t(t.ui.safeActiveElement(this.document[0])),this._size(),this._position(),this._createOverlay(),this._moveToTop(null,!0),this.overlay&&this.overlay.css("z-index",this.uiDialog.css("z-index")-1),this._show(this.uiDialog,this.options.show,function(){e._focusTabbable(),e._trigger("focus")}),this._makeFocusTarget(),this._trigger("open"))},_focusTabbable:function(){var t=this._focusedElement;t||(t=this.element.find("[autofocus]")),t.length||(t=this.element.find(":tabbable")),t.length||(t=this.uiDialogButtonPane.find(":tabbable")),t.length||(t=this.uiDialogTitlebarClose.filter(":tabbable")),t.length||(t=this.uiDialog),t.eq(0).trigger("focus")},_restoreTabbableFocus:function(){var e=t.ui.safeActiveElement(this.document[0]);this.uiDialog[0]===e||t.contains(this.uiDialog[0],e)||this._focusTabbable()},_keepFocus:function(t){t.preventDefault(),this._restoreTabbableFocus(),this._delay(this._restoreTabbableFocus)},_createWrapper:function(){this.uiDialog=t("
    ").hide().attr({tabIndex:-1,role:"dialog"}).appendTo(this._appendTo()),this._addClass(this.uiDialog,"ui-dialog","ui-widget ui-widget-content ui-front"),this._on(this.uiDialog,{keydown:function(e){if(this.options.closeOnEscape&&!e.isDefaultPrevented()&&e.keyCode&&e.keyCode===t.ui.keyCode.ESCAPE)return e.preventDefault(),void this.close(e);if(e.keyCode===t.ui.keyCode.TAB&&!e.isDefaultPrevented()){var i=this.uiDialog.find(":tabbable"),n=i.first(),r=i.last();e.target!==r[0]&&e.target!==this.uiDialog[0]||e.shiftKey?e.target!==n[0]&&e.target!==this.uiDialog[0]||!e.shiftKey||(this._delay(function(){r.trigger("focus")}),e.preventDefault()):(this._delay(function(){n.trigger("focus")}),e.preventDefault())}},mousedown:function(t){this._moveToTop(t)&&this._focusTabbable()}}),this.element.find("[aria-describedby]").length||this.uiDialog.attr({"aria-describedby":this.element.uniqueId().attr("id")})},_createTitlebar:function(){var e;this.uiDialogTitlebar=t("
    "),this._addClass(this.uiDialogTitlebar,"ui-dialog-titlebar","ui-widget-header ui-helper-clearfix"),this._on(this.uiDialogTitlebar,{mousedown:function(e){t(e.target).closest(".ui-dialog-titlebar-close")||this.uiDialog.trigger("focus")}}),this.uiDialogTitlebarClose=t("").button({label:t("").text(this.options.closeText).html(),icon:"ui-icon-closethick",showLabel:!1}).appendTo(this.uiDialogTitlebar),this._addClass(this.uiDialogTitlebarClose,"ui-dialog-titlebar-close"),this._on(this.uiDialogTitlebarClose,{click:function(t){t.preventDefault(),this.close(t)}}),e=t("").uniqueId().prependTo(this.uiDialogTitlebar),this._addClass(e,"ui-dialog-title"),this._title(e),this.uiDialogTitlebar.prependTo(this.uiDialog),this.uiDialog.attr({"aria-labelledby":e.attr("id")})},_title:function(t){this.options.title?t.text(this.options.title):t.html(" ")},_createButtonPane:function(){this.uiDialogButtonPane=t("
    "),this._addClass(this.uiDialogButtonPane,"ui-dialog-buttonpane","ui-widget-content ui-helper-clearfix"),this.uiButtonSet=t("
    ").appendTo(this.uiDialogButtonPane),this._addClass(this.uiButtonSet,"ui-dialog-buttonset"),this._createButtons()},_createButtons:function(){var e=this,i=this.options.buttons;this.uiDialogButtonPane.remove(),this.uiButtonSet.empty(),t.isEmptyObject(i)||Array.isArray(i)&&!i.length?this._removeClass(this.uiDialog,"ui-dialog-buttons"):(t.each(i,function(i,n){var r,o;n="function"==typeof n?{click:n,text:i}:n,n=t.extend({type:"button"},n),r=n.click,o={icon:n.icon,iconPosition:n.iconPosition,showLabel:n.showLabel,icons:n.icons,text:n.text},delete n.click,delete n.icon,delete n.iconPosition,delete n.showLabel,delete n.icons,"boolean"==typeof n.text&&delete n.text,t("",n).button(o).appendTo(e.uiButtonSet).on("click",function(){r.apply(e.element[0],arguments)})}),this._addClass(this.uiDialog,"ui-dialog-buttons"),this.uiDialogButtonPane.appendTo(this.uiDialog))},_makeDraggable:function(){var e=this,i=this.options;function n(t){return{position:t.position,offset:t.offset}}this.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close",handle:".ui-dialog-titlebar",containment:"document",start:function(i,r){e._addClass(t(this),"ui-dialog-dragging"),e._blockFrames(),e._trigger("dragStart",i,n(r))},drag:function(t,i){e._trigger("drag",t,n(i))},stop:function(r,o){var s=o.offset.left-e.document.scrollLeft(),a=o.offset.top-e.document.scrollTop();i.position={my:"left top",at:"left"+(s>=0?"+":"")+s+" top"+(a>=0?"+":"")+a,of:e.window},e._removeClass(t(this),"ui-dialog-dragging"),e._unblockFrames(),e._trigger("dragStop",r,n(o))}})},_makeResizable:function(){var e=this,i=this.options,n=i.resizable,r=this.uiDialog.css("position"),o="string"==typeof n?n:"n,e,s,w,se,sw,ne,nw";function s(t){return{originalPosition:t.originalPosition,originalSize:t.originalSize,position:t.position,size:t.size}}this.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:this.element,maxWidth:i.maxWidth,maxHeight:i.maxHeight,minWidth:i.minWidth,minHeight:this._minHeight(),handles:o,start:function(i,n){e._addClass(t(this),"ui-dialog-resizing"),e._blockFrames(),e._trigger("resizeStart",i,s(n))},resize:function(t,i){e._trigger("resize",t,s(i))},stop:function(n,r){var o=e.uiDialog.offset(),a=o.left-e.document.scrollLeft(),u=o.top-e.document.scrollTop();i.height=e.uiDialog.height(),i.width=e.uiDialog.width(),i.position={my:"left top",at:"left"+(a>=0?"+":"")+a+" top"+(u>=0?"+":"")+u,of:e.window},e._removeClass(t(this),"ui-dialog-resizing"),e._unblockFrames(),e._trigger("resizeStop",n,s(r))}}).css("position",r)},_trackFocus:function(){this._on(this.widget(),{focusin:function(e){this._makeFocusTarget(),this._focusedElement=t(e.target)}})},_makeFocusTarget:function(){this._untrackInstance(),this._trackingInstances().unshift(this)},_untrackInstance:function(){var e=this._trackingInstances(),i=t.inArray(this,e);-1!==i&&e.splice(i,1)},_trackingInstances:function(){var t=this.document.data("ui-dialog-instances");return t||(t=[],this.document.data("ui-dialog-instances",t)),t},_minHeight:function(){var t=this.options;return"auto"===t.height?t.minHeight:Math.min(t.minHeight,t.height)},_position:function(){var t=this.uiDialog.is(":visible");t||this.uiDialog.show(),this.uiDialog.position(this.options.position),t||this.uiDialog.hide()},_setOptions:function(e){var i=this,n=!1,r={};t.each(e,function(t,e){i._setOption(t,e),t in i.sizeRelatedOptions&&(n=!0),t in i.resizableRelatedOptions&&(r[t]=e)}),n&&(this._size(),this._position()),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option",r)},_setOption:function(e,i){var n,r,o=this.uiDialog;"disabled"!==e&&(this._super(e,i),"appendTo"===e&&this.uiDialog.appendTo(this._appendTo()),"buttons"===e&&this._createButtons(),"closeText"===e&&this.uiDialogTitlebarClose.button({label:t("").text(""+this.options.closeText).html()}),"draggable"===e&&((n=o.is(":data(ui-draggable)"))&&!i&&o.draggable("destroy"),!n&&i&&this._makeDraggable()),"position"===e&&this._position(),"resizable"===e&&((r=o.is(":data(ui-resizable)"))&&!i&&o.resizable("destroy"),r&&"string"==typeof i&&o.resizable("option","handles",i),r||!1===i||this._makeResizable()),"title"===e&&this._title(this.uiDialogTitlebar.find(".ui-dialog-title")))},_size:function(){var t,e,i,n=this.options;this.element.show().css({width:"auto",minHeight:0,maxHeight:"none",height:0}),n.minWidth>n.width&&(n.width=n.minWidth),t=this.uiDialog.css({height:"auto",width:n.width}).outerHeight(),e=Math.max(0,n.minHeight-t),i="number"==typeof n.maxHeight?Math.max(0,n.maxHeight-t):"none","auto"===n.height?this.element.css({minHeight:e,maxHeight:i,height:"auto"}):this.element.height(Math.max(0,n.height-t)),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option","minHeight",this._minHeight())},_blockFrames:function(){this.iframeBlocks=this.document.find("iframe").map(function(){var e=t(this);return t("
    ").css({position:"absolute",width:e.outerWidth(),height:e.outerHeight()}).appendTo(e.parent()).offset(e.offset())[0]})},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_allowInteraction:function(e){return!!t(e.target).closest(".ui-dialog").length||!!t(e.target).closest(".ui-datepicker").length},_createOverlay:function(){if(this.options.modal){var e=t.fn.jquery.substring(0,4),i=!0;this._delay(function(){i=!1}),this.document.data("ui-dialog-overlays")||this.document.on("focusin.ui-dialog",function(t){if(!i){var n=this._trackingInstances()[0];n._allowInteraction(t)||(t.preventDefault(),n._focusTabbable(),"3.4."!==e&&"3.5."!==e&&"3.6."!==e||n._delay(n._restoreTabbableFocus))}}.bind(this)),this.overlay=t("
    ").appendTo(this._appendTo()),this._addClass(this.overlay,null,"ui-widget-overlay ui-front"),this._on(this.overlay,{mousedown:"_keepFocus"}),this.document.data("ui-dialog-overlays",(this.document.data("ui-dialog-overlays")||0)+1)}},_destroyOverlay:function(){if(this.options.modal&&this.overlay){var t=this.document.data("ui-dialog-overlays")-1;t?this.document.data("ui-dialog-overlays",t):(this.document.off("focusin.ui-dialog"),this.document.removeData("ui-dialog-overlays")),this.overlay.remove(),this.overlay=null}}}),!1!==t.uiBackCompat&&t.widget("ui.dialog",t.ui.dialog,{options:{dialogClass:""},_createWrapper:function(){this._super(),this.uiDialog.addClass(this.options.dialogClass)},_setOption:function(t,e){"dialogClass"===t&&this.uiDialog.removeClass(this.options.dialogClass).addClass(e),this._superApply(arguments)}}),t.ui.dialog,t.widget("ui.droppable",{version:"1.13.3",widgetEventPrefix:"drop",options:{accept:"*",addClasses:!0,greedy:!1,scope:"default",tolerance:"intersect",activate:null,deactivate:null,drop:null,out:null,over:null},_create:function(){var t,e=this.options,i=e.accept;this.isover=!1,this.isout=!0,this.accept="function"==typeof i?i:function(t){return t.is(i)},this.proportions=function(){if(!arguments.length)return t||(t={width:this.element[0].offsetWidth,height:this.element[0].offsetHeight});t=arguments[0]},this._addToManager(e.scope),e.addClasses&&this._addClass("ui-droppable")},_addToManager:function(e){t.ui.ddmanager.droppables[e]=t.ui.ddmanager.droppables[e]||[],t.ui.ddmanager.droppables[e].push(this)},_splice:function(t){for(var e=0;e=e&&t=h&&s<=d||u>=h&&u<=d||sd)&&(o>=c&&o<=l||a>=c&&a<=l||ol);default:return!1}}}(),t.ui.ddmanager={current:null,droppables:{default:[]},prepareOffsets:function(e,i){var n,r,o=t.ui.ddmanager.droppables[e.options.scope]||[],s=i?i.type:null,a=(e.currentItem||e.element).find(":data(ui-droppable)").addBack();t:for(n=0;n").appendTo(this.element),this._addClass(this.valueDiv,"ui-progressbar-value","ui-widget-header"),this._refreshValue()},_destroy:function(){this.element.removeAttr("role aria-valuemin aria-valuemax aria-valuenow"),this.valueDiv.remove()},value:function(t){if(void 0===t)return this.options.value;this.options.value=this._constrainedValue(t),this._refreshValue()},_constrainedValue:function(t){return void 0===t&&(t=this.options.value),this.indeterminate=!1===t,"number"!=typeof t&&(t=0),!this.indeterminate&&Math.min(this.options.max,Math.max(this.min,t))},_setOptions:function(t){var e=t.value;delete t.value,this._super(t),this.options.value=this._constrainedValue(e),this._refreshValue()},_setOption:function(t,e){"max"===t&&(e=Math.max(this.min,e)),this._super(t,e)},_setOptionDisabled:function(t){this._super(t),this.element.attr("aria-disabled",t),this._toggleClass(null,"ui-state-disabled",!!t)},_percentage:function(){return this.indeterminate?100:100*(this.options.value-this.min)/(this.options.max-this.min)},_refreshValue:function(){var e=this.options.value,i=this._percentage();this.valueDiv.toggle(this.indeterminate||e>this.min).width(i.toFixed(0)+"%"),this._toggleClass(this.valueDiv,"ui-progressbar-complete",null,e===this.options.max)._toggleClass("ui-progressbar-indeterminate",null,this.indeterminate),this.indeterminate?(this.element.removeAttr("aria-valuenow"),this.overlayDiv||(this.overlayDiv=t("
    ").appendTo(this.valueDiv),this._addClass(this.overlayDiv,"ui-progressbar-overlay"))):(this.element.attr({"aria-valuemax":this.options.max,"aria-valuenow":e}),this.overlayDiv&&(this.overlayDiv.remove(),this.overlayDiv=null)),this.oldValue!==e&&(this.oldValue=e,this._trigger("change")),e===this.options.max&&this._trigger("complete")}}),t.widget("ui.selectable",t.ui.mouse,{version:"1.13.3",options:{appendTo:"body",autoRefresh:!0,distance:0,filter:"*",tolerance:"touch",selected:null,selecting:null,start:null,stop:null,unselected:null,unselecting:null},_create:function(){var e=this;this._addClass("ui-selectable"),this.dragged=!1,this.refresh=function(){e.elementPos=t(e.element[0]).offset(),e.selectees=t(e.options.filter,e.element[0]),e._addClass(e.selectees,"ui-selectee"),e.selectees.each(function(){var i=t(this),n=i.offset(),r={left:n.left-e.elementPos.left,top:n.top-e.elementPos.top};t.data(this,"selectable-item",{element:this,$element:i,left:r.left,top:r.top,right:r.left+i.outerWidth(),bottom:r.top+i.outerHeight(),startselected:!1,selected:i.hasClass("ui-selected"),selecting:i.hasClass("ui-selecting"),unselecting:i.hasClass("ui-unselecting")})})},this.refresh(),this._mouseInit(),this.helper=t("
    "),this._addClass(this.helper,"ui-selectable-helper")},_destroy:function(){this.selectees.removeData("selectable-item"),this._mouseDestroy()},_mouseStart:function(e){var i=this,n=this.options;this.opos=[e.pageX,e.pageY],this.elementPos=t(this.element[0]).offset(),this.options.disabled||(this.selectees=t(n.filter,this.element[0]),this._trigger("start",e),t(n.appendTo).append(this.helper),this.helper.css({left:e.pageX,top:e.pageY,width:0,height:0}),n.autoRefresh&&this.refresh(),this.selectees.filter(".ui-selected").each(function(){var n=t.data(this,"selectable-item");n.startselected=!0,e.metaKey||e.ctrlKey||(i._removeClass(n.$element,"ui-selected"),n.selected=!1,i._addClass(n.$element,"ui-unselecting"),n.unselecting=!0,i._trigger("unselecting",e,{unselecting:n.element}))}),t(e.target).parents().addBack().each(function(){var n,r=t.data(this,"selectable-item");if(r)return n=!e.metaKey&&!e.ctrlKey||!r.$element.hasClass("ui-selected"),i._removeClass(r.$element,n?"ui-unselecting":"ui-selected")._addClass(r.$element,n?"ui-selecting":"ui-unselecting"),r.unselecting=!n,r.selecting=n,r.selected=n,n?i._trigger("selecting",e,{selecting:r.element}):i._trigger("unselecting",e,{unselecting:r.element}),!1}))},_mouseDrag:function(e){if(this.dragged=!0,!this.options.disabled){var i,n=this,r=this.options,o=this.opos[0],s=this.opos[1],a=e.pageX,u=e.pageY;return o>a&&(i=a,a=o,o=i),s>u&&(i=u,u=s,s=i),this.helper.css({left:o,top:s,width:a-o,height:u-s}),this.selectees.each(function(){var i=t.data(this,"selectable-item"),c=!1,h={};i&&i.element!==n.element[0]&&(h.left=i.left+n.elementPos.left,h.right=i.right+n.elementPos.left,h.top=i.top+n.elementPos.top,h.bottom=i.bottom+n.elementPos.top,"touch"===r.tolerance?c=!(h.left>a||h.rightu||h.bottomo&&h.rights&&h.bottom",options:{appendTo:null,classes:{"ui-selectmenu-button-open":"ui-corner-top","ui-selectmenu-button-closed":"ui-corner-all"},disabled:null,icons:{button:"ui-icon-triangle-1-s"},position:{my:"left top",at:"left bottom",collision:"none"},width:!1,change:null,close:null,focus:null,open:null,select:null},_create:function(){var e=this.element.uniqueId().attr("id");this.ids={element:e,button:e+"-button",menu:e+"-menu"},this._drawButton(),this._drawMenu(),this._bindFormResetHandler(),this._rendered=!1,this.menuItems=t()},_drawButton:function(){var e,i=this,n=this._parseOption(this.element.find("option:selected"),this.element[0].selectedIndex);this.labels=this.element.labels().attr("for",this.ids.button),this._on(this.labels,{click:function(t){this.button.trigger("focus"),t.preventDefault()}}),this.element.hide(),this.button=t("",{tabindex:this.options.disabled?-1:0,id:this.ids.button,role:"combobox","aria-expanded":"false","aria-autocomplete":"list","aria-owns":this.ids.menu,"aria-haspopup":"true",title:this.element.attr("title")}).insertAfter(this.element),this._addClass(this.button,"ui-selectmenu-button ui-selectmenu-button-closed","ui-button ui-widget"),e=t("").appendTo(this.button),this._addClass(e,"ui-selectmenu-icon","ui-icon "+this.options.icons.button),this.buttonItem=this._renderButtonItem(n).appendTo(this.button),!1!==this.options.width&&this._resizeButton(),this._on(this.button,this._buttonEvents),this.button.one("focusin",function(){i._rendered||i._refreshMenu()})},_drawMenu:function(){var e=this;this.menu=t("
      ",{"aria-hidden":"true","aria-labelledby":this.ids.button,id:this.ids.menu}),this.menuWrap=t("
      ").append(this.menu),this._addClass(this.menuWrap,"ui-selectmenu-menu","ui-front"),this.menuWrap.appendTo(this._appendTo()),this.menuInstance=this.menu.menu({classes:{"ui-menu":"ui-corner-bottom"},role:"listbox",select:function(t,i){t.preventDefault(),e._setSelection(),e._select(i.item.data("ui-selectmenu-item"),t)},focus:function(t,i){var n=i.item.data("ui-selectmenu-item");null!=e.focusIndex&&n.index!==e.focusIndex&&(e._trigger("focus",t,{item:n}),e.isOpen||e._select(n,t)),e.focusIndex=n.index,e.button.attr("aria-activedescendant",e.menuItems.eq(n.index).attr("id"))}}).menu("instance"),this.menuInstance._off(this.menu,"mouseleave"),this.menuInstance._closeOnDocumentClick=function(){return!1},this.menuInstance._isDivider=function(){return!1}},refresh:function(){this._refreshMenu(),this.buttonItem.replaceWith(this.buttonItem=this._renderButtonItem(this._getSelectedItem().data("ui-selectmenu-item")||{})),null===this.options.width&&this._resizeButton()},_refreshMenu:function(){var t,e=this.element.find("option");this.menu.empty(),this._parseOptions(e),this._renderMenu(this.menu,this.items),this.menuInstance.refresh(),this.menuItems=this.menu.find("li").not(".ui-selectmenu-optgroup").find(".ui-menu-item-wrapper"),this._rendered=!0,e.length&&(t=this._getSelectedItem(),this.menuInstance.focus(null,t),this._setAria(t.data("ui-selectmenu-item")),this._setOption("disabled",this.element.prop("disabled")))},open:function(t){this.options.disabled||(this._rendered?(this._removeClass(this.menu.find(".ui-state-active"),null,"ui-state-active"),this.menuInstance.focus(null,this._getSelectedItem())):this._refreshMenu(),this.menuItems.length&&(this.isOpen=!0,this._toggleAttr(),this._resizeMenu(),this._position(),this._on(this.document,this._documentClick),this._trigger("open",t)))},_position:function(){this.menuWrap.position(t.extend({of:this.button},this.options.position))},close:function(t){this.isOpen&&(this.isOpen=!1,this._toggleAttr(),this.range=null,this._off(this.document),this._trigger("close",t))},widget:function(){return this.button},menuWidget:function(){return this.menu},_renderButtonItem:function(e){var i=t("");return this._setText(i,e.label),this._addClass(i,"ui-selectmenu-text"),i},_renderMenu:function(e,i){var n=this,r="";t.each(i,function(i,o){var s;o.optgroup!==r&&(s=t("
    • ",{text:o.optgroup}),n._addClass(s,"ui-selectmenu-optgroup","ui-menu-divider"+(o.element.parent("optgroup").prop("disabled")?" ui-state-disabled":"")),s.appendTo(e),r=o.optgroup),n._renderItemData(e,o)})},_renderItemData:function(t,e){return this._renderItem(t,e).data("ui-selectmenu-item",e)},_renderItem:function(e,i){var n=t("
    • "),r=t("
      ",{title:i.element.attr("title")});return i.disabled&&this._addClass(n,null,"ui-state-disabled"),i.hidden?n.prop("hidden",!0):this._setText(r,i.label),n.append(r).appendTo(e)},_setText:function(t,e){e?t.text(e):t.html(" ")},_move:function(t,e){var i,n,r=".ui-menu-item";this.isOpen?i=this.menuItems.eq(this.focusIndex).parent("li"):(i=this.menuItems.eq(this.element[0].selectedIndex).parent("li"),r+=":not(.ui-state-disabled)"),(n="first"===t||"last"===t?i["first"===t?"prevAll":"nextAll"](r).eq(-1):i[t+"All"](r).eq(0)).length&&this.menuInstance.focus(e,n)},_getSelectedItem:function(){return this.menuItems.eq(this.element[0].selectedIndex).parent("li")},_toggle:function(t){this[this.isOpen?"close":"open"](t)},_setSelection:function(){var t;this.range&&(window.getSelection?((t=window.getSelection()).removeAllRanges(),t.addRange(this.range)):this.range.select(),this.button.trigger("focus"))},_documentClick:{mousedown:function(e){this.isOpen&&(t(e.target).closest(".ui-selectmenu-menu, #"+t.escapeSelector(this.ids.button)).length||this.close(e))}},_buttonEvents:{mousedown:function(){var t;window.getSelection?(t=window.getSelection()).rangeCount&&(this.range=t.getRangeAt(0)):this.range=document.selection.createRange()},click:function(t){this._setSelection(),this._toggle(t)},keydown:function(e){var i=!0;switch(e.keyCode){case t.ui.keyCode.TAB:case t.ui.keyCode.ESCAPE:this.close(e),i=!1;break;case t.ui.keyCode.ENTER:this.isOpen&&this._selectFocusedItem(e);break;case t.ui.keyCode.UP:e.altKey?this._toggle(e):this._move("prev",e);break;case t.ui.keyCode.DOWN:e.altKey?this._toggle(e):this._move("next",e);break;case t.ui.keyCode.SPACE:this.isOpen?this._selectFocusedItem(e):this._toggle(e);break;case t.ui.keyCode.LEFT:this._move("prev",e);break;case t.ui.keyCode.RIGHT:this._move("next",e);break;case t.ui.keyCode.HOME:case t.ui.keyCode.PAGE_UP:this._move("first",e);break;case t.ui.keyCode.END:case t.ui.keyCode.PAGE_DOWN:this._move("last",e);break;default:this.menu.trigger(e),i=!1}i&&e.preventDefault()}},_selectFocusedItem:function(t){var e=this.menuItems.eq(this.focusIndex).parent("li");e.hasClass("ui-state-disabled")||this._select(e.data("ui-selectmenu-item"),t)},_select:function(t,e){var i=this.element[0].selectedIndex;this.element[0].selectedIndex=t.index,this.buttonItem.replaceWith(this.buttonItem=this._renderButtonItem(t)),this._setAria(t),this._trigger("select",e,{item:t}),t.index!==i&&this._trigger("change",e,{item:t}),this.close(e)},_setAria:function(t){var e=this.menuItems.eq(t.index).attr("id");this.button.attr({"aria-labelledby":e,"aria-activedescendant":e}),this.menu.attr("aria-activedescendant",e)},_setOption:function(t,e){if("icons"===t){var i=this.button.find("span.ui-icon");this._removeClass(i,null,this.options.icons.button)._addClass(i,null,e.button)}this._super(t,e),"appendTo"===t&&this.menuWrap.appendTo(this._appendTo()),"width"===t&&this._resizeButton()},_setOptionDisabled:function(t){this._super(t),this.menuInstance.option("disabled",t),this.button.attr("aria-disabled",t),this._toggleClass(this.button,null,"ui-state-disabled",t),this.element.prop("disabled",t),t?(this.button.attr("tabindex",-1),this.close()):this.button.attr("tabindex",0)},_appendTo:function(){var e=this.options.appendTo;return e&&(e=e.jquery||e.nodeType?t(e):this.document.find(e).eq(0)),e&&e[0]||(e=this.element.closest(".ui-front, dialog")),e.length||(e=this.document[0].body),e},_toggleAttr:function(){this.button.attr("aria-expanded",this.isOpen),this._removeClass(this.button,"ui-selectmenu-button-"+(this.isOpen?"closed":"open"))._addClass(this.button,"ui-selectmenu-button-"+(this.isOpen?"open":"closed"))._toggleClass(this.menuWrap,"ui-selectmenu-open",null,this.isOpen),this.menu.attr("aria-hidden",!this.isOpen)},_resizeButton:function(){var t=this.options.width;!1!==t?(null===t&&(t=this.element.show().outerWidth(),this.element.hide()),this.button.outerWidth(t)):this.button.css("width","")},_resizeMenu:function(){this.menu.outerWidth(Math.max(this.button.outerWidth(),this.menu.width("").outerWidth()+1))},_getCreateOptions:function(){var t=this._super();return t.disabled=this.element.prop("disabled"),t},_parseOptions:function(e){var i=this,n=[];e.each(function(e,r){n.push(i._parseOption(t(r),e))}),this.items=n},_parseOption:function(t,e){var i=t.parent("optgroup");return{element:t,index:e,value:t.val(),label:t.text(),hidden:i.prop("hidden")||t.prop("hidden"),optgroup:i.attr("label")||"",disabled:i.prop("disabled")||t.prop("disabled")}},_destroy:function(){this._unbindFormResetHandler(),this.menuWrap.remove(),this.button.remove(),this.element.show(),this.element.removeUniqueId(),this.labels.attr("for",this.ids.element)}}]),t.widget("ui.slider",t.ui.mouse,{version:"1.13.3",widgetEventPrefix:"slide",options:{animate:!1,classes:{"ui-slider":"ui-corner-all","ui-slider-handle":"ui-corner-all","ui-slider-range":"ui-corner-all ui-widget-header"},distance:0,max:100,min:0,orientation:"horizontal",range:!1,step:1,value:0,values:null,change:null,slide:null,start:null,stop:null},numPages:5,_create:function(){this._keySliding=!1,this._mouseSliding=!1,this._animateOff=!0,this._handleIndex=null,this._detectOrientation(),this._mouseInit(),this._calculateNewMax(),this._addClass("ui-slider ui-slider-"+this.orientation,"ui-widget ui-widget-content"),this._refresh(),this._animateOff=!1},_refresh:function(){this._createRange(),this._createHandles(),this._setupEvents(),this._refreshValue()},_createHandles:function(){var e,i,n=this.options,r=this.element.find(".ui-slider-handle"),o=[];for(i=n.values&&n.values.length||1,r.length>i&&(r.slice(i).remove(),r=r.slice(0,i)),e=r.length;e");this.handles=r.add(t(o.join("")).appendTo(this.element)),this._addClass(this.handles,"ui-slider-handle","ui-state-default"),this.handle=this.handles.eq(0),this.handles.each(function(e){t(this).data("ui-slider-handle-index",e).attr("tabIndex",0)})},_createRange:function(){var e=this.options;e.range?(!0===e.range&&(e.values?e.values.length&&2!==e.values.length?e.values=[e.values[0],e.values[0]]:Array.isArray(e.values)&&(e.values=e.values.slice(0)):e.values=[this._valueMin(),this._valueMin()]),this.range&&this.range.length?(this._removeClass(this.range,"ui-slider-range-min ui-slider-range-max"),this.range.css({left:"",bottom:""})):(this.range=t("
      ").appendTo(this.element),this._addClass(this.range,"ui-slider-range")),"min"!==e.range&&"max"!==e.range||this._addClass(this.range,"ui-slider-range-"+e.range)):(this.range&&this.range.remove(),this.range=null)},_setupEvents:function(){this._off(this.handles),this._on(this.handles,this._handleEvents),this._hoverable(this.handles),this._focusable(this.handles)},_destroy:function(){this.handles.remove(),this.range&&this.range.remove(),this._mouseDestroy()},_mouseCapture:function(e){var i,n,r,o,s,a,u,c=this,h=this.options;return!h.disabled&&(this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()},this.elementOffset=this.element.offset(),i={x:e.pageX,y:e.pageY},n=this._normValueFromMouse(i),r=this._valueMax()-this._valueMin()+1,this.handles.each(function(e){var i=Math.abs(n-c.values(e));(r>i||r===i&&(e===c._lastChangedValue||c.values(e)===h.min))&&(r=i,o=t(this),s=e)}),!1!==this._start(e,s)&&(this._mouseSliding=!0,this._handleIndex=s,this._addClass(o,null,"ui-state-active"),o.trigger("focus"),a=o.offset(),u=!t(e.target).parents().addBack().is(".ui-slider-handle"),this._clickOffset=u?{left:0,top:0}:{left:e.pageX-a.left-o.width()/2,top:e.pageY-a.top-o.height()/2-(parseInt(o.css("borderTopWidth"),10)||0)-(parseInt(o.css("borderBottomWidth"),10)||0)+(parseInt(o.css("marginTop"),10)||0)},this.handles.hasClass("ui-state-hover")||this._slide(e,s,n),this._animateOff=!0,!0))},_mouseStart:function(){return!0},_mouseDrag:function(t){var e={x:t.pageX,y:t.pageY},i=this._normValueFromMouse(e);return this._slide(t,this._handleIndex,i),!1},_mouseStop:function(t){return this._removeClass(this.handles,null,"ui-state-active"),this._mouseSliding=!1,this._stop(t,this._handleIndex),this._change(t,this._handleIndex),this._handleIndex=null,this._clickOffset=null,this._animateOff=!1,!1},_detectOrientation:function(){this.orientation="vertical"===this.options.orientation?"vertical":"horizontal"},_normValueFromMouse:function(t){var e,i,n,r,o;return"horizontal"===this.orientation?(e=this.elementSize.width,i=t.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)):(e=this.elementSize.height,i=t.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)),(n=i/e)>1&&(n=1),n<0&&(n=0),"vertical"===this.orientation&&(n=1-n),r=this._valueMax()-this._valueMin(),o=this._valueMin()+n*r,this._trimAlignValue(o)},_uiHash:function(t,e,i){var n={handle:this.handles[t],handleIndex:t,value:void 0!==e?e:this.value()};return this._hasMultipleValues()&&(n.value=void 0!==e?e:this.values(t),n.values=i||this.values()),n},_hasMultipleValues:function(){return this.options.values&&this.options.values.length},_start:function(t,e){return this._trigger("start",t,this._uiHash(e))},_slide:function(t,e,i){var n,r=this.value(),o=this.values();this._hasMultipleValues()&&(n=this.values(e?0:1),r=this.values(e),2===this.options.values.length&&!0===this.options.range&&(i=0===e?Math.min(n,i):Math.max(n,i)),o[e]=i),i!==r&&!1!==this._trigger("slide",t,this._uiHash(e,i,o))&&(this._hasMultipleValues()?this.values(e,i):this.value(i))},_stop:function(t,e){this._trigger("stop",t,this._uiHash(e))},_change:function(t,e){this._keySliding||this._mouseSliding||(this._lastChangedValue=e,this._trigger("change",t,this._uiHash(e)))},value:function(t){return arguments.length?(this.options.value=this._trimAlignValue(t),this._refreshValue(),void this._change(null,0)):this._value()},values:function(t,e){var i,n,r;if(arguments.length>1)return this.options.values[t]=this._trimAlignValue(e),this._refreshValue(),void this._change(null,t);if(!arguments.length)return this._values();if(!Array.isArray(arguments[0]))return this._hasMultipleValues()?this._values(t):this.value();for(i=this.options.values,n=arguments[0],r=0;r=0;i--)this._change(null,i);this._animateOff=!1;break;case"step":case"min":case"max":this._animateOff=!0,this._calculateNewMax(),this._refreshValue(),this._animateOff=!1;break;case"range":this._animateOff=!0,this._refresh(),this._animateOff=!1}},_setOptionDisabled:function(t){this._super(t),this._toggleClass(null,"ui-state-disabled",!!t)},_value:function(){var t=this.options.value;return this._trimAlignValue(t)},_values:function(t){var e,i,n;if(arguments.length)return e=this.options.values[t],this._trimAlignValue(e);if(this._hasMultipleValues()){for(i=this.options.values.slice(),n=0;n=this._valueMax())return this._valueMax();var e=this.options.step>0?this.options.step:1,i=(t-this._valueMin())%e,n=t-i;return 2*Math.abs(i)>=e&&(n+=i>0?e:-e),parseFloat(n.toFixed(5))},_calculateNewMax:function(){var t=this.options.max,e=this._valueMin(),i=this.options.step;(t=Math.round((t-e)/i)*i+e)>this.options.max&&(t-=i),this.max=parseFloat(t.toFixed(this._precision()))},_precision:function(){var t=this._precisionOf(this.options.step);return null!==this.options.min&&(t=Math.max(t,this._precisionOf(this.options.min))),t},_precisionOf:function(t){var e=t.toString(),i=e.indexOf(".");return-1===i?0:e.length-i-1},_valueMin:function(){return this.options.min},_valueMax:function(){return this.max},_refreshRange:function(t){"vertical"===t&&this.range.css({width:"",left:""}),"horizontal"===t&&this.range.css({height:"",bottom:""})},_refreshValue:function(){var e,i,n,r,o,s=this.options.range,a=this.options,u=this,c=!this._animateOff&&a.animate,h={};this._hasMultipleValues()?this.handles.each(function(n){i=(u.values(n)-u._valueMin())/(u._valueMax()-u._valueMin())*100,h["horizontal"===u.orientation?"left":"bottom"]=i+"%",t(this).stop(1,1)[c?"animate":"css"](h,a.animate),!0===u.options.range&&("horizontal"===u.orientation?(0===n&&u.range.stop(1,1)[c?"animate":"css"]({left:i+"%"},a.animate),1===n&&u.range[c?"animate":"css"]({width:i-e+"%"},{queue:!1,duration:a.animate})):(0===n&&u.range.stop(1,1)[c?"animate":"css"]({bottom:i+"%"},a.animate),1===n&&u.range[c?"animate":"css"]({height:i-e+"%"},{queue:!1,duration:a.animate}))),e=i}):(n=this.value(),r=this._valueMin(),o=this._valueMax(),i=o!==r?(n-r)/(o-r)*100:0,h["horizontal"===this.orientation?"left":"bottom"]=i+"%",this.handle.stop(1,1)[c?"animate":"css"](h,a.animate),"min"===s&&"horizontal"===this.orientation&&this.range.stop(1,1)[c?"animate":"css"]({width:i+"%"},a.animate),"max"===s&&"horizontal"===this.orientation&&this.range.stop(1,1)[c?"animate":"css"]({width:100-i+"%"},a.animate),"min"===s&&"vertical"===this.orientation&&this.range.stop(1,1)[c?"animate":"css"]({height:i+"%"},a.animate),"max"===s&&"vertical"===this.orientation&&this.range.stop(1,1)[c?"animate":"css"]({height:100-i+"%"},a.animate))},_handleEvents:{keydown:function(e){var i,n,r,o=t(e.target).data("ui-slider-handle-index");switch(e.keyCode){case t.ui.keyCode.HOME:case t.ui.keyCode.END:case t.ui.keyCode.PAGE_UP:case t.ui.keyCode.PAGE_DOWN:case t.ui.keyCode.UP:case t.ui.keyCode.RIGHT:case t.ui.keyCode.DOWN:case t.ui.keyCode.LEFT:if(e.preventDefault(),!this._keySliding&&(this._keySliding=!0,this._addClass(t(e.target),null,"ui-state-active"),!1===this._start(e,o)))return}switch(r=this.options.step,i=n=this._hasMultipleValues()?this.values(o):this.value(),e.keyCode){case t.ui.keyCode.HOME:n=this._valueMin();break;case t.ui.keyCode.END:n=this._valueMax();break;case t.ui.keyCode.PAGE_UP:n=this._trimAlignValue(i+(this._valueMax()-this._valueMin())/this.numPages);break;case t.ui.keyCode.PAGE_DOWN:n=this._trimAlignValue(i-(this._valueMax()-this._valueMin())/this.numPages);break;case t.ui.keyCode.UP:case t.ui.keyCode.RIGHT:if(i===this._valueMax())return;n=this._trimAlignValue(i+r);break;case t.ui.keyCode.DOWN:case t.ui.keyCode.LEFT:if(i===this._valueMin())return;n=this._trimAlignValue(i-r)}this._slide(e,o,n)},keyup:function(e){var i=t(e.target).data("ui-slider-handle-index");this._keySliding&&(this._keySliding=!1,this._stop(e,i),this._change(e,i),this._removeClass(t(e.target),null,"ui-state-active"))}}}),t.widget("ui.sortable",t.ui.mouse,{version:"1.13.3",widgetEventPrefix:"sort",ready:!1,options:{appendTo:"parent",axis:!1,connectWith:!1,containment:!1,cursor:"auto",cursorAt:!1,dropOnEmpty:!0,forcePlaceholderSize:!1,forceHelperSize:!1,grid:!1,handle:!1,helper:"original",items:"> *",opacity:!1,placeholder:!1,revert:!1,scroll:!0,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1e3,activate:null,beforeStop:null,change:null,deactivate:null,out:null,over:null,receive:null,remove:null,sort:null,start:null,stop:null,update:null},_isOverAxis:function(t,e,i){return t>=e&&t=0;t--)this.items[t].item.removeData(this.widgetName+"-item");return this},_mouseCapture:function(e,i){var n=null,r=!1,o=this;return!(this.reverting||this.options.disabled||"static"===this.options.type||(this._refreshItems(e),t(e.target).parents().each(function(){if(t.data(this,o.widgetName+"-item")===o)return n=t(this),!1}),t.data(e.target,o.widgetName+"-item")===o&&(n=t(e.target)),!n||this.options.handle&&!i&&(t(this.options.handle,n).find("*").addBack().each(function(){this===e.target&&(r=!0)}),!r)||(this.currentItem=n,this._removeCurrentsFromItems(),0)))},_mouseStart:function(e,i,n){var r,o,s=this.options;if(this.currentContainer=this,this.refreshPositions(),this.appendTo=t("parent"!==s.appendTo?s.appendTo:this.currentItem.parent()),this.helper=this._createHelper(e),this._cacheHelperProportions(),this._cacheMargins(),this.offset=this.currentItem.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},t.extend(this.offset,{click:{left:e.pageX-this.offset.left,top:e.pageY-this.offset.top},relative:this._getRelativeOffset()}),this.helper.css("position","absolute"),this.cssPosition=this.helper.css("position"),s.cursorAt&&this._adjustOffsetFromHelper(s.cursorAt),this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]},this.helper[0]!==this.currentItem[0]&&this.currentItem.hide(),this._createPlaceholder(),this.scrollParent=this.placeholder.scrollParent(),t.extend(this.offset,{parent:this._getParentOffset()}),s.containment&&this._setContainment(),s.cursor&&"auto"!==s.cursor&&(o=this.document.find("body"),this.storedCursor=o.css("cursor"),o.css("cursor",s.cursor),this.storedStylesheet=t("").appendTo(o)),s.zIndex&&(this.helper.css("zIndex")&&(this._storedZIndex=this.helper.css("zIndex")),this.helper.css("zIndex",s.zIndex)),s.opacity&&(this.helper.css("opacity")&&(this._storedOpacity=this.helper.css("opacity")),this.helper.css("opacity",s.opacity)),this.scrollParent[0]!==this.document[0]&&"HTML"!==this.scrollParent[0].tagName&&(this.overflowOffset=this.scrollParent.offset()),this._trigger("start",e,this._uiHash()),this._preserveHelperProportions||this._cacheHelperProportions(),!n)for(r=this.containers.length-1;r>=0;r--)this.containers[r]._trigger("activate",e,this._uiHash(this));return t.ui.ddmanager&&(t.ui.ddmanager.current=this),t.ui.ddmanager&&!s.dropBehaviour&&t.ui.ddmanager.prepareOffsets(this,e),this.dragging=!0,this._addClass(this.helper,"ui-sortable-helper"),this.helper.parent().is(this.appendTo)||(this.helper.detach().appendTo(this.appendTo),this.offset.parent=this._getParentOffset()),this.position=this.originalPosition=this._generatePosition(e),this.originalPageX=e.pageX,this.originalPageY=e.pageY,this.lastPositionAbs=this.positionAbs=this._convertPositionTo("absolute"),this._mouseDrag(e),!0},_scroll:function(t){var e=this.options,i=!1;return this.scrollParent[0]!==this.document[0]&&"HTML"!==this.scrollParent[0].tagName?(this.overflowOffset.top+this.scrollParent[0].offsetHeight-t.pageY=0;i--)if(r=(n=this.items[i]).item[0],(o=this._intersectsWithPointer(n))&&n.instance===this.currentContainer&&!(r===this.currentItem[0]||this.placeholder[1===o?"next":"prev"]()[0]===r||t.contains(this.placeholder[0],r)||"semi-dynamic"===this.options.type&&t.contains(this.element[0],r))){if(this.direction=1===o?"down":"up","pointer"!==this.options.tolerance&&!this._intersectsWithSides(n))break;this._rearrange(e,n),this._trigger("change",e,this._uiHash());break}return this._contactContainers(e),t.ui.ddmanager&&t.ui.ddmanager.drag(this,e),this._trigger("sort",e,this._uiHash()),this.lastPositionAbs=this.positionAbs,!1},_mouseStop:function(e,i){if(e){if(t.ui.ddmanager&&!this.options.dropBehaviour&&t.ui.ddmanager.drop(this,e),this.options.revert){var n=this,r=this.placeholder.offset(),o=this.options.axis,s={};o&&"x"!==o||(s.left=r.left-this.offset.parent.left-this.margins.left+(this.offsetParent[0]===this.document[0].body?0:this.offsetParent[0].scrollLeft)),o&&"y"!==o||(s.top=r.top-this.offset.parent.top-this.margins.top+(this.offsetParent[0]===this.document[0].body?0:this.offsetParent[0].scrollTop)),this.reverting=!0,t(this.helper).animate(s,parseInt(this.options.revert,10)||500,function(){n._clear(e)})}else this._clear(e,i);return!1}},cancel:function(){if(this.dragging){this._mouseUp(new t.Event("mouseup",{target:null})),"original"===this.options.helper?(this.currentItem.css(this._storedCSS),this._removeClass(this.currentItem,"ui-sortable-helper")):this.currentItem.show();for(var e=this.containers.length-1;e>=0;e--)this.containers[e]._trigger("deactivate",null,this._uiHash(this)),this.containers[e].containerCache.over&&(this.containers[e]._trigger("out",null,this._uiHash(this)),this.containers[e].containerCache.over=0)}return this.placeholder&&(this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]),"original"!==this.options.helper&&this.helper&&this.helper[0].parentNode&&this.helper.remove(),t.extend(this,{helper:null,dragging:!1,reverting:!1,_noFinalSort:null}),this.domPosition.prev?t(this.domPosition.prev).after(this.currentItem):t(this.domPosition.parent).prepend(this.currentItem)),this},serialize:function(e){var i=this._getItemsAsjQuery(e&&e.connected),n=[];return e=e||{},t(i).each(function(){var i=(t(e.item||this).attr(e.attribute||"id")||"").match(e.expression||/(.+)[\-=_](.+)/);i&&n.push((e.key||i[1]+"[]")+"="+(e.key&&e.expression?i[1]:i[2]))}),!n.length&&e.key&&n.push(e.key+"="),n.join("&")},toArray:function(e){var i=this._getItemsAsjQuery(e&&e.connected),n=[];return e=e||{},i.each(function(){n.push(t(e.item||this).attr(e.attribute||"id")||"")}),n},_intersectsWith:function(t){var e=this.positionAbs.left,i=e+this.helperProportions.width,n=this.positionAbs.top,r=n+this.helperProportions.height,o=t.left,s=o+t.width,a=t.top,u=a+t.height,c=this.offset.click.top,h=this.offset.click.left,l="x"===this.options.axis||n+c>a&&n+co&&e+ht[this.floating?"width":"height"]?f:o0?"down":"up")},_getDragHorizontalDirection:function(){var t=this.positionAbs.left-this.lastPositionAbs.left;return 0!==t&&(t>0?"right":"left")},refresh:function(t){return this._refreshItems(t),this._setHandleClassName(),this.refreshPositions(),this},_connectWith:function(){var t=this.options;return t.connectWith.constructor===String?[t.connectWith]:t.connectWith},_getItemsAsjQuery:function(e){var i,n,r,o,s=[],a=[],u=this._connectWith();if(u&&e)for(i=u.length-1;i>=0;i--)for(n=(r=t(u[i],this.document[0])).length-1;n>=0;n--)(o=t.data(r[n],this.widgetFullName))&&o!==this&&!o.options.disabled&&a.push(["function"==typeof o.options.items?o.options.items.call(o.element):t(o.options.items,o.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),o]);function c(){s.push(this)}for(a.push(["function"==typeof this.options.items?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):t(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]),i=a.length-1;i>=0;i--)a[i][0].each(c);return t(s)},_removeCurrentsFromItems:function(){var e=this.currentItem.find(":data("+this.widgetName+"-item)");this.items=t.grep(this.items,function(t){for(var i=0;i=0;i--)for(n=(r=t(d[i],this.document[0])).length-1;n>=0;n--)(o=t.data(r[n],this.widgetFullName))&&o!==this&&!o.options.disabled&&(l.push(["function"==typeof o.options.items?o.options.items.call(o.element[0],e,{item:this.currentItem}):t(o.options.items,o.element),o]),this.containers.push(o));for(i=l.length-1;i>=0;i--)for(s=l[i][1],n=0,c=(a=l[i][0]).length;n=0;i--)n=this.items[i],this.currentContainer&&n.instance!==this.currentContainer&&n.item[0]!==this.currentItem[0]||(r=this.options.toleranceElement?t(this.options.toleranceElement,n.item):n.item,e||(n.width=r.outerWidth(),n.height=r.outerHeight()),o=r.offset(),n.left=o.left,n.top=o.top)},refreshPositions:function(t){var e,i;if(this.floating=!!this.items.length&&("x"===this.options.axis||this._isFloating(this.items[0].item)),this.offsetParent&&this.helper&&(this.offset.parent=this._getParentOffset()),this._refreshItemPositions(t),this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(e=this.containers.length-1;e>=0;e--)i=this.containers[e].element.offset(),this.containers[e].containerCache.left=i.left,this.containers[e].containerCache.top=i.top,this.containers[e].containerCache.width=this.containers[e].element.outerWidth(),this.containers[e].containerCache.height=this.containers[e].element.outerHeight();return this},_createPlaceholder:function(e){var i,n,r=(e=e||this).options;r.placeholder&&r.placeholder.constructor!==String||(i=r.placeholder,n=e.currentItem[0].nodeName.toLowerCase(),r.placeholder={element:function(){var r=t("<"+n+">",e.document[0]);return e._addClass(r,"ui-sortable-placeholder",i||e.currentItem[0].className)._removeClass(r,"ui-sortable-helper"),"tbody"===n?e._createTrPlaceholder(e.currentItem.find("tr").eq(0),t("",e.document[0]).appendTo(r)):"tr"===n?e._createTrPlaceholder(e.currentItem,r):"img"===n&&r.attr("src",e.currentItem.attr("src")),i||r.css("visibility","hidden"),r},update:function(t,o){i&&!r.forcePlaceholderSize||(o.height()&&(!r.forcePlaceholderSize||"tbody"!==n&&"tr"!==n)||o.height(e.currentItem.innerHeight()-parseInt(e.currentItem.css("paddingTop")||0,10)-parseInt(e.currentItem.css("paddingBottom")||0,10)),o.width()||o.width(e.currentItem.innerWidth()-parseInt(e.currentItem.css("paddingLeft")||0,10)-parseInt(e.currentItem.css("paddingRight")||0,10)))}}),e.placeholder=t(r.placeholder.element.call(e.element,e.currentItem)),e.currentItem.after(e.placeholder),r.placeholder.update(e,e.placeholder)},_createTrPlaceholder:function(e,i){var n=this;e.children().each(function(){t(" ",n.document[0]).attr("colspan",t(this).attr("colspan")||1).appendTo(i)})},_contactContainers:function(e){var i,n,r,o,s,a,u,c,h,l,d=null,f=null;for(i=this.containers.length-1;i>=0;i--)if(!t.contains(this.currentItem[0],this.containers[i].element[0]))if(this._intersectsWith(this.containers[i].containerCache)){if(d&&t.contains(this.containers[i].element[0],d.element[0]))continue;d=this.containers[i],f=i}else this.containers[i].containerCache.over&&(this.containers[i]._trigger("out",e,this._uiHash(this)),this.containers[i].containerCache.over=0);if(d)if(1===this.containers.length)this.containers[f].containerCache.over||(this.containers[f]._trigger("over",e,this._uiHash(this)),this.containers[f].containerCache.over=1);else{for(r=1e4,o=null,s=(h=d.floating||this._isFloating(this.currentItem))?"left":"top",a=h?"width":"height",l=h?"pageX":"pageY",n=this.items.length-1;n>=0;n--)t.contains(this.containers[f].element[0],this.items[n].item[0])&&this.items[n].item[0]!==this.currentItem[0]&&(u=this.items[n].item.offset()[s],c=!1,e[l]-u>this.items[n][a]/2&&(c=!0),Math.abs(e[l]-u)this.containment[2]&&(o=this.containment[2]+this.offset.click.left),e.pageY-this.offset.click.top>this.containment[3]&&(s=this.containment[3]+this.offset.click.top)),r.grid&&(i=this.originalPageY+Math.round((s-this.originalPageY)/r.grid[1])*r.grid[1],s=this.containment?i-this.offset.click.top>=this.containment[1]&&i-this.offset.click.top<=this.containment[3]?i:i-this.offset.click.top>=this.containment[1]?i-r.grid[1]:i+r.grid[1]:i,n=this.originalPageX+Math.round((o-this.originalPageX)/r.grid[0])*r.grid[0],o=this.containment?n-this.offset.click.left>=this.containment[0]&&n-this.offset.click.left<=this.containment[2]?n:n-this.offset.click.left>=this.containment[0]?n-r.grid[0]:n+r.grid[0]:n)),{top:s-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.scrollParent.scrollTop():u?0:a.scrollTop()),left:o-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():u?0:a.scrollLeft())}},_rearrange:function(t,e,i,n){i?i[0].appendChild(this.placeholder[0]):e.item[0].parentNode.insertBefore(this.placeholder[0],"down"===this.direction?e.item[0]:e.item[0].nextSibling),this.counter=this.counter?++this.counter:1;var r=this.counter;this._delay(function(){r===this.counter&&this.refreshPositions(!n)})},_clear:function(t,e){this.reverting=!1;var i,n=[];if(!this._noFinalSort&&this.currentItem.parent().length&&this.placeholder.before(this.currentItem),this._noFinalSort=null,this.helper[0]===this.currentItem[0]){for(i in this._storedCSS)"auto"!==this._storedCSS[i]&&"static"!==this._storedCSS[i]||(this._storedCSS[i]="");this.currentItem.css(this._storedCSS),this._removeClass(this.currentItem,"ui-sortable-helper")}else this.currentItem.show();function r(t,e,i){return function(n){i._trigger(t,n,e._uiHash(e))}}for(this.fromOutside&&!e&&n.push(function(t){this._trigger("receive",t,this._uiHash(this.fromOutside))}),!this.fromOutside&&this.domPosition.prev===this.currentItem.prev().not(".ui-sortable-helper")[0]&&this.domPosition.parent===this.currentItem.parent()[0]||e||n.push(function(t){this._trigger("update",t,this._uiHash())}),this!==this.currentContainer&&(e||(n.push(function(t){this._trigger("remove",t,this._uiHash())}),n.push(function(t){return function(e){t._trigger("receive",e,this._uiHash(this))}}.call(this,this.currentContainer)),n.push(function(t){return function(e){t._trigger("update",e,this._uiHash(this))}}.call(this,this.currentContainer)))),i=this.containers.length-1;i>=0;i--)e||n.push(r("deactivate",this,this.containers[i])),this.containers[i].containerCache.over&&(n.push(r("out",this,this.containers[i])),this.containers[i].containerCache.over=0);if(this.storedCursor&&(this.document.find("body").css("cursor",this.storedCursor),this.storedStylesheet.remove()),this._storedOpacity&&this.helper.css("opacity",this._storedOpacity),this._storedZIndex&&this.helper.css("zIndex","auto"===this._storedZIndex?"":this._storedZIndex),this.dragging=!1,e||this._trigger("beforeStop",t,this._uiHash()),this.placeholder[0].parentNode.removeChild(this.placeholder[0]),this.cancelHelperRemoval||(this.helper[0]!==this.currentItem[0]&&this.helper.remove(),this.helper=null),!e){for(i=0;i",widgetEventPrefix:"spin",options:{classes:{"ui-spinner":"ui-corner-all","ui-spinner-down":"ui-corner-br","ui-spinner-up":"ui-corner-tr"},culture:null,icons:{down:"ui-icon-triangle-1-s",up:"ui-icon-triangle-1-n"},incremental:!0,max:null,min:null,numberFormat:null,page:10,step:1,change:null,spin:null,start:null,stop:null},_create:function(){this._setOption("max",this.options.max),this._setOption("min",this.options.min),this._setOption("step",this.options.step),""!==this.value()&&this._value(this.element.val(),!0),this._draw(),this._on(this._events),this._refresh(),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_getCreateOptions:function(){var e=this._super(),i=this.element;return t.each(["min","max","step"],function(t,n){var r=i.attr(n);null!=r&&r.length&&(e[n]=r)}),e},_events:{keydown:function(t){this._start(t)&&this._keydown(t)&&t.preventDefault()},keyup:"_stop",focus:function(){this.previous=this.element.val()},blur:function(t){this.cancelBlur?delete this.cancelBlur:(this._stop(),this._refresh(),this.previous!==this.element.val()&&this._trigger("change",t))},mousewheel:function(e,i){var n=t.ui.safeActiveElement(this.document[0]);if(this.element[0]===n&&i){if(!this.spinning&&!this._start(e))return!1;this._spin((i>0?1:-1)*this.options.step,e),clearTimeout(this.mousewheelTimer),this.mousewheelTimer=this._delay(function(){this.spinning&&this._stop(e)},100),e.preventDefault()}},"mousedown .ui-spinner-button":function(e){var i;function n(){this.element[0]===t.ui.safeActiveElement(this.document[0])||(this.element.trigger("focus"),this.previous=i,this._delay(function(){this.previous=i}))}i=this.element[0]===t.ui.safeActiveElement(this.document[0])?this.previous:this.element.val(),e.preventDefault(),n.call(this),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur,n.call(this)}),!1!==this._start(e)&&this._repeat(null,t(e.currentTarget).hasClass("ui-spinner-up")?1:-1,e)},"mouseup .ui-spinner-button":"_stop","mouseenter .ui-spinner-button":function(e){if(t(e.currentTarget).hasClass("ui-state-active"))return!1!==this._start(e)&&void this._repeat(null,t(e.currentTarget).hasClass("ui-spinner-up")?1:-1,e)},"mouseleave .ui-spinner-button":"_stop"},_enhance:function(){this.uiSpinner=this.element.attr("autocomplete","off").wrap("").parent().append("")},_draw:function(){this._enhance(),this._addClass(this.uiSpinner,"ui-spinner","ui-widget ui-widget-content"),this._addClass("ui-spinner-input"),this.element.attr("role","spinbutton"),this.buttons=this.uiSpinner.children("a").attr("tabIndex",-1).attr("aria-hidden",!0).button({classes:{"ui-button":""}}),this._removeClass(this.buttons,"ui-corner-all"),this._addClass(this.buttons.first(),"ui-spinner-button ui-spinner-up"),this._addClass(this.buttons.last(),"ui-spinner-button ui-spinner-down"),this.buttons.first().button({icon:this.options.icons.up,showLabel:!1}),this.buttons.last().button({icon:this.options.icons.down,showLabel:!1}),this.buttons.height()>Math.ceil(.5*this.uiSpinner.height())&&this.uiSpinner.height()>0&&this.uiSpinner.height(this.uiSpinner.height())},_keydown:function(e){var i=this.options,n=t.ui.keyCode;switch(e.keyCode){case n.UP:return this._repeat(null,1,e),!0;case n.DOWN:return this._repeat(null,-1,e),!0;case n.PAGE_UP:return this._repeat(null,i.page,e),!0;case n.PAGE_DOWN:return this._repeat(null,-i.page,e),!0}return!1},_start:function(t){return!(!this.spinning&&!1===this._trigger("start",t)||(this.counter||(this.counter=1),this.spinning=!0,0))},_repeat:function(t,e,i){t=t||500,clearTimeout(this.timer),this.timer=this._delay(function(){this._repeat(40,e,i)},t),this._spin(e*this.options.step,i)},_spin:function(t,e){var i=this.value()||0;this.counter||(this.counter=1),i=this._adjustValue(i+t*this._increment(this.counter)),this.spinning&&!1===this._trigger("spin",e,{value:i})||(this._value(i),this.counter++)},_increment:function(t){var e=this.options.incremental;return e?"function"==typeof e?e(t):Math.floor(t*t*t/5e4-t*t/500+17*t/200+1):1},_precision:function(){var t=this._precisionOf(this.options.step);return null!==this.options.min&&(t=Math.max(t,this._precisionOf(this.options.min))),t},_precisionOf:function(t){var e=t.toString(),i=e.indexOf(".");return-1===i?0:e.length-i-1},_adjustValue:function(t){var e,i,n=this.options;return i=t-(e=null!==n.min?n.min:0),t=e+(i=Math.round(i/n.step)*n.step),t=parseFloat(t.toFixed(this._precision())),null!==n.max&&t>n.max?n.max:null!==n.min&&t"},_buttonHtml:function(){return""}}),t.ui.spinner,t.widget("ui.tabs",{version:"1.13.3",delay:300,options:{active:null,classes:{"ui-tabs":"ui-corner-all","ui-tabs-nav":"ui-corner-all","ui-tabs-panel":"ui-corner-bottom","ui-tabs-tab":"ui-corner-top"},collapsible:!1,event:"click",heightStyle:"content",hide:null,show:null,activate:null,beforeActivate:null,beforeLoad:null,load:null},_isLocal:(R=/#.*$/,function(t){var e,i;e=t.href.replace(R,""),i=location.href.replace(R,"");try{e=decodeURIComponent(e)}catch(t){}try{i=decodeURIComponent(i)}catch(t){}return t.hash.length>1&&e===i}),_create:function(){var e=this,i=this.options;this.running=!1,this._addClass("ui-tabs","ui-widget ui-widget-content"),this._toggleClass("ui-tabs-collapsible",null,i.collapsible),this._processTabs(),i.active=this._initialActive(),Array.isArray(i.disabled)&&(i.disabled=t.uniqueSort(i.disabled.concat(t.map(this.tabs.filter(".ui-state-disabled"),function(t){return e.tabs.index(t)}))).sort()),!1!==this.options.active&&this.anchors.length?this.active=this._findActive(i.active):this.active=t(),this._refresh(),this.active.length&&this.load(i.active)},_initialActive:function(){var e=this.options.active,i=this.options.collapsible,n=location.hash.substring(1);return null===e&&(n&&this.tabs.each(function(i,r){if(t(r).attr("aria-controls")===n)return e=i,!1}),null===e&&(e=this.tabs.index(this.tabs.filter(".ui-tabs-active"))),null!==e&&-1!==e||(e=!!this.tabs.length&&0)),!1!==e&&-1===(e=this.tabs.index(this.tabs.eq(e)))&&(e=!i&&0),!i&&!1===e&&this.anchors.length&&(e=0),e},_getCreateEventData:function(){return{tab:this.active,panel:this.active.length?this._getPanelForTab(this.active):t()}},_tabKeydown:function(e){var i=t(t.ui.safeActiveElement(this.document[0])).closest("li"),n=this.tabs.index(i),r=!0;if(!this._handlePageNav(e)){switch(e.keyCode){case t.ui.keyCode.RIGHT:case t.ui.keyCode.DOWN:n++;break;case t.ui.keyCode.UP:case t.ui.keyCode.LEFT:r=!1,n--;break;case t.ui.keyCode.END:n=this.anchors.length-1;break;case t.ui.keyCode.HOME:n=0;break;case t.ui.keyCode.SPACE:return e.preventDefault(),clearTimeout(this.activating),void this._activate(n);case t.ui.keyCode.ENTER:return e.preventDefault(),clearTimeout(this.activating),void this._activate(n!==this.options.active&&n);default:return}e.preventDefault(),clearTimeout(this.activating),n=this._focusNextTab(n,r),e.ctrlKey||e.metaKey||(i.attr("aria-selected","false"),this.tabs.eq(n).attr("aria-selected","true"),this.activating=this._delay(function(){this.option("active",n)},this.delay))}},_panelKeydown:function(e){this._handlePageNav(e)||e.ctrlKey&&e.keyCode===t.ui.keyCode.UP&&(e.preventDefault(),this.active.trigger("focus"))},_handlePageNav:function(e){return e.altKey&&e.keyCode===t.ui.keyCode.PAGE_UP?(this._activate(this._focusNextTab(this.options.active-1,!1)),!0):e.altKey&&e.keyCode===t.ui.keyCode.PAGE_DOWN?(this._activate(this._focusNextTab(this.options.active+1,!0)),!0):void 0},_findNextTab:function(e,i){var n=this.tabs.length-1;function r(){return e>n&&(e=0),e<0&&(e=n),e}for(;-1!==t.inArray(r(),this.options.disabled);)e=i?e+1:e-1;return e},_focusNextTab:function(t,e){return t=this._findNextTab(t,e),this.tabs.eq(t).trigger("focus"),t},_setOption:function(t,e){"active"!==t?(this._super(t,e),"collapsible"===t&&(this._toggleClass("ui-tabs-collapsible",null,e),e||!1!==this.options.active||this._activate(0)),"event"===t&&this._setupEvents(e),"heightStyle"===t&&this._setupHeightStyle(e)):this._activate(e)},_sanitizeSelector:function(t){return t?t.replace(/[!"$%&'()*+,.\/:;<=>?@\[\]\^`{|}~]/g,"\\$&"):""},refresh:function(){var e=this.options,i=this.tablist.children(":has(a[href])");e.disabled=t.map(i.filter(".ui-state-disabled"),function(t){return i.index(t)}),this._processTabs(),!1!==e.active&&this.anchors.length?this.active.length&&!t.contains(this.tablist[0],this.active[0])?this.tabs.length===e.disabled.length?(e.active=!1,this.active=t()):this._activate(this._findNextTab(Math.max(0,e.active-1),!1)):e.active=this.tabs.index(this.active):(e.active=!1,this.active=t()),this._refresh()},_refresh:function(){this._setOptionDisabled(this.options.disabled),this._setupEvents(this.options.event),this._setupHeightStyle(this.options.heightStyle),this.tabs.not(this.active).attr({"aria-selected":"false","aria-expanded":"false",tabIndex:-1}),this.panels.not(this._getPanelForTab(this.active)).hide().attr({"aria-hidden":"true"}),this.active.length?(this.active.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0}),this._addClass(this.active,"ui-tabs-active","ui-state-active"),this._getPanelForTab(this.active).show().attr({"aria-hidden":"false"})):this.tabs.eq(0).attr("tabIndex",0)},_processTabs:function(){var e=this,i=this.tabs,n=this.anchors,r=this.panels;this.tablist=this._getList().attr("role","tablist"),this._addClass(this.tablist,"ui-tabs-nav","ui-helper-reset ui-helper-clearfix ui-widget-header"),this.tablist.on("mousedown"+this.eventNamespace,"> li",function(e){t(this).is(".ui-state-disabled")&&e.preventDefault()}).on("focus"+this.eventNamespace,".ui-tabs-anchor",function(){t(this).closest("li").is(".ui-state-disabled")&&this.blur()}),this.tabs=this.tablist.find("> li:has(a[href])").attr({role:"tab",tabIndex:-1}),this._addClass(this.tabs,"ui-tabs-tab","ui-state-default"),this.anchors=this.tabs.map(function(){return t("a",this)[0]}).attr({tabIndex:-1}),this._addClass(this.anchors,"ui-tabs-anchor"),this.panels=t(),this.anchors.each(function(i,n){var r,o,s,a=t(n).uniqueId().attr("id"),u=t(n).closest("li"),c=u.attr("aria-controls");e._isLocal(n)?(s=(r=n.hash).substring(1),o=e.element.find(e._sanitizeSelector(r))):(r="#"+(s=u.attr("aria-controls")||t({}).uniqueId()[0].id),(o=e.element.find(r)).length||(o=e._createPanel(s)).insertAfter(e.panels[i-1]||e.tablist),o.attr("aria-live","polite")),o.length&&(e.panels=e.panels.add(o)),c&&u.data("ui-tabs-aria-controls",c),u.attr({"aria-controls":s,"aria-labelledby":a}),o.attr("aria-labelledby",a)}),this.panels.attr("role","tabpanel"),this._addClass(this.panels,"ui-tabs-panel","ui-widget-content"),i&&(this._off(i.not(this.tabs)),this._off(n.not(this.anchors)),this._off(r.not(this.panels)))},_getList:function(){return this.tablist||this.element.find("ol, ul").eq(0)},_createPanel:function(e){return t("
      ").attr("id",e).data("ui-tabs-destroy",!0)},_setOptionDisabled:function(e){var i,n,r;for(Array.isArray(e)&&(e.length?e.length===this.anchors.length&&(e=!0):e=!1),r=0;n=this.tabs[r];r++)i=t(n),!0===e||-1!==t.inArray(r,e)?(i.attr("aria-disabled","true"),this._addClass(i,null,"ui-state-disabled")):(i.removeAttr("aria-disabled"),this._removeClass(i,null,"ui-state-disabled"));this.options.disabled=e,this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!0===e)},_setupEvents:function(e){var i={};e&&t.each(e.split(" "),function(t,e){i[e]="_eventHandler"}),this._off(this.anchors.add(this.tabs).add(this.panels)),this._on(!0,this.anchors,{click:function(t){t.preventDefault()}}),this._on(this.anchors,i),this._on(this.tabs,{keydown:"_tabKeydown"}),this._on(this.panels,{keydown:"_panelKeydown"}),this._focusable(this.tabs),this._hoverable(this.tabs)},_setupHeightStyle:function(e){var i,n=this.element.parent();"fill"===e?(i=n.height(),i-=this.element.outerHeight()-this.element.height(),this.element.siblings(":visible").each(function(){var e=t(this),n=e.css("position");"absolute"!==n&&"fixed"!==n&&(i-=e.outerHeight(!0))}),this.element.children().not(this.panels).each(function(){i-=t(this).outerHeight(!0)}),this.panels.each(function(){t(this).height(Math.max(0,i-t(this).innerHeight()+t(this).height()))}).css("overflow","auto")):"auto"===e&&(i=0,this.panels.each(function(){i=Math.max(i,t(this).height("").height())}).height(i))},_eventHandler:function(e){var i=this.options,n=this.active,r=t(e.currentTarget).closest("li"),o=r[0]===n[0],s=o&&i.collapsible,a=s?t():this._getPanelForTab(r),u=n.length?this._getPanelForTab(n):t(),c={oldTab:n,oldPanel:u,newTab:s?t():r,newPanel:a};e.preventDefault(),r.hasClass("ui-state-disabled")||r.hasClass("ui-tabs-loading")||this.running||o&&!i.collapsible||!1===this._trigger("beforeActivate",e,c)||(i.active=!s&&this.tabs.index(r),this.active=o?t():r,this.xhr&&this.xhr.abort(),u.length||a.length||t.error("jQuery UI Tabs: Mismatching fragment identifier."),a.length&&this.load(this.tabs.index(r),e),this._toggle(e,c))},_toggle:function(e,i){var n=this,r=i.newPanel,o=i.oldPanel;function s(){n.running=!1,n._trigger("activate",e,i)}function a(){n._addClass(i.newTab.closest("li"),"ui-tabs-active","ui-state-active"),r.length&&n.options.show?n._show(r,n.options.show,s):(r.show(),s())}this.running=!0,o.length&&this.options.hide?this._hide(o,this.options.hide,function(){n._removeClass(i.oldTab.closest("li"),"ui-tabs-active","ui-state-active"),a()}):(this._removeClass(i.oldTab.closest("li"),"ui-tabs-active","ui-state-active"),o.hide(),a()),o.attr("aria-hidden","true"),i.oldTab.attr({"aria-selected":"false","aria-expanded":"false"}),r.length&&o.length?i.oldTab.attr("tabIndex",-1):r.length&&this.tabs.filter(function(){return 0===t(this).attr("tabIndex")}).attr("tabIndex",-1),r.attr("aria-hidden","false"),i.newTab.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0})},_activate:function(e){var i,n=this._findActive(e);n[0]!==this.active[0]&&(n.length||(n=this.active),i=n.find(".ui-tabs-anchor")[0],this._eventHandler({target:i,currentTarget:i,preventDefault:t.noop}))},_findActive:function(e){return!1===e?t():this.tabs.eq(e)},_getIndex:function(e){return"string"==typeof e&&(e=this.anchors.index(this.anchors.filter("[href$='"+t.escapeSelector(e)+"']"))),e},_destroy:function(){this.xhr&&this.xhr.abort(),this.tablist.removeAttr("role").off(this.eventNamespace),this.anchors.removeAttr("role tabIndex").removeUniqueId(),this.tabs.add(this.panels).each(function(){t.data(this,"ui-tabs-destroy")?t(this).remove():t(this).removeAttr("role tabIndex aria-live aria-busy aria-selected aria-labelledby aria-hidden aria-expanded")}),this.tabs.each(function(){var e=t(this),i=e.data("ui-tabs-aria-controls");i?e.attr("aria-controls",i).removeData("ui-tabs-aria-controls"):e.removeAttr("aria-controls")}),this.panels.show(),"content"!==this.options.heightStyle&&this.panels.css("height","")},enable:function(e){var i=this.options.disabled;!1!==i&&(void 0===e?i=!1:(e=this._getIndex(e),i=Array.isArray(i)?t.map(i,function(t){return t!==e?t:null}):t.map(this.tabs,function(t,i){return i!==e?i:null})),this._setOptionDisabled(i))},disable:function(e){var i=this.options.disabled;if(!0!==i){if(void 0===e)i=!0;else{if(e=this._getIndex(e),-1!==t.inArray(e,i))return;i=Array.isArray(i)?t.merge([e],i).sort():[e]}this._setOptionDisabled(i)}},load:function(e,i){e=this._getIndex(e);var n=this,r=this.tabs.eq(e),o=r.find(".ui-tabs-anchor"),s=this._getPanelForTab(r),a={tab:r,panel:s},u=function(t,e){"abort"===e&&n.panels.stop(!1,!0),n._removeClass(r,"ui-tabs-loading"),s.removeAttr("aria-busy"),t===n.xhr&&delete n.xhr};this._isLocal(o[0])||(this.xhr=t.ajax(this._ajaxSettings(o,i,a)),this.xhr&&"canceled"!==this.xhr.statusText&&(this._addClass(r,"ui-tabs-loading"),s.attr("aria-busy","true"),this.xhr.done(function(t,e,r){setTimeout(function(){s.html(t),n._trigger("load",i,a),u(r,e)},1)}).fail(function(t,e){setTimeout(function(){u(t,e)},1)})))},_ajaxSettings:function(e,i,n){var r=this;return{url:e.attr("href").replace(/#.*$/,""),beforeSend:function(e,o){return r._trigger("beforeLoad",i,t.extend({jqXHR:e,ajaxSettings:o},n))}}},_getPanelForTab:function(e){var i=t(e).attr("aria-controls");return this.element.find(this._sanitizeSelector("#"+i))}}),!1!==t.uiBackCompat&&t.widget("ui.tabs",t.ui.tabs,{_processTabs:function(){this._superApply(arguments),this._addClass(this.tabs,"ui-tab")}}),t.ui.tabs,t.widget("ui.tooltip",{version:"1.13.3",options:{classes:{"ui-tooltip":"ui-corner-all ui-widget-shadow"},content:function(){var e=t(this).attr("title");return t("").text(e).html()},hide:!0,items:"[title]:not([disabled])",position:{my:"left top+15",at:"left bottom",collision:"flipfit flip"},show:!0,track:!1,close:null,open:null},_addDescribedBy:function(t,e){var i=(t.attr("aria-describedby")||"").split(/\s+/);i.push(e),t.data("ui-tooltip-id",e).attr("aria-describedby",String.prototype.trim.call(i.join(" ")))},_removeDescribedBy:function(e){var i=e.data("ui-tooltip-id"),n=(e.attr("aria-describedby")||"").split(/\s+/),r=t.inArray(i,n);-1!==r&&n.splice(r,1),e.removeData("ui-tooltip-id"),(n=String.prototype.trim.call(n.join(" ")))?e.attr("aria-describedby",n):e.removeAttr("aria-describedby")},_create:function(){this._on({mouseover:"open",focusin:"open"}),this.tooltips={},this.parents={},this.liveRegion=t("
      ").attr({role:"log","aria-live":"assertive","aria-relevant":"additions"}).appendTo(this.document[0].body),this._addClass(this.liveRegion,null,"ui-helper-hidden-accessible"),this.disabledTitles=t([])},_setOption:function(e,i){var n=this;this._super(e,i),"content"===e&&t.each(this.tooltips,function(t,e){n._updateContent(e.element)})},_setOptionDisabled:function(t){this[t?"_disable":"_enable"]()},_disable:function(){var e=this;t.each(this.tooltips,function(i,n){var r=t.Event("blur");r.target=r.currentTarget=n.element[0],e.close(r,!0)}),this.disabledTitles=this.disabledTitles.add(this.element.find(this.options.items).addBack().filter(function(){var e=t(this);if(e.is("[title]"))return e.data("ui-tooltip-title",e.attr("title")).removeAttr("title")}))},_enable:function(){this.disabledTitles.each(function(){var e=t(this);e.data("ui-tooltip-title")&&e.attr("title",e.data("ui-tooltip-title"))}),this.disabledTitles=t([])},open:function(e){var i=this,n=t(e?e.target:this.element).closest(this.options.items);n.length&&!n.data("ui-tooltip-id")&&(n.attr("title")&&n.data("ui-tooltip-title",n.attr("title")),n.data("ui-tooltip-open",!0),e&&"mouseover"===e.type&&n.parents().each(function(){var e,n=t(this);n.data("ui-tooltip-open")&&((e=t.Event("blur")).target=e.currentTarget=this,i.close(e,!0)),n.attr("title")&&(n.uniqueId(),i.parents[this.id]={element:this,title:n.attr("title")},n.attr("title",""))}),this._registerCloseHandlers(e,n),this._updateContent(n,e))},_updateContent:function(t,e){var i,n=this.options.content,r=this,o=e?e.type:null;if("string"==typeof n||n.nodeType||n.jquery)return this._open(e,t,n);(i=n.call(t[0],function(i){r._delay(function(){t.data("ui-tooltip-open")&&(e&&(e.type=o),this._open(e,t,i))})}))&&this._open(e,t,i)},_open:function(e,i,n){var r,o,s,a,u=t.extend({},this.options.position);function c(t){u.of=t,o.is(":hidden")||o.position(u)}n&&((r=this._find(i))?r.tooltip.find(".ui-tooltip-content").html(n):(i.is("[title]")&&(e&&"mouseover"===e.type?i.attr("title",""):i.removeAttr("title")),r=this._tooltip(i),o=r.tooltip,this._addDescribedBy(i,o.attr("id")),o.find(".ui-tooltip-content").html(n),this.liveRegion.children().hide(),(a=t("
      ").html(o.find(".ui-tooltip-content").html())).removeAttr("name").find("[name]").removeAttr("name"),a.removeAttr("id").find("[id]").removeAttr("id"),a.appendTo(this.liveRegion),this.options.track&&e&&/^mouse/.test(e.type)?(this._on(this.document,{mousemove:c}),c(e)):o.position(t.extend({of:i},this.options.position)),o.hide(),this._show(o,this.options.show),this.options.track&&this.options.show&&this.options.show.delay&&(s=this.delayedShow=setInterval(function(){o.is(":visible")&&(c(u.of),clearInterval(s))},13)),this._trigger("open",e,{tooltip:o})))},_registerCloseHandlers:function(e,i){var n={keyup:function(e){if(e.keyCode===t.ui.keyCode.ESCAPE){var n=t.Event(e);n.currentTarget=i[0],this.close(n,!0)}}};i[0]!==this.element[0]&&(n.remove=function(){var t=this._find(i);t&&this._removeTooltip(t.tooltip)}),e&&"mouseover"!==e.type||(n.mouseleave="close"),e&&"focusin"!==e.type||(n.focusout="close"),this._on(!0,i,n)},close:function(e){var i,n=this,r=t(e?e.currentTarget:this.element),o=this._find(r);o?(i=o.tooltip,o.closing||(clearInterval(this.delayedShow),r.data("ui-tooltip-title")&&!r.attr("title")&&r.attr("title",r.data("ui-tooltip-title")),this._removeDescribedBy(r),o.hiding=!0,i.stop(!0),this._hide(i,this.options.hide,function(){n._removeTooltip(t(this))}),r.removeData("ui-tooltip-open"),this._off(r,"mouseleave focusout keyup"),r[0]!==this.element[0]&&this._off(r,"remove"),this._off(this.document,"mousemove"),e&&"mouseleave"===e.type&&t.each(this.parents,function(e,i){t(i.element).attr("title",i.title),delete n.parents[e]}),o.closing=!0,this._trigger("close",e,{tooltip:i}),o.hiding||(o.closing=!1))):r.removeData("ui-tooltip-open")},_tooltip:function(e){var i=t("
      ").attr("role","tooltip"),n=t("
      ").appendTo(i),r=i.uniqueId().attr("id");return this._addClass(n,"ui-tooltip-content"),this._addClass(i,"ui-tooltip","ui-widget ui-widget-content"),i.appendTo(this._appendTo(e)),this.tooltips[r]={element:e,tooltip:i}},_find:function(t){var e=t.data("ui-tooltip-id");return e?this.tooltips[e]:null},_removeTooltip:function(t){clearInterval(this.delayedShow),t.remove(),delete this.tooltips[t.attr("id")]},_appendTo:function(t){var e=t.closest(".ui-front, dialog");return e.length||(e=this.document[0].body),e},_destroy:function(){var e=this;t.each(this.tooltips,function(i,n){var r=t.Event("blur"),o=n.element;r.target=r.currentTarget=o[0],e.close(r,!0),t("#"+i).remove(),o.data("ui-tooltip-title")&&(o.attr("title")||o.attr("title",o.data("ui-tooltip-title")),o.removeData("ui-tooltip-title"))}),this.liveRegion.remove()}}),!1!==t.uiBackCompat&&t.widget("ui.tooltip",t.ui.tooltip,{options:{tooltipClass:null},_tooltip:function(){var t=this._superApply(arguments);return this.options.tooltipClass&&t.tooltip.addClass(this.options.tooltipClass),t}}),t.ui.tooltip},void 0===(o=n.apply(e,r))||(t.exports=o)}()},88276(t,e,i){"use strict";var n=i(56698),r=i(4729),o=i(92861).Buffer,s=new Array(16);function a(){r.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878}function u(t,e){return t<>>32-e}function c(t,e,i,n,r,o,s){return u(t+(e&i|~e&n)+r+o|0,s)+e|0}function h(t,e,i,n,r,o,s){return u(t+(e&n|i&~n)+r+o|0,s)+e|0}function l(t,e,i,n,r,o,s){return u(t+(e^i^n)+r+o|0,s)+e|0}function d(t,e,i,n,r,o,s){return u(t+(i^(e|~n))+r+o|0,s)+e|0}n(a,r),a.prototype._update=function(){for(var t=s,e=0;e<16;++e)t[e]=this._block.readInt32LE(4*e);var i=this._a,n=this._b,r=this._c,o=this._d;i=c(i,n,r,o,t[0],3614090360,7),o=c(o,i,n,r,t[1],3905402710,12),r=c(r,o,i,n,t[2],606105819,17),n=c(n,r,o,i,t[3],3250441966,22),i=c(i,n,r,o,t[4],4118548399,7),o=c(o,i,n,r,t[5],1200080426,12),r=c(r,o,i,n,t[6],2821735955,17),n=c(n,r,o,i,t[7],4249261313,22),i=c(i,n,r,o,t[8],1770035416,7),o=c(o,i,n,r,t[9],2336552879,12),r=c(r,o,i,n,t[10],4294925233,17),n=c(n,r,o,i,t[11],2304563134,22),i=c(i,n,r,o,t[12],1804603682,7),o=c(o,i,n,r,t[13],4254626195,12),r=c(r,o,i,n,t[14],2792965006,17),i=h(i,n=c(n,r,o,i,t[15],1236535329,22),r,o,t[1],4129170786,5),o=h(o,i,n,r,t[6],3225465664,9),r=h(r,o,i,n,t[11],643717713,14),n=h(n,r,o,i,t[0],3921069994,20),i=h(i,n,r,o,t[5],3593408605,5),o=h(o,i,n,r,t[10],38016083,9),r=h(r,o,i,n,t[15],3634488961,14),n=h(n,r,o,i,t[4],3889429448,20),i=h(i,n,r,o,t[9],568446438,5),o=h(o,i,n,r,t[14],3275163606,9),r=h(r,o,i,n,t[3],4107603335,14),n=h(n,r,o,i,t[8],1163531501,20),i=h(i,n,r,o,t[13],2850285829,5),o=h(o,i,n,r,t[2],4243563512,9),r=h(r,o,i,n,t[7],1735328473,14),i=l(i,n=h(n,r,o,i,t[12],2368359562,20),r,o,t[5],4294588738,4),o=l(o,i,n,r,t[8],2272392833,11),r=l(r,o,i,n,t[11],1839030562,16),n=l(n,r,o,i,t[14],4259657740,23),i=l(i,n,r,o,t[1],2763975236,4),o=l(o,i,n,r,t[4],1272893353,11),r=l(r,o,i,n,t[7],4139469664,16),n=l(n,r,o,i,t[10],3200236656,23),i=l(i,n,r,o,t[13],681279174,4),o=l(o,i,n,r,t[0],3936430074,11),r=l(r,o,i,n,t[3],3572445317,16),n=l(n,r,o,i,t[6],76029189,23),i=l(i,n,r,o,t[9],3654602809,4),o=l(o,i,n,r,t[12],3873151461,11),r=l(r,o,i,n,t[15],530742520,16),i=d(i,n=l(n,r,o,i,t[2],3299628645,23),r,o,t[0],4096336452,6),o=d(o,i,n,r,t[7],1126891415,10),r=d(r,o,i,n,t[14],2878612391,15),n=d(n,r,o,i,t[5],4237533241,21),i=d(i,n,r,o,t[12],1700485571,6),o=d(o,i,n,r,t[3],2399980690,10),r=d(r,o,i,n,t[10],4293915773,15),n=d(n,r,o,i,t[1],2240044497,21),i=d(i,n,r,o,t[8],1873313359,6),o=d(o,i,n,r,t[15],4264355552,10),r=d(r,o,i,n,t[6],2734768916,15),n=d(n,r,o,i,t[13],1309151649,21),i=d(i,n,r,o,t[4],4149444226,6),o=d(o,i,n,r,t[11],3174756917,10),r=d(r,o,i,n,t[2],718787259,15),n=d(n,r,o,i,t[9],3951481745,21),this._a=this._a+i|0,this._b=this._b+n|0,this._c=this._c+r|0,this._d=this._d+o|0},a.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var t=o.allocUnsafe(16);return t.writeInt32LE(this._a,0),t.writeInt32LE(this._b,4),t.writeInt32LE(this._c,8),t.writeInt32LE(this._d,12),t},t.exports=a},52244(t,e,i){var n=i(61158),r=i(15037);function o(t){this.rand=t||new r.Rand}t.exports=o,o.create=function(t){return new o(t)},o.prototype._randbelow=function(t){var e=t.bitLength(),i=Math.ceil(e/8);do{var r=new n(this.rand.generate(i))}while(r.cmp(t)>=0);return r},o.prototype._randrange=function(t,e){var i=e.sub(t);return t.add(this._randbelow(i))},o.prototype.test=function(t,e,i){var r=t.bitLength(),o=n.mont(t),s=new n(1).toRed(o);e||(e=Math.max(1,r/48|0));for(var a=t.subn(1),u=0;!a.testn(u);u++);for(var c=t.shrn(u),h=a.toRed(o);e>0;e--){var l=this._randrange(new n(2),a);i&&i(l);var d=l.toRed(o).redPow(c);if(0!==d.cmp(s)&&0!==d.cmp(h)){for(var f=1;f0;e--){var h=this._randrange(new n(2),s),l=t.gcd(h);if(0!==l.cmpn(1))return l;var d=h.toRed(r).redPow(u);if(0!==d.cmp(o)&&0!==d.cmp(c)){for(var f=1;f=65&&i<=70?i-55:i>=97&&i<=102?i-87:i-48&15}function u(t,e,i){var n=a(t,i);return i-1>=e&&(n|=a(t,i-1)<<4),n}function c(t,e,i,n){for(var r=0,o=Math.min(t.length,i),s=e;s=49?a-49+10:a>=17?a-17+10:a}return r}o.isBN=function(t){return t instanceof o||null!==t&&"object"==typeof t&&t.constructor.wordSize===o.wordSize&&Array.isArray(t.words)},o.max=function(t,e){return t.cmp(e)>0?t:e},o.min=function(t,e){return t.cmp(e)<0?t:e},o.prototype._init=function(t,e,i){if("number"==typeof t)return this._initNumber(t,e,i);if("object"==typeof t)return this._initArray(t,e,i);"hex"===e&&(e=16),n(e===(0|e)&&e>=2&&e<=36);var r=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(r++,this.negative=1),r=0;r-=3)s=t[r]|t[r-1]<<8|t[r-2]<<16,this.words[o]|=s<>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);else if("le"===i)for(r=0,o=0;r>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);return this.strip()},o.prototype._parseHex=function(t,e,i){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var n=0;n=e;n-=2)r=u(t,e,n)<=18?(o-=18,s+=1,this.words[s]|=r>>>26):o+=8;else for(n=(t.length-e)%2==0?e+1:e;n=18?(o-=18,s+=1,this.words[s]|=r>>>26):o+=8;this.strip()},o.prototype._parseBase=function(t,e,i){this.words=[0],this.length=1;for(var n=0,r=1;r<=67108863;r*=e)n++;n--,r=r/e|0;for(var o=t.length-i,s=o%n,a=Math.min(o,o-s)+i,u=0,h=i;h1&&0===this.words[this.length-1];)this.length--;return this._normSign()},o.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},o.prototype.inspect=function(){return(this.red?""};var h=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],l=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],d=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function f(t,e,i){i.negative=e.negative^t.negative;var n=t.length+e.length|0;i.length=n,n=n-1|0;var r=0|t.words[0],o=0|e.words[0],s=r*o,a=67108863&s,u=s/67108864|0;i.words[0]=a;for(var c=1;c>>26,l=67108863&u,d=Math.min(c,e.length-1),f=Math.max(0,c-t.length+1);f<=d;f++){var p=c-f|0;h+=(s=(r=0|t.words[p])*(o=0|e.words[f])+l)/67108864|0,l=67108863&s}i.words[c]=0|l,u=0|h}return 0!==u?i.words[c]=0|u:i.length--,i.strip()}o.prototype.toString=function(t,e){var i;if(e=0|e||1,16===(t=t||10)||"hex"===t){i="";for(var r=0,o=0,s=0;s>>24-r&16777215,(r+=2)>=26&&(r-=26,s--),i=0!==o||s!==this.length-1?h[6-u.length]+u+i:u+i}for(0!==o&&(i=o.toString(16)+i);i.length%e!==0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}if(t===(0|t)&&t>=2&&t<=36){var c=l[t],f=d[t];i="";var p=this.clone();for(p.negative=0;!p.isZero();){var g=p.modn(f).toString(t);i=(p=p.idivn(f)).isZero()?g+i:h[c-g.length]+g+i}for(this.isZero()&&(i="0"+i);i.length%e!==0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}n(!1,"Base should be between 2 and 36")},o.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},o.prototype.toJSON=function(){return this.toString(16)},o.prototype.toBuffer=function(t,e){return n(void 0!==s),this.toArrayLike(s,t,e)},o.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},o.prototype.toArrayLike=function(t,e,i){var r=this.byteLength(),o=i||Math.max(1,r);n(r<=o,"byte array longer than desired length"),n(o>0,"Requested array length <= 0"),this.strip();var s,a,u="le"===e,c=new t(o),h=this.clone();if(u){for(a=0;!h.isZero();a++)s=h.andln(255),h.iushrn(8),c[a]=s;for(;a=4096&&(i+=13,e>>>=13),e>=64&&(i+=7,e>>>=7),e>=8&&(i+=4,e>>>=4),e>=2&&(i+=2,e>>>=2),i+e},o.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,i=0;return 8191&e||(i+=13,e>>>=13),127&e||(i+=7,e>>>=7),15&e||(i+=4,e>>>=4),3&e||(i+=2,e>>>=2),1&e||i++,i},o.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},o.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},o.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},o.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var i=0;it.length?this.clone().iand(t):t.clone().iand(this)},o.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},o.prototype.iuxor=function(t){var e,i;this.length>t.length?(e=this,i=t):(e=t,i=this);for(var n=0;nt.length?this.clone().ixor(t):t.clone().ixor(this)},o.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},o.prototype.inotn=function(t){n("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),i=t%26;this._expand(e),i>0&&e--;for(var r=0;r0&&(this.words[r]=~this.words[r]&67108863>>26-i),this.strip()},o.prototype.notn=function(t){return this.clone().inotn(t)},o.prototype.setn=function(t,e){n("number"==typeof t&&t>=0);var i=t/26|0,r=t%26;return this._expand(i+1),this.words[i]=e?this.words[i]|1<t.length?(i=this,n=t):(i=t,n=this);for(var r=0,o=0;o>>26;for(;0!==r&&o>>26;if(this.length=i.length,0!==r)this.words[this.length]=r,this.length++;else if(i!==this)for(;ot.length?this.clone().iadd(t):t.clone().iadd(this)},o.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var i,n,r=this.cmp(t);if(0===r)return this.negative=0,this.length=1,this.words[0]=0,this;r>0?(i=this,n=t):(i=t,n=this);for(var o=0,s=0;s>26,this.words[s]=67108863&e;for(;0!==o&&s>26,this.words[s]=67108863&e;if(0===o&&s>>13,f=0|s[1],p=8191&f,g=f>>>13,A=0|s[2],m=8191&A,v=A>>>13,b=0|s[3],y=8191&b,w=b>>>13,C=0|s[4],x=8191&C,k=C>>>13,_=0|s[5],M=8191&_,B=_>>>13,E=0|s[6],I=8191&E,S=E>>>13,D=0|s[7],T=8191&D,O=D>>>13,P=0|s[8],R=8191&P,z=P>>>13,N=0|s[9],H=8191&N,j=N>>>13,L=0|a[0],U=8191&L,q=L>>>13,F=0|a[1],W=8191&F,Y=F>>>13,Q=0|a[2],G=8191&Q,V=Q>>>13,K=0|a[3],X=8191&K,Z=K>>>13,J=0|a[4],$=8191&J,tt=J>>>13,et=0|a[5],it=8191&et,nt=et>>>13,rt=0|a[6],ot=8191&rt,st=rt>>>13,at=0|a[7],ut=8191&at,ct=at>>>13,ht=0|a[8],lt=8191&ht,dt=ht>>>13,ft=0|a[9],pt=8191&ft,gt=ft>>>13;i.negative=t.negative^e.negative,i.length=19;var At=(c+(n=Math.imul(l,U))|0)+((8191&(r=(r=Math.imul(l,q))+Math.imul(d,U)|0))<<13)|0;c=((o=Math.imul(d,q))+(r>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(p,U),r=(r=Math.imul(p,q))+Math.imul(g,U)|0,o=Math.imul(g,q);var mt=(c+(n=n+Math.imul(l,W)|0)|0)+((8191&(r=(r=r+Math.imul(l,Y)|0)+Math.imul(d,W)|0))<<13)|0;c=((o=o+Math.imul(d,Y)|0)+(r>>>13)|0)+(mt>>>26)|0,mt&=67108863,n=Math.imul(m,U),r=(r=Math.imul(m,q))+Math.imul(v,U)|0,o=Math.imul(v,q),n=n+Math.imul(p,W)|0,r=(r=r+Math.imul(p,Y)|0)+Math.imul(g,W)|0,o=o+Math.imul(g,Y)|0;var vt=(c+(n=n+Math.imul(l,G)|0)|0)+((8191&(r=(r=r+Math.imul(l,V)|0)+Math.imul(d,G)|0))<<13)|0;c=((o=o+Math.imul(d,V)|0)+(r>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(y,U),r=(r=Math.imul(y,q))+Math.imul(w,U)|0,o=Math.imul(w,q),n=n+Math.imul(m,W)|0,r=(r=r+Math.imul(m,Y)|0)+Math.imul(v,W)|0,o=o+Math.imul(v,Y)|0,n=n+Math.imul(p,G)|0,r=(r=r+Math.imul(p,V)|0)+Math.imul(g,G)|0,o=o+Math.imul(g,V)|0;var bt=(c+(n=n+Math.imul(l,X)|0)|0)+((8191&(r=(r=r+Math.imul(l,Z)|0)+Math.imul(d,X)|0))<<13)|0;c=((o=o+Math.imul(d,Z)|0)+(r>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(x,U),r=(r=Math.imul(x,q))+Math.imul(k,U)|0,o=Math.imul(k,q),n=n+Math.imul(y,W)|0,r=(r=r+Math.imul(y,Y)|0)+Math.imul(w,W)|0,o=o+Math.imul(w,Y)|0,n=n+Math.imul(m,G)|0,r=(r=r+Math.imul(m,V)|0)+Math.imul(v,G)|0,o=o+Math.imul(v,V)|0,n=n+Math.imul(p,X)|0,r=(r=r+Math.imul(p,Z)|0)+Math.imul(g,X)|0,o=o+Math.imul(g,Z)|0;var yt=(c+(n=n+Math.imul(l,$)|0)|0)+((8191&(r=(r=r+Math.imul(l,tt)|0)+Math.imul(d,$)|0))<<13)|0;c=((o=o+Math.imul(d,tt)|0)+(r>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(M,U),r=(r=Math.imul(M,q))+Math.imul(B,U)|0,o=Math.imul(B,q),n=n+Math.imul(x,W)|0,r=(r=r+Math.imul(x,Y)|0)+Math.imul(k,W)|0,o=o+Math.imul(k,Y)|0,n=n+Math.imul(y,G)|0,r=(r=r+Math.imul(y,V)|0)+Math.imul(w,G)|0,o=o+Math.imul(w,V)|0,n=n+Math.imul(m,X)|0,r=(r=r+Math.imul(m,Z)|0)+Math.imul(v,X)|0,o=o+Math.imul(v,Z)|0,n=n+Math.imul(p,$)|0,r=(r=r+Math.imul(p,tt)|0)+Math.imul(g,$)|0,o=o+Math.imul(g,tt)|0;var wt=(c+(n=n+Math.imul(l,it)|0)|0)+((8191&(r=(r=r+Math.imul(l,nt)|0)+Math.imul(d,it)|0))<<13)|0;c=((o=o+Math.imul(d,nt)|0)+(r>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(I,U),r=(r=Math.imul(I,q))+Math.imul(S,U)|0,o=Math.imul(S,q),n=n+Math.imul(M,W)|0,r=(r=r+Math.imul(M,Y)|0)+Math.imul(B,W)|0,o=o+Math.imul(B,Y)|0,n=n+Math.imul(x,G)|0,r=(r=r+Math.imul(x,V)|0)+Math.imul(k,G)|0,o=o+Math.imul(k,V)|0,n=n+Math.imul(y,X)|0,r=(r=r+Math.imul(y,Z)|0)+Math.imul(w,X)|0,o=o+Math.imul(w,Z)|0,n=n+Math.imul(m,$)|0,r=(r=r+Math.imul(m,tt)|0)+Math.imul(v,$)|0,o=o+Math.imul(v,tt)|0,n=n+Math.imul(p,it)|0,r=(r=r+Math.imul(p,nt)|0)+Math.imul(g,it)|0,o=o+Math.imul(g,nt)|0;var Ct=(c+(n=n+Math.imul(l,ot)|0)|0)+((8191&(r=(r=r+Math.imul(l,st)|0)+Math.imul(d,ot)|0))<<13)|0;c=((o=o+Math.imul(d,st)|0)+(r>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,n=Math.imul(T,U),r=(r=Math.imul(T,q))+Math.imul(O,U)|0,o=Math.imul(O,q),n=n+Math.imul(I,W)|0,r=(r=r+Math.imul(I,Y)|0)+Math.imul(S,W)|0,o=o+Math.imul(S,Y)|0,n=n+Math.imul(M,G)|0,r=(r=r+Math.imul(M,V)|0)+Math.imul(B,G)|0,o=o+Math.imul(B,V)|0,n=n+Math.imul(x,X)|0,r=(r=r+Math.imul(x,Z)|0)+Math.imul(k,X)|0,o=o+Math.imul(k,Z)|0,n=n+Math.imul(y,$)|0,r=(r=r+Math.imul(y,tt)|0)+Math.imul(w,$)|0,o=o+Math.imul(w,tt)|0,n=n+Math.imul(m,it)|0,r=(r=r+Math.imul(m,nt)|0)+Math.imul(v,it)|0,o=o+Math.imul(v,nt)|0,n=n+Math.imul(p,ot)|0,r=(r=r+Math.imul(p,st)|0)+Math.imul(g,ot)|0,o=o+Math.imul(g,st)|0;var xt=(c+(n=n+Math.imul(l,ut)|0)|0)+((8191&(r=(r=r+Math.imul(l,ct)|0)+Math.imul(d,ut)|0))<<13)|0;c=((o=o+Math.imul(d,ct)|0)+(r>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(R,U),r=(r=Math.imul(R,q))+Math.imul(z,U)|0,o=Math.imul(z,q),n=n+Math.imul(T,W)|0,r=(r=r+Math.imul(T,Y)|0)+Math.imul(O,W)|0,o=o+Math.imul(O,Y)|0,n=n+Math.imul(I,G)|0,r=(r=r+Math.imul(I,V)|0)+Math.imul(S,G)|0,o=o+Math.imul(S,V)|0,n=n+Math.imul(M,X)|0,r=(r=r+Math.imul(M,Z)|0)+Math.imul(B,X)|0,o=o+Math.imul(B,Z)|0,n=n+Math.imul(x,$)|0,r=(r=r+Math.imul(x,tt)|0)+Math.imul(k,$)|0,o=o+Math.imul(k,tt)|0,n=n+Math.imul(y,it)|0,r=(r=r+Math.imul(y,nt)|0)+Math.imul(w,it)|0,o=o+Math.imul(w,nt)|0,n=n+Math.imul(m,ot)|0,r=(r=r+Math.imul(m,st)|0)+Math.imul(v,ot)|0,o=o+Math.imul(v,st)|0,n=n+Math.imul(p,ut)|0,r=(r=r+Math.imul(p,ct)|0)+Math.imul(g,ut)|0,o=o+Math.imul(g,ct)|0;var kt=(c+(n=n+Math.imul(l,lt)|0)|0)+((8191&(r=(r=r+Math.imul(l,dt)|0)+Math.imul(d,lt)|0))<<13)|0;c=((o=o+Math.imul(d,dt)|0)+(r>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(H,U),r=(r=Math.imul(H,q))+Math.imul(j,U)|0,o=Math.imul(j,q),n=n+Math.imul(R,W)|0,r=(r=r+Math.imul(R,Y)|0)+Math.imul(z,W)|0,o=o+Math.imul(z,Y)|0,n=n+Math.imul(T,G)|0,r=(r=r+Math.imul(T,V)|0)+Math.imul(O,G)|0,o=o+Math.imul(O,V)|0,n=n+Math.imul(I,X)|0,r=(r=r+Math.imul(I,Z)|0)+Math.imul(S,X)|0,o=o+Math.imul(S,Z)|0,n=n+Math.imul(M,$)|0,r=(r=r+Math.imul(M,tt)|0)+Math.imul(B,$)|0,o=o+Math.imul(B,tt)|0,n=n+Math.imul(x,it)|0,r=(r=r+Math.imul(x,nt)|0)+Math.imul(k,it)|0,o=o+Math.imul(k,nt)|0,n=n+Math.imul(y,ot)|0,r=(r=r+Math.imul(y,st)|0)+Math.imul(w,ot)|0,o=o+Math.imul(w,st)|0,n=n+Math.imul(m,ut)|0,r=(r=r+Math.imul(m,ct)|0)+Math.imul(v,ut)|0,o=o+Math.imul(v,ct)|0,n=n+Math.imul(p,lt)|0,r=(r=r+Math.imul(p,dt)|0)+Math.imul(g,lt)|0,o=o+Math.imul(g,dt)|0;var _t=(c+(n=n+Math.imul(l,pt)|0)|0)+((8191&(r=(r=r+Math.imul(l,gt)|0)+Math.imul(d,pt)|0))<<13)|0;c=((o=o+Math.imul(d,gt)|0)+(r>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(H,W),r=(r=Math.imul(H,Y))+Math.imul(j,W)|0,o=Math.imul(j,Y),n=n+Math.imul(R,G)|0,r=(r=r+Math.imul(R,V)|0)+Math.imul(z,G)|0,o=o+Math.imul(z,V)|0,n=n+Math.imul(T,X)|0,r=(r=r+Math.imul(T,Z)|0)+Math.imul(O,X)|0,o=o+Math.imul(O,Z)|0,n=n+Math.imul(I,$)|0,r=(r=r+Math.imul(I,tt)|0)+Math.imul(S,$)|0,o=o+Math.imul(S,tt)|0,n=n+Math.imul(M,it)|0,r=(r=r+Math.imul(M,nt)|0)+Math.imul(B,it)|0,o=o+Math.imul(B,nt)|0,n=n+Math.imul(x,ot)|0,r=(r=r+Math.imul(x,st)|0)+Math.imul(k,ot)|0,o=o+Math.imul(k,st)|0,n=n+Math.imul(y,ut)|0,r=(r=r+Math.imul(y,ct)|0)+Math.imul(w,ut)|0,o=o+Math.imul(w,ct)|0,n=n+Math.imul(m,lt)|0,r=(r=r+Math.imul(m,dt)|0)+Math.imul(v,lt)|0,o=o+Math.imul(v,dt)|0;var Mt=(c+(n=n+Math.imul(p,pt)|0)|0)+((8191&(r=(r=r+Math.imul(p,gt)|0)+Math.imul(g,pt)|0))<<13)|0;c=((o=o+Math.imul(g,gt)|0)+(r>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(H,G),r=(r=Math.imul(H,V))+Math.imul(j,G)|0,o=Math.imul(j,V),n=n+Math.imul(R,X)|0,r=(r=r+Math.imul(R,Z)|0)+Math.imul(z,X)|0,o=o+Math.imul(z,Z)|0,n=n+Math.imul(T,$)|0,r=(r=r+Math.imul(T,tt)|0)+Math.imul(O,$)|0,o=o+Math.imul(O,tt)|0,n=n+Math.imul(I,it)|0,r=(r=r+Math.imul(I,nt)|0)+Math.imul(S,it)|0,o=o+Math.imul(S,nt)|0,n=n+Math.imul(M,ot)|0,r=(r=r+Math.imul(M,st)|0)+Math.imul(B,ot)|0,o=o+Math.imul(B,st)|0,n=n+Math.imul(x,ut)|0,r=(r=r+Math.imul(x,ct)|0)+Math.imul(k,ut)|0,o=o+Math.imul(k,ct)|0,n=n+Math.imul(y,lt)|0,r=(r=r+Math.imul(y,dt)|0)+Math.imul(w,lt)|0,o=o+Math.imul(w,dt)|0;var Bt=(c+(n=n+Math.imul(m,pt)|0)|0)+((8191&(r=(r=r+Math.imul(m,gt)|0)+Math.imul(v,pt)|0))<<13)|0;c=((o=o+Math.imul(v,gt)|0)+(r>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,n=Math.imul(H,X),r=(r=Math.imul(H,Z))+Math.imul(j,X)|0,o=Math.imul(j,Z),n=n+Math.imul(R,$)|0,r=(r=r+Math.imul(R,tt)|0)+Math.imul(z,$)|0,o=o+Math.imul(z,tt)|0,n=n+Math.imul(T,it)|0,r=(r=r+Math.imul(T,nt)|0)+Math.imul(O,it)|0,o=o+Math.imul(O,nt)|0,n=n+Math.imul(I,ot)|0,r=(r=r+Math.imul(I,st)|0)+Math.imul(S,ot)|0,o=o+Math.imul(S,st)|0,n=n+Math.imul(M,ut)|0,r=(r=r+Math.imul(M,ct)|0)+Math.imul(B,ut)|0,o=o+Math.imul(B,ct)|0,n=n+Math.imul(x,lt)|0,r=(r=r+Math.imul(x,dt)|0)+Math.imul(k,lt)|0,o=o+Math.imul(k,dt)|0;var Et=(c+(n=n+Math.imul(y,pt)|0)|0)+((8191&(r=(r=r+Math.imul(y,gt)|0)+Math.imul(w,pt)|0))<<13)|0;c=((o=o+Math.imul(w,gt)|0)+(r>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(H,$),r=(r=Math.imul(H,tt))+Math.imul(j,$)|0,o=Math.imul(j,tt),n=n+Math.imul(R,it)|0,r=(r=r+Math.imul(R,nt)|0)+Math.imul(z,it)|0,o=o+Math.imul(z,nt)|0,n=n+Math.imul(T,ot)|0,r=(r=r+Math.imul(T,st)|0)+Math.imul(O,ot)|0,o=o+Math.imul(O,st)|0,n=n+Math.imul(I,ut)|0,r=(r=r+Math.imul(I,ct)|0)+Math.imul(S,ut)|0,o=o+Math.imul(S,ct)|0,n=n+Math.imul(M,lt)|0,r=(r=r+Math.imul(M,dt)|0)+Math.imul(B,lt)|0,o=o+Math.imul(B,dt)|0;var It=(c+(n=n+Math.imul(x,pt)|0)|0)+((8191&(r=(r=r+Math.imul(x,gt)|0)+Math.imul(k,pt)|0))<<13)|0;c=((o=o+Math.imul(k,gt)|0)+(r>>>13)|0)+(It>>>26)|0,It&=67108863,n=Math.imul(H,it),r=(r=Math.imul(H,nt))+Math.imul(j,it)|0,o=Math.imul(j,nt),n=n+Math.imul(R,ot)|0,r=(r=r+Math.imul(R,st)|0)+Math.imul(z,ot)|0,o=o+Math.imul(z,st)|0,n=n+Math.imul(T,ut)|0,r=(r=r+Math.imul(T,ct)|0)+Math.imul(O,ut)|0,o=o+Math.imul(O,ct)|0,n=n+Math.imul(I,lt)|0,r=(r=r+Math.imul(I,dt)|0)+Math.imul(S,lt)|0,o=o+Math.imul(S,dt)|0;var St=(c+(n=n+Math.imul(M,pt)|0)|0)+((8191&(r=(r=r+Math.imul(M,gt)|0)+Math.imul(B,pt)|0))<<13)|0;c=((o=o+Math.imul(B,gt)|0)+(r>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(H,ot),r=(r=Math.imul(H,st))+Math.imul(j,ot)|0,o=Math.imul(j,st),n=n+Math.imul(R,ut)|0,r=(r=r+Math.imul(R,ct)|0)+Math.imul(z,ut)|0,o=o+Math.imul(z,ct)|0,n=n+Math.imul(T,lt)|0,r=(r=r+Math.imul(T,dt)|0)+Math.imul(O,lt)|0,o=o+Math.imul(O,dt)|0;var Dt=(c+(n=n+Math.imul(I,pt)|0)|0)+((8191&(r=(r=r+Math.imul(I,gt)|0)+Math.imul(S,pt)|0))<<13)|0;c=((o=o+Math.imul(S,gt)|0)+(r>>>13)|0)+(Dt>>>26)|0,Dt&=67108863,n=Math.imul(H,ut),r=(r=Math.imul(H,ct))+Math.imul(j,ut)|0,o=Math.imul(j,ct),n=n+Math.imul(R,lt)|0,r=(r=r+Math.imul(R,dt)|0)+Math.imul(z,lt)|0,o=o+Math.imul(z,dt)|0;var Tt=(c+(n=n+Math.imul(T,pt)|0)|0)+((8191&(r=(r=r+Math.imul(T,gt)|0)+Math.imul(O,pt)|0))<<13)|0;c=((o=o+Math.imul(O,gt)|0)+(r>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(H,lt),r=(r=Math.imul(H,dt))+Math.imul(j,lt)|0,o=Math.imul(j,dt);var Ot=(c+(n=n+Math.imul(R,pt)|0)|0)+((8191&(r=(r=r+Math.imul(R,gt)|0)+Math.imul(z,pt)|0))<<13)|0;c=((o=o+Math.imul(z,gt)|0)+(r>>>13)|0)+(Ot>>>26)|0,Ot&=67108863;var Pt=(c+(n=Math.imul(H,pt))|0)+((8191&(r=(r=Math.imul(H,gt))+Math.imul(j,pt)|0))<<13)|0;return c=((o=Math.imul(j,gt))+(r>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,u[0]=At,u[1]=mt,u[2]=vt,u[3]=bt,u[4]=yt,u[5]=wt,u[6]=Ct,u[7]=xt,u[8]=kt,u[9]=_t,u[10]=Mt,u[11]=Bt,u[12]=Et,u[13]=It,u[14]=St,u[15]=Dt,u[16]=Tt,u[17]=Ot,u[18]=Pt,0!==c&&(u[19]=c,i.length++),i};function g(t,e,i){return(new A).mulp(t,e,i)}function A(t,e){this.x=t,this.y=e}Math.imul||(p=f),o.prototype.mulTo=function(t,e){var i,n=this.length+t.length;return i=10===this.length&&10===t.length?p(this,t,e):n<63?f(this,t,e):n<1024?function(t,e,i){i.negative=e.negative^t.negative,i.length=t.length+e.length;for(var n=0,r=0,o=0;o>>26)|0)>>>26,s&=67108863}i.words[o]=a,n=s,s=r}return 0!==n?i.words[o]=n:i.length--,i.strip()}(this,t,e):g(this,t,e),i},A.prototype.makeRBT=function(t){for(var e=new Array(t),i=o.prototype._countBits(t)-1,n=0;n>=1;return n},A.prototype.permute=function(t,e,i,n,r,o){for(var s=0;s>>=1)r++;return 1<>>=13,i[2*s+1]=8191&o,o>>>=13;for(s=2*e;s>=26,e+=r/67108864|0,e+=o>>>26,this.words[i]=67108863&o}return 0!==e&&(this.words[i]=e,this.length++),this.length=0===t?1:this.length,this},o.prototype.muln=function(t){return this.clone().imuln(t)},o.prototype.sqr=function(){return this.mul(this)},o.prototype.isqr=function(){return this.imul(this.clone())},o.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),i=0;i>>r}return e}(t);if(0===e.length)return new o(1);for(var i=this,n=0;n=0);var e,i=t%26,r=(t-i)/26,o=67108863>>>26-i<<26-i;if(0!==i){var s=0;for(e=0;e>>26-i}s&&(this.words[e]=s,this.length++)}if(0!==r){for(e=this.length-1;e>=0;e--)this.words[e+r]=this.words[e];for(e=0;e=0),r=e?(e-e%26)/26:0;var o=t%26,s=Math.min((t-o)/26,this.length),a=67108863^67108863>>>o<s)for(this.length-=s,c=0;c=0&&(0!==h||c>=r);c--){var l=0|this.words[c];this.words[c]=h<<26-o|l>>>o,h=l&a}return u&&0!==h&&(u.words[u.length++]=h),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},o.prototype.ishrn=function(t,e,i){return n(0===this.negative),this.iushrn(t,e,i)},o.prototype.shln=function(t){return this.clone().ishln(t)},o.prototype.ushln=function(t){return this.clone().iushln(t)},o.prototype.shrn=function(t){return this.clone().ishrn(t)},o.prototype.ushrn=function(t){return this.clone().iushrn(t)},o.prototype.testn=function(t){n("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26,r=1<=0);var e=t%26,i=(t-e)/26;if(n(0===this.negative,"imaskn works only with positive numbers"),this.length<=i)return this;if(0!==e&&i++,this.length=Math.min(i,this.length),0!==e){var r=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},o.prototype.isubn=function(t){if(n("number"==typeof t),n(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(u/67108864|0),this.words[r+i]=67108863&o}for(;r>26,this.words[r+i]=67108863&o;if(0===a)return this.strip();for(n(-1===a),a=0,r=0;r>26,this.words[r]=67108863&o;return this.negative=1,this.strip()},o.prototype._wordDiv=function(t,e){var i=(this.length,t.length),n=this.clone(),r=t,s=0|r.words[r.length-1];0!=(i=26-this._countBits(s))&&(r=r.ushln(i),n.iushln(i),s=0|r.words[r.length-1]);var a,u=n.length-r.length;if("mod"!==e){(a=new o(null)).length=u+1,a.words=new Array(a.length);for(var c=0;c=0;l--){var d=67108864*(0|n.words[r.length+l])+(0|n.words[r.length+l-1]);for(d=Math.min(d/s|0,67108863),n._ishlnsubmul(r,d,l);0!==n.negative;)d--,n.negative=0,n._ishlnsubmul(r,1,l),n.isZero()||(n.negative^=1);a&&(a.words[l]=d)}return a&&a.strip(),n.strip(),"div"!==e&&0!==i&&n.iushrn(i),{div:a||null,mod:n}},o.prototype.divmod=function(t,e,i){return n(!t.isZero()),this.isZero()?{div:new o(0),mod:new o(0)}:0!==this.negative&&0===t.negative?(a=this.neg().divmod(t,e),"mod"!==e&&(r=a.div.neg()),"div"!==e&&(s=a.mod.neg(),i&&0!==s.negative&&s.iadd(t)),{div:r,mod:s}):0===this.negative&&0!==t.negative?(a=this.divmod(t.neg(),e),"mod"!==e&&(r=a.div.neg()),{div:r,mod:a.mod}):0!==(this.negative&t.negative)?(a=this.neg().divmod(t.neg(),e),"div"!==e&&(s=a.mod.neg(),i&&0!==s.negative&&s.isub(t)),{div:a.div,mod:s}):t.length>this.length||this.cmp(t)<0?{div:new o(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new o(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new o(this.modn(t.words[0]))}:this._wordDiv(t,e);var r,s,a},o.prototype.div=function(t){return this.divmod(t,"div",!1).div},o.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},o.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},o.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var i=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),r=t.andln(1),o=i.cmp(n);return o<0||1===r&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},o.prototype.modn=function(t){n(t<=67108863);for(var e=(1<<26)%t,i=0,r=this.length-1;r>=0;r--)i=(e*i+(0|this.words[r]))%t;return i},o.prototype.idivn=function(t){n(t<=67108863);for(var e=0,i=this.length-1;i>=0;i--){var r=(0|this.words[i])+67108864*e;this.words[i]=r/t|0,e=r%t}return this.strip()},o.prototype.divn=function(t){return this.clone().idivn(t)},o.prototype.egcd=function(t){n(0===t.negative),n(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var r=new o(1),s=new o(0),a=new o(0),u=new o(1),c=0;e.isEven()&&i.isEven();)e.iushrn(1),i.iushrn(1),++c;for(var h=i.clone(),l=e.clone();!e.isZero();){for(var d=0,f=1;0===(e.words[0]&f)&&d<26;++d,f<<=1);if(d>0)for(e.iushrn(d);d-- >0;)(r.isOdd()||s.isOdd())&&(r.iadd(h),s.isub(l)),r.iushrn(1),s.iushrn(1);for(var p=0,g=1;0===(i.words[0]&g)&&p<26;++p,g<<=1);if(p>0)for(i.iushrn(p);p-- >0;)(a.isOdd()||u.isOdd())&&(a.iadd(h),u.isub(l)),a.iushrn(1),u.iushrn(1);e.cmp(i)>=0?(e.isub(i),r.isub(a),s.isub(u)):(i.isub(e),a.isub(r),u.isub(s))}return{a,b:u,gcd:i.iushln(c)}},o.prototype._invmp=function(t){n(0===t.negative),n(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var r,s=new o(1),a=new o(0),u=i.clone();e.cmpn(1)>0&&i.cmpn(1)>0;){for(var c=0,h=1;0===(e.words[0]&h)&&c<26;++c,h<<=1);if(c>0)for(e.iushrn(c);c-- >0;)s.isOdd()&&s.iadd(u),s.iushrn(1);for(var l=0,d=1;0===(i.words[0]&d)&&l<26;++l,d<<=1);if(l>0)for(i.iushrn(l);l-- >0;)a.isOdd()&&a.iadd(u),a.iushrn(1);e.cmp(i)>=0?(e.isub(i),s.isub(a)):(i.isub(e),a.isub(s))}return(r=0===e.cmpn(1)?s:a).cmpn(0)<0&&r.iadd(t),r},o.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),i=t.clone();e.negative=0,i.negative=0;for(var n=0;e.isEven()&&i.isEven();n++)e.iushrn(1),i.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;i.isEven();)i.iushrn(1);var r=e.cmp(i);if(r<0){var o=e;e=i,i=o}else if(0===r||0===i.cmpn(1))break;e.isub(i)}return i.iushln(n)},o.prototype.invm=function(t){return this.egcd(t).a.umod(t)},o.prototype.isEven=function(){return!(1&this.words[0])},o.prototype.isOdd=function(){return!(1&~this.words[0])},o.prototype.andln=function(t){return this.words[0]&t},o.prototype.bincn=function(t){n("number"==typeof t);var e=t%26,i=(t-e)/26,r=1<>>26,a&=67108863,this.words[s]=a}return 0!==o&&(this.words[s]=o,this.length++),this},o.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},o.prototype.cmpn=function(t){var e,i=t<0;if(0!==this.negative&&!i)return-1;if(0===this.negative&&i)return 1;if(this.strip(),this.length>1)e=1;else{i&&(t=-t),n(t<=67108863,"Number is too big");var r=0|this.words[0];e=r===t?0:rt.length)return 1;if(this.length=0;i--){var n=0|this.words[i],r=0|t.words[i];if(n!==r){nr&&(e=1);break}}return e},o.prototype.gtn=function(t){return 1===this.cmpn(t)},o.prototype.gt=function(t){return 1===this.cmp(t)},o.prototype.gten=function(t){return this.cmpn(t)>=0},o.prototype.gte=function(t){return this.cmp(t)>=0},o.prototype.ltn=function(t){return-1===this.cmpn(t)},o.prototype.lt=function(t){return-1===this.cmp(t)},o.prototype.lten=function(t){return this.cmpn(t)<=0},o.prototype.lte=function(t){return this.cmp(t)<=0},o.prototype.eqn=function(t){return 0===this.cmpn(t)},o.prototype.eq=function(t){return 0===this.cmp(t)},o.red=function(t){return new x(t)},o.prototype.toRed=function(t){return n(!this.red,"Already a number in reduction context"),n(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},o.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},o.prototype._forceRed=function(t){return this.red=t,this},o.prototype.forceRed=function(t){return n(!this.red,"Already a number in reduction context"),this._forceRed(t)},o.prototype.redAdd=function(t){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},o.prototype.redIAdd=function(t){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},o.prototype.redSub=function(t){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},o.prototype.redISub=function(t){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},o.prototype.redShl=function(t){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},o.prototype.redMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},o.prototype.redIMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},o.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},o.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},o.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},o.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},o.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},o.prototype.redPow=function(t){return n(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var m={k256:null,p224:null,p192:null,p25519:null};function v(t,e){this.name=t,this.p=new o(e,16),this.n=this.p.bitLength(),this.k=new o(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function b(){v.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function y(){v.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function w(){v.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function C(){v.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function x(t){if("string"==typeof t){var e=o._prime(t);this.m=e.p,this.prime=e}else n(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function k(t){x.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new o(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}v.prototype._tmp=function(){var t=new o(null);return t.words=new Array(Math.ceil(this.n/13)),t},v.prototype.ireduce=function(t){var e,i=t;do{this.split(i,this.tmp),e=(i=(i=this.imulK(i)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e0?i.isub(this.p):void 0!==i.strip?i.strip():i._strip(),i},v.prototype.split=function(t,e){t.iushrn(this.n,0,e)},v.prototype.imulK=function(t){return t.imul(this.k)},r(b,v),b.prototype.split=function(t,e){for(var i=4194303,n=Math.min(t.length,9),r=0;r>>22,o=s}o>>>=22,t.words[r-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},b.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,i=0;i>>=26,t.words[i]=r,e=n}return 0!==e&&(t.words[t.length++]=e),t},o._prime=function(t){if(m[t])return m[t];var e;if("k256"===t)e=new b;else if("p224"===t)e=new y;else if("p192"===t)e=new w;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new C}return m[t]=e,e},x.prototype._verify1=function(t){n(0===t.negative,"red works only with positives"),n(t.red,"red works only with red numbers")},x.prototype._verify2=function(t,e){n(0===(t.negative|e.negative),"red works only with positives"),n(t.red&&t.red===e.red,"red works only with red numbers")},x.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},x.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},x.prototype.add=function(t,e){this._verify2(t,e);var i=t.add(e);return i.cmp(this.m)>=0&&i.isub(this.m),i._forceRed(this)},x.prototype.iadd=function(t,e){this._verify2(t,e);var i=t.iadd(e);return i.cmp(this.m)>=0&&i.isub(this.m),i},x.prototype.sub=function(t,e){this._verify2(t,e);var i=t.sub(e);return i.cmpn(0)<0&&i.iadd(this.m),i._forceRed(this)},x.prototype.isub=function(t,e){this._verify2(t,e);var i=t.isub(e);return i.cmpn(0)<0&&i.iadd(this.m),i},x.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},x.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},x.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},x.prototype.isqr=function(t){return this.imul(t,t.clone())},x.prototype.sqr=function(t){return this.mul(t,t)},x.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(n(e%2==1),3===e){var i=this.m.add(new o(1)).iushrn(2);return this.pow(t,i)}for(var r=this.m.subn(1),s=0;!r.isZero()&&0===r.andln(1);)s++,r.iushrn(1);n(!r.isZero());var a=new o(1).toRed(this),u=a.redNeg(),c=this.m.subn(1).iushrn(1),h=this.m.bitLength();for(h=new o(2*h*h).toRed(this);0!==this.pow(h,c).cmp(u);)h.redIAdd(u);for(var l=this.pow(h,r),d=this.pow(t,r.addn(1).iushrn(1)),f=this.pow(t,r),p=s;0!==f.cmp(a);){for(var g=f,A=0;0!==g.cmp(a);A++)g=g.redSqr();n(A=0;n--){for(var c=e.words[n],h=u-1;h>=0;h--){var l=c>>h&1;r!==i[0]&&(r=this.sqr(r)),0!==l||0!==s?(s<<=1,s|=l,(4===++a||0===n&&0===h)&&(r=this.mul(r,i[s]),a=0,s=0)):a=0}u=26}return r},x.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},x.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},o.mont=function(t){return new k(t)},r(k,x),k.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},k.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},k.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var i=t.imul(e),n=i.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),r=i.isub(n).iushrn(this.shift),o=r;return r.cmp(this.m)>=0?o=r.isub(this.m):r.cmpn(0)<0&&(o=r.iadd(this.m)),o._forceRed(this)},k.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new o(0)._forceRed(this);var i=t.mul(e),n=i.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),r=i.isub(n).iushrn(this.shift),s=r;return r.cmp(this.m)>=0?s=r.isub(this.m):r.cmpn(0)<0&&(s=r.iadd(this.m)),s._forceRed(this)},k.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(t=i.nmd(t),this)},43349(t){function e(t,e){if(!t)throw new Error(e||"Assertion failed")}t.exports=e,e.equal=function(t,e,i){if(t!=e)throw new Error(i||"Assertion failed: "+t+" != "+e)}},64367(t,e){"use strict";var i=e;function n(t){return 1===t.length?"0"+t:t}function r(t){for(var e="",i=0;i>8,s=255&r;o?i.push(o,s):i.push(s)}return i},i.zero2=n,i.toHex=r,i.encode=function(t,e){return"hex"===e?r(t):t}},35358(t,e,i){var n={"./af":25177,"./af.js":25177,"./ar":61509,"./ar-dz":41488,"./ar-dz.js":41488,"./ar-kw":58676,"./ar-kw.js":58676,"./ar-ly":42353,"./ar-ly.js":42353,"./ar-ma":24496,"./ar-ma.js":24496,"./ar-ps":6947,"./ar-ps.js":6947,"./ar-sa":27444,"./ar-sa.js":27444,"./ar-tn":89756,"./ar-tn.js":89756,"./ar.js":61509,"./az":95533,"./az.js":95533,"./be":28959,"./be.js":28959,"./bg":47777,"./bg.js":47777,"./bm":54903,"./bm.js":54903,"./bn":61290,"./bn-bd":17357,"./bn-bd.js":17357,"./bn.js":61290,"./bo":31545,"./bo.js":31545,"./br":11470,"./br.js":11470,"./bs":44429,"./bs.js":44429,"./ca":7306,"./ca.js":7306,"./cs":56464,"./cs.js":56464,"./cv":73635,"./cv.js":73635,"./cy":64226,"./cy.js":64226,"./da":93601,"./da.js":93601,"./de":77853,"./de-at":26111,"./de-at.js":26111,"./de-ch":54697,"./de-ch.js":54697,"./de.js":77853,"./dv":60708,"./dv.js":60708,"./el":54691,"./el.js":54691,"./en-au":53872,"./en-au.js":53872,"./en-ca":28298,"./en-ca.js":28298,"./en-gb":56195,"./en-gb.js":56195,"./en-ie":66584,"./en-ie.js":66584,"./en-il":65543,"./en-il.js":65543,"./en-in":9033,"./en-in.js":9033,"./en-nz":79402,"./en-nz.js":79402,"./en-sg":43004,"./en-sg.js":43004,"./eo":32934,"./eo.js":32934,"./es":97650,"./es-do":20838,"./es-do.js":20838,"./es-mx":17730,"./es-mx.js":17730,"./es-us":56575,"./es-us.js":56575,"./es.js":97650,"./et":3035,"./et.js":3035,"./eu":3508,"./eu.js":3508,"./fa":119,"./fa.js":119,"./fi":90527,"./fi.js":90527,"./fil":95995,"./fil.js":95995,"./fo":52477,"./fo.js":52477,"./fr":85498,"./fr-ca":26435,"./fr-ca.js":26435,"./fr-ch":37892,"./fr-ch.js":37892,"./fr.js":85498,"./fy":37071,"./fy.js":37071,"./ga":41734,"./ga.js":41734,"./gd":70217,"./gd.js":70217,"./gl":77329,"./gl.js":77329,"./gom-deva":32124,"./gom-deva.js":32124,"./gom-latn":93383,"./gom-latn.js":93383,"./gu":95050,"./gu.js":95050,"./he":11713,"./he.js":11713,"./hi":43861,"./hi.js":43861,"./hr":26308,"./hr.js":26308,"./hu":90609,"./hu.js":90609,"./hy-am":17160,"./hy-am.js":17160,"./id":74063,"./id.js":74063,"./is":89374,"./is.js":89374,"./it":88383,"./it-ch":21827,"./it-ch.js":21827,"./it.js":88383,"./ja":23827,"./ja.js":23827,"./jv":89722,"./jv.js":89722,"./ka":41794,"./ka.js":41794,"./kk":27088,"./kk.js":27088,"./km":96870,"./km.js":96870,"./kn":84451,"./kn.js":84451,"./ko":63164,"./ko.js":63164,"./ku":98174,"./ku-kmr":6181,"./ku-kmr.js":6181,"./ku.js":98174,"./ky":78474,"./ky.js":78474,"./lb":79680,"./lb.js":79680,"./lo":15867,"./lo.js":15867,"./lt":45766,"./lt.js":45766,"./lv":69532,"./lv.js":69532,"./me":58076,"./me.js":58076,"./mi":41848,"./mi.js":41848,"./mk":30306,"./mk.js":30306,"./ml":73739,"./ml.js":73739,"./mn":99053,"./mn.js":99053,"./mr":86169,"./mr.js":86169,"./ms":73386,"./ms-my":92297,"./ms-my.js":92297,"./ms.js":73386,"./mt":77075,"./mt.js":77075,"./my":72264,"./my.js":72264,"./nb":22274,"./nb.js":22274,"./ne":8235,"./ne.js":8235,"./nl":92572,"./nl-be":43784,"./nl-be.js":43784,"./nl.js":92572,"./nn":54566,"./nn.js":54566,"./oc-lnc":69330,"./oc-lnc.js":69330,"./pa-in":29849,"./pa-in.js":29849,"./pl":94418,"./pl.js":94418,"./pt":79834,"./pt-br":48303,"./pt-br.js":48303,"./pt.js":79834,"./ro":24457,"./ro.js":24457,"./ru":82271,"./ru.js":82271,"./sd":1221,"./sd.js":1221,"./se":33478,"./se.js":33478,"./si":17538,"./si.js":17538,"./sk":5784,"./sk.js":5784,"./sl":46637,"./sl.js":46637,"./sq":86794,"./sq.js":86794,"./sr":45719,"./sr-cyrl":3322,"./sr-cyrl.js":3322,"./sr.js":45719,"./ss":56e3,"./ss.js":56e3,"./sv":41011,"./sv.js":41011,"./sw":40748,"./sw.js":40748,"./ta":11025,"./ta.js":11025,"./te":11885,"./te.js":11885,"./tet":28861,"./tet.js":28861,"./tg":86571,"./tg.js":86571,"./th":55802,"./th.js":55802,"./tk":59527,"./tk.js":59527,"./tl-ph":29231,"./tl-ph.js":29231,"./tlh":31052,"./tlh.js":31052,"./tr":85096,"./tr.js":85096,"./tzl":79846,"./tzl.js":79846,"./tzm":81765,"./tzm-latn":97711,"./tzm-latn.js":97711,"./tzm.js":81765,"./ug-cn":48414,"./ug-cn.js":48414,"./uk":16618,"./uk.js":16618,"./ur":57777,"./ur.js":57777,"./uz":57609,"./uz-latn":72475,"./uz-latn.js":72475,"./uz.js":57609,"./vi":21135,"./vi.js":21135,"./x-pseudo":64051,"./x-pseudo.js":64051,"./yo":82218,"./yo.js":82218,"./zh-cn":52648,"./zh-cn.js":52648,"./zh-hk":1632,"./zh-hk.js":1632,"./zh-mo":31541,"./zh-mo.js":31541,"./zh-tw":50304,"./zh-tw.js":50304};function r(t){var e=o(t);return i(e)}function o(t){if(!i.o(n,t)){var e=new Error("Cannot find module '"+t+"'");throw e.code="MODULE_NOT_FOUND",e}return n[t]}r.keys=function(){return Object.keys(n)},r.resolve=o,t.exports=r,r.id=35358},21137(t,e,i){"use strict";var n=i(87568);e.certificate=i(36413);var r=n.define("RSAPrivateKey",function(){this.seq().obj(this.key("version").int(),this.key("modulus").int(),this.key("publicExponent").int(),this.key("privateExponent").int(),this.key("prime1").int(),this.key("prime2").int(),this.key("exponent1").int(),this.key("exponent2").int(),this.key("coefficient").int())});e.RSAPrivateKey=r;var o=n.define("RSAPublicKey",function(){this.seq().obj(this.key("modulus").int(),this.key("publicExponent").int())});e.RSAPublicKey=o;var s=n.define("AlgorithmIdentifier",function(){this.seq().obj(this.key("algorithm").objid(),this.key("none").null_().optional(),this.key("curve").objid().optional(),this.key("params").seq().obj(this.key("p").int(),this.key("q").int(),this.key("g").int()).optional())}),a=n.define("SubjectPublicKeyInfo",function(){this.seq().obj(this.key("algorithm").use(s),this.key("subjectPublicKey").bitstr())});e.PublicKey=a;var u=n.define("PrivateKeyInfo",function(){this.seq().obj(this.key("version").int(),this.key("algorithm").use(s),this.key("subjectPrivateKey").octstr())});e.PrivateKey=u;var c=n.define("EncryptedPrivateKeyInfo",function(){this.seq().obj(this.key("algorithm").seq().obj(this.key("id").objid(),this.key("decrypt").seq().obj(this.key("kde").seq().obj(this.key("id").objid(),this.key("kdeparams").seq().obj(this.key("salt").octstr(),this.key("iters").int())),this.key("cipher").seq().obj(this.key("algo").objid(),this.key("iv").octstr()))),this.key("subjectPrivateKey").octstr())});e.EncryptedPrivateKey=c;var h=n.define("DSAPrivateKey",function(){this.seq().obj(this.key("version").int(),this.key("p").int(),this.key("q").int(),this.key("g").int(),this.key("pub_key").int(),this.key("priv_key").int())});e.DSAPrivateKey=h,e.DSAparam=n.define("DSAparam",function(){this.int()});var l=n.define("ECParameters",function(){this.choice({namedCurve:this.objid()})}),d=n.define("ECPrivateKey",function(){this.seq().obj(this.key("version").int(),this.key("privateKey").octstr(),this.key("parameters").optional().explicit(0).use(l),this.key("publicKey").optional().explicit(1).bitstr())});e.ECPrivateKey=d,e.signature=n.define("signature",function(){this.seq().obj(this.key("r").int(),this.key("s").int())})},36413(t,e,i){"use strict";var n=i(87568),r=n.define("Time",function(){this.choice({utcTime:this.utctime(),generalTime:this.gentime()})}),o=n.define("AttributeTypeValue",function(){this.seq().obj(this.key("type").objid(),this.key("value").any())}),s=n.define("AlgorithmIdentifier",function(){this.seq().obj(this.key("algorithm").objid(),this.key("parameters").optional(),this.key("curve").objid().optional())}),a=n.define("SubjectPublicKeyInfo",function(){this.seq().obj(this.key("algorithm").use(s),this.key("subjectPublicKey").bitstr())}),u=n.define("RelativeDistinguishedName",function(){this.setof(o)}),c=n.define("RDNSequence",function(){this.seqof(u)}),h=n.define("Name",function(){this.choice({rdnSequence:this.use(c)})}),l=n.define("Validity",function(){this.seq().obj(this.key("notBefore").use(r),this.key("notAfter").use(r))}),d=n.define("Extension",function(){this.seq().obj(this.key("extnID").objid(),this.key("critical").bool().def(!1),this.key("extnValue").octstr())}),f=n.define("TBSCertificate",function(){this.seq().obj(this.key("version").explicit(0).int().optional(),this.key("serialNumber").int(),this.key("signature").use(s),this.key("issuer").use(h),this.key("validity").use(l),this.key("subject").use(h),this.key("subjectPublicKeyInfo").use(a),this.key("issuerUniqueID").implicit(1).bitstr().optional(),this.key("subjectUniqueID").implicit(2).bitstr().optional(),this.key("extensions").explicit(3).seqof(d).optional())}),p=n.define("X509Certificate",function(){this.seq().obj(this.key("tbsCertificate").use(f),this.key("signatureAlgorithm").use(s),this.key("signatureValue").bitstr())});t.exports=p},24101(t,e,i){"use strict";var n=/Proc-Type: 4,ENCRYPTED[\n\r]+DEK-Info: AES-((?:128)|(?:192)|(?:256))-CBC,([0-9A-H]+)[\n\r]+([0-9A-z\n\r+/=]+)[\n\r]+/m,r=/^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----/m,o=/^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----([0-9A-z\n\r+/=]+)-----END \1-----$/m,s=i(68078),a=i(1241),u=i(92861).Buffer;t.exports=function(t,e){var i,c=t.toString(),h=c.match(n);if(h){var l="aes"+h[1],d=u.from(h[2],"hex"),f=u.from(h[3].replace(/[\r\n]/g,""),"base64"),p=s(e,d.slice(0,8),parseInt(h[1],10)).key,g=[],A=a.createDecipheriv(l,p,d);g.push(A.update(f)),g.push(A.final()),i=u.concat(g)}else{var m=c.match(o);i=u.from(m[2].replace(/[\r\n]/g,""),"base64")}return{tag:c.match(r)[1],data:i}}},78170(t,e,i){"use strict";var n=i(21137),r=i(15579),o=i(24101),s=i(1241),a=i(78396).pbkdf2Sync,u=i(92861).Buffer;function c(t){var e;"object"!=typeof t||u.isBuffer(t)||(e=t.passphrase,t=t.key),"string"==typeof t&&(t=u.from(t));var i,c,h=o(t,e),l=h.tag,d=h.data;switch(l){case"CERTIFICATE":c=n.certificate.decode(d,"der").tbsCertificate.subjectPublicKeyInfo;case"PUBLIC KEY":switch(c||(c=n.PublicKey.decode(d,"der")),i=c.algorithm.algorithm.join(".")){case"1.2.840.113549.1.1.1":return n.RSAPublicKey.decode(c.subjectPublicKey.data,"der");case"1.2.840.10045.2.1":return c.subjectPrivateKey=c.subjectPublicKey,{type:"ec",data:c};case"1.2.840.10040.4.1":return c.algorithm.params.pub_key=n.DSAparam.decode(c.subjectPublicKey.data,"der"),{type:"dsa",data:c.algorithm.params};default:throw new Error("unknown key id "+i)}case"ENCRYPTED PRIVATE KEY":d=function(t,e){var i=t.algorithm.decrypt.kde.kdeparams.salt,n=parseInt(t.algorithm.decrypt.kde.kdeparams.iters.toString(),10),o=r[t.algorithm.decrypt.cipher.algo.join(".")],c=t.algorithm.decrypt.cipher.iv,h=t.subjectPrivateKey,l=parseInt(o.split("-")[1],10)/8,d=a(e,i,n,l,"sha1"),f=s.createDecipheriv(o,d,c),p=[];return p.push(f.update(h)),p.push(f.final()),u.concat(p)}(d=n.EncryptedPrivateKey.decode(d,"der"),e);case"PRIVATE KEY":switch(i=(c=n.PrivateKey.decode(d,"der")).algorithm.algorithm.join(".")){case"1.2.840.113549.1.1.1":return n.RSAPrivateKey.decode(c.subjectPrivateKey,"der");case"1.2.840.10045.2.1":return{curve:c.algorithm.curve,privateKey:n.ECPrivateKey.decode(c.subjectPrivateKey,"der").privateKey};case"1.2.840.10040.4.1":return c.algorithm.params.priv_key=n.DSAparam.decode(c.subjectPrivateKey,"der"),{type:"dsa",params:c.algorithm.params};default:throw new Error("unknown key id "+i)}case"RSA PUBLIC KEY":return n.RSAPublicKey.decode(d,"der");case"RSA PRIVATE KEY":return n.RSAPrivateKey.decode(d,"der");case"DSA PRIVATE KEY":return{type:"dsa",params:n.DSAPrivateKey.decode(d,"der")};case"EC PRIVATE KEY":return{curve:(d=n.ECPrivateKey.decode(d,"der")).parameters.value,privateKey:d.privateKey};default:throw new Error("unknown key type "+l)}}c.signature=n.signature,t.exports=c},78396(t,e,i){"use strict";e.pbkdf2=i(43832),e.pbkdf2Sync=i(21352)},43832(t,e,i){"use strict";var n,r,o=i(92861).Buffer,s=i(64196),a=i(2455),u=i(21352),c=i(93382),h=globalThis.crypto&&globalThis.crypto.subtle,l={sha:"SHA-1","sha-1":"SHA-1",sha1:"SHA-1",sha256:"SHA-256","sha-256":"SHA-256",sha384:"SHA-384","sha-384":"SHA-384","sha-512":"SHA-512",sha512:"SHA-512"},d=[];function f(){return r||(r=globalThis.process&&globalThis.process.nextTick?globalThis.process.nextTick:globalThis.queueMicrotask?globalThis.queueMicrotask:globalThis.setImmediate?globalThis.setImmediate:globalThis.setTimeout)}function p(t,e,i,n,r){return h.importKey("raw",t,{name:"PBKDF2"},!1,["deriveBits"]).then(function(t){return h.deriveBits({name:"PBKDF2",salt:e,iterations:i,hash:{name:r}},t,n<<3)}).then(function(t){return o.from(t)})}t.exports=function(t,e,i,r,g,A){if("function"==typeof g&&(A=g,g=void 0),s(i,r),t=c(t,a,"Password"),e=c(e,a,"Salt"),"function"!=typeof A)throw new Error("No callback provided to pbkdf2");var m=l[(g=g||"sha1").toLowerCase()];m&&"function"==typeof globalThis.Promise?function(t,e){t.then(function(t){f()(function(){e(null,t)})},function(t){f()(function(){e(t)})})}(function(t){if(globalThis.process&&!globalThis.process.browser)return Promise.resolve(!1);if(!h||!h.importKey||!h.deriveBits)return Promise.resolve(!1);if(void 0!==d[t])return d[t];var e=p(n=n||o.alloc(8),n,10,128,t).then(function(){return!0},function(){return!1});return d[t]=e,e}(m).then(function(n){return n?p(t,e,i,r,m):u(t,e,i,r,g)}),A):f()(function(){var n;try{n=u(t,e,i,r,g)}catch(t){return void A(t)}A(null,n)})}},2455(t,e,i){"use strict";var n,r=i(65606);n=globalThis.process&&globalThis.process.browser?"utf-8":globalThis.process&&globalThis.process.version?parseInt(r.version.split(".")[0].slice(1),10)>=6?"utf-8":"binary":"utf-8",t.exports=n},64196(t){"use strict";var e=isFinite,i=Math.pow(2,30)-1;t.exports=function(t,n){if("number"!=typeof t)throw new TypeError("Iterations not a number");if(t<0||!e(t))throw new TypeError("Bad iterations");if("number"!=typeof n)throw new TypeError("Key length not a number");if(n<0||n>i||n!=n)throw new TypeError("Bad key length")}},21352(t,e,i){"use strict";var n=i(20320),r=i(66011),o=i(62802),s=i(92861).Buffer,a=i(64196),u=i(2455),c=i(93382),h=s.alloc(128),l={__proto__:null,md5:16,sha1:20,sha224:28,sha256:32,sha384:48,sha512:64,"sha512-256":32,ripemd160:20,rmd160:20},d={__proto__:null,"sha-1":"sha1","sha-224":"sha224","sha-256":"sha256","sha-384":"sha384","sha-512":"sha512","ripemd-160":"ripemd160"};function f(t){return(new r).update(t).digest()}function p(t,e,i){var r=function(t){return"rmd160"===t||"ripemd160"===t?f:"md5"===t?n:function(e){return o(t).update(e).digest()}}(t),a="sha512"===t||"sha384"===t?128:64;e.length>a?e=r(e):e.length=65&&i<=70?i-55:i>=97&&i<=102?i-87:i-48&15}function u(t,e,i){var n=a(t,i);return i-1>=e&&(n|=a(t,i-1)<<4),n}function c(t,e,i,n){for(var r=0,o=Math.min(t.length,i),s=e;s=49?a-49+10:a>=17?a-17+10:a}return r}o.isBN=function(t){return t instanceof o||null!==t&&"object"==typeof t&&t.constructor.wordSize===o.wordSize&&Array.isArray(t.words)},o.max=function(t,e){return t.cmp(e)>0?t:e},o.min=function(t,e){return t.cmp(e)<0?t:e},o.prototype._init=function(t,e,i){if("number"==typeof t)return this._initNumber(t,e,i);if("object"==typeof t)return this._initArray(t,e,i);"hex"===e&&(e=16),n(e===(0|e)&&e>=2&&e<=36);var r=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(r++,this.negative=1),r=0;r-=3)s=t[r]|t[r-1]<<8|t[r-2]<<16,this.words[o]|=s<>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);else if("le"===i)for(r=0,o=0;r>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);return this.strip()},o.prototype._parseHex=function(t,e,i){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var n=0;n=e;n-=2)r=u(t,e,n)<=18?(o-=18,s+=1,this.words[s]|=r>>>26):o+=8;else for(n=(t.length-e)%2==0?e+1:e;n=18?(o-=18,s+=1,this.words[s]|=r>>>26):o+=8;this.strip()},o.prototype._parseBase=function(t,e,i){this.words=[0],this.length=1;for(var n=0,r=1;r<=67108863;r*=e)n++;n--,r=r/e|0;for(var o=t.length-i,s=o%n,a=Math.min(o,o-s)+i,u=0,h=i;h1&&0===this.words[this.length-1];)this.length--;return this._normSign()},o.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},o.prototype.inspect=function(){return(this.red?""};var h=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],l=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],d=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function f(t,e,i){i.negative=e.negative^t.negative;var n=t.length+e.length|0;i.length=n,n=n-1|0;var r=0|t.words[0],o=0|e.words[0],s=r*o,a=67108863&s,u=s/67108864|0;i.words[0]=a;for(var c=1;c>>26,l=67108863&u,d=Math.min(c,e.length-1),f=Math.max(0,c-t.length+1);f<=d;f++){var p=c-f|0;h+=(s=(r=0|t.words[p])*(o=0|e.words[f])+l)/67108864|0,l=67108863&s}i.words[c]=0|l,u=0|h}return 0!==u?i.words[c]=0|u:i.length--,i.strip()}o.prototype.toString=function(t,e){var i;if(e=0|e||1,16===(t=t||10)||"hex"===t){i="";for(var r=0,o=0,s=0;s>>24-r&16777215,(r+=2)>=26&&(r-=26,s--),i=0!==o||s!==this.length-1?h[6-u.length]+u+i:u+i}for(0!==o&&(i=o.toString(16)+i);i.length%e!==0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}if(t===(0|t)&&t>=2&&t<=36){var c=l[t],f=d[t];i="";var p=this.clone();for(p.negative=0;!p.isZero();){var g=p.modn(f).toString(t);i=(p=p.idivn(f)).isZero()?g+i:h[c-g.length]+g+i}for(this.isZero()&&(i="0"+i);i.length%e!==0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}n(!1,"Base should be between 2 and 36")},o.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},o.prototype.toJSON=function(){return this.toString(16)},o.prototype.toBuffer=function(t,e){return n(void 0!==s),this.toArrayLike(s,t,e)},o.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},o.prototype.toArrayLike=function(t,e,i){var r=this.byteLength(),o=i||Math.max(1,r);n(r<=o,"byte array longer than desired length"),n(o>0,"Requested array length <= 0"),this.strip();var s,a,u="le"===e,c=new t(o),h=this.clone();if(u){for(a=0;!h.isZero();a++)s=h.andln(255),h.iushrn(8),c[a]=s;for(;a=4096&&(i+=13,e>>>=13),e>=64&&(i+=7,e>>>=7),e>=8&&(i+=4,e>>>=4),e>=2&&(i+=2,e>>>=2),i+e},o.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,i=0;return 8191&e||(i+=13,e>>>=13),127&e||(i+=7,e>>>=7),15&e||(i+=4,e>>>=4),3&e||(i+=2,e>>>=2),1&e||i++,i},o.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},o.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},o.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},o.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var i=0;it.length?this.clone().iand(t):t.clone().iand(this)},o.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},o.prototype.iuxor=function(t){var e,i;this.length>t.length?(e=this,i=t):(e=t,i=this);for(var n=0;nt.length?this.clone().ixor(t):t.clone().ixor(this)},o.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},o.prototype.inotn=function(t){n("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),i=t%26;this._expand(e),i>0&&e--;for(var r=0;r0&&(this.words[r]=~this.words[r]&67108863>>26-i),this.strip()},o.prototype.notn=function(t){return this.clone().inotn(t)},o.prototype.setn=function(t,e){n("number"==typeof t&&t>=0);var i=t/26|0,r=t%26;return this._expand(i+1),this.words[i]=e?this.words[i]|1<t.length?(i=this,n=t):(i=t,n=this);for(var r=0,o=0;o>>26;for(;0!==r&&o>>26;if(this.length=i.length,0!==r)this.words[this.length]=r,this.length++;else if(i!==this)for(;ot.length?this.clone().iadd(t):t.clone().iadd(this)},o.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var i,n,r=this.cmp(t);if(0===r)return this.negative=0,this.length=1,this.words[0]=0,this;r>0?(i=this,n=t):(i=t,n=this);for(var o=0,s=0;s>26,this.words[s]=67108863&e;for(;0!==o&&s>26,this.words[s]=67108863&e;if(0===o&&s>>13,f=0|s[1],p=8191&f,g=f>>>13,A=0|s[2],m=8191&A,v=A>>>13,b=0|s[3],y=8191&b,w=b>>>13,C=0|s[4],x=8191&C,k=C>>>13,_=0|s[5],M=8191&_,B=_>>>13,E=0|s[6],I=8191&E,S=E>>>13,D=0|s[7],T=8191&D,O=D>>>13,P=0|s[8],R=8191&P,z=P>>>13,N=0|s[9],H=8191&N,j=N>>>13,L=0|a[0],U=8191&L,q=L>>>13,F=0|a[1],W=8191&F,Y=F>>>13,Q=0|a[2],G=8191&Q,V=Q>>>13,K=0|a[3],X=8191&K,Z=K>>>13,J=0|a[4],$=8191&J,tt=J>>>13,et=0|a[5],it=8191&et,nt=et>>>13,rt=0|a[6],ot=8191&rt,st=rt>>>13,at=0|a[7],ut=8191&at,ct=at>>>13,ht=0|a[8],lt=8191&ht,dt=ht>>>13,ft=0|a[9],pt=8191&ft,gt=ft>>>13;i.negative=t.negative^e.negative,i.length=19;var At=(c+(n=Math.imul(l,U))|0)+((8191&(r=(r=Math.imul(l,q))+Math.imul(d,U)|0))<<13)|0;c=((o=Math.imul(d,q))+(r>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(p,U),r=(r=Math.imul(p,q))+Math.imul(g,U)|0,o=Math.imul(g,q);var mt=(c+(n=n+Math.imul(l,W)|0)|0)+((8191&(r=(r=r+Math.imul(l,Y)|0)+Math.imul(d,W)|0))<<13)|0;c=((o=o+Math.imul(d,Y)|0)+(r>>>13)|0)+(mt>>>26)|0,mt&=67108863,n=Math.imul(m,U),r=(r=Math.imul(m,q))+Math.imul(v,U)|0,o=Math.imul(v,q),n=n+Math.imul(p,W)|0,r=(r=r+Math.imul(p,Y)|0)+Math.imul(g,W)|0,o=o+Math.imul(g,Y)|0;var vt=(c+(n=n+Math.imul(l,G)|0)|0)+((8191&(r=(r=r+Math.imul(l,V)|0)+Math.imul(d,G)|0))<<13)|0;c=((o=o+Math.imul(d,V)|0)+(r>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(y,U),r=(r=Math.imul(y,q))+Math.imul(w,U)|0,o=Math.imul(w,q),n=n+Math.imul(m,W)|0,r=(r=r+Math.imul(m,Y)|0)+Math.imul(v,W)|0,o=o+Math.imul(v,Y)|0,n=n+Math.imul(p,G)|0,r=(r=r+Math.imul(p,V)|0)+Math.imul(g,G)|0,o=o+Math.imul(g,V)|0;var bt=(c+(n=n+Math.imul(l,X)|0)|0)+((8191&(r=(r=r+Math.imul(l,Z)|0)+Math.imul(d,X)|0))<<13)|0;c=((o=o+Math.imul(d,Z)|0)+(r>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(x,U),r=(r=Math.imul(x,q))+Math.imul(k,U)|0,o=Math.imul(k,q),n=n+Math.imul(y,W)|0,r=(r=r+Math.imul(y,Y)|0)+Math.imul(w,W)|0,o=o+Math.imul(w,Y)|0,n=n+Math.imul(m,G)|0,r=(r=r+Math.imul(m,V)|0)+Math.imul(v,G)|0,o=o+Math.imul(v,V)|0,n=n+Math.imul(p,X)|0,r=(r=r+Math.imul(p,Z)|0)+Math.imul(g,X)|0,o=o+Math.imul(g,Z)|0;var yt=(c+(n=n+Math.imul(l,$)|0)|0)+((8191&(r=(r=r+Math.imul(l,tt)|0)+Math.imul(d,$)|0))<<13)|0;c=((o=o+Math.imul(d,tt)|0)+(r>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(M,U),r=(r=Math.imul(M,q))+Math.imul(B,U)|0,o=Math.imul(B,q),n=n+Math.imul(x,W)|0,r=(r=r+Math.imul(x,Y)|0)+Math.imul(k,W)|0,o=o+Math.imul(k,Y)|0,n=n+Math.imul(y,G)|0,r=(r=r+Math.imul(y,V)|0)+Math.imul(w,G)|0,o=o+Math.imul(w,V)|0,n=n+Math.imul(m,X)|0,r=(r=r+Math.imul(m,Z)|0)+Math.imul(v,X)|0,o=o+Math.imul(v,Z)|0,n=n+Math.imul(p,$)|0,r=(r=r+Math.imul(p,tt)|0)+Math.imul(g,$)|0,o=o+Math.imul(g,tt)|0;var wt=(c+(n=n+Math.imul(l,it)|0)|0)+((8191&(r=(r=r+Math.imul(l,nt)|0)+Math.imul(d,it)|0))<<13)|0;c=((o=o+Math.imul(d,nt)|0)+(r>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(I,U),r=(r=Math.imul(I,q))+Math.imul(S,U)|0,o=Math.imul(S,q),n=n+Math.imul(M,W)|0,r=(r=r+Math.imul(M,Y)|0)+Math.imul(B,W)|0,o=o+Math.imul(B,Y)|0,n=n+Math.imul(x,G)|0,r=(r=r+Math.imul(x,V)|0)+Math.imul(k,G)|0,o=o+Math.imul(k,V)|0,n=n+Math.imul(y,X)|0,r=(r=r+Math.imul(y,Z)|0)+Math.imul(w,X)|0,o=o+Math.imul(w,Z)|0,n=n+Math.imul(m,$)|0,r=(r=r+Math.imul(m,tt)|0)+Math.imul(v,$)|0,o=o+Math.imul(v,tt)|0,n=n+Math.imul(p,it)|0,r=(r=r+Math.imul(p,nt)|0)+Math.imul(g,it)|0,o=o+Math.imul(g,nt)|0;var Ct=(c+(n=n+Math.imul(l,ot)|0)|0)+((8191&(r=(r=r+Math.imul(l,st)|0)+Math.imul(d,ot)|0))<<13)|0;c=((o=o+Math.imul(d,st)|0)+(r>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,n=Math.imul(T,U),r=(r=Math.imul(T,q))+Math.imul(O,U)|0,o=Math.imul(O,q),n=n+Math.imul(I,W)|0,r=(r=r+Math.imul(I,Y)|0)+Math.imul(S,W)|0,o=o+Math.imul(S,Y)|0,n=n+Math.imul(M,G)|0,r=(r=r+Math.imul(M,V)|0)+Math.imul(B,G)|0,o=o+Math.imul(B,V)|0,n=n+Math.imul(x,X)|0,r=(r=r+Math.imul(x,Z)|0)+Math.imul(k,X)|0,o=o+Math.imul(k,Z)|0,n=n+Math.imul(y,$)|0,r=(r=r+Math.imul(y,tt)|0)+Math.imul(w,$)|0,o=o+Math.imul(w,tt)|0,n=n+Math.imul(m,it)|0,r=(r=r+Math.imul(m,nt)|0)+Math.imul(v,it)|0,o=o+Math.imul(v,nt)|0,n=n+Math.imul(p,ot)|0,r=(r=r+Math.imul(p,st)|0)+Math.imul(g,ot)|0,o=o+Math.imul(g,st)|0;var xt=(c+(n=n+Math.imul(l,ut)|0)|0)+((8191&(r=(r=r+Math.imul(l,ct)|0)+Math.imul(d,ut)|0))<<13)|0;c=((o=o+Math.imul(d,ct)|0)+(r>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(R,U),r=(r=Math.imul(R,q))+Math.imul(z,U)|0,o=Math.imul(z,q),n=n+Math.imul(T,W)|0,r=(r=r+Math.imul(T,Y)|0)+Math.imul(O,W)|0,o=o+Math.imul(O,Y)|0,n=n+Math.imul(I,G)|0,r=(r=r+Math.imul(I,V)|0)+Math.imul(S,G)|0,o=o+Math.imul(S,V)|0,n=n+Math.imul(M,X)|0,r=(r=r+Math.imul(M,Z)|0)+Math.imul(B,X)|0,o=o+Math.imul(B,Z)|0,n=n+Math.imul(x,$)|0,r=(r=r+Math.imul(x,tt)|0)+Math.imul(k,$)|0,o=o+Math.imul(k,tt)|0,n=n+Math.imul(y,it)|0,r=(r=r+Math.imul(y,nt)|0)+Math.imul(w,it)|0,o=o+Math.imul(w,nt)|0,n=n+Math.imul(m,ot)|0,r=(r=r+Math.imul(m,st)|0)+Math.imul(v,ot)|0,o=o+Math.imul(v,st)|0,n=n+Math.imul(p,ut)|0,r=(r=r+Math.imul(p,ct)|0)+Math.imul(g,ut)|0,o=o+Math.imul(g,ct)|0;var kt=(c+(n=n+Math.imul(l,lt)|0)|0)+((8191&(r=(r=r+Math.imul(l,dt)|0)+Math.imul(d,lt)|0))<<13)|0;c=((o=o+Math.imul(d,dt)|0)+(r>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(H,U),r=(r=Math.imul(H,q))+Math.imul(j,U)|0,o=Math.imul(j,q),n=n+Math.imul(R,W)|0,r=(r=r+Math.imul(R,Y)|0)+Math.imul(z,W)|0,o=o+Math.imul(z,Y)|0,n=n+Math.imul(T,G)|0,r=(r=r+Math.imul(T,V)|0)+Math.imul(O,G)|0,o=o+Math.imul(O,V)|0,n=n+Math.imul(I,X)|0,r=(r=r+Math.imul(I,Z)|0)+Math.imul(S,X)|0,o=o+Math.imul(S,Z)|0,n=n+Math.imul(M,$)|0,r=(r=r+Math.imul(M,tt)|0)+Math.imul(B,$)|0,o=o+Math.imul(B,tt)|0,n=n+Math.imul(x,it)|0,r=(r=r+Math.imul(x,nt)|0)+Math.imul(k,it)|0,o=o+Math.imul(k,nt)|0,n=n+Math.imul(y,ot)|0,r=(r=r+Math.imul(y,st)|0)+Math.imul(w,ot)|0,o=o+Math.imul(w,st)|0,n=n+Math.imul(m,ut)|0,r=(r=r+Math.imul(m,ct)|0)+Math.imul(v,ut)|0,o=o+Math.imul(v,ct)|0,n=n+Math.imul(p,lt)|0,r=(r=r+Math.imul(p,dt)|0)+Math.imul(g,lt)|0,o=o+Math.imul(g,dt)|0;var _t=(c+(n=n+Math.imul(l,pt)|0)|0)+((8191&(r=(r=r+Math.imul(l,gt)|0)+Math.imul(d,pt)|0))<<13)|0;c=((o=o+Math.imul(d,gt)|0)+(r>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(H,W),r=(r=Math.imul(H,Y))+Math.imul(j,W)|0,o=Math.imul(j,Y),n=n+Math.imul(R,G)|0,r=(r=r+Math.imul(R,V)|0)+Math.imul(z,G)|0,o=o+Math.imul(z,V)|0,n=n+Math.imul(T,X)|0,r=(r=r+Math.imul(T,Z)|0)+Math.imul(O,X)|0,o=o+Math.imul(O,Z)|0,n=n+Math.imul(I,$)|0,r=(r=r+Math.imul(I,tt)|0)+Math.imul(S,$)|0,o=o+Math.imul(S,tt)|0,n=n+Math.imul(M,it)|0,r=(r=r+Math.imul(M,nt)|0)+Math.imul(B,it)|0,o=o+Math.imul(B,nt)|0,n=n+Math.imul(x,ot)|0,r=(r=r+Math.imul(x,st)|0)+Math.imul(k,ot)|0,o=o+Math.imul(k,st)|0,n=n+Math.imul(y,ut)|0,r=(r=r+Math.imul(y,ct)|0)+Math.imul(w,ut)|0,o=o+Math.imul(w,ct)|0,n=n+Math.imul(m,lt)|0,r=(r=r+Math.imul(m,dt)|0)+Math.imul(v,lt)|0,o=o+Math.imul(v,dt)|0;var Mt=(c+(n=n+Math.imul(p,pt)|0)|0)+((8191&(r=(r=r+Math.imul(p,gt)|0)+Math.imul(g,pt)|0))<<13)|0;c=((o=o+Math.imul(g,gt)|0)+(r>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(H,G),r=(r=Math.imul(H,V))+Math.imul(j,G)|0,o=Math.imul(j,V),n=n+Math.imul(R,X)|0,r=(r=r+Math.imul(R,Z)|0)+Math.imul(z,X)|0,o=o+Math.imul(z,Z)|0,n=n+Math.imul(T,$)|0,r=(r=r+Math.imul(T,tt)|0)+Math.imul(O,$)|0,o=o+Math.imul(O,tt)|0,n=n+Math.imul(I,it)|0,r=(r=r+Math.imul(I,nt)|0)+Math.imul(S,it)|0,o=o+Math.imul(S,nt)|0,n=n+Math.imul(M,ot)|0,r=(r=r+Math.imul(M,st)|0)+Math.imul(B,ot)|0,o=o+Math.imul(B,st)|0,n=n+Math.imul(x,ut)|0,r=(r=r+Math.imul(x,ct)|0)+Math.imul(k,ut)|0,o=o+Math.imul(k,ct)|0,n=n+Math.imul(y,lt)|0,r=(r=r+Math.imul(y,dt)|0)+Math.imul(w,lt)|0,o=o+Math.imul(w,dt)|0;var Bt=(c+(n=n+Math.imul(m,pt)|0)|0)+((8191&(r=(r=r+Math.imul(m,gt)|0)+Math.imul(v,pt)|0))<<13)|0;c=((o=o+Math.imul(v,gt)|0)+(r>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,n=Math.imul(H,X),r=(r=Math.imul(H,Z))+Math.imul(j,X)|0,o=Math.imul(j,Z),n=n+Math.imul(R,$)|0,r=(r=r+Math.imul(R,tt)|0)+Math.imul(z,$)|0,o=o+Math.imul(z,tt)|0,n=n+Math.imul(T,it)|0,r=(r=r+Math.imul(T,nt)|0)+Math.imul(O,it)|0,o=o+Math.imul(O,nt)|0,n=n+Math.imul(I,ot)|0,r=(r=r+Math.imul(I,st)|0)+Math.imul(S,ot)|0,o=o+Math.imul(S,st)|0,n=n+Math.imul(M,ut)|0,r=(r=r+Math.imul(M,ct)|0)+Math.imul(B,ut)|0,o=o+Math.imul(B,ct)|0,n=n+Math.imul(x,lt)|0,r=(r=r+Math.imul(x,dt)|0)+Math.imul(k,lt)|0,o=o+Math.imul(k,dt)|0;var Et=(c+(n=n+Math.imul(y,pt)|0)|0)+((8191&(r=(r=r+Math.imul(y,gt)|0)+Math.imul(w,pt)|0))<<13)|0;c=((o=o+Math.imul(w,gt)|0)+(r>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(H,$),r=(r=Math.imul(H,tt))+Math.imul(j,$)|0,o=Math.imul(j,tt),n=n+Math.imul(R,it)|0,r=(r=r+Math.imul(R,nt)|0)+Math.imul(z,it)|0,o=o+Math.imul(z,nt)|0,n=n+Math.imul(T,ot)|0,r=(r=r+Math.imul(T,st)|0)+Math.imul(O,ot)|0,o=o+Math.imul(O,st)|0,n=n+Math.imul(I,ut)|0,r=(r=r+Math.imul(I,ct)|0)+Math.imul(S,ut)|0,o=o+Math.imul(S,ct)|0,n=n+Math.imul(M,lt)|0,r=(r=r+Math.imul(M,dt)|0)+Math.imul(B,lt)|0,o=o+Math.imul(B,dt)|0;var It=(c+(n=n+Math.imul(x,pt)|0)|0)+((8191&(r=(r=r+Math.imul(x,gt)|0)+Math.imul(k,pt)|0))<<13)|0;c=((o=o+Math.imul(k,gt)|0)+(r>>>13)|0)+(It>>>26)|0,It&=67108863,n=Math.imul(H,it),r=(r=Math.imul(H,nt))+Math.imul(j,it)|0,o=Math.imul(j,nt),n=n+Math.imul(R,ot)|0,r=(r=r+Math.imul(R,st)|0)+Math.imul(z,ot)|0,o=o+Math.imul(z,st)|0,n=n+Math.imul(T,ut)|0,r=(r=r+Math.imul(T,ct)|0)+Math.imul(O,ut)|0,o=o+Math.imul(O,ct)|0,n=n+Math.imul(I,lt)|0,r=(r=r+Math.imul(I,dt)|0)+Math.imul(S,lt)|0,o=o+Math.imul(S,dt)|0;var St=(c+(n=n+Math.imul(M,pt)|0)|0)+((8191&(r=(r=r+Math.imul(M,gt)|0)+Math.imul(B,pt)|0))<<13)|0;c=((o=o+Math.imul(B,gt)|0)+(r>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(H,ot),r=(r=Math.imul(H,st))+Math.imul(j,ot)|0,o=Math.imul(j,st),n=n+Math.imul(R,ut)|0,r=(r=r+Math.imul(R,ct)|0)+Math.imul(z,ut)|0,o=o+Math.imul(z,ct)|0,n=n+Math.imul(T,lt)|0,r=(r=r+Math.imul(T,dt)|0)+Math.imul(O,lt)|0,o=o+Math.imul(O,dt)|0;var Dt=(c+(n=n+Math.imul(I,pt)|0)|0)+((8191&(r=(r=r+Math.imul(I,gt)|0)+Math.imul(S,pt)|0))<<13)|0;c=((o=o+Math.imul(S,gt)|0)+(r>>>13)|0)+(Dt>>>26)|0,Dt&=67108863,n=Math.imul(H,ut),r=(r=Math.imul(H,ct))+Math.imul(j,ut)|0,o=Math.imul(j,ct),n=n+Math.imul(R,lt)|0,r=(r=r+Math.imul(R,dt)|0)+Math.imul(z,lt)|0,o=o+Math.imul(z,dt)|0;var Tt=(c+(n=n+Math.imul(T,pt)|0)|0)+((8191&(r=(r=r+Math.imul(T,gt)|0)+Math.imul(O,pt)|0))<<13)|0;c=((o=o+Math.imul(O,gt)|0)+(r>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(H,lt),r=(r=Math.imul(H,dt))+Math.imul(j,lt)|0,o=Math.imul(j,dt);var Ot=(c+(n=n+Math.imul(R,pt)|0)|0)+((8191&(r=(r=r+Math.imul(R,gt)|0)+Math.imul(z,pt)|0))<<13)|0;c=((o=o+Math.imul(z,gt)|0)+(r>>>13)|0)+(Ot>>>26)|0,Ot&=67108863;var Pt=(c+(n=Math.imul(H,pt))|0)+((8191&(r=(r=Math.imul(H,gt))+Math.imul(j,pt)|0))<<13)|0;return c=((o=Math.imul(j,gt))+(r>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,u[0]=At,u[1]=mt,u[2]=vt,u[3]=bt,u[4]=yt,u[5]=wt,u[6]=Ct,u[7]=xt,u[8]=kt,u[9]=_t,u[10]=Mt,u[11]=Bt,u[12]=Et,u[13]=It,u[14]=St,u[15]=Dt,u[16]=Tt,u[17]=Ot,u[18]=Pt,0!==c&&(u[19]=c,i.length++),i};function g(t,e,i){return(new A).mulp(t,e,i)}function A(t,e){this.x=t,this.y=e}Math.imul||(p=f),o.prototype.mulTo=function(t,e){var i,n=this.length+t.length;return i=10===this.length&&10===t.length?p(this,t,e):n<63?f(this,t,e):n<1024?function(t,e,i){i.negative=e.negative^t.negative,i.length=t.length+e.length;for(var n=0,r=0,o=0;o>>26)|0)>>>26,s&=67108863}i.words[o]=a,n=s,s=r}return 0!==n?i.words[o]=n:i.length--,i.strip()}(this,t,e):g(this,t,e),i},A.prototype.makeRBT=function(t){for(var e=new Array(t),i=o.prototype._countBits(t)-1,n=0;n>=1;return n},A.prototype.permute=function(t,e,i,n,r,o){for(var s=0;s>>=1)r++;return 1<>>=13,i[2*s+1]=8191&o,o>>>=13;for(s=2*e;s>=26,e+=r/67108864|0,e+=o>>>26,this.words[i]=67108863&o}return 0!==e&&(this.words[i]=e,this.length++),this.length=0===t?1:this.length,this},o.prototype.muln=function(t){return this.clone().imuln(t)},o.prototype.sqr=function(){return this.mul(this)},o.prototype.isqr=function(){return this.imul(this.clone())},o.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),i=0;i>>r}return e}(t);if(0===e.length)return new o(1);for(var i=this,n=0;n=0);var e,i=t%26,r=(t-i)/26,o=67108863>>>26-i<<26-i;if(0!==i){var s=0;for(e=0;e>>26-i}s&&(this.words[e]=s,this.length++)}if(0!==r){for(e=this.length-1;e>=0;e--)this.words[e+r]=this.words[e];for(e=0;e=0),r=e?(e-e%26)/26:0;var o=t%26,s=Math.min((t-o)/26,this.length),a=67108863^67108863>>>o<s)for(this.length-=s,c=0;c=0&&(0!==h||c>=r);c--){var l=0|this.words[c];this.words[c]=h<<26-o|l>>>o,h=l&a}return u&&0!==h&&(u.words[u.length++]=h),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},o.prototype.ishrn=function(t,e,i){return n(0===this.negative),this.iushrn(t,e,i)},o.prototype.shln=function(t){return this.clone().ishln(t)},o.prototype.ushln=function(t){return this.clone().iushln(t)},o.prototype.shrn=function(t){return this.clone().ishrn(t)},o.prototype.ushrn=function(t){return this.clone().iushrn(t)},o.prototype.testn=function(t){n("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26,r=1<=0);var e=t%26,i=(t-e)/26;if(n(0===this.negative,"imaskn works only with positive numbers"),this.length<=i)return this;if(0!==e&&i++,this.length=Math.min(i,this.length),0!==e){var r=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},o.prototype.isubn=function(t){if(n("number"==typeof t),n(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(u/67108864|0),this.words[r+i]=67108863&o}for(;r>26,this.words[r+i]=67108863&o;if(0===a)return this.strip();for(n(-1===a),a=0,r=0;r>26,this.words[r]=67108863&o;return this.negative=1,this.strip()},o.prototype._wordDiv=function(t,e){var i=(this.length,t.length),n=this.clone(),r=t,s=0|r.words[r.length-1];0!=(i=26-this._countBits(s))&&(r=r.ushln(i),n.iushln(i),s=0|r.words[r.length-1]);var a,u=n.length-r.length;if("mod"!==e){(a=new o(null)).length=u+1,a.words=new Array(a.length);for(var c=0;c=0;l--){var d=67108864*(0|n.words[r.length+l])+(0|n.words[r.length+l-1]);for(d=Math.min(d/s|0,67108863),n._ishlnsubmul(r,d,l);0!==n.negative;)d--,n.negative=0,n._ishlnsubmul(r,1,l),n.isZero()||(n.negative^=1);a&&(a.words[l]=d)}return a&&a.strip(),n.strip(),"div"!==e&&0!==i&&n.iushrn(i),{div:a||null,mod:n}},o.prototype.divmod=function(t,e,i){return n(!t.isZero()),this.isZero()?{div:new o(0),mod:new o(0)}:0!==this.negative&&0===t.negative?(a=this.neg().divmod(t,e),"mod"!==e&&(r=a.div.neg()),"div"!==e&&(s=a.mod.neg(),i&&0!==s.negative&&s.iadd(t)),{div:r,mod:s}):0===this.negative&&0!==t.negative?(a=this.divmod(t.neg(),e),"mod"!==e&&(r=a.div.neg()),{div:r,mod:a.mod}):0!==(this.negative&t.negative)?(a=this.neg().divmod(t.neg(),e),"div"!==e&&(s=a.mod.neg(),i&&0!==s.negative&&s.isub(t)),{div:a.div,mod:s}):t.length>this.length||this.cmp(t)<0?{div:new o(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new o(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new o(this.modn(t.words[0]))}:this._wordDiv(t,e);var r,s,a},o.prototype.div=function(t){return this.divmod(t,"div",!1).div},o.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},o.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},o.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var i=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),r=t.andln(1),o=i.cmp(n);return o<0||1===r&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},o.prototype.modn=function(t){n(t<=67108863);for(var e=(1<<26)%t,i=0,r=this.length-1;r>=0;r--)i=(e*i+(0|this.words[r]))%t;return i},o.prototype.idivn=function(t){n(t<=67108863);for(var e=0,i=this.length-1;i>=0;i--){var r=(0|this.words[i])+67108864*e;this.words[i]=r/t|0,e=r%t}return this.strip()},o.prototype.divn=function(t){return this.clone().idivn(t)},o.prototype.egcd=function(t){n(0===t.negative),n(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var r=new o(1),s=new o(0),a=new o(0),u=new o(1),c=0;e.isEven()&&i.isEven();)e.iushrn(1),i.iushrn(1),++c;for(var h=i.clone(),l=e.clone();!e.isZero();){for(var d=0,f=1;0===(e.words[0]&f)&&d<26;++d,f<<=1);if(d>0)for(e.iushrn(d);d-- >0;)(r.isOdd()||s.isOdd())&&(r.iadd(h),s.isub(l)),r.iushrn(1),s.iushrn(1);for(var p=0,g=1;0===(i.words[0]&g)&&p<26;++p,g<<=1);if(p>0)for(i.iushrn(p);p-- >0;)(a.isOdd()||u.isOdd())&&(a.iadd(h),u.isub(l)),a.iushrn(1),u.iushrn(1);e.cmp(i)>=0?(e.isub(i),r.isub(a),s.isub(u)):(i.isub(e),a.isub(r),u.isub(s))}return{a,b:u,gcd:i.iushln(c)}},o.prototype._invmp=function(t){n(0===t.negative),n(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var r,s=new o(1),a=new o(0),u=i.clone();e.cmpn(1)>0&&i.cmpn(1)>0;){for(var c=0,h=1;0===(e.words[0]&h)&&c<26;++c,h<<=1);if(c>0)for(e.iushrn(c);c-- >0;)s.isOdd()&&s.iadd(u),s.iushrn(1);for(var l=0,d=1;0===(i.words[0]&d)&&l<26;++l,d<<=1);if(l>0)for(i.iushrn(l);l-- >0;)a.isOdd()&&a.iadd(u),a.iushrn(1);e.cmp(i)>=0?(e.isub(i),s.isub(a)):(i.isub(e),a.isub(s))}return(r=0===e.cmpn(1)?s:a).cmpn(0)<0&&r.iadd(t),r},o.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),i=t.clone();e.negative=0,i.negative=0;for(var n=0;e.isEven()&&i.isEven();n++)e.iushrn(1),i.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;i.isEven();)i.iushrn(1);var r=e.cmp(i);if(r<0){var o=e;e=i,i=o}else if(0===r||0===i.cmpn(1))break;e.isub(i)}return i.iushln(n)},o.prototype.invm=function(t){return this.egcd(t).a.umod(t)},o.prototype.isEven=function(){return!(1&this.words[0])},o.prototype.isOdd=function(){return!(1&~this.words[0])},o.prototype.andln=function(t){return this.words[0]&t},o.prototype.bincn=function(t){n("number"==typeof t);var e=t%26,i=(t-e)/26,r=1<>>26,a&=67108863,this.words[s]=a}return 0!==o&&(this.words[s]=o,this.length++),this},o.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},o.prototype.cmpn=function(t){var e,i=t<0;if(0!==this.negative&&!i)return-1;if(0===this.negative&&i)return 1;if(this.strip(),this.length>1)e=1;else{i&&(t=-t),n(t<=67108863,"Number is too big");var r=0|this.words[0];e=r===t?0:rt.length)return 1;if(this.length=0;i--){var n=0|this.words[i],r=0|t.words[i];if(n!==r){nr&&(e=1);break}}return e},o.prototype.gtn=function(t){return 1===this.cmpn(t)},o.prototype.gt=function(t){return 1===this.cmp(t)},o.prototype.gten=function(t){return this.cmpn(t)>=0},o.prototype.gte=function(t){return this.cmp(t)>=0},o.prototype.ltn=function(t){return-1===this.cmpn(t)},o.prototype.lt=function(t){return-1===this.cmp(t)},o.prototype.lten=function(t){return this.cmpn(t)<=0},o.prototype.lte=function(t){return this.cmp(t)<=0},o.prototype.eqn=function(t){return 0===this.cmpn(t)},o.prototype.eq=function(t){return 0===this.cmp(t)},o.red=function(t){return new x(t)},o.prototype.toRed=function(t){return n(!this.red,"Already a number in reduction context"),n(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},o.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},o.prototype._forceRed=function(t){return this.red=t,this},o.prototype.forceRed=function(t){return n(!this.red,"Already a number in reduction context"),this._forceRed(t)},o.prototype.redAdd=function(t){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},o.prototype.redIAdd=function(t){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},o.prototype.redSub=function(t){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},o.prototype.redISub=function(t){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},o.prototype.redShl=function(t){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},o.prototype.redMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},o.prototype.redIMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},o.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},o.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},o.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},o.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},o.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},o.prototype.redPow=function(t){return n(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var m={k256:null,p224:null,p192:null,p25519:null};function v(t,e){this.name=t,this.p=new o(e,16),this.n=this.p.bitLength(),this.k=new o(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function b(){v.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function y(){v.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function w(){v.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function C(){v.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function x(t){if("string"==typeof t){var e=o._prime(t);this.m=e.p,this.prime=e}else n(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function k(t){x.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new o(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}v.prototype._tmp=function(){var t=new o(null);return t.words=new Array(Math.ceil(this.n/13)),t},v.prototype.ireduce=function(t){var e,i=t;do{this.split(i,this.tmp),e=(i=(i=this.imulK(i)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e0?i.isub(this.p):void 0!==i.strip?i.strip():i._strip(),i},v.prototype.split=function(t,e){t.iushrn(this.n,0,e)},v.prototype.imulK=function(t){return t.imul(this.k)},r(b,v),b.prototype.split=function(t,e){for(var i=4194303,n=Math.min(t.length,9),r=0;r>>22,o=s}o>>>=22,t.words[r-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},b.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,i=0;i>>=26,t.words[i]=r,e=n}return 0!==e&&(t.words[t.length++]=e),t},o._prime=function(t){if(m[t])return m[t];var e;if("k256"===t)e=new b;else if("p224"===t)e=new y;else if("p192"===t)e=new w;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new C}return m[t]=e,e},x.prototype._verify1=function(t){n(0===t.negative,"red works only with positives"),n(t.red,"red works only with red numbers")},x.prototype._verify2=function(t,e){n(0===(t.negative|e.negative),"red works only with positives"),n(t.red&&t.red===e.red,"red works only with red numbers")},x.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},x.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},x.prototype.add=function(t,e){this._verify2(t,e);var i=t.add(e);return i.cmp(this.m)>=0&&i.isub(this.m),i._forceRed(this)},x.prototype.iadd=function(t,e){this._verify2(t,e);var i=t.iadd(e);return i.cmp(this.m)>=0&&i.isub(this.m),i},x.prototype.sub=function(t,e){this._verify2(t,e);var i=t.sub(e);return i.cmpn(0)<0&&i.iadd(this.m),i._forceRed(this)},x.prototype.isub=function(t,e){this._verify2(t,e);var i=t.isub(e);return i.cmpn(0)<0&&i.iadd(this.m),i},x.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},x.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},x.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},x.prototype.isqr=function(t){return this.imul(t,t.clone())},x.prototype.sqr=function(t){return this.mul(t,t)},x.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(n(e%2==1),3===e){var i=this.m.add(new o(1)).iushrn(2);return this.pow(t,i)}for(var r=this.m.subn(1),s=0;!r.isZero()&&0===r.andln(1);)s++,r.iushrn(1);n(!r.isZero());var a=new o(1).toRed(this),u=a.redNeg(),c=this.m.subn(1).iushrn(1),h=this.m.bitLength();for(h=new o(2*h*h).toRed(this);0!==this.pow(h,c).cmp(u);)h.redIAdd(u);for(var l=this.pow(h,r),d=this.pow(t,r.addn(1).iushrn(1)),f=this.pow(t,r),p=s;0!==f.cmp(a);){for(var g=f,A=0;0!==g.cmp(a);A++)g=g.redSqr();n(A=0;n--){for(var c=e.words[n],h=u-1;h>=0;h--){var l=c>>h&1;r!==i[0]&&(r=this.sqr(r)),0!==l||0!==s?(s<<=1,s|=l,(4===++a||0===n&&0===h)&&(r=this.mul(r,i[s]),a=0,s=0)):a=0}u=26}return r},x.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},x.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},o.mont=function(t){return new k(t)},r(k,x),k.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},k.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},k.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var i=t.imul(e),n=i.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),r=i.isub(n).iushrn(this.shift),o=r;return r.cmp(this.m)>=0?o=r.isub(this.m):r.cmpn(0)<0&&(o=r.iadd(this.m)),o._forceRed(this)},k.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new o(0)._forceRed(this);var i=t.mul(e),n=i.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),r=i.isub(n).iushrn(this.shift),s=r;return r.cmp(this.m)>=0?s=r.isub(this.m):r.cmpn(0)<0&&(s=r.iadd(this.m)),s._forceRed(this)},k.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(t=i.nmd(t),this)},77362(t,e,i){var n=i(78170),r=i(48206),o=i(52061),s=i(82509),a=i(67332),u=i(47108),c=i(99247),h=i(92861).Buffer;t.exports=function(t,e,i){var l;l=t.padding?t.padding:i?1:4;var d,f=n(t),p=f.modulus.byteLength();if(e.length>p||new s(e).cmp(f.modulus)>=0)throw new Error("decryption error");d=i?c(new s(e),f):a(e,f);var g=h.alloc(p-d.length);if(d=h.concat([g,d],p),4===l)return function(t,e){var i=t.modulus.byteLength(),n=u("sha1").update(h.alloc(0)).digest(),s=n.length;if(0!==e[0])throw new Error("decryption error");var a=e.slice(1,s+1),c=e.slice(s+1),l=o(a,r(c,s)),d=o(c,r(l,i-s-1));if(function(t,e){t=h.from(t),e=h.from(e);var i=0,n=t.length;t.length!==e.length&&(i++,n=Math.min(t.length,e.length));for(var r=-1;++r=e.length){o++;break}var s=e.slice(2,r-1);if(("0002"!==n.toString("hex")&&!i||"0001"!==n.toString("hex")&&i)&&o++,s.length<8&&o++,o)throw new Error("decryption error");return e.slice(r)}(0,d,i);if(3===l)return d;throw new Error("unknown padding")}},28902(t,e,i){var n=i(78170),r=i(53209),o=i(47108),s=i(48206),a=i(52061),u=i(82509),c=i(99247),h=i(67332),l=i(92861).Buffer;t.exports=function(t,e,i){var d;d=t.padding?t.padding:i?1:4;var f,p=n(t);if(4===d)f=function(t,e){var i=t.modulus.byteLength(),n=e.length,c=o("sha1").update(l.alloc(0)).digest(),h=c.length,d=2*h;if(n>i-d-2)throw new Error("message too long");var f=l.alloc(i-n-d-2),p=i-h-1,g=r(h),A=a(l.concat([c,f,l.alloc(1,1),e],p),s(g,p)),m=a(g,s(A,h));return new u(l.concat([l.alloc(1),m,A],i))}(p,e);else if(1===d)f=function(t,e,i){var n,o=e.length,s=t.modulus.byteLength();if(o>s-11)throw new Error("message too long");return n=i?l.alloc(s-o-3,255):function(t){for(var e,i=l.allocUnsafe(t),n=0,o=r(2*t),s=0;n=0)throw new Error("data too long for modulus")}return i?h(f,p):c(f,p)}},99247(t,e,i){var n=i(82509),r=i(92861).Buffer;t.exports=function(t,e){return r.from(t.toRed(n.mont(e.modulus)).redPow(new n(e.publicExponent)).fromRed().toArray())}},52061(t){t.exports=function(t,e){for(var i=t.length,n=-1;++n4294967295)throw new RangeError("requested too many random bytes");var i=o.allocUnsafe(t);if(t>0)if(t>r)for(var a=0;ah||t<0)throw new TypeError("offset must be a uint32");if(t>u||t>e)throw new RangeError("offset out of range")}function d(t,e,i){if("number"!=typeof t||t!=t)throw new TypeError("size must be a number");if(t>h||t<0)throw new TypeError("size must be a uint32");if(t+e>i||t>u)throw new RangeError("buffer too small")}function f(t,e,i,r){if(n.browser){var o=t.buffer,a=new Uint8Array(o,e,i);return c.getRandomValues(a),r?void n.nextTick(function(){r(null,t)}):t}if(!r)return s(i).copy(t,e),t;s(i,function(i,n){if(i)return r(i);n.copy(t,e),r(null,t)})}c&&c.getRandomValues||!n.browser?(e.randomFill=function(t,e,i,n){if(!(a.isBuffer(t)||t instanceof globalThis.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');if("function"==typeof e)n=e,e=0,i=t.length;else if("function"==typeof i)n=i,i=t.length-e;else if("function"!=typeof n)throw new TypeError('"cb" argument must be a function');return l(e,t.length),d(i,e,t.length),f(t,e,i,n)},e.randomFillSync=function(t,e,i){if(void 0===e&&(e=0),!(a.isBuffer(t)||t instanceof globalThis.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');return l(e,t.length),void 0===i&&(i=t.length-e),d(i,e,t.length),f(t,e,i)}):(e.randomFill=r,e.randomFillSync=r)},25382(t,e,i){"use strict";var n=i(33225),r=Object.keys||function(t){var e=[];for(var i in t)e.push(i);return e};t.exports=l;var o=Object.create(i(15622));o.inherits=i(56698);var s=i(45412),a=i(16708);o.inherits(l,s);for(var u=r(a.prototype),c=0;c0?("string"==typeof e||s.objectMode||Object.getPrototypeOf(e)===c.prototype||(e=function(t){return c.from(t)}(e)),n?s.endEmitted?t.emit("error",new Error("stream.unshift() after end event")):w(t,s,e,!0):s.ended?t.emit("error",new Error("stream.push() after EOF")):(s.reading=!1,s.decoder&&!i?(e=s.decoder.write(e),s.objectMode||0!==e.length?w(t,s,e,!1):M(t,s)):w(t,s,e,!1))):n||(s.reading=!1)),function(t){return!t.ended&&(t.needReadable||t.lengthe.highWaterMark&&(e.highWaterMark=function(t){return t>=C?t=C:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}function k(t){var e=t._readableState;e.needReadable=!1,e.emittedReadable||(f("emitReadable",e.flowing),e.emittedReadable=!0,e.sync?r.nextTick(_,t):_(t))}function _(t){f("emit readable"),t.emit("readable"),S(t)}function M(t,e){e.readingMore||(e.readingMore=!0,r.nextTick(B,t,e))}function B(t,e){for(var i=e.length;!e.reading&&!e.flowing&&!e.ended&&e.length=e.length?(i=e.decoder?e.buffer.join(""):1===e.buffer.length?e.buffer.head.data:e.buffer.concat(e.length),e.buffer.clear()):i=function(t,e,i){var n;return to.length?o.length:t;if(s===o.length?r+=o:r+=o.slice(0,t),0===(t-=s)){s===o.length?(++n,i.next?e.head=i.next:e.head=e.tail=null):(e.head=i,i.data=o.slice(s));break}++n}return e.length-=n,r}(t,e):function(t,e){var i=c.allocUnsafe(t),n=e.head,r=1;for(n.data.copy(i),t-=n.data.length;n=n.next;){var o=n.data,s=t>o.length?o.length:t;if(o.copy(i,i.length-t,0,s),0===(t-=s)){s===o.length?(++r,n.next?e.head=n.next:e.head=e.tail=null):(e.head=n,n.data=o.slice(s));break}++r}return e.length-=r,i}(t,e),n}(t,e.buffer,e.decoder),i);var i}function T(t){var e=t._readableState;if(e.length>0)throw new Error('"endReadable()" called on non-empty stream');e.endEmitted||(e.ended=!0,r.nextTick(O,e,t))}function O(t,e){t.endEmitted||0!==t.length||(t.endEmitted=!0,e.readable=!1,e.emit("end"))}function P(t,e){for(var i=0,n=t.length;i=e.highWaterMark||e.ended))return f("read: emitReadable",e.length,e.ended),0===e.length&&e.ended?T(this):k(this),null;if(0===(t=x(t,e))&&e.ended)return 0===e.length&&T(this),null;var n,r=e.needReadable;return f("need readable",r),(0===e.length||e.length-t0?D(t,e):null)?(e.needReadable=!0,t=0):e.length-=t,0===e.length&&(e.ended||(e.needReadable=!0),i!==t&&e.ended&&T(this)),null!==n&&this.emit("data",n),n},b.prototype._read=function(t){this.emit("error",new Error("_read() is not implemented"))},b.prototype.pipe=function(t,e){var i=this,o=this._readableState;switch(o.pipesCount){case 0:o.pipes=t;break;case 1:o.pipes=[o.pipes,t];break;default:o.pipes.push(t)}o.pipesCount+=1,f("pipe count=%d opts=%j",o.pipesCount,e);var u=e&&!1===e.end||t===n.stdout||t===n.stderr?v:c;function c(){f("onend"),t.end()}o.endEmitted?r.nextTick(u):i.once("end",u),t.on("unpipe",function e(n,r){f("onunpipe"),n===i&&r&&!1===r.hasUnpiped&&(r.hasUnpiped=!0,f("cleanup"),t.removeListener("close",A),t.removeListener("finish",m),t.removeListener("drain",h),t.removeListener("error",g),t.removeListener("unpipe",e),i.removeListener("end",c),i.removeListener("end",v),i.removeListener("data",p),l=!0,!o.awaitDrain||t._writableState&&!t._writableState.needDrain||h())});var h=function(t){return function(){var e=t._readableState;f("pipeOnDrain",e.awaitDrain),e.awaitDrain&&e.awaitDrain--,0===e.awaitDrain&&a(t,"data")&&(e.flowing=!0,S(t))}}(i);t.on("drain",h);var l=!1,d=!1;function p(e){f("ondata"),d=!1,!1!==t.write(e)||d||((1===o.pipesCount&&o.pipes===t||o.pipesCount>1&&-1!==P(o.pipes,t))&&!l&&(f("false write response, pause",o.awaitDrain),o.awaitDrain++,d=!0),i.pause())}function g(e){f("onerror",e),v(),t.removeListener("error",g),0===a(t,"error")&&t.emit("error",e)}function A(){t.removeListener("finish",m),v()}function m(){f("onfinish"),t.removeListener("close",A),v()}function v(){f("unpipe"),i.unpipe(t)}return i.on("data",p),function(t,e,i){if("function"==typeof t.prependListener)return t.prependListener(e,i);t._events&&t._events[e]?s(t._events[e])?t._events[e].unshift(i):t._events[e]=[i,t._events[e]]:t.on(e,i)}(t,"error",g),t.once("close",A),t.once("finish",m),t.emit("pipe",i),o.flowing||(f("pipe resume"),i.resume()),t},b.prototype.unpipe=function(t){var e=this._readableState,i={hasUnpiped:!1};if(0===e.pipesCount)return this;if(1===e.pipesCount)return t&&t!==e.pipes||(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,i)),this;if(!t){var n=e.pipes,r=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var o=0;o-1?setImmediate:r.nextTick;m.WritableState=A;var u=Object.create(i(15622));u.inherits=i(56698);var c,h={deprecate:i(94643)},l=i(40345),d=i(34106).Buffer,f=("undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof self?self:{}).Uint8Array||function(){},p=i(75896);function g(){}function A(t,e){s=s||i(25382),t=t||{};var n=e instanceof s;this.objectMode=!!t.objectMode,n&&(this.objectMode=this.objectMode||!!t.writableObjectMode);var u=t.highWaterMark,c=t.writableHighWaterMark,h=this.objectMode?16:16384;this.highWaterMark=u||0===u?u:n&&(c||0===c)?c:h,this.highWaterMark=Math.floor(this.highWaterMark),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var l=!1===t.decodeStrings;this.decodeStrings=!l,this.defaultEncoding=t.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(t){!function(t,e){var i=t._writableState,n=i.sync,o=i.writecb;if(function(t){t.writing=!1,t.writecb=null,t.length-=t.writelen,t.writelen=0}(i),e)!function(t,e,i,n,o){--e.pendingcb,i?(r.nextTick(o,n),r.nextTick(x,t,e),t._writableState.errorEmitted=!0,t.emit("error",n)):(o(n),t._writableState.errorEmitted=!0,t.emit("error",n),x(t,e))}(t,i,n,e,o);else{var s=w(i);s||i.corked||i.bufferProcessing||!i.bufferedRequest||y(t,i),n?a(b,t,i,s,o):b(t,i,s,o)}}(e,t)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new o(this)}function m(t){if(s=s||i(25382),!(c.call(m,this)||this instanceof s))return new m(t);this._writableState=new A(t,this),this.writable=!0,t&&("function"==typeof t.write&&(this._write=t.write),"function"==typeof t.writev&&(this._writev=t.writev),"function"==typeof t.destroy&&(this._destroy=t.destroy),"function"==typeof t.final&&(this._final=t.final)),l.call(this)}function v(t,e,i,n,r,o,s){e.writelen=n,e.writecb=s,e.writing=!0,e.sync=!0,i?t._writev(r,e.onwrite):t._write(r,o,e.onwrite),e.sync=!1}function b(t,e,i,n){i||function(t,e){0===e.length&&e.needDrain&&(e.needDrain=!1,t.emit("drain"))}(t,e),e.pendingcb--,n(),x(t,e)}function y(t,e){e.bufferProcessing=!0;var i=e.bufferedRequest;if(t._writev&&i&&i.next){var n=e.bufferedRequestCount,r=new Array(n),s=e.corkedRequestsFree;s.entry=i;for(var a=0,u=!0;i;)r[a]=i,i.isBuf||(u=!1),i=i.next,a+=1;r.allBuffers=u,v(t,e,!0,e.length,r,"",s.finish),e.pendingcb++,e.lastBufferedRequest=null,s.next?(e.corkedRequestsFree=s.next,s.next=null):e.corkedRequestsFree=new o(e),e.bufferedRequestCount=0}else{for(;i;){var c=i.chunk,h=i.encoding,l=i.callback;if(v(t,e,!1,e.objectMode?1:c.length,c,h,l),i=i.next,e.bufferedRequestCount--,e.writing)break}null===i&&(e.lastBufferedRequest=null)}e.bufferedRequest=i,e.bufferProcessing=!1}function w(t){return t.ending&&0===t.length&&null===t.bufferedRequest&&!t.finished&&!t.writing}function C(t,e){t._final(function(i){e.pendingcb--,i&&t.emit("error",i),e.prefinished=!0,t.emit("prefinish"),x(t,e)})}function x(t,e){var i=w(e);return i&&(function(t,e){e.prefinished||e.finalCalled||("function"==typeof t._final?(e.pendingcb++,e.finalCalled=!0,r.nextTick(C,t,e)):(e.prefinished=!0,t.emit("prefinish")))}(t,e),0===e.pendingcb&&(e.finished=!0,t.emit("finish"))),i}u.inherits(m,l),A.prototype.getBuffer=function(){for(var t=this.bufferedRequest,e=[];t;)e.push(t),t=t.next;return e},function(){try{Object.defineProperty(A.prototype,"buffer",{get:h.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(t){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(c=Function.prototype[Symbol.hasInstance],Object.defineProperty(m,Symbol.hasInstance,{value:function(t){return!!c.call(this,t)||this===m&&t&&t._writableState instanceof A}})):c=function(t){return t instanceof this},m.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))},m.prototype.write=function(t,e,i){var n,o=this._writableState,s=!1,a=!o.objectMode&&(n=t,d.isBuffer(n)||n instanceof f);return a&&!d.isBuffer(t)&&(t=function(t){return d.from(t)}(t)),"function"==typeof e&&(i=e,e=null),a?e="buffer":e||(e=o.defaultEncoding),"function"!=typeof i&&(i=g),o.ended?function(t,e){var i=new Error("write after end");t.emit("error",i),r.nextTick(e,i)}(this,i):(a||function(t,e,i,n){var o=!0,s=!1;return null===i?s=new TypeError("May not write null values to stream"):"string"==typeof i||void 0===i||e.objectMode||(s=new TypeError("Invalid non-string/buffer chunk")),s&&(t.emit("error",s),r.nextTick(n,s),o=!1),o}(this,o,t,i))&&(o.pendingcb++,s=function(t,e,i,n,r,o){if(!i){var s=function(t,e,i){return t.objectMode||!1===t.decodeStrings||"string"!=typeof e||(e=d.from(e,i)),e}(e,n,r);n!==s&&(i=!0,r="buffer",n=s)}var a=e.objectMode?1:n.length;e.length+=a;var u=e.length-1))throw new TypeError("Unknown encoding: "+t);return this._writableState.defaultEncoding=t,this},Object.defineProperty(m.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),m.prototype._write=function(t,e,i){i(new Error("_write() is not implemented"))},m.prototype._writev=null,m.prototype.end=function(t,e,i){var n=this._writableState;"function"==typeof t?(i=t,t=null,e=null):"function"==typeof e&&(i=e,e=null),null!=t&&this.write(t,e),n.corked&&(n.corked=1,this.uncork()),n.ending||function(t,e,i){e.ending=!0,x(t,e),i&&(e.finished?r.nextTick(i):t.once("finish",i)),e.ended=!0,t.writable=!1}(this,n,i)},Object.defineProperty(m.prototype,"destroyed",{get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(t){this._writableState&&(this._writableState.destroyed=t)}}),m.prototype.destroy=p.destroy,m.prototype._undestroy=p.undestroy,m.prototype._destroy=function(t,e){this.end(),e(t)}},83222(t,e,i){"use strict";var n=i(34106).Buffer,r=i(15340);function o(t,e,i){t.copy(e,i)}t.exports=function(){function t(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.head=null,this.tail=null,this.length=0}return t.prototype.push=function(t){var e={data:t,next:null};this.length>0?this.tail.next=e:this.head=e,this.tail=e,++this.length},t.prototype.unshift=function(t){var e={data:t,next:this.head};0===this.length&&(this.tail=e),this.head=e,++this.length},t.prototype.shift=function(){if(0!==this.length){var t=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,t}},t.prototype.clear=function(){this.head=this.tail=null,this.length=0},t.prototype.join=function(t){if(0===this.length)return"";for(var e=this.head,i=""+e.data;e=e.next;)i+=t+e.data;return i},t.prototype.concat=function(t){if(0===this.length)return n.alloc(0);for(var e=n.allocUnsafe(t>>>0),i=this.head,r=0;i;)o(i.data,e,r),r+=i.data.length,i=i.next;return e},t}(),r&&r.inspect&&r.inspect.custom&&(t.exports.prototype[r.inspect.custom]=function(){var t=r.inspect({length:this.length});return this.constructor.name+" "+t})},75896(t,e,i){"use strict";var n=i(33225);function r(t,e){t.emit("error",e)}t.exports={destroy:function(t,e){var i=this,o=this._readableState&&this._readableState.destroyed,s=this._writableState&&this._writableState.destroyed;return o||s?(e?e(t):t&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,n.nextTick(r,this,t)):n.nextTick(r,this,t)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(t||null,function(t){!e&&t?i._writableState?i._writableState.errorEmitted||(i._writableState.errorEmitted=!0,n.nextTick(r,i,t)):n.nextTick(r,i,t):e&&e(t)}),this)},undestroy:function(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}}},40345(t,e,i){t.exports=i(37007).EventEmitter},34106(t,e,i){var n=i(1048),r=n.Buffer;function o(t,e){for(var i in t)e[i]=t[i]}function s(t,e,i){return r(t,e,i)}r.from&&r.alloc&&r.allocUnsafe&&r.allocUnsafeSlow?t.exports=n:(o(n,e),e.Buffer=s),o(r,s),s.from=function(t,e,i){if("number"==typeof t)throw new TypeError("Argument must not be a number");return r(t,e,i)},s.alloc=function(t,e,i){if("number"!=typeof t)throw new TypeError("Argument must be a number");var n=r(t);return void 0!==e?"string"==typeof i?n.fill(e,i):n.fill(e):n.fill(0),n},s.allocUnsafe=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return r(t)},s.allocUnsafeSlow=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return n.SlowBuffer(t)}},79490(t,e,i){"use strict";var n=i(34106).Buffer,r=n.isEncoding||function(t){switch((t=""+t)&&t.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function o(t){var e;switch(this.encoding=function(t){var e=function(t){if(!t)return"utf8";for(var e;;)switch(t){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return t;default:if(e)return;t=(""+t).toLowerCase(),e=!0}}(t);if("string"!=typeof e&&(n.isEncoding===r||!r(t)))throw new Error("Unknown encoding: "+t);return e||t}(t),this.encoding){case"utf16le":this.text=u,this.end=c,e=4;break;case"utf8":this.fillLast=a,e=4;break;case"base64":this.text=h,this.end=l,e=3;break;default:return this.write=d,void(this.end=f)}this.lastNeed=0,this.lastTotal=0,this.lastChar=n.allocUnsafe(e)}function s(t){return t<=127?0:t>>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function a(t){var e=this.lastTotal-this.lastNeed,i=function(t,e){if(128!=(192&e[0]))return t.lastNeed=0,"�";if(t.lastNeed>1&&e.length>1){if(128!=(192&e[1]))return t.lastNeed=1,"�";if(t.lastNeed>2&&e.length>2&&128!=(192&e[2]))return t.lastNeed=2,"�"}}(this,t);return void 0!==i?i:this.lastNeed<=t.length?(t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(t.copy(this.lastChar,e,0,t.length),void(this.lastNeed-=t.length))}function u(t,e){if((t.length-e)%2==0){var i=t.toString("utf16le",e);if(i){var n=i.charCodeAt(i.length-1);if(n>=55296&&n<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],i.slice(0,-1)}return i}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function c(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var i=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,i)}return e}function h(t,e){var i=(t.length-e)%3;return 0===i?t.toString("base64",e):(this.lastNeed=3-i,this.lastTotal=3,1===i?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-i))}function l(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function d(t){return t.toString(this.encoding)}function f(t){return t&&t.length?this.write(t):""}e.I=o,o.prototype.write=function(t){if(0===t.length)return"";var e,i;if(this.lastNeed){if(void 0===(e=this.fillLast(t)))return"";i=this.lastNeed,this.lastNeed=0}else i=0;return i=0?(r>0&&(t.lastNeed=r-1),r):--n=0?(r>0&&(t.lastNeed=r-2),r):--n=0?(r>0&&(2===r?r=0:t.lastNeed=r-3),r):0}(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=i;var n=t.length-(i-this.lastNeed);return t.copy(this.lastChar,0,n),t.toString("utf8",e,n)},o.prototype.fillLast=function(t){if(this.lastNeed<=t.length)return t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,t.length),this.lastNeed-=t.length}},28399(t,e,i){(e=t.exports=i(45412)).Stream=e,e.Readable=e,e.Writable=i(16708),e.Duplex=i(25382),e.Transform=i(74610),e.PassThrough=i(63600)},7452(t){var e=function(t){"use strict";var e,i=Object.prototype,n=i.hasOwnProperty,r=Object.defineProperty||function(t,e,i){t[e]=i.value},o="function"==typeof Symbol?Symbol:{},s=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",u=o.toStringTag||"@@toStringTag";function c(t,e,i){return Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{c({},"")}catch(t){c=function(t,e,i){return t[e]=i}}function h(t,e,i,n){var o=e&&e.prototype instanceof m?e:m,s=Object.create(o.prototype),a=new S(n||[]);return r(s,"_invoke",{value:M(t,i,a)}),s}function l(t,e,i){try{return{type:"normal",arg:t.call(e,i)}}catch(t){return{type:"throw",arg:t}}}t.wrap=h;var d="suspendedStart",f="suspendedYield",p="executing",g="completed",A={};function m(){}function v(){}function b(){}var y={};c(y,s,function(){return this});var w=Object.getPrototypeOf,C=w&&w(w(D([])));C&&C!==i&&n.call(C,s)&&(y=C);var x=b.prototype=m.prototype=Object.create(y);function k(t){["next","throw","return"].forEach(function(e){c(t,e,function(t){return this._invoke(e,t)})})}function _(t,e){function i(r,o,s,a){var u=l(t[r],t,o);if("throw"!==u.type){var c=u.arg,h=c.value;return h&&"object"==typeof h&&n.call(h,"__await")?e.resolve(h.__await).then(function(t){i("next",t,s,a)},function(t){i("throw",t,s,a)}):e.resolve(h).then(function(t){c.value=t,s(c)},function(t){return i("throw",t,s,a)})}a(u.arg)}var o;r(this,"_invoke",{value:function(t,n){function r(){return new e(function(e,r){i(t,n,e,r)})}return o=o?o.then(r,r):r()}})}function M(t,i,n){var r=d;return function(o,s){if(r===p)throw new Error("Generator is already running");if(r===g){if("throw"===o)throw s;return{value:e,done:!0}}for(n.method=o,n.arg=s;;){var a=n.delegate;if(a){var u=B(a,n);if(u){if(u===A)continue;return u}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(r===d)throw r=g,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r=p;var c=l(t,i,n);if("normal"===c.type){if(r=n.done?g:f,c.arg===A)continue;return{value:c.arg,done:n.done}}"throw"===c.type&&(r=g,n.method="throw",n.arg=c.arg)}}}function B(t,i){var n=i.method,r=t.iterator[n];if(r===e)return i.delegate=null,"throw"===n&&t.iterator.return&&(i.method="return",i.arg=e,B(t,i),"throw"===i.method)||"return"!==n&&(i.method="throw",i.arg=new TypeError("The iterator does not provide a '"+n+"' method")),A;var o=l(r,t.iterator,i.arg);if("throw"===o.type)return i.method="throw",i.arg=o.arg,i.delegate=null,A;var s=o.arg;return s?s.done?(i[t.resultName]=s.value,i.next=t.nextLoc,"return"!==i.method&&(i.method="next",i.arg=e),i.delegate=null,A):s:(i.method="throw",i.arg=new TypeError("iterator result is not an object"),i.delegate=null,A)}function E(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function I(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function S(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(E,this),this.reset(!0)}function D(t){if(null!=t){var i=t[s];if(i)return i.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var r=-1,o=function i(){for(;++r=0;--o){var s=this.tryEntries[o],a=s.completion;if("root"===s.tryLoc)return r("end");if(s.tryLoc<=this.prev){var u=n.call(s,"catchLoc"),c=n.call(s,"finallyLoc");if(u&&c){if(this.prev=0;--i){var r=this.tryEntries[i];if(r.tryLoc<=this.prev&&n.call(r,"finallyLoc")&&this.prev=0;--e){var i=this.tryEntries[e];if(i.finallyLoc===t)return this.complete(i.completion,i.afterLoc),I(i),A}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var i=this.tryEntries[e];if(i.tryLoc===t){var n=i.completion;if("throw"===n.type){var r=n.arg;I(i)}return r}}throw new Error("illegal catch attempt")},delegateYield:function(t,i,n){return this.delegate={iterator:D(t),resultName:i,nextLoc:n},"next"===this.method&&(this.arg=e),A}},t}(t.exports);try{regeneratorRuntime=e}catch(t){"object"==typeof globalThis?globalThis.regeneratorRuntime=e:Function("r","regeneratorRuntime = r")(e)}},66011(t,e,i){"use strict";var n=i(1048).Buffer,r=i(56698),o=i(51147),s=new Array(16),a=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],u=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],c=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],h=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11],l=[0,1518500249,1859775393,2400959708,2840853838],d=[1352829926,1548603684,1836072691,2053994217,0];function f(t,e){return t<>>32-e}function p(t,e,i,n,r,o,s,a){return f(t+(e^i^n)+o+s|0,a)+r|0}function g(t,e,i,n,r,o,s,a){return f(t+(e&i|~e&n)+o+s|0,a)+r|0}function A(t,e,i,n,r,o,s,a){return f(t+((e|~i)^n)+o+s|0,a)+r|0}function m(t,e,i,n,r,o,s,a){return f(t+(e&n|i&~n)+o+s|0,a)+r|0}function v(t,e,i,n,r,o,s,a){return f(t+(e^(i|~n))+o+s|0,a)+r|0}function b(){o.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520}r(b,o),b.prototype._update=function(){for(var t=s,e=0;e<16;++e)t[e]=this._block.readInt32LE(4*e);for(var i=0|this._a,n=0|this._b,r=0|this._c,o=0|this._d,b=0|this._e,y=0|this._a,w=0|this._b,C=0|this._c,x=0|this._d,k=0|this._e,_=0;_<80;_+=1){var M,B;_<16?(M=p(i,n,r,o,b,t[a[_]],l[0],c[_]),B=v(y,w,C,x,k,t[u[_]],d[0],h[_])):_<32?(M=g(i,n,r,o,b,t[a[_]],l[1],c[_]),B=m(y,w,C,x,k,t[u[_]],d[1],h[_])):_<48?(M=A(i,n,r,o,b,t[a[_]],l[2],c[_]),B=A(y,w,C,x,k,t[u[_]],d[2],h[_])):_<64?(M=m(i,n,r,o,b,t[a[_]],l[3],c[_]),B=g(y,w,C,x,k,t[u[_]],d[3],h[_])):(M=v(i,n,r,o,b,t[a[_]],l[4],c[_]),B=p(y,w,C,x,k,t[u[_]],d[4],h[_])),i=b,b=o,o=f(r,10),r=n,n=M,y=k,k=x,x=f(C,10),C=w,w=B}var E=this._b+r+x|0;this._b=this._c+o+k|0,this._c=this._d+b+y|0,this._d=this._e+i+w|0,this._e=this._a+n+C|0,this._a=E},b.prototype._digest=function(){this._block[this._blockOffset]=128,this._blockOffset+=1,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var t=n.alloc?n.alloc(20):new n(20);return t.writeInt32LE(this._a,0),t.writeInt32LE(this._b,4),t.writeInt32LE(this._c,8),t.writeInt32LE(this._d,12),t.writeInt32LE(this._e,16),t},t.exports=b},51147(t,e,i){"use strict";var n=i(92861).Buffer,r=i(48537),o=i(28399).Transform;function s(t){o.call(this),this._block=n.allocUnsafe(t),this._blockSize=t,this._blockOffset=0,this._length=[0,0,0,0],this._finalized=!1}i(56698)(s,o),s.prototype._transform=function(t,e,i){var n=null;try{this.update(t,e)}catch(t){n=t}i(n)},s.prototype._flush=function(t){var e=null;try{this.push(this.digest())}catch(t){e=t}t(e)},s.prototype.update=function(t,e){if(this._finalized)throw new Error("Digest already called");for(var i=r(t,e),n=this._block,o=0;this._blockOffset+i.length-o>=this._blockSize;){for(var s=this._blockOffset;s0;++a)this._length[a]+=u,(u=this._length[a]/4294967296|0)>0&&(this._length[a]-=4294967296*u);return this},s.prototype._update=function(){throw new Error("_update is not implemented")},s.prototype.digest=function(t){if(this._finalized)throw new Error("Digest already called");this._finalized=!0;var e=this._digest();void 0!==t&&(e=e.toString(t)),this._block.fill(0),this._blockOffset=0;for(var i=0;i<4;++i)this._length[i]=0;return e},s.prototype._digest=function(){throw new Error("_digest is not implemented")},t.exports=s},48537(t,e,i){"use strict";var n=i(92861).Buffer,r=i(15377),o="undefined"!=typeof Uint8Array,s=o&&"undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView;t.exports=function(t,e){if("string"==typeof t||n.isBuffer(t)||o&&t instanceof Uint8Array||s&&s(t))return r(t,e);throw new TypeError('The "data" argument must be a string, a Buffer, a Uint8Array, or a DataView')}},44275(t,e,i){var n,r=i(74692);void 0===(n=r).fn.each2&&n.extend(n.fn,{each2:function(t){for(var e=n([0]),i=-1,r=this.length;++i=112&&t<=123}},d={"Ⓐ":"A",A:"A",À:"A",Á:"A",Â:"A",Ầ:"A",Ấ:"A",Ẫ:"A",Ẩ:"A",Ã:"A",Ā:"A",Ă:"A",Ằ:"A",Ắ:"A",Ẵ:"A",Ẳ:"A",Ȧ:"A",Ǡ:"A",Ä:"A",Ǟ:"A",Ả:"A",Å:"A",Ǻ:"A",Ǎ:"A",Ȁ:"A",Ȃ:"A",Ạ:"A",Ậ:"A",Ặ:"A",Ḁ:"A",Ą:"A",Ⱥ:"A",Ɐ:"A",Ꜳ:"AA",Æ:"AE",Ǽ:"AE",Ǣ:"AE",Ꜵ:"AO",Ꜷ:"AU",Ꜹ:"AV",Ꜻ:"AV",Ꜽ:"AY","Ⓑ":"B",B:"B",Ḃ:"B",Ḅ:"B",Ḇ:"B",Ƀ:"B",Ƃ:"B",Ɓ:"B","Ⓒ":"C",C:"C",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",Ç:"C",Ḉ:"C",Ƈ:"C",Ȼ:"C",Ꜿ:"C","Ⓓ":"D",D:"D",Ḋ:"D",Ď:"D",Ḍ:"D",Ḑ:"D",Ḓ:"D",Ḏ:"D",Đ:"D",Ƌ:"D",Ɗ:"D",Ɖ:"D",Ꝺ:"D",DZ:"DZ",DŽ:"DZ",Dz:"Dz",Dž:"Dz","Ⓔ":"E",E:"E",È:"E",É:"E",Ê:"E",Ề:"E",Ế:"E",Ễ:"E",Ể:"E",Ẽ:"E",Ē:"E",Ḕ:"E",Ḗ:"E",Ĕ:"E",Ė:"E",Ë:"E",Ẻ:"E",Ě:"E",Ȅ:"E",Ȇ:"E",Ẹ:"E",Ệ:"E",Ȩ:"E",Ḝ:"E",Ę:"E",Ḙ:"E",Ḛ:"E",Ɛ:"E",Ǝ:"E","Ⓕ":"F",F:"F",Ḟ:"F",Ƒ:"F",Ꝼ:"F","Ⓖ":"G",G:"G",Ǵ:"G",Ĝ:"G",Ḡ:"G",Ğ:"G",Ġ:"G",Ǧ:"G",Ģ:"G",Ǥ:"G",Ɠ:"G",Ꞡ:"G",Ᵹ:"G",Ꝿ:"G","Ⓗ":"H",H:"H",Ĥ:"H",Ḣ:"H",Ḧ:"H",Ȟ:"H",Ḥ:"H",Ḩ:"H",Ḫ:"H",Ħ:"H",Ⱨ:"H",Ⱶ:"H",Ɥ:"H","Ⓘ":"I",I:"I",Ì:"I",Í:"I",Î:"I",Ĩ:"I",Ī:"I",Ĭ:"I",İ:"I",Ï:"I",Ḯ:"I",Ỉ:"I",Ǐ:"I",Ȉ:"I",Ȋ:"I",Ị:"I",Į:"I",Ḭ:"I",Ɨ:"I","Ⓙ":"J",J:"J",Ĵ:"J",Ɉ:"J","Ⓚ":"K",K:"K",Ḱ:"K",Ǩ:"K",Ḳ:"K",Ķ:"K",Ḵ:"K",Ƙ:"K",Ⱪ:"K",Ꝁ:"K",Ꝃ:"K",Ꝅ:"K",Ꞣ:"K","Ⓛ":"L",L:"L",Ŀ:"L",Ĺ:"L",Ľ:"L",Ḷ:"L",Ḹ:"L",Ļ:"L",Ḽ:"L",Ḻ:"L",Ł:"L",Ƚ:"L",Ɫ:"L",Ⱡ:"L",Ꝉ:"L",Ꝇ:"L",Ꞁ:"L",LJ:"LJ",Lj:"Lj","Ⓜ":"M",M:"M",Ḿ:"M",Ṁ:"M",Ṃ:"M",Ɱ:"M",Ɯ:"M","Ⓝ":"N",N:"N",Ǹ:"N",Ń:"N",Ñ:"N",Ṅ:"N",Ň:"N",Ṇ:"N",Ņ:"N",Ṋ:"N",Ṉ:"N",Ƞ:"N",Ɲ:"N",Ꞑ:"N",Ꞥ:"N",NJ:"NJ",Nj:"Nj","Ⓞ":"O",O:"O",Ò:"O",Ó:"O",Ô:"O",Ồ:"O",Ố:"O",Ỗ:"O",Ổ:"O",Õ:"O",Ṍ:"O",Ȭ:"O",Ṏ:"O",Ō:"O",Ṑ:"O",Ṓ:"O",Ŏ:"O",Ȯ:"O",Ȱ:"O",Ö:"O",Ȫ:"O",Ỏ:"O",Ő:"O",Ǒ:"O",Ȍ:"O",Ȏ:"O",Ơ:"O",Ờ:"O",Ớ:"O",Ỡ:"O",Ở:"O",Ợ:"O",Ọ:"O",Ộ:"O",Ǫ:"O",Ǭ:"O",Ø:"O",Ǿ:"O",Ɔ:"O",Ɵ:"O",Ꝋ:"O",Ꝍ:"O",Ƣ:"OI",Ꝏ:"OO",Ȣ:"OU","Ⓟ":"P",P:"P",Ṕ:"P",Ṗ:"P",Ƥ:"P",Ᵽ:"P",Ꝑ:"P",Ꝓ:"P",Ꝕ:"P","Ⓠ":"Q",Q:"Q",Ꝗ:"Q",Ꝙ:"Q",Ɋ:"Q","Ⓡ":"R",R:"R",Ŕ:"R",Ṙ:"R",Ř:"R",Ȑ:"R",Ȓ:"R",Ṛ:"R",Ṝ:"R",Ŗ:"R",Ṟ:"R",Ɍ:"R",Ɽ:"R",Ꝛ:"R",Ꞧ:"R",Ꞃ:"R","Ⓢ":"S",S:"S",ẞ:"S",Ś:"S",Ṥ:"S",Ŝ:"S",Ṡ:"S",Š:"S",Ṧ:"S",Ṣ:"S",Ṩ:"S",Ș:"S",Ş:"S",Ȿ:"S",Ꞩ:"S",Ꞅ:"S","Ⓣ":"T",T:"T",Ṫ:"T",Ť:"T",Ṭ:"T",Ț:"T",Ţ:"T",Ṱ:"T",Ṯ:"T",Ŧ:"T",Ƭ:"T",Ʈ:"T",Ⱦ:"T",Ꞇ:"T",Ꜩ:"TZ","Ⓤ":"U",U:"U",Ù:"U",Ú:"U",Û:"U",Ũ:"U",Ṹ:"U",Ū:"U",Ṻ:"U",Ŭ:"U",Ü:"U",Ǜ:"U",Ǘ:"U",Ǖ:"U",Ǚ:"U",Ủ:"U",Ů:"U",Ű:"U",Ǔ:"U",Ȕ:"U",Ȗ:"U",Ư:"U",Ừ:"U",Ứ:"U",Ữ:"U",Ử:"U",Ự:"U",Ụ:"U",Ṳ:"U",Ų:"U",Ṷ:"U",Ṵ:"U",Ʉ:"U","Ⓥ":"V",V:"V",Ṽ:"V",Ṿ:"V",Ʋ:"V",Ꝟ:"V",Ʌ:"V",Ꝡ:"VY","Ⓦ":"W",W:"W",Ẁ:"W",Ẃ:"W",Ŵ:"W",Ẇ:"W",Ẅ:"W",Ẉ:"W",Ⱳ:"W","Ⓧ":"X",X:"X",Ẋ:"X",Ẍ:"X","Ⓨ":"Y",Y:"Y",Ỳ:"Y",Ý:"Y",Ŷ:"Y",Ỹ:"Y",Ȳ:"Y",Ẏ:"Y",Ÿ:"Y",Ỷ:"Y",Ỵ:"Y",Ƴ:"Y",Ɏ:"Y",Ỿ:"Y","Ⓩ":"Z",Z:"Z",Ź:"Z",Ẑ:"Z",Ż:"Z",Ž:"Z",Ẓ:"Z",Ẕ:"Z",Ƶ:"Z",Ȥ:"Z",Ɀ:"Z",Ⱬ:"Z",Ꝣ:"Z","ⓐ":"a",a:"a",ẚ:"a",à:"a",á:"a",â:"a",ầ:"a",ấ:"a",ẫ:"a",ẩ:"a",ã:"a",ā:"a",ă:"a",ằ:"a",ắ:"a",ẵ:"a",ẳ:"a",ȧ:"a",ǡ:"a",ä:"a",ǟ:"a",ả:"a",å:"a",ǻ:"a",ǎ:"a",ȁ:"a",ȃ:"a",ạ:"a",ậ:"a",ặ:"a",ḁ:"a",ą:"a",ⱥ:"a",ɐ:"a",ꜳ:"aa",æ:"ae",ǽ:"ae",ǣ:"ae",ꜵ:"ao",ꜷ:"au",ꜹ:"av",ꜻ:"av",ꜽ:"ay","ⓑ":"b",b:"b",ḃ:"b",ḅ:"b",ḇ:"b",ƀ:"b",ƃ:"b",ɓ:"b","ⓒ":"c",c:"c",ć:"c",ĉ:"c",ċ:"c",č:"c",ç:"c",ḉ:"c",ƈ:"c",ȼ:"c",ꜿ:"c",ↄ:"c","ⓓ":"d",d:"d",ḋ:"d",ď:"d",ḍ:"d",ḑ:"d",ḓ:"d",ḏ:"d",đ:"d",ƌ:"d",ɖ:"d",ɗ:"d",ꝺ:"d",dz:"dz",dž:"dz","ⓔ":"e",e:"e",è:"e",é:"e",ê:"e",ề:"e",ế:"e",ễ:"e",ể:"e",ẽ:"e",ē:"e",ḕ:"e",ḗ:"e",ĕ:"e",ė:"e",ë:"e",ẻ:"e",ě:"e",ȅ:"e",ȇ:"e",ẹ:"e",ệ:"e",ȩ:"e",ḝ:"e",ę:"e",ḙ:"e",ḛ:"e",ɇ:"e",ɛ:"e",ǝ:"e","ⓕ":"f",f:"f",ḟ:"f",ƒ:"f",ꝼ:"f","ⓖ":"g",g:"g",ǵ:"g",ĝ:"g",ḡ:"g",ğ:"g",ġ:"g",ǧ:"g",ģ:"g",ǥ:"g",ɠ:"g",ꞡ:"g",ᵹ:"g",ꝿ:"g","ⓗ":"h",h:"h",ĥ:"h",ḣ:"h",ḧ:"h",ȟ:"h",ḥ:"h",ḩ:"h",ḫ:"h",ẖ:"h",ħ:"h",ⱨ:"h",ⱶ:"h",ɥ:"h",ƕ:"hv","ⓘ":"i",i:"i",ì:"i",í:"i",î:"i",ĩ:"i",ī:"i",ĭ:"i",ï:"i",ḯ:"i",ỉ:"i",ǐ:"i",ȉ:"i",ȋ:"i",ị:"i",į:"i",ḭ:"i",ɨ:"i",ı:"i","ⓙ":"j",j:"j",ĵ:"j",ǰ:"j",ɉ:"j","ⓚ":"k",k:"k",ḱ:"k",ǩ:"k",ḳ:"k",ķ:"k",ḵ:"k",ƙ:"k",ⱪ:"k",ꝁ:"k",ꝃ:"k",ꝅ:"k",ꞣ:"k","ⓛ":"l",l:"l",ŀ:"l",ĺ:"l",ľ:"l",ḷ:"l",ḹ:"l",ļ:"l",ḽ:"l",ḻ:"l",ſ:"l",ł:"l",ƚ:"l",ɫ:"l",ⱡ:"l",ꝉ:"l",ꞁ:"l",ꝇ:"l",lj:"lj","ⓜ":"m",m:"m",ḿ:"m",ṁ:"m",ṃ:"m",ɱ:"m",ɯ:"m","ⓝ":"n",n:"n",ǹ:"n",ń:"n",ñ:"n",ṅ:"n",ň:"n",ṇ:"n",ņ:"n",ṋ:"n",ṉ:"n",ƞ:"n",ɲ:"n",ʼn:"n",ꞑ:"n",ꞥ:"n",nj:"nj","ⓞ":"o",o:"o",ò:"o",ó:"o",ô:"o",ồ:"o",ố:"o",ỗ:"o",ổ:"o",õ:"o",ṍ:"o",ȭ:"o",ṏ:"o",ō:"o",ṑ:"o",ṓ:"o",ŏ:"o",ȯ:"o",ȱ:"o",ö:"o",ȫ:"o",ỏ:"o",ő:"o",ǒ:"o",ȍ:"o",ȏ:"o",ơ:"o",ờ:"o",ớ:"o",ỡ:"o",ở:"o",ợ:"o",ọ:"o",ộ:"o",ǫ:"o",ǭ:"o",ø:"o",ǿ:"o",ɔ:"o",ꝋ:"o",ꝍ:"o",ɵ:"o",ƣ:"oi",ȣ:"ou",ꝏ:"oo","ⓟ":"p",p:"p",ṕ:"p",ṗ:"p",ƥ:"p",ᵽ:"p",ꝑ:"p",ꝓ:"p",ꝕ:"p","ⓠ":"q",q:"q",ɋ:"q",ꝗ:"q",ꝙ:"q","ⓡ":"r",r:"r",ŕ:"r",ṙ:"r",ř:"r",ȑ:"r",ȓ:"r",ṛ:"r",ṝ:"r",ŗ:"r",ṟ:"r",ɍ:"r",ɽ:"r",ꝛ:"r",ꞧ:"r",ꞃ:"r","ⓢ":"s",s:"s",ß:"s",ś:"s",ṥ:"s",ŝ:"s",ṡ:"s",š:"s",ṧ:"s",ṣ:"s",ṩ:"s",ș:"s",ş:"s",ȿ:"s",ꞩ:"s",ꞅ:"s",ẛ:"s","ⓣ":"t",t:"t",ṫ:"t",ẗ:"t",ť:"t",ṭ:"t",ț:"t",ţ:"t",ṱ:"t",ṯ:"t",ŧ:"t",ƭ:"t",ʈ:"t",ⱦ:"t",ꞇ:"t",ꜩ:"tz","ⓤ":"u",u:"u",ù:"u",ú:"u",û:"u",ũ:"u",ṹ:"u",ū:"u",ṻ:"u",ŭ:"u",ü:"u",ǜ:"u",ǘ:"u",ǖ:"u",ǚ:"u",ủ:"u",ů:"u",ű:"u",ǔ:"u",ȕ:"u",ȗ:"u",ư:"u",ừ:"u",ứ:"u",ữ:"u",ử:"u",ự:"u",ụ:"u",ṳ:"u",ų:"u",ṷ:"u",ṵ:"u",ʉ:"u","ⓥ":"v",v:"v",ṽ:"v",ṿ:"v",ʋ:"v",ꝟ:"v",ʌ:"v",ꝡ:"vy","ⓦ":"w",w:"w",ẁ:"w",ẃ:"w",ŵ:"w",ẇ:"w",ẅ:"w",ẘ:"w",ẉ:"w",ⱳ:"w","ⓧ":"x",x:"x",ẋ:"x",ẍ:"x","ⓨ":"y",y:"y",ỳ:"y",ý:"y",ŷ:"y",ỹ:"y",ȳ:"y",ẏ:"y",ÿ:"y",ỷ:"y",ẙ:"y",ỵ:"y",ƴ:"y",ɏ:"y",ỿ:"y","ⓩ":"z",z:"z",ź:"z",ẑ:"z",ż:"z",ž:"z",ẓ:"z",ẕ:"z",ƶ:"z",ȥ:"z",ɀ:"z",ⱬ:"z",ꝣ:"z",Ά:"Α",Έ:"Ε",Ή:"Η",Ί:"Ι",Ϊ:"Ι",Ό:"Ο",Ύ:"Υ",Ϋ:"Υ",Ώ:"Ω",ά:"α",έ:"ε",ή:"η",ί:"ι",ϊ:"ι",ΐ:"ι",ό:"ο",ύ:"υ",ϋ:"υ",ΰ:"υ",ω:"ω",ς:"σ"};a=t(document),c=1,o=function(){return c++},i=T(Object,{bind:function(t){var e=this;return function(){t.apply(e,arguments)}},init:function(i){var n,r,s,a,c=".select2-results";this.opts=i=this.prepareOpts(i),this.id=i.id,i.element.data("select2")!==e&&null!==i.element.data("select2")&&i.element.data("select2").destroy(),this.container=this.createContainer(),this.liveRegion=t("",{role:"status","aria-live":"polite"}).addClass("select2-hidden-accessible").appendTo(document.body),this.containerId="s2id_"+(i.element.attr("id")||"autogen"+o()),this.containerEventName=this.containerId.replace(/([.])/g,"_").replace(/([;&,\-\.\+\*\~':"\!\^#$%@\[\]\(\)=>\|])/g,"\\$1"),this.container.attr("id",this.containerId),this.container.attr("title",i.element.attr("title")),this.body=t("body"),C(this.container,this.opts.element,this.opts.adaptContainerCssClass),this.container.attr("style",i.element.attr("style")),this.container.css(I(i.containerCss,this.opts.element)),this.container.addClass(I(i.containerCssClass,this.opts.element)),this.elementTabIndex=this.opts.element.attr("tabindex"),this.opts.element.data("select2",this).attr("tabindex","-1").before(this.container).on("click.select2",w),this.container.data("select2",this),this.dropdown=this.container.find(".select2-drop"),C(this.dropdown,this.opts.element,this.opts.adaptDropdownCssClass),this.dropdown.addClass(I(i.dropdownCssClass,this.opts.element)),this.dropdown.data("select2",this),this.dropdown.on("click",w),this.results=n=this.container.find(c),this.search=r=this.container.find("input.select2-input"),this.queryCount=0,this.resultsPage=0,this.context=null,this.initContainer(),this.container.on("click",w),this.results.on("mousemove",function(i){var n=h;n!==e&&n.x===i.pageX&&n.y===i.pageY||t(i.target).trigger("mousemove-filtered",i)}),this.dropdown.on("mousemove-filtered",c,this.bind(this.highlightUnderEvent)),this.dropdown.on("touchstart touchmove touchend",c,this.bind(function(t){this._touchEvent=!0,this.highlightUnderEvent(t)})),this.dropdown.on("touchmove",c,this.bind(this.touchMoved)),this.dropdown.on("touchstart touchend",c,this.bind(this.clearTouchMoved)),this.dropdown.on("click",this.bind(function(t){this._touchEvent&&(this._touchEvent=!1,this.selectHighlighted())})),s=this.results,a=y(80,function(t){s.trigger("scroll-debounced",t)}),s.on("scroll",function(t){g(t.target,s.get())>=0&&a(t)}),this.dropdown.on("scroll-debounced",c,this.bind(this.loadMoreIfNeeded)),t(this.container).on("change",".select2-input",function(t){t.stopPropagation()}),t(this.dropdown).on("change",".select2-input",function(t){t.stopPropagation()}),t.fn.mousewheel&&n.mousewheel(function(t,e,i,r){var o=n.scrollTop();r>0&&o-r<=0?(n.scrollTop(0),w(t)):r<0&&n.get(0).scrollHeight-n.scrollTop()+r<=n.height()&&(n.scrollTop(n.get(0).scrollHeight-n.height()),w(t))}),b(r),r.on("keyup-change input paste",this.bind(this.updateResults)),r.on("focus",function(){r.addClass("select2-focused")}),r.on("blur",function(){r.removeClass("select2-focused")}),this.dropdown.on("mouseup",c,this.bind(function(e){t(e.target).closest(".select2-result-selectable").length>0&&(this.highlightUnderEvent(e),this.selectHighlighted(e))})),this.dropdown.on("click mouseup mousedown touchstart touchend focusin",function(t){t.stopPropagation()}),this.nextSearchTerm=e,t.isFunction(this.opts.initSelection)&&(this.initSelection(),this.monitorSource()),null!==i.maximumInputLength&&this.search.attr("maxlength",i.maximumInputLength);var l=i.element.prop("disabled");l===e&&(l=!1),this.enable(!l);var d=i.element.prop("readonly");d===e&&(d=!1),this.readonly(d),u=u||function(){var e=t("
      ");e.appendTo("body");var i={width:e.width()-e[0].clientWidth,height:e.height()-e[0].clientHeight};return e.remove(),i}(),this.autofocus=i.element.prop("autofocus"),i.element.prop("autofocus",!1),this.autofocus&&this.focus(),this.search.attr("placeholder",i.searchInputPlaceholder)},destroy:function(){var t=this.opts.element,i=t.data("select2"),n=this;this.close(),t.length&&t[0].detachEvent&&t.each(function(){this.detachEvent("onpropertychange",n._sync)}),this.propertyObserver&&(this.propertyObserver.disconnect(),this.propertyObserver=null),this._sync=null,i!==e&&(i.container.remove(),i.liveRegion.remove(),i.dropdown.remove(),t.removeClass("select2-offscreen").removeData("select2").off(".select2").prop("autofocus",this.autofocus||!1),this.elementTabIndex?t.attr({tabindex:this.elementTabIndex}):t.removeAttr("tabindex"),t.show()),D.call(this,"container","liveRegion","dropdown","results","search")},optionToData:function(t){return t.is("option")?{id:t.prop("value"),text:t.text(),element:t.get(),css:t.attr("class"),disabled:t.prop("disabled"),locked:A(t.attr("locked"),"locked")||A(t.data("locked"),!0)}:t.is("optgroup")?{text:t.attr("label"),children:[],element:t.get(),css:t.attr("class")}:void 0},prepareOpts:function(i){var n,r,s,a,u=this;if("select"===(n=i.element).get(0).tagName.toLowerCase()&&(this.select=r=i.element),r&&t.each(["id","multiple","ajax","query","createSearchChoice","initSelection","data","tags"],function(){if(this in i)throw new Error("Option '"+this+"' is not allowed for Select2 when attached to a ","
      "," ","
        ","
      ","
      "].join(""))},enableInterface:function(){this.parent.enableInterface.apply(this,arguments)&&this.focusser.prop("disabled",!this.isInterfaceEnabled())},opening:function(){var i,n,r;this.opts.minimumResultsForSearch>=0&&this.showSearch(!0),this.parent.opening.apply(this,arguments),!1!==this.showSearchInput&&this.search.val(this.focusser.val()),this.opts.shouldFocusInput(this)&&(this.search.focus(),(i=this.search.get(0)).createTextRange?((n=i.createTextRange()).collapse(!1),n.select()):i.setSelectionRange&&(r=this.search.val().length,i.setSelectionRange(r,r))),""===this.search.val()&&this.nextSearchTerm!=e&&(this.search.val(this.nextSearchTerm),this.search.select()),this.focusser.prop("disabled",!0).val(""),this.updateResults(!0),this.opts.element.trigger(t.Event("select2-open"))},close:function(){this.opened()&&(this.parent.close.apply(this,arguments),this.focusser.prop("disabled",!1),this.opts.shouldFocusInput(this)&&this.focusser.focus())},focus:function(){this.opened()?this.close():(this.focusser.prop("disabled",!1),this.opts.shouldFocusInput(this)&&this.focusser.focus())},isFocused:function(){return this.container.hasClass("select2-container-active")},cancel:function(){this.parent.cancel.apply(this,arguments),this.focusser.prop("disabled",!1),this.opts.shouldFocusInput(this)&&this.focusser.focus()},destroy:function(){t("label[for='"+this.focusser.attr("id")+"']").attr("for",this.opts.element.attr("id")),this.parent.destroy.apply(this,arguments),D.call(this,"selection","focusser")},initContainer:function(){var e,i,n=this.container,r=this.dropdown,s=o();this.opts.minimumResultsForSearch<0?this.showSearch(!1):this.showSearch(!0),this.selection=e=n.find(".select2-choice"),this.focusser=n.find(".select2-focusser"),e.find(".select2-chosen").attr("id","select2-chosen-"+s),this.focusser.attr("aria-labelledby","select2-chosen-"+s),this.results.attr("id","select2-results-"+s),this.search.attr("aria-owns","select2-results-"+s),this.focusser.attr("id","s2id_autogen"+s),i=t("label[for='"+this.opts.element.attr("id")+"']"),this.focusser.prev().text(i.text()).attr("for",this.focusser.attr("id"));var a=this.opts.element.attr("title");this.opts.element.attr("title",a||i.text()),this.focusser.attr("tabindex",this.elementTabIndex),this.search.attr("id",this.focusser.attr("id")+"_search"),this.search.prev().text(t("label[for='"+this.focusser.attr("id")+"']").text()).attr("for",this.search.attr("id")),this.search.on("keydown",this.bind(function(t){if(this.isInterfaceEnabled()&&229!=t.keyCode)if(t.which!==l.PAGE_UP&&t.which!==l.PAGE_DOWN)switch(t.which){case l.UP:case l.DOWN:return this.moveHighlight(t.which===l.UP?-1:1),void w(t);case l.ENTER:return this.selectHighlighted(),void w(t);case l.TAB:return void this.selectHighlighted({noFocus:!0});case l.ESC:return this.cancel(t),void w(t)}else w(t)})),this.search.on("blur",this.bind(function(t){document.activeElement===this.body.get(0)&&window.setTimeout(this.bind(function(){this.opened()&&this.search.focus()}),0)})),this.focusser.on("keydown",this.bind(function(t){if(this.isInterfaceEnabled()&&t.which!==l.TAB&&!l.isControl(t)&&!l.isFunctionKey(t)&&t.which!==l.ESC){if(!1!==this.opts.openOnEnter||t.which!==l.ENTER){if(t.which==l.DOWN||t.which==l.UP||t.which==l.ENTER&&this.opts.openOnEnter){if(t.altKey||t.ctrlKey||t.shiftKey||t.metaKey)return;return this.open(),void w(t)}return t.which==l.DELETE||t.which==l.BACKSPACE?(this.opts.allowClear&&this.clear(),void w(t)):void 0}w(t)}})),b(this.focusser),this.focusser.on("keyup-change input",this.bind(function(t){if(this.opts.minimumResultsForSearch>=0){if(t.stopPropagation(),this.opened())return;this.open()}})),e.on("mousedown touchstart","abbr",this.bind(function(t){var e;this.isInterfaceEnabled()&&(this.clear(),(e=t).preventDefault(),e.stopImmediatePropagation(),this.close(),this.selection.focus())})),e.on("mousedown touchstart",this.bind(function(i){f(e),this.container.hasClass("select2-container-active")||this.opts.element.trigger(t.Event("select2-focus")),this.opened()?this.close():this.isInterfaceEnabled()&&this.open(),w(i)})),r.on("mousedown touchstart",this.bind(function(){this.opts.shouldFocusInput(this)&&this.search.focus()})),e.on("focus",this.bind(function(t){w(t)})),this.focusser.on("focus",this.bind(function(){this.container.hasClass("select2-container-active")||this.opts.element.trigger(t.Event("select2-focus")),this.container.addClass("select2-container-active")})).on("blur",this.bind(function(){this.opened()||(this.container.removeClass("select2-container-active"),this.opts.element.trigger(t.Event("select2-blur")))})),this.search.on("focus",this.bind(function(){this.container.hasClass("select2-container-active")||this.opts.element.trigger(t.Event("select2-focus")),this.container.addClass("select2-container-active")})),this.initContainerWidth(),this.opts.element.addClass("select2-offscreen"),this.setPlaceholder()},clear:function(e){var i=this.selection.data("select2-data");if(i){var n=t.Event("select2-clearing");if(this.opts.element.trigger(n),n.isDefaultPrevented())return;var r=this.getPlaceholderOption();this.opts.element.val(r?r.val():""),this.selection.find(".select2-chosen").empty(),this.selection.removeData("select2-data"),this.setPlaceholder(),!1!==e&&(this.opts.element.trigger({type:"select2-removed",val:this.id(i),choice:i}),this.triggerChange({removed:i}))}},initSelection:function(){if(this.isPlaceholderOptionSelected())this.updateSelection(null),this.close(),this.setPlaceholder();else{var t=this;this.opts.initSelection.call(null,this.opts.element,function(i){i!==e&&null!==i&&(t.updateSelection(i),t.close(),t.setPlaceholder(),t.nextSearchTerm=t.opts.nextSearchTerm(i,t.search.val()))})}},isPlaceholderOptionSelected:function(){var t;return this.getPlaceholder()!==e&&((t=this.getPlaceholderOption())!==e&&t.prop("selected")||""===this.opts.element.val()||this.opts.element.val()===e||null===this.opts.element.val())},prepareOpts:function(){var e=this.parent.prepareOpts.apply(this,arguments),i=this;return"select"===e.element.get(0).tagName.toLowerCase()?e.initSelection=function(t,e){var n=t.find("option").filter(function(){return this.selected&&!this.disabled});e(i.optionToData(n))}:"data"in e&&(e.initSelection=e.initSelection||function(i,n){var r=i.val(),o=null;e.query({matcher:function(t,i,n){var s=A(r,e.id(n));return s&&(o=n),s},callback:t.isFunction(n)?function(){n(o)}:t.noop})}),e},getPlaceholder:function(){return this.select&&this.getPlaceholderOption()===e?e:this.parent.getPlaceholder.apply(this,arguments)},setPlaceholder:function(){var t=this.getPlaceholder();if(this.isPlaceholderOptionSelected()&&t!==e){if(this.select&&this.getPlaceholderOption()===e)return;this.selection.find(".select2-chosen").html(this.opts.escapeMarkup(t)),this.selection.addClass("select2-default"),this.container.removeClass("select2-allowclear")}},postprocessResults:function(t,e,i){var n=0,r=this;if(this.findHighlightableChoices().each2(function(t,e){if(A(r.id(e.data("select2-data")),r.opts.element.val()))return n=t,!1}),!1!==i&&(!0===e&&n>=0?this.highlight(n):this.highlight(0)),!0===e){var o=this.opts.minimumResultsForSearch;o>=0&&this.showSearch(S(t.results)>=o)}},showSearch:function(e){this.showSearchInput!==e&&(this.showSearchInput=e,this.dropdown.find(".select2-search").toggleClass("select2-search-hidden",!e),this.dropdown.find(".select2-search").toggleClass("select2-offscreen",!e),t(this.dropdown,this.container).toggleClass("select2-with-searchbox",e))},onSelect:function(t,e){if(this.triggerSelect(t)){var i=this.opts.element.val(),n=this.data();this.opts.element.val(this.id(t)),this.updateSelection(t),this.opts.element.trigger({type:"select2-selected",val:this.id(t),choice:t}),this.nextSearchTerm=this.opts.nextSearchTerm(t,this.search.val()),this.close(),e&&e.noFocus||!this.opts.shouldFocusInput(this)||this.focusser.focus(),A(i,this.id(t))||this.triggerChange({added:t,removed:n})}},updateSelection:function(t){var i,n,r=this.selection.find(".select2-chosen");this.selection.data("select2-data",t),r.empty(),null!==t&&(i=this.opts.formatSelection(t,r,this.opts.escapeMarkup)),i!==e&&r.append(i),(n=this.opts.formatSelectionCssClass(t,r))!==e&&r.addClass(n),this.selection.removeClass("select2-default"),this.opts.allowClear&&this.getPlaceholder()!==e&&this.container.addClass("select2-allowclear")},val:function(){var t,i=!1,n=null,r=this,o=this.data();if(0===arguments.length)return this.opts.element.val();if(t=arguments[0],arguments.length>1&&(i=arguments[1]),this.select)this.select.val(t).find("option").filter(function(){return this.selected}).each2(function(t,e){return n=r.optionToData(e),!1}),this.updateSelection(n),this.setPlaceholder(),i&&this.triggerChange({added:n,removed:o});else{if(!t&&0!==t)return void this.clear(i);if(this.opts.initSelection===e)throw new Error("cannot call val() if initSelection() is not defined");this.opts.element.val(t),this.opts.initSelection(this.opts.element,function(t){r.opts.element.val(t?r.id(t):""),r.updateSelection(t),r.setPlaceholder(),i&&r.triggerChange({added:t,removed:o})})}},clearSearch:function(){this.search.val(""),this.focusser.val("")},data:function(t){var i,n=!1;if(0===arguments.length)return(i=this.selection.data("select2-data"))==e&&(i=null),i;arguments.length>1&&(n=arguments[1]),t?(i=this.data(),this.opts.element.val(t?this.id(t):""),this.updateSelection(t),n&&this.triggerChange({added:t,removed:i})):this.clear(n)}}),r=T(i,{createContainer:function(){return t(document.createElement("div")).attr({class:"select2-container select2-container-multi"}).html(["
        ","
      • "," "," ","
      • ","
      ","
      ","
        ","
      ","
      "].join(""))},prepareOpts:function(){var e=this.parent.prepareOpts.apply(this,arguments),i=this;return"select"===e.element.get(0).tagName.toLowerCase()?e.initSelection=function(t,e){var n=[];t.find("option").filter(function(){return this.selected&&!this.disabled}).each2(function(t,e){n.push(i.optionToData(e))}),e(n)}:"data"in e&&(e.initSelection=e.initSelection||function(i,n){var r=m(i.val(),e.separator),o=[];e.query({matcher:function(i,n,s){var a=t.grep(r,function(t){return A(t,e.id(s))}).length;return a&&o.push(s),a},callback:t.isFunction(n)?function(){for(var t=[],i=0;i0||(this.selectChoice(null),this.clearPlaceholder(),this.container.hasClass("select2-container-active")||this.opts.element.trigger(t.Event("select2-focus")),this.open(),this.focusSearch(),e.preventDefault()))})),this.container.on("focus",i,this.bind(function(){this.isInterfaceEnabled()&&(this.container.hasClass("select2-container-active")||this.opts.element.trigger(t.Event("select2-focus")),this.container.addClass("select2-container-active"),this.dropdown.addClass("select2-drop-active"),this.clearPlaceholder())})),this.initContainerWidth(),this.opts.element.addClass("select2-offscreen"),this.clearSearch()},enableInterface:function(){this.parent.enableInterface.apply(this,arguments)&&this.search.prop("disabled",!this.isInterfaceEnabled())},initSelection:function(){if(""===this.opts.element.val()&&""===this.opts.element.text()&&(this.updateSelection([]),this.close(),this.clearSearch()),this.select||""!==this.opts.element.val()){var t=this;this.opts.initSelection.call(null,this.opts.element,function(i){i!==e&&null!==i&&(t.updateSelection(i),t.close(),t.clearSearch())})}},clearSearch:function(){var t=this.getPlaceholder(),i=this.getMaxSearchWidth();t!==e&&0===this.getVal().length&&!1===this.search.hasClass("select2-focused")?(this.search.val(t).addClass("select2-default"),this.search.width(i>0?i:this.container.css("width"))):this.search.val("").width(10)},clearPlaceholder:function(){this.search.hasClass("select2-default")&&this.search.val("").removeClass("select2-default")},opening:function(){this.clearPlaceholder(),this.resizeSearch(),this.parent.opening.apply(this,arguments),this.focusSearch(),""===this.search.val()&&this.nextSearchTerm!=e&&(this.search.val(this.nextSearchTerm),this.search.select()),this.updateResults(!0),this.opts.shouldFocusInput(this)&&this.search.focus(),this.opts.element.trigger(t.Event("select2-open"))},close:function(){this.opened()&&this.parent.close.apply(this,arguments)},focus:function(){this.close(),this.search.focus()},isFocused:function(){return this.search.hasClass("select2-focused")},updateSelection:function(e){var i=[],n=[],r=this;t(e).each(function(){g(r.id(this),i)<0&&(i.push(r.id(this)),n.push(this))}),e=n,this.selection.find(".select2-search-choice").remove(),t(e).each(function(){r.addSelectedChoice(this)}),r.postprocessResults()},tokenize:function(){var t=this.search.val();null!=(t=this.opts.tokenizer.call(this,t,this.data(),this.bind(this.onSelect),this.opts))&&t!=e&&(this.search.val(t),t.length>0&&this.open())},onSelect:function(t,i){this.triggerSelect(t)&&""!==t.text&&(this.addSelectedChoice(t),this.opts.element.trigger({type:"selected",val:this.id(t),choice:t}),this.nextSearchTerm=this.opts.nextSearchTerm(t,this.search.val()),this.clearSearch(),this.updateResults(),!this.select&&this.opts.closeOnSelect||this.postprocessResults(t,!1,!0===this.opts.closeOnSelect),this.opts.closeOnSelect?(this.close(),this.search.width(10)):this.countSelectableResults()>0?(this.search.width(10),this.resizeSearch(),this.getMaximumSelectionSize()>0&&this.val().length>=this.getMaximumSelectionSize()?this.updateResults(!0):this.nextSearchTerm!=e&&(this.search.val(this.nextSearchTerm),this.updateResults(),this.search.select()),this.positionDropdown()):(this.close(),this.search.width(10)),this.triggerChange({added:t}),i&&i.noFocus||this.focusSearch())},cancel:function(){this.close(),this.focusSearch()},addSelectedChoice:function(i){var n,r,o=!i.locked,s=t("
    • "),a=t("
    • "),u=o?s:a,c=this.id(i),h=this.getVal();(n=this.opts.formatSelection(i,u.find("div"),this.opts.escapeMarkup))!=e&&u.find("div").replaceWith("
      "+n+"
      "),(r=this.opts.formatSelectionCssClass(i,u.find("div")))!=e&&u.addClass(r),o&&u.find(".select2-search-choice-close").on("mousedown",w).on("click dblclick",this.bind(function(e){this.isInterfaceEnabled()&&(this.unselect(t(e.target)),this.selection.find(".select2-search-choice-focus").removeClass("select2-search-choice-focus"),w(e),this.close(),this.focusSearch())})).on("focus",this.bind(function(){this.isInterfaceEnabled()&&(this.container.addClass("select2-container-active"),this.dropdown.addClass("select2-drop-active"))})),u.data("select2-data",i),u.insertBefore(this.searchContainer),h.push(c),this.setVal(h)},unselect:function(e){var i,n,r=this.getVal();if(0===(e=e.closest(".select2-search-choice")).length)throw"Invalid argument: "+e+". Must be .select2-search-choice";if(i=e.data("select2-data")){var o=t.Event("select2-removing");if(o.val=this.id(i),o.choice=i,this.opts.element.trigger(o),o.isDefaultPrevented())return!1;for(;(n=g(this.id(i),r))>=0;)r.splice(n,1),this.setVal(r),this.select&&this.postprocessResults();return e.remove(),this.opts.element.trigger({type:"select2-removed",val:this.id(i),choice:i}),this.triggerChange({removed:i}),!0}},postprocessResults:function(t,e,i){var n=this.getVal(),r=this.results.find(".select2-result"),o=this.results.find(".select2-result-with-children"),s=this;r.each2(function(t,e){g(s.id(e.data("select2-data")),n)>=0&&(e.addClass("select2-selected"),e.find(".select2-result-selectable").addClass("select2-selected"))}),o.each2(function(t,e){e.is(".select2-result-selectable")||0!==e.find(".select2-result-selectable:not(.select2-selected)").length||e.addClass("select2-selected")}),-1==this.highlight()&&!1!==i&&s.highlight(0),!this.opts.createSearchChoice&&!r.filter(".select2-result:not(.select2-selected)").length>0&&(!t||t&&!t.more&&0===this.results.find(".select2-no-results").length)&&E(s.opts.formatNoMatches,"formatNoMatches")&&this.results.append("
    • "+I(s.opts.formatNoMatches,s.opts.element,s.search.val())+"
    • ")},getMaxSearchWidth:function(){return this.selection.width()-v(this.search)},resizeSearch:function(){var e,i,n,r,o=v(this.search);e=function(e){if(!s){var i=e[0].currentStyle||window.getComputedStyle(e[0],null);(s=t(document.createElement("div")).css({position:"absolute",left:"-10000px",top:"-10000px",display:"none",fontSize:i.fontSize,fontFamily:i.fontFamily,fontStyle:i.fontStyle,fontWeight:i.fontWeight,letterSpacing:i.letterSpacing,textTransform:i.textTransform,whiteSpace:"nowrap"})).attr("class","select2-sizer"),t("body").append(s)}return s.text(e.val()),s.width()}(this.search)+10,i=this.search.offset().left,(r=(n=this.selection.width())-(i-this.selection.offset().left)-o)0&&i--,t.splice(n,1),n--);return{added:e,removed:t}},val:function(i,n){var r,o=this;if(0===arguments.length)return this.getVal();if((r=this.data()).length||(r=[]),!i&&0!==i)return this.opts.element.val(""),this.updateSelection([]),this.clearSearch(),void(n&&this.triggerChange({added:this.data(),removed:r}));if(this.setVal(i),this.select)this.opts.initSelection(this.select,this.bind(this.updateSelection)),n&&this.triggerChange(this.buildChangeDetails(r,this.data()));else{if(this.opts.initSelection===e)throw new Error("val() cannot be called if initSelection() is not defined");this.opts.initSelection(this.opts.element,function(e){var i=t.map(e,o.id);o.setVal(i),o.updateSelection(e),o.clearSearch(),n&&o.triggerChange(o.buildChangeDetails(r,o.data()))})}this.clearSearch()},onSortStart:function(){if(this.select)throw new Error("Sorting of elements is not supported when attached to instead.");this.search.width(0),this.searchContainer.hide()},onSortEnd:function(){var e=[],i=this;this.searchContainer.show(),this.searchContainer.appendTo(this.searchContainer.parent()),this.resizeSearch(),this.selection.find(".select2-search-choice").each(function(){e.push(i.opts.id(t(this).data("select2-data")))}),this.setVal(e),this.triggerChange()},data:function(e,i){var n,r,o=this;if(0===arguments.length)return this.selection.children(".select2-search-choice").map(function(){return t(this).data("select2-data")}).get();r=this.data(),e||(e=[]),n=t.map(e,function(t){return o.opts.id(t)}),this.setVal(n),this.updateSelection(e),this.clearSearch(),i&&this.triggerChange(this.buildChangeDetails(r,this.data()))}}),t.fn.select2=function(){var i,n,r,o,s,a=Array.prototype.slice.call(arguments,0),u=["val","destroy","opened","open","close","focus","isFocused","container","dropdown","onSortStart","onSortEnd","enable","disable","readonly","positionDropdown","data","search"],c=["opened","isFocused","container","dropdown"],h=["val","data"],l={search:"externalSearch"};return this.each(function(){if(0===a.length||"object"==typeof a[0])(i=0===a.length?{}:t.extend({},a[0])).element=t(this),"select"===i.element.get(0).tagName.toLowerCase()?s=i.element.prop("multiple"):(s=i.multiple||!1,"tags"in i&&(i.multiple=s=!0)),(n=s?new window.Select2.class.multi:new window.Select2.class.single).init(i);else{if("string"!=typeof a[0])throw"Invalid arguments to select2 plugin: "+a;if(g(a[0],u)<0)throw"Unknown method: "+a[0];if(o=e,(n=t(this).data("select2"))===e)return;if("container"===(r=a[0])?o=n.container:"dropdown"===r?o=n.dropdown:(l[r]&&(r=l[r]),o=n[r].apply(n,a.slice(1))),g(a[0],c)>=0||g(a[0],h)>=0&&1==a.length)return!1}}),o===e?this:o},t.fn.select2.defaults={width:"copy",loadMorePadding:0,closeOnSelect:!0,openOnEnter:!0,containerCss:{},dropdownCss:{},containerCssClass:"",dropdownCssClass:"",formatResult:function(t,e,i,n){var r=[];return x(t.text,i.term,r,n),r.join("")},formatSelection:function(t,i,n){return t?n(t.text):e},sortResults:function(t,e,i){return t},formatResultCssClass:function(t){return t.css},formatSelectionCssClass:function(t,i){return e},minimumResultsForSearch:0,minimumInputLength:0,maximumInputLength:null,maximumSelectionSize:0,id:function(t){return t==e?null:t.id},matcher:function(t,e){return p(""+e).toUpperCase().indexOf(p(""+t).toUpperCase())>=0},separator:",",tokenSeparators:[],tokenizer:function(t,i,n,r){var o,s,a,u,c,h=t,l=!1;if(!r.createSearchChoice||!r.tokenSeparators||r.tokenSeparators.length<1)return e;for(;;){for(s=-1,a=0,u=r.tokenSeparators.length;a=0));a++);if(s<0)break;if(o=t.substring(0,s),t=t.substring(s+c.length),o.length>0&&(o=r.createSearchChoice.call(this,o,i))!==e&&null!==o&&r.id(o)!==e&&null!==r.id(o)){for(l=!1,a=0,u=i.length;a0)&&t.opts.minimumResultsForSearch<0)}},t.fn.select2.locales=[],t.fn.select2.locales.en={formatMatches:function(t){return 1===t?"One result is available, press enter to select it.":t+" results are available, use up and down arrow keys to navigate."},formatNoMatches:function(){return"No matches found"},formatAjaxError:function(t,e,i){return"Loading failed"},formatInputTooShort:function(t,e){var i=e-t.length;return"Please enter "+i+" or more character"+(1==i?"":"s")},formatInputTooLong:function(t,e){var i=t.length-e;return"Please delete "+i+" character"+(1==i?"":"s")},formatSelectionTooBig:function(t){return"You can only select "+t+" item"+(1==t?"":"s")},formatLoadMore:function(t){return"Loading more results…"},formatSearching:function(){return"Searching…"}},t.extend(t.fn.select2.defaults,t.fn.select2.locales.en),t.fn.select2.ajaxDefaults={transport:t.ajax,params:{type:"GET",cache:!1,dataType:"json"}},window.Select2={query:{ajax:_,local:M,tags:B},util:{debounce:y,markMatch:x,escapeMarkup:k,stripDiacritics:p},class:{abstract:i,single:n,multi:r}}}function f(e){var i=t(document.createTextNode(""));e.before(i),i.before(e),i.remove()}function p(t){return t.replace(/[^\u0000-\u007E]/g,function(t){return d[t]||t})}function g(t,e){for(var i=0,n=e.length;i"),i.push(n(t.substring(r,r+o))),i.push(""),i.push(n(t.substring(r+o,t.length))))}function k(t){var e={"\\":"\","&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};return String(t).replace(/[&<>"'\/\\]/g,function(t){return e[t]})}function _(i){var n,r=null,o=i.quietMillis||100,s=i.url,a=this;return function(u){window.clearTimeout(n),n=window.setTimeout(function(){var n=i.data,o=s,c=i.transport||t.fn.select2.ajaxDefaults.transport,h={type:i.type||"GET",cache:i.cache||!1,jsonpCallback:i.jsonpCallback||e,dataType:i.dataType||"json"},l=t.extend({},t.fn.select2.ajaxDefaults.params,h);n=n?n.call(a,u.term,u.page,u.context):null,o="function"==typeof o?o.call(a,u.term,u.page,u.context):o,r&&"function"==typeof r.abort&&r.abort(),i.params&&(t.isFunction(i.params)?t.extend(l,i.params.call(a)):t.extend(l,i.params)),t.extend(l,{url:o,dataType:i.dataType,data:n,success:function(t){var e=i.results(t,u.page,u);u.callback(e)},error:function(t,e,i){var n={hasError:!0,jqXHR:t,textStatus:e,errorThrown:i};u.callback(n)}}),r=c.call(a,l)},o)}}function M(e){var i,n,r=e,o=function(t){return""+t.text};t.isArray(r)&&(r={results:n=r}),!1===t.isFunction(r)&&(n=r,r=function(){return n});var s=r();return s.text&&(o=s.text,t.isFunction(o)||(i=s.text,o=function(t){return t[i]})),function(e){var i,n=e.term,s={results:[]};""!==n?(i=function(r,s){var a,u;if((r=r[0]).children){for(u in a={},r)r.hasOwnProperty(u)&&(a[u]=r[u]);a.children=[],t(r.children).each2(function(t,e){i(e,a.children)}),(a.children.length||e.matcher(n,o(a),r))&&s.push(a)}else e.matcher(n,o(r),r)&&s.push(r)},t(r().results).each2(function(t,e){i(e,s.results)}),e.callback(s)):e.callback(r())}}function B(i){var n=t.isFunction(i);return function(r){var o=r.term,s={results:[]},a=n?i(r):i;t.isArray(a)&&(t(a).each(function(){var t=this.text!==e,i=t?this.text:this;(""===o||r.matcher(o,i))&&s.results.push(t?this:{id:this,text:this})}),r.callback(s))}}function E(e,i){if(t.isFunction(e))return!0;if(!e)return!1;if("string"==typeof e)return!0;throw new Error(i+" must be a string, function, or falsy value")}function I(e,i){if(t.isFunction(e)){var n=Array.prototype.slice.call(arguments,2);return e.apply(i,n)}return e}function S(e){var i=0;return t.each(e,function(t,e){e.children?i+=S(e.children):i++}),i}function D(){var e=this;t.each(arguments,function(t,i){e[i].remove(),e[i]=null})}function T(e,i){var n=function(){};return(n.prototype=new e).constructor=n,n.prototype.parent=e.prototype,n.prototype=t.extend(n.prototype,i),n}}(r)},90392(t,e,i){"use strict";var n=i(92861).Buffer,r=i(15377);function o(t,e){this._block=n.alloc(t),this._finalSize=e,this._blockSize=t,this._len=0}o.prototype.update=function(t,e){t=r(t,e||"utf8");for(var i=this._block,n=this._blockSize,o=t.length,s=this._len,a=0;a=this._finalSize&&(this._update(this._block),this._block.fill(0));var i=8*this._len;if(i<=4294967295)this._block.writeUInt32BE(i,this._blockSize-4);else{var n=(4294967295&i)>>>0,r=(i-n)/4294967296;this._block.writeUInt32BE(r,this._blockSize-8),this._block.writeUInt32BE(n,this._blockSize-4)}this._update(this._block);var o=this._hash();return t?o.toString(t):o},o.prototype._update=function(){throw new Error("_update must be implemented by subclass")},t.exports=o},62802(t,e,i){"use strict";t.exports=function(e){var i=e.toLowerCase(),n=t.exports[i];if(!n)throw new Error(i+" is not supported (we accept pull requests)");return new n},t.exports.sha=i(27816),t.exports.sha1=i(63737),t.exports.sha224=i(26710),t.exports.sha256=i(24107),t.exports.sha384=i(32827),t.exports.sha512=i(82890)},27816(t,e,i){"use strict";var n=i(56698),r=i(90392),o=i(92861).Buffer,s=[1518500249,1859775393,-1894007588,-899497514],a=new Array(80);function u(){this.init(),this._w=a,r.call(this,64,56)}function c(t){return t<<5|t>>>27}function h(t){return t<<30|t>>>2}function l(t,e,i,n){return 0===t?e&i|~e&n:2===t?e&i|e&n|i&n:e^i^n}n(u,r),u.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},u.prototype._update=function(t){for(var e=this._w,i=0|this._a,n=0|this._b,r=0|this._c,o=0|this._d,a=0|this._e,u=0;u<16;++u)e[u]=t.readInt32BE(4*u);for(;u<80;++u)e[u]=e[u-3]^e[u-8]^e[u-14]^e[u-16];for(var d=0;d<80;++d){var f=~~(d/20),p=c(i)+l(f,n,r,o)+a+e[d]+s[f]|0;a=o,o=r,r=h(n),n=i,i=p}this._a=i+this._a|0,this._b=n+this._b|0,this._c=r+this._c|0,this._d=o+this._d|0,this._e=a+this._e|0},u.prototype._hash=function(){var t=o.allocUnsafe(20);return t.writeInt32BE(0|this._a,0),t.writeInt32BE(0|this._b,4),t.writeInt32BE(0|this._c,8),t.writeInt32BE(0|this._d,12),t.writeInt32BE(0|this._e,16),t},t.exports=u},63737(t,e,i){"use strict";var n=i(56698),r=i(90392),o=i(92861).Buffer,s=[1518500249,1859775393,-1894007588,-899497514],a=new Array(80);function u(){this.init(),this._w=a,r.call(this,64,56)}function c(t){return t<<1|t>>>31}function h(t){return t<<5|t>>>27}function l(t){return t<<30|t>>>2}function d(t,e,i,n){return 0===t?e&i|~e&n:2===t?e&i|e&n|i&n:e^i^n}n(u,r),u.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},u.prototype._update=function(t){for(var e=this._w,i=0|this._a,n=0|this._b,r=0|this._c,o=0|this._d,a=0|this._e,u=0;u<16;++u)e[u]=t.readInt32BE(4*u);for(;u<80;++u)e[u]=c(e[u-3]^e[u-8]^e[u-14]^e[u-16]);for(var f=0;f<80;++f){var p=~~(f/20),g=h(i)+d(p,n,r,o)+a+e[f]+s[p]|0;a=o,o=r,r=l(n),n=i,i=g}this._a=i+this._a|0,this._b=n+this._b|0,this._c=r+this._c|0,this._d=o+this._d|0,this._e=a+this._e|0},u.prototype._hash=function(){var t=o.allocUnsafe(20);return t.writeInt32BE(0|this._a,0),t.writeInt32BE(0|this._b,4),t.writeInt32BE(0|this._c,8),t.writeInt32BE(0|this._d,12),t.writeInt32BE(0|this._e,16),t},t.exports=u},26710(t,e,i){"use strict";var n=i(56698),r=i(24107),o=i(90392),s=i(92861).Buffer,a=new Array(64);function u(){this.init(),this._w=a,o.call(this,64,56)}n(u,r),u.prototype.init=function(){return this._a=3238371032,this._b=914150663,this._c=812702999,this._d=4144912697,this._e=4290775857,this._f=1750603025,this._g=1694076839,this._h=3204075428,this},u.prototype._hash=function(){var t=s.allocUnsafe(28);return t.writeInt32BE(this._a,0),t.writeInt32BE(this._b,4),t.writeInt32BE(this._c,8),t.writeInt32BE(this._d,12),t.writeInt32BE(this._e,16),t.writeInt32BE(this._f,20),t.writeInt32BE(this._g,24),t},t.exports=u},24107(t,e,i){"use strict";var n=i(56698),r=i(90392),o=i(92861).Buffer,s=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],a=new Array(64);function u(){this.init(),this._w=a,r.call(this,64,56)}function c(t,e,i){return i^t&(e^i)}function h(t,e,i){return t&e|i&(t|e)}function l(t){return(t>>>2|t<<30)^(t>>>13|t<<19)^(t>>>22|t<<10)}function d(t){return(t>>>6|t<<26)^(t>>>11|t<<21)^(t>>>25|t<<7)}function f(t){return(t>>>7|t<<25)^(t>>>18|t<<14)^t>>>3}function p(t){return(t>>>17|t<<15)^(t>>>19|t<<13)^t>>>10}n(u,r),u.prototype.init=function(){return this._a=1779033703,this._b=3144134277,this._c=1013904242,this._d=2773480762,this._e=1359893119,this._f=2600822924,this._g=528734635,this._h=1541459225,this},u.prototype._update=function(t){for(var e=this._w,i=0|this._a,n=0|this._b,r=0|this._c,o=0|this._d,a=0|this._e,u=0|this._f,g=0|this._g,A=0|this._h,m=0;m<16;++m)e[m]=t.readInt32BE(4*m);for(;m<64;++m)e[m]=p(e[m-2])+e[m-7]+f(e[m-15])+e[m-16]|0;for(var v=0;v<64;++v){var b=A+d(a)+c(a,u,g)+s[v]+e[v]|0,y=l(i)+h(i,n,r)|0;A=g,g=u,u=a,a=o+b|0,o=r,r=n,n=i,i=b+y|0}this._a=i+this._a|0,this._b=n+this._b|0,this._c=r+this._c|0,this._d=o+this._d|0,this._e=a+this._e|0,this._f=u+this._f|0,this._g=g+this._g|0,this._h=A+this._h|0},u.prototype._hash=function(){var t=o.allocUnsafe(32);return t.writeInt32BE(this._a,0),t.writeInt32BE(this._b,4),t.writeInt32BE(this._c,8),t.writeInt32BE(this._d,12),t.writeInt32BE(this._e,16),t.writeInt32BE(this._f,20),t.writeInt32BE(this._g,24),t.writeInt32BE(this._h,28),t},t.exports=u},32827(t,e,i){"use strict";var n=i(56698),r=i(82890),o=i(90392),s=i(92861).Buffer,a=new Array(160);function u(){this.init(),this._w=a,o.call(this,128,112)}n(u,r),u.prototype.init=function(){return this._ah=3418070365,this._bh=1654270250,this._ch=2438529370,this._dh=355462360,this._eh=1731405415,this._fh=2394180231,this._gh=3675008525,this._hh=1203062813,this._al=3238371032,this._bl=914150663,this._cl=812702999,this._dl=4144912697,this._el=4290775857,this._fl=1750603025,this._gl=1694076839,this._hl=3204075428,this},u.prototype._hash=function(){var t=s.allocUnsafe(48);function e(e,i,n){t.writeInt32BE(e,n),t.writeInt32BE(i,n+4)}return e(this._ah,this._al,0),e(this._bh,this._bl,8),e(this._ch,this._cl,16),e(this._dh,this._dl,24),e(this._eh,this._el,32),e(this._fh,this._fl,40),t},t.exports=u},82890(t,e,i){"use strict";var n=i(56698),r=i(90392),o=i(92861).Buffer,s=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591],a=new Array(160);function u(){this.init(),this._w=a,r.call(this,128,112)}function c(t,e,i){return i^t&(e^i)}function h(t,e,i){return t&e|i&(t|e)}function l(t,e){return(t>>>28|e<<4)^(e>>>2|t<<30)^(e>>>7|t<<25)}function d(t,e){return(t>>>14|e<<18)^(t>>>18|e<<14)^(e>>>9|t<<23)}function f(t,e){return(t>>>1|e<<31)^(t>>>8|e<<24)^t>>>7}function p(t,e){return(t>>>1|e<<31)^(t>>>8|e<<24)^(t>>>7|e<<25)}function g(t,e){return(t>>>19|e<<13)^(e>>>29|t<<3)^t>>>6}function A(t,e){return(t>>>19|e<<13)^(e>>>29|t<<3)^(t>>>6|e<<26)}function m(t,e){return t>>>0>>0?1:0}n(u,r),u.prototype.init=function(){return this._ah=1779033703,this._bh=3144134277,this._ch=1013904242,this._dh=2773480762,this._eh=1359893119,this._fh=2600822924,this._gh=528734635,this._hh=1541459225,this._al=4089235720,this._bl=2227873595,this._cl=4271175723,this._dl=1595750129,this._el=2917565137,this._fl=725511199,this._gl=4215389547,this._hl=327033209,this},u.prototype._update=function(t){for(var e=this._w,i=0|this._ah,n=0|this._bh,r=0|this._ch,o=0|this._dh,a=0|this._eh,u=0|this._fh,v=0|this._gh,b=0|this._hh,y=0|this._al,w=0|this._bl,C=0|this._cl,x=0|this._dl,k=0|this._el,_=0|this._fl,M=0|this._gl,B=0|this._hl,E=0;E<32;E+=2)e[E]=t.readInt32BE(4*E),e[E+1]=t.readInt32BE(4*E+4);for(;E<160;E+=2){var I=e[E-30],S=e[E-30+1],D=f(I,S),T=p(S,I),O=g(I=e[E-4],S=e[E-4+1]),P=A(S,I),R=e[E-14],z=e[E-14+1],N=e[E-32],H=e[E-32+1],j=T+z|0,L=D+R+m(j,T)|0;L=(L=L+O+m(j=j+P|0,P)|0)+N+m(j=j+H|0,H)|0,e[E]=L,e[E+1]=j}for(var U=0;U<160;U+=2){L=e[U],j=e[U+1];var q=h(i,n,r),F=h(y,w,C),W=l(i,y),Y=l(y,i),Q=d(a,k),G=d(k,a),V=s[U],K=s[U+1],X=c(a,u,v),Z=c(k,_,M),J=B+G|0,$=b+Q+m(J,B)|0;$=($=($=$+X+m(J=J+Z|0,Z)|0)+V+m(J=J+K|0,K)|0)+L+m(J=J+j|0,j)|0;var tt=Y+F|0,et=W+q+m(tt,Y)|0;b=v,B=M,v=u,M=_,u=a,_=k,a=o+$+m(k=x+J|0,x)|0,o=r,x=C,r=n,C=w,n=i,w=y,i=$+et+m(y=J+tt|0,J)|0}this._al=this._al+y|0,this._bl=this._bl+w|0,this._cl=this._cl+C|0,this._dl=this._dl+x|0,this._el=this._el+k|0,this._fl=this._fl+_|0,this._gl=this._gl+M|0,this._hl=this._hl+B|0,this._ah=this._ah+i+m(this._al,y)|0,this._bh=this._bh+n+m(this._bl,w)|0,this._ch=this._ch+r+m(this._cl,C)|0,this._dh=this._dh+o+m(this._dl,x)|0,this._eh=this._eh+a+m(this._el,k)|0,this._fh=this._fh+u+m(this._fl,_)|0,this._gh=this._gh+v+m(this._gl,M)|0,this._hh=this._hh+b+m(this._hl,B)|0},u.prototype._hash=function(){var t=o.allocUnsafe(64);function e(e,i,n){t.writeInt32BE(e,n),t.writeInt32BE(i,n+4)}return e(this._ah,this._al,0),e(this._bh,this._bl,8),e(this._ch,this._cl,16),e(this._dh,this._dl,24),e(this._eh,this._el,32),e(this._fh,this._fl,40),e(this._gh,this._gl,48),e(this._hh,this._hl,56),t},t.exports=u},57223(){"use strict";!function t(e,i,n){function r(s,a){if(!i[s]){if(!e[s]){if(o)return o(s,!0);throw new Error("Cannot find module '"+s+"'")}var u=i[s]={exports:{}};e[s][0].call(u.exports,function(t){return r(e[s][1][t]||t)},u,u.exports,t,e,i,n)}return i[s].exports}for(var o=void 0,s=0;s0?e.touches[0]["page"+t]:e.changedTouches[0]["page"+t]:e["page"+t]},klass:{has:function(t,e){return-1!==t.className.indexOf(e)},add:function(t,i){!r.klass.has(t,i)&&e.addBodyClasses&&(t.className+=" "+i)},remove:function(t,i){e.addBodyClasses&&(t.className=t.className.replace(i,"").replace(/^\s+|\s+$/g,""))}},dispatchEvent:function(t){if("function"==typeof n[t])return n[t].call()},vendor:function(){var t,e=document.createElement("div"),i="webkit Moz O ms".split(" ");for(t in i)if(void 0!==e.style[i[t]+"Transition"])return i[t]},transitionCallback:function(){return"Moz"===i.vendor||"ms"===i.vendor?"transitionend":i.vendor+"TransitionEnd"},deepExtend:function(t,e){var i;for(i in e)e[i]&&e[i].constructor&&e[i].constructor===Object?(t[i]=t[i]||{},r.deepExtend(t[i],e[i])):t[i]=e[i];return t},angleOfDrag:function(t,e){var n,r;return(r=Math.atan2(-(i.startDragY-e),i.startDragX-t))<0&&(r+=2*Math.PI),(n=Math.floor(r*(180/Math.PI)-180))<0&&n>-180&&(n=360-Math.abs(n)),Math.abs(n)},events:{addEvent:function(t,e,i){return t.addEventListener?t.addEventListener(e,i,!1):t.attachEvent?t.attachEvent("on"+e,i):void 0},removeEvent:function(t,e,i){return t.addEventListener?t.removeEventListener(e,i,!1):t.attachEvent?t.detachEvent("on"+e,i):void 0},prevent:function(t){t.preventDefault?t.preventDefault():t.returnValue=!1}},parentUntil:function(t,e){for(var i="string"==typeof e;t.parentNode;){if(i&&t.getAttribute&&t.getAttribute(e))return t;if(!i&&t===e)return t;t=t.parentNode}return null}},o={translate:{get:{matrix:function(t){var n=window.getComputedStyle(e.element)[i.vendor+"Transform"].match(/\((.*)\)/);return n?(16===(n=n[1].split(",")).length&&(t+=8),parseInt(n[t],10)):0}},easeCallback:function(){e.element.style[i.vendor+"Transition"]="",i.translation=o.translate.get.matrix(4),i.easing=!1,clearInterval(i.animatingInterval),0===i.easingTo&&(r.klass.remove(document.body,"snapjs-right"),r.klass.remove(document.body,"snapjs-left")),r.dispatchEvent("animated"),r.events.removeEvent(e.element,r.transitionCallback(),o.translate.easeCallback)},easeTo:function(t){i.easing=!0,i.easingTo=t,e.element.style[i.vendor+"Transition"]="all "+e.transitionSpeed+"s "+e.easing,i.animatingInterval=setInterval(function(){r.dispatchEvent("animating")},1),r.events.addEvent(e.element,r.transitionCallback(),o.translate.easeCallback),o.translate.x(t),0===t&&(e.element.style[i.vendor+"Transform"]="")},x:function(t){if(!("left"===e.disable&&t>0||"right"===e.disable&&t<0)){e.hyperextensible||(t===e.maxPosition||t>e.maxPosition?t=e.maxPosition:(t===e.minPosition||t0,l=c;if(i.intentChecked&&!i.hasIntent)return;if(e.addBodyClasses&&(u>0?(r.klass.add(document.body,"snapjs-left"),r.klass.remove(document.body,"snapjs-right")):u<0&&(r.klass.add(document.body,"snapjs-right"),r.klass.remove(document.body,"snapjs-left"))),!1===i.hasIntent||null===i.hasIntent){var d=r.angleOfDrag(n,s),f=d>=0&&d<=e.slideIntent||d<=360&&d>360-e.slideIntent;d>=180&&d<=180+e.slideIntent||d<=180&&d>=180-e.slideIntent||f?(i.hasIntent=!0,e.stopPropagation&&t.stopPropagation()):i.hasIntent=!1,i.intentChecked=!0}if(e.minDragDistance>=Math.abs(n-i.startDragX)||!1===i.hasIntent)return;r.events.prevent(t),r.dispatchEvent("drag"),i.dragWatchers.current=n,i.dragWatchers.last>n?("left"!==i.dragWatchers.state&&(i.dragWatchers.state="left",i.dragWatchers.hold=n),i.dragWatchers.last=n):i.dragWatchers.laste.maxPosition/2,flick:Math.abs(i.dragWatchers.current-i.dragWatchers.hold)>e.flickThreshold,translation:{absolute:u,relative:c,sinceDirectionChange:i.dragWatchers.current-i.dragWatchers.hold,percentage:u/e.maxPosition*100}}):(e.minPosition>u&&(l=c-(u-e.minPosition)*e.resistance),i.simpleStates={opening:"right",towards:i.dragWatchers.state,hyperExtending:e.minPosition>u,halfway:ue.flickThreshold,translation:{absolute:u,relative:c,sinceDirectionChange:i.dragWatchers.current-i.dragWatchers.hold,percentage:u/e.minPosition*100}}),o.translate.x(l+a)}},endDrag:function(t){if(i.isDragging){r.dispatchEvent("end");var n=o.translate.get.matrix(4);if(0===i.dragWatchers.current&&0!==n&&e.tapToClose)return r.dispatchEvent("close"),r.events.prevent(t),o.translate.easeTo(0),i.isDragging=!1,void(i.startDragX=0);"left"===i.simpleStates.opening?i.simpleStates.halfway||i.simpleStates.hyperExtending||i.simpleStates.flick?i.simpleStates.flick&&"left"===i.simpleStates.towards?o.translate.easeTo(0):(i.simpleStates.flick&&"right"===i.simpleStates.towards||i.simpleStates.halfway||i.simpleStates.hyperExtending)&&o.translate.easeTo(e.maxPosition):o.translate.easeTo(0):"right"===i.simpleStates.opening&&(i.simpleStates.halfway||i.simpleStates.hyperExtending||i.simpleStates.flick?i.simpleStates.flick&&"right"===i.simpleStates.towards?o.translate.easeTo(0):(i.simpleStates.flick&&"left"===i.simpleStates.towards||i.simpleStates.halfway||i.simpleStates.hyperExtending)&&o.translate.easeTo(e.minPosition):o.translate.easeTo(0)),i.isDragging=!1,i.startDragX=r.page("X",t)}}}},s=function(t){if(r.deepExtend(e,t),!e.element)throw"Snap's element argument does not exist.";e.element.setAttribute("touch-action","pan-y")};this.open=function(t){r.dispatchEvent("open"),r.klass.remove(document.body,"snapjs-expand-left"),r.klass.remove(document.body,"snapjs-expand-right"),"left"===t?(i.simpleStates.opening="left",i.simpleStates.towards="right",r.klass.add(document.body,"snapjs-left"),r.klass.remove(document.body,"snapjs-right"),o.translate.easeTo(e.maxPosition)):"right"===t&&(i.simpleStates.opening="right",i.simpleStates.towards="left",r.klass.remove(document.body,"snapjs-left"),r.klass.add(document.body,"snapjs-right"),o.translate.easeTo(e.minPosition))},this.close=function(){r.dispatchEvent("close"),o.translate.easeTo(0)},this.expand=function(t){var e=window.innerWidth||document.documentElement.clientWidth;"left"===t?(r.dispatchEvent("expandLeft"),r.klass.add(document.body,"snapjs-expand-left"),r.klass.remove(document.body,"snapjs-expand-right")):(r.dispatchEvent("expandRight"),r.klass.add(document.body,"snapjs-expand-right"),r.klass.remove(document.body,"snapjs-expand-left"),e*=-1),o.translate.easeTo(e)},this.on=function(t,e){return n[t]=e,this},this.off=function(t){n[t]&&(n[t]=!1)},this.enable=function(){r.dispatchEvent("enable"),o.drag.listen()},this.disable=function(){r.dispatchEvent("disable"),o.drag.stopListening()},this.settings=function(t){s(t)},this.state=function(){var t=o.translate.get.matrix(4);return{state:t===e.maxPosition?"left":t===e.minPosition?"right":"closed",info:i.simpleStates}},s(t),i.vendor=r.vendor(),o.drag.listen()}},{}]},{},[1])},53425(t,e,i){var n,r=i(74692);(n=r).fn.strengthify=function(t){"use strict";var e={zxcvbn:"zxcvbn/zxcvbn.js",userInputs:[],titles:["Weakest","Weak","So-so","Good","Perfect"],tilesOptions:{tooltip:!0,element:!1},drawTitles:!1,drawMessage:!1,drawBars:!0,$addAfter:null,nonce:null};return this.each(function(){var i=n.extend(e,t);function r(t){return n('div[data-strengthifyFor="'+t+'"]')}function o(){var t=n(this).val().substring(0,100),e=n(this).attr("id"),o=""===t?0:1,s=zxcvbn(t,i.userInputs),a="",u="",c="",h=r(e),l=h.find(".strengthify-container"),d=h.find("[data-strengthifyMessage]");switch(h.children().css("opacity",o).css("-ms-filter",'"progid:DXImageTransform.Microsoft.Alpha(Opacity='+100*o+')"'),i.onResult&&i.onResult(s),s.score){case 0:case 1:a="password-bad",u="danger",c=s.feedback?s.feedback.suggestions.join("
      "):"";break;case 2:u="warning",c=s.feedback?s.feedback.suggestions.join("
      "):"",a="password-medium";break;case 3:a="password-good",u="info",c="Getting better.";break;case 4:a="password-good",u="success",c="Looks good."}d&&(d.removeAttr("class"),d.addClass("bg-"+u),""===t&&(c=""),d.html(c)),l&&(l.attr("class",a+" strengthify-container").css("width",25*(0===s.score?1:s.score)+"%"),""===t&&l.css("width",0)),i.drawTitles&&(i.tilesOptions.tooltip&&(h.attr("title",i.titles[s.score]).tooltip({placement:"bottom",trigger:"manual"}).tooltip("fixTitle").tooltip("show"),0===o&&h.tooltip("hide")),i.tilesOptions.element&&h.find(".strengthify-tiles").text(i.titles[s.score]))}i.drawTitles||i.drawMessage||i.drawBars||console.warn("expect at least one of 'drawTitles', 'drawMessage', or 'drawBars' to be true"),function(){var t=n(this),e=t.attr("id"),s=o.bind(this),a=i.$addAfter;a||(a=t),a.after('
      '),i.drawBars&&r(e).append('
      ').append('
      ').append('
      ').append('
      ').append('
      '),i.drawMessage&&r(e).append("
      "),i.drawTitles&&i.tilesOptions&&r(e).append('
      ');var u=document.createElement("script");u.src=i.zxcvbn,null!==i.nonce&&u.setAttribute("nonce",i.nonce),u.onload=function(){t.parent().on("scroll",s),t.bind("keyup input change",s)},document.head.appendChild(u)}.call(this)})}},15377(t,e,i){"use strict";var n=i(92861).Buffer,r=i(92006),o=i(74372),s=ArrayBuffer.isView||function(t){try{return o(t),!0}catch(t){return!1}},a="undefined"!=typeof Uint8Array,u="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array,c=u&&(n.prototype instanceof Uint8Array||n.TYPED_ARRAY_SUPPORT);t.exports=function(t,e){if(n.isBuffer(t))return t.constructor&&!("isBuffer"in t)?n.from(t):t;if("string"==typeof t)return n.from(t,e);if(u&&s(t)){if(0===t.byteLength)return n.alloc(0);if(c){var i=n.from(t.buffer,t.byteOffset,t.byteLength);if(i.byteLength===t.byteLength)return i}var o=t instanceof Uint8Array?t:new Uint8Array(t.buffer,t.byteOffset,t.byteLength),h=n.from(o);if(h.length===t.byteLength)return h}if(a&&t instanceof Uint8Array)return n.from(t);var l=r(t);if(l)for(var d=0;d255||~~f!==f)throw new RangeError("Array items must be numbers in the range 0-255.")}if(l||n.isBuffer(t)&&t.constructor&&"function"==typeof t.constructor.isBuffer&&t.constructor.isBuffer(t))return n.from(t);throw new TypeError('The "data" argument must be a string, an Array, a Buffer, a Uint8Array, or a DataView.')}},92006(t){var e={}.toString;t.exports=Array.isArray||function(t){return"[object Array]"==e.call(t)}},74372(t,e,i){"use strict";var n=i(69675),r=i(36556)("TypedArray.prototype.buffer",!0),o=i(35680);t.exports=r||function(t){if(!o(t))throw new n("Not a Typed Array");return t.buffer}},68961(__unused_webpack_module,exports){var indexOf=function(t,e){if(t.indexOf)return t.indexOf(e);for(var i=0;i=o&&(!i||A))n=v(t,0,o);else{var m=i&&!A&&y?{maxByteLength:p(o,y(t))}:void 0;n=new d(o,m);for(var x=new f(t),k=new f(n),_=g(o,r),M=0;M<_;M++)C(k,M,w(x,M))}return h||c(t),n}},94644(t,e,i){"use strict";var n,r,o,s=i(77811),a=i(43724),u=i(44576),c=i(94901),h=i(20034),l=i(39297),d=i(36955),f=i(16823),p=i(66699),g=i(36840),A=i(62106),m=i(1625),v=i(42787),b=i(52967),y=i(608),w=i(33392),C=i(91181),x=C.enforce,k=C.get,_=u.Int8Array,M=_&&_.prototype,B=u.Uint8ClampedArray,E=B&&B.prototype,I=_&&v(_),S=M&&v(M),D=Object.prototype,T=u.TypeError,O=y("toStringTag"),P=w("TYPED_ARRAY_TAG"),R="TypedArrayConstructor",z=s&&!!b&&"Opera"!==d(u.opera),N=!1,H={Int8Array:1,Uint8Array:1,Uint8ClampedArray:1,Int16Array:2,Uint16Array:2,Int32Array:4,Uint32Array:4,Float32Array:4,Float64Array:8},j={BigInt64Array:8,BigUint64Array:8},L=function(t){var e=v(t);if(h(e)){var i=k(e);return i&&l(i,R)?i[R]:L(e)}},U=function(t){if(!h(t))return!1;var e=d(t);return l(H,e)||l(j,e)};for(n in H)(o=(r=u[n])&&r.prototype)?x(o)[R]=r:z=!1;for(n in j)(o=(r=u[n])&&r.prototype)&&(x(o)[R]=r);if((!z||!c(I)||I===Function.prototype)&&(I=function(){throw new T("Incorrect invocation")},z))for(n in H)u[n]&&b(u[n],I);if((!z||!S||S===D)&&(S=I.prototype,z))for(n in H)u[n]&&b(u[n].prototype,S);if(z&&v(E)!==S&&b(E,S),a&&!l(S,O))for(n in N=!0,A(S,O,{configurable:!0,get:function(){return h(this)?this[P]:void 0}}),H)u[n]&&p(u[n].prototype,P,n);t.exports={NATIVE_ARRAY_BUFFER_VIEWS:z,TYPED_ARRAY_TAG:N&&P,aTypedArray:function(t){if(U(t))return t;throw new T("Target is not a typed array")},aTypedArrayConstructor:function(t){if(c(t)&&(!b||m(I,t)))return t;throw new T(f(t)+" is not a typed array constructor")},exportTypedArrayMethod:function(t,e,i,n){if(a){if(i)for(var r in H){var o=u[r];if(o&&l(o.prototype,t))try{delete o.prototype[t]}catch(i){try{o.prototype[t]=e}catch(t){}}}S[t]&&!i||g(S,t,i?e:z&&M[t]||e,n)}},exportTypedArrayStaticMethod:function(t,e,i){var n,r;if(a){if(b){if(i)for(n in H)if((r=u[n])&&l(r,t))try{delete r[t]}catch(t){}if(I[t]&&!i)return;try{return g(I,t,i?e:z&&I[t]||e)}catch(t){}}for(n in H)!(r=u[n])||r[t]&&!i||g(r,t,e)}},getTypedArrayConstructor:L,isView:function(t){if(!h(t))return!1;var e=d(t);return"DataView"===e||l(H,e)||l(j,e)},isTypedArray:U,TypedArray:I,TypedArrayPrototype:S}},66346(t,e,i){"use strict";var n=i(44576),r=i(79504),o=i(43724),s=i(77811),a=i(10350),u=i(66699),c=i(62106),h=i(56279),l=i(79039),d=i(90679),f=i(91291),p=i(57696),g=i(15617),A=i(88490),m=i(42787),v=i(52967),b=i(84373),y=i(67680),w=i(23167),C=i(77740),x=i(10687),k=i(91181),_=a.PROPER,M=a.CONFIGURABLE,B="ArrayBuffer",E="DataView",I="prototype",S="Wrong index",D=k.getterFor(B),T=k.getterFor(E),O=k.set,P=n[B],R=P,z=R&&R[I],N=n[E],H=N&&N[I],j=Object.prototype,L=n.Array,U=n.RangeError,q=r(b),F=r([].reverse),W=A.pack,Y=A.unpack,Q=function(t){return[255&t]},G=function(t){return[255&t,t>>8&255]},V=function(t){return[255&t,t>>8&255,t>>16&255,t>>24&255]},K=function(t){return t[3]<<24|t[2]<<16|t[1]<<8|t[0]},X=function(t){return W(g(t),23,4)},Z=function(t){return W(t,52,8)},J=function(t,e,i){c(t[I],e,{configurable:!0,get:function(){return i(this)[e]}})},$=function(t,e,i,n){var r=T(t),o=p(i),s=!!n;if(o+e>r.byteLength)throw new U(S);var a=r.bytes,u=o+r.byteOffset,c=y(a,u,u+e);return s?c:F(c)},tt=function(t,e,i,n,r,o){var s=T(t),a=p(i),u=n(+r),c=!!o;if(a+e>s.byteLength)throw new U(S);for(var h=s.bytes,l=a+s.byteOffset,d=0;d>24)},setUint8:function(t,e){nt(this,t,e<<24>>24)}},{unsafe:!0})}else z=(R=function(t){d(this,z);var e=p(t);O(this,{type:B,bytes:q(L(e),0),byteLength:e}),o||(this.byteLength=e,this.detached=!1)})[I],H=(N=function(t,e,i){d(this,H),d(t,z);var n=D(t),r=n.byteLength,s=f(e);if(s<0||s>r)throw new U("Wrong offset");if(s+(i=void 0===i?r-s:p(i))>r)throw new U("Wrong length");O(this,{type:E,buffer:t,byteLength:i,byteOffset:s,bytes:n.bytes}),o||(this.buffer=t,this.byteLength=i,this.byteOffset=s)})[I],o&&(J(R,"byteLength",D),J(N,"buffer",T),J(N,"byteLength",T),J(N,"byteOffset",T)),h(H,{getInt8:function(t){return $(this,1,t)[0]<<24>>24},getUint8:function(t){return $(this,1,t)[0]},getInt16:function(t){var e=$(this,2,t,arguments.length>1&&arguments[1]);return(e[1]<<8|e[0])<<16>>16},getUint16:function(t){var e=$(this,2,t,arguments.length>1&&arguments[1]);return e[1]<<8|e[0]},getInt32:function(t){return K($(this,4,t,arguments.length>1&&arguments[1]))},getUint32:function(t){return K($(this,4,t,arguments.length>1&&arguments[1]))>>>0},getFloat32:function(t){return Y($(this,4,t,arguments.length>1&&arguments[1]),23)},getFloat64:function(t){return Y($(this,8,t,arguments.length>1&&arguments[1]),52)},setInt8:function(t,e){tt(this,1,t,Q,e)},setUint8:function(t,e){tt(this,1,t,Q,e)},setInt16:function(t,e){tt(this,2,t,G,e,arguments.length>2&&arguments[2])},setUint16:function(t,e){tt(this,2,t,G,e,arguments.length>2&&arguments[2])},setInt32:function(t,e){tt(this,4,t,V,e,arguments.length>2&&arguments[2])},setUint32:function(t,e){tt(this,4,t,V,e,arguments.length>2&&arguments[2])},setFloat32:function(t,e){tt(this,4,t,X,e,arguments.length>2&&arguments[2])},setFloat64:function(t,e){tt(this,8,t,Z,e,arguments.length>2&&arguments[2])}});x(R,B),x(N,E),t.exports={ArrayBuffer:R,DataView:N}},57029(t,e,i){"use strict";var n=i(48981),r=i(35610),o=i(26198),s=i(84606),a=Math.min;t.exports=[].copyWithin||function(t,e){var i=n(this),u=o(i),c=r(t,u),h=r(e,u),l=arguments.length>2?arguments[2]:void 0,d=a((void 0===l?u:r(l,u))-h,u-c),f=1;for(h0;)h in i?i[c]=i[h]:s(i,c),c+=f,h+=f;return i}},84373(t,e,i){"use strict";var n=i(48981),r=i(35610),o=i(26198);t.exports=function(t){for(var e=n(this),i=o(e),s=arguments.length,a=r(s>1?arguments[1]:void 0,i),u=s>2?arguments[2]:void 0,c=void 0===u?i:r(u,i);c>a;)e[a++]=t;return e}},90235(t,e,i){"use strict";var n=i(59213).forEach,r=i(34598)("forEach");t.exports=r?[].forEach:function(t){return n(this,t,arguments.length>1?arguments[1]:void 0)}},8045(t,e,i){"use strict";var n=i(76080),r=i(79504),o=i(33517),s=i(1886),a=i(70081),u=i(1767),c=i(50851),h=i(55966),l=i(97751),d=i(44124),f=i(608),p=i(24074),g=i(36639).toArray,A=f("asyncIterator"),m=r(d("Array","values")),v=r(m([]).next),b=function(){return new y(this)},y=function(t){this.iterator=m(t)};y.prototype.next=function(){return v(this.iterator)},t.exports=function(t){var e=this,i=arguments.length,r=i>1?arguments[1]:void 0,d=i>2?arguments[2]:void 0;return new(l("Promise"))(function(i){void 0!==r&&(r=n(r,d));var l=h(t,A),f=l?void 0:c(t)||b,m=o(e)?new e:[],v=l?s(t,l):new p(u(a(t,f)));i(g(v,r,m))})}},35370(t,e,i){"use strict";var n=i(26198);t.exports=function(t,e,i){for(var r=0,o=arguments.length>2?i:n(e),s=new t(o);o>r;)s[r]=e[r++];return s}},97916(t,e,i){"use strict";var n=i(76080),r=i(69565),o=i(48981),s=i(96319),a=i(44209),u=i(33517),c=i(26198),h=i(97040),l=i(34527),d=i(70081),f=i(50851),p=i(9539),g=Array;t.exports=function(t){var e=u(this),i=arguments.length,A=i>1?arguments[1]:void 0,m=void 0!==A;m&&(A=n(A,i>2?arguments[2]:void 0));var v,b,y,w,C,x,k=o(t),_=f(k),M=0;if(!_||this===g&&a(_))for(v=c(k),b=e?new this(v):g(v);v>M;M++)x=m?A(k[M],M):k[M],h(b,M,x);else for(b=e?new this:[],C=(w=d(k,_)).next;!(y=r(C,w)).done;M++){x=m?s(w,A,[y.value,M],!0):y.value;try{h(b,M,x)}catch(t){p(w,"throw",t)}}return l(b,M),b}},19617(t,e,i){"use strict";var n=i(25397),r=i(35610),o=i(26198),s=function(t){return function(e,i,s){var a=n(e),u=o(a);if(0===u)return!t&&-1;var c,h=r(s,u);if(t&&i!=i){for(;u>h;)if((c=a[h++])!=c)return!0}else for(;u>h;h++)if((t||h in a)&&a[h]===i)return t||h||0;return!t&&-1}};t.exports={includes:s(!0),indexOf:s(!1)}},43839(t,e,i){"use strict";var n=i(76080),r=i(47055),o=i(48981),s=i(26198),a=function(t){var e=1===t;return function(i,a,u){for(var c,h=o(i),l=r(h),d=s(l),f=n(a,u);d-- >0;)if(f(c=l[d],d,h))switch(t){case 0:return c;case 1:return d}return e?-1:void 0}};t.exports={findLast:a(0),findLastIndex:a(1)}},59213(t,e,i){"use strict";var n=i(76080),r=i(47055),o=i(48981),s=i(26198),a=i(1469),u=i(97040),c=function(t){var e=1===t,i=2===t,c=3===t,h=4===t,l=6===t,d=7===t,f=5===t||l;return function(p,g,A){for(var m,v,b=o(p),y=r(b),w=s(y),C=n(g,A),x=0,k=0,_=e?a(p,w):i||d?a(p,0):void 0;w>x;x++)if((f||x in y)&&(v=C(m=y[x],x,b),t))if(e)u(_,x,v);else if(v)switch(t){case 3:return!0;case 5:return m;case 6:return x;case 2:u(_,k++,m)}else switch(t){case 4:return!1;case 7:u(_,k++,m)}return l?-1:c||h?h:_}};t.exports={forEach:c(0),map:c(1),filter:c(2),some:c(3),every:c(4),find:c(5),findIndex:c(6),filterReject:c(7)}},8379(t,e,i){"use strict";var n=i(18745),r=i(25397),o=i(91291),s=i(26198),a=i(34598),u=Math.min,c=[].lastIndexOf,h=!!c&&1/[1].lastIndexOf(1,-0)<0,l=a("lastIndexOf"),d=h||!l;t.exports=d?function(t){if(h)return n(c,this,arguments)||0;var e=r(this),i=s(e);if(0===i)return-1;var a=i-1;for(arguments.length>1&&(a=u(a,o(arguments[1]))),a<0&&(a=i+a);a>=0;a--)if(a in e&&e[a]===t)return a||0;return-1}:c},70597(t,e,i){"use strict";var n=i(79039),r=i(608),o=i(39519),s=r("species");t.exports=function(t){return o>=51||!n(function(){var e=[];return(e.constructor={})[s]=function(){return{foo:1}},1!==e[t](Boolean).foo})}},34598(t,e,i){"use strict";var n=i(79039);t.exports=function(t,e){var i=[][t];return!!i&&n(function(){i.call(null,e||function(){return 1},1)})}},80926(t,e,i){"use strict";var n=i(79306),r=i(48981),o=i(47055),s=i(26198),a=TypeError,u="Reduce of empty array with no initial value",c=function(t){return function(e,i,c,h){var l=r(e),d=o(l),f=s(l);if(n(i),0===f&&c<2)throw new a(u);var p=t?f-1:0,g=t?-1:1;if(c<2)for(;;){if(p in d){h=d[p],p+=g;break}if(p+=g,t?p<0:f<=p)throw new a(u)}for(;t?p>=0:f>p;p+=g)p in d&&(h=i(h,d[p],p,l));return h}};t.exports={left:c(!1),right:c(!0)}},34527(t,e,i){"use strict";var n=i(43724),r=i(34376),o=TypeError,s=Object.getOwnPropertyDescriptor,a=n&&!function(){if(void 0!==this)return!0;try{Object.defineProperty([],"length",{writable:!1}).length=1}catch(t){return t instanceof TypeError}}();t.exports=a?function(t,e){if(r(t)&&!s(t,"length").writable)throw new o("Cannot set read only .length");return t.length=e}:function(t,e){return t.length=e}},67680(t,e,i){"use strict";var n=i(79504);t.exports=n([].slice)},74488(t,e,i){"use strict";var n=i(67680),r=Math.floor,o=function(t,e){var i=t.length;if(i<8)for(var s,a,u=1;u0;)t[a]=t[--a];a!==u++&&(t[a]=s)}else for(var c=r(i/2),h=o(n(t,0,c),e),l=o(n(t,c),e),d=h.length,f=l.length,p=0,g=0;p0,i=e?arguments[0]:void 0;return new f(function(o,s){var a=r(e?n(t.next,t.iterator,i):n(t.next,t.iterator));m(a,o,s,t.iterator,!0)})},return:function(){var t=A(this).iterator,e=arguments.length>0,i=e?arguments[0]:void 0;return new f(function(o,a){var u=s(t,"return");if(void 0===u)return o(d(i,!0));var c=r(e?n(u,t,i):n(u,t));m(c,o,a,t)})},throw:function(){var t=A(this).iterator,e=arguments.length>0,i=e?arguments[0]:void 0;return new f(function(o,a){var u=s(t,"throw");if(void 0===u){try{c(t,"normal")}catch(t){return a(t)}return a(new TypeError("The iterator does not provide a throw method"))}var h=r(e?n(u,t,i):n(u,t));m(h,o,a,t,!0)})}}),t.exports=v},20772(t,e,i){"use strict";var n=i(69565),r=i(28551),o=i(97751),s=i(55966);t.exports=function(t,e,i,a){try{var u=s(t,"return");if(u)return o("Promise").resolve(n(u,t)).then(function(t){try{e!==a&&r(t)}catch(t){return void a(t)}e(i)},function(t){e===a?e(i):a(t)})}catch(t){return a(e===a?i:t)}e(i)}},36639(t,e,i){"use strict";var n=i(69565),r=i(79306),o=i(28551),s=i(20034),a=i(96837),u=i(97751),c=i(97040),h=i(34527),l=i(1767),d=i(20772),f=function(t){var e=0===t,i=1===t,f=2===t,p=3===t;return function(t,g,A){o(t);var m=void 0!==g;!m&&e||r(g);var v=l(t),b=u("Promise"),y=v.iterator,w=v.next,C=0;return new b(function(t,r){var u=function(t){d(y,r,t,r)},l=function(){try{try{a(C)}catch(t){return u(t)}b.resolve(o(n(w,y))).then(function(n){try{if(o(n).done)e?(h(A,C),t(A)):t(!p&&(f||void 0));else{var a=n.value;try{if(m){var v=C++,w=g(a,v),x=function(n){if(i)l();else if(f)n?l():d(y,t,!1,r);else if(e)try{c(A,v,n),l()}catch(t){u(t)}else n?d(y,t,p||a,r):l()};s(w)?b.resolve(w).then(x,u):x(w)}else c(A,C++,a),l()}catch(t){u(t)}}}catch(t){r(t)}},r)}catch(t){r(t)}};l()})}};t.exports={toArray:f(0),forEach:f(1),every:f(2),some:f(3),find:f(4)}},53982(t,e,i){"use strict";var n,r,o=i(44576),s=i(77629),a=i(94901),u=i(2360),c=i(42787),h=i(36840),l=i(608),d=i(96395),f="USE_FUNCTION_CONSTRUCTOR",p=l("asyncIterator"),g=o.AsyncIterator,A=s.AsyncIteratorPrototype;if(A)n=A;else if(a(g))n=g.prototype;else if(s[f]||o[f])try{r=c(c(c(Function("return async function*(){}()")()))),c(r)===Object.prototype&&(n=r)}catch(t){}n?d&&(n=u(n)):n={},a(n[p])||h(n,p,function(){return this}),t.exports=n},92804(t){"use strict";var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",i=e+"+/",n=e+"-_",r=function(t){for(var e={},i=0;i<64;i++)e[t.charAt(i)]=i;return e};t.exports={i2c:i,c2i:r(i),i2cUrl:n,c2iUrl:r(n)}},96319(t,e,i){"use strict";var n=i(28551),r=i(9539);t.exports=function(t,e,i,o){try{return o?e(n(i)[0],i[1]):e(i)}catch(e){r(t,"throw",e)}}},84428(t,e,i){"use strict";var n=i(608)("iterator"),r=!1;try{var o=0,s={next:function(){return{done:!!o++}},return:function(){r=!0}};s[n]=function(){return this},Array.from(s,function(){throw 2})}catch(t){}t.exports=function(t,e){try{if(!e&&!r)return!1}catch(t){return!1}var i=!1;try{var o={};o[n]=function(){return{next:function(){return{done:i=!0}}}},t(o)}catch(t){}return i}},22195(t,e,i){"use strict";var n=i(79504),r=n({}.toString),o=n("".slice);t.exports=function(t){return o(r(t),8,-1)}},36955(t,e,i){"use strict";var n=i(92140),r=i(94901),o=i(22195),s=i(608)("toStringTag"),a=Object,u="Arguments"===o(function(){return arguments}());t.exports=n?o:function(t){var e,i,n;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(i=function(t,e){try{return t[e]}catch(t){}}(e=a(t),s))?i:u?o(e):"Object"===(n=o(e))&&r(e.callee)?"Arguments":n}},64557(t,e,i){"use strict";var n=i(2360),r=i(62106),o=i(56279),s=i(76080),a=i(90679),u=i(64117),c=i(72652),h=i(51088),l=i(62529),d=i(87633),f=i(43724),p=i(3451).fastKey,g=i(91181),A=g.set,m=g.getterFor;t.exports={getConstructor:function(t,e,i,h){var l=t(function(t,r){a(t,d),A(t,{type:e,index:n(null),first:null,last:null,size:0}),f||(t.size=0),u(r)||c(r,t[h],{that:t,AS_ENTRIES:i})}),d=l.prototype,g=m(e),v=function(t,e,i){var n,r,o=g(t),s=b(t,e);return s?s.value=i:(o.last=s={index:r=p(e,!0),key:e,value:i,previous:n=o.last,next:null,removed:!1},o.first||(o.first=s),n&&(n.next=s),f?o.size++:t.size++,"F"!==r&&(o.index[r]=s)),t},b=function(t,e){var i,n=g(t),r=p(e);if("F"!==r)return n.index[r];for(i=n.first;i;i=i.next)if(i.key===e)return i};return o(d,{clear:function(){for(var t=g(this),e=t.first;e;)e.removed=!0,e.previous&&(e.previous=e.previous.next=null),e=e.next;t.first=t.last=null,t.index=n(null),f?t.size=0:this.size=0},delete:function(t){var e=this,i=g(e),n=b(e,t);if(n){var r=n.next,o=n.previous;delete i.index[n.index],n.removed=!0,o&&(o.next=r),r&&(r.previous=o),i.first===n&&(i.first=r),i.last===n&&(i.last=o),f?i.size--:e.size--}return!!n},forEach:function(t){for(var e,i=g(this),n=s(t,arguments.length>1?arguments[1]:void 0);e=e?e.next:i.first;)for(n(e.value,e.key,this);e&&e.removed;)e=e.previous},has:function(t){return!!b(this,t)}}),o(d,i?{get:function(t){var e=b(this,t);return e&&e.value},set:function(t,e){return v(this,0===t?0:t,e)}}:{add:function(t){return v(this,t=0===t?0:t,t)}}),f&&r(d,"size",{configurable:!0,get:function(){return g(this).size}}),l},setStrong:function(t,e,i){var n=e+" Iterator",r=m(e),o=m(n);h(t,e,function(t,e){A(this,{type:n,target:t,state:r(t),kind:e,last:null})},function(){for(var t=o(this),e=t.kind,i=t.last;i&&i.removed;)i=i.previous;return t.target&&(t.last=i=i?i.next:t.state.first)?l("keys"===e?i.key:"values"===e?i.value:[i.key,i.value],!1):(t.target=null,l(void 0,!0))},i?"entries":"values",!i,!0),d(e)}}},91625(t,e,i){"use strict";var n=i(79504),r=i(56279),o=i(3451).getWeakData,s=i(90679),a=i(28551),u=i(64117),c=i(20034),h=i(72652),l=i(59213),d=i(39297),f=i(91181),p=f.set,g=f.getterFor,A=l.find,m=l.findIndex,v=n([].splice),b=0,y=function(t){return t.frozen||(t.frozen=new w)},w=function(){this.entries=[]},C=function(t,e){return A(t.entries,function(t){return t[0]===e})};w.prototype={get:function(t){var e=C(this,t);if(e)return e[1]},has:function(t){return!!C(this,t)},set:function(t,e){var i=C(this,t);i?i[1]=e:this.entries.push([t,e])},delete:function(t){var e=m(this.entries,function(e){return e[0]===t});return~e&&v(this.entries,e,1),!!~e}},t.exports={getConstructor:function(t,e,i,n){var l=t(function(t,r){s(t,f),p(t,{type:e,id:b++,frozen:null}),u(r)||h(r,t[n],{that:t,AS_ENTRIES:i})}),f=l.prototype,A=g(e),m=function(t,e,i){var n=A(t),r=o(a(e),!0);return!0===r?y(n).set(e,i):r[n.id]=i,t};return r(f,{delete:function(t){var e=A(this);if(!c(t))return!1;var i=o(t);return!0===i?y(e).delete(t):i&&d(i,e.id)&&delete i[e.id]},has:function(t){var e=A(this);if(!c(t))return!1;var i=o(t);return!0===i?y(e).has(t):i&&d(i,e.id)}}),r(f,i?{get:function(t){var e=A(this);if(c(t)){var i=o(t);if(!0===i)return y(e).get(t);if(i)return i[e.id]}},set:function(t,e){return m(this,t,e)}}:{add:function(t){return m(this,t,!0)}}),l}}},16468(t,e,i){"use strict";var n=i(46518),r=i(44576),o=i(79504),s=i(92796),a=i(36840),u=i(3451),c=i(72652),h=i(90679),l=i(94901),d=i(64117),f=i(20034),p=i(79039),g=i(84428),A=i(10687),m=i(23167);t.exports=function(t,e,i){var v=-1!==t.indexOf("Map"),b=-1!==t.indexOf("Weak"),y=v?"set":"add",w=r[t],C=w&&w.prototype,x=w,k={},_=function(t){var e=o(C[t]);a(C,t,"add"===t?function(t){return e(this,0===t?0:t),this}:"delete"===t?function(t){return!(b&&!f(t))&&e(this,0===t?0:t)}:"get"===t?function(t){return b&&!f(t)?void 0:e(this,0===t?0:t)}:"has"===t?function(t){return!(b&&!f(t))&&e(this,0===t?0:t)}:function(t,i){return e(this,0===t?0:t,i),this})};if(s(t,!l(w)||!(b||C.forEach&&!p(function(){(new w).entries().next()}))))x=i.getConstructor(e,t,v,y),u.enable();else if(s(t,!0)){var M=new x,B=M[y](b?{}:-0,1)!==M,E=p(function(){M.has(1)}),I=g(function(t){new w(t)}),S=!b&&p(function(){for(var t=new w,e=5;e--;)t[y](e,e);return!t.has(-0)});I||((x=e(function(t,e){h(t,C);var i=m(new w,t,x);return d(e)||c(e,i[y],{that:i,AS_ENTRIES:v}),i})).prototype=C,C.constructor=x),(E||S)&&(_("delete"),_("has"),v&&_("get")),(S||B)&&_(y),b&&C.clear&&delete C.clear}return k[t]=x,n({global:!0,constructor:!0,forced:x!==w},k),A(x,t),b||i.setStrong(x,t,v),x}},77740(t,e,i){"use strict";var n=i(39297),r=i(35031),o=i(77347),s=i(24913);t.exports=function(t,e,i){for(var a=r(e),u=s.f,c=o.f,h=0;h"+u+""}},62529(t){"use strict";t.exports=function(t,e){return{value:t,done:e}}},66699(t,e,i){"use strict";var n=i(43724),r=i(24913),o=i(6980);t.exports=n?function(t,e,i){return r.f(t,e,o(1,i))}:function(t,e,i){return t[e]=i,t}},6980(t){"use strict";t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},97040(t,e,i){"use strict";var n=i(43724),r=i(24913),o=i(6980);t.exports=function(t,e,i){n?r.f(t,e,o(0,i)):t[e]=i}},70380(t,e,i){"use strict";var n=i(79504),r=i(79039),o=i(60533).start,s=RangeError,a=isFinite,u=Math.abs,c=Date.prototype,h=c.toISOString,l=n(c.getTime),d=n(c.getUTCDate),f=n(c.getUTCFullYear),p=n(c.getUTCHours),g=n(c.getUTCMilliseconds),A=n(c.getUTCMinutes),m=n(c.getUTCMonth),v=n(c.getUTCSeconds);t.exports=r(function(){return"0385-07-25T07:06:39.999Z"!==h.call(new Date(-50000000000001))})||!r(function(){h.call(new Date(NaN))})?function(){if(!a(l(this)))throw new s("Invalid time value");var t=this,e=f(t),i=g(t),n=e<0?"-":e>9999?"+":"";return n+o(u(e),n?6:4,0)+"-"+o(m(t)+1,2,0)+"-"+o(d(t),2,0)+"T"+o(p(t),2,0)+":"+o(A(t),2,0)+":"+o(v(t),2,0)+"."+o(i,3,0)+"Z"}:h},53640(t,e,i){"use strict";var n=i(28551),r=i(84270),o=TypeError;t.exports=function(t){if(n(this),"string"===t||"default"===t)t="string";else if("number"!==t)throw new o("Incorrect hint");return r(this,t)}},62106(t,e,i){"use strict";var n=i(50283),r=i(24913);t.exports=function(t,e,i){return i.get&&n(i.get,e,{getter:!0}),i.set&&n(i.set,e,{setter:!0}),r.f(t,e,i)}},36840(t,e,i){"use strict";var n=i(94901),r=i(24913),o=i(50283),s=i(39433);t.exports=function(t,e,i,a){a||(a={});var u=a.enumerable,c=void 0!==a.name?a.name:e;if(n(i)&&o(i,c,a),a.global)u?t[e]=i:s(e,i);else{try{a.unsafe?t[e]&&(u=!0):delete t[e]}catch(t){}u?t[e]=i:r.f(t,e,{value:i,enumerable:!1,configurable:!a.nonConfigurable,writable:!a.nonWritable})}return t}},56279(t,e,i){"use strict";var n=i(36840);t.exports=function(t,e,i){for(var r in e)n(t,r,e[r],i);return t}},39433(t,e,i){"use strict";var n=i(44576),r=Object.defineProperty;t.exports=function(t,e){try{r(n,t,{value:e,configurable:!0,writable:!0})}catch(i){n[t]=e}return e}},84606(t,e,i){"use strict";var n=i(16823),r=TypeError;t.exports=function(t,e){if(!delete t[e])throw new r("Cannot delete property "+n(e)+" of "+n(t))}},43724(t,e,i){"use strict";var n=i(79039);t.exports=!n(function(){return 7!==Object.defineProperty({},1,{get:function(){return 7}})[1]})},94483(t,e,i){"use strict";var n,r,o,s,a=i(44576),u=i(89429),c=i(1548),h=a.structuredClone,l=a.ArrayBuffer,d=a.MessageChannel,f=!1;if(c)f=function(t){h(t,{transfer:[t]})};else if(l)try{d||(n=u("worker_threads"))&&(d=n.MessageChannel),d&&(r=new d,o=new l(2),s=function(t){r.port1.postMessage(null,[t])},2===o.byteLength&&(s(o),0===o.byteLength&&(f=s)))}catch(t){}t.exports=f},4055(t,e,i){"use strict";var n=i(44576),r=i(20034),o=n.document,s=r(o)&&r(o.createElement);t.exports=function(t){return s?o.createElement(t):{}}},96837(t){"use strict";var e=TypeError;t.exports=function(t){if(t>9007199254740991)throw new e("Maximum allowed index exceeded");return t}},55002(t){"use strict";t.exports={IndexSizeError:{s:"INDEX_SIZE_ERR",c:1,m:1},DOMStringSizeError:{s:"DOMSTRING_SIZE_ERR",c:2,m:0},HierarchyRequestError:{s:"HIERARCHY_REQUEST_ERR",c:3,m:1},WrongDocumentError:{s:"WRONG_DOCUMENT_ERR",c:4,m:1},InvalidCharacterError:{s:"INVALID_CHARACTER_ERR",c:5,m:1},NoDataAllowedError:{s:"NO_DATA_ALLOWED_ERR",c:6,m:0},NoModificationAllowedError:{s:"NO_MODIFICATION_ALLOWED_ERR",c:7,m:1},NotFoundError:{s:"NOT_FOUND_ERR",c:8,m:1},NotSupportedError:{s:"NOT_SUPPORTED_ERR",c:9,m:1},InUseAttributeError:{s:"INUSE_ATTRIBUTE_ERR",c:10,m:1},InvalidStateError:{s:"INVALID_STATE_ERR",c:11,m:1},SyntaxError:{s:"SYNTAX_ERR",c:12,m:1},InvalidModificationError:{s:"INVALID_MODIFICATION_ERR",c:13,m:1},NamespaceError:{s:"NAMESPACE_ERR",c:14,m:1},InvalidAccessError:{s:"INVALID_ACCESS_ERR",c:15,m:1},ValidationError:{s:"VALIDATION_ERR",c:16,m:0},TypeMismatchError:{s:"TYPE_MISMATCH_ERR",c:17,m:1},SecurityError:{s:"SECURITY_ERR",c:18,m:1},NetworkError:{s:"NETWORK_ERR",c:19,m:1},AbortError:{s:"ABORT_ERR",c:20,m:1},URLMismatchError:{s:"URL_MISMATCH_ERR",c:21,m:1},QuotaExceededError:{s:"QUOTA_EXCEEDED_ERR",c:22,m:1},TimeoutError:{s:"TIMEOUT_ERR",c:23,m:1},InvalidNodeTypeError:{s:"INVALID_NODE_TYPE_ERR",c:24,m:1},DataCloneError:{s:"DATA_CLONE_ERR",c:25,m:1}}},67400(t){"use strict";t.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}},79296(t,e,i){"use strict";var n=i(4055)("span").classList,r=n&&n.constructor&&n.constructor.prototype;t.exports=r===Object.prototype?void 0:r},88727(t){"use strict";t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},13709(t,e,i){"use strict";var n=i(82839).match(/firefox\/(\d+)/i);t.exports=!!n&&+n[1]},13763(t,e,i){"use strict";var n=i(82839);t.exports=/MSIE|Trident/.test(n)},44265(t,e,i){"use strict";var n=i(82839);t.exports=/ipad|iphone|ipod/i.test(n)&&"undefined"!=typeof Pebble},89544(t,e,i){"use strict";var n=i(82839);t.exports=/ipad|iphone|ipod/i.test(n)&&/applewebkit/i.test(n)},38574(t,e,i){"use strict";var n=i(84215);t.exports="NODE"===n},7860(t,e,i){"use strict";var n=i(82839);t.exports=/web0s(?!.*chrome)/i.test(n)},82839(t,e,i){"use strict";var n=i(44576).navigator,r=n&&n.userAgent;t.exports=r?String(r):""},39519(t,e,i){"use strict";var n,r,o=i(44576),s=i(82839),a=o.process,u=o.Deno,c=a&&a.versions||u&&u.version,h=c&&c.v8;h&&(r=(n=h.split("."))[0]>0&&n[0]<4?1:+(n[0]+n[1])),!r&&s&&(!(n=s.match(/Edge\/(\d+)/))||n[1]>=74)&&(n=s.match(/Chrome\/(\d+)/))&&(r=+n[1]),t.exports=r},3607(t,e,i){"use strict";var n=i(82839).match(/AppleWebKit\/(\d+)\./);t.exports=!!n&&+n[1]},84215(t,e,i){"use strict";var n=i(44576),r=i(82839),o=i(22195),s=function(t){return r.slice(0,t.length)===t};t.exports=s("Bun/")?"BUN":s("Cloudflare-Workers")?"CLOUDFLARE":s("Deno/")?"DENO":s("Node.js/")?"NODE":n.Bun&&"string"==typeof Bun.version?"BUN":n.Deno&&"object"==typeof Deno.version?"DENO":"process"===o(n.process)?"NODE":n.window&&n.document?"BROWSER":"REST"},16193(t,e,i){"use strict";var n=i(79504),r=Error,o=n("".replace),s=String(new r("zxcasd").stack),a=/\n\s*at [^:]*:[^\n]*/,u=a.test(s);t.exports=function(t,e){if(u&&"string"==typeof t&&!r.prepareStackTrace)for(;e--;)t=o(t,a,"");return t}},80747(t,e,i){"use strict";var n=i(66699),r=i(16193),o=i(24659),s=Error.captureStackTrace;t.exports=function(t,e,i,a){o&&(s?s(t,e):n(t,"stack",r(i,a)))}},24659(t,e,i){"use strict";var n=i(79039),r=i(6980);t.exports=!n(function(){var t=new Error("a");return!("stack"in t)||(Object.defineProperty(t,"stack",r(1,7)),7!==t.stack)})},77536(t,e,i){"use strict";var n=i(43724),r=i(79039),o=i(28551),s=i(32603),a=Error.prototype.toString,u=r(function(){if(n){var t=Object.create(Object.defineProperty({},"name",{get:function(){return this===t}}));if("true"!==a.call(t))return!0}return"2: 1"!==a.call({message:1,name:2})||"Error"!==a.call({})});t.exports=u?function(){var t=o(this),e=s(t.name,"Error"),i=s(t.message);return e?i?e+": "+i:e:i}:a},46518(t,e,i){"use strict";var n=i(44576),r=i(77347).f,o=i(66699),s=i(36840),a=i(39433),u=i(77740),c=i(92796);t.exports=function(t,e){var i,h,l,d,f,p=t.target,g=t.global,A=t.stat;if(i=g?n:A?n[p]||a(p,{}):n[p]&&n[p].prototype)for(h in e){if(d=e[h],l=t.dontCallGetSet?(f=r(i,h))&&f.value:i[h],!c(g?h:p+(A?".":"#")+h,t.forced)&&void 0!==l){if(typeof d==typeof l)continue;u(d,l)}(t.sham||l&&l.sham)&&o(d,"sham",!0),s(i,h,d,t)}}},79039(t){"use strict";t.exports=function(t){try{return!!t()}catch(t){return!0}}},89228(t,e,i){"use strict";i(27495);var n=i(69565),r=i(36840),o=i(57323),s=i(79039),a=i(608),u=i(66699),c=a("species"),h=RegExp.prototype;t.exports=function(t,e,i,l){var d=a(t),f=!s(function(){var e={};return e[d]=function(){return 7},7!==""[t](e)}),p=f&&!s(function(){var e=!1,i=/a/;if("split"===t){var n={};n[c]=function(){return i},(i={constructor:n,flags:""})[d]=/./[d]}return i.exec=function(){return e=!0,null},i[d](""),!e});if(!f||!p||i){var g=/./[d],A=e(d,""[t],function(t,e,i,r,s){var a=e.exec;return a===o||a===h.exec?f&&!s?{done:!0,value:n(g,e,i,r)}:{done:!0,value:n(t,i,e,r)}:{done:!1}});r(String.prototype,t,A[0]),r(h,d,A[1])}l&&u(h[d],"sham",!0)}},70259(t,e,i){"use strict";var n=i(34376),r=i(26198),o=i(96837),s=i(76080),a=i(97040),u=function(t,e,i,c,h,l,d,f){for(var p,g,A=h,m=0,v=!!d&&s(d,f);m0&&n(p)?(g=r(p),A=u(t,e,p,g,A,l-1)-1):(o(A+1),a(t,A,p)),A++),m++;return A};t.exports=u},92744(t,e,i){"use strict";var n=i(79039);t.exports=!n(function(){return Object.isExtensible(Object.preventExtensions({}))})},18745(t,e,i){"use strict";var n=i(40616),r=Function.prototype,o=r.apply,s=r.call;t.exports="object"==typeof Reflect&&Reflect.apply||(n?s.bind(o):function(){return s.apply(o,arguments)})},76080(t,e,i){"use strict";var n=i(27476),r=i(79306),o=i(40616),s=n(n.bind);t.exports=function(t,e){return r(t),void 0===e?t:o?s(t,e):function(){return t.apply(e,arguments)}}},40616(t,e,i){"use strict";var n=i(79039);t.exports=!n(function(){var t=function(){}.bind();return"function"!=typeof t||t.hasOwnProperty("prototype")})},30566(t,e,i){"use strict";var n=i(79504),r=i(79306),o=i(20034),s=i(39297),a=i(67680),u=i(40616),c=Function,h=n([].concat),l=n([].join),d={};t.exports=u?c.bind:function(t){var e=r(this),i=e.prototype,n=a(arguments,1),u=function(){var i=h(n,a(arguments));return this instanceof u?function(t,e,i){if(!s(d,e)){for(var n=[],r=0;r]*>)/g,h=/\$([$&'`]|\d{1,2})/g;t.exports=function(t,e,i,n,l,d){var f=i+t.length,p=n.length,g=h;return void 0!==l&&(l=r(l),g=c),a(d,g,function(r,a){var c;switch(s(a,0)){case"$":return"$";case"&":return t;case"`":return u(e,0,i);case"'":return u(e,f);case"<":c=l[u(a,1,-1)];break;default:var h=+a;if(0===h)return r;if(h>p){var d=o(h/10);return 0===d?r:d<=p?void 0===n[d-1]?s(a,1):n[d-1]+s(a,1):r}c=n[h-1]}return void 0===c?"":c})}},44576(t){"use strict";var e=function(t){return t&&t.Math===Math&&t};t.exports=e("object"==typeof globalThis&&globalThis)||e("object"==typeof window&&window)||e("object"==typeof self&&self)||e("object"==typeof globalThis&&globalThis)||e("object"==typeof this&&this)||function(){return this}()||Function("return this")()},39297(t,e,i){"use strict";var n=i(79504),r=i(48981),o=n({}.hasOwnProperty);t.exports=Object.hasOwn||function(t,e){return o(r(t),e)}},30421(t){"use strict";t.exports={}},90757(t){"use strict";t.exports=function(t,e){try{1===arguments.length?console.error(t):console.error(t,e)}catch(t){}}},20397(t,e,i){"use strict";var n=i(97751);t.exports=n("document","documentElement")},35917(t,e,i){"use strict";var n=i(43724),r=i(79039),o=i(4055);t.exports=!n&&!r(function(){return 7!==Object.defineProperty(o("div"),"a",{get:function(){return 7}}).a})},88490(t){"use strict";var e=Array,i=Math.abs,n=Math.pow,r=Math.floor,o=Math.log,s=Math.LN2;t.exports={pack:function(t,a,u){var c,h,l,d=e(u),f=8*u-a-1,p=(1<>1,A=23===a?n(2,-24)-n(2,-77):0,m=t<0||0===t&&1/t<0?1:0,v=0;for((t=i(t))!=t||t===1/0?(h=t!=t?1:0,c=p):(c=r(o(t)/s),t*(l=n(2,-c))<1&&(c--,l*=2),(t+=c+g>=1?A/l:A*n(2,1-g))*l>=2&&(c++,l/=2),c+g>=p?(h=0,c=p):c+g>=1?(h=(t*l-1)*n(2,a),c+=g):(h=t*n(2,g-1)*n(2,a),c=0));a>=8;)d[v++]=255&h,h/=256,a-=8;for(c=c<0;)d[v++]=255&c,c/=256,f-=8;return d[v-1]|=128*m,d},unpack:function(t,e){var i,r=t.length,o=8*r-e-1,s=(1<>1,u=o-7,c=r-1,h=t[c--],l=127&h;for(h>>=7;u>0;)l=256*l+t[c--],u-=8;for(i=l&(1<<-u)-1,l>>=-u,u+=e;u>0;)i=256*i+t[c--],u-=8;if(0===l)l=1-a;else{if(l===s)return i?NaN:h?-1/0:1/0;i+=n(2,e),l-=a}return(h?-1:1)*i*n(2,l-e)}}},47055(t,e,i){"use strict";var n=i(79504),r=i(79039),o=i(22195),s=Object,a=n("".split);t.exports=r(function(){return!s("z").propertyIsEnumerable(0)})?function(t){return"String"===o(t)?a(t,""):s(t)}:s},23167(t,e,i){"use strict";var n=i(94901),r=i(20034),o=i(52967);t.exports=function(t,e,i){var s,a;return o&&n(s=e.constructor)&&s!==i&&r(a=s.prototype)&&a!==i.prototype&&o(t,a),t}},33706(t,e,i){"use strict";var n=i(79504),r=i(94901),o=i(77629),s=n(Function.toString);r(o.inspectSource)||(o.inspectSource=function(t){return s(t)}),t.exports=o.inspectSource},77584(t,e,i){"use strict";var n=i(20034),r=i(66699);t.exports=function(t,e){n(e)&&"cause"in e&&r(t,"cause",e.cause)}},3451(t,e,i){"use strict";var n=i(46518),r=i(79504),o=i(30421),s=i(20034),a=i(39297),u=i(24913).f,c=i(38480),h=i(10298),l=i(34124),d=i(33392),f=i(92744),p=!1,g=d("meta"),A=0,m=function(t){u(t,g,{value:{objectID:"O"+A++,weakData:{}}})},v=t.exports={enable:function(){v.enable=function(){},p=!0;var t=c.f,e=r([].splice),i={};i[g]=1,t(i).length&&(c.f=function(i){for(var n=t(i),r=0,o=n.length;rv;v++)if((y=S(t[v]))&&c(g,y))return y;return new p(!1)}A=h(t,m)}for(w=_?t.next:A.next;!(C=r(w,A)).done;){var D=C.value;try{y=S(D)}catch(t){if(!A)throw t;d(A,"throw",t)}if("object"==typeof y&&y&&c(g,y))return y}return new p(!1)}},91385(t,e,i){"use strict";var n=i(9539);t.exports=function(t,e,i){for(var r=t.length-1;r>=0;r--)if(void 0!==t[r])try{i=n(t[r].iterator,e,i)}catch(t){e="throw",i=t}if("throw"===e)throw i;return i}},9539(t,e,i){"use strict";var n=i(69565),r=i(28551),o=i(55966);t.exports=function(t,e,i){var s,a;r(t);try{if(!(s=o(t,"return"))){if("throw"===e)throw i;return i}s=n(s,t)}catch(t){a=!0,s=t}if("throw"===e)throw i;if(a)throw s;return r(s),i}},33994(t,e,i){"use strict";var n=i(57657).IteratorPrototype,r=i(2360),o=i(6980),s=i(10687),a=i(26269),u=function(){return this};t.exports=function(t,e,i,c){var h=e+" Iterator";return t.prototype=r(n,{next:o(+!c,i)}),s(t,h,!1,!0),a[h]=u,t}},19462(t,e,i){"use strict";var n=i(69565),r=i(2360),o=i(66699),s=i(56279),a=i(608),u=i(91181),c=i(55966),h=i(57657).IteratorPrototype,l=i(62529),d=i(9539),f=i(91385),p=a("toStringTag"),g="IteratorHelper",A="WrapForValidIterator",m="normal",v="throw",b=u.set,y=function(t){var e=u.getterFor(t?A:g);return s(r(h),{next:function(){var i=e(this);if(t)return i.nextHandler();if(i.done)return l(void 0,!0);try{var n=i.nextHandler();return i.returnHandlerResult?n:l(n,i.done)}catch(t){throw i.done=!0,t}},return:function(){var i=e(this),r=i.iterator,o=i.done;if(i.done=!0,t){var s=c(r,"return");return s?n(s,r):l(void 0,!0)}if(o)return l(void 0,!0);if(i.inner)try{d(i.inner.iterator,m)}catch(t){return d(r,v,t)}if(i.openIters)try{f(i.openIters,m)}catch(t){if(r)return d(r,v,t);throw t}return r&&d(r,m),l(void 0,!0)}})},w=y(!0),C=y(!1);o(C,p,"Iterator Helper"),t.exports=function(t,e,i){var n=function(n,r){r?(r.iterator=n.iterator,r.next=n.next):r=n,r.type=e?A:g,r.returnHandlerResult=!!i,r.nextHandler=t,r.counter=0,r.done=!1,b(this,r)};return n.prototype=e?w:C,n}},51088(t,e,i){"use strict";var n=i(46518),r=i(69565),o=i(96395),s=i(10350),a=i(94901),u=i(33994),c=i(42787),h=i(52967),l=i(10687),d=i(66699),f=i(36840),p=i(608),g=i(26269),A=i(57657),m=s.PROPER,v=s.CONFIGURABLE,b=A.IteratorPrototype,y=A.BUGGY_SAFARI_ITERATORS,w=p("iterator"),C="keys",x="values",k="entries",_=function(){return this};t.exports=function(t,e,i,s,p,A,M){u(i,e,s);var B,E,I,S=function(t){if(t===p&&R)return R;if(!y&&t&&t in O)return O[t];switch(t){case C:case x:case k:return function(){return new i(this,t)}}return function(){return new i(this)}},D=e+" Iterator",T=!1,O=t.prototype,P=O[w]||O["@@iterator"]||p&&O[p],R=!y&&P||S(p),z="Array"===e&&O.entries||P;if(z&&(B=c(z.call(new t)))!==Object.prototype&&B.next&&(o||c(B)===b||(h?h(B,b):a(B[w])||f(B,w,_)),l(B,D,!0,!0),o&&(g[D]=_)),m&&p===x&&P&&P.name!==x&&(!o&&v?d(O,"name",x):(T=!0,R=function(){return r(P,this)})),p)if(E={values:S(x),keys:A?R:S(C),entries:S(k)},M)for(I in E)(y||T||!(I in O))&&f(O,I,E[I]);else n({target:e,proto:!0,forced:y||T},E);return o&&!M||O[w]===R||f(O,w,R,{name:p}),g[e]=R,E}},30684(t){"use strict";t.exports=function(t,e){var i="function"==typeof Iterator&&Iterator.prototype[t];if(i)try{i.call({next:null},e).next()}catch(t){return!0}}},84549(t,e,i){"use strict";var n=i(44576);t.exports=function(t,e){var i=n.Iterator,r=i&&i.prototype,o=r&&r[t],s=!1;if(o)try{o.call({next:function(){return{done:!0}},return:function(){s=!0}},-1)}catch(t){t instanceof e||(s=!1)}if(!s)return o}},57657(t,e,i){"use strict";var n,r,o,s=i(79039),a=i(94901),u=i(20034),c=i(2360),h=i(42787),l=i(36840),d=i(608),f=i(96395),p=d("iterator"),g=!1;[].keys&&("next"in(o=[].keys())?(r=h(h(o)))!==Object.prototype&&(n=r):g=!0),!u(n)||s(function(){var t={};return n[p].call(t)!==t})?n={}:f&&(n=c(n)),a(n[p])||l(n,p,function(){return this}),t.exports={IteratorPrototype:n,BUGGY_SAFARI_ITERATORS:g}},26269(t){"use strict";t.exports={}},26198(t,e,i){"use strict";var n=i(18014);t.exports=function(t){return n(t.length)}},50283(t,e,i){"use strict";var n=i(79504),r=i(79039),o=i(94901),s=i(39297),a=i(43724),u=i(10350).CONFIGURABLE,c=i(33706),h=i(91181),l=h.enforce,d=h.get,f=String,p=Object.defineProperty,g=n("".slice),A=n("".replace),m=n([].join),v=a&&!r(function(){return 8!==p(function(){},"length",{value:8}).length}),b=String(String).split("String"),y=t.exports=function(t,e,i){"Symbol("===g(f(e),0,7)&&(e="["+A(f(e),/^Symbol\(([^)]*)\).*$/,"$1")+"]"),i&&i.getter&&(e="get "+e),i&&i.setter&&(e="set "+e),(!s(t,"name")||u&&t.name!==e)&&(a?p(t,"name",{value:e,configurable:!0}):t.name=e),v&&i&&s(i,"arity")&&t.length!==i.arity&&p(t,"length",{value:i.arity});try{i&&s(i,"constructor")&&i.constructor?a&&p(t,"prototype",{writable:!1}):t.prototype&&(t.prototype=void 0)}catch(t){}var n=l(t);return s(n,"source")||(n.source=m(b,"string"==typeof e?e:"")),t};Function.prototype.toString=y(function(){return o(this)&&d(this).source||c(this)},"toString")},72248(t,e,i){"use strict";var n=i(79504),r=Map.prototype;t.exports={Map,set:n(r.set),get:n(r.get),has:n(r.has),remove:n(r.delete),proto:r}},53250(t){"use strict";var e=Math.expm1,i=Math.exp;t.exports=!e||e(10)>22025.465794806718||e(10)<22025.465794806718||-2e-17!==e(-2e-17)?function(t){var e=+t;return 0===e?e:e>-1e-6&&e<1e-6?e+e*e/2:i(e)-1}:e},33164(t,e,i){"use strict";var n=i(77782),r=i(53602),o=Math.abs;t.exports=function(t,e,i,s){var a=+t,u=o(a),c=n(a);if(ui||l!=l?c*(1/0):c*l}},15617(t,e,i){"use strict";var n=i(33164);t.exports=Math.fround||function(t){return n(t,1.1920928955078125e-7,34028234663852886e22,11754943508222875e-54)}},49340(t){"use strict";var e=Math.log,i=Math.LOG10E;t.exports=Math.log10||function(t){return e(t)*i}},7740(t){"use strict";var e=Math.log;t.exports=Math.log1p||function(t){var i=+t;return i>-1e-8&&i<1e-8?i-i*i/2:e(1+i)}},67787(t){"use strict";var e=Math.log,i=Math.LN2;t.exports=Math.log2||function(t){return e(t)/i}},53602(t){"use strict";var e=4503599627370496;t.exports=function(t){return t+e-e}},77782(t){"use strict";t.exports=Math.sign||function(t){var e=+t;return 0===e||e!=e?e:e<0?-1:1}},80741(t){"use strict";var e=Math.ceil,i=Math.floor;t.exports=Math.trunc||function(t){var n=+t;return(n>0?i:e)(n)}},91955(t,e,i){"use strict";var n,r,o,s,a,u=i(44576),c=i(93389),h=i(76080),l=i(59225).set,d=i(18265),f=i(89544),p=i(44265),g=i(7860),A=i(38574),m=u.MutationObserver||u.WebKitMutationObserver,v=u.document,b=u.process,y=u.Promise,w=c("queueMicrotask");if(!w){var C=new d,x=function(){var t,e;for(A&&(t=b.domain)&&t.exit();e=C.get();)try{e()}catch(t){throw C.head&&n(),t}t&&t.enter()};f||A||g||!m||!v?!p&&y&&y.resolve?((s=y.resolve(void 0)).constructor=y,a=h(s.then,s),n=function(){a(x)}):A?n=function(){b.nextTick(x)}:(l=h(l,u),n=function(){l(x)}):(r=!0,o=v.createTextNode(""),new m(x).observe(o,{characterData:!0}),n=function(){o.data=r=!r}),w=function(t){C.head||n(),C.add(t)}}t.exports=w},27819(t,e,i){"use strict";var n=i(79039);t.exports=!n(function(){var t="9007199254740993",e=JSON.rawJSON(t);return!JSON.isRawJSON(e)||JSON.stringify(e)!==t})},36043(t,e,i){"use strict";var n=i(79306),r=TypeError,o=function(t){var e,i;this.promise=new t(function(t,n){if(void 0!==e||void 0!==i)throw new r("Bad Promise constructor");e=t,i=n}),this.resolve=n(e),this.reject=n(i)};t.exports.f=function(t){return new o(t)}},32603(t,e,i){"use strict";var n=i(655);t.exports=function(t,e){return void 0===t?arguments.length<2?"":e:n(t)}},24149(t){"use strict";var e=RangeError;t.exports=function(t){if(t==t)return t;throw new e("NaN is not allowed")}},60511(t,e,i){"use strict";var n=i(60788),r=TypeError;t.exports=function(t){if(n(t))throw new r("The method doesn't accept regular expressions");return t}},50360(t,e,i){"use strict";var n=i(44576).isFinite;t.exports=Number.isFinite||function(t){return"number"==typeof t&&n(t)}},33904(t,e,i){"use strict";var n=i(44576),r=i(79039),o=i(79504),s=i(655),a=i(43802).trim,u=i(47452),c=o("".charAt),h=n.parseFloat,l=n.Symbol,d=l&&l.iterator,f=1/h(u+"-0")!=-1/0||d&&!r(function(){h(Object(d))});t.exports=f?function(t){var e=a(s(t)),i=h(e);return 0===i&&"-"===c(e,0)?-0:i}:h},52703(t,e,i){"use strict";var n=i(44576),r=i(79039),o=i(79504),s=i(655),a=i(43802).trim,u=i(47452),c=n.parseInt,h=n.Symbol,l=h&&h.iterator,d=/^[+-]?0x/i,f=o(d.exec),p=8!==c(u+"08")||22!==c(u+"0x16")||l&&!r(function(){c(Object(l))});t.exports=p?function(t,e){var i=a(s(t));return c(i,e>>>0||(f(d,i)?16:10))}:c},44213(t,e,i){"use strict";var n=i(43724),r=i(79504),o=i(69565),s=i(79039),a=i(71072),u=i(33717),c=i(48773),h=i(48981),l=i(47055),d=Object.assign,f=Object.defineProperty,p=r([].concat);t.exports=!d||s(function(){if(n&&1!==d({b:1},d(f({},"a",{enumerable:!0,get:function(){f(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var t={},e={},i=Symbol("assign detection"),r="abcdefghijklmnopqrst";return t[i]=7,r.split("").forEach(function(t){e[t]=t}),7!==d({},t)[i]||a(d({},e)).join("")!==r})?function(t,e){for(var i=h(t),r=arguments.length,s=1,d=u.f,f=c.f;r>s;)for(var g,A=l(arguments[s++]),m=d?p(a(A),d(A)):a(A),v=m.length,b=0;v>b;)g=m[b++],n&&!o(f,A,g)||(i[g]=A[g]);return i}:d},2360(t,e,i){"use strict";var n,r=i(28551),o=i(96801),s=i(88727),a=i(30421),u=i(20397),c=i(4055),h=i(66119),l="prototype",d="script",f=h("IE_PROTO"),p=function(){},g=function(t){return"<"+d+">"+t+""},A=function(t){t.write(g("")),t.close();var e=t.parentWindow.Object;return t=null,e},m=function(){try{n=new ActiveXObject("htmlfile")}catch(t){}var t,e,i;m="undefined"!=typeof document?document.domain&&n?A(n):(e=c("iframe"),i="java"+d+":",e.style.display="none",u.appendChild(e),e.src=String(i),(t=e.contentWindow.document).open(),t.write(g("document.F=Object")),t.close(),t.F):A(n);for(var r=s.length;r--;)delete m[l][s[r]];return m()};a[f]=!0,t.exports=Object.create||function(t,e){var i;return null!==t?(p[l]=r(t),i=new p,p[l]=null,i[f]=t):i=m(),void 0===e?i:o.f(i,e)}},96801(t,e,i){"use strict";var n=i(43724),r=i(48686),o=i(24913),s=i(28551),a=i(25397),u=i(71072);e.f=n&&!r?Object.defineProperties:function(t,e){s(t);for(var i,n=a(e),r=u(e),c=r.length,h=0;c>h;)o.f(t,i=r[h++],n[i]);return t}},24913(t,e,i){"use strict";var n=i(43724),r=i(35917),o=i(48686),s=i(28551),a=i(56969),u=TypeError,c=Object.defineProperty,h=Object.getOwnPropertyDescriptor,l="enumerable",d="configurable",f="writable";e.f=n?o?function(t,e,i){if(s(t),e=a(e),s(i),"function"==typeof t&&"prototype"===e&&"value"in i&&f in i&&!i[f]){var n=h(t,e);n&&n[f]&&(t[e]=i.value,i={configurable:d in i?i[d]:n[d],enumerable:l in i?i[l]:n[l],writable:!1})}return c(t,e,i)}:c:function(t,e,i){if(s(t),e=a(e),s(i),r)try{return c(t,e,i)}catch(t){}if("get"in i||"set"in i)throw new u("Accessors not supported");return"value"in i&&(t[e]=i.value),t}},77347(t,e,i){"use strict";var n=i(43724),r=i(69565),o=i(48773),s=i(6980),a=i(25397),u=i(56969),c=i(39297),h=i(35917),l=Object.getOwnPropertyDescriptor;e.f=n?l:function(t,e){if(t=a(t),e=u(e),h)try{return l(t,e)}catch(t){}if(c(t,e))return s(!r(o.f,t,e),t[e])}},10298(t,e,i){"use strict";var n=i(22195),r=i(25397),o=i(38480).f,s=i(67680),a="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];t.exports.f=function(t){return a&&"Window"===n(t)?function(t){try{return o(t)}catch(t){return s(a)}}(t):o(r(t))}},38480(t,e,i){"use strict";var n=i(61828),r=i(88727).concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return n(t,r)}},33717(t,e){"use strict";e.f=Object.getOwnPropertySymbols},42787(t,e,i){"use strict";var n=i(39297),r=i(94901),o=i(48981),s=i(66119),a=i(12211),u=s("IE_PROTO"),c=Object,h=c.prototype;t.exports=a?c.getPrototypeOf:function(t){var e=o(t);if(n(e,u))return e[u];var i=e.constructor;return r(i)&&e instanceof i?i.prototype:e instanceof c?h:null}},34124(t,e,i){"use strict";var n=i(79039),r=i(20034),o=i(22195),s=i(15652),a=Object.isExtensible,u=n(function(){a(1)});t.exports=u||s?function(t){return!!r(t)&&(!s||"ArrayBuffer"!==o(t))&&(!a||a(t))}:a},1625(t,e,i){"use strict";var n=i(79504);t.exports=n({}.isPrototypeOf)},61828(t,e,i){"use strict";var n=i(79504),r=i(39297),o=i(25397),s=i(19617).indexOf,a=i(30421),u=n([].push);t.exports=function(t,e){var i,n=o(t),c=0,h=[];for(i in n)!r(a,i)&&r(n,i)&&u(h,i);for(;e.length>c;)r(n,i=e[c++])&&(~s(h,i)||u(h,i));return h}},71072(t,e,i){"use strict";var n=i(61828),r=i(88727);t.exports=Object.keys||function(t){return n(t,r)}},48773(t,e){"use strict";var i={}.propertyIsEnumerable,n=Object.getOwnPropertyDescriptor,r=n&&!i.call({1:2},1);e.f=r?function(t){var e=n(this,t);return!!e&&e.enumerable}:i},42551(t,e,i){"use strict";var n=i(96395),r=i(44576),o=i(79039),s=i(3607);t.exports=n||!o(function(){if(!(s&&s<535)){var t=Math.random();__defineSetter__.call(null,t,function(){}),delete r[t]}})},52967(t,e,i){"use strict";var n=i(46706),r=i(20034),o=i(67750),s=i(73506);t.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var t,e=!1,i={};try{(t=n(Object.prototype,"__proto__","set"))(i,[]),e=i instanceof Array}catch(t){}return function(i,n){return o(i),s(n),r(i)?(e?t(i,n):i.__proto__=n,i):i}}():void 0)},32357(t,e,i){"use strict";var n=i(43724),r=i(79039),o=i(79504),s=i(42787),a=i(71072),u=i(25397),c=o(i(48773).f),h=o([].push),l=n&&r(function(){var t=Object.create(null);return t[2]=2,!c(t,2)}),d=function(t){return function(e){for(var i,r=u(e),o=a(r),d=l&&null===s(r),f=o.length,p=0,g=[];f>p;)i=o[p++],n&&!(d?i in r:c(r,i))||h(g,t?[i,r[i]]:r[i]);return g}};t.exports={entries:d(!0),values:d(!1)}},53179(t,e,i){"use strict";var n=i(92140),r=i(36955);t.exports=n?{}.toString:function(){return"[object "+r(this)+"]"}},84270(t,e,i){"use strict";var n=i(69565),r=i(94901),o=i(20034),s=TypeError;t.exports=function(t,e){var i,a;if("string"===e&&r(i=t.toString)&&!o(a=n(i,t)))return a;if(r(i=t.valueOf)&&!o(a=n(i,t)))return a;if("string"!==e&&r(i=t.toString)&&!o(a=n(i,t)))return a;throw new s("Can't convert object to primitive value")}},35031(t,e,i){"use strict";var n=i(97751),r=i(79504),o=i(38480),s=i(33717),a=i(28551),u=r([].concat);t.exports=n("Reflect","ownKeys")||function(t){var e=o.f(a(t)),i=s.f;return i?u(e,i(t)):e}},616(t,e,i){"use strict";var n=i(79504),r=i(39297),o=SyntaxError,s=parseInt,a=String.fromCharCode,u=n("".charAt),c=n("".slice),h=n(/./.exec),l={'\\"':'"',"\\\\":"\\","\\/":"/","\\b":"\b","\\f":"\f","\\n":"\n","\\r":"\r","\\t":"\t"},d=/^[\da-f]{4}$/i,f=/^[\u0000-\u001F]$/;t.exports=function(t,e){for(var i=!0,n="";e0&&v(c,r.lastIndex-1);r.lastIndex>0&&(!r.multiline||r.multiline&&"\n"!==I&&"\r"!==I&&"\u2028"!==I&&"\u2029"!==I)&&(M="(?: (?:"+M+"))",E=" "+E,B++),i=new RegExp("^(?:"+M+")",p)}k&&(i=new RegExp("^"+M+"$(?!\\s)",p)),C&&(n=r.lastIndex);var S=o(A,f?i:r,E);return f?S?(S.input=c,S[0]=w(S[0],B),S.index=r.lastIndex,r.lastIndex+=S[0].length):r.lastIndex=0:C&&S&&(r.lastIndex=r.global?S.index+S[0].length:n),k&&S&&S.length>1&&o(g,S[0],i,function(){for(var t=1;tb)","g");return"b"!==t.exec("b").groups.a||"bc"!=="b".replace(t,"$c")})},67750(t,e,i){"use strict";var n=i(64117),r=TypeError;t.exports=function(t){if(n(t))throw new r("Can't call method on "+t);return t}},93389(t,e,i){"use strict";var n=i(44576),r=i(43724),o=Object.getOwnPropertyDescriptor;t.exports=function(t){if(!r)return n[t];var e=o(n,t);return e&&e.value}},3470(t){"use strict";t.exports=Object.is||function(t,e){return t===e?0!==t||1/t==1/e:t!=t&&e!=e}},79472(t,e,i){"use strict";var n,r=i(44576),o=i(18745),s=i(94901),a=i(84215),u=i(82839),c=i(67680),h=i(22812),l=r.Function,d=/MSIE .\./.test(u)||"BUN"===a&&((n=r.Bun.version.split(".")).length<3||"0"===n[0]&&(n[1]<3||"3"===n[1]&&"0"===n[2]));t.exports=function(t,e){var i=e?2:1;return d?function(n,r){var a=h(arguments.length,1)>i,u=s(n)?n:l(n),d=a?c(arguments,i):[],f=a?function(){o(u,this,d)}:u;return e?t(f,r):t(f)}:t}},89286(t,e,i){"use strict";var n=i(94402),r=i(38469),o=n.Set,s=n.add;t.exports=function(t){var e=new o;return r(t,function(t){s(e,t)}),e}},83440(t,e,i){"use strict";var n=i(97080),r=i(94402),o=i(89286),s=i(25170),a=i(83789),u=i(38469),c=i(40507),h=r.has,l=r.remove;t.exports=function(t){var e=n(this),i=a(t),r=o(e);return s(r)<=i.size?u(r,function(t){i.includes(t)&&l(r,t)}):c(i.getIterator(),function(t){h(r,t)&&l(r,t)}),r}},94402(t,e,i){"use strict";var n=i(79504),r=Set.prototype;t.exports={Set,add:n(r.add),has:n(r.has),remove:n(r.delete),proto:r}},68750(t,e,i){"use strict";var n=i(97080),r=i(94402),o=i(25170),s=i(83789),a=i(38469),u=i(40507),c=r.Set,h=r.add,l=r.has;t.exports=function(t){var e=n(this),i=s(t),r=new c;return o(e)>i.size?u(i.getIterator(),function(t){l(e,t)&&h(r,t)}):a(e,function(t){i.includes(t)&&h(r,t)}),r}},64449(t,e,i){"use strict";var n=i(97080),r=i(94402).has,o=i(25170),s=i(83789),a=i(38469),u=i(40507),c=i(9539);t.exports=function(t){var e=n(this),i=s(t);if(o(e)<=i.size)return!1!==a(e,function(t){if(i.includes(t))return!1},!0);var h=i.getIterator();return!1!==u(h,function(t){if(r(e,t))return c(h.iterator,"normal",!1)})}},53838(t,e,i){"use strict";var n=i(97080),r=i(25170),o=i(38469),s=i(83789);t.exports=function(t){var e=n(this),i=s(t);return!(r(e)>i.size)&&!1!==o(e,function(t){if(!i.includes(t))return!1},!0)}},28527(t,e,i){"use strict";var n=i(97080),r=i(94402).has,o=i(25170),s=i(83789),a=i(40507),u=i(9539);t.exports=function(t){var e=n(this),i=s(t);if(o(e)3})}},68183(t,e,i){"use strict";var n=i(79504),r=i(91291),o=i(655),s=i(67750),a=n("".charAt),u=n("".charCodeAt),c=n("".slice),h=function(t){return function(e,i){var n,h,l=o(s(e)),d=r(i),f=l.length;return d<0||d>=f?t?"":void 0:(n=u(l,d))<55296||n>56319||d+1===f||(h=u(l,d+1))<56320||h>57343?t?a(l,d):n:t?c(l,d,d+2):h-56320+(n-55296<<10)+65536}};t.exports={codeAt:h(!1),charAt:h(!0)}},83063(t,e,i){"use strict";var n=i(82839);t.exports=/Version\/10(?:\.\d+){1,2}(?: [\w./]+)?(?: Mobile\/\w+)? Safari\//.test(n)},60533(t,e,i){"use strict";var n=i(79504),r=i(18014),o=i(655),s=i(72333),a=i(67750),u=n(s),c=n("".slice),h=Math.ceil,l=function(t){return function(e,i,n){var s=o(a(e)),l=r(i),d=s.length;if(l<=d)return s;var f,p,g=void 0===n?" ":o(n);return""===g?s:((p=u(g,h((f=l-d)/g.length))).length>f&&(p=c(p,0,f)),t?s+p:p+s)}};t.exports={start:l(!1),end:l(!0)}},3717(t,e,i){"use strict";var n=i(79504),r=2147483647,o=/[^\0-\u007E]/,s=/[.\u3002\uFF0E\uFF61]/g,a="Overflow: input needs wider integers to process",u=RangeError,c=n(s.exec),h=Math.floor,l=String.fromCharCode,d=n("".charCodeAt),f=n([].join),p=n([].push),g=n("".replace),A=n("".split),m=n("".toLowerCase),v=function(t){return t+22+75*(t<26)},b=function(t,e,i){var n=0;for(t=i?h(t/700):t>>1,t+=h(t/e);t>455;)t=h(t/35),n+=36;return h(n+36*t/(t+38))},y=function(t){var e=[];t=function(t){for(var e=[],i=0,n=t.length;i=55296&&r<=56319&&i=s&&nh((r-c)/w))throw new u(a);for(c+=(y-s)*w,s=y,i=0;ir)throw new u(a);if(n===s){for(var C=c,x=36;;){var k=x<=g?1:x>=g+26?26:x-g;if(C0;(u=a(u/2))&&(e+=e))u%2&&(i+=e);return i}},18866(t,e,i){"use strict";var n=i(43802).end,r=i(60706);t.exports=r("trimEnd")?function(){return n(this)}:"".trimEnd},60706(t,e,i){"use strict";var n=i(10350).PROPER,r=i(79039),o=i(47452);t.exports=function(t){return r(function(){return!!o[t]()||"​…᠎"!=="​…᠎"[t]()||n&&o[t].name!==t})}},53487(t,e,i){"use strict";var n=i(43802).start,r=i(60706);t.exports=r("trimStart")?function(){return n(this)}:"".trimStart},43802(t,e,i){"use strict";var n=i(79504),r=i(67750),o=i(655),s=i(47452),a=n("".replace),u=RegExp("^["+s+"]+"),c=RegExp("(^|[^"+s+"])["+s+"]+$"),h=function(t){return function(e){var i=o(r(e));return 1&t&&(i=a(i,u,"")),2&t&&(i=a(i,c,"$1")),i}};t.exports={start:h(1),end:h(2),trim:h(3)}},1548(t,e,i){"use strict";var n=i(44576),r=i(79039),o=i(39519),s=i(84215),a=n.structuredClone;t.exports=!!a&&!r(function(){if("DENO"===s&&o>92||"NODE"===s&&o>94||"BROWSER"===s&&o>97)return!1;var t=new ArrayBuffer(8),e=a(t,{transfer:[t]});return 0!==t.byteLength||8!==e.byteLength})},4495(t,e,i){"use strict";var n=i(39519),r=i(79039),o=i(44576).String;t.exports=!!Object.getOwnPropertySymbols&&!r(function(){var t=Symbol("symbol detection");return!o(t)||!(Object(t)instanceof Symbol)||!Symbol.sham&&n&&n<41})},58242(t,e,i){"use strict";var n=i(69565),r=i(97751),o=i(608),s=i(36840);t.exports=function(){var t=r("Symbol"),e=t&&t.prototype,i=e&&e.valueOf,a=o("toPrimitive");e&&!e[a]&&s(e,a,function(t){return n(i,this)},{arity:1})}},91296(t,e,i){"use strict";var n=i(4495);t.exports=n&&!!Symbol.for&&!!Symbol.keyFor},59225(t,e,i){"use strict";var n,r,o,s,a=i(44576),u=i(18745),c=i(76080),h=i(94901),l=i(39297),d=i(79039),f=i(20397),p=i(67680),g=i(4055),A=i(22812),m=i(89544),v=i(38574),b=a.setImmediate,y=a.clearImmediate,w=a.process,C=a.Dispatch,x=a.Function,k=a.MessageChannel,_=a.String,M=0,B={},E="onreadystatechange";d(function(){n=a.location});var I=function(t){if(l(B,t)){var e=B[t];delete B[t],e()}},S=function(t){return function(){I(t)}},D=function(t){I(t.data)},T=function(t){a.postMessage(_(t),n.protocol+"//"+n.host)};b&&y||(b=function(t){A(arguments.length,1);var e=h(t)?t:x(t),i=p(arguments,1);return B[++M]=function(){u(e,void 0,i)},r(M),M},y=function(t){delete B[t]},v?r=function(t){w.nextTick(S(t))}:C&&C.now?r=function(t){C.now(S(t))}:k&&!m?(s=(o=new k).port2,o.port1.onmessage=D,r=c(s.postMessage,s)):a.addEventListener&&h(a.postMessage)&&!a.importScripts&&n&&"file:"!==n.protocol&&!d(T)?(r=T,a.addEventListener("message",D,!1)):r=E in g("script")?function(t){f.appendChild(g("script"))[E]=function(){f.removeChild(this),I(t)}}:function(t){setTimeout(S(t),0)}),t.exports={set:b,clear:y}},31240(t,e,i){"use strict";var n=i(79504);t.exports=n(1.1.valueOf)},35610(t,e,i){"use strict";var n=i(91291),r=Math.max,o=Math.min;t.exports=function(t,e){var i=n(t);return i<0?r(i+e,0):o(i,e)}},75854(t,e,i){"use strict";var n=i(72777),r=TypeError;t.exports=function(t){var e=n(t,"number");if("number"==typeof e)throw new r("Can't convert number to bigint");return BigInt(e)}},57696(t,e,i){"use strict";var n=i(91291),r=i(18014),o=RangeError;t.exports=function(t){if(void 0===t)return 0;var e=n(t),i=r(e);if(e!==i)throw new o("Wrong length or index");return i}},25397(t,e,i){"use strict";var n=i(47055),r=i(67750);t.exports=function(t){return n(r(t))}},91291(t,e,i){"use strict";var n=i(80741);t.exports=function(t){var e=+t;return e!=e||0===e?0:n(e)}},18014(t,e,i){"use strict";var n=i(91291),r=Math.min;t.exports=function(t){var e=n(t);return e>0?r(e,9007199254740991):0}},48981(t,e,i){"use strict";var n=i(67750),r=Object;t.exports=function(t){return r(n(t))}},58229(t,e,i){"use strict";var n=i(99590),r=RangeError;t.exports=function(t,e){var i=n(t);if(i%e)throw new r("Wrong offset");return i}},99590(t,e,i){"use strict";var n=i(91291),r=RangeError;t.exports=function(t){var e=n(t);if(e<0)throw new r("The argument can't be less than 0");return e}},72777(t,e,i){"use strict";var n=i(69565),r=i(20034),o=i(10757),s=i(55966),a=i(84270),u=i(608),c=TypeError,h=u("toPrimitive");t.exports=function(t,e){if(!r(t)||o(t))return t;var i,u=s(t,h);if(u){if(void 0===e&&(e="default"),i=n(u,t,e),!r(i)||o(i))return i;throw new c("Can't convert object to primitive value")}return void 0===e&&(e="number"),a(t,e)}},56969(t,e,i){"use strict";var n=i(72777),r=i(10757);t.exports=function(t){var e=n(t,"string");return r(e)?e:e+""}},92140(t,e,i){"use strict";var n={};n[i(608)("toStringTag")]="z",t.exports="[object z]"===String(n)},655(t,e,i){"use strict";var n=i(36955),r=String;t.exports=function(t){if("Symbol"===n(t))throw new TypeError("Cannot convert a Symbol value to a string");return r(t)}},58319(t){"use strict";var e=Math.floor;t.exports=function(t){var i=+t;if(i!=i||i<=0)return 0;if(i>=255)return 255;var n=e(i);return n+.5=0},tt=function(t,e){return e=m(e),$(t,e)?l(2,t[e]):j(t,e)},et=function(t,e,i){return e=m(e),!($(t,e)&&y(i)&&v(i,"value"))||v(i,"get")||v(i,"set")||i.configurable||v(i,"writable")&&!i.writable||v(i,"enumerable")&&!i.enumerable?H(t,e,i):(t[e]=i.value,t)};s?(W||(D.f=tt,S.f=et,Z(G,"buffer"),Z(G,"byteOffset"),Z(G,"byteLength"),Z(G,"length")),n({target:"Object",stat:!0,forced:!W},{getOwnPropertyDescriptor:tt,defineProperty:et}),t.exports=function(t,e,i){var s=t.match(/\d+/)[0]/8,u=t+(i?"Clamped":"")+"Array",c="get"+t,l="set"+t,f=r[u],m=f,v=m&&m.prototype,b={},w=function(t,e){H(t,e,{get:function(){return function(t,e){var i=R(t);return i.view[c](e*s+i.byteOffset,!0)}(this,e)},set:function(t){return function(t,e,n){var r=R(t);r.view[l](e*s+r.byteOffset,i?A(n):n,!0)}(this,e,t)},enumerable:!0})};W?a&&(m=e(function(t,e,i,n){return h(t,v),P(y(e)?J(e)?void 0!==n?new f(e,g(i,s),n):void 0!==i?new f(e,g(i,s)):new f(e):V(e)?T(m,e):o(M,m,e):new f(p(e)),t,m)}),k&&k(m,Q),B(_(f),function(t){t in m||d(m,t,f[t])}),m.prototype=v):(m=e(function(t,e,i,n){h(t,v);var r,a,u,c=0,l=0;if(y(e)){if(!J(e))return V(e)?T(m,e):o(M,m,e);r=e,l=g(i,s);var d=e.byteLength;if(void 0===n){if(d%s)throw new L(X);if((a=d-l)<0)throw new L(X)}else if((a=p(n)*s)+l>d)throw new L(X);u=a/s}else u=p(e),r=new U(a=u*s);for(z(t,{buffer:r,byteOffset:l,byteLength:a,length:u,view:new F(r)});c1?arguments[1]:void 0,A=void 0!==g;A&&o(g);var m,v,b,y,w,C,x,k,_=a(t),M=h(_);if(M&&!l(M))for(k=(x=c(_,M)).next,_=[];!(C=r(k,x)).done;)_.push(C.value);for(A&&i>2&&(g=n(g,arguments[2])),v=u(_),b=new(f(e))(v),y=d(b),m=0;v>m;m++)w=A?g(_[m],m):_[m],b[m]=y?p(w):+w;return b}},33392(t,e,i){"use strict";var n=i(79504),r=0,o=Math.random(),s=n(1.1.toString);t.exports=function(t){return"Symbol("+(void 0===t?"":t)+")_"+s(++r+o,36)}},59143(t,e,i){"use strict";var n=i(44576),r=i(79504),o=i(83972),s=i(63463),a=i(39297),u=i(92804),c=i(944),h=i(55169),l=u.c2i,d=u.c2iUrl,f=n.SyntaxError,p=n.TypeError,g=r("".charAt),A=function(t,e){for(var i=t.length;e>16&255,r>>8&255,255&r];if(2===n){if(i&&0!==o[1])throw new f("Extra bits");return[o[0]]}if(3===n){if(i&&0!==o[2])throw new f("Extra bits");return[o[0],o[1]]}return o},v=function(t,e,i){for(var n=e.length,r=0;r0){if("stop-before-partial"===u)break;if("loose"!==u)throw new f("Missing padding");if(1===x.length)throw new f("Malformed padding: exactly one additional character");w=v(y,m(x,r,!1),w)}C=b;break}var _=g(t,k);if(++k,"="===_){if(x.length<2)throw new f("Padding is too early");if(k=A(t,k),2===x.length){if(k===b){if("stop-before-partial"===u)break;throw new f("Malformed padding: only one =")}"="===g(t,k)&&(++k,k=A(t,k))}if(k>4}return{bytes:r,read:h<<1}}},67416(t,e,i){"use strict";var n=i(79039),r=i(608),o=i(43724),s=i(96395),a=r("iterator");t.exports=!n(function(){var t=new URL("b?a=1&b=2&c=3","https://a"),e=t.searchParams,i=new URLSearchParams("a=1&a=2&b=3"),n="";return t.pathname="c%20d",e.forEach(function(t,i){e.delete("b"),n+=i+t}),i.delete("a",2),i.delete("b",void 0),s&&(!t.toJSON||!i.has("a",1)||i.has("a",2)||!i.has("a",void 0)||i.has("b"))||!e.size&&(s||!o)||!e.sort||"https://a/c%20d?a=1&c=3"!==t.href||"3"!==e.get("c")||"a=1"!==String(new URLSearchParams("?a=1"))||!e[a]||"a"!==new URL("https://a@b").username||"b"!==new URLSearchParams(new URLSearchParams("a=b")).get("a")||"xn--e1aybc"!==new URL("https://тест").host||"#%D0%B1"!==new URL("https://a#б").hash||"a1c3"!==n||"x"!==new URL("https://x",void 0).host})},7040(t,e,i){"use strict";var n=i(4495);t.exports=n&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},48686(t,e,i){"use strict";var n=i(43724),r=i(79039);t.exports=n&&r(function(){return 42!==Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype})},22812(t){"use strict";var e=TypeError;t.exports=function(t,i){if(tv&&d(n,arguments[v]),n});if(k.prototype=C,"Error"!==y?a?a(k,x):u(k,x,{name:!0}):p&&m in w&&(c(k,w,m),c(k,w,"prepareStackTrace")),u(k,w),!g)try{C.name!==y&&o(C,"name",y),C.constructor=k}catch(t){}return k}}},4294(t,e,i){"use strict";var n=i(46518),r=i(97751),o=i(18745),s=i(79039),a=i(14601),u="AggregateError",c=r(u),h=!s(function(){return 1!==c([1]).errors[0]})&&s(function(){return 7!==c([1],u,{cause:7}).cause});n({global:!0,constructor:!0,arity:2,forced:h},{AggregateError:a(u,function(t){return function(e,i){return o(t,this,arguments)}},h,!0)})},17145(t,e,i){"use strict";var n=i(46518),r=i(1625),o=i(42787),s=i(52967),a=i(77740),u=i(2360),c=i(66699),h=i(6980),l=i(77584),d=i(80747),f=i(72652),p=i(32603),g=i(608)("toStringTag"),A=Error,m=[].push,v=function(t,e){var i,n=r(b,this);s?i=s(new A,n?o(this):b):(i=n?this:u(b),c(i,g,"Error")),void 0!==e&&c(i,"message",p(e)),d(i,v,i.stack,1),arguments.length>2&&l(i,arguments[2]);var a=[];return f(t,m,{that:a}),c(i,"errors",a),i};s?s(v,A):a(v,A,{name:!0});var b=v.prototype=u(A.prototype,{constructor:h(1,v),message:h(1,""),name:h(1,"AggregateError")});n({global:!0,constructor:!0,arity:2},{AggregateError:v})},30067(t,e,i){"use strict";i(17145)},54743(t,e,i){"use strict";var n=i(46518),r=i(44576),o=i(66346),s=i(87633),a="ArrayBuffer",u=o[a];n({global:!0,constructor:!0,forced:r[a]!==u},{ArrayBuffer:u}),s(a)},16573(t,e,i){"use strict";var n=i(43724),r=i(62106),o=i(3238),s=ArrayBuffer.prototype;n&&!("detached"in s)&&r(s,"detached",{configurable:!0,get:function(){return o(this)}})},46761(t,e,i){"use strict";var n=i(46518),r=i(94644);n({target:"ArrayBuffer",stat:!0,forced:!r.NATIVE_ARRAY_BUFFER_VIEWS},{isView:r.isView})},11745(t,e,i){"use strict";var n=i(46518),r=i(27476),o=i(79039),s=i(66346),a=i(28551),u=i(35610),c=i(18014),h=s.ArrayBuffer,l=s.DataView,d=l.prototype,f=r(h.prototype.slice),p=r(d.getUint8),g=r(d.setUint8);n({target:"ArrayBuffer",proto:!0,unsafe:!0,forced:o(function(){return!new h(2).slice(1,void 0).byteLength})},{slice:function(t,e){if(f&&void 0===e)return f(a(this),t);for(var i=a(this).byteLength,n=u(t,i),r=u(void 0===e?i:e,i),o=new h(c(r-n)),s=new l(this),d=new l(o),A=0;n=0?n:i+n;return a<0||a>=i?void 0:e[a]}}),a("at")},28706(t,e,i){"use strict";var n=i(46518),r=i(79039),o=i(34376),s=i(20034),a=i(48981),u=i(26198),c=i(96837),h=i(97040),l=i(34527),d=i(1469),f=i(70597),p=i(608),g=i(39519),A=p("isConcatSpreadable"),m=g>=51||!r(function(){var t=[];return t[A]=!1,t.concat()[0]!==t}),v=function(t){if(!s(t))return!1;var e=t[A];return void 0!==e?!!e:o(t)};n({target:"Array",proto:!0,arity:1,forced:!m||!f("concat")},{concat:function(t){var e,i,n,r,o,s=a(this),f=d(s,0),p=0;for(e=-1,n=arguments.length;e1?arguments[1]:void 0)}})},33771(t,e,i){"use strict";var n=i(46518),r=i(84373),o=i(6469);n({target:"Array",proto:!0},{fill:r}),o("fill")},2008(t,e,i){"use strict";var n=i(46518),r=i(59213).filter;n({target:"Array",proto:!0,forced:!i(70597)("filter")},{filter:function(t){return r(this,t,arguments.length>1?arguments[1]:void 0)}})},48980(t,e,i){"use strict";var n=i(46518),r=i(59213).findIndex,o=i(6469),s="findIndex",a=!0;s in[]&&Array(1)[s](function(){a=!1}),n({target:"Array",proto:!0,forced:a},{findIndex:function(t){return r(this,t,arguments.length>1?arguments[1]:void 0)}}),o(s)},13451(t,e,i){"use strict";var n=i(46518),r=i(43839).findLastIndex,o=i(6469);n({target:"Array",proto:!0},{findLastIndex:function(t){return r(this,t,arguments.length>1?arguments[1]:void 0)}}),o("findLastIndex")},10838(t,e,i){"use strict";var n=i(46518),r=i(43839).findLast,o=i(6469);n({target:"Array",proto:!0},{findLast:function(t){return r(this,t,arguments.length>1?arguments[1]:void 0)}}),o("findLast")},50113(t,e,i){"use strict";var n=i(46518),r=i(59213).find,o=i(6469),s="find",a=!0;s in[]&&Array(1)[s](function(){a=!1}),n({target:"Array",proto:!0,forced:a},{find:function(t){return r(this,t,arguments.length>1?arguments[1]:void 0)}}),o(s)},78350(t,e,i){"use strict";var n=i(46518),r=i(70259),o=i(79306),s=i(48981),a=i(26198),u=i(1469);n({target:"Array",proto:!0},{flatMap:function(t){var e,i=s(this),n=a(i);return o(t),e=u(i,0),r(e,i,i,n,0,1,t,arguments.length>1?arguments[1]:void 0),e}})},46449(t,e,i){"use strict";var n=i(46518),r=i(70259),o=i(48981),s=i(26198),a=i(91291),u=i(1469);n({target:"Array",proto:!0},{flat:function(){var t=arguments.length?arguments[0]:void 0,e=o(this),i=s(e),n=void 0===t?1:a(t),c=u(e,0);return r(c,e,e,i,0,n),c}})},51629(t,e,i){"use strict";var n=i(46518),r=i(90235);n({target:"Array",proto:!0,forced:[].forEach!==r},{forEach:r})},52407(t,e,i){"use strict";var n=i(46518),r=i(8045),o=i(79039),s=Array.fromAsync;n({target:"Array",stat:!0,forced:!s||o(function(){var t=0;return s.call(function(){return t++,[]},{length:0}),1!==t})},{fromAsync:r})},23418(t,e,i){"use strict";var n=i(46518),r=i(97916);n({target:"Array",stat:!0,forced:!i(84428)(function(t){Array.from(t)})},{from:r})},74423(t,e,i){"use strict";var n=i(46518),r=i(19617).includes,o=i(79039),s=i(6469),a=o(function(){return!Array(1).includes()}),u=o(function(){return[,1].includes(void 0,1)});n({target:"Array",proto:!0,forced:a||u},{includes:function(t){return r(this,t,arguments.length>1?arguments[1]:void 0)}}),s("includes")},25276(t,e,i){"use strict";var n=i(46518),r=i(27476),o=i(19617).indexOf,s=i(34598),a=r([].indexOf),u=!!a&&1/a([1],1,-0)<0;n({target:"Array",proto:!0,forced:u||!s("indexOf")},{indexOf:function(t){var e=arguments.length>1?arguments[1]:void 0;return u?a(this,t,e)||0:o(this,t,e)}})},64346(t,e,i){"use strict";i(46518)({target:"Array",stat:!0},{isArray:i(34376)})},23792(t,e,i){"use strict";var n=i(25397),r=i(6469),o=i(26269),s=i(91181),a=i(24913).f,u=i(51088),c=i(62529),h=i(96395),l=i(43724),d="Array Iterator",f=s.set,p=s.getterFor(d);t.exports=u(Array,"Array",function(t,e){f(this,{type:d,target:n(t),index:0,kind:e})},function(){var t=p(this),e=t.target,i=t.index++;if(!e||i>=e.length)return t.target=null,c(void 0,!0);switch(t.kind){case"keys":return c(i,!1);case"values":return c(e[i],!1)}return c([i,e[i]],!1)},"values");var g=o.Arguments=o.Array;if(r("keys"),r("values"),r("entries"),!h&&l&&"values"!==g.name)try{a(g,"name",{value:"values"})}catch(t){}},48598(t,e,i){"use strict";var n=i(46518),r=i(79504),o=i(47055),s=i(25397),a=i(34598),u=r([].join);n({target:"Array",proto:!0,forced:o!==Object||!a("join",",")},{join:function(t){return u(s(this),void 0===t?",":t)}})},8921(t,e,i){"use strict";var n=i(46518),r=i(8379);n({target:"Array",proto:!0,forced:r!==[].lastIndexOf},{lastIndexOf:r})},62062(t,e,i){"use strict";var n=i(46518),r=i(59213).map;n({target:"Array",proto:!0,forced:!i(70597)("map")},{map:function(t){return r(this,t,arguments.length>1?arguments[1]:void 0)}})},31051(t,e,i){"use strict";var n=i(46518),r=i(79039),o=i(33517),s=i(97040),a=i(34527),u=Array;n({target:"Array",stat:!0,forced:r(function(){function t(){}return!(u.of.call(t)instanceof t)})},{of:function(){for(var t=0,e=arguments.length,i=new(o(this)?this:u)(e);e>t;)s(i,t,arguments[t++]);return a(i,e),i}})},44114(t,e,i){"use strict";var n=i(46518),r=i(48981),o=i(26198),s=i(34527),a=i(96837);n({target:"Array",proto:!0,arity:1,forced:i(79039)(function(){return 4294967297!==[].push.call({length:4294967296},1)})||!function(){try{Object.defineProperty([],"length",{writable:!1}).push()}catch(t){return t instanceof TypeError}}()},{push:function(t){var e=r(this),i=o(e),n=arguments.length;a(i+n);for(var u=0;u79&&s<83||!o("reduceRight")},{reduceRight:function(t){return r(this,t,arguments.length,arguments.length>1?arguments[1]:void 0)}})},72712(t,e,i){"use strict";var n=i(46518),r=i(80926).left,o=i(34598),s=i(39519);n({target:"Array",proto:!0,forced:!i(38574)&&s>79&&s<83||!o("reduce")},{reduce:function(t){var e=arguments.length;return r(this,t,e,e>1?arguments[1]:void 0)}})},94490(t,e,i){"use strict";var n=i(46518),r=i(79504),o=i(34376),s=r([].reverse),a=[1,2];n({target:"Array",proto:!0,forced:String(a)===String(a.reverse())},{reverse:function(){return o(this)&&(this.length=this.length),s(this)}})},34782(t,e,i){"use strict";var n=i(46518),r=i(34376),o=i(33517),s=i(20034),a=i(35610),u=i(26198),c=i(25397),h=i(97040),l=i(34527),d=i(608),f=i(70597),p=i(67680),g=f("slice"),A=d("species"),m=Array,v=Math.max;n({target:"Array",proto:!0,forced:!g},{slice:function(t,e){var i,n,d,f=c(this),g=u(f),b=a(t,g),y=a(void 0===e?g:e,g);if(r(f)&&(i=f.constructor,(o(i)&&(i===m||r(i.prototype))||s(i)&&null===(i=i[A]))&&(i=void 0),i===m||void 0===i))return p(f,b,y);for(n=new(void 0===i?m:i)(v(y-b,0)),d=0;b1?arguments[1]:void 0)}})},26910(t,e,i){"use strict";var n=i(46518),r=i(79504),o=i(79306),s=i(48981),a=i(26198),u=i(84606),c=i(655),h=i(79039),l=i(74488),d=i(34598),f=i(13709),p=i(13763),g=i(39519),A=i(3607),m=[],v=r(m.sort),b=r(m.push),y=h(function(){m.sort(void 0)}),w=h(function(){m.sort(null)}),C=d("sort"),x=!h(function(){if(g)return g<70;if(!(f&&f>3)){if(p)return!0;if(A)return A<603;var t,e,i,n,r="";for(t=65;t<76;t++){switch(e=String.fromCharCode(t),t){case 66:case 69:case 70:case 72:i=3;break;case 68:case 71:i=4;break;default:i=2}for(n=0;n<47;n++)m.push({k:e+n,v:i})}for(m.sort(function(t,e){return e.v-t.v}),n=0;nr?1:-1}}(t)),i=a(r),n=0;ny-n+i;A--)d(b,A-1)}else if(i>n)for(A=y-n;A>w;A--)v=A+i-1,(m=A+n-1)in b?b[v]=b[m]:d(b,v);for(A=0;A=n||l<0)throw new c("Incorrect index");for(var d=new u(n),f=0;f1&&arguments[1]))>>>15,r=1023&e,31==(n=e>>>10&31)?0===r?0===i?1/0:-1/0:NaN:0===n?r*(0===i?s:-s):o(2,n-15)*(0===i?1+r*a:-1-r*a);var e,i,n,r}})},60690(t,e,i){"use strict";i(24359)},3995(t,e,i){"use strict";var n=i(46518),r=i(79504),o=i(24194),s=i(57696),a=i(67787),u=i(53602),c=Math.floor,h=Math.pow,l=1024,d=r(DataView.prototype.setUint16);n({target:"DataView",proto:!0},{setFloat16:function(t,e){d(o(this),s(t),function(t){if(t!=t)return 32256;if(0===t)return(1/t==-1/0)<<15;var e=t<0;if(e&&(t=-t),t>=65520)return e<<15|31744;if(t<61005353927612305e-21)return e<<15|u(16777216*t);var i=c(a(t));if(-15===i)return e<<15|l;var n=u((t*h(2,-i)-1)*l);return n===l?e<<15|i+16<<10:e<<15|i+15<<10|n}(+e),arguments.length>2&&arguments[2])}})},61699(t,e,i){"use strict";var n=i(46518),r=i(79504),o=i(79039)(function(){return 120!==new Date(16e11).getYear()}),s=r(Date.prototype.getFullYear);n({target:"Date",proto:!0,forced:o},{getYear:function(){return s(this)-1900}})},59089(t,e,i){"use strict";var n=i(46518),r=i(79504),o=Date,s=r(o.prototype.getTime);n({target:"Date",stat:!0},{now:function(){return s(new o)}})},91191(t,e,i){"use strict";var n=i(46518),r=i(79504),o=i(91291),s=Date.prototype,a=r(s.getTime),u=r(s.setFullYear);n({target:"Date",proto:!0},{setYear:function(t){a(this);var e=+t;if(e!=e)return u(this,e);var i=o(e);return u(this,i>=0&&i<=99?i+1900:i)}})},93515(t,e,i){"use strict";i(46518)({target:"Date",proto:!0},{toGMTString:Date.prototype.toUTCString})},1688(t,e,i){"use strict";var n=i(46518),r=i(70380);n({target:"Date",proto:!0,forced:Date.prototype.toISOString!==r},{toISOString:r})},60739(t,e,i){"use strict";var n=i(46518),r=i(79039),o=i(48981),s=i(72777);n({target:"Date",proto:!0,arity:1,forced:r(function(){return null!==new Date(NaN).toJSON()||1!==Date.prototype.toJSON.call({toISOString:function(){return 1}})})},{toJSON:function(t){var e=o(this),i=s(e,"number");return"number"!=typeof i||isFinite(i)?e.toISOString():null}})},89572(t,e,i){"use strict";var n=i(39297),r=i(36840),o=i(53640),s=i(608)("toPrimitive"),a=Date.prototype;n(a,s)||r(a,s,o)},23288(t,e,i){"use strict";var n=i(79504),r=i(36840),o=Date.prototype,s="Invalid Date",a="toString",u=n(o[a]),c=n(o.getTime);String(new Date(NaN))!==s&&r(o,a,function(){var t=c(this);return t==t?u(this):s})},48922(t,e,i){"use strict";var n=i(46518),r=i(43724),o=i(97751),s=i(79306),a=i(90679),u=i(36840),c=i(56279),h=i(62106),l=i(608),d=i(91181),f=i(91021),p=o("SuppressedError"),g=ReferenceError,A=l("dispose"),m=l("toStringTag"),v="DisposableStack",b=d.set,y=d.getterFor(v),w="sync-dispose",C="disposed",x=function(t){var e=y(t);if(e.state===C)throw new g(v+" already disposed");return e},k=function(){b(a(this,_),{type:v,state:"pending",stack:[]}),r||(this.disposed=!1)},_=k.prototype;c(_,{dispose:function(){var t=y(this);if(t.state!==C){t.state=C,r||(this.disposed=!0);for(var e,i=t.stack,n=i.length,o=!1;n;){var s=i[--n];i[n]=null;try{s()}catch(t){o?e=new p(t,e):(o=!0,e=t)}}if(t.stack=null,o)throw e}},use:function(t){return f(x(this),t,w),t},adopt:function(t,e){var i=x(this);return s(e),f(i,void 0,w,function(){e(t)}),t},defer:function(t){var e=x(this);s(t),f(e,void 0,w,t)},move:function(){var t=x(this),e=new k;return y(e).stack=t.stack,t.stack=[],t.state=C,r||(this.disposed=!0),e}}),r&&h(_,"disposed",{configurable:!0,get:function(){return y(this).state===C}}),u(_,A,_.dispose,{name:"dispose"}),u(_,m,v,{nonWritable:!0}),n({global:!0,constructor:!0},{DisposableStack:k})},16280(t,e,i){"use strict";var n=i(46518),r=i(44576),o=i(18745),s=i(14601),a="WebAssembly",u=r[a],c=7!==new Error("e",{cause:7}).cause,h=function(t,e){var i={};i[t]=s(t,e,c),n({global:!0,constructor:!0,arity:1,forced:c},i)},l=function(t,e){if(u&&u[t]){var i={};i[t]=s(a+"."+t,e,c),n({target:a,stat:!0,constructor:!0,arity:1,forced:c},i)}};h("Error",function(t){return function(e){return o(t,this,arguments)}}),h("EvalError",function(t){return function(e){return o(t,this,arguments)}}),h("RangeError",function(t){return function(e){return o(t,this,arguments)}}),h("ReferenceError",function(t){return function(e){return o(t,this,arguments)}}),h("SyntaxError",function(t){return function(e){return o(t,this,arguments)}}),h("TypeError",function(t){return function(e){return o(t,this,arguments)}}),h("URIError",function(t){return function(e){return o(t,this,arguments)}}),l("CompileError",function(t){return function(e){return o(t,this,arguments)}}),l("LinkError",function(t){return function(e){return o(t,this,arguments)}}),l("RuntimeError",function(t){return function(e){return o(t,this,arguments)}})},6372(t,e,i){"use strict";var n=i(46518),r=i(97751),o=i(20034),s=i(36955),a=i(79039),u="Error",c="DOMException",h=Object.setPrototypeOf||{}.__proto__,l=r(c),d=Error,f=d.isError;n({target:"Error",stat:!0,sham:!0,forced:!f||!h||a(function(){return l&&!f(new l(c))||!f(new d(u,{cause:function(){}}))||f(r("Object","create")(d.prototype))})},{isError:function(t){if(!o(t))return!1;var e=s(t);return e===u||e===c}})},76918(t,e,i){"use strict";var n=i(36840),r=i(77536),o=Error.prototype;o.toString!==r&&n(o,"toString",r)},36456(t,e,i){"use strict";var n=i(46518),r=i(79504),o=i(655),s=r("".charAt),a=r("".charCodeAt),u=r(/./.exec),c=r(1.1.toString),h=r("".toUpperCase),l=/[\w*+\-./@]/,d=function(t,e){for(var i=c(t,16);i.length=i.length)return void(this.done=!0);var n=i[e];this.iterables[e]=null,t=this.iterator=s(r(n.method,n.iterable)),this.next=t.next}var o=s(r(this.next,t));if(!o.done)return o.value;this.iterator=null,this.next=null}});n({target:"Iterator",stat:!0,forced:c},{concat:function(){for(var t=arguments.length,e=h(t),i=0;i94906265.62425156?s(e)+u:r(e-1+a(e-1)*a(e+1))}})},82326(t,e,i){"use strict";var n=i(46518),r=Math.asinh,o=Math.log,s=Math.sqrt,a=Math.LN2;n({target:"Math",stat:!0,forced:!(r&&1/r(0)>0)},{asinh:function t(e){var i=+e;return isFinite(i)&&0!==i?i<0?-t(-i):i>94906265.62425156?o(i)+a:o(i+s(i*i+1)):i}})},36389(t,e,i){"use strict";var n=i(46518),r=i(7740),o=Math.atanh;n({target:"Math",stat:!0,forced:!(o&&1/o(-0)<0)},{atanh:function(t){var e=+t;return 0===e?e:r(2*e/(1-e))/2}})},64444(t,e,i){"use strict";var n=i(46518),r=i(77782),o=Math.abs,s=Math.pow;n({target:"Math",stat:!0},{cbrt:function(t){var e=+t;return r(e)*s(o(e),1/3)}})},8085(t,e,i){"use strict";var n=i(46518),r=Math.floor,o=Math.log,s=Math.LOG2E;n({target:"Math",stat:!0},{clz32:function(t){var e=t>>>0;return e?31-r(o(e+.5)*s):32}})},77762(t,e,i){"use strict";var n=i(46518),r=i(53250),o=Math.cosh,s=Math.abs,a=Math.E;n({target:"Math",stat:!0,forced:!o||o(710)===1/0},{cosh:function(t){var e=r(s(t)-1)+1;return(e+1/(e*a*a))*(a/2)}})},65070(t,e,i){"use strict";var n=i(46518),r=i(53250);n({target:"Math",stat:!0,forced:r!==Math.expm1},{expm1:r})},4360(t,e,i){"use strict";var n=i(46518),r=i(33164);n({target:"Math",stat:!0},{f16round:function(t){return r(t,.0009765625,65504,6103515625e-14)}})},60605(t,e,i){"use strict";i(46518)({target:"Math",stat:!0},{fround:i(15617)})},39469(t,e,i){"use strict";var n=i(46518),r=Math.hypot,o=Math.abs,s=Math.sqrt;n({target:"Math",stat:!0,arity:2,forced:!!r&&r(1/0,NaN)!==1/0},{hypot:function(t,e){for(var i,n,r=0,a=0,u=arguments.length,c=0;a0?(n=i/c)*n:i;return c===1/0?1/0:c*s(r)}})},72152(t,e,i){"use strict";var n=i(46518),r=i(79039),o=Math.imul;n({target:"Math",stat:!0,forced:r(function(){return-5!==o(4294967295,5)||2!==o.length})},{imul:function(t,e){var i=65535,n=+t,r=+e,o=i&n,s=i&r;return 0|o*s+((i&n>>>16)*s+o*(i&r>>>16)<<16>>>0)}})},75376(t,e,i){"use strict";i(46518)({target:"Math",stat:!0},{log10:i(49340)})},56624(t,e,i){"use strict";i(46518)({target:"Math",stat:!0},{log1p:i(7740)})},11367(t,e,i){"use strict";i(46518)({target:"Math",stat:!0},{log2:i(67787)})},5914(t,e,i){"use strict";i(46518)({target:"Math",stat:!0},{sign:i(77782)})},78553(t,e,i){"use strict";var n=i(46518),r=i(79039),o=i(53250),s=Math.abs,a=Math.exp,u=Math.E;n({target:"Math",stat:!0,forced:r(function(){return-2e-17!==Math.sinh(-2e-17)})},{sinh:function(t){var e=+t;return s(e)<1?(o(e)-o(-e))/2:(a(e-1)-a(-e-1))*(u/2)}})},23068(t,e,i){"use strict";var n=i(46518),r=i(79504),o=i(72652),s=RangeError,a=TypeError,u=1/0,c=Math.abs,h=Math.pow,l=r([].push),d=h(2,1023),f=h(2,53)-1,p=Number.MAX_VALUE,g=h(2,971),A={},m={},v={},b={},y={},w=function(t,e){var i=t+e;return{hi:i,lo:e-(i-t)}};n({target:"Math",stat:!0},{sumPrecise:function(t){var e=[],i=0,n=b;switch(o(t,function(t){if(++i>f)throw new s("Maximum allowed index exceeded");if("number"!=typeof t)throw new a("Value is not a number");n!==A&&(t!=t?n=A:t===u?n=n===m?A:v:t===-1/0?n=n===v?A:m:0===t&&1/t!==u||n!==b&&n!==y||(n=y,l(e,t)))}),n){case A:return NaN;case m:return-1/0;case v:return u;case b:return-0}for(var r,h,C,x,k,_,M=[],B=0,E=0;E=0?M[T]:0;if(T--,c(B)>1||B>0&&O>0||B<0&&O<0)return B>0?u:-1/0;if(x=(C=w(B*d,O/2)).hi,k=C.lo,k*=2,c(2*x)===u)return x>0?x===d&&k===-g/2&&T>=0&&M[T]<0?p:u:x===-d&&k===g/2&&T>=0&&M[T]>0?-p:-1/0;0!==k&&(M[++T]=k,k=0),x*=2}for(;T>=0&&(x=(C=w(x,M[T--])).hi,0===(k=C.lo)););return T>=0&&(k<0&&M[T]<0||k>0&&M[T]>0)&&(h=2*k)===(r=x+h)-x&&(x=r),x}})},98690(t,e,i){"use strict";var n=i(46518),r=i(53250),o=Math.exp;n({target:"Math",stat:!0},{tanh:function(t){var e=+t,i=r(e),n=r(-e);return i===1/0?1:n===1/0?-1:(i-n)/(o(e)+o(-e))}})},60479(t,e,i){"use strict";i(10687)(Math,"Math",!0)},70761(t,e,i){"use strict";i(46518)({target:"Math",stat:!0},{trunc:i(80741)})},2892(t,e,i){"use strict";var n=i(46518),r=i(96395),o=i(43724),s=i(44576),a=i(19167),u=i(79504),c=i(92796),h=i(39297),l=i(23167),d=i(1625),f=i(10757),p=i(72777),g=i(79039),A=i(38480).f,m=i(77347).f,v=i(24913).f,b=i(31240),y=i(43802).trim,w="Number",C=s[w],x=a[w],k=C.prototype,_=s.TypeError,M=u("".slice),B=u("".charCodeAt),E=c(w,!C(" 0o1")||!C("0b1")||C("+0x1")),I=function(t){var e,i=arguments.length<1?0:C(function(t){var e=p(t,"number");return"bigint"==typeof e?e:function(t){var e,i,n,r,o,s,a,u,c=p(t,"number");if(f(c))throw new _("Cannot convert a Symbol value to a number");if("string"==typeof c&&c.length>2)if(c=y(c),43===(e=B(c,0))||45===e){if(88===(i=B(c,2))||120===i)return NaN}else if(48===e){switch(B(c,1)){case 66:case 98:n=2,r=49;break;case 79:case 111:n=8,r=55;break;default:return+c}for(s=(o=M(c,2)).length,a=0;ar)return NaN;return parseInt(o,n)}return+c}(e)}(t));return d(k,e=this)&&g(function(){b(e)})?l(Object(i),this,I):i};I.prototype=k,E&&!r&&(k.constructor=I),n({global:!0,constructor:!0,wrap:!0,forced:E},{Number:I});var S=function(t,e){for(var i,n=o?A(e):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,isFinite,isInteger,isNaN,isSafeInteger,parseFloat,parseInt,fromString,range".split(","),r=0;n.length>r;r++)h(e,i=n[r])&&!h(t,i)&&v(t,i,m(e,i))};r&&x&&S(a[w],x),(E||r)&&S(a[w],C)},45374(t,e,i){"use strict";i(46518)({target:"Number",stat:!0,nonConfigurable:!0,nonWritable:!0},{EPSILON:Math.pow(2,-52)})},25428(t,e,i){"use strict";i(46518)({target:"Number",stat:!0},{isFinite:i(50360)})},32637(t,e,i){"use strict";i(46518)({target:"Number",stat:!0},{isInteger:i(2087)})},40150(t,e,i){"use strict";i(46518)({target:"Number",stat:!0},{isNaN:function(t){return t!=t}})},59149(t,e,i){"use strict";var n=i(46518),r=i(2087),o=Math.abs;n({target:"Number",stat:!0},{isSafeInteger:function(t){return r(t)&&o(t)<=9007199254740991}})},64601(t,e,i){"use strict";i(46518)({target:"Number",stat:!0,nonConfigurable:!0,nonWritable:!0},{MAX_SAFE_INTEGER:9007199254740991})},44435(t,e,i){"use strict";i(46518)({target:"Number",stat:!0,nonConfigurable:!0,nonWritable:!0},{MIN_SAFE_INTEGER:-9007199254740991})},87220(t,e,i){"use strict";var n=i(46518),r=i(33904);n({target:"Number",stat:!0,forced:Number.parseFloat!==r},{parseFloat:r})},25843(t,e,i){"use strict";var n=i(46518),r=i(52703);n({target:"Number",stat:!0,forced:Number.parseInt!==r},{parseInt:r})},62337(t,e,i){"use strict";var n=i(46518),r=i(79504),o=i(91291),s=i(31240),a=i(72333),u=i(49340),c=i(79039),h=RangeError,l=String,d=isFinite,f=Math.abs,p=Math.floor,g=Math.pow,A=Math.round,m=r(1.1.toExponential),v=r(a),b=r("".slice),y=g(10,308),w="-6.9000e-11"===m(-69e-12,4)&&"1.25e+0"===m(1.255,2)&&"1.235e+4"===m(12345,3)&&"3e+1"===m(25,0);n({target:"Number",proto:!0,forced:!w||!(c(function(){m(1,1/0)})&&c(function(){m(1,-1/0)}))||!!c(function(){m(1/0,1/0),m(NaN,1/0)})},{toExponential:function(t){var e=s(this);if(void 0===t)return m(e);var i=o(t);if(!d(e))return String(e);if(i<0||i>20)throw new h("Incorrect fraction digits");if(w)return m(e,i);var n,r,a,c,C,x,k,_="";return e<0&&(_="-",e=-e),0===e?(r=0,n=v("0",i+1)):(C=u(e),(k=i-(r=p(C))>=308?e*y*g(10,i-r-308):e/g(10,r-i))-(x=A(k))>=.5&&(x+=1),x>=g(10,i+1)&&(x/=10,r+=1),n=l(x)),0!==i&&(n=b(n,0,1)+"."+b(n,1)),0===r?(a="+",c="0"):(a=r>0?"+":"-",c=l(f(r))),_+(n+"e")+a+c}})},9868(t,e,i){"use strict";var n=i(46518),r=i(79504),o=i(91291),s=i(31240),a=i(72333),u=i(79039),c=RangeError,h=String,l=Math.floor,d=r(a),f=r("".slice),p=r(1.1.toFixed),g=function(t,e,i){return 0===e?i:e%2==1?g(t,e-1,i*t):g(t*t,e/2,i)},A=function(t,e,i){for(var n=-1,r=i;++n<6;)r+=e*t[n],t[n]=r%1e7,r=l(r/1e7)},m=function(t,e){for(var i=6,n=0;--i>=0;)n+=t[i],t[i]=l(n/e),n=n%e*1e7},v=function(t){for(var e=6,i="";--e>=0;)if(""!==i||0===e||0!==t[e]){var n=h(t[e]);i=""===i?n:i+d("0",7-n.length)+n}return i};n({target:"Number",proto:!0,forced:u(function(){return"0.000"!==p(8e-5,3)||"1"!==p(.9,0)||"1.25"!==p(1.255,2)||"1000000000000000128"!==p(0xde0b6b3a7640080,0)})||!u(function(){p({})})},{toFixed:function(t){var e,i,n,r,a=s(this),u=o(t),l=[0,0,0,0,0,0],p="",b="0";if(u<0||u>20)throw new c("Incorrect fraction digits");if(a!=a)return"NaN";if(a<=-1e21||a>=1e21)return h(a);if(a<0&&(p="-",a=-a),a>1e-21)if(i=(e=function(t){for(var e=0,i=t;i>=4096;)e+=12,i/=4096;for(;i>=2;)e+=1,i/=2;return e}(a*g(2,69,1))-69)<0?a*g(2,-e,1):a/g(2,e,1),i*=4503599627370496,(e=52-e)>0){for(A(l,0,i),n=u;n>=7;)A(l,1e7,0),n-=7;for(A(l,g(10,n,1),0),n=e-1;n>=23;)m(l,1<<23),n-=23;m(l,1<0?p+((r=b.length)<=u?"0."+d("0",u-r)+b:f(b,0,r-u)+"."+f(b,r-u)):p+b}})},80630(t,e,i){"use strict";var n=i(46518),r=i(79504),o=i(79039),s=i(31240),a=r(1.1.toPrecision);n({target:"Number",proto:!0,forced:o(function(){return"1"!==a(1,void 0)})||!o(function(){a({})})},{toPrecision:function(t){return void 0===t?a(s(this)):a(s(this),t)}})},69085(t,e,i){"use strict";var n=i(46518),r=i(44213);n({target:"Object",stat:!0,arity:2,forced:Object.assign!==r},{assign:r})},59904(t,e,i){"use strict";i(46518)({target:"Object",stat:!0,sham:!i(43724)},{create:i(2360)})},17427(t,e,i){"use strict";var n=i(46518),r=i(43724),o=i(42551),s=i(79306),a=i(48981),u=i(24913);r&&n({target:"Object",proto:!0,forced:o},{__defineGetter__:function(t,e){u.f(a(this),t,{get:s(e),enumerable:!0,configurable:!0})}})},67945(t,e,i){"use strict";var n=i(46518),r=i(43724),o=i(96801).f;n({target:"Object",stat:!0,forced:Object.defineProperties!==o,sham:!r},{defineProperties:o})},84185(t,e,i){"use strict";var n=i(46518),r=i(43724),o=i(24913).f;n({target:"Object",stat:!0,forced:Object.defineProperty!==o,sham:!r},{defineProperty:o})},87607(t,e,i){"use strict";var n=i(46518),r=i(43724),o=i(42551),s=i(79306),a=i(48981),u=i(24913);r&&n({target:"Object",proto:!0,forced:o},{__defineSetter__:function(t,e){u.f(a(this),t,{set:s(e),enumerable:!0,configurable:!0})}})},5506(t,e,i){"use strict";var n=i(46518),r=i(32357).entries;n({target:"Object",stat:!0},{entries:function(t){return r(t)}})},52811(t,e,i){"use strict";var n=i(46518),r=i(92744),o=i(79039),s=i(20034),a=i(3451).onFreeze,u=Object.freeze;n({target:"Object",stat:!0,forced:o(function(){u(1)}),sham:!r},{freeze:function(t){return u&&s(t)?u(a(t)):t}})},53921(t,e,i){"use strict";var n=i(46518),r=i(72652),o=i(97040);n({target:"Object",stat:!0},{fromEntries:function(t){var e={};return r(t,function(t,i){o(e,t,i)},{AS_ENTRIES:!0}),e}})},83851(t,e,i){"use strict";var n=i(46518),r=i(79039),o=i(25397),s=i(77347).f,a=i(43724);n({target:"Object",stat:!0,forced:!a||r(function(){s(1)}),sham:!a},{getOwnPropertyDescriptor:function(t,e){return s(o(t),e)}})},81278(t,e,i){"use strict";var n=i(46518),r=i(43724),o=i(35031),s=i(25397),a=i(77347),u=i(97040);n({target:"Object",stat:!0,sham:!r},{getOwnPropertyDescriptors:function(t){for(var e,i,n=s(t),r=a.f,c=o(n),h={},l=0;c.length>l;)void 0!==(i=r(n,e=c[l++]))&&u(h,e,i);return h}})},1480(t,e,i){"use strict";var n=i(46518),r=i(79039),o=i(10298).f;n({target:"Object",stat:!0,forced:r(function(){return!Object.getOwnPropertyNames(1)})},{getOwnPropertyNames:o})},49773(t,e,i){"use strict";var n=i(46518),r=i(4495),o=i(79039),s=i(33717),a=i(48981);n({target:"Object",stat:!0,forced:!r||o(function(){s.f(1)})},{getOwnPropertySymbols:function(t){var e=s.f;return e?e(a(t)):[]}})},40875(t,e,i){"use strict";var n=i(46518),r=i(79039),o=i(48981),s=i(42787),a=i(12211);n({target:"Object",stat:!0,forced:r(function(){s(1)}),sham:!a},{getPrototypeOf:function(t){return s(o(t))}})},77691(t,e,i){"use strict";var n=i(46518),r=i(97040),o=i(97751),s=i(79504),a=i(79306),u=i(67750),c=i(56969),h=i(72652),l=i(79039),d=Object.groupBy,f=o("Object","create"),p=s([].push);n({target:"Object",stat:!0,forced:!d||l(function(){return 1!==d("ab",function(t){return t}).a.length})},{groupBy:function(t,e){u(t),a(e);var i=f(null),n=0;return h(t,function(t){var o=c(e(t,n++));o in i?p(i[o],t):r(i,o,[t])}),i}})},78347(t,e,i){"use strict";i(46518)({target:"Object",stat:!0},{hasOwn:i(39297)})},94052(t,e,i){"use strict";var n=i(46518),r=i(34124);n({target:"Object",stat:!0,forced:Object.isExtensible!==r},{isExtensible:r})},94003(t,e,i){"use strict";var n=i(46518),r=i(79039),o=i(20034),s=i(22195),a=i(15652),u=Object.isFrozen;n({target:"Object",stat:!0,forced:a||r(function(){u(1)})},{isFrozen:function(t){return!o(t)||!(!a||"ArrayBuffer"!==s(t))||!!u&&u(t)}})},221(t,e,i){"use strict";var n=i(46518),r=i(79039),o=i(20034),s=i(22195),a=i(15652),u=Object.isSealed;n({target:"Object",stat:!0,forced:a||r(function(){u(1)})},{isSealed:function(t){return!o(t)||!(!a||"ArrayBuffer"!==s(t))||!!u&&u(t)}})},29908(t,e,i){"use strict";i(46518)({target:"Object",stat:!0},{is:i(3470)})},79432(t,e,i){"use strict";var n=i(46518),r=i(48981),o=i(71072);n({target:"Object",stat:!0,forced:i(79039)(function(){o(1)})},{keys:function(t){return o(r(t))}})},9220(t,e,i){"use strict";var n=i(46518),r=i(43724),o=i(42551),s=i(48981),a=i(56969),u=i(42787),c=i(77347).f;r&&n({target:"Object",proto:!0,forced:o},{__lookupGetter__:function(t){var e,i=s(this),n=a(t);do{if(e=c(i,n))return e.get}while(i=u(i))}})},7904(t,e,i){"use strict";var n=i(46518),r=i(43724),o=i(42551),s=i(48981),a=i(56969),u=i(42787),c=i(77347).f;r&&n({target:"Object",proto:!0,forced:o},{__lookupSetter__:function(t){var e,i=s(this),n=a(t);do{if(e=c(i,n))return e.set}while(i=u(i))}})},16348(t,e,i){"use strict";var n=i(46518),r=i(20034),o=i(3451).onFreeze,s=i(92744),a=i(79039),u=Object.preventExtensions;n({target:"Object",stat:!0,forced:a(function(){u(1)}),sham:!s},{preventExtensions:function(t){return u&&r(t)?u(o(t)):t}})},63548(t,e,i){"use strict";var n=i(43724),r=i(62106),o=i(20034),s=i(13925),a=i(48981),u=i(67750),c=Object.getPrototypeOf,h=Object.setPrototypeOf,l=Object.prototype,d="__proto__";if(n&&c&&h&&!(d in l))try{r(l,d,{configurable:!0,get:function(){return c(a(this))},set:function(t){var e=u(this);s(t)&&o(e)&&h(e,t)}})}catch(t){}},93941(t,e,i){"use strict";var n=i(46518),r=i(20034),o=i(3451).onFreeze,s=i(92744),a=i(79039),u=Object.seal;n({target:"Object",stat:!0,forced:a(function(){u(1)}),sham:!s},{seal:function(t){return u&&r(t)?u(o(t)):t}})},10287(t,e,i){"use strict";i(46518)({target:"Object",stat:!0},{setPrototypeOf:i(52967)})},26099(t,e,i){"use strict";var n=i(92140),r=i(36840),o=i(53179);n||r(Object.prototype,"toString",o,{unsafe:!0})},16034(t,e,i){"use strict";var n=i(46518),r=i(32357).values;n({target:"Object",stat:!0},{values:function(t){return r(t)}})},78459(t,e,i){"use strict";var n=i(46518),r=i(33904);n({global:!0,forced:parseFloat!==r},{parseFloat:r})},58940(t,e,i){"use strict";var n=i(46518),r=i(52703);n({global:!0,forced:parseInt!==r},{parseInt:r})},96167(t,e,i){"use strict";var n=i(46518),r=i(69565),o=i(79306),s=i(36043),a=i(1103),u=i(72652);n({target:"Promise",stat:!0,forced:i(90537)},{allSettled:function(t){var e=this,i=s.f(e),n=i.resolve,c=i.reject,h=a(function(){var i=o(e.resolve),s=[],a=0,c=1;u(t,function(t){var o=a++,u=!1;c++,r(i,e,t).then(function(t){u||(u=!0,s[o]={status:"fulfilled",value:t},--c||n(s))},function(t){u||(u=!0,s[o]={status:"rejected",reason:t},--c||n(s))})}),--c||n(s)});return h.error&&c(h.value),i.promise}})},16499(t,e,i){"use strict";var n=i(46518),r=i(69565),o=i(79306),s=i(36043),a=i(1103),u=i(72652);n({target:"Promise",stat:!0,forced:i(90537)},{all:function(t){var e=this,i=s.f(e),n=i.resolve,c=i.reject,h=a(function(){var i=o(e.resolve),s=[],a=0,h=1;u(t,function(t){var o=a++,u=!1;h++,r(i,e,t).then(function(t){u||(u=!0,s[o]=t,--h||n(s))},c)}),--h||n(s)});return h.error&&c(h.value),i.promise}})},93518(t,e,i){"use strict";var n=i(46518),r=i(69565),o=i(79306),s=i(97751),a=i(36043),u=i(1103),c=i(72652),h=i(90537),l="No one promise resolved";n({target:"Promise",stat:!0,forced:h},{any:function(t){var e=this,i=s("AggregateError"),n=a.f(e),h=n.resolve,d=n.reject,f=u(function(){var n=o(e.resolve),s=[],a=0,u=1,f=!1;c(t,function(t){var o=a++,c=!1;u++,r(n,e,t).then(function(t){c||f||(f=!0,h(t))},function(t){c||f||(c=!0,s[o]=t,--u||d(new i(s,l)))})}),--u||d(new i(s,l))});return f.error&&d(f.value),n.promise}})},82003(t,e,i){"use strict";var n=i(46518),r=i(96395),o=i(10916).CONSTRUCTOR,s=i(80550),a=i(97751),u=i(94901),c=i(36840),h=s&&s.prototype;if(n({target:"Promise",proto:!0,forced:o,real:!0},{catch:function(t){return this.then(void 0,t)}}),!r&&u(s)){var l=a("Promise").prototype.catch;h.catch!==l&&c(h,"catch",l,{unsafe:!0})}},10436(t,e,i){"use strict";var n,r,o,s,a=i(46518),u=i(96395),c=i(38574),h=i(44576),l=i(19167),d=i(69565),f=i(36840),p=i(52967),g=i(10687),A=i(87633),m=i(79306),v=i(94901),b=i(20034),y=i(90679),w=i(2293),C=i(59225).set,x=i(91955),k=i(90757),_=i(1103),M=i(18265),B=i(91181),E=i(80550),I=i(10916),S=i(36043),D="Promise",T=I.CONSTRUCTOR,O=I.REJECTION_EVENT,P=I.SUBCLASSING,R=B.getterFor(D),z=B.set,N=E&&E.prototype,H=E,j=N,L=h.TypeError,U=h.document,q=h.process,F=S.f,W=F,Y=!!(U&&U.createEvent&&h.dispatchEvent),Q="unhandledrejection",G=function(t){var e;return!(!b(t)||!v(e=t.then))&&e},V=function(t,e){var i,n,r,o=e.value,s=1===e.state,a=s?t.ok:t.fail,u=t.resolve,c=t.reject,h=t.domain;try{a?(s||(2===e.rejection&&$(e),e.rejection=1),!0===a?i=o:(h&&h.enter(),i=a(o),h&&(h.exit(),r=!0)),i===t.promise?c(new L("Promise-chain cycle")):(n=G(i))?d(n,i,u,c):u(i)):c(o)}catch(t){h&&!r&&h.exit(),c(t)}},K=function(t,e){t.notified||(t.notified=!0,x(function(){for(var i,n=t.reactions;i=n.get();)V(i,t);t.notified=!1,e&&!t.rejection&&Z(t)}))},X=function(t,e,i){var n,r;Y?((n=U.createEvent("Event")).promise=e,n.reason=i,n.initEvent(t,!1,!0),h.dispatchEvent(n)):n={promise:e,reason:i},!O&&(r=h["on"+t])?r(n):t===Q&&k("Unhandled promise rejection",i)},Z=function(t){d(C,h,function(){var e,i=t.facade,n=t.value;if(J(t)&&(e=_(function(){c?q.emit("unhandledRejection",n,i):X(Q,i,n)}),t.rejection=c||J(t)?2:1,e.error))throw e.value})},J=function(t){return 1!==t.rejection&&!t.parent},$=function(t){d(C,h,function(){var e=t.facade;c?q.emit("rejectionHandled",e):X("rejectionhandled",e,t.value)})},tt=function(t,e,i){return function(n){t(e,n,i)}},et=function(t,e,i){t.done||(t.done=!0,i&&(t=i),t.value=e,t.state=2,K(t,!0))},it=function(t,e,i){if(!t.done){t.done=!0,i&&(t=i);try{if(t.facade===e)throw new L("Promise can't be resolved itself");var n=G(e);n?x(function(){var i={done:!1};try{d(n,e,tt(it,i,t),tt(et,i,t))}catch(e){et(i,e,t)}}):(t.value=e,t.state=1,K(t,!1))}catch(e){et({done:!1},e,t)}}};if(T&&(j=(H=function(t){y(this,j),m(t),d(n,this);var e=R(this);try{t(tt(it,e),tt(et,e))}catch(t){et(e,t)}}).prototype,(n=function(t){z(this,{type:D,done:!1,notified:!1,parent:!1,reactions:new M,rejection:!1,state:0,value:null})}).prototype=f(j,"then",function(t,e){var i=R(this),n=F(w(this,H));return i.parent=!0,n.ok=!v(t)||t,n.fail=v(e)&&e,n.domain=c?q.domain:void 0,0===i.state?i.reactions.add(n):x(function(){V(n,i)}),n.promise}),r=function(){var t=new n,e=R(t);this.promise=t,this.resolve=tt(it,e),this.reject=tt(et,e)},S.f=F=function(t){return t===H||t===o?new r(t):W(t)},!u&&v(E)&&N!==Object.prototype)){s=N.then,P||f(N,"then",function(t,e){var i=this;return new H(function(t,e){d(s,i,t,e)}).then(t,e)},{unsafe:!0});try{delete N.constructor}catch(t){}p&&p(N,j)}a({global:!0,constructor:!0,wrap:!0,forced:T},{Promise:H}),o=l.Promise,g(H,D,!1,!0),A(D)},9391(t,e,i){"use strict";var n=i(46518),r=i(96395),o=i(80550),s=i(79039),a=i(97751),u=i(94901),c=i(2293),h=i(93438),l=i(36840),d=o&&o.prototype;if(n({target:"Promise",proto:!0,real:!0,forced:!!o&&s(function(){d.finally.call({then:function(){}},function(){})})},{finally:function(t){var e=c(this,a("Promise")),i=u(t);return this.then(i?function(i){return h(e,t()).then(function(){return i})}:t,i?function(i){return h(e,t()).then(function(){throw i})}:t)}}),!r&&u(o)){var f=a("Promise").prototype.finally;d.finally!==f&&l(d,"finally",f,{unsafe:!0})}},3362(t,e,i){"use strict";i(10436),i(16499),i(82003),i(7743),i(51481),i(40280)},7743(t,e,i){"use strict";var n=i(46518),r=i(69565),o=i(79306),s=i(36043),a=i(1103),u=i(72652);n({target:"Promise",stat:!0,forced:i(90537)},{race:function(t){var e=this,i=s.f(e),n=i.reject,c=a(function(){var s=o(e.resolve);u(t,function(t){r(s,e,t).then(i.resolve,n)})});return c.error&&n(c.value),i.promise}})},51481(t,e,i){"use strict";var n=i(46518),r=i(36043);n({target:"Promise",stat:!0,forced:i(10916).CONSTRUCTOR},{reject:function(t){var e=r.f(this);return(0,e.reject)(t),e.promise}})},40280(t,e,i){"use strict";var n=i(46518),r=i(97751),o=i(96395),s=i(80550),a=i(10916).CONSTRUCTOR,u=i(93438),c=r("Promise"),h=o&&!a;n({target:"Promise",stat:!0,forced:o||a},{resolve:function(t){return u(h&&this===c?s:this,t)}})},31689(t,e,i){"use strict";var n=i(46518),r=i(44576),o=i(18745),s=i(67680),a=i(36043),u=i(79306),c=i(1103),h=r.Promise,l=!1;n({target:"Promise",stat:!0,forced:!h||!h.try||c(function(){h.try(function(t){l=8===t},8)}).error||!l},{try:function(t){var e=arguments.length>1?s(arguments,1):[],i=a.f(this),n=c(function(){return o(u(t),void 0,e)});return(n.error?i.reject:i.resolve)(n.value),i.promise}})},14628(t,e,i){"use strict";var n=i(46518),r=i(36043);n({target:"Promise",stat:!0},{withResolvers:function(){var t=r.f(this);return{promise:t.promise,resolve:t.resolve,reject:t.reject}}})},39796(t,e,i){"use strict";var n=i(46518),r=i(18745),o=i(79306),s=i(28551);n({target:"Reflect",stat:!0,forced:!i(79039)(function(){Reflect.apply(function(){})})},{apply:function(t,e,i){return r(o(t),e,s(i))}})},60825(t,e,i){"use strict";var n=i(46518),r=i(97751),o=i(18745),s=i(30566),a=i(35548),u=i(28551),c=i(20034),h=i(2360),l=i(79039),d=r("Reflect","construct"),f=Object.prototype,p=[].push,g=l(function(){function t(){}return!(d(function(){},[],t)instanceof t)}),A=!l(function(){d(function(){})}),m=g||A;n({target:"Reflect",stat:!0,forced:m,sham:m},{construct:function(t,e){a(t);var i=arguments.length<3?t:a(arguments[2]);if(u(e),A&&!g)return d(t,e,i);if(t===i){switch(e.length){case 0:return new t;case 1:return new t(e[0]);case 2:return new t(e[0],e[1]);case 3:return new t(e[0],e[1],e[2]);case 4:return new t(e[0],e[1],e[2],e[3])}var n=[null];return o(p,n,e),new(o(s,t,n))}var r=i.prototype,l=h(c(r)?r:f),m=o(t,l,e);return c(m)?m:l}})},87411(t,e,i){"use strict";var n=i(46518),r=i(43724),o=i(28551),s=i(56969),a=i(24913),u=i(94901),c=i(79039),h=TypeError;n({target:"Reflect",stat:!0,forced:c(function(){Reflect.defineProperty(a.f({},1,{value:1}),1,{value:2})}),sham:!r},{defineProperty:function(t,e,i){o(t);var n,r,c=s(e);if(o(i),("get"in i||"set"in i)&&("get"in i&&!u(n=i.get)&&void 0!==n||"set"in i&&!u(r=i.set)&&void 0!==r||"value"in i||"writable"in i))throw new h("Invalid property descriptor");try{return a.f(t,c,i),!0}catch(t){return!1}}})},21211(t,e,i){"use strict";var n=i(46518),r=i(28551),o=i(77347).f,s=i(56969);n({target:"Reflect",stat:!0},{deleteProperty:function(t,e){r(t);var i=s(e),n=o(t,i);return!(n&&!n.configurable)&&delete t[i]}})},9065(t,e,i){"use strict";var n=i(46518),r=i(43724),o=i(28551),s=i(77347);n({target:"Reflect",stat:!0,sham:!r},{getOwnPropertyDescriptor:function(t,e){return s.f(o(t),e)}})},86565(t,e,i){"use strict";var n=i(46518),r=i(28551),o=i(42787);n({target:"Reflect",stat:!0,sham:!i(12211)},{getPrototypeOf:function(t){return o(r(t))}})},40888(t,e,i){"use strict";var n=i(46518),r=i(69565),o=i(20034),s=i(28551),a=i(16575),u=i(77347),c=i(42787),h=i(56969),l=function(t,e,i){if(s(t)===i)return t[e];var n=u.f(t,e);if(n)return a(n)?n.value:void 0===n.get?void 0:r(n.get,i);var h=c(t);return o(h)?l(h,e,i):void 0};n({target:"Reflect",stat:!0},{get:function(t,e){return l(s(t),h(e),arguments.length<3?t:arguments[2])}})},32812(t,e,i){"use strict";i(46518)({target:"Reflect",stat:!0},{has:function(t,e){return e in t}})},84634(t,e,i){"use strict";var n=i(46518),r=i(28551),o=i(34124);n({target:"Reflect",stat:!0},{isExtensible:function(t){return r(t),o(t)}})},71137(t,e,i){"use strict";i(46518)({target:"Reflect",stat:!0},{ownKeys:i(35031)})},30985(t,e,i){"use strict";var n=i(46518),r=i(97751),o=i(28551);n({target:"Reflect",stat:!0,sham:!i(92744)},{preventExtensions:function(t){o(t);try{var e=r("Object","preventExtensions");return e&&e(t),!0}catch(t){return!1}}})},34873(t,e,i){"use strict";var n=i(46518),r=i(28551),o=i(73506),s=i(52967);s&&n({target:"Reflect",stat:!0},{setPrototypeOf:function(t,e){r(t),o(e);try{return s(t,e),!0}catch(t){return!1}}})},34268(t,e,i){"use strict";var n=i(46518),r=i(69565),o=i(28551),s=i(20034),a=i(16575),u=i(79039),c=i(24913),h=i(77347),l=i(42787),d=i(6980),f=i(56969),p=function(t,e,i,n){var u,f,g,A=h.f(o(t),e);if(!A){if(s(f=l(t)))return p(f,e,i,n);A=d(0)}if(a(A)){if(!1===A.writable||!s(n))return!1;if(u=h.f(n,e)){if(!a(u)||!1===u.writable)return!1;c.f(n,e,{value:i})}else try{c.f(n,e,d(0,i))}catch(t){return!1}}else{if(void 0===(g=A.set))return!1;r(g,n,i)}return!0};n({target:"Reflect",stat:!0,forced:u(function(){var t=function(){},e=c.f(new t,"a",{configurable:!0});return!1!==Reflect.set(t.prototype,"a",1,e)})},{set:function(t,e,i){return p(o(t),f(e),i,arguments.length<4?t:arguments[3])}})},15472(t,e,i){"use strict";var n=i(46518),r=i(44576),o=i(10687);n({global:!0},{Reflect:{}}),o(r.Reflect,"Reflect",!0)},84864(t,e,i){"use strict";var n=i(43724),r=i(44576),o=i(79504),s=i(92796),a=i(23167),u=i(66699),c=i(2360),h=i(38480).f,l=i(1625),d=i(60788),f=i(655),p=i(61034),g=i(58429),A=i(11056),m=i(36840),v=i(79039),b=i(39297),y=i(91181).enforce,w=i(87633),C=i(608),x=i(83635),k=i(18814),_=C("match"),M=r.RegExp,B=M.prototype,E=r.SyntaxError,I=o(B.exec),S=o("".charAt),D=o("".replace),T=o("".indexOf),O=o("".slice),P=/^\?<[^\s\d!#%&*+<=>@^][^\s!#%&*+<=>@^]*>/,R=/a/g,z=/a/g,N=new M(R)!==R,H=g.MISSED_STICKY,j=g.UNSUPPORTED_Y;if(s("RegExp",n&&(!N||H||x||k||v(function(){return z[_]=!1,M(R)!==R||M(z)===z||"/a/i"!==String(M(R,"i"))})))){for(var L=function(t,e){var i,n,r,o,s,h,g=l(B,this),A=d(t),m=void 0===e,v=[],w=t;if(!g&&A&&m&&t.constructor===L)return t;if((A||l(B,t))&&(t=t.source,m&&(e=p(w))),t=void 0===t?"":f(t),e=void 0===e?"":f(e),w=t,x&&"dotAll"in R&&(n=!!e&&T(e,"s")>-1)&&(e=D(e,/s/g,"")),i=e,H&&"sticky"in R&&(r=!!e&&T(e,"y")>-1)&&j&&(e=D(e,/y/g,"")),k&&(o=function(t){for(var e,i=t.length,n=0,r="",o=[],s=c(null),a=!1,u=!1,h=0,l="";n"===e&&u:if(""===l||b(s,l))throw new E("Invalid capture group name");s[l]=!0,o[o.length]=[l,h],u=!1,l="";continue}u?l+=e:r+=e}for(var d=0;d",p="\\"+o[d][1];T(r,f)>-1;)r=D(r,f,p);return[r,o]}(t),t=o[0],v=o[1]),s=a(M(t,e),g?this:B,L),(n||r||v.length)&&(h=y(s),n&&(h.dotAll=!0,h.raw=L(function(t){for(var e,i=t.length,n=0,r="",o=!1;nq;)A(L,M,U[q++]);B.constructor=L,L.prototype=B,m(r,"RegExp",L,{constructor:!0})}w("RegExp")},57465(t,e,i){"use strict";var n=i(43724),r=i(83635),o=i(22195),s=i(62106),a=i(91181).get,u=RegExp.prototype,c=TypeError;n&&r&&s(u,"dotAll",{configurable:!0,get:function(){if(this!==u){if("RegExp"===o(this))return!!a(this).dotAll;throw new c("Incompatible receiver, RegExp required")}}})},96069(t,e,i){"use strict";var n=i(46518),r=i(79504),o=i(63463),s=i(39297),a=i(60533).start,u=i(47452),c=Array,h=RegExp.escape,l=r("".charAt),d=r("".charCodeAt),f=r(1.1.toString),p=r([].join),g=/^[0-9a-z]/i,A=/^[$()*+./?[\\\]^{|}]/,m=RegExp("^[!\"#%&',\\-:;<=>@`~"+u+"]"),v=r(g.exec),b={"\t":"t","\n":"n","\v":"v","\f":"f","\r":"r"},y=function(t){var e=f(d(t,0),16);return e.length<3?"\\x"+a(e,2,"0"):"\\u"+a(e,4,"0")};n({target:"RegExp",stat:!0,forced:!h||"\\x61b"!==h("ab")},{escape:function(t){o(t);for(var e=t.length,i=c(e),n=0;n=56320||n+1>=e||56320!=(64512&d(t,n+1))?i[n]=y(r):(i[n]=r,i[++n]=l(t,n))}}return p(i,"")}})},27495(t,e,i){"use strict";var n=i(46518),r=i(57323);n({target:"RegExp",proto:!0,forced:/./.exec!==r},{exec:r})},69479(t,e,i){"use strict";var n=i(43724),r=i(62106),o=i(65213),s=i(67979);n&&!o.correct&&(r(RegExp.prototype,"flags",{configurable:!0,get:s}),o.correct=!0)},87745(t,e,i){"use strict";var n=i(43724),r=i(58429).MISSED_STICKY,o=i(22195),s=i(62106),a=i(91181).get,u=RegExp.prototype,c=TypeError;n&&r&&s(u,"sticky",{configurable:!0,get:function(){if(this!==u){if("RegExp"===o(this))return!!a(this).sticky;throw new c("Incompatible receiver, RegExp required")}}})},90906(t,e,i){"use strict";i(27495);var n,r,o=i(46518),s=i(69565),a=i(94901),u=i(28551),c=i(655),h=(n=!1,(r=/[ac]/).exec=function(){return n=!0,/./.exec.apply(this,arguments)},!0===r.test("abc")&&n),l=/./.test;o({target:"RegExp",proto:!0,forced:!h},{test:function(t){var e=u(this),i=c(t),n=e.exec;if(!a(n))return s(l,e,i);var r=s(n,e,i);return null!==r&&(u(r),!0)}})},38781(t,e,i){"use strict";var n=i(10350).PROPER,r=i(36840),o=i(28551),s=i(655),a=i(79039),u=i(61034),c="toString",h=RegExp.prototype,l=h[c],d=a(function(){return"/a/b"!==l.call({source:"a",flags:"b"})}),f=n&&l.name!==c;(d||f)&&r(h,c,function(){var t=o(this);return"/"+s(t.source)+"/"+s(u(t))},{unsafe:!0})},92405(t,e,i){"use strict";i(16468)("Set",function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}},i(64557))},17642(t,e,i){"use strict";var n=i(46518),r=i(83440),o=i(79039);n({target:"Set",proto:!0,real:!0,forced:!i(84916)("difference",function(t){return 0===t.size})||o(function(){var t={size:1,has:function(){return!0},keys:function(){var t=0;return{next:function(){var i=t++>1;return e.has(1)&&e.clear(),{done:i,value:2}}}}},e=new Set([1,2,3,4]);return 3!==e.difference(t).size})},{difference:r})},58004(t,e,i){"use strict";var n=i(46518),r=i(79039),o=i(68750);n({target:"Set",proto:!0,real:!0,forced:!i(84916)("intersection",function(t){return 2===t.size&&t.has(1)&&t.has(2)})||r(function(){return"3,2"!==String(Array.from(new Set([1,2,3]).intersection(new Set([3,2]))))})},{intersection:o})},33853(t,e,i){"use strict";var n=i(46518),r=i(64449);n({target:"Set",proto:!0,real:!0,forced:!i(84916)("isDisjointFrom",function(t){return!t})},{isDisjointFrom:r})},45876(t,e,i){"use strict";var n=i(46518),r=i(53838);n({target:"Set",proto:!0,real:!0,forced:!i(84916)("isSubsetOf",function(t){return t})},{isSubsetOf:r})},32475(t,e,i){"use strict";var n=i(46518),r=i(28527);n({target:"Set",proto:!0,real:!0,forced:!i(84916)("isSupersetOf",function(t){return!t})},{isSupersetOf:r})},31415(t,e,i){"use strict";i(92405)},15024(t,e,i){"use strict";var n=i(46518),r=i(83650),o=i(39835);n({target:"Set",proto:!0,real:!0,forced:!i(84916)("symmetricDifference")||!o("symmetricDifference")},{symmetricDifference:r})},31698(t,e,i){"use strict";var n=i(46518),r=i(44204),o=i(39835);n({target:"Set",proto:!0,real:!0,forced:!i(84916)("union")||!o("union")},{union:r})},89907(t,e,i){"use strict";var n=i(46518),r=i(77240);n({target:"String",proto:!0,forced:i(23061)("anchor")},{anchor:function(t){return r(this,"a","name",t)}})},67357(t,e,i){"use strict";var n=i(46518),r=i(79504),o=i(67750),s=i(91291),a=i(655),u=i(79039),c=r("".charAt);n({target:"String",proto:!0,forced:u(function(){return"\ud842"!=="𠮷".at(-2)})},{at:function(t){var e=a(o(this)),i=e.length,n=s(t),r=n>=0?n:i+n;return r<0||r>=i?void 0:c(e,r)}})},11898(t,e,i){"use strict";var n=i(46518),r=i(77240);n({target:"String",proto:!0,forced:i(23061)("big")},{big:function(){return r(this,"big","","")}})},35490(t,e,i){"use strict";var n=i(46518),r=i(77240);n({target:"String",proto:!0,forced:i(23061)("blink")},{blink:function(){return r(this,"blink","","")}})},5745(t,e,i){"use strict";var n=i(46518),r=i(77240);n({target:"String",proto:!0,forced:i(23061)("bold")},{bold:function(){return r(this,"b","","")}})},23860(t,e,i){"use strict";var n=i(46518),r=i(68183).codeAt;n({target:"String",proto:!0},{codePointAt:function(t){return r(this,t)}})},99449(t,e,i){"use strict";var n,r=i(46518),o=i(27476),s=i(77347).f,a=i(18014),u=i(655),c=i(60511),h=i(67750),l=i(41436),d=i(96395),f=o("".slice),p=Math.min,g=l("endsWith");r({target:"String",proto:!0,forced:!(!d&&!g&&(n=s(String.prototype,"endsWith"),n&&!n.writable)||g)},{endsWith:function(t){var e=u(h(this));c(t);var i=u(t),n=arguments.length>1?arguments[1]:void 0,r=e.length,o=void 0===n?r:p(a(n),r);return f(e,o-i.length,o)===i}})},94298(t,e,i){"use strict";var n=i(46518),r=i(77240);n({target:"String",proto:!0,forced:i(23061)("fixed")},{fixed:function(){return r(this,"tt","","")}})},60268(t,e,i){"use strict";var n=i(46518),r=i(77240);n({target:"String",proto:!0,forced:i(23061)("fontcolor")},{fontcolor:function(t){return r(this,"font","color",t)}})},69546(t,e,i){"use strict";var n=i(46518),r=i(77240);n({target:"String",proto:!0,forced:i(23061)("fontsize")},{fontsize:function(t){return r(this,"font","size",t)}})},27337(t,e,i){"use strict";var n=i(46518),r=i(79504),o=i(35610),s=RangeError,a=String.fromCharCode,u=String.fromCodePoint,c=r([].join);n({target:"String",stat:!0,arity:1,forced:!!u&&1!==u.length},{fromCodePoint:function(t){for(var e,i=[],n=arguments.length,r=0;n>r;){if(o(e=+arguments[r],1114111)!==e)throw new s(e+" is not a valid code point");i[r++]=e<65536?a(e):a(55296+((e-=65536)>>10),e%1024+56320)}return c(i,"")}})},21699(t,e,i){"use strict";var n=i(46518),r=i(79504),o=i(60511),s=i(67750),a=i(655),u=i(41436),c=r("".indexOf);n({target:"String",proto:!0,forced:!u("includes")},{includes:function(t){return!!~c(a(s(this)),a(o(t)),arguments.length>1?arguments[1]:void 0)}})},42043(t,e,i){"use strict";var n=i(46518),r=i(79504),o=i(67750),s=i(655),a=r("".charCodeAt);n({target:"String",proto:!0},{isWellFormed:function(){for(var t=s(o(this)),e=t.length,i=0;i=56320||++i>=e||56320!=(64512&a(t,i))))return!1}return!0}})},20781(t,e,i){"use strict";var n=i(46518),r=i(77240);n({target:"String",proto:!0,forced:i(23061)("italics")},{italics:function(){return r(this,"i","","")}})},47764(t,e,i){"use strict";var n=i(68183).charAt,r=i(655),o=i(91181),s=i(51088),a=i(62529),u="String Iterator",c=o.set,h=o.getterFor(u);s(String,"String",function(t){c(this,{type:u,string:r(t),index:0})},function(){var t,e=h(this),i=e.string,r=e.index;return r>=i.length?a(void 0,!0):(t=n(i,r),e.index+=t.length,a(t,!1))})},50778(t,e,i){"use strict";var n=i(46518),r=i(77240);n({target:"String",proto:!0,forced:i(23061)("link")},{link:function(t){return r(this,"a","href",t)}})},28543(t,e,i){"use strict";var n=i(46518),r=i(69565),o=i(27476),s=i(33994),a=i(62529),u=i(67750),c=i(18014),h=i(655),l=i(28551),d=i(20034),f=i(22195),p=i(60788),g=i(61034),A=i(55966),m=i(36840),v=i(79039),b=i(608),y=i(2293),w=i(57829),C=i(56682),x=i(91181),k=i(96395),_=b("matchAll"),M="RegExp String",B=M+" Iterator",E=x.set,I=x.getterFor(B),S=RegExp.prototype,D=TypeError,T=o("".indexOf),O=o("".matchAll),P=!!O&&!v(function(){O("a",/./)}),R=s(function(t,e,i,n){E(this,{type:B,regexp:t,string:e,global:i,unicode:n,done:!1})},M,function(){var t=I(this);if(t.done)return a(void 0,!0);var e=t.regexp,i=t.string,n=C(e,i);return null===n?(t.done=!0,a(void 0,!0)):t.global?(""===h(n[0])&&(e.lastIndex=w(i,c(e.lastIndex),t.unicode)),a(n,!1)):(t.done=!0,a(n,!1))}),z=function(t){var e,i,n,r=l(this),o=h(t),s=y(r,RegExp),a=h(g(r));return e=new s(s===RegExp?r.source:r,a),i=!!~T(a,"g"),n=!!~T(a,"u")||!!~T(a,"v"),e.lastIndex=c(r.lastIndex),new R(e,o,i,n)};n({target:"String",proto:!0,forced:P},{matchAll:function(t){var e,i,n,o,s=u(this);if(d(t)){if(p(t)&&(e=h(u(g(t))),!~T(e,"g")))throw new D("`.matchAll` does not allow non-global regexes");if(P)return O(s,t);if(void 0===(n=A(t,_))&&k&&"RegExp"===f(t)&&(n=z),n)return r(n,t,s)}else if(P)return O(s,t);return i=h(s),o=new RegExp(t,"g"),k?r(z,o,i):o[_](i)}}),k||_ in S||m(S,_,z)},71761(t,e,i){"use strict";var n=i(69565),r=i(79504),o=i(89228),s=i(28551),a=i(20034),u=i(18014),c=i(655),h=i(67750),l=i(55966),d=i(57829),f=i(61034),p=i(56682),g=r("".indexOf);o("match",function(t,e,i){return[function(e){var i=h(this),r=a(e)?l(e,t):void 0;return r?n(r,e,i):new RegExp(e)[t](c(i))},function(t){var n=s(this),r=c(t),o=i(e,n,r);if(o.done)return o.value;var a=c(f(n));if(!~g(a,"g"))return p(n,r);var h=!!~g(a,"u")||!!~g(a,"v");n.lastIndex=0;for(var l,A=[],m=0;null!==(l=p(n,r));){var v=c(l[0]);A[m]=v,""===v&&(n.lastIndex=d(r,u(n.lastIndex),h)),m++}return 0===m?null:A}]})},35701(t,e,i){"use strict";var n=i(46518),r=i(60533).end;n({target:"String",proto:!0,forced:i(83063)},{padEnd:function(t){return r(this,t,arguments.length>1?arguments[1]:void 0)}})},68156(t,e,i){"use strict";var n=i(46518),r=i(60533).start;n({target:"String",proto:!0,forced:i(83063)},{padStart:function(t){return r(this,t,arguments.length>1?arguments[1]:void 0)}})},85906(t,e,i){"use strict";var n=i(46518),r=i(79504),o=i(25397),s=i(48981),a=i(655),u=i(26198),c=r([].push),h=r([].join);n({target:"String",stat:!0},{raw:function(t){var e=o(s(t).raw),i=u(e);if(!i)return"";for(var n=arguments.length,r=[],l=0;;){if(c(r,a(e[l++])),l===i)return h(r,"");lp.length?-1:v(p,C,M+_);return I=T&&(D+=M(a,T,z)+P,T=z+R.length)}return D+M(a,T)}]},!!a(function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$")})||!E||I)},5746(t,e,i){"use strict";var n=i(69565),r=i(89228),o=i(28551),s=i(20034),a=i(67750),u=i(3470),c=i(655),h=i(55966),l=i(56682);r("search",function(t,e,i){return[function(e){var i=a(this),r=s(e)?h(e,t):void 0;return r?n(r,e,i):new RegExp(e)[t](c(i))},function(t){var n=o(this),r=c(t),s=i(e,n,r);if(s.done)return s.value;var a=n.lastIndex;u(a,0)||(n.lastIndex=0);var h=l(n,r);return u(n.lastIndex,a)||(n.lastIndex=a),null===h?-1:h.index}]})},89195(t,e,i){"use strict";var n=i(46518),r=i(77240);n({target:"String",proto:!0,forced:i(23061)("small")},{small:function(){return r(this,"small","","")}})},90744(t,e,i){"use strict";var n=i(69565),r=i(79504),o=i(89228),s=i(28551),a=i(20034),u=i(67750),c=i(2293),h=i(57829),l=i(18014),d=i(655),f=i(55966),p=i(61034),g=i(56682),A=i(58429),m=i(79039),v=A.UNSUPPORTED_Y,b=Math.min,y=r([].push),w=r("".slice),C=r("".indexOf),x=!m(function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var i="ab".split(t);return 2!==i.length||"a"!==i[0]||"b"!==i[1]}),k="c"==="abbc".split(/(b)*/)[1]||4!=="test".split(/(?:)/,-1).length||2!=="ab".split(/(?:ab)*/).length||4!==".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length;o("split",function(t,e,i){var r="0".split(void 0,0).length?function(t,i){return void 0===t&&0===i?[]:n(e,this,t,i)}:e;return[function(e,i){var o=u(this),s=a(e)?f(e,t):void 0;return s?n(s,e,o,i):n(r,d(o),e,i)},function(t,n){var o=s(this),a=d(t);if(!k){var u=i(r,o,a,n,r!==e);if(u.done)return u.value}var f=c(o,RegExp),A=d(p(o)),m=!!~C(A,"u")||!!~C(A,"v");v?~C(A,"g")||(A+="g"):~C(A,"y")||(A+="y");var x=new f(v?"^(?:"+o.source+")":o,A),_=void 0===n?4294967295:n>>>0;if(0===_)return[];if(0===a.length)return null===g(x,a)?[a]:[];for(var M=0,B=0,E=[];B1?arguments[1]:void 0,e.length));return f(e,n,n+i.length)===i}})},46276(t,e,i){"use strict";var n=i(46518),r=i(77240);n({target:"String",proto:!0,forced:i(23061)("strike")},{strike:function(){return r(this,"strike","","")}})},48718(t,e,i){"use strict";var n=i(46518),r=i(77240);n({target:"String",proto:!0,forced:i(23061)("sub")},{sub:function(){return r(this,"sub","","")}})},50375(t,e,i){"use strict";var n=i(46518),r=i(79504),o=i(67750),s=i(91291),a=i(655),u=r("".slice),c=Math.max,h=Math.min;n({target:"String",proto:!0,forced:!"".substr||"b"!=="ab".substr(-1)},{substr:function(t,e){var i=a(o(this)),n=i.length,r=s(t),l=r<0?c(n+r,0):h(r,n),d=void 0===e?n:s(e);if(d<=0)return"";var f=h(l+d,n);return l>=f?"":u(i,l,f)}})},16308(t,e,i){"use strict";var n=i(46518),r=i(77240);n({target:"String",proto:!0,forced:i(23061)("sup")},{sup:function(){return r(this,"sup","","")}})},67438(t,e,i){"use strict";var n=i(46518),r=i(69565),o=i(79504),s=i(67750),a=i(655),u=i(79039),c=Array,h=o("".charAt),l=o("".charCodeAt),d=o([].join),f="".toWellFormed,p=f&&u(function(){return"1"!==r(f,1)});n({target:"String",proto:!0,forced:p},{toWellFormed:function(){var t=a(s(this));if(p)return r(f,t);for(var e=t.length,i=c(e),n=0;n=56320||n+1>=e||56320!=(64512&l(t,n+1))?i[n]="�":(i[n]=h(t,n),i[++n]=h(t,n))}return d(i,"")}})},39202(t,e,i){"use strict";i(33313);var n=i(46518),r=i(18866);n({target:"String",proto:!0,name:"trimEnd",forced:"".trimEnd!==r},{trimEnd:r})},58934(t,e,i){"use strict";var n=i(46518),r=i(53487);n({target:"String",proto:!0,name:"trimStart",forced:"".trimLeft!==r},{trimLeft:r})},33313(t,e,i){"use strict";var n=i(46518),r=i(18866);n({target:"String",proto:!0,name:"trimEnd",forced:"".trimRight!==r},{trimRight:r})},43359(t,e,i){"use strict";i(58934);var n=i(46518),r=i(53487);n({target:"String",proto:!0,name:"trimStart",forced:"".trimStart!==r},{trimStart:r})},42762(t,e,i){"use strict";var n=i(46518),r=i(43802).trim;n({target:"String",proto:!0,forced:i(60706)("trim")},{trim:function(){return r(this)}})},88940(t,e,i){"use strict";var n=i(46518),r=i(44576),o=i(1625),s=i(42787),a=i(52967),u=i(77740),c=i(2360),h=i(66699),l=i(6980),d=i(80747),f=i(32603),p=i(608),g=i(79039),A=i(96395),m=r.SuppressedError,v=p("toStringTag"),b=Error,y=!!m&&3!==m.length,w=!!m&&g(function(){return 4===new m(1,2,3,{cause:4}).cause}),C=y||w,x=function(t,e,i){var n,r=o(k,this);return a?n=!C||r&&s(this)!==k?a(new b,r?s(this):k):new m:(n=r?this:c(k),h(n,v,"Error")),void 0!==i&&h(n,"message",f(i)),d(n,x,n.stack,1),h(n,"error",t),h(n,"suppressed",e),n};a?a(x,b):u(x,b,{name:!0});var k=x.prototype=C?m.prototype:c(b.prototype,{constructor:l(1,x),message:l(1,""),name:l(1,"SuppressedError")});C&&!A&&(k.constructor=x),n({global:!0,constructor:!0,arity:3,forced:C},{SuppressedError:x})},34113(t,e,i){"use strict";var n=i(44576),r=i(70511),o=i(24913).f,s=i(77347).f,a=n.Symbol;if(r("asyncDispose"),a){var u=s(a,"asyncDispose");u.enumerable&&u.configurable&&u.writable&&o(a,"asyncDispose",{value:u.value,enumerable:!1,configurable:!1,writable:!1})}},66412(t,e,i){"use strict";i(70511)("asyncIterator")},6761(t,e,i){"use strict";var n=i(46518),r=i(44576),o=i(69565),s=i(79504),a=i(96395),u=i(43724),c=i(4495),h=i(79039),l=i(39297),d=i(1625),f=i(28551),p=i(25397),g=i(56969),A=i(655),m=i(6980),v=i(2360),b=i(71072),y=i(38480),w=i(10298),C=i(33717),x=i(77347),k=i(24913),_=i(96801),M=i(48773),B=i(36840),E=i(62106),I=i(25745),S=i(66119),D=i(30421),T=i(33392),O=i(608),P=i(1951),R=i(70511),z=i(58242),N=i(10687),H=i(91181),j=i(59213).forEach,L=S("hidden"),U="Symbol",q="prototype",F=H.set,W=H.getterFor(U),Y=Object[q],Q=r.Symbol,G=Q&&Q[q],V=r.RangeError,K=r.TypeError,X=r.QObject,Z=x.f,J=k.f,$=w.f,tt=M.f,et=s([].push),it=I("symbols"),nt=I("op-symbols"),rt=I("wks"),ot=!X||!X[q]||!X[q].findChild,st=function(t,e,i){var n=Z(Y,e);return n&&delete Y[e],J(t,e,i),n&&t!==Y&&J(Y,e,n),t},at=u&&h(function(){return 7!==v(J({},"a",{get:function(){return J(this,"a",{value:7}).a}})).a})?st:J,ut=function(t,e){var i=it[t]=v(G);return F(i,{type:U,tag:t,description:e}),u||(i.description=e),i},ct=function(t,e,i){t===Y&&ct(nt,e,i),f(t);var n=g(e);return f(i),l(it,n)?(("enumerable"in i?!i.enumerable:!l(t,n)||l(t,L)&&t[L][n])?(l(t,L)||J(t,L,m(1,v(null))),t[L][n]=!0):(l(t,L)&&t[L][n]&&(t[L][n]=!1),i=v(i,{enumerable:m(0,!1)})),at(t,n,i)):J(t,n,i)},ht=function(t,e){f(t);var i=p(e),n=b(i).concat(pt(i));return j(n,function(e){u&&!o(lt,i,e)||ct(t,e,i[e])}),t},lt=function(t){var e=g(t),i=o(tt,this,e);return!(this===Y&&l(it,e)&&!l(nt,e))&&(!(i||!l(this,e)||!l(it,e)||l(this,L)&&this[L][e])||i)},dt=function(t,e){var i=p(t),n=g(e);if(i!==Y||!l(it,n)||l(nt,n)){var r=Z(i,n);return!r||!l(it,n)||l(i,L)&&i[L][n]||(r.enumerable=!0),r}},ft=function(t){var e=$(p(t)),i=[];return j(e,function(t){l(it,t)||l(D,t)||et(i,t)}),i},pt=function(t){var e=t===Y,i=$(e?nt:p(t)),n=[];return j(i,function(t){!l(it,t)||e&&!l(Y,t)||et(n,it[t])}),n};c||(Q=function(){if(d(G,this))throw new K("Symbol is not a constructor");var t=arguments.length&&void 0!==arguments[0]?A(arguments[0]):void 0,e=T(t),i=function(t){var n=void 0===this?r:this;n===Y&&o(i,nt,t),l(n,L)&&l(n[L],e)&&(n[L][e]=!1);var s=m(1,t);try{at(n,e,s)}catch(t){if(!(t instanceof V))throw t;st(n,e,s)}};return u&&ot&&at(Y,e,{configurable:!0,set:i}),ut(e,t)},B(G=Q[q],"toString",function(){return W(this).tag}),B(Q,"withoutSetter",function(t){return ut(T(t),t)}),M.f=lt,k.f=ct,_.f=ht,x.f=dt,y.f=w.f=ft,C.f=pt,P.f=function(t){return ut(O(t),t)},u&&(E(G,"description",{configurable:!0,get:function(){return W(this).description}}),a||B(Y,"propertyIsEnumerable",lt,{unsafe:!0}))),n({global:!0,constructor:!0,wrap:!0,forced:!c,sham:!c},{Symbol:Q}),j(b(rt),function(t){R(t)}),n({target:U,stat:!0,forced:!c},{useSetter:function(){ot=!0},useSimple:function(){ot=!1}}),n({target:"Object",stat:!0,forced:!c,sham:!u},{create:function(t,e){return void 0===e?v(t):ht(v(t),e)},defineProperty:ct,defineProperties:ht,getOwnPropertyDescriptor:dt}),n({target:"Object",stat:!0,forced:!c},{getOwnPropertyNames:ft}),z(),N(Q,U),D[L]=!0},89463(t,e,i){"use strict";var n=i(46518),r=i(43724),o=i(44576),s=i(69565),a=i(79504),u=i(39297),c=i(94901),h=i(1625),l=i(655),d=i(62106),f=i(77740),p=o.Symbol,g=p&&p.prototype;if(r&&c(p)&&(!("description"in g)||void 0!==p().description)){var A={},m=function(){var t=arguments.length<1||void 0===arguments[0]?void 0:l(arguments[0]),e=h(g,this)?new p(t):void 0===t?p():p(t);return""===t&&(A[e]=!0),e};f(m,p);var v=m.for;m.for={for:function(t){var e=l(t),i=s(v,this,e);return""===e&&(A[i]=!0),i}}.for,m.prototype=g,g.constructor=m;var b="Symbol(description detection)"===String(p("description detection")),y=a(g.valueOf),w=a(g.toString),C=/^Symbol\((.*)\)[^)]+$/,x=a("".replace),k=a("".slice);d(g,"description",{configurable:!0,get:function(){var t=y(this);if(u(A,t))return"";var e=w(t),i=b?k(e,7,-1):x(e,C,"$1");return""===i?void 0:i}}),n({global:!0,constructor:!0,forced:!0},{Symbol:m})}},97324(t,e,i){"use strict";var n=i(44576),r=i(70511),o=i(24913).f,s=i(77347).f,a=n.Symbol;if(r("dispose"),a){var u=s(a,"dispose");u.enumerable&&u.configurable&&u.writable&&o(a,"dispose",{value:u.value,enumerable:!1,configurable:!1,writable:!1})}},81510(t,e,i){"use strict";var n=i(46518),r=i(97751),o=i(39297),s=i(655),a=i(25745),u=i(91296),c=a("string-to-symbol-registry"),h=a("symbol-to-string-registry");n({target:"Symbol",stat:!0,forced:!u},{for:function(t){var e=s(t);if(o(c,e))return c[e];var i=r("Symbol")(e);return c[e]=i,h[i]=e,i}})},60193(t,e,i){"use strict";i(70511)("hasInstance")},92168(t,e,i){"use strict";i(70511)("isConcatSpreadable")},2259(t,e,i){"use strict";i(70511)("iterator")},52675(t,e,i){"use strict";i(6761),i(81510),i(97812),i(33110),i(49773)},97812(t,e,i){"use strict";var n=i(46518),r=i(39297),o=i(10757),s=i(16823),a=i(25745),u=i(91296),c=a("symbol-to-string-registry");n({target:"Symbol",stat:!0,forced:!u},{keyFor:function(t){if(!o(t))throw new TypeError(s(t)+" is not a symbol");if(r(c,t))return c[t]}})},83142(t,e,i){"use strict";i(70511)("matchAll")},86964(t,e,i){"use strict";i(70511)("match")},83237(t,e,i){"use strict";i(70511)("replace")},61833(t,e,i){"use strict";i(70511)("search")},67947(t,e,i){"use strict";i(70511)("species")},31073(t,e,i){"use strict";i(70511)("split")},45700(t,e,i){"use strict";var n=i(70511),r=i(58242);n("toPrimitive"),r()},78125(t,e,i){"use strict";var n=i(97751),r=i(70511),o=i(10687);r("toStringTag"),o(n("Symbol"),"Symbol")},20326(t,e,i){"use strict";i(70511)("unscopables")},48140(t,e,i){"use strict";var n=i(94644),r=i(26198),o=i(91291),s=n.aTypedArray;(0,n.exportTypedArrayMethod)("at",function(t){var e=s(this),i=r(e),n=o(t),a=n>=0?n:i+n;return a<0||a>=i?void 0:e[a]})},81630(t,e,i){"use strict";var n=i(79504),r=i(94644),o=n(i(57029)),s=r.aTypedArray;(0,r.exportTypedArrayMethod)("copyWithin",function(t,e){return o(s(this),t,e,arguments.length>2?arguments[2]:void 0)})},72170(t,e,i){"use strict";var n=i(94644),r=i(59213).every,o=n.aTypedArray;(0,n.exportTypedArrayMethod)("every",function(t){return r(o(this),t,arguments.length>1?arguments[1]:void 0)})},75044(t,e,i){"use strict";var n=i(94644),r=i(84373),o=i(75854),s=i(36955),a=i(69565),u=i(79504),c=i(79039),h=n.aTypedArray,l=n.exportTypedArrayMethod,d=u("".slice);l("fill",function(t){var e=arguments.length;h(this);var i="Big"===d(s(this),0,3)?o(t):+t;return a(r,this,i,e>1?arguments[1]:void 0,e>2?arguments[2]:void 0)},c(function(){var t=0;return new Int8Array(2).fill({valueOf:function(){return t++}}),1!==t}))},69539(t,e,i){"use strict";var n=i(94644),r=i(59213).filter,o=i(29948),s=n.aTypedArray;(0,n.exportTypedArrayMethod)("filter",function(t){var e=r(s(this),t,arguments.length>1?arguments[1]:void 0);return o(this,e)})},89955(t,e,i){"use strict";var n=i(94644),r=i(59213).findIndex,o=n.aTypedArray;(0,n.exportTypedArrayMethod)("findIndex",function(t){return r(o(this),t,arguments.length>1?arguments[1]:void 0)})},91134(t,e,i){"use strict";var n=i(94644),r=i(43839).findLastIndex,o=n.aTypedArray;(0,n.exportTypedArrayMethod)("findLastIndex",function(t){return r(o(this),t,arguments.length>1?arguments[1]:void 0)})},21903(t,e,i){"use strict";var n=i(94644),r=i(43839).findLast,o=n.aTypedArray;(0,n.exportTypedArrayMethod)("findLast",function(t){return r(o(this),t,arguments.length>1?arguments[1]:void 0)})},31694(t,e,i){"use strict";var n=i(94644),r=i(59213).find,o=n.aTypedArray;(0,n.exportTypedArrayMethod)("find",function(t){return r(o(this),t,arguments.length>1?arguments[1]:void 0)})},34594(t,e,i){"use strict";i(15823)("Float32",function(t){return function(e,i,n){return t(this,e,i,n)}})},29833(t,e,i){"use strict";i(15823)("Float64",function(t){return function(e,i,n){return t(this,e,i,n)}})},33206(t,e,i){"use strict";var n=i(94644),r=i(59213).forEach,o=n.aTypedArray;(0,n.exportTypedArrayMethod)("forEach",function(t){r(o(this),t,arguments.length>1?arguments[1]:void 0)})},48345(t,e,i){"use strict";var n=i(72805);(0,i(94644).exportTypedArrayStaticMethod)("from",i(43251),n)},44496(t,e,i){"use strict";var n=i(94644),r=i(19617).includes,o=n.aTypedArray;(0,n.exportTypedArrayMethod)("includes",function(t){return r(o(this),t,arguments.length>1?arguments[1]:void 0)})},66651(t,e,i){"use strict";var n=i(94644),r=i(19617).indexOf,o=n.aTypedArray;(0,n.exportTypedArrayMethod)("indexOf",function(t){return r(o(this),t,arguments.length>1?arguments[1]:void 0)})},72107(t,e,i){"use strict";i(15823)("Int16",function(t){return function(e,i,n){return t(this,e,i,n)}})},95477(t,e,i){"use strict";i(15823)("Int32",function(t){return function(e,i,n){return t(this,e,i,n)}})},46594(t,e,i){"use strict";i(15823)("Int8",function(t){return function(e,i,n){return t(this,e,i,n)}})},12887(t,e,i){"use strict";var n=i(44576),r=i(79039),o=i(79504),s=i(94644),a=i(23792),u=i(608)("iterator"),c=n.Uint8Array,h=o(a.values),l=o(a.keys),d=o(a.entries),f=s.aTypedArray,p=s.exportTypedArrayMethod,g=c&&c.prototype,A=!r(function(){g[u].call([1])}),m=!!g&&g.values&&g[u]===g.values&&"values"===g.values.name,v=function(){return h(f(this))};p("entries",function(){return d(f(this))},A),p("keys",function(){return l(f(this))},A),p("values",v,A||!m,{name:"values"}),p(u,v,A||!m,{name:"values"})},19369(t,e,i){"use strict";var n=i(94644),r=i(79504),o=n.aTypedArray,s=n.exportTypedArrayMethod,a=r([].join);s("join",function(t){return a(o(this),t)})},66812(t,e,i){"use strict";var n=i(94644),r=i(18745),o=i(8379),s=n.aTypedArray;(0,n.exportTypedArrayMethod)("lastIndexOf",function(t){var e=arguments.length;return r(o,s(this),e>1?[t,arguments[1]]:[t])})},8995(t,e,i){"use strict";var n=i(94644),r=i(59213).map,o=i(29948),s=n.aTypedArray;(0,n.exportTypedArrayMethod)("map",function(t){var e=r(s(this),t,arguments.length>1?arguments[1]:void 0);return o(this,e)})},52568(t,e,i){"use strict";var n=i(94644),r=i(72805),o=n.aTypedArrayConstructor;(0,n.exportTypedArrayStaticMethod)("of",function(){for(var t=0,e=arguments.length,i=new(o(this))(e);e>t;)i[t]=arguments[t++];return i},r)},36072(t,e,i){"use strict";var n=i(94644),r=i(80926).right,o=n.aTypedArray;(0,n.exportTypedArrayMethod)("reduceRight",function(t){var e=arguments.length;return r(o(this),t,e,e>1?arguments[1]:void 0)})},31575(t,e,i){"use strict";var n=i(94644),r=i(80926).left,o=n.aTypedArray;(0,n.exportTypedArrayMethod)("reduce",function(t){var e=arguments.length;return r(o(this),t,e,e>1?arguments[1]:void 0)})},88747(t,e,i){"use strict";var n=i(94644),r=n.aTypedArray,o=n.exportTypedArrayMethod,s=Math.floor;o("reverse",function(){for(var t,e=this,i=r(e).length,n=s(i/2),o=0;o1?arguments[1]:void 0,1),i=u(t);if(A)return r(f,this,i,e);var n=this.length,o=s(i),c=0;if(o+e>n)throw new h("Wrong length");for(;cr;)c[r]=i[r++];return c},r(function(){new Int8Array(1).slice()}))},57301(t,e,i){"use strict";var n=i(94644),r=i(59213).some,o=n.aTypedArray;(0,n.exportTypedArrayMethod)("some",function(t){return r(o(this),t,arguments.length>1?arguments[1]:void 0)})},373(t,e,i){"use strict";var n=i(44576),r=i(27476),o=i(79039),s=i(79306),a=i(74488),u=i(94644),c=i(13709),h=i(13763),l=i(39519),d=i(3607),f=u.aTypedArray,p=u.exportTypedArrayMethod,g=n.Uint16Array,A=g&&r(g.prototype.sort),m=!(!A||o(function(){A(new g(2),null)})&&o(function(){A(new g(2),{})})),v=!!A&&!o(function(){if(l)return l<74;if(c)return c<67;if(h)return!0;if(d)return d<602;var t,e,i=new g(516),n=Array(516);for(t=0;t<516;t++)e=t%4,i[t]=515-t,n[t]=t-2*e+3;for(A(i,function(t,e){return(t/4|0)-(e/4|0)}),t=0;t<516;t++)if(i[t]!==n[t])return!0});p("sort",function(t){return void 0!==t&&s(t),v?A(this,t):a(f(this),function(t){return function(e,i){return void 0!==t?+t(e,i)||0:i!=i?e!=e?0:-1:e!=e?1:0===e&&0===i?1/e>0?1/i>0?0:1:1/i>0?-1:0:e>i?1:e=n||d<0)throw new l("Incorrect index");for(var p=new(c(i))(n),g=0;g1?arguments[1]:void 0,null,9007199254740991);return o(a,e.bytes)}})},91925(t,e,i){"use strict";var n=i(46518),r=i(44576),o=i(63463),s=i(42303);r.Uint8Array&&n({target:"Uint8Array",stat:!0},{fromHex:function(t){return s(o(t)).bytes}})},16632(t,e,i){"use strict";var n=i(46518),r=i(44576),o=i(59143),s=i(34154),a=r.Uint8Array,u=!a||!a.prototype.setFromBase64||!function(){var t=new a([255,255,255,255,255]);try{return void t.setFromBase64("",null)}catch(t){}try{return void t.setFromBase64("a")}catch(t){}try{t.setFromBase64("MjYyZg===")}catch(e){return 50===t[0]&&54===t[1]&&50===t[2]&&255===t[3]&&255===t[4]}}();a&&n({target:"Uint8Array",proto:!0,forced:u},{setFromBase64:function(t){s(this);var e=o(t,arguments.length>1?arguments[1]:void 0,this,this.length);return{read:e.read,written:e.written}}})},34226(t,e,i){"use strict";var n=i(46518),r=i(44576),o=i(63463),s=i(34154),a=i(55169),u=i(42303);r.Uint8Array&&n({target:"Uint8Array",proto:!0,forced:function(){try{var t=new ArrayBuffer(16,{maxByteLength:1024});new Uint8Array(t).setFromHex("cafed00d")}catch(t){return!0}}()},{setFromHex:function(t){s(this),o(t),a(this.buffer);var e=u(t,this).read;return{read:e,written:e/2}}})},9486(t,e,i){"use strict";var n=i(46518),r=i(44576),o=i(79504),s=i(83972),a=i(34154),u=i(55169),c=i(92804),h=i(944),l=c.i2c,d=c.i2cUrl,f=o("".charAt),p=r.Uint8Array,g=!p||!p.prototype.toBase64||!function(){try{(new p).toBase64(null)}catch(t){return!0}}();p&&n({target:"Uint8Array",proto:!0,forced:g},{toBase64:function(){var t=a(this),e=arguments.length?s(arguments[0]):void 0,i="base64"===h(e)?l:d,n=!!e&&!!e.omitPadding;u(this.buffer);for(var r,o="",c=0,p=t.length,g=function(t){return f(i,r>>6*t&63)};c+2>2)+(M?M-1:0)),E=0;u>(-2*_&6)));return y(B,"")}})},42207(t,e,i){"use strict";var n=i(46518),r=i(44576),o=i(97751),s=i(79504),a=i(69565),u=i(79039),c=i(655),h=i(22812),l=i(92804).i2c,d=o("btoa"),f=Array,p=s([].join),g=s("".charAt),A=s("".charCodeAt),m=!!d&&!u(function(){return"aGk="!==d("hi")}),v=m&&!u(function(){d()}),b=m&&u(function(){return"bnVsbA=="!==d(null)}),y=m&&1!==d.length;n({global:!0,bind:!0,enumerable:!0,forced:!m||v||b||y},{btoa:function(t){if(h(arguments.length,1),m)return a(d,r,c(t));for(var e,i,n=c(t),s=new f((n.length+2)/3<<2),u=0,v=0,b=l;g(n,v)||(b="=",v%1);){if((i=A(n,v+=3/4))>255)throw new(o("DOMException"))("The string contains characters outside of the Latin1 range","InvalidCharacterError");e=e<<8|i,s[u++]=g(b,63&e>>8-v%1*8)}return p(s,"")}})},86368(t,e,i){"use strict";var n=i(46518),r=i(44576),o=i(59225).clear;n({global:!0,bind:!0,enumerable:!0,forced:r.clearImmediate!==o},{clearImmediate:o})},23500(t,e,i){"use strict";var n=i(44576),r=i(67400),o=i(79296),s=i(90235),a=i(66699),u=function(t){if(t&&t.forEach!==s)try{a(t,"forEach",s)}catch(e){t.forEach=s}};for(var c in r)r[c]&&u(n[c]&&n[c].prototype);u(o)},62953(t,e,i){"use strict";var n=i(44576),r=i(67400),o=i(79296),s=i(23792),a=i(66699),u=i(10687),c=i(608)("iterator"),h=s.values,l=function(t,e){if(t){if(t[c]!==h)try{a(t,c,h)}catch(e){t[c]=h}if(u(t,e,!0),r[e])for(var i in s)if(t[i]!==s[i])try{a(t,i,s[i])}catch(e){t[i]=s[i]}}};for(var d in r)l(n[d]&&n[d].prototype,d);l(o,"DOMTokenList")},55815(t,e,i){"use strict";var n=i(46518),r=i(97751),o=i(89429),s=i(79039),a=i(2360),u=i(6980),c=i(24913).f,h=i(36840),l=i(62106),d=i(39297),f=i(90679),p=i(28551),g=i(77536),A=i(32603),m=i(55002),v=i(16193),b=i(91181),y=i(43724),w=i(96395),C="DOMException",x="DATA_CLONE_ERR",k=r("Error"),_=r(C)||function(){try{(new(r("MessageChannel")||o("worker_threads").MessageChannel)).port1.postMessage(new WeakMap)}catch(t){if(t.name===x&&25===t.code)return t.constructor}}(),M=_&&_.prototype,B=k.prototype,E=b.set,I=b.getterFor(C),S="stack"in new k(C),D=function(t){return d(m,t)&&m[t].m?m[t].c:0},T=function(){f(this,O);var t=arguments.length,e=A(t<1?void 0:arguments[0]),i=A(t<2?void 0:arguments[1],"Error"),n=D(i);if(E(this,{type:C,name:i,message:e,code:n}),y||(this.name=i,this.message=e,this.code=n),S){var r=new k(e);r.name=C,c(this,"stack",u(1,v(r.stack,1)))}},O=T.prototype=a(B),P=function(t){return{enumerable:!0,configurable:!0,get:t}},R=function(t){return P(function(){return I(this)[t]})};y&&(l(O,"code",R("code")),l(O,"message",R("message")),l(O,"name",R("name"))),c(O,"constructor",u(1,T));var z=s(function(){return!(new _ instanceof k)}),N=z||s(function(){return B.toString!==g||"2: 1"!==String(new _(1,2))}),H=z||s(function(){return 25!==new _(1,"DataCloneError").code}),j=z||25!==_[x]||25!==M[x],L=w?N||H||j:z;n({global:!0,constructor:!0,forced:L},{DOMException:L?T:_});var U=r(C),q=U.prototype;for(var F in N&&(w||_===U)&&h(q,"toString",g),H&&y&&_===U&&l(q,"code",P(function(){return D(p(this).name)})),m)if(d(m,F)){var W=m[F],Y=W.s,Q=u(6,W.c);d(U,Y)||c(U,Y,Q),d(q,Y)||c(q,Y,Q)}},64979(t,e,i){"use strict";var n=i(46518),r=i(44576),o=i(97751),s=i(6980),a=i(24913).f,u=i(39297),c=i(90679),h=i(23167),l=i(32603),d=i(55002),f=i(16193),p=i(43724),g=i(96395),A="DOMException",m=o("Error"),v=o(A),b=function(){c(this,y);var t=arguments.length,e=l(t<1?void 0:arguments[0]),i=l(t<2?void 0:arguments[1],"Error"),n=new v(e,i),r=new m(e);return r.name=A,a(n,"stack",s(1,f(r.stack,1))),h(n,this,b),n},y=b.prototype=v.prototype,w="stack"in new m(A),C="stack"in new v(1,2),x=v&&p&&Object.getOwnPropertyDescriptor(r,A),k=!(!x||x.writable&&x.configurable),_=w&&!k&&!C;n({global:!0,constructor:!0,forced:g||_},{DOMException:_?b:v});var M=o(A),B=M.prototype;if(B.constructor!==M)for(var E in g||a(B,"constructor",s(1,M)),d)if(u(d,E)){var I=d[E],S=I.s;u(M,S)||a(M,S,s(6,I.c))}},79739(t,e,i){"use strict";var n=i(97751),r="DOMException";i(10687)(n(r),r)},59848(t,e,i){"use strict";i(86368),i(29309)},122(t,e,i){"use strict";var n=i(46518),r=i(44576),o=i(91955),s=i(79306),a=i(22812),u=i(79039),c=i(43724);n({global:!0,enumerable:!0,dontCallGetSet:!0,forced:u(function(){return c&&1!==Object.getOwnPropertyDescriptor(r,"queueMicrotask").value.length})},{queueMicrotask:function(t){a(arguments.length,1),o(s(t))}})},13611(t,e,i){"use strict";var n=i(46518),r=i(44576),o=i(62106),s=i(43724),a=TypeError,u=Object.defineProperty,c=r.self!==r;try{if(s){var h=Object.getOwnPropertyDescriptor(r,"self");!c&&h&&h.get&&h.enumerable||o(r,"self",{get:function(){return r},set:function(t){if(this!==r)throw new a("Illegal invocation");u(r,"self",{value:t,writable:!0,configurable:!0,enumerable:!0})},configurable:!0,enumerable:!0})}else n({global:!0,simple:!0,forced:c},{self:r})}catch(t){}},29309(t,e,i){"use strict";var n=i(46518),r=i(44576),o=i(59225).set,s=i(79472),a=r.setImmediate?s(o,!1):o;n({global:!0,bind:!0,enumerable:!0,forced:r.setImmediate!==a},{setImmediate:a})},15575(t,e,i){"use strict";var n=i(46518),r=i(44576),o=i(79472)(r.setInterval,!0);n({global:!0,bind:!0,forced:r.setInterval!==o},{setInterval:o})},24599(t,e,i){"use strict";var n=i(46518),r=i(44576),o=i(79472)(r.setTimeout,!0);n({global:!0,bind:!0,forced:r.setTimeout!==o},{setTimeout:o})},71678(t,e,i){"use strict";var n,r=i(96395),o=i(46518),s=i(44576),a=i(97751),u=i(79504),c=i(79039),h=i(33392),l=i(94901),d=i(33517),f=i(64117),p=i(20034),g=i(10757),A=i(72652),m=i(28551),v=i(36955),b=i(39297),y=i(97040),w=i(66699),C=i(26198),x=i(22812),k=i(61034),_=i(72248),M=i(94402),B=i(38469),E=i(94483),I=i(24659),S=i(1548),D=s.Object,T=s.Array,O=s.Date,P=s.Error,R=s.TypeError,z=s.PerformanceMark,N=a("DOMException"),H=_.Map,j=_.has,L=_.get,U=_.set,q=M.Set,F=M.add,W=M.has,Y=a("Object","keys"),Q=u([].push),G=u((!0).valueOf),V=u(1.1.valueOf),K=u("".valueOf),X=u(O.prototype.getTime),Z=h("structuredClone"),J="DataCloneError",$="Transferring",tt=function(t){return!c(function(){var e=new s.Set([7]),i=t(e),n=t(D(7));return i===e||!i.has(7)||!p(n)||7!==+n})&&t},et=function(t,e){return!c(function(){var i=new e,n=t({a:i,b:i});return!(n&&n.a===n.b&&n.a instanceof e&&n.a.stack===i.stack)})},it=s.structuredClone,nt=r||!et(it,P)||!et(it,N)||(n=it,!!c(function(){var t=n(new s.AggregateError([1],Z,{cause:3}));return"AggregateError"!==t.name||1!==t.errors[0]||t.message!==Z||3!==t.cause})),rt=!it&&tt(function(t){return new z(Z,{detail:t}).detail}),ot=tt(it)||rt,st=function(t){throw new N("Uncloneable type: "+t,J)},at=function(t,e){throw new N((e||"Cloning")+" of "+t+" cannot be properly polyfilled in this engine",J)},ut=function(t,e){return ot||at(e),ot(t)},ct=function(t,e,i){if(j(e,t))return L(e,t);var n,r,o,a,u,c;if("SharedArrayBuffer"===(i||v(t)))n=ot?ot(t):t;else{var h=s.DataView;h||l(t.slice)||at("ArrayBuffer");try{if(l(t.slice)&&!t.resizable)n=t.slice(0);else{r=t.byteLength,o="maxByteLength"in t?{maxByteLength:t.maxByteLength}:void 0,n=new ArrayBuffer(r,o),a=new h(t),u=new h(n);for(c=0;c1&&!f(arguments[1])?m(arguments[1]):void 0,r=n?n.transfer:void 0;void 0!==r&&(i=function(t,e){if(!p(t))throw new R("Transfer option cannot be converted to a sequence");var i=[];A(t,function(t){Q(i,m(t))});for(var n,r,o,a,u,c=0,h=C(i),f=new q;c0&&0!==(t&i);i>>=1)e++;return e},ut=function(t){var e=null,i=t.length;switch(i){case 1:e=t[0];break;case 2:e=(31&t[0])<<6|63&t[1];break;case 3:e=(15&t[0])<<12|(63&t[1])<<6|63&t[2];break;case 4:e=(7&t[0])<<18|(63&t[1])<<12|(63&t[2])<<6|63&t[3]}return null===e||e>1114111||e>=55296&&e<=57343||e<(i>3?65536:i>2?2048:i>1?128:0)?null:e},ct=function(t){for(var e=(t=J(t,rt," ")).length,i="",n=0;ne){i+="%",n++;continue}var o=st(t,n+1);if(o!=o){i+=r,n++;continue}n+=2;var s=at(o);if(0===s)r=Q(o);else{if(1===s||s>4){i+="�",n++;continue}for(var a=[o],u=1;ue||"%"!==K(t,n));){var c=st(t,n+1);if(c!=c||c>191||c<128)break;if(1===u){if(224===o&&c<160)break;if(237===o&&c>159)break;if(240===o&&c<144)break;if(244===o&&c>143)break}Z(a,c),n+=2,u++}if(a.length!==s){i+="�";continue}var h=ut(a);if(null===h){for(var l=0;l=e.length)return t.target=null,I(void 0,!0);var n=e[i];switch(t.kind){case"keys":return I(n.key,!1);case"values":return I(n.value,!1)}return I([n.key,n.value],!1)},!0),gt=function(t){this.entries=[],this.url=null,void 0!==t&&(x(t)?this.parseObject(t):this.parseQuery("string"==typeof t?"?"===K(t,0)?it(t,1):t:k(t)))};gt.prototype={type:P,bindURL:function(t){this.url=t,this.update()},parseObject:function(t){var e,i,n,r,o,s,u,c=this.entries,h=E(t);if(h)for(i=(e=B(t,h)).next;!(n=a(i,e)).done;){if(o=(r=B(C(n.value))).next,(s=a(o,r)).done||(u=a(o,r)).done||!a(o,r).done)throw new W("Expected sequence with length 2");Z(c,{key:k(s.value),value:k(u.value)})}else for(var l in t)b(t,l)&&Z(c,{key:l,value:k(t[l])})},parseQuery:function(t){if(t)for(var e,i,n=this.entries,r=et(t,"&"),o=0;o0?arguments[0]:void 0));c||(this.size=t.entries.length)},mt=At.prototype;if(f(mt,{append:function(t,e){var i=N(this);S(arguments.length,2),Z(i.entries,{key:k(t),value:k(e)}),c||this.size++,i.updateURL()},delete:function(t){for(var e=N(this),i=S(arguments.length,1),n=e.entries,r=k(t),o=i<2?void 0:arguments[1],s=void 0===o?o:k(o),a=0;ae.key?1:-1}),t.updateURL()},forEach:function(t){for(var e,i=N(this).entries,n=y(t,arguments.length>1?arguments[1]:void 0),r=0;r1?yt(arguments[1]):{})}}),v(L)){var wt=function(t){return m(this,q),new L(t,arguments.length>1?yt(arguments[1]):{})};q.constructor=wt,wt.prototype=q,n({global:!0,constructor:!0,dontCallGetSet:!0,forced:!0},{Request:wt})}}t.exports={URLSearchParams:At,getState:N}},14603(t,e,i){"use strict";var n=i(36840),r=i(79504),o=i(655),s=i(22812),a=URLSearchParams,u=a.prototype,c=r(u.append),h=r(u.delete),l=r(u.forEach),d=r([].push),f=new a("a=1&a=2&b=3");f.delete("a",1),f.delete("b",void 0),f+""!="a=2"&&n(u,"delete",function(t){var e=arguments.length,i=e<2?void 0:arguments[1];if(e&&void 0===i)return h(this,t);var n=[];l(this,function(t,e){d(n,{key:e,value:t})}),s(e,1);for(var r,a=o(t),u=o(i),f=0,p=n.length;f?@[\\\]^|]/,nt=/[\0\t\n\r #/:<>?@[\\\]^|]/,rt=/^[\u0000-\u0020]+/,ot=/(^|[^\u0000-\u0020])[\u0000-\u0020]+$/,st=/[\t\n\r]/g,at=function(t){var e,i,n,r;if("number"==typeof t){for(e=[],i=0;i<4;i++)Y(e,t%256),t=T(t/256);return z(e,".")}if("object"==typeof t){for(e="",n=function(t){for(var e=null,i=1,n=null,r=0,o=0;o<8;o++)0!==t[o]?(r>i&&(e=n,i=r),n=null,r=0):(null===n&&(n=o),++r);return r>i?n:e}(t),i=0;i<8;i++)r&&0===t[i]||(r&&(r=!1),n===i?(e+=i?":":"::",r=!0):(e+=N(t[i],16),i<7&&(e+=":")));return"["+e+"]"}return t},ut={},ct=p({},ut,{" ":1,'"':1,"#":1,"<":1,">":1}),ht=p({},ct,{"'":1}),lt=p({},ut,{" ":1,'"':1,"<":1,">":1,"`":1}),dt=p({},lt,{"#":1,"?":1,"{":1,"}":1,"^":1}),ft=p({},dt,{"/":1,":":1,";":1,"=":1,"@":1,"[":1,"\\":1,"]":1,"^":1,"|":1}),pt=function(t,e){var i=m(t,0);return i>=32&&i<127&&!f(e,t)?t:"'"===t&&f(e,t)?"%27":S(t)},gt={ftp:21,file:null,http:80,https:443,ws:80,wss:443},At=function(t,e){var i;return 2===t.length&&R(K,P(t,0))&&(":"===(i=P(t,1))||!e&&"|"===i)},mt=function(t){var e;return t.length>1&&At(F(t,0,2))&&(2===t.length||"/"===(e=P(t,2))||"\\"===e||"?"===e||"#"===e)},vt=function(t){return"."===t||"%2e"===W(t)},bt=function(t){return".."===(t=W(t))||"%2e."===t||".%2e"===t||"%2e%2e"===t},yt={},wt={},Ct={},xt={},kt={},_t={},Mt={},Bt={},Et={},It={},St={},Dt={},Tt={},Ot={},Pt={},Rt={},zt={},Nt={},Ht={},jt={},Lt={},Ut=function(t,e,i){var n,r,o,s=b(t);if(e){if(r=this.parse(s))throw new I(r);this.searchParams=null}else{if(void 0!==i&&(n=new Ut(i,!0)),r=this.parse(s,null,n))throw new I(r);(o=B(new M)).bindURL(this),this.searchParams=o}};Ut.prototype={type:"URL",parse:function(t,e,i){var r,o,s,a,u=this,c=e||yt,h=0,l="",d=!1,p=!1,m=!1;for(t=b(t),e||(u.scheme="",u.username="",u.password="",u.host=null,u.port=null,u.path=[],u.query=null,u.fragment=null,u.cannotBeABaseURL=!1,t=L(t,rt,""),t=L(t,ot,"$1")),t=L(t,st,""),r=g(t);h<=r.length;){switch(o=r[h],c){case yt:if(!o||!R(K,o)){if(e)return Q;c=Ct;continue}l+=W(o),c=wt;break;case wt:if(o&&R(X,o))l+=W(o);else{if(":"!==o){if(e)return Q;l="",c=Ct,h=0;continue}if(e&&(u.isSpecial()!==f(gt,l)||"file"===l&&(u.includesCredentials()||null!==u.port)||"file"===u.scheme&&""===u.host))return;if(u.scheme=l,e)return void(u.isSpecial()&>[u.scheme]===u.port&&(u.port=null));l="","file"===u.scheme?c=Ot:u.isSpecial()&&i&&i.scheme===u.scheme?c=xt:u.isSpecial()?c=Bt:"/"===r[h+1]?(c=kt,h++):(u.cannotBeABaseURL=!0,j(u.path,""),c=Ht)}break;case Ct:if(!i||i.cannotBeABaseURL&&"#"!==o)return Q;if(i.cannotBeABaseURL&&"#"===o){u.scheme=i.scheme,u.path=A(i.path),u.query=i.query,u.fragment="",u.cannotBeABaseURL=!0,c=Lt;break}c="file"===i.scheme?Ot:_t;continue;case xt:if("/"!==o||"/"!==r[h+1]){c=_t;continue}c=Et,h++;break;case kt:if("/"===o){c=It;break}c=Nt;continue;case _t:if(u.scheme=i.scheme,o===n)u.username=i.username,u.password=i.password,u.host=i.host,u.port=i.port,u.path=A(i.path),u.query=i.query;else if("/"===o||"\\"===o&&u.isSpecial())c=Mt;else if("?"===o)u.username=i.username,u.password=i.password,u.host=i.host,u.port=i.port,u.path=A(i.path),u.query="",c=jt;else{if("#"!==o){u.username=i.username,u.password=i.password,u.host=i.host,u.port=i.port,u.path=A(i.path),u.path.length&&u.path.length--,c=Nt;continue}u.username=i.username,u.password=i.password,u.host=i.host,u.port=i.port,u.path=A(i.path),u.query=i.query,u.fragment="",c=Lt}break;case Mt:if(!u.isSpecial()||"/"!==o&&"\\"!==o){if("/"!==o){u.username=i.username,u.password=i.password,u.host=i.host,u.port=i.port,c=Nt;continue}c=It}else c=Et;break;case Bt:if(c=Et,"/"!==o||"/"!==r[h+1])continue;h++;break;case Et:if("/"!==o&&"\\"!==o){c=It;continue}break;case It:if("@"===o){d&&(l="%40"+l),d=!0,s=g(l);for(var v=0;v65535)return V;u.port=u.isSpecial()&&C===gt[u.scheme]?null:C,l=""}if(e)return;c=zt;continue}return V}l+=o;break;case Ot:if(u.scheme="file",u.host="","/"===o||"\\"===o)c=Pt;else{if(!i||"file"!==i.scheme){c=Nt;continue}switch(o){case n:u.host=i.host,u.path=A(i.path),u.query=i.query;break;case"?":u.host=i.host,u.path=A(i.path),u.query="",c=jt;break;case"#":u.host=i.host,u.path=A(i.path),u.query=i.query,u.fragment="",c=Lt;break;default:u.host=i.host,mt(z(A(r,h),""))||(u.path=A(i.path),u.shortenPath()),c=Nt;continue}}break;case Pt:if("/"===o||"\\"===o){c=Rt;break}i&&"file"===i.scheme&&(u.host=i.host,!mt(z(A(r,h),""))&&At(i.path[0],!0)&&j(u.path,i.path[0])),c=Nt;continue;case Rt:if(o===n||"/"===o||"\\"===o||"?"===o||"#"===o){if(!e&&At(l))c=Nt;else if(""===l){if(u.host="",e)return;c=zt}else{if(a=u.parseHost(l))return a;if("localhost"===u.host&&(u.host=""),e)return;l="",c=zt}continue}l+=o;break;case zt:if(u.isSpecial()){if(c=Nt,"/"!==o&&"\\"!==o)continue}else if(e||"?"!==o)if(e||"#"!==o){if(o!==n&&(c=Nt,"/"!==o))continue}else u.fragment="",c=Lt;else u.query="",c=jt;break;case Nt:if(o===n||"/"===o||"\\"===o&&u.isSpecial()||!e&&("?"===o||"#"===o)){if(bt(l)?(u.shortenPath(),"/"===o||"\\"===o&&u.isSpecial()||j(u.path,"")):vt(l)?"/"===o||"\\"===o&&u.isSpecial()||j(u.path,""):("file"===u.scheme&&!u.path.length&&At(l)&&(null!==u.host&&""!==u.host&&(u.host=""),l=P(l,0)+":"),j(u.path,l)),l="","file"===u.scheme&&(o===n||"?"===o||"#"===o))for(;u.path.length>1&&""===u.path[0];)U(u.path);"?"===o?(u.query="",c=jt):"#"===o&&(u.fragment="",c=Lt)}else l+=pt(o,dt);break;case Ht:"?"===o?(u.query="",c=jt):"#"===o?(u.fragment="",c=Lt):o!==n&&(u.path[0]+=pt(o,ut));break;case jt:e||"#"!==o?o!==n&&(u.query+=pt(o,u.isSpecial()?ht:ct)):(u.fragment="",c=Lt);break;case Lt:o!==n&&(u.fragment+=pt(o,lt))}h++}},parseHost:function(t){var e,i,n;if("["===P(t,0)){if("]"!==P(t,t.length-1))return G;if(e=function(t){var e,i,n,r,o,s,a,u=[0,0,0,0,0,0,0,0],c=0,h=null,l=0,d=function(){return P(t,l)};if(":"===d()){if(":"!==P(t,1))return;l+=2,h=++c}for(;d();){if(8===c)return;if(":"!==d()){for(e=i=0;i<4&&R(et,d());)e=16*e+D(d(),16),l++,i++;if("."===d()){if(0===i)return;if(l-=i,c>6)return;for(n=0;d();){if(r=null,n>0){if(!("."===d()&&n<4))return;l++}if(!R(Z,d()))return;for(;R(Z,d());){if(o=D(d(),10),null===r)r=o;else{if(0===r)return;r=10*r+o}if(r>255)return;l++}u[c]=256*u[c]+r,2!==++n&&4!==n||c++}if(4!==n)return;break}if(":"===d()){if(l++,!d())return}else if(d())return;u[c++]=e}else{if(null!==h)return;l++,h=++c}}if(null!==h)for(s=c-h,c=7;0!==c&&s>0;)a=u[c],u[c--]=u[h+s-1],u[h+--s]=a;else if(8!==c)return;return u}(F(t,1,-1)),!e)return G;this.host=e}else if(this.isSpecial()){if(t=v(t),R(it,t))return G;if(function(t){var e,i,n=q(t,".");if(""===n[n.length-1]){if(1===n.length)return!1;n.length--}return e=n[n.length-1],!!R(tt,e)||!!R(J,e)&&(""===(i=F(e,2))||!!R(et,i))}(t)){if(e=function(t){var e,i,n,r,o,s,a,u=q(t,".");if(u.length&&""===u[u.length-1]&&u.length--,(e=u.length)>4)return null;for(i=[],n=0;n1&&"0"===P(r,0)&&(o=R(J,r)?16:8,r=F(r,8===o?1:2)),""===r)s=0;else{if(!R(10===o?tt:8===o?$:et,r))return null;s=D(r,o)}j(i,s)}for(n=0;n=O(256,5-e))return null}else if(s>255)return null;for(a=H(i),n=0;n1&&""===s[0]&&(c+="/."),c+=t.cannotBeABaseURL?s[0]:s.length?"/"+z(s,"/"):"",null!==a&&(c+="?"+a),null!==u&&(c+="#"+u),c},setHref:function(t){var e=this.parse(t);if(e)throw new I(e);this.searchParams.update()},getOrigin:function(){var t=this.scheme,e=this.port;if("blob"===t)try{return new qt(this.path[0]).origin}catch(t){return"null"}return"file"!==t&&this.isSpecial()?t+"://"+at(this.host)+(null!==e?":"+e:""):"null"},getProtocol:function(){return this.scheme+":"},setProtocol:function(t){this.parse(b(t)+":",yt)},getUsername:function(){return this.username},setUsername:function(t){var e=g(b(t));if(!this.cannotHaveUsernamePasswordPort()){this.username="";for(var i=0;i1?arguments[1]:void 0,n=k(e,new Ut(t,!1,i));o||(e.href=n.serialize(),e.origin=n.getOrigin(),e.protocol=n.getProtocol(),e.username=n.getUsername(),e.password=n.getPassword(),e.host=n.getHost(),e.hostname=n.getHostname(),e.port=n.getPort(),e.pathname=n.getPathname(),e.search=n.getSearch(),e.searchParams=n.getSearchParams(),e.hash=n.getHash())},Ft=qt.prototype,Wt=function(t,e){return{get:function(){return _(this)[t]()},set:e&&function(t){return _(this)[e](t)},configurable:!0,enumerable:!0}};if(o&&(l(Ft,"href",Wt("serialize","setHref")),l(Ft,"origin",Wt("getOrigin")),l(Ft,"protocol",Wt("getProtocol","setProtocol")),l(Ft,"username",Wt("getUsername","setUsername")),l(Ft,"password",Wt("getPassword","setPassword")),l(Ft,"host",Wt("getHost","setHost")),l(Ft,"hostname",Wt("getHostname","setHostname")),l(Ft,"port",Wt("getPort","setPort")),l(Ft,"pathname",Wt("getPathname","setPathname")),l(Ft,"search",Wt("getSearch","setSearch")),l(Ft,"searchParams",Wt("getSearchParams")),l(Ft,"hash",Wt("getHash","setHash"))),h(Ft,"toJSON",function(){return _(this).serialize()},{enumerable:!0}),h(Ft,"toString",function(){return _(this).serialize()},{enumerable:!0}),E){var Yt=E.createObjectURL,Qt=E.revokeObjectURL;Yt&&h(qt,"createObjectURL",u(Yt,E)),Qt&&h(qt,"revokeObjectURL",u(Qt,E))}y(qt,"URL"),r({global:!0,constructor:!0,forced:!s,sham:!o},{URL:qt})},3296(t,e,i){"use strict";i(45806)},45781(t,e,i){"use strict";var n=i(46518),r=i(97751),o=i(22812),s=i(655),a=i(67416),u=r("URL");n({target:"URL",stat:!0,forced:!a},{parse:function(t){var e=o(arguments.length,1),i=s(t),n=e<2||void 0===arguments[1]?void 0:s(arguments[1]);try{return new u(i,n)}catch(t){return null}}})},27208(t,e,i){"use strict";var n=i(46518),r=i(69565);n({target:"URL",proto:!0,enumerable:!0},{toJSON:function(){return r(URL.prototype.toString,this)}})},84315(t,e,i){"use strict";i(52675),i(89463),i(34113),i(66412),i(97324),i(60193),i(92168),i(2259),i(86964),i(83142),i(83237),i(61833),i(67947),i(31073),i(45700),i(78125),i(20326),i(16280),i(6372),i(76918),i(30067),i(4294),i(88940),i(18107),i(28706),i(26835),i(88431),i(33771),i(2008),i(50113),i(48980),i(10838),i(13451),i(46449),i(78350),i(51629),i(23418),i(74423),i(25276),i(64346),i(23792),i(48598),i(8921),i(62062),i(31051),i(44114),i(72712),i(18863),i(94490),i(34782),i(15086),i(26910),i(87478),i(54554),i(9678),i(57145),i(71658),i(93514),i(30237),i(13609),i(11558),i(54743),i(46761),i(11745),i(60690),i(10255),i(3995),i(16573),i(78100),i(77936),i(61699),i(59089),i(91191),i(93515),i(1688),i(60739),i(89572),i(23288),i(48922),i(36456),i(94170),i(48957),i(62010),i(55081),i(18111),i(21979),i(76382),i(29314),i(81148),i(22489),i(20116),i(30531),i(7588),i(49603),i(61701),i(18237),i(13579),i(54972),i(61806),i(45595),i(69112),i(20344),i(33110),i(4731),i(36033),i(47072),i(45367),i(92731),i(93153),i(82326),i(36389),i(64444),i(8085),i(77762),i(65070),i(60605),i(4360),i(39469),i(72152),i(75376),i(56624),i(11367),i(5914),i(78553),i(23068),i(98690),i(60479),i(70761),i(2892),i(45374),i(25428),i(32637),i(40150),i(59149),i(64601),i(44435),i(87220),i(25843),i(62337),i(9868),i(80630),i(69085),i(59904),i(17427),i(67945),i(84185),i(87607),i(5506),i(52811),i(53921),i(83851),i(81278),i(1480),i(40875),i(77691),i(78347),i(29908),i(94052),i(94003),i(221),i(79432),i(9220),i(7904),i(16348),i(63548),i(93941),i(10287),i(26099),i(16034),i(78459),i(58940),i(3362),i(96167),i(93518),i(9391),i(31689),i(14628),i(52407),i(24793),i(50452),i(39796),i(60825),i(87411),i(21211),i(40888),i(9065),i(86565),i(32812),i(84634),i(71137),i(30985),i(34268),i(34873),i(15472),i(84864),i(96069),i(57465),i(27495),i(69479),i(87745),i(90906),i(38781),i(31415),i(17642),i(58004),i(33853),i(45876),i(32475),i(15024),i(31698),i(67357),i(23860),i(99449),i(27337),i(21699),i(42043),i(47764),i(71761),i(28543),i(35701),i(68156),i(85906),i(42781),i(25440),i(79978),i(5746),i(90744),i(11392),i(50375),i(67438),i(42762),i(39202),i(43359),i(89907),i(11898),i(35490),i(5745),i(94298),i(60268),i(69546),i(20781),i(50778),i(89195),i(46276),i(48718),i(16308),i(34594),i(29833),i(46594),i(72107),i(95477),i(21489),i(22134),i(3690),i(61740),i(48140),i(81630),i(72170),i(75044),i(69539),i(31694),i(89955),i(21903),i(91134),i(33206),i(48345),i(44496),i(66651),i(12887),i(19369),i(66812),i(8995),i(52568),i(31575),i(36072),i(88747),i(28845),i(29423),i(57301),i(373),i(86614),i(41405),i(37467),i(44732),i(33684),i(79577),i(45213),i(91925),i(16632),i(34226),i(9486),i(20456),i(88267),i(73772),i(88454),i(29452),i(30958),i(2945),i(42207),i(23500),i(62953),i(55815),i(64979),i(79739),i(59848),i(122),i(13611),i(71678),i(76031),i(3296),i(2222),i(45781),i(27208),i(48408),i(14603),i(47566),i(98721),i(19167)},86860(t,e,i){"use strict";i.r(e),i.d(e,{VERSION:()=>r.VERSION,after:()=>r.after,all:()=>r.all,allKeys:()=>r.allKeys,any:()=>r.any,assign:()=>r.assign,before:()=>r.before,bind:()=>r.bind,bindAll:()=>r.bindAll,chain:()=>r.chain,chunk:()=>r.chunk,clone:()=>r.clone,collect:()=>r.collect,compact:()=>r.compact,compose:()=>r.compose,constant:()=>r.constant,contains:()=>r.contains,countBy:()=>r.countBy,create:()=>r.create,debounce:()=>r.debounce,default:()=>n.A,defaults:()=>r.defaults,defer:()=>r.defer,delay:()=>r.delay,detect:()=>r.detect,difference:()=>r.difference,drop:()=>r.drop,each:()=>r.each,escape:()=>r.escape,every:()=>r.every,extend:()=>r.extend,extendOwn:()=>r.extendOwn,filter:()=>r.filter,find:()=>r.find,findIndex:()=>r.findIndex,findKey:()=>r.findKey,findLastIndex:()=>r.findLastIndex,findWhere:()=>r.findWhere,first:()=>r.first,flatten:()=>r.flatten,foldl:()=>r.foldl,foldr:()=>r.foldr,forEach:()=>r.forEach,functions:()=>r.functions,get:()=>r.get,groupBy:()=>r.groupBy,has:()=>r.has,head:()=>r.head,identity:()=>r.identity,include:()=>r.include,includes:()=>r.includes,indexBy:()=>r.indexBy,indexOf:()=>r.indexOf,initial:()=>r.initial,inject:()=>r.inject,intersection:()=>r.intersection,invert:()=>r.invert,invoke:()=>r.invoke,isArguments:()=>r.isArguments,isArray:()=>r.isArray,isArrayBuffer:()=>r.isArrayBuffer,isBoolean:()=>r.isBoolean,isDataView:()=>r.isDataView,isDate:()=>r.isDate,isElement:()=>r.isElement,isEmpty:()=>r.isEmpty,isEqual:()=>r.isEqual,isError:()=>r.isError,isFinite:()=>r.isFinite,isFunction:()=>r.isFunction,isMap:()=>r.isMap,isMatch:()=>r.isMatch,isNaN:()=>r.isNaN,isNull:()=>r.isNull,isNumber:()=>r.isNumber,isObject:()=>r.isObject,isRegExp:()=>r.isRegExp,isSet:()=>r.isSet,isString:()=>r.isString,isSymbol:()=>r.isSymbol,isTypedArray:()=>r.isTypedArray,isUndefined:()=>r.isUndefined,isWeakMap:()=>r.isWeakMap,isWeakSet:()=>r.isWeakSet,iteratee:()=>r.iteratee,keys:()=>r.keys,last:()=>r.last,lastIndexOf:()=>r.lastIndexOf,map:()=>r.map,mapObject:()=>r.mapObject,matcher:()=>r.matcher,matches:()=>r.matches,max:()=>r.max,memoize:()=>r.memoize,methods:()=>r.methods,min:()=>r.min,mixin:()=>r.mixin,negate:()=>r.negate,noop:()=>r.noop,now:()=>r.now,object:()=>r.object,omit:()=>r.omit,once:()=>r.once,pairs:()=>r.pairs,partial:()=>r.partial,partition:()=>r.partition,pick:()=>r.pick,pluck:()=>r.pluck,property:()=>r.property,propertyOf:()=>r.propertyOf,random:()=>r.random,range:()=>r.range,reduce:()=>r.reduce,reduceRight:()=>r.reduceRight,reject:()=>r.reject,rest:()=>r.rest,restArguments:()=>r.restArguments,result:()=>r.result,sample:()=>r.sample,select:()=>r.select,shuffle:()=>r.shuffle,size:()=>r.size,some:()=>r.some,sortBy:()=>r.sortBy,sortedIndex:()=>r.sortedIndex,tail:()=>r.tail,take:()=>r.take,tap:()=>r.tap,template:()=>r.template,templateSettings:()=>r.templateSettings,throttle:()=>r.throttle,times:()=>r.times,toArray:()=>r.toArray,toPath:()=>r.toPath,transpose:()=>r.transpose,unescape:()=>r.unescape,union:()=>r.union,uniq:()=>r.uniq,unique:()=>r.unique,uniqueId:()=>r.uniqueId,unzip:()=>r.unzip,values:()=>r.values,where:()=>r.where,without:()=>r.without,wrap:()=>r.wrap,zip:()=>r.zip});var n=i(36210),r=i(50082)},50082(t,e,i){"use strict";i.r(e),i.d(e,{VERSION:()=>n.xv,after:()=>wt.A,all:()=>Ht.A,allKeys:()=>T.A,any:()=>jt.A,assign:()=>H.A,before:()=>Ct.A,bind:()=>lt.A,bindAll:()=>dt.A,chain:()=>ut.A,chunk:()=>ve.A,clone:()=>U.A,collect:()=>Ot.A,compact:()=>ae.A,compose:()=>yt.A,constant:()=>G.A,contains:()=>Lt.A,countBy:()=>Zt.A,create:()=>L.A,debounce:()=>mt.A,default:()=>ye.A,defaults:()=>j.A,defer:()=>gt.A,delay:()=>pt.A,detect:()=>St.A,difference:()=>fe.A,drop:()=>se.A,each:()=>Tt.A,escape:()=>it.A,every:()=>Ht.A,extend:()=>N.A,extendOwn:()=>H.A,filter:()=>zt.A,find:()=>St.A,findIndex:()=>_t.A,findKey:()=>kt.A,findLastIndex:()=>Mt.A,findWhere:()=>Dt.A,first:()=>ne.A,flatten:()=>ue.A,foldl:()=>Pt.A,foldr:()=>Rt.A,forEach:()=>Tt.A,functions:()=>z.A,get:()=>F.A,groupBy:()=>Kt.A,has:()=>W.A,head:()=>ne.A,identity:()=>Q.A,include:()=>Lt.A,includes:()=>Lt.A,indexBy:()=>Xt.A,indexOf:()=>Et.A,initial:()=>re.A,inject:()=>Pt.A,intersection:()=>de.A,invert:()=>R.A,invoke:()=>Ut.A,isArguments:()=>y.A,isArray:()=>v.A,isArrayBuffer:()=>A.A,isBoolean:()=>u.A,isDataView:()=>m.A,isDate:()=>d.A,isElement:()=>c.A,isEmpty:()=>k.A,isEqual:()=>M.A,isError:()=>p.A,isFinite:()=>w.A,isFunction:()=>b.A,isMap:()=>B.A,isMatch:()=>_.A,isNaN:()=>C.A,isNull:()=>s.A,isNumber:()=>l.A,isObject:()=>o.A,isRegExp:()=>f.A,isSet:()=>I.A,isString:()=>h.A,isSymbol:()=>g.A,isTypedArray:()=>x.A,isUndefined:()=>a.A,isWeakMap:()=>E.A,isWeakSet:()=>S.A,iteratee:()=>ct.A,keys:()=>D.A,last:()=>oe.A,lastIndexOf:()=>It.A,map:()=>Ot.A,mapObject:()=>Y.A,matcher:()=>J.A,matches:()=>J.A,max:()=>Wt.A,memoize:()=>ft.A,methods:()=>z.A,min:()=>Yt.A,mixin:()=>be.A,negate:()=>bt.A,noop:()=>V.A,now:()=>et.A,object:()=>Ae.A,omit:()=>ie.A,once:()=>xt.A,pairs:()=>P.A,partial:()=>ht.A,partition:()=>Jt.A,pick:()=>ee.A,pluck:()=>qt.A,property:()=>X.A,propertyOf:()=>Z.A,random:()=>tt.A,range:()=>me.A,reduce:()=>Pt.A,reduceRight:()=>Rt.A,reject:()=>Nt.A,rest:()=>se.A,restArguments:()=>r.A,result:()=>st.A,sample:()=>Gt.A,select:()=>zt.A,shuffle:()=>Qt.A,size:()=>te.A,some:()=>jt.A,sortBy:()=>Vt.A,sortedIndex:()=>Bt.A,tail:()=>se.A,take:()=>ne.A,tap:()=>q.A,template:()=>ot.A,templateSettings:()=>rt.A,throttle:()=>At.A,times:()=>$.A,toArray:()=>$t.A,toPath:()=>K.A,transpose:()=>pe.A,unescape:()=>nt.A,union:()=>le.A,uniq:()=>he.A,unique:()=>he.A,uniqueId:()=>at.A,unzip:()=>pe.A,values:()=>O.A,where:()=>Ft.A,without:()=>ce.A,wrap:()=>vt.A,zip:()=>ge.A});var n=i(28794),r=i(11508),o=i(44099),s=i(21949),a=i(96734),u=i(85142),c=i(1138),h=i(90573),l=i(72897),d=i(88848),f=i(50093),p=i(82940),g=i(18628),A=i(38993),m=i(84933),v=i(15811),b=i(11380),y=i(66494),w=i(48215),C=i(58855),x=i(32271),k=i(31611),_=i(29143),M=i(71435),B=i(71940),E=i(30296),I=i(95094),S=i(9634),D=i(75144),T=i(88445),O=i(78850),P=i(55895),R=i(38024),z=i(66343),N=i(3080),H=i(19478),j=i(19318),L=i(50656),U=i(46463),q=i(73323),F=i(63854),W=i(7930),Y=i(42687),Q=i(69702),G=i(86524),V=i(964),K=i(18398),X=i(35957),Z=i(95048),J=i(70104),$=i(12672),tt=i(19291),et=i(52414),it=i(20235),nt=i(47868),rt=i(2155),ot=i(74394),st=i(60301),at=i(64230),ut=i(36503),ct=i(48557),ht=i(63015),lt=i(95619),dt=i(93964),ft=i(630),pt=i(52933),gt=i(26622),At=i(58448),mt=i(99527),vt=i(62112),bt=i(66058),yt=i(81734),wt=i(86800),Ct=i(73939),xt=i(55481),kt=i(72532),_t=i(80843),Mt=i(58699),Bt=i(43481),Et=i(30899),It=i(95379),St=i(9671),Dt=i(22888),Tt=i(79901),Ot=i(15928),Pt=i(68518),Rt=i(8606),zt=i(62478),Nt=i(37183),Ht=i(47601),jt=i(54580),Lt=i(38973),Ut=i(75112),qt=i(44339),Ft=i(17453),Wt=i(96624),Yt=i(3374),Qt=i(14875),Gt=i(86666),Vt=i(74849),Kt=i(30824),Xt=i(43639),Zt=i(72232),Jt=i(90268),$t=i(65228),te=i(39005),ee=i(88571),ie=i(54585),ne=i(42892),re=i(72826),oe=i(10328),se=i(59750),ae=i(78707),ue=i(72704),ce=i(63182),he=i(8037),le=i(25981),de=i(65665),fe=i(14299),pe=i(9176),ge=i(58877),Ae=i(85919),me=i(29271),ve=i(84327),be=i(23991),ye=i(37643)},3219(t){"use strict";t.exports=JSON.parse('{"aes-128-ecb":{"cipher":"AES","key":128,"iv":0,"mode":"ECB","type":"block"},"aes-192-ecb":{"cipher":"AES","key":192,"iv":0,"mode":"ECB","type":"block"},"aes-256-ecb":{"cipher":"AES","key":256,"iv":0,"mode":"ECB","type":"block"},"aes-128-cbc":{"cipher":"AES","key":128,"iv":16,"mode":"CBC","type":"block"},"aes-192-cbc":{"cipher":"AES","key":192,"iv":16,"mode":"CBC","type":"block"},"aes-256-cbc":{"cipher":"AES","key":256,"iv":16,"mode":"CBC","type":"block"},"aes128":{"cipher":"AES","key":128,"iv":16,"mode":"CBC","type":"block"},"aes192":{"cipher":"AES","key":192,"iv":16,"mode":"CBC","type":"block"},"aes256":{"cipher":"AES","key":256,"iv":16,"mode":"CBC","type":"block"},"aes-128-cfb":{"cipher":"AES","key":128,"iv":16,"mode":"CFB","type":"stream"},"aes-192-cfb":{"cipher":"AES","key":192,"iv":16,"mode":"CFB","type":"stream"},"aes-256-cfb":{"cipher":"AES","key":256,"iv":16,"mode":"CFB","type":"stream"},"aes-128-cfb8":{"cipher":"AES","key":128,"iv":16,"mode":"CFB8","type":"stream"},"aes-192-cfb8":{"cipher":"AES","key":192,"iv":16,"mode":"CFB8","type":"stream"},"aes-256-cfb8":{"cipher":"AES","key":256,"iv":16,"mode":"CFB8","type":"stream"},"aes-128-cfb1":{"cipher":"AES","key":128,"iv":16,"mode":"CFB1","type":"stream"},"aes-192-cfb1":{"cipher":"AES","key":192,"iv":16,"mode":"CFB1","type":"stream"},"aes-256-cfb1":{"cipher":"AES","key":256,"iv":16,"mode":"CFB1","type":"stream"},"aes-128-ofb":{"cipher":"AES","key":128,"iv":16,"mode":"OFB","type":"stream"},"aes-192-ofb":{"cipher":"AES","key":192,"iv":16,"mode":"OFB","type":"stream"},"aes-256-ofb":{"cipher":"AES","key":256,"iv":16,"mode":"OFB","type":"stream"},"aes-128-ctr":{"cipher":"AES","key":128,"iv":16,"mode":"CTR","type":"stream"},"aes-192-ctr":{"cipher":"AES","key":192,"iv":16,"mode":"CTR","type":"stream"},"aes-256-ctr":{"cipher":"AES","key":256,"iv":16,"mode":"CTR","type":"stream"},"aes-128-gcm":{"cipher":"AES","key":128,"iv":12,"mode":"GCM","type":"auth"},"aes-192-gcm":{"cipher":"AES","key":192,"iv":12,"mode":"GCM","type":"auth"},"aes-256-gcm":{"cipher":"AES","key":256,"iv":12,"mode":"GCM","type":"auth"}}')},62951(t){"use strict";t.exports=JSON.parse('{"sha224WithRSAEncryption":{"sign":"rsa","hash":"sha224","id":"302d300d06096086480165030402040500041c"},"RSA-SHA224":{"sign":"ecdsa/rsa","hash":"sha224","id":"302d300d06096086480165030402040500041c"},"sha256WithRSAEncryption":{"sign":"rsa","hash":"sha256","id":"3031300d060960864801650304020105000420"},"RSA-SHA256":{"sign":"ecdsa/rsa","hash":"sha256","id":"3031300d060960864801650304020105000420"},"sha384WithRSAEncryption":{"sign":"rsa","hash":"sha384","id":"3041300d060960864801650304020205000430"},"RSA-SHA384":{"sign":"ecdsa/rsa","hash":"sha384","id":"3041300d060960864801650304020205000430"},"sha512WithRSAEncryption":{"sign":"rsa","hash":"sha512","id":"3051300d060960864801650304020305000440"},"RSA-SHA512":{"sign":"ecdsa/rsa","hash":"sha512","id":"3051300d060960864801650304020305000440"},"RSA-SHA1":{"sign":"rsa","hash":"sha1","id":"3021300906052b0e03021a05000414"},"ecdsa-with-SHA1":{"sign":"ecdsa","hash":"sha1","id":""},"sha256":{"sign":"ecdsa","hash":"sha256","id":""},"sha224":{"sign":"ecdsa","hash":"sha224","id":""},"sha384":{"sign":"ecdsa","hash":"sha384","id":""},"sha512":{"sign":"ecdsa","hash":"sha512","id":""},"DSA-SHA":{"sign":"dsa","hash":"sha1","id":""},"DSA-SHA1":{"sign":"dsa","hash":"sha1","id":""},"DSA":{"sign":"dsa","hash":"sha1","id":""},"DSA-WITH-SHA224":{"sign":"dsa","hash":"sha224","id":""},"DSA-SHA224":{"sign":"dsa","hash":"sha224","id":""},"DSA-WITH-SHA256":{"sign":"dsa","hash":"sha256","id":""},"DSA-SHA256":{"sign":"dsa","hash":"sha256","id":""},"DSA-WITH-SHA384":{"sign":"dsa","hash":"sha384","id":""},"DSA-SHA384":{"sign":"dsa","hash":"sha384","id":""},"DSA-WITH-SHA512":{"sign":"dsa","hash":"sha512","id":""},"DSA-SHA512":{"sign":"dsa","hash":"sha512","id":""},"DSA-RIPEMD160":{"sign":"dsa","hash":"rmd160","id":""},"ripemd160WithRSA":{"sign":"rsa","hash":"rmd160","id":"3021300906052b2403020105000414"},"RSA-RIPEMD160":{"sign":"rsa","hash":"rmd160","id":"3021300906052b2403020105000414"},"md5WithRSAEncryption":{"sign":"rsa","hash":"md5","id":"3020300c06082a864886f70d020505000410"},"RSA-MD5":{"sign":"rsa","hash":"md5","id":"3020300c06082a864886f70d020505000410"}}')},64589(t){"use strict";t.exports=JSON.parse('{"1.3.132.0.10":"secp256k1","1.3.132.0.33":"p224","1.2.840.10045.3.1.1":"p192","1.2.840.10045.3.1.7":"p256","1.3.132.0.34":"p384","1.3.132.0.35":"p521"}')},23241(t){"use strict";t.exports=JSON.parse('{"modp1":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a63a3620ffffffffffffffff"},"modp2":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece65381ffffffffffffffff"},"modp5":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca237327ffffffffffffffff"},"modp14":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aacaa68ffffffffffffffff"},"modp15":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a93ad2caffffffffffffffff"},"modp16":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c934063199ffffffffffffffff"},"modp17":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dcc4024ffffffffffffffff"},"modp18":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dbe115974a3926f12fee5e438777cb6a932df8cd8bec4d073b931ba3bc832b68d9dd300741fa7bf8afc47ed2576f6936ba424663aab639c5ae4f5683423b4742bf1c978238f16cbe39d652de3fdb8befc848ad922222e04a4037c0713eb57a81a23f0c73473fc646cea306b4bcbc8862f8385ddfa9d4b7fa2c087e879683303ed5bdd3a062b3cf5b3a278a66d2a13f83f44f82ddf310ee074ab6a364597e899a0255dc164f31cc50846851df9ab48195ded7ea1b1d510bd7ee74d73faf36bc31ecfa268359046f4eb879f924009438b481c6cd7889a002ed5ee382bc9190da6fc026e479558e4475677e9aa9e3050e2765694dfc81f56e880b96e7160c980dd98edd3dfffffffffffffffff"}}')},1636(t){"use strict";t.exports={rE:"6.6.1"}},15579(t){"use strict";t.exports=JSON.parse('{"2.16.840.1.101.3.4.1.1":"aes-128-ecb","2.16.840.1.101.3.4.1.2":"aes-128-cbc","2.16.840.1.101.3.4.1.3":"aes-128-ofb","2.16.840.1.101.3.4.1.4":"aes-128-cfb","2.16.840.1.101.3.4.1.21":"aes-192-ecb","2.16.840.1.101.3.4.1.22":"aes-192-cbc","2.16.840.1.101.3.4.1.23":"aes-192-ofb","2.16.840.1.101.3.4.1.24":"aes-192-cfb","2.16.840.1.101.3.4.1.41":"aes-256-ecb","2.16.840.1.101.3.4.1.42":"aes-256-cbc","2.16.840.1.101.3.4.1.43":"aes-256-ofb","2.16.840.1.101.3.4.1.44":"aes-256-cfb"}')}},__webpack_module_cache__={},deferred,inProgress,dataWebpackPrefix;function __webpack_require__(t){var e=__webpack_module_cache__[t];if(void 0!==e)return e.exports;var i=__webpack_module_cache__[t]={id:t,loaded:!1,exports:{}};return __webpack_modules__[t].call(i.exports,i,i.exports,__webpack_require__),i.loaded=!0,i.exports}__webpack_require__.m=__webpack_modules__,deferred=[],__webpack_require__.O=(t,e,i,n)=>{if(!e){var r=1/0;for(u=0;u=n)&&Object.keys(__webpack_require__.O).every(t=>__webpack_require__.O[t](e[s]))?e.splice(s--,1):(o=!1,n0&&deferred[u-1][2]>n;u--)deferred[u]=deferred[u-1];deferred[u]=[e,i,n]},__webpack_require__.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return __webpack_require__.d(e,{a:e}),e},__webpack_require__.d=(t,e)=>{for(var i in e)__webpack_require__.o(e,i)&&!__webpack_require__.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},__webpack_require__.f={},__webpack_require__.e=t=>Promise.all(Object.keys(__webpack_require__.f).reduce((e,i)=>(__webpack_require__.f[i](t,e),e),[])),__webpack_require__.u=t=>t+"-"+t+".js?v="+{1140:"dd55e1cf2dab9870eea9",2221:"5cdd551ed83d9a12c3ed",5448:"71cfe268d6f1213c4735",6015:"8ac07126adf0759a3464",7859:"5bcb1bbacda3204063dd",7910:"de857920f8beb5205bbc",8815:"0f63c2eb085d7b08be1b",9553:"c8ce7bd4445f06a11ae6"}[t],__webpack_require__.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),inProgress={},dataWebpackPrefix="nextcloud-ui-legacy:",__webpack_require__.l=(t,e,i,n)=>{if(inProgress[t])inProgress[t].push(e);else{var r,o;if(void 0!==i)for(var s=document.getElementsByTagName("script"),a=0;a{r.onerror=r.onload=null,clearTimeout(h);var n=inProgress[t];if(delete inProgress[t],r.parentNode&&r.parentNode.removeChild(r),n&&n.forEach(t=>t(i)),e)return e(i)},h=setTimeout(c.bind(null,void 0,{type:"timeout",target:r}),12e4);r.onerror=c.bind(null,r.onerror),r.onload=c.bind(null,r.onload),o&&document.head.appendChild(r)}},__webpack_require__.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},__webpack_require__.nmd=t=>(t.paths=[],t.children||(t.children=[]),t),__webpack_require__.j=2228,(()=>{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(/\/[^\/]+$/,"/"),__webpack_require__.p=t})(),(()=>{__webpack_require__.b="undefined"!=typeof document&&document.baseURI||self.location.href;var t={2228:0};__webpack_require__.f.j=(e,i)=>{var n=__webpack_require__.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 o=__webpack_require__.p+__webpack_require__.u(e),s=new Error;__webpack_require__.l(o,i=>{if(__webpack_require__.o(t,e)&&(0!==(n=t[e])&&(t[e]=void 0),n)){var r=i&&("load"===i.type?"missing":i.type),o=i&&i.target&&i.target.src;s.message="Loading chunk "+e+" failed.\n("+r+": "+o+")",s.name="ChunkLoadError",s.type=r,s.request=o,n[1](s)}},"chunk-"+e,e)}},__webpack_require__.O.j=e=>0===t[e];var e=(e,i)=>{var n,r,[o,s,a]=i,u=0;if(o.some(e=>0!==t[e])){for(n in s)__webpack_require__.o(s,n)&&(__webpack_require__.m[n]=s[n]);if(a)var c=a(__webpack_require__)}for(e&&e(i);u__webpack_require__(9854));__webpack_exports__=__webpack_require__.O(__webpack_exports__)})(); -//# sourceMappingURL=core-main.js.map?v=27f38e611ee9f59b4a79 \ No newline at end of file +(()=>{var __webpack_modules__={87568(t,e,i){var n=e;n.bignum=i(72344),n.define=i(47363).define,n.base=i(9673),n.constants=i(22153),n.decoders=i(22853),n.encoders=i(24669)},47363(t,e,i){var n=i(87568),r=i(56698);function o(t,e){this.name=t,this.body=e,this.decoders={},this.encoders={}}e.define=function(t,e){return new o(t,e)},o.prototype._createNamed=function(t){var e;try{e=i(68961).runInThisContext("(function "+this.name+"(entity) {\n this._initNamed(entity);\n})")}catch(t){e=function(t){this._initNamed(t)}}return r(e,t),e.prototype._initNamed=function(e){t.call(this,e)},new e(this)},o.prototype._getDecoder=function(t){return t=t||"der",this.decoders.hasOwnProperty(t)||(this.decoders[t]=this._createNamed(n.decoders[t])),this.decoders[t]},o.prototype.decode=function(t,e,i){return this._getDecoder(e).decode(t,i)},o.prototype._getEncoder=function(t){return t=t||"der",this.encoders.hasOwnProperty(t)||(this.encoders[t]=this._createNamed(n.encoders[t])),this.encoders[t]},o.prototype.encode=function(t,e,i){return this._getEncoder(e).encode(t,i)}},47227(t,e,i){var n=i(56698),r=i(9673).Reporter,o=i(1048).Buffer;function s(t,e){r.call(this,e),o.isBuffer(t)?(this.base=t,this.offset=0,this.length=t.length):this.error("Input not Buffer")}function a(t,e){if(Array.isArray(t))this.length=0,this.value=t.map(function(t){return t instanceof a||(t=new a(t,e)),this.length+=t.length,t},this);else if("number"==typeof t){if(!(0<=t&&t<=255))return e.error("non-byte EncoderBuffer value");this.value=t,this.length=1}else if("string"==typeof t)this.value=t,this.length=o.byteLength(t);else{if(!o.isBuffer(t))return e.error("Unsupported type: "+typeof t);this.value=t,this.length=t.length}}n(s,r),e.t=s,s.prototype.save=function(){return{offset:this.offset,reporter:r.prototype.save.call(this)}},s.prototype.restore=function(t){var e=new s(this.base);return e.offset=t.offset,e.length=this.offset,this.offset=t.offset,r.prototype.restore.call(this,t.reporter),e},s.prototype.isEmpty=function(){return this.offset===this.length},s.prototype.readUInt8=function(t){return this.offset+1<=this.length?this.base.readUInt8(this.offset++,!0):this.error(t||"DecoderBuffer overrun")},s.prototype.skip=function(t,e){if(!(this.offset+t<=this.length))return this.error(e||"DecoderBuffer overrun");var i=new s(this.base);return i._reporterState=this._reporterState,i.offset=this.offset,i.length=this.offset+t,this.offset+=t,i},s.prototype.raw=function(t){return this.base.slice(t?t.offset:this.offset,this.length)},e.d=a,a.prototype.join=function(t,e){return t||(t=new o(this.length)),e||(e=0),0===this.length||(Array.isArray(this.value)?this.value.forEach(function(i){i.join(t,e),e+=i.length}):("number"==typeof this.value?t[e]=this.value:"string"==typeof this.value?t.write(this.value,e):o.isBuffer(this.value)&&this.value.copy(t,e),e+=this.length)),t}},9673(t,e,i){var n=e;n.Reporter=i(89220).a,n.DecoderBuffer=i(47227).t,n.EncoderBuffer=i(47227).d,n.Node=i(90993)},90993(t,e,i){var n=i(9673).Reporter,r=i(9673).EncoderBuffer,o=i(9673).DecoderBuffer,s=i(43349),a=["seq","seqof","set","setof","objid","bool","gentime","utctime","null_","enum","int","objDesc","bitstr","bmpstr","charstr","genstr","graphstr","ia5str","iso646str","numstr","octstr","printstr","t61str","unistr","utf8str","videostr"],u=["key","obj","use","optional","explicit","implicit","def","choice","any","contains"].concat(a);function c(t,e){var i={};this._baseState=i,i.enc=t,i.parent=e||null,i.children=null,i.tag=null,i.args=null,i.reverseArgs=null,i.choice=null,i.optional=!1,i.any=!1,i.obj=!1,i.use=null,i.useDecoder=null,i.key=null,i.default=null,i.explicit=null,i.implicit=null,i.contains=null,i.parent||(i.children=[],this._wrap())}t.exports=c;var h=["enc","parent","children","tag","args","reverseArgs","choice","optional","any","obj","use","alteredUse","key","default","explicit","implicit","contains"];c.prototype.clone=function(){var t=this._baseState,e={};h.forEach(function(i){e[i]=t[i]});var i=new this.constructor(e.parent);return i._baseState=e,i},c.prototype._wrap=function(){var t=this._baseState;u.forEach(function(e){this[e]=function(){var i=new this.constructor(this);return t.children.push(i),i[e].apply(i,arguments)}},this)},c.prototype._init=function(t){var e=this._baseState;s(null===e.parent),t.call(this),e.children=e.children.filter(function(t){return t._baseState.parent===this},this),s.equal(e.children.length,1,"Root node can have only one child")},c.prototype._useArgs=function(t){var e=this._baseState,i=t.filter(function(t){return t instanceof this.constructor},this);t=t.filter(function(t){return!(t instanceof this.constructor)},this),0!==i.length&&(s(null===e.children),e.children=i,i.forEach(function(t){t._baseState.parent=this},this)),0!==t.length&&(s(null===e.args),e.args=t,e.reverseArgs=t.map(function(t){if("object"!=typeof t||t.constructor!==Object)return t;var e={};return Object.keys(t).forEach(function(i){i==(0|i)&&(i|=0);var n=t[i];e[n]=i}),e}))},["_peekTag","_decodeTag","_use","_decodeStr","_decodeObjid","_decodeTime","_decodeNull","_decodeInt","_decodeBool","_decodeList","_encodeComposite","_encodeStr","_encodeObjid","_encodeTime","_encodeNull","_encodeInt","_encodeBool"].forEach(function(t){c.prototype[t]=function(){var e=this._baseState;throw new Error(t+" not implemented for encoding: "+e.enc)}}),a.forEach(function(t){c.prototype[t]=function(){var e=this._baseState,i=Array.prototype.slice.call(arguments);return s(null===e.tag),e.tag=t,this._useArgs(i),this}}),c.prototype.use=function(t){s(t);var e=this._baseState;return s(null===e.use),e.use=t,this},c.prototype.optional=function(){return this._baseState.optional=!0,this},c.prototype.def=function(t){var e=this._baseState;return s(null===e.default),e.default=t,e.optional=!0,this},c.prototype.explicit=function(t){var e=this._baseState;return s(null===e.explicit&&null===e.implicit),e.explicit=t,this},c.prototype.implicit=function(t){var e=this._baseState;return s(null===e.explicit&&null===e.implicit),e.implicit=t,this},c.prototype.obj=function(){var t=this._baseState,e=Array.prototype.slice.call(arguments);return t.obj=!0,0!==e.length&&this._useArgs(e),this},c.prototype.key=function(t){var e=this._baseState;return s(null===e.key),e.key=t,this},c.prototype.any=function(){return this._baseState.any=!0,this},c.prototype.choice=function(t){var e=this._baseState;return s(null===e.choice),e.choice=t,this._useArgs(Object.keys(t).map(function(e){return t[e]})),this},c.prototype.contains=function(t){var e=this._baseState;return s(null===e.use),e.contains=t,this},c.prototype._decode=function(t,e){var i=this._baseState;if(null===i.parent)return t.wrapResult(i.children[0]._decode(t,e));var n,r=i.default,s=!0,a=null;if(null!==i.key&&(a=t.enterKey(i.key)),i.optional){var u=null;if(null!==i.explicit?u=i.explicit:null!==i.implicit?u=i.implicit:null!==i.tag&&(u=i.tag),null!==u||i.any){if(s=this._peekTag(t,u,i.any),t.isError(s))return s}else{var c=t.save();try{null===i.choice?this._decodeGeneric(i.tag,t,e):this._decodeChoice(t,e),s=!0}catch(t){s=!1}t.restore(c)}}if(i.obj&&s&&(n=t.enterObject()),s){if(null!==i.explicit){var h=this._decodeTag(t,i.explicit);if(t.isError(h))return h;t=h}var l=t.offset;if(null===i.use&&null===i.choice){i.any&&(c=t.save());var d=this._decodeTag(t,null!==i.implicit?i.implicit:i.tag,i.any);if(t.isError(d))return d;i.any?r=t.raw(c):t=d}if(e&&e.track&&null!==i.tag&&e.track(t.path(),l,t.length,"tagged"),e&&e.track&&null!==i.tag&&e.track(t.path(),t.offset,t.length,"content"),i.any||(r=null===i.choice?this._decodeGeneric(i.tag,t,e):this._decodeChoice(t,e)),t.isError(r))return r;if(i.any||null!==i.choice||null===i.children||i.children.forEach(function(i){i._decode(t,e)}),i.contains&&("octstr"===i.tag||"bitstr"===i.tag)){var f=new o(r);r=this._getUse(i.contains,t._reporterState.obj)._decode(f,e)}}return i.obj&&s&&(r=t.leaveObject(n)),null===i.key||null===r&&!0!==s?null!==a&&t.exitKey(a):t.leaveKey(a,i.key,r),r},c.prototype._decodeGeneric=function(t,e,i){var n=this._baseState;return"seq"===t||"set"===t?null:"seqof"===t||"setof"===t?this._decodeList(e,t,n.args[0],i):/str$/.test(t)?this._decodeStr(e,t,i):"objid"===t&&n.args?this._decodeObjid(e,n.args[0],n.args[1],i):"objid"===t?this._decodeObjid(e,null,null,i):"gentime"===t||"utctime"===t?this._decodeTime(e,t,i):"null_"===t?this._decodeNull(e,i):"bool"===t?this._decodeBool(e,i):"objDesc"===t?this._decodeStr(e,t,i):"int"===t||"enum"===t?this._decodeInt(e,n.args&&n.args[0],i):null!==n.use?this._getUse(n.use,e._reporterState.obj)._decode(e,i):e.error("unknown tag: "+t)},c.prototype._getUse=function(t,e){var i=this._baseState;return i.useDecoder=this._use(t,e),s(null===i.useDecoder._baseState.parent),i.useDecoder=i.useDecoder._baseState.children[0],i.implicit!==i.useDecoder._baseState.implicit&&(i.useDecoder=i.useDecoder.clone(),i.useDecoder._baseState.implicit=i.implicit),i.useDecoder},c.prototype._decodeChoice=function(t,e){var i=this._baseState,n=null,r=!1;return Object.keys(i.choice).some(function(o){var s=t.save(),a=i.choice[o];try{var u=a._decode(t,e);if(t.isError(u))return!1;n={type:o,value:u},r=!0}catch(e){return t.restore(s),!1}return!0},this),r?n:t.error("Choice not matched")},c.prototype._createEncoderBuffer=function(t){return new r(t,this.reporter)},c.prototype._encode=function(t,e,i){var n=this._baseState;if(null===n.default||n.default!==t){var r=this._encodeValue(t,e,i);if(void 0!==r&&!this._skipDefault(r,e,i))return r}},c.prototype._encodeValue=function(t,e,i){var r=this._baseState;if(null===r.parent)return r.children[0]._encode(t,e||new n);var o=null;if(this.reporter=e,r.optional&&void 0===t){if(null===r.default)return;t=r.default}var s=null,a=!1;if(r.any)o=this._createEncoderBuffer(t);else if(r.choice)o=this._encodeChoice(t,e);else if(r.contains)s=this._getUse(r.contains,i)._encode(t,e),a=!0;else if(r.children)s=r.children.map(function(i){if("null_"===i._baseState.tag)return i._encode(null,e,t);if(null===i._baseState.key)return e.error("Child should have a key");var n=e.enterKey(i._baseState.key);if("object"!=typeof t)return e.error("Child expected, but input is not object");var r=i._encode(t[i._baseState.key],e,t);return e.leaveKey(n),r},this).filter(function(t){return t}),s=this._createEncoderBuffer(s);else if("seqof"===r.tag||"setof"===r.tag){if(!r.args||1!==r.args.length)return e.error("Too many args for : "+r.tag);if(!Array.isArray(t))return e.error("seqof/setof, but data is not Array");var u=this.clone();u._baseState.implicit=null,s=this._createEncoderBuffer(t.map(function(i){var n=this._baseState;return this._getUse(n.args[0],t)._encode(i,e)},u))}else null!==r.use?o=this._getUse(r.use,i)._encode(t,e):(s=this._encodePrimitive(r.tag,t),a=!0);if(!r.any&&null===r.choice){var c=null!==r.implicit?r.implicit:r.tag,h=null===r.implicit?"universal":"context";null===c?null===r.use&&e.error("Tag could be omitted only for .use()"):null===r.use&&(o=this._encodeComposite(c,a,h,s))}return null!==r.explicit&&(o=this._encodeComposite(r.explicit,!1,"context",o)),o},c.prototype._encodeChoice=function(t,e){var i=this._baseState,n=i.choice[t.type];return n||s(!1,t.type+" not found in "+JSON.stringify(Object.keys(i.choice))),n._encode(t.value,e)},c.prototype._encodePrimitive=function(t,e){var i=this._baseState;if(/str$/.test(t))return this._encodeStr(e,t);if("objid"===t&&i.args)return this._encodeObjid(e,i.reverseArgs[0],i.args[1]);if("objid"===t)return this._encodeObjid(e,null,null);if("gentime"===t||"utctime"===t)return this._encodeTime(e,t);if("null_"===t)return this._encodeNull();if("int"===t||"enum"===t)return this._encodeInt(e,i.args&&i.reverseArgs[0]);if("bool"===t)return this._encodeBool(e);if("objDesc"===t)return this._encodeStr(e,t);throw new Error("Unsupported tag: "+t)},c.prototype._isNumstr=function(t){return/^[0-9 ]*$/.test(t)},c.prototype._isPrintstr=function(t){return/^[A-Za-z0-9 '\(\)\+,\-\.\/:=\?]*$/.test(t)}},89220(t,e,i){var n=i(56698);function r(t){this._reporterState={obj:null,path:[],options:t||{},errors:[]}}function o(t,e){this.path=t,this.rethrow(e)}e.a=r,r.prototype.isError=function(t){return t instanceof o},r.prototype.save=function(){var t=this._reporterState;return{obj:t.obj,pathLen:t.path.length}},r.prototype.restore=function(t){var e=this._reporterState;e.obj=t.obj,e.path=e.path.slice(0,t.pathLen)},r.prototype.enterKey=function(t){return this._reporterState.path.push(t)},r.prototype.exitKey=function(t){var e=this._reporterState;e.path=e.path.slice(0,t-1)},r.prototype.leaveKey=function(t,e,i){var n=this._reporterState;this.exitKey(t),null!==n.obj&&(n.obj[e]=i)},r.prototype.path=function(){return this._reporterState.path.join("/")},r.prototype.enterObject=function(){var t=this._reporterState,e=t.obj;return t.obj={},e},r.prototype.leaveObject=function(t){var e=this._reporterState,i=e.obj;return e.obj=t,i},r.prototype.error=function(t){var e,i=this._reporterState,n=t instanceof o;if(e=n?t:new o(i.path.map(function(t){return"["+JSON.stringify(t)+"]"}).join(""),t.message||t,t.stack),!i.options.partial)throw e;return n||i.errors.push(e),e},r.prototype.wrapResult=function(t){var e=this._reporterState;return e.options.partial?{result:this.isError(t)?null:t,errors:e.errors}:t},n(o,Error),o.prototype.rethrow=function(t){if(this.message=t+" at: "+(this.path||"(shallow)"),Error.captureStackTrace&&Error.captureStackTrace(this,o),!this.stack)try{throw new Error(this.message)}catch(t){this.stack=t.stack}return this}},74598(t,e,i){var n=i(22153);e.tagClass={0:"universal",1:"application",2:"context",3:"private"},e.tagClassByName=n._reverse(e.tagClass),e.tag={0:"end",1:"bool",2:"int",3:"bitstr",4:"octstr",5:"null_",6:"objid",7:"objDesc",8:"external",9:"real",10:"enum",11:"embed",12:"utf8str",13:"relativeOid",16:"seq",17:"set",18:"numstr",19:"printstr",20:"t61str",21:"videostr",22:"ia5str",23:"utctime",24:"gentime",25:"graphstr",26:"iso646str",27:"genstr",28:"unistr",29:"charstr",30:"bmpstr"},e.tagByName=n._reverse(e.tag)},22153(t,e,i){var n=e;n._reverse=function(t){var e={};return Object.keys(t).forEach(function(i){(0|i)==i&&(i|=0);var n=t[i];e[n]=i}),e},n.der=i(74598)},39629(t,e,i){var n=i(56698),r=i(87568),o=r.base,s=r.bignum,a=r.constants.der;function u(t){this.enc="der",this.name=t.name,this.entity=t,this.tree=new c,this.tree._init(t.body)}function c(t){o.Node.call(this,"der",t)}function h(t,e){var i=t.readUInt8(e);if(t.isError(i))return i;var n=a.tagClass[i>>6],r=!(32&i);if(31&~i)i&=31;else{var o=i;for(i=0;!(128&~o);){if(o=t.readUInt8(e),t.isError(o))return o;i<<=7,i|=127&o}}return{cls:n,primitive:r,tag:i,tagStr:a.tag[i]}}function l(t,e,i){var n=t.readUInt8(i);if(t.isError(n))return n;if(!e&&128===n)return null;if(!(128&n))return n;var r=127&n;if(r>4)return t.error("length octect is too long");n=0;for(var o=0;o=31?n.error("Multi-octet tag encoding unsupported"):(e||(r|=32),r|=a.tagClassByName[i||"universal"]<<6)}(t,e,i,this.reporter);if(n.length<128)return(o=new r(2))[0]=s,o[1]=n.length,this._createEncoderBuffer([o,n]);for(var u=1,c=n.length;c>=256;c>>=8)u++;(o=new r(2+u))[0]=s,o[1]=128|u,c=1+u;for(var h=n.length;h>0;c--,h>>=8)o[c]=255&h;return this._createEncoderBuffer([o,n])},c.prototype._encodeStr=function(t,e){if("bitstr"===e)return this._createEncoderBuffer([0|t.unused,t.data]);if("bmpstr"===e){for(var i=new r(2*t.length),n=0;n=40)return this.reporter.error("Second objid identifier OOB");t.splice(0,2,40*t[0]+t[1])}var o=0;for(n=0;n=128;s>>=7)o++}var a=new r(o),u=a.length-1;for(n=t.length-1;n>=0;n--)for(s=t[n],a[u--]=127&s;(s>>=7)>0;)a[u--]=128|127&s;return this._createEncoderBuffer(a)},c.prototype._encodeTime=function(t,e){var i,n=new Date(t);return"gentime"===e?i=[h(n.getFullYear()),h(n.getUTCMonth()+1),h(n.getUTCDate()),h(n.getUTCHours()),h(n.getUTCMinutes()),h(n.getUTCSeconds()),"Z"].join(""):"utctime"===e?i=[h(n.getFullYear()%100),h(n.getUTCMonth()+1),h(n.getUTCDate()),h(n.getUTCHours()),h(n.getUTCMinutes()),h(n.getUTCSeconds()),"Z"].join(""):this.reporter.error("Encoding "+e+" time is not supported yet"),this._encodeStr(i,"octstr")},c.prototype._encodeNull=function(){return this._createEncoderBuffer("")},c.prototype._encodeInt=function(t,e){if("string"==typeof t){if(!e)return this.reporter.error("String int or enum given, but no values map");if(!e.hasOwnProperty(t))return this.reporter.error("Values map doesn't contain: "+JSON.stringify(t));t=e[t]}if("number"!=typeof t&&!r.isBuffer(t)){var i=t.toArray();!t.sign&&128&i[0]&&i.unshift(0),t=new r(i)}if(r.isBuffer(t)){var n=t.length;0===t.length&&n++;var o=new r(n);return t.copy(o),0===t.length&&(o[0]=0),this._createEncoderBuffer(o)}if(t<128)return this._createEncoderBuffer(t);if(t<256)return this._createEncoderBuffer([0,t]);n=1;for(var s=t;s>=256;s>>=8)n++;for(s=(o=new Array(n)).length-1;s>=0;s--)o[s]=255&t,t>>=8;return 128&o[0]&&o.unshift(0),this._createEncoderBuffer(new r(o))},c.prototype._encodeBool=function(t){return this._createEncoderBuffer(t?255:0)},c.prototype._use=function(t,e){return"function"==typeof t&&(t=t(e)),t._getEncoder("der").tree},c.prototype._skipDefault=function(t,e,i){var n,r=this._baseState;if(null===r.default)return!1;var o=t.join();if(void 0===r.defaultBuffer&&(r.defaultBuffer=this._encodeValue(r.default,e,i).join()),o.length!==r.defaultBuffer.length)return!1;for(n=0;n=65&&i<=70?i-55:i>=97&&i<=102?i-87:i-48&15}function u(t,e,i){var n=a(t,i);return i-1>=e&&(n|=a(t,i-1)<<4),n}function c(t,e,i,n){for(var r=0,o=Math.min(t.length,i),s=e;s=49?a-49+10:a>=17?a-17+10:a}return r}o.isBN=function(t){return t instanceof o||null!==t&&"object"==typeof t&&t.constructor.wordSize===o.wordSize&&Array.isArray(t.words)},o.max=function(t,e){return t.cmp(e)>0?t:e},o.min=function(t,e){return t.cmp(e)<0?t:e},o.prototype._init=function(t,e,i){if("number"==typeof t)return this._initNumber(t,e,i);if("object"==typeof t)return this._initArray(t,e,i);"hex"===e&&(e=16),n(e===(0|e)&&e>=2&&e<=36);var r=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(r++,this.negative=1),r=0;r-=3)s=t[r]|t[r-1]<<8|t[r-2]<<16,this.words[o]|=s<>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);else if("le"===i)for(r=0,o=0;r>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);return this.strip()},o.prototype._parseHex=function(t,e,i){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var n=0;n=e;n-=2)r=u(t,e,n)<=18?(o-=18,s+=1,this.words[s]|=r>>>26):o+=8;else for(n=(t.length-e)%2==0?e+1:e;n=18?(o-=18,s+=1,this.words[s]|=r>>>26):o+=8;this.strip()},o.prototype._parseBase=function(t,e,i){this.words=[0],this.length=1;for(var n=0,r=1;r<=67108863;r*=e)n++;n--,r=r/e|0;for(var o=t.length-i,s=o%n,a=Math.min(o,o-s)+i,u=0,h=i;h1&&0===this.words[this.length-1];)this.length--;return this._normSign()},o.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},o.prototype.inspect=function(){return(this.red?""};var h=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],l=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],d=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function f(t,e,i){i.negative=e.negative^t.negative;var n=t.length+e.length|0;i.length=n,n=n-1|0;var r=0|t.words[0],o=0|e.words[0],s=r*o,a=67108863&s,u=s/67108864|0;i.words[0]=a;for(var c=1;c>>26,l=67108863&u,d=Math.min(c,e.length-1),f=Math.max(0,c-t.length+1);f<=d;f++){var p=c-f|0;h+=(s=(r=0|t.words[p])*(o=0|e.words[f])+l)/67108864|0,l=67108863&s}i.words[c]=0|l,u=0|h}return 0!==u?i.words[c]=0|u:i.length--,i.strip()}o.prototype.toString=function(t,e){var i;if(e=0|e||1,16===(t=t||10)||"hex"===t){i="";for(var r=0,o=0,s=0;s>>24-r&16777215,(r+=2)>=26&&(r-=26,s--),i=0!==o||s!==this.length-1?h[6-u.length]+u+i:u+i}for(0!==o&&(i=o.toString(16)+i);i.length%e!==0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}if(t===(0|t)&&t>=2&&t<=36){var c=l[t],f=d[t];i="";var p=this.clone();for(p.negative=0;!p.isZero();){var g=p.modn(f).toString(t);i=(p=p.idivn(f)).isZero()?g+i:h[c-g.length]+g+i}for(this.isZero()&&(i="0"+i);i.length%e!==0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}n(!1,"Base should be between 2 and 36")},o.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},o.prototype.toJSON=function(){return this.toString(16)},o.prototype.toBuffer=function(t,e){return n(void 0!==s),this.toArrayLike(s,t,e)},o.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},o.prototype.toArrayLike=function(t,e,i){var r=this.byteLength(),o=i||Math.max(1,r);n(r<=o,"byte array longer than desired length"),n(o>0,"Requested array length <= 0"),this.strip();var s,a,u="le"===e,c=new t(o),h=this.clone();if(u){for(a=0;!h.isZero();a++)s=h.andln(255),h.iushrn(8),c[a]=s;for(;a=4096&&(i+=13,e>>>=13),e>=64&&(i+=7,e>>>=7),e>=8&&(i+=4,e>>>=4),e>=2&&(i+=2,e>>>=2),i+e},o.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,i=0;return 8191&e||(i+=13,e>>>=13),127&e||(i+=7,e>>>=7),15&e||(i+=4,e>>>=4),3&e||(i+=2,e>>>=2),1&e||i++,i},o.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},o.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},o.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},o.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var i=0;it.length?this.clone().iand(t):t.clone().iand(this)},o.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},o.prototype.iuxor=function(t){var e,i;this.length>t.length?(e=this,i=t):(e=t,i=this);for(var n=0;nt.length?this.clone().ixor(t):t.clone().ixor(this)},o.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},o.prototype.inotn=function(t){n("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),i=t%26;this._expand(e),i>0&&e--;for(var r=0;r0&&(this.words[r]=~this.words[r]&67108863>>26-i),this.strip()},o.prototype.notn=function(t){return this.clone().inotn(t)},o.prototype.setn=function(t,e){n("number"==typeof t&&t>=0);var i=t/26|0,r=t%26;return this._expand(i+1),this.words[i]=e?this.words[i]|1<t.length?(i=this,n=t):(i=t,n=this);for(var r=0,o=0;o>>26;for(;0!==r&&o>>26;if(this.length=i.length,0!==r)this.words[this.length]=r,this.length++;else if(i!==this)for(;ot.length?this.clone().iadd(t):t.clone().iadd(this)},o.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var i,n,r=this.cmp(t);if(0===r)return this.negative=0,this.length=1,this.words[0]=0,this;r>0?(i=this,n=t):(i=t,n=this);for(var o=0,s=0;s>26,this.words[s]=67108863&e;for(;0!==o&&s>26,this.words[s]=67108863&e;if(0===o&&s>>13,f=0|s[1],p=8191&f,g=f>>>13,A=0|s[2],m=8191&A,v=A>>>13,b=0|s[3],y=8191&b,w=b>>>13,C=0|s[4],x=8191&C,k=C>>>13,_=0|s[5],M=8191&_,B=_>>>13,E=0|s[6],I=8191&E,S=E>>>13,D=0|s[7],T=8191&D,O=D>>>13,P=0|s[8],R=8191&P,z=P>>>13,N=0|s[9],H=8191&N,j=N>>>13,L=0|a[0],U=8191&L,q=L>>>13,F=0|a[1],W=8191&F,Y=F>>>13,Q=0|a[2],G=8191&Q,V=Q>>>13,K=0|a[3],X=8191&K,Z=K>>>13,J=0|a[4],$=8191&J,tt=J>>>13,et=0|a[5],it=8191&et,nt=et>>>13,rt=0|a[6],ot=8191&rt,st=rt>>>13,at=0|a[7],ut=8191&at,ct=at>>>13,ht=0|a[8],lt=8191&ht,dt=ht>>>13,ft=0|a[9],pt=8191&ft,gt=ft>>>13;i.negative=t.negative^e.negative,i.length=19;var At=(c+(n=Math.imul(l,U))|0)+((8191&(r=(r=Math.imul(l,q))+Math.imul(d,U)|0))<<13)|0;c=((o=Math.imul(d,q))+(r>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(p,U),r=(r=Math.imul(p,q))+Math.imul(g,U)|0,o=Math.imul(g,q);var mt=(c+(n=n+Math.imul(l,W)|0)|0)+((8191&(r=(r=r+Math.imul(l,Y)|0)+Math.imul(d,W)|0))<<13)|0;c=((o=o+Math.imul(d,Y)|0)+(r>>>13)|0)+(mt>>>26)|0,mt&=67108863,n=Math.imul(m,U),r=(r=Math.imul(m,q))+Math.imul(v,U)|0,o=Math.imul(v,q),n=n+Math.imul(p,W)|0,r=(r=r+Math.imul(p,Y)|0)+Math.imul(g,W)|0,o=o+Math.imul(g,Y)|0;var vt=(c+(n=n+Math.imul(l,G)|0)|0)+((8191&(r=(r=r+Math.imul(l,V)|0)+Math.imul(d,G)|0))<<13)|0;c=((o=o+Math.imul(d,V)|0)+(r>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(y,U),r=(r=Math.imul(y,q))+Math.imul(w,U)|0,o=Math.imul(w,q),n=n+Math.imul(m,W)|0,r=(r=r+Math.imul(m,Y)|0)+Math.imul(v,W)|0,o=o+Math.imul(v,Y)|0,n=n+Math.imul(p,G)|0,r=(r=r+Math.imul(p,V)|0)+Math.imul(g,G)|0,o=o+Math.imul(g,V)|0;var bt=(c+(n=n+Math.imul(l,X)|0)|0)+((8191&(r=(r=r+Math.imul(l,Z)|0)+Math.imul(d,X)|0))<<13)|0;c=((o=o+Math.imul(d,Z)|0)+(r>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(x,U),r=(r=Math.imul(x,q))+Math.imul(k,U)|0,o=Math.imul(k,q),n=n+Math.imul(y,W)|0,r=(r=r+Math.imul(y,Y)|0)+Math.imul(w,W)|0,o=o+Math.imul(w,Y)|0,n=n+Math.imul(m,G)|0,r=(r=r+Math.imul(m,V)|0)+Math.imul(v,G)|0,o=o+Math.imul(v,V)|0,n=n+Math.imul(p,X)|0,r=(r=r+Math.imul(p,Z)|0)+Math.imul(g,X)|0,o=o+Math.imul(g,Z)|0;var yt=(c+(n=n+Math.imul(l,$)|0)|0)+((8191&(r=(r=r+Math.imul(l,tt)|0)+Math.imul(d,$)|0))<<13)|0;c=((o=o+Math.imul(d,tt)|0)+(r>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(M,U),r=(r=Math.imul(M,q))+Math.imul(B,U)|0,o=Math.imul(B,q),n=n+Math.imul(x,W)|0,r=(r=r+Math.imul(x,Y)|0)+Math.imul(k,W)|0,o=o+Math.imul(k,Y)|0,n=n+Math.imul(y,G)|0,r=(r=r+Math.imul(y,V)|0)+Math.imul(w,G)|0,o=o+Math.imul(w,V)|0,n=n+Math.imul(m,X)|0,r=(r=r+Math.imul(m,Z)|0)+Math.imul(v,X)|0,o=o+Math.imul(v,Z)|0,n=n+Math.imul(p,$)|0,r=(r=r+Math.imul(p,tt)|0)+Math.imul(g,$)|0,o=o+Math.imul(g,tt)|0;var wt=(c+(n=n+Math.imul(l,it)|0)|0)+((8191&(r=(r=r+Math.imul(l,nt)|0)+Math.imul(d,it)|0))<<13)|0;c=((o=o+Math.imul(d,nt)|0)+(r>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(I,U),r=(r=Math.imul(I,q))+Math.imul(S,U)|0,o=Math.imul(S,q),n=n+Math.imul(M,W)|0,r=(r=r+Math.imul(M,Y)|0)+Math.imul(B,W)|0,o=o+Math.imul(B,Y)|0,n=n+Math.imul(x,G)|0,r=(r=r+Math.imul(x,V)|0)+Math.imul(k,G)|0,o=o+Math.imul(k,V)|0,n=n+Math.imul(y,X)|0,r=(r=r+Math.imul(y,Z)|0)+Math.imul(w,X)|0,o=o+Math.imul(w,Z)|0,n=n+Math.imul(m,$)|0,r=(r=r+Math.imul(m,tt)|0)+Math.imul(v,$)|0,o=o+Math.imul(v,tt)|0,n=n+Math.imul(p,it)|0,r=(r=r+Math.imul(p,nt)|0)+Math.imul(g,it)|0,o=o+Math.imul(g,nt)|0;var Ct=(c+(n=n+Math.imul(l,ot)|0)|0)+((8191&(r=(r=r+Math.imul(l,st)|0)+Math.imul(d,ot)|0))<<13)|0;c=((o=o+Math.imul(d,st)|0)+(r>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,n=Math.imul(T,U),r=(r=Math.imul(T,q))+Math.imul(O,U)|0,o=Math.imul(O,q),n=n+Math.imul(I,W)|0,r=(r=r+Math.imul(I,Y)|0)+Math.imul(S,W)|0,o=o+Math.imul(S,Y)|0,n=n+Math.imul(M,G)|0,r=(r=r+Math.imul(M,V)|0)+Math.imul(B,G)|0,o=o+Math.imul(B,V)|0,n=n+Math.imul(x,X)|0,r=(r=r+Math.imul(x,Z)|0)+Math.imul(k,X)|0,o=o+Math.imul(k,Z)|0,n=n+Math.imul(y,$)|0,r=(r=r+Math.imul(y,tt)|0)+Math.imul(w,$)|0,o=o+Math.imul(w,tt)|0,n=n+Math.imul(m,it)|0,r=(r=r+Math.imul(m,nt)|0)+Math.imul(v,it)|0,o=o+Math.imul(v,nt)|0,n=n+Math.imul(p,ot)|0,r=(r=r+Math.imul(p,st)|0)+Math.imul(g,ot)|0,o=o+Math.imul(g,st)|0;var xt=(c+(n=n+Math.imul(l,ut)|0)|0)+((8191&(r=(r=r+Math.imul(l,ct)|0)+Math.imul(d,ut)|0))<<13)|0;c=((o=o+Math.imul(d,ct)|0)+(r>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(R,U),r=(r=Math.imul(R,q))+Math.imul(z,U)|0,o=Math.imul(z,q),n=n+Math.imul(T,W)|0,r=(r=r+Math.imul(T,Y)|0)+Math.imul(O,W)|0,o=o+Math.imul(O,Y)|0,n=n+Math.imul(I,G)|0,r=(r=r+Math.imul(I,V)|0)+Math.imul(S,G)|0,o=o+Math.imul(S,V)|0,n=n+Math.imul(M,X)|0,r=(r=r+Math.imul(M,Z)|0)+Math.imul(B,X)|0,o=o+Math.imul(B,Z)|0,n=n+Math.imul(x,$)|0,r=(r=r+Math.imul(x,tt)|0)+Math.imul(k,$)|0,o=o+Math.imul(k,tt)|0,n=n+Math.imul(y,it)|0,r=(r=r+Math.imul(y,nt)|0)+Math.imul(w,it)|0,o=o+Math.imul(w,nt)|0,n=n+Math.imul(m,ot)|0,r=(r=r+Math.imul(m,st)|0)+Math.imul(v,ot)|0,o=o+Math.imul(v,st)|0,n=n+Math.imul(p,ut)|0,r=(r=r+Math.imul(p,ct)|0)+Math.imul(g,ut)|0,o=o+Math.imul(g,ct)|0;var kt=(c+(n=n+Math.imul(l,lt)|0)|0)+((8191&(r=(r=r+Math.imul(l,dt)|0)+Math.imul(d,lt)|0))<<13)|0;c=((o=o+Math.imul(d,dt)|0)+(r>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(H,U),r=(r=Math.imul(H,q))+Math.imul(j,U)|0,o=Math.imul(j,q),n=n+Math.imul(R,W)|0,r=(r=r+Math.imul(R,Y)|0)+Math.imul(z,W)|0,o=o+Math.imul(z,Y)|0,n=n+Math.imul(T,G)|0,r=(r=r+Math.imul(T,V)|0)+Math.imul(O,G)|0,o=o+Math.imul(O,V)|0,n=n+Math.imul(I,X)|0,r=(r=r+Math.imul(I,Z)|0)+Math.imul(S,X)|0,o=o+Math.imul(S,Z)|0,n=n+Math.imul(M,$)|0,r=(r=r+Math.imul(M,tt)|0)+Math.imul(B,$)|0,o=o+Math.imul(B,tt)|0,n=n+Math.imul(x,it)|0,r=(r=r+Math.imul(x,nt)|0)+Math.imul(k,it)|0,o=o+Math.imul(k,nt)|0,n=n+Math.imul(y,ot)|0,r=(r=r+Math.imul(y,st)|0)+Math.imul(w,ot)|0,o=o+Math.imul(w,st)|0,n=n+Math.imul(m,ut)|0,r=(r=r+Math.imul(m,ct)|0)+Math.imul(v,ut)|0,o=o+Math.imul(v,ct)|0,n=n+Math.imul(p,lt)|0,r=(r=r+Math.imul(p,dt)|0)+Math.imul(g,lt)|0,o=o+Math.imul(g,dt)|0;var _t=(c+(n=n+Math.imul(l,pt)|0)|0)+((8191&(r=(r=r+Math.imul(l,gt)|0)+Math.imul(d,pt)|0))<<13)|0;c=((o=o+Math.imul(d,gt)|0)+(r>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(H,W),r=(r=Math.imul(H,Y))+Math.imul(j,W)|0,o=Math.imul(j,Y),n=n+Math.imul(R,G)|0,r=(r=r+Math.imul(R,V)|0)+Math.imul(z,G)|0,o=o+Math.imul(z,V)|0,n=n+Math.imul(T,X)|0,r=(r=r+Math.imul(T,Z)|0)+Math.imul(O,X)|0,o=o+Math.imul(O,Z)|0,n=n+Math.imul(I,$)|0,r=(r=r+Math.imul(I,tt)|0)+Math.imul(S,$)|0,o=o+Math.imul(S,tt)|0,n=n+Math.imul(M,it)|0,r=(r=r+Math.imul(M,nt)|0)+Math.imul(B,it)|0,o=o+Math.imul(B,nt)|0,n=n+Math.imul(x,ot)|0,r=(r=r+Math.imul(x,st)|0)+Math.imul(k,ot)|0,o=o+Math.imul(k,st)|0,n=n+Math.imul(y,ut)|0,r=(r=r+Math.imul(y,ct)|0)+Math.imul(w,ut)|0,o=o+Math.imul(w,ct)|0,n=n+Math.imul(m,lt)|0,r=(r=r+Math.imul(m,dt)|0)+Math.imul(v,lt)|0,o=o+Math.imul(v,dt)|0;var Mt=(c+(n=n+Math.imul(p,pt)|0)|0)+((8191&(r=(r=r+Math.imul(p,gt)|0)+Math.imul(g,pt)|0))<<13)|0;c=((o=o+Math.imul(g,gt)|0)+(r>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(H,G),r=(r=Math.imul(H,V))+Math.imul(j,G)|0,o=Math.imul(j,V),n=n+Math.imul(R,X)|0,r=(r=r+Math.imul(R,Z)|0)+Math.imul(z,X)|0,o=o+Math.imul(z,Z)|0,n=n+Math.imul(T,$)|0,r=(r=r+Math.imul(T,tt)|0)+Math.imul(O,$)|0,o=o+Math.imul(O,tt)|0,n=n+Math.imul(I,it)|0,r=(r=r+Math.imul(I,nt)|0)+Math.imul(S,it)|0,o=o+Math.imul(S,nt)|0,n=n+Math.imul(M,ot)|0,r=(r=r+Math.imul(M,st)|0)+Math.imul(B,ot)|0,o=o+Math.imul(B,st)|0,n=n+Math.imul(x,ut)|0,r=(r=r+Math.imul(x,ct)|0)+Math.imul(k,ut)|0,o=o+Math.imul(k,ct)|0,n=n+Math.imul(y,lt)|0,r=(r=r+Math.imul(y,dt)|0)+Math.imul(w,lt)|0,o=o+Math.imul(w,dt)|0;var Bt=(c+(n=n+Math.imul(m,pt)|0)|0)+((8191&(r=(r=r+Math.imul(m,gt)|0)+Math.imul(v,pt)|0))<<13)|0;c=((o=o+Math.imul(v,gt)|0)+(r>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,n=Math.imul(H,X),r=(r=Math.imul(H,Z))+Math.imul(j,X)|0,o=Math.imul(j,Z),n=n+Math.imul(R,$)|0,r=(r=r+Math.imul(R,tt)|0)+Math.imul(z,$)|0,o=o+Math.imul(z,tt)|0,n=n+Math.imul(T,it)|0,r=(r=r+Math.imul(T,nt)|0)+Math.imul(O,it)|0,o=o+Math.imul(O,nt)|0,n=n+Math.imul(I,ot)|0,r=(r=r+Math.imul(I,st)|0)+Math.imul(S,ot)|0,o=o+Math.imul(S,st)|0,n=n+Math.imul(M,ut)|0,r=(r=r+Math.imul(M,ct)|0)+Math.imul(B,ut)|0,o=o+Math.imul(B,ct)|0,n=n+Math.imul(x,lt)|0,r=(r=r+Math.imul(x,dt)|0)+Math.imul(k,lt)|0,o=o+Math.imul(k,dt)|0;var Et=(c+(n=n+Math.imul(y,pt)|0)|0)+((8191&(r=(r=r+Math.imul(y,gt)|0)+Math.imul(w,pt)|0))<<13)|0;c=((o=o+Math.imul(w,gt)|0)+(r>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(H,$),r=(r=Math.imul(H,tt))+Math.imul(j,$)|0,o=Math.imul(j,tt),n=n+Math.imul(R,it)|0,r=(r=r+Math.imul(R,nt)|0)+Math.imul(z,it)|0,o=o+Math.imul(z,nt)|0,n=n+Math.imul(T,ot)|0,r=(r=r+Math.imul(T,st)|0)+Math.imul(O,ot)|0,o=o+Math.imul(O,st)|0,n=n+Math.imul(I,ut)|0,r=(r=r+Math.imul(I,ct)|0)+Math.imul(S,ut)|0,o=o+Math.imul(S,ct)|0,n=n+Math.imul(M,lt)|0,r=(r=r+Math.imul(M,dt)|0)+Math.imul(B,lt)|0,o=o+Math.imul(B,dt)|0;var It=(c+(n=n+Math.imul(x,pt)|0)|0)+((8191&(r=(r=r+Math.imul(x,gt)|0)+Math.imul(k,pt)|0))<<13)|0;c=((o=o+Math.imul(k,gt)|0)+(r>>>13)|0)+(It>>>26)|0,It&=67108863,n=Math.imul(H,it),r=(r=Math.imul(H,nt))+Math.imul(j,it)|0,o=Math.imul(j,nt),n=n+Math.imul(R,ot)|0,r=(r=r+Math.imul(R,st)|0)+Math.imul(z,ot)|0,o=o+Math.imul(z,st)|0,n=n+Math.imul(T,ut)|0,r=(r=r+Math.imul(T,ct)|0)+Math.imul(O,ut)|0,o=o+Math.imul(O,ct)|0,n=n+Math.imul(I,lt)|0,r=(r=r+Math.imul(I,dt)|0)+Math.imul(S,lt)|0,o=o+Math.imul(S,dt)|0;var St=(c+(n=n+Math.imul(M,pt)|0)|0)+((8191&(r=(r=r+Math.imul(M,gt)|0)+Math.imul(B,pt)|0))<<13)|0;c=((o=o+Math.imul(B,gt)|0)+(r>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(H,ot),r=(r=Math.imul(H,st))+Math.imul(j,ot)|0,o=Math.imul(j,st),n=n+Math.imul(R,ut)|0,r=(r=r+Math.imul(R,ct)|0)+Math.imul(z,ut)|0,o=o+Math.imul(z,ct)|0,n=n+Math.imul(T,lt)|0,r=(r=r+Math.imul(T,dt)|0)+Math.imul(O,lt)|0,o=o+Math.imul(O,dt)|0;var Dt=(c+(n=n+Math.imul(I,pt)|0)|0)+((8191&(r=(r=r+Math.imul(I,gt)|0)+Math.imul(S,pt)|0))<<13)|0;c=((o=o+Math.imul(S,gt)|0)+(r>>>13)|0)+(Dt>>>26)|0,Dt&=67108863,n=Math.imul(H,ut),r=(r=Math.imul(H,ct))+Math.imul(j,ut)|0,o=Math.imul(j,ct),n=n+Math.imul(R,lt)|0,r=(r=r+Math.imul(R,dt)|0)+Math.imul(z,lt)|0,o=o+Math.imul(z,dt)|0;var Tt=(c+(n=n+Math.imul(T,pt)|0)|0)+((8191&(r=(r=r+Math.imul(T,gt)|0)+Math.imul(O,pt)|0))<<13)|0;c=((o=o+Math.imul(O,gt)|0)+(r>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(H,lt),r=(r=Math.imul(H,dt))+Math.imul(j,lt)|0,o=Math.imul(j,dt);var Ot=(c+(n=n+Math.imul(R,pt)|0)|0)+((8191&(r=(r=r+Math.imul(R,gt)|0)+Math.imul(z,pt)|0))<<13)|0;c=((o=o+Math.imul(z,gt)|0)+(r>>>13)|0)+(Ot>>>26)|0,Ot&=67108863;var Pt=(c+(n=Math.imul(H,pt))|0)+((8191&(r=(r=Math.imul(H,gt))+Math.imul(j,pt)|0))<<13)|0;return c=((o=Math.imul(j,gt))+(r>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,u[0]=At,u[1]=mt,u[2]=vt,u[3]=bt,u[4]=yt,u[5]=wt,u[6]=Ct,u[7]=xt,u[8]=kt,u[9]=_t,u[10]=Mt,u[11]=Bt,u[12]=Et,u[13]=It,u[14]=St,u[15]=Dt,u[16]=Tt,u[17]=Ot,u[18]=Pt,0!==c&&(u[19]=c,i.length++),i};function g(t,e,i){return(new A).mulp(t,e,i)}function A(t,e){this.x=t,this.y=e}Math.imul||(p=f),o.prototype.mulTo=function(t,e){var i,n=this.length+t.length;return i=10===this.length&&10===t.length?p(this,t,e):n<63?f(this,t,e):n<1024?function(t,e,i){i.negative=e.negative^t.negative,i.length=t.length+e.length;for(var n=0,r=0,o=0;o>>26)|0)>>>26,s&=67108863}i.words[o]=a,n=s,s=r}return 0!==n?i.words[o]=n:i.length--,i.strip()}(this,t,e):g(this,t,e),i},A.prototype.makeRBT=function(t){for(var e=new Array(t),i=o.prototype._countBits(t)-1,n=0;n>=1;return n},A.prototype.permute=function(t,e,i,n,r,o){for(var s=0;s>>=1)r++;return 1<>>=13,i[2*s+1]=8191&o,o>>>=13;for(s=2*e;s>=26,e+=r/67108864|0,e+=o>>>26,this.words[i]=67108863&o}return 0!==e&&(this.words[i]=e,this.length++),this.length=0===t?1:this.length,this},o.prototype.muln=function(t){return this.clone().imuln(t)},o.prototype.sqr=function(){return this.mul(this)},o.prototype.isqr=function(){return this.imul(this.clone())},o.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),i=0;i>>r}return e}(t);if(0===e.length)return new o(1);for(var i=this,n=0;n=0);var e,i=t%26,r=(t-i)/26,o=67108863>>>26-i<<26-i;if(0!==i){var s=0;for(e=0;e>>26-i}s&&(this.words[e]=s,this.length++)}if(0!==r){for(e=this.length-1;e>=0;e--)this.words[e+r]=this.words[e];for(e=0;e=0),r=e?(e-e%26)/26:0;var o=t%26,s=Math.min((t-o)/26,this.length),a=67108863^67108863>>>o<s)for(this.length-=s,c=0;c=0&&(0!==h||c>=r);c--){var l=0|this.words[c];this.words[c]=h<<26-o|l>>>o,h=l&a}return u&&0!==h&&(u.words[u.length++]=h),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},o.prototype.ishrn=function(t,e,i){return n(0===this.negative),this.iushrn(t,e,i)},o.prototype.shln=function(t){return this.clone().ishln(t)},o.prototype.ushln=function(t){return this.clone().iushln(t)},o.prototype.shrn=function(t){return this.clone().ishrn(t)},o.prototype.ushrn=function(t){return this.clone().iushrn(t)},o.prototype.testn=function(t){n("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26,r=1<=0);var e=t%26,i=(t-e)/26;if(n(0===this.negative,"imaskn works only with positive numbers"),this.length<=i)return this;if(0!==e&&i++,this.length=Math.min(i,this.length),0!==e){var r=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},o.prototype.isubn=function(t){if(n("number"==typeof t),n(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(u/67108864|0),this.words[r+i]=67108863&o}for(;r>26,this.words[r+i]=67108863&o;if(0===a)return this.strip();for(n(-1===a),a=0,r=0;r>26,this.words[r]=67108863&o;return this.negative=1,this.strip()},o.prototype._wordDiv=function(t,e){var i=(this.length,t.length),n=this.clone(),r=t,s=0|r.words[r.length-1];0!=(i=26-this._countBits(s))&&(r=r.ushln(i),n.iushln(i),s=0|r.words[r.length-1]);var a,u=n.length-r.length;if("mod"!==e){(a=new o(null)).length=u+1,a.words=new Array(a.length);for(var c=0;c=0;l--){var d=67108864*(0|n.words[r.length+l])+(0|n.words[r.length+l-1]);for(d=Math.min(d/s|0,67108863),n._ishlnsubmul(r,d,l);0!==n.negative;)d--,n.negative=0,n._ishlnsubmul(r,1,l),n.isZero()||(n.negative^=1);a&&(a.words[l]=d)}return a&&a.strip(),n.strip(),"div"!==e&&0!==i&&n.iushrn(i),{div:a||null,mod:n}},o.prototype.divmod=function(t,e,i){return n(!t.isZero()),this.isZero()?{div:new o(0),mod:new o(0)}:0!==this.negative&&0===t.negative?(a=this.neg().divmod(t,e),"mod"!==e&&(r=a.div.neg()),"div"!==e&&(s=a.mod.neg(),i&&0!==s.negative&&s.iadd(t)),{div:r,mod:s}):0===this.negative&&0!==t.negative?(a=this.divmod(t.neg(),e),"mod"!==e&&(r=a.div.neg()),{div:r,mod:a.mod}):0!==(this.negative&t.negative)?(a=this.neg().divmod(t.neg(),e),"div"!==e&&(s=a.mod.neg(),i&&0!==s.negative&&s.isub(t)),{div:a.div,mod:s}):t.length>this.length||this.cmp(t)<0?{div:new o(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new o(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new o(this.modn(t.words[0]))}:this._wordDiv(t,e);var r,s,a},o.prototype.div=function(t){return this.divmod(t,"div",!1).div},o.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},o.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},o.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var i=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),r=t.andln(1),o=i.cmp(n);return o<0||1===r&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},o.prototype.modn=function(t){n(t<=67108863);for(var e=(1<<26)%t,i=0,r=this.length-1;r>=0;r--)i=(e*i+(0|this.words[r]))%t;return i},o.prototype.idivn=function(t){n(t<=67108863);for(var e=0,i=this.length-1;i>=0;i--){var r=(0|this.words[i])+67108864*e;this.words[i]=r/t|0,e=r%t}return this.strip()},o.prototype.divn=function(t){return this.clone().idivn(t)},o.prototype.egcd=function(t){n(0===t.negative),n(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var r=new o(1),s=new o(0),a=new o(0),u=new o(1),c=0;e.isEven()&&i.isEven();)e.iushrn(1),i.iushrn(1),++c;for(var h=i.clone(),l=e.clone();!e.isZero();){for(var d=0,f=1;0===(e.words[0]&f)&&d<26;++d,f<<=1);if(d>0)for(e.iushrn(d);d-- >0;)(r.isOdd()||s.isOdd())&&(r.iadd(h),s.isub(l)),r.iushrn(1),s.iushrn(1);for(var p=0,g=1;0===(i.words[0]&g)&&p<26;++p,g<<=1);if(p>0)for(i.iushrn(p);p-- >0;)(a.isOdd()||u.isOdd())&&(a.iadd(h),u.isub(l)),a.iushrn(1),u.iushrn(1);e.cmp(i)>=0?(e.isub(i),r.isub(a),s.isub(u)):(i.isub(e),a.isub(r),u.isub(s))}return{a,b:u,gcd:i.iushln(c)}},o.prototype._invmp=function(t){n(0===t.negative),n(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var r,s=new o(1),a=new o(0),u=i.clone();e.cmpn(1)>0&&i.cmpn(1)>0;){for(var c=0,h=1;0===(e.words[0]&h)&&c<26;++c,h<<=1);if(c>0)for(e.iushrn(c);c-- >0;)s.isOdd()&&s.iadd(u),s.iushrn(1);for(var l=0,d=1;0===(i.words[0]&d)&&l<26;++l,d<<=1);if(l>0)for(i.iushrn(l);l-- >0;)a.isOdd()&&a.iadd(u),a.iushrn(1);e.cmp(i)>=0?(e.isub(i),s.isub(a)):(i.isub(e),a.isub(s))}return(r=0===e.cmpn(1)?s:a).cmpn(0)<0&&r.iadd(t),r},o.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),i=t.clone();e.negative=0,i.negative=0;for(var n=0;e.isEven()&&i.isEven();n++)e.iushrn(1),i.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;i.isEven();)i.iushrn(1);var r=e.cmp(i);if(r<0){var o=e;e=i,i=o}else if(0===r||0===i.cmpn(1))break;e.isub(i)}return i.iushln(n)},o.prototype.invm=function(t){return this.egcd(t).a.umod(t)},o.prototype.isEven=function(){return!(1&this.words[0])},o.prototype.isOdd=function(){return!(1&~this.words[0])},o.prototype.andln=function(t){return this.words[0]&t},o.prototype.bincn=function(t){n("number"==typeof t);var e=t%26,i=(t-e)/26,r=1<>>26,a&=67108863,this.words[s]=a}return 0!==o&&(this.words[s]=o,this.length++),this},o.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},o.prototype.cmpn=function(t){var e,i=t<0;if(0!==this.negative&&!i)return-1;if(0===this.negative&&i)return 1;if(this.strip(),this.length>1)e=1;else{i&&(t=-t),n(t<=67108863,"Number is too big");var r=0|this.words[0];e=r===t?0:rt.length)return 1;if(this.length=0;i--){var n=0|this.words[i],r=0|t.words[i];if(n!==r){nr&&(e=1);break}}return e},o.prototype.gtn=function(t){return 1===this.cmpn(t)},o.prototype.gt=function(t){return 1===this.cmp(t)},o.prototype.gten=function(t){return this.cmpn(t)>=0},o.prototype.gte=function(t){return this.cmp(t)>=0},o.prototype.ltn=function(t){return-1===this.cmpn(t)},o.prototype.lt=function(t){return-1===this.cmp(t)},o.prototype.lten=function(t){return this.cmpn(t)<=0},o.prototype.lte=function(t){return this.cmp(t)<=0},o.prototype.eqn=function(t){return 0===this.cmpn(t)},o.prototype.eq=function(t){return 0===this.cmp(t)},o.red=function(t){return new x(t)},o.prototype.toRed=function(t){return n(!this.red,"Already a number in reduction context"),n(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},o.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},o.prototype._forceRed=function(t){return this.red=t,this},o.prototype.forceRed=function(t){return n(!this.red,"Already a number in reduction context"),this._forceRed(t)},o.prototype.redAdd=function(t){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},o.prototype.redIAdd=function(t){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},o.prototype.redSub=function(t){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},o.prototype.redISub=function(t){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},o.prototype.redShl=function(t){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},o.prototype.redMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},o.prototype.redIMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},o.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},o.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},o.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},o.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},o.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},o.prototype.redPow=function(t){return n(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var m={k256:null,p224:null,p192:null,p25519:null};function v(t,e){this.name=t,this.p=new o(e,16),this.n=this.p.bitLength(),this.k=new o(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function b(){v.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function y(){v.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function w(){v.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function C(){v.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function x(t){if("string"==typeof t){var e=o._prime(t);this.m=e.p,this.prime=e}else n(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function k(t){x.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new o(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}v.prototype._tmp=function(){var t=new o(null);return t.words=new Array(Math.ceil(this.n/13)),t},v.prototype.ireduce=function(t){var e,i=t;do{this.split(i,this.tmp),e=(i=(i=this.imulK(i)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e0?i.isub(this.p):void 0!==i.strip?i.strip():i._strip(),i},v.prototype.split=function(t,e){t.iushrn(this.n,0,e)},v.prototype.imulK=function(t){return t.imul(this.k)},r(b,v),b.prototype.split=function(t,e){for(var i=4194303,n=Math.min(t.length,9),r=0;r>>22,o=s}o>>>=22,t.words[r-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},b.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,i=0;i>>=26,t.words[i]=r,e=n}return 0!==e&&(t.words[t.length++]=e),t},o._prime=function(t){if(m[t])return m[t];var e;if("k256"===t)e=new b;else if("p224"===t)e=new y;else if("p192"===t)e=new w;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new C}return m[t]=e,e},x.prototype._verify1=function(t){n(0===t.negative,"red works only with positives"),n(t.red,"red works only with red numbers")},x.prototype._verify2=function(t,e){n(0===(t.negative|e.negative),"red works only with positives"),n(t.red&&t.red===e.red,"red works only with red numbers")},x.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},x.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},x.prototype.add=function(t,e){this._verify2(t,e);var i=t.add(e);return i.cmp(this.m)>=0&&i.isub(this.m),i._forceRed(this)},x.prototype.iadd=function(t,e){this._verify2(t,e);var i=t.iadd(e);return i.cmp(this.m)>=0&&i.isub(this.m),i},x.prototype.sub=function(t,e){this._verify2(t,e);var i=t.sub(e);return i.cmpn(0)<0&&i.iadd(this.m),i._forceRed(this)},x.prototype.isub=function(t,e){this._verify2(t,e);var i=t.isub(e);return i.cmpn(0)<0&&i.iadd(this.m),i},x.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},x.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},x.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},x.prototype.isqr=function(t){return this.imul(t,t.clone())},x.prototype.sqr=function(t){return this.mul(t,t)},x.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(n(e%2==1),3===e){var i=this.m.add(new o(1)).iushrn(2);return this.pow(t,i)}for(var r=this.m.subn(1),s=0;!r.isZero()&&0===r.andln(1);)s++,r.iushrn(1);n(!r.isZero());var a=new o(1).toRed(this),u=a.redNeg(),c=this.m.subn(1).iushrn(1),h=this.m.bitLength();for(h=new o(2*h*h).toRed(this);0!==this.pow(h,c).cmp(u);)h.redIAdd(u);for(var l=this.pow(h,r),d=this.pow(t,r.addn(1).iushrn(1)),f=this.pow(t,r),p=s;0!==f.cmp(a);){for(var g=f,A=0;0!==g.cmp(a);A++)g=g.redSqr();n(A=0;n--){for(var c=e.words[n],h=u-1;h>=0;h--){var l=c>>h&1;r!==i[0]&&(r=this.sqr(r)),0!==l||0!==s?(s<<=1,s|=l,(4===++a||0===n&&0===h)&&(r=this.mul(r,i[s]),a=0,s=0)):a=0}u=26}return r},x.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},x.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},o.mont=function(t){return new k(t)},r(k,x),k.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},k.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},k.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var i=t.imul(e),n=i.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),r=i.isub(n).iushrn(this.shift),o=r;return r.cmp(this.m)>=0?o=r.isub(this.m):r.cmpn(0)<0&&(o=r.iadd(this.m)),o._forceRed(this)},k.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new o(0)._forceRed(this);var i=t.mul(e),n=i.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),r=i.isub(n).iushrn(this.shift),s=r;return r.cmp(this.m)>=0?s=r.isub(this.m):r.cmpn(0)<0&&(s=r.iadd(this.m)),s._forceRed(this)},k.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(t=i.nmd(t),this)},9854(e,i,r){"use strict";var o={};r.r(o),r.d(o,{clearIconCache:()=>Ue,getIconUrl:()=>je});var s={};r.r(s),r.d(s,{deleteKey:()=>bi,getApps:()=>gi,getKeys:()=>Ai,getValue:()=>mi,setValue:()=>vi});var a={};r.r(a),r.d(a,{formatLinksPlain:()=>Ei,formatLinksRich:()=>Bi,plainToRich:()=>_i,richToPlain:()=>Mi});var u=r(21777),c=r(19051),h=r(63814),l=r(86860),d=r(53334),f=r(74692),p=r.n(f),g=r(95093),A=r.n(g),m=r(85471),v=r(9165),b=r(80474),y=r(46855),w=r(57505),C=r(24764),x=r(74095),k=r(42507),_=r(2769),M=r(6695),B=r(88289),E=r(82182),I=r(23739),S=r(57908),D=r(71711),T=r(41944);const O={name:"ContactMenuEntry",components:{NcActionLink:S.A,NcActionText:D.A,NcActionButton:w.A,NcActions:C.A,NcAvatar:T.A,NcIconSvgWrapper:M.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,I.N)(this.contact)},preloadedUserStatus(){if(this.contact.status)return{status:this.contact.status,message:this.contact.statusMessage,icon:this.contact.statusIcon}}}};var P=r(85072),R=r.n(P),z=r(97825),N=r.n(z),H=r(77659),j=r.n(H),L=r(55056),U=r.n(L),q=r(10540),F=r.n(q),W=r(41113),Y=r.n(W),Q=r(89004),G={};G.styleTagTransform=Y(),G.setAttributes=U(),G.insert=j().bind(null,"head"),G.domAPI=N(),G.insertStyleElement=F(),R()(Q.A,G),Q.A&&Q.A.locals&&Q.A.locals;var V=r(14486);const K=(0,V.A)(O,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(i,n){return["#"!==i.hyperlink?e("NcActionLink",{key:`${n}-link`,staticClass:"other-actions",attrs:{href:i.hyperlink},scopedSlots:t._u([{key:"icon",fn:function(){return[e("img",{staticClass:"contact__action__icon",attrs:{"aria-hidden":"true",src:i.icon}})]},proxy:!0}],null,!0)},[t._v("\n\t\t\t\t"+t._s(i.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:i.icon}})]},proxy:!0}],null,!0)},[t._v("\n\t\t\t\t"+t._s(i.title)+"\n\t\t\t")])]}),t._v(" "),t._l(t.jsActions,function(i){return e("NcActionButton",{key:i.id,staticClass:"other-actions",attrs:{"close-after-click":!0},on:{click:function(e){return i.callback(t.contact)}},scopedSlots:t._u([{key:"icon",fn:function(){return[e("NcIconSvgWrapper",{attrs:{svg:i.iconSvg(t.contact)}})]},proxy:!0}],null,!0)},[t._v("\n\t\t\t"+t._s(i.displayName(t.contact))+"\n\t\t")])})],2):t._e()],1)},[],!1,null,"56b7b257",null).exports;var X=r(35947);const Z=null===(J=(0,u.HW)())?(0,X.YK)().setApp("core").build():(0,X.YK)().setApp("core").setUid(J.uid).build();var J;(0,X.YK)().setApp("unified-search").detectUser().build();const $=[],tt=(0,m.pM)({__name:"ContactsMenu",setup(t){const e=(0,b.c0)("core:contacts").persist(!0).clearOnLogout(!0).build(),i=(0,u.HW)(),n=(0,h.Jv)("/apps/contacts"),r=(0,h.Jv)("/settings/apps/social/contacts"),o=(0,m.KR)(),s=(0,m.KR)(window.OC?.ContactsMenu?.actions||[]),a=(0,m.KR)(!1),l=(0,m.KR)([]),f=(0,m.KR)(),p=(0,m.KR)(!1),g=(0,m.KR)(""),A=(0,m.KR)([]),I=(0,m.KR)("$_all_$"),S=(0,m.EW)(()=>A.value.find(t=>t.teamId===I.value)?.displayName);async function D(t){f.value=""===t?(0,d.t)("core","Loading your contacts …"):(0,d.t)("core","Looking for {term} …",{term:t}),p.value=!1;try{const{data:e}=await c.Ay.post((0,h.Jv)("/contactsmenu/contacts"),{filter:t,teamId:"$_all_$"!==I.value?I.value:void 0});l.value=e.contacts,a.value=e.contactsAppEnabled,f.value=void 0}catch(e){Z.error("could not load contacts",{error:e,searchTerm:t}),p.value=!0}}(0,m.sV)(async()=>{const t=e.getItem("core:contacts:team");if(t&&(I.value=JSON.parse(t)),0===$.length)try{const{data:t}=await c.Ay.get((0,h.Jv)("/contactsmenu/teams"));$.push(...t)}catch(t){Z.error("could not load user teams",{error:t})}A.value=[...$]}),(0,m.wB)(I,()=>{e.setItem("core:contacts:team",JSON.stringify(I.value)),D(g.value)});const T=(0,y.A)(function(){D(g.value)},500);function O(){(0,m.dY)(()=>{o.value?.focus(),o.value?.select()})}return{__sfc:!0,userTeams:$,storage:e,user:i,contactsAppURL:n,contactsAppMgmtURL:r,contactsMenuInput:o,actions:s,contactsAppEnabled:a,contacts:l,loadingText:f,hasError:p,searchTerm:g,teams:A,selectedTeam:I,selectedTeamName:S,onOpened:async function(){await D("")},getContacts:D,onInputDebounced:T,onReset:function(){g.value="",l.value=[],O()},focusInput:O,mdiAccountGroupOutline:v.dgQ,mdiContacts:v.aB4,mdiMagnify:v.U4M,t:d.t,NcActionButton:w.A,NcActions:C.A,NcButton:x.A,NcEmptyContent:k.A,NcHeaderMenu:_.A,NcIconSvgWrapper:M.A,NcLoadingIcon:B.A,NcTextField:E.A,ContactMenuEntry:K}}}),et=tt;var it=r(32351),nt={};nt.styleTagTransform=Y(),nt.setAttributes=U(),nt.insert=j().bind(null,"head"),nt.domAPI=N(),nt.insertStyleElement=F(),R()(it.A,nt),it.A&&it.A.locals&&it.A.locals;const rt=(0,V.A)(et,function(){var t=this,e=t._self._c,i=t._self._setupProxy;return e(i.NcHeaderMenu,{staticClass:"contactsmenu",attrs:{id:"contactsmenu","aria-label":i.t("core","Search contacts"),"exclude-click-outside-selectors":".v-popper__popper"},on:{open:i.onOpened},scopedSlots:t._u([{key:"trigger",fn:function(){return[e(i.NcIconSvgWrapper,{staticClass:"contactsmenu__trigger-icon",attrs:{path:i.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(i.NcActions,{attrs:{"force-menu":"","aria-label":i.t("core","Filter by team"),variant:"tertiary"},scopedSlots:t._u([{key:"icon",fn:function(){return[e(i.NcIconSvgWrapper,{attrs:{path:i.mdiAccountGroupOutline}})]},proxy:!0},{key:"default",fn:function(){return[e(i.NcActionButton,{attrs:{modelValue:i.selectedTeam,value:"$_all_$",type:"radio"},on:{"update:modelValue":function(t){i.selectedTeam=t},"update:model-value":function(t){i.selectedTeam=t}}},[t._v("\n\t\t\t\t\t\t\t"+t._s(i.t("core","All teams"))+"\n\t\t\t\t\t\t")]),t._v(" "),t._l(i.teams,function(n){return e(i.NcActionButton,{key:n.teamId,attrs:{modelValue:i.selectedTeam,value:n.teamId,type:"radio"},on:{"update:modelValue":function(t){i.selectedTeam=t},"update:model-value":function(t){i.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(i.NcTextField,{ref:"contactsMenuInput",staticClass:"contactsmenu__menu__search",attrs:{id:"contactsmenu__menu__search","trailing-button-icon":"close",label:i.selectedTeamName?i.t("core","Search contacts in team {team}",{team:i.selectedTeamName}):i.t("core","Search contacts …"),"trailing-button-label":i.t("core","Reset search"),"show-trailing-button":""!==i.searchTerm,type:"search"},on:{input:i.onInputDebounced,"trailing-button-click":i.onReset},model:{value:i.searchTerm,callback:function(t){i.searchTerm=t},expression:"searchTerm"}})],1),t._v(" "),t._l(i.actions,function(n){return e(i.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(i.NcIconSvgWrapper,{attrs:{svg:n.icon}})]},proxy:!0}],null,!0)})})],2),t._v(" "),i.hasError?e(i.NcEmptyContent,{attrs:{name:i.t("core","Could not load your contacts")},scopedSlots:t._u([{key:"icon",fn:function(){return[e(i.NcIconSvgWrapper,{attrs:{path:i.mdiMagnify}})]},proxy:!0}],null,!1,1853740774)}):i.loadingText?e(i.NcEmptyContent,{attrs:{name:i.loadingText},scopedSlots:t._u([{key:"icon",fn:function(){return[e(i.NcLoadingIcon)]},proxy:!0}])}):0===i.contacts.length?e(i.NcEmptyContent,{attrs:{name:i.t("core","No contacts found")},scopedSlots:t._u([{key:"icon",fn:function(){return[e(i.NcIconSvgWrapper,{attrs:{path:i.mdiMagnify}})]},proxy:!0}])}):e("div",{staticClass:"contactsmenu__menu__content"},[e("div",{attrs:{id:"contactsmenu-contacts"}},[e("ul",{attrs:{"aria-label":i.t("core","Contacts list")}},t._l(i.contacts,function(t){return e(i.ContactMenuEntry,{key:t.id,attrs:{contact:t}})}),1)]),t._v(" "),i.contactsAppEnabled?e("div",{staticClass:"contactsmenu__menu__content__footer"},[e(i.NcButton,{attrs:{variant:"tertiary",href:i.contactsAppURL}},[t._v("\n\t\t\t\t\t"+t._s(i.t("core","Show all contacts"))+"\n\t\t\t\t")])],1):i.user.isAdmin?e("div",{staticClass:"contactsmenu__menu__content__footer"},[e(i.NcButton,{attrs:{variant:"tertiary",href:i.contactsAppMgmtURL}},[t._v("\n\t\t\t\t\t"+t._s(i.t("core","Install the Contacts app"))+"\n\t\t\t\t")])],1):t._e()])],1)])},[],!1,null,"253ecd69",null).exports;class ot{constructor(){(function(t,e,i){(e=function(t){var e=function(t){if("object"!=typeof t||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var i=e.call(t,"string");if("object"!=typeof i)return i;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:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i})(this,"_actions",void 0),this._actions=[]}get actions(){return this._actions}addAction(t){this._actions.push(t)}}var st=r(61338),at=r(81222),ut=r(97786);const ct={name:"CircleOutlineIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},ht=(0,V.A)(ct,function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon circle-outline-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,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])},[],!1,null,null,null).exports,lt=(0,m.pM)({__name:"AppMenuIcon",props:{app:null},setup(t){const e=t,i=(0,m.EW)(()=>e.app.unread?void 0:"true"),n=(0,m.EW)(()=>{if(e.app.unread)return`${e.app.name} (${(0,d.n)("core","{count} notification","{count} notifications",e.app.unread,{count:e.app.unread})})`});return{__sfc:!0,props:e,ariaHidden:i,ariaLabel:n,IconDot:ht}}});var dt=r(65151),ft={};ft.styleTagTransform=Y(),ft.setAttributes=U(),ft.insert=j().bind(null,"head"),ft.domAPI=N(),ft.insertStyleElement=F(),R()(dt.A,ft),dt.A&&dt.A.locals&&dt.A.locals;const pt=(0,V.A)(lt,function(){var t=this,e=t._self._c,i=t._self._setupProxy;return e("span",{staticClass:"app-menu-icon",attrs:{role:"img","aria-hidden":i.ariaHidden,"aria-label":i.ariaLabel}},[e("img",{staticClass:"app-menu-icon__icon",attrs:{src:t.app.icon,alt:""}}),t._v(" "),t.app.unread?e(i.IconDot,{staticClass:"app-menu-icon__unread",attrs:{size:10}}):t._e()],1)},[],!1,null,"81f2fa84",null).exports,gt=(0,m.pM)({__name:"AppMenuEntry",props:{app:null},setup(t){const e=t,i=(0,m.KR)(),n=(0,m.KR)(),r=(0,m.KR)(!1);function o(){const t=i.value.clientWidth;r.value=t-.5*e.app.name.lengthe.app.name,o),{__sfc:!0,props:e,containerElement:i,labelElement:n,needsSpace:r,calculateSize:o,AppMenuIcon:pt}}});var At=r(55720),mt={};mt.styleTagTransform=Y(),mt.setAttributes=U(),mt.insert=j().bind(null,"head"),mt.domAPI=N(),mt.insertStyleElement=F(),R()(At.A,mt),At.A&&At.A.locals&&At.A.locals;var vt=r(80960),bt={};bt.styleTagTransform=Y(),bt.setAttributes=U(),bt.insert=j().bind(null,"head"),bt.domAPI=N(),bt.insertStyleElement=F(),R()(vt.A,bt),vt.A&&vt.A.locals&&vt.A.locals;const yt=(0,V.A)(gt,function(){var t=this,e=t._self._c,i=t._self._setupProxy;return e("li",{ref:"containerElement",staticClass:"app-menu-entry",class:{"app-menu-entry--active":t.app.active,"app-menu-entry--truncated":i.needsSpace}},[e("a",{staticClass:"app-menu-entry__link",attrs:{href:t.app.href,title:t.app.name,"aria-current":!!t.app.active&&"page",target:t.app.target?"_blank":void 0,rel:t.app.target?"noopener noreferrer":void 0}},[e(i.AppMenuIcon,{staticClass:"app-menu-entry__icon",attrs:{app:t.app}}),t._v(" "),e("span",{ref:"labelElement",staticClass:"app-menu-entry__label"},[t._v("\n\t\t\t"+t._s(t.app.name)+"\n\t\t")])],1)])},[],!1,null,"7faa0c46",null).exports,wt=(0,m.pM)({name:"AppMenu",components:{AppMenuEntry:yt,NcActions:C.A,NcActionLink:S.A},setup(){const t=(0,m.KR)(),{width:e}=(0,ut.Lhy)(t);return{t:d.t,n:d.n,appMenu:t,appMenuWidth:e}},data:()=>({appList:(0,at.C)("core","apps",[])}),computed:{appLimit(){const t=Math.floor(this.appMenuWidth/50);return te===t);i?this.$set(i,"unread",e):Z.warn(`Could not find app "${t}" for setting navigation count`)},setApps({apps:t}){this.appList=t}}}),Ct=wt;var xt=r(75882),kt={};kt.styleTagTransform=Y(),kt.setAttributes=U(),kt.insert=j().bind(null,"head"),kt.domAPI=N(),kt.insertStyleElement=F(),R()(xt.A,kt),xt.A&&xt.A.locals&&xt.A.locals;const _t=(0,V.A)(Ct,function(){var t=this,e=t._self._c;return t._self._setupProxy,e("nav",{ref:"appMenu",staticClass:"app-menu",attrs:{"aria-label":t.t("core","Applications menu")}},[e("ul",{staticClass:"app-menu__list",attrs:{"aria-label":t.t("core","Apps")}},t._l(t.mainAppList,function(t){return e("AppMenuEntry",{key:t.id,attrs:{app:t}})}),1),t._v(" "),e("NcActions",{staticClass:"app-menu__overflow",attrs:{"aria-label":t.t("core","More apps")}},t._l(t.popoverAppList,function(i){return e("NcActionLink",{key:i.id,staticClass:"app-menu__overflow-entry",attrs:{"aria-current":!!i.active&&"page",href:i.href,icon:i.icon}},[t._v("\n\t\t\t"+t._s(i.name)+"\n\t\t")])}),1)],1)},[],!1,null,"141e7efc",null).exports;var Mt=r(87485),Bt=r(1522);const Et=(0,at.C)("core","versionHash",""),It=(0,m.pM)({name:"AccountMenuEntry",components:{NcListItem:Bt.A,NcLoadingIcon:B.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=${Et}`}},methods:{onClick(t){this.$emit("click",t),t.defaultPrevented||(this.loading=!0)}}});var St=r(51286),Dt={};Dt.styleTagTransform=Y(),Dt.setAttributes=U(),Dt.insert=j().bind(null,"head"),Dt.domAPI=N(),Dt.insertStyleElement=F(),R()(St.A,Dt),St.A&&St.A.locals&&St.A.locals;const Tt=(0,V.A)(It,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 Ot=r(68149),Pt=r(98469);const Rt={name:"QrcodeScanIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},zt=(0,V.A)(Rt,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 Nt=r(17816),Ht=r.n(Nt),jt=r(55581),Lt=r(94219);const Ut=(0,m.pM)({__name:"AccountQRLoginDialog",props:{data:null},emits:["close"],setup(t,{emit:e}){const i=t,n=window.OC.theme.productName,r=[{label:(0,d.t)("spreed","Done"),variant:"primary",callback:()=>{}}],o=3===(i.data?.deviceToken?.type??1),s=(0,m.EW)(()=>{const t=i.data?.loginName??"",e=i.data?.token??"";return`nc://${o?"onetime-login":"login"}/user:${t}&password:${e}&server:${(0,h.$_)()}`}),a=(i.data?.deviceToken?.lastActivity?1e3*i.data.deviceToken.lastActivity:Date.now())+12e4,u=setTimeout(()=>{l("expired")},a-Date.now()),c=(0,jt.SX)(a);function l(t){clearTimeout(u),e("close",t)}return{__sfc:!0,props:i,emit:e,productName:n,buttons:r,isOneTimeToken:o,qrUrl:s,expirationTimestamp:a,expireTimeout:u,timeCountdown:c,onClosing:l,QR:Ht(),t:d.t,NcDialog:Lt.A}}}),qt=Ut;var Ft=r(35644),Wt={};Wt.styleTagTransform=Y(),Wt.setAttributes=U(),Wt.insert=j().bind(null,"head"),Wt.domAPI=N(),Wt.insertStyleElement=F(),R()(Ft.A,Wt),Ft.A&&Ft.A.locals&&Ft.A.locals;const Yt=(0,V.A)(qt,function(){var t=this,e=t._self._c,i=t._self._setupProxy;return e(i.NcDialog,{attrs:{name:i.t("core","Scan QR code to log in"),buttons:i.buttons},on:{closing:i.onClosing}},[e("div",{staticClass:"qr-login__content"},[e("p",{staticClass:"qr-login__description"},[t._v("\n\t\t\t"+t._s(i.t("core","Use {productName} mobile client you want to connect to scan the code",{productName:i.productName}))+"\n\t\t")]),t._v(" "),e(i.QR,{attrs:{value:i.qrUrl}}),t._v(" "),i.isOneTimeToken?[t._v("\n\t\t\t"+t._s(i.t("core","Code will expire {timeCountdown} or after use",{timeCountdown:i.timeCountdown}))+"\n\t\t")]:t._e()],2)])},[],!1,null,null,null).exports;(0,Ot.IF)(c.Ay);const{profileEnabled:Qt}=(0,at.C)("user_status","profileEnabled",{profileEnabled:!1}),Gt=(0,Mt.F)().core?.["can-create-app-token"]??!1,Vt=(0,m.pM)({name:"AccountMenuProfileEntry",components:{IconQrcodeScan:zt,NcButton:x.A,NcListItem:Bt.A,NcLoadingIcon:B.A},props:{id:{type:String,required:!0},name:{type:String,required:!0},href:{type:String,required:!0},active:{type:Boolean,required:!0}},setup:()=>({canCreateAppToken:Gt,profileEnabled:Qt,displayName:(0,u.HW)().displayName}),data:()=>({loading:!1}),mounted(){(0,st.B1)("settings:profile-enabled:updated",this.handleProfileEnabledUpdate),(0,st.B1)("settings:display-name:updated",this.handleDisplayNameUpdate)},beforeDestroy(){(0,st.al)("settings:profile-enabled:updated",this.handleProfileEnabledUpdate),(0,st.al)("settings:display-name:updated",this.handleDisplayNameUpdate)},methods:{handleClick(){this.profileEnabled&&(this.loading=!0)},async handleQrCodeClick(){const{data:t}=await c.Ay.post((0,h.Jv)("/settings/personal/authtokens"),{qrcodeLogin:!0},{confirmPassword:Ot.mH.Strict});await(0,Pt.S)(Yt,{data:t})},handleProfileEnabledUpdate(t){this.profileEnabled=t},handleDisplayNameUpdate(t){this.displayName=t}}}),Kt=Vt,Xt=(0,V.A)(Kt,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:{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,Zt=[{type:"online",label:(0,d.t)("user_status","Online")},{type:"away",label:(0,d.t)("user_status","Away")},{type:"busy",label:(0,d.t)("user_status","Busy")},{type:"dnd",label:(0,d.t)("user_status","Do not disturb"),subline:(0,d.t)("user_status","Mute all notifications")},{type:"invisible",label:(0,d.t)("user_status","Invisible"),subline:(0,d.t)("user_status","Appear offline")}],Jt=(0,m.pM)({name:"AccountMenu",components:{AccountMenuEntry:Tt,AccountMenuProfileEntry:Xt,NcAvatar:T.A,NcHeaderMenu:_.A},setup(){const t=(0,at.C)("core","settingsNavEntries",{}),{profile:e,...i}=t;return{currentDisplayName:(0,u.HW)()?.displayName??(0,u.HW)().uid,currentUserId:(0,u.HW)().uid,profileEntry:e,otherEntries:i,t:d.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,d.t)("core","Avatar of {displayName}",{displayName:this.currentDisplayName}),...Object.values(this.translatedUserStatus).filter(Boolean)].join(" — ")}},async created(){if(!(0,Mt.F)()?.user_status?.enabled)return;const t=(0,h.KT)("/apps/user_status/api/v1/user_status");try{const e=await c.Ay.get(t),{status:i,icon:n,message:r}=e.data.ocs.data;this.userStatus={status:i,icon:n,message:r}}catch(t){Z.error("Failed to load user status",{error:t})}this.showUserStatus=!0},mounted(){(0,st.B1)("user_status:status.updated",this.handleUserStatusUpdated),(0,st.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(Zt.map(({type:t,label:e})=>[t,e]));return e[t]?e[t]:t}}});var $t=r(33096),te={};te.styleTagTransform=Y(),te.setAttributes=U(),te.insert=j().bind(null,"head"),te.domAPI=N(),te.insertStyleElement=F(),R()($t.A,te),$t.A&&$t.A.locals&&$t.A.locals;const ee=(0,V.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;var ie=r(71225);const ne=!!window._oc_isadmin,re=window.oc_appconfig||{};let oe=!1;const se={enableDynamicSlideToggle(){oe=!0},showAppSidebar:function(t){(t||p()("#app-sidebar")).removeClass("disappear").show(),p()("#app-content").trigger(new(p().Event)("appresized"))},hideAppSidebar:function(t){(t||p()("#app-sidebar")).hide().addClass("disappear"),p()("#app-content").trigger(new(p().Event)("appresized"))}},ae=se,ue=void 0!==window._oc_appswebroots&&window._oc_appswebroots;var ce=r(21391),he=r.n(ce),le=r(78112);const de={create:"POST",update:"PROPPATCH",patch:"PROPPATCH",delete:"DELETE",read:"PROPFIND"};function fe(t,e){if(l.default.isArray(t))return l.default.map(t,function(t){return fe(t,e)});const i={href:t.href};return l.default.each(t.propStat,function(t){if("HTTP/1.1 200 OK"===t.status)for(const n in t.properties){let r=n;n in e&&(r=e[n]),i[r]=t.properties[n]}}),i.id||(i.id=pe(i.href)),i}function pe(t){const e=t.indexOf("?");e>0&&(t=t.substr(0,e));const i=t.split("/");let n;do{n=i[i.length-1],i.pop()}while(!n&&i.length>0);return n}function ge(t){return t>=200&&t<=299}function Ae(t,e,i,n){return t.propPatch(e.url,function(t,e){const i={};let n;for(n in t){let r=e[n],o=t[n];r||(Z.warn('No matching DAV property for property "'+n),r=n),(l.default.isBoolean(o)||l.default.isNumber(o))&&(o=""+o),i[r]=o}return i}(i.changed,e.davProperties),n).then(function(t){ge(t.status)?l.default.isFunction(e.success)&&e.success(i.toJSON()):l.default.isFunction(e.error)&&e.error(t)})}const me=he().noConflict();Object.assign(me,{davCall:function(t,e){const i=new le.dav.Client({baseUrl:t.url,xmlNamespaces:l.default.extend({"DAV:":"d","http://owncloud.org/ns":"oc"},t.xmlNamespaces||{})});i.resolveUrl=function(){return t.url};const n=l.default.extend({"X-Requested-With":"XMLHttpRequest",requesttoken:OC.requestToken},t.headers);return"PROPFIND"===t.type?function(t,e,i,n){return t.propFind(e.url,l.default.values(e.davProperties)||[],e.depth,n).then(function(t){if(ge(t.status)){if(l.default.isFunction(e.success)){const i=l.default.invert(e.davProperties),n=fe(t.body,i);e.depth>0&&n.shift(),e.success(n)}}else l.default.isFunction(e.error)&&e.error(t)})}(i,t,0,n):"PROPPATCH"===t.type?Ae(i,t,e,n):"MKCOL"===t.type?function(t,e,i,n){return t.request(e.type,e.url,n,null).then(function(r){ge(r.status)?Ae(t,e,i,n):l.default.isFunction(e.error)&&e.error(r)})}(i,t,e,n):function(t,e,i,n){return n["Content-Type"]="application/json",t.request(e.type,e.url,n,e.data).then(function(t){if(ge(t.status)){if(l.default.isFunction(e.success)){if("PUT"===e.type||"POST"===e.type||"MKCOL"===e.type){const n=t.body||i.toJSON(),r=t.xhr.getResponseHeader("Content-Location");return"POST"===e.type&&r&&(n.id=pe(r)),void e.success(n)}if(207===t.status){const i=l.default.invert(e.davProperties);e.success(fe(t.body,i))}else e.success(t.body)}}else l.default.isFunction(e.error)&&e.error(t)})}(i,t,e,n)},davSync:function(t){return(e,i,n)=>{const r={type:de[e]||e},o=i instanceof t.Collection;if("update"===e&&(i.hasInnerCollection?r.type="MKCOL":(i.usePUT||i.collection&&i.collection.usePUT)&&(r.type="PUT")),n.url||(r.url=l.default.result(i,"url")||function(){throw new Error('A "url" property or function must be specified')}()),null!=n.data||!i||"create"!==e&&"update"!==e&&"patch"!==e||(r.data=JSON.stringify(n.attrs||i.toJSON(n))),"PROPFIND"!==r.type&&(r.processData=!1),"PROPFIND"===r.type||"PROPPATCH"===r.type){let t=i.davProperties;!t&&i.model&&(t=i.model.prototype.davProperties),t&&(l.default.isFunction(t)?r.davProperties=t.call(i):r.davProperties=t),r.davProperties=l.default.extend(r.davProperties||{},n.davProperties),l.default.isUndefined(n.depth)&&(n.depth=o?1:0)}const s=n.error;n.error=function(t,e,i){n.textStatus=e,n.errorThrown=i,s&&s.call(n.context,t,e,i)};const a=n.xhr=t.davCall(l.default.extend(r,n),i);return i.trigger("request",i,a,n),a}}(me)});const ve=me,be=window._oc_config||{},ye=document.getElementsByTagName("head")[0].getAttribute("data-user"),we=document.getElementsByTagName("head")[0].getAttribute("data-user-displayname"),Ce=void 0!==ye&&ye,xe=window._oc_debug;var ke=r(21363),_e=r(85168),Me=r(43627);const Be={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,i,n){this.message(t,e,"alert",Be.OK_BUTTON,i,n)},info:function(t,e,i,n){this.message(t,e,"info",Be.OK_BUTTON,i,n)},confirm:function(t,e,i,n){return this.message(t,e,"notice",Be.YES_NO_BUTTONS,i,n)},confirmDestructive:function(t,e,i=Be.OK_BUTTONS,n=()=>{}){return(new _e.ik).setName(e).setText(t).setButtons(i===Be.OK_BUTTONS?[{label:(0,d.t)("core","Yes"),variant:"error",callback:()=>{n.clicked=!0,n(!0)}}]:Be._getLegacyButtons(i,n)).build().show().then(()=>{n.clicked||n(!1)})},confirmHtml:function(t,e,i){return(new _e.ik).setName(e).setText("").setButtons([{label:(0,d.t)("core","No"),callback:()=>{}},{label:(0,d.t)("core","Yes"),variant:"primary",callback:()=>{i.clicked=!0,i(!0)}}]).build().setHTML(t).show().then(()=>{i.clicked||i(!1)})},prompt:function(t,e,i,n,o,s){return new Promise(n=>{(0,Pt.S)((0,m.$V)(()=>Promise.all([r.e(4208),r.e(9553)]).then(r.bind(r,99553))),{text:t,name:e,callback:i,inputName:o,isPassword:!!s},(...t)=>{i(...t),n()})})},filepicker(t,e,i=!1,n=void 0,r=void 0,o=_e.bh.Choose,s=void 0,a=void 0){const u=(t,e)=>{const n=t=>{const e=t?.root||"";let i=t?.path||"";return i.startsWith(e)&&(i=i.slice(e.length)||"/"),i};return i?i=>t(i.map(n),e):i=>t(n(i[0]),e)},c=(0,_e.a1)(t);o===this.FILEPICKER_TYPE_CUSTOM?(a.buttons||[]).forEach(t=>{c.addButton({callback:u(e,t.type),label:t.text,variant:t.defaultButton?"primary":"secondary"})}):c.setButtonFactory((t,i)=>{const n=[],[r]=t,s=r?.displayname||r?.basename||(0,Me.basename)(i);return o===_e.bh.Choose&&n.push({callback:u(e,_e.bh.Choose),label:r&&!this.multiSelect?(0,d.t)("core","Choose {file}",{file:s}):(0,d.t)("core","Choose"),variant:"primary"}),o!==_e.bh.CopyMove&&o!==_e.bh.Copy||n.push({callback:u(e,_e.bh.Copy),label:s?(0,d.t)("core","Copy to {target}",{target:s}):(0,d.t)("core","Copy"),variant:"primary",icon:ke}),o!==_e.bh.Move&&o!==_e.bh.CopyMove||n.push({callback:u(e,_e.bh.Move),label:s?(0,d.t)("core","Move to {target}",{target:s}):(0,d.t)("core","Move"),variant:o===_e.bh.Move?"primary":"secondary",icon:''}),n}),n&&c.setMimeTypeFilter("string"==typeof n?[n]:n||[]),"function"==typeof a?.filter&&c.setFilter(t=>a.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))),c.allowDirectories(!0===a?.allowDirectoryChooser||n?.includes("httpd/unix-directory")||!1).setMultiSelect(i).startAt(s).build().pick()},message:function(t,e,i,n,r=()=>{},o,s){const a=(new _e.ik).setName(e).setText(s?"":t).setButtons(Be._getLegacyButtons(n,r));switch(i){case"alert":a.setSeverity("warning");break;case"notice":a.setSeverity("info")}const u=a.build();return s&&u.setHTML(t),u.show().then(()=>{r._clicked||r(!1)})},_getLegacyButtons(t,e){const i=[];switch("object"==typeof t?t.type:t){case Be.YES_NO_BUTTONS:i.push({label:t?.cancel??(0,d.t)("core","No"),callback:()=>{e._clicked=!0,e(!1)}}),i.push({label:t?.confirm??(0,d.t)("core","Yes"),variant:"primary",callback:()=>{e._clicked=!0,e(!0)}});break;case Be.OK_BUTTONS:i.push({label:t?.confirm??(0,d.t)("core","OK"),variant:"primary",callback:()=>{e._clicked=!0,e(!0)}});break;default:Z.error("Invalid call to OC.dialogs")}return i},_fileexistsshown:!1,fileexists:function(t,e,i,r){const o=this,s=new(p().Deferred),a=function(e,i,n){const r=e.find(".template").clone().removeClass("template").addClass("conflict"),o=r.find(".original"),s=r.find(".replacement");r.data("data",t),r.find(".filename").text(i.name),o.find(".size").text($e.Util.humanFileSize(i.size)),o.find(".mtime").text($e.Util.formatDate(i.mtime)),n.size&&n.lastModified&&(s.find(".size").text($e.Util.humanFileSize(n.size)),s.find(".mtime").text($e.Util.formatDate(n.lastModified)));let a=i.directory+"/"+i.name;const u={file:a,x:96,y:96,c:i.etag,forceIcon:0};let c=Files.generatePreviewUrl(u);c=c.replace(/'/g,"%27"),o.find(".icon").css({"background-image":"url('"+c+"')"}),function(t){const e=new(p().Deferred),i=t.type&&t.type.split("/").shift();if(window.FileReader&&"image"===i){const i=new FileReader;i.onload=function(t){const i=new Blob([t.target.result]);window.URL=window.URL||window.webkitURL;const n=window.URL.createObjectURL(i),r=new Image;r.src=n,r.onload=function(){const t=function(t){const e=document.createElement("canvas"),i=t.width,n=t.height;let r,o;i>n?(o=0,r=(i-n)/2):(o=(n-i)/2,r=0);const s=Math.min(i,n);return e.width=s,e.height=s,e.getContext("2d").drawImage(t,r,o,s,s,0,0,s,s),function(t,e,i,n,r){n=Math.round(n),r=Math.round(r);const o=t.getContext("2d").getImageData(0,0,e,i),s=t.getContext("2d").getImageData(0,0,n,r),a=o.data,u=s.data,c=e/n,h=i/r,l=Math.ceil(c/2),d=Math.ceil(h/2);for(let t=0;t=-1&&c<=1&&(o=2*c*c*c-3*c*c+1,o>0&&(i=4*(t+n*e),m+=o*a[i+3],f+=o,a[i+3]<255&&(o=o*a[i+3]/250),p+=o*a[i],g+=o*a[i+1],A+=o*a[i+2],s+=o))}}u[r]=p/s,u[r+1]=g/s,u[r+2]=A/s,u[r+3]=m/f}t.getContext("2d").clearRect(0,0,Math.max(e,n),Math.max(i,r)),t.width=n,t.height=r,t.getContext("2d").putImageData(s,0,0)}(e,s,s,96,96),e.toDataURL("image/png",.7)}(r);e.resolve(t)}},i.readAsArrayBuffer(t)}else e.reject();return e}(n).then(function(t){s.find(".icon").css("background-image","url("+t+")")},function(){a=$e.MimeType.getIconUrl(n.type),s.find(".icon").css("background-image","url("+a+")")});const h=e.find(".conflict").length;o.find("input:checkbox").attr("id","checkbox_original_"+h),s.find("input:checkbox").attr("id","checkbox_replacement_"+h),e.append(r),n.lastModified>i.mtime?s.find(".mtime").css("font-weight","bold"):n.lastModifiedi.size?s.find(".size").css("font-weight","bold"):n.size&&n.size0?(p()(c).find(".allnewfiles").prop("checked",!1),p()(c).find(".allnewfiles + .count").text((0,d.t)("core","({count} selected)",{count:t}))):(p()(c).find(".allnewfiles").prop("checked",!1),p()(c).find(".allnewfiles + .count").text("")),A()}),p()(c).on("click",".original,.allexistingfiles",function(){const t=p()(c).find('.conflict .original input[type="checkbox"]:checked').length;t===p()(c+" .conflict").length?(p()(c).find(".allexistingfiles").prop("checked",!0),p()(c).find(".allexistingfiles + .count").text((0,d.t)("core","(all selected)"))):t>0?(p()(c).find(".allexistingfiles").prop("checked",!1),p()(c).find(".allexistingfiles + .count").text((0,d.t)("core","({count} selected)",{count:t}))):(p()(c).find(".allexistingfiles").prop("checked",!1),p()(c).find(".allexistingfiles + .count").text("")),A()}),s.resolve()}).fail(function(){s.reject(),alert((0,d.t)("core","Error loading file exists template"))});return s.promise()},_getFileExistsTemplate:function(){const t=p().Deferred();if(this.$fileexistsTemplate)t.resolve(this.$fileexistsTemplate);else{const e=this;p().get($e.filePath("core","templates/legacy","fileexists.html"),function(i){e.$fileexistsTemplate=p()(i),t.resolve(e.$fileexistsTemplate)}).fail(function(){t.reject()})}return t.promise()}},Ee=Be;function Ie(){return document.head.dataset.requesttoken}function Se(t,e){let i,n,r="";if(this.typelessListeners=[],this.closed=!1,this.listeners={},e)for(i in e)r+=i+"="+encodeURIComponent(e[i])+"&";if(r+="requesttoken="+encodeURIComponent(Ie()),this.useFallBack||"undefined"==typeof EventSource){const e="oc_eventsource_iframe_"+Se.iframeCount;Se.fallBackSources[Se.iframeCount]=this;const i=document.createElement("iframe");i.id=e,i.style.display="none",n="&",-1===t.indexOf("?")&&(n="?"),i.src=t+n+"fallback=true&fallback_id="+Se.iframeCount+"&"+r,this.iframe=i,document.body.appendChild(this.iframe),this.useFallBack=!0,Se.iframeCount++}else n="&",-1===t.indexOf("?")&&(n="?"),this.source=new EventSource(t+n+r),this.source.onmessage=function(t){for(let e=0;et.cancel()),i.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 i=document.querySelector(t);i&&i instanceof HTMLElement&&(i.textContent=e,i.classList.remove("error"),i.classList.add("success"),i.getAnimations?.().forEach(t=>t.cancel()),window.setTimeout(function(){if(!(i&&i instanceof HTMLElement))return;const t=i.animate?.([{opacity:1},{opacity:0}],{duration:900,fill:"forwards"});t?t.addEventListener("finish",()=>{i.style.display="none"}):window.setTimeout(()=>{i.style.display="none"},900)},3e3),i.style.display="block")},finishedError(t,e){const i=document.querySelector(t);i&&i instanceof HTMLElement&&(i.textContent=e,i.classList.remove("success"),i.classList.add("error"),i.style.display="block")}},Fe={updatableNotification:null,getDefaultNotificationFunction:null,setDefault(t){this.getDefaultNotificationFunction=t},hide(t,e){l.default.isFunction(t)&&(e=t,t=void 0),t?(t.each(function(){p()(this)[0].toastify?p()(this)[0].toastify.hideToast():Z.error("cannot hide toast because object is not set"),this===this.updatableNotification&&(this.updatableNotification=null)}),e&&e.call(),this.getDefaultNotificationFunction&&this.getDefaultNotificationFunction()):Z.error("Missing argument $row in OC.Notification.hide() call, caller needs to be adjusted to only dismiss its own notification")},showHtml(t,e){(e=e||{}).isHTML=!0,e.timeout=e.timeout?e.timeout:_e.DH;const i=(0,_e.rG)(t,e);return i.toastElement.toastify=i,p()(i.toastElement)},show(t,e){(e=e||{}).timeout=e.timeout?e.timeout:_e.DH;const i=(0,_e.rG)(function(t){return t.toString().split("&").join("&").split("<").join("<").split(">").join(">").split('"').join(""").split("'").join("'")}(t),e);return i.toastElement.toastify=i,p()(i.toastElement)},showUpdate(t){return this.updatableNotification&&this.updatableNotification.hideToast(),this.updatableNotification=(0,_e.rG)(t,{timeout:_e.DH}),this.updatableNotification.toastElement.toastify=this.updatableNotification,p()(this.updatableNotification.toastElement)},showTemporary(t,e){(e=e||{}).timeout=e.timeout||_e.aR;const i=(0,_e.rG)(t,e);return i.toastElement.toastify=i,p()(i.toastElement)},isHidden:()=>!p()("#content").find(".toastify").length},We={requiresPasswordConfirmation:()=>(0,Ot.oB)(),requirePasswordConfirmation(t,e,i){(0,Ot.C5)().then(t,i)}},Ye={_plugins:{},register(t,e){let i=this._plugins[t];i||(i=this._plugins[t]=[]),i.push(e)},getPlugins(t){return this._plugins[t]||[]},attach(t,e,i){const n=this.getPlugins(t);for(let t=0;t").join(">").split('"').join(""").split("'").join("'")},async rebuildNavigation(){const{data:t}=await c.Ay.get((0,h.KT)("core/navigation",2)+"/apps?format=json");200===t.ocs.meta.statuscode&&((0,st.Ic)("nextcloud:app-menu.refresh",{apps:t.ocs.data}),window.dispatchEvent(new Event("resize")))},setupGroupsSelect:function(e,i,n){const r=this;n=n||{},e.length>0&&p().ajax({url:(0,h.KT)("cloud/groups/details"),dataType:"json",success:function(o){const s=[];o.ocs.data.groups&&o.ocs.data.groups.length>0?(o.ocs.data.groups.forEach(function(t){n.excludeAdmins&&"admin"===t.id||s.push({id:t.id,displayname:t.displayname})}),e.select2(l.default.extend({placeholder:t("core","Groups"),allowClear:!0,multiple:!0,toggleSelect:!0,separator:"|",data:{results:s,text:"displayname"},initSelection:function(t,e){const i=p()(t).val();let n;i&&s.length>0?n=l.default.map(l.default.filter((i||[]).split("|").sort(),function(t){return void 0!==s.find(function(e){return e.id===t})}),function(t){return{id:t,displayname:s.find(function(e){return e.id===t}).displayname}}):i&&(n=l.default.map((i||[]).split("|").sort(),function(t){return{id:t,displayname:t}})),e(n)},formatResult:function(t){return r.escapeHTML(t.displayname)},formatSelection:function(t){return r.escapeHTML(t.displayname)},escapeMarkup:function(t){return t}},i||{}))):(OC.Notification.show(t("core","Group list is empty"),{type:"error"}),Z.debug(o))},error:function(e){OC.Notification.show(t("core","Unable to retrieve the group list"),{type:"error"}),Z.debug(e)}})}},Ge=window._theme||{};var Ve=r(35810);function Ke(t){const e=[];let i,n=0,r=-1,o=0;for(;n="0"&&i<="9";s!==o&&(r++,e[r]="",o=s),e[r]+=i,n++}return e}const Xe={History:{_handlers:[],_pushState(t,e,i){let n;if(n="string"==typeof t?t:$e.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,i=0,n=t.length;i=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=$e.parseQueryString(this._decodeQuery(t))),e=l.default.extend(e||{},$e.parseQueryString(this._decodeQuery(location.search))),e||{}},_onPopState(t){if(this._cancelPop)return void(this._cancelPop=!1);let e;if(this._handlers.length){e=t&&t.state,l.default.isString(e)?e=$e.parseQueryString(e):e||(e=this.parseUrlQuery()||{});for(let t=0;t(void 0===window.TESTING&&$e.debug&&Z.warn("OC.Util.formatDate is deprecated and will be removed in Nextcloud 21. See @nextcloud/moment"),e=e||"LLL",A()(t).format(e)),relativeModifiedDate(e){void 0===window.TESTING&&$e.debug&&Z.warn("OC.Util.relativeModifiedDate is deprecated and will be removed in Nextcloud 21. See @nextcloud/moment");const i=A()().diff(A()(e));return i>=0&&i<45e3?t("core","seconds ago"):A()(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 i=t.offsetWidth;e.style.overflow="scroll";let n=t.offsetWidth;return i===n&&(n=e.clientWidth),document.body.removeChild(e),this._scrollBarWidth=i-n,this._scrollBarWidth},stripTime:t=>new Date(t.getFullYear(),t.getMonth(),t.getDate()),naturalSortCompare(t,e){let i;const n=Ke(t),r=Ke(e);for(i=0;n[i]&&r[i];i++)if(n[i]!==r[i]){const t=Number(n[i]),e=Number(r[i]);return t==n[i]&&e==r[i]?t-e:n[i].localeCompare(r[i],$e.getLanguage())}return n.length-r.length},waitFor(t,e){const i=function(){!0!==t()&&setTimeout(i,e)};i()},isCookieSetToValue(t,e){const i=document.cookie.split(";");for(let n=0;n!$_",Apps:ae,appConfig:re,appswebroots:ue,Backbone:ve,config:be,currentUser:Ce,dialogs:Ee,EventSource:De,MimeType:o,getCurrentUser:function(){return{uid:Ce,displayName:we}},isUserAdmin:()=>ne,L10N:Pe,registerXHRForErrorProcessing:()=>{},getCapabilities:function(){return OC.debug&&Z.warn("OC.getCapabilities is deprecated and will be removed in Nextcloud 21. See @nextcloud/capabilities"),(0,Mt.F)()},hideMenus:Ne,registerMenu:function(t,e,i,n){e.addClass("menu");const r="A"===t.prop("tagName")||"BUTTON"===t.prop("tagName");t.on(r?"click.menu":"click.menu keyup.menu",function(r){r.preventDefault(),r.key&&"Enter"!==r.key||(e.is(Re)?Ne():(Re&&Ne(),!0===n&&e.parent().addClass("openedMenu"),t.attr("aria-expanded",!0),e.slideToggle(50,i),Re=e,ze=t))})},showMenu:function(t,e,i){e.is(Re)||(Ne(),Re=e,ze=t,e.trigger(new(p().Event)("beforeShow")),e.show(),e.trigger(new(p().Event)("afterShow")),l.default.isFunction(i)&&i())},unregisterMenu:function(t,e){e.is(Re)&&Ne(),t.off("click.menu").removeClass("menutoggle"),e.removeClass("menu")},basename:ie.P8,encodePath:ie.O0,dirname:ie.pD,isSamePath:ie.ys,joinPaths:ie.fj,getCanonicalLocale:d.lO,getLocale:d.JK,getLanguage:d.Z0,buildQueryString:function(t){return t?new URLSearchParams(t).toString():""},parseQueryString:function(t){const e=new URLSearchParams(t);return Object.fromEntries(e.entries())},msg:qe,Notification:Fe,PasswordConfirmation:We,Plugins:Ye,Settings:Qe,theme:Ge,Util:Xe,debug:xe,filePath:h.fg,generateUrl:h.Jv,getRootPath:h.aU,imagePath:h.d0,requestToken:Ie(),linkTo:h.uM,linkToOCS:(t,e)=>(0,h.KT)(t,{},{ocsVersion:e||1})+"/",linkToRemote:h.dC,linkToRemoteBase:function(t){return(0,h.aU)()+"/remote.php/"+t},webroot:Je};(0,st.B1)("csrf-token-update",t=>{OC.requestToken=t.token,Z.info("OC.requestToken changed",{token:t.token})});const{auto_logout:ti,session_keepalive:ei,session_lifetime:ii}=(0,at.C)("core","config",{});async function ni(){try{await async function(){const t=(0,h.Jv)("/csrftoken"),e=await fetch(t);if(!e.ok)throw new Error("Could not fetch CSRF token from API",{cause:e});const{token:i}=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,st.Ic)("csrf-token-update",{token:t})}(i),i}()}catch(t){Z.error("session heartbeat failed",{error:t})}}function ri(){const t=window.setInterval(ni,1e3*function(){const t=ii?Math.floor(ii/2):900;return Math.min(86400,Math.max(60,t))}());return Z.info("session heartbeat polling started"),t}function oi(t){const e=document.createElement("textarea"),i=document.createTextNode(t);e.appendChild(i),document.body.appendChild(e),e.focus({preventScroll:!0}),e.select();try{document.execCommand("copy")}catch(e){window.prompt((0,d.t)("core","Clipboard not available, please copy manually"),t),Z.error("files Unable to copy to clipboard",{error:e})}document.body.removeChild(e)}function si(t){const e=window.location.protocol+"//"+window.location.host+(0,h.aU)();return t.startsWith(e)||function(t){return!t.startsWith("https://")&&!t.startsWith("http://")}(t)&&t.startsWith((0,h.aU)())}async function ai(){if(null!==(0,u.HW)()&&!0!==ai.running){ai.running=!0;try{const{status:t}=await window.fetch((0,h.Jv)("/apps/files"));401===t&&(Z.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);Z.debug("Browser storages cleared")}catch(t){Z.error("Could not clear browser storages",{error:t})}}(),window.location=(0,h.Jv)("/login?redirect_url={url}",{url:window.location.pathname+window.location.search+window.location.hash}))}catch(t){Z.warn("Could not check login-state",{error:t})}finally{delete ai.running}}}const ui={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 ci=$e.getLocale();function hi(){const t=(0,d.V8)()?"right":"left",e=(0,d.V8)()?"left":"right";var i;if(XMLHttpRequest.prototype.open=(i=XMLHttpRequest.prototype.open,function(t,e){i.apply(this,arguments),si(e)&&(this.getResponseHeader("X-Requested-With")||this.setRequestHeader("X-Requested-With","XMLHttpRequest"),this.addEventListener("loadend",function(){401===this.status&&ai()}))}),window.fetch=function(t){return async(e,i)=>{if(!si(e.url??e.toString()))return await t(e,i);i||(i={}),i.headers||(i.headers=new Headers),i.headers instanceof Headers&&!i.headers.has("X-Requested-With")?i.headers.append("X-Requested-With","XMLHttpRequest"):i.headers instanceof Object&&!i.headers["X-Requested-With"]&&(i.headers["X-Requested-With"]="XMLHttpRequest");const n=await t(e,i);return 401===n.status&&ai(),n}}(window.fetch),window.navigator?.clipboard?.writeText||(Z.info("Clipboard API not available, using fallback"),Object.defineProperty(window.navigator,"clipboard",{value:{writeText:oi},writable:!1})),function(){if(function(){if(!ti||!(0,u.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 i=Date.now()-1e3*(ii??86400);if(t{Z.info("Browser is online again, resuming heartbeat"),t=ri();try{await ni(),Z.info("Session token successfully updated after resuming network"),(0,st.Ic)("networkOnline",{success:!0})}catch(t){Z.error("could not update session token after resuming network",{error:t}),(0,st.Ic)("networkOnline",{success:!1})}}),window.addEventListener("offline",()=>{Z.info("Browser is offline, stopping heartbeat"),(0,st.Ic)("networkOffline",{}),clearInterval(t),Z.info("Session heartbeat polling stopped")})}(),$e.registerMenu(p()("#expand"),p()("#expanddiv"),!1,!0),p()(document).on("mouseup.closemenus",t=>{const e=p()(t.target);if(e.closest(".menu").length||e.closest(".menutoggle").length)return!1;$e.hideMenus()}),function(){m.Ay.mixin({methods:{t:d.Tl,n:d.zw}});const t=document.getElementById("header-start__appmenu");if(!t)return;const e=new(m.Ay.extend(_t))({}).$mount(t);Object.assign(OC,{setNavigationCounter(t,i){e.setNavigationCounter(t,i)}})}(),function(){const t=document.getElementById("user-menu");t&&new m.Ay({name:"AccountMenuRoot",el:t,render:t=>t(ee)})}(),function(){const t=document.getElementById("contactsmenu");t&&(window.OC.ContactsMenu=new ot,new m.Ay({name:"ContactsMenuRoot",el:t,render:t=>t(rt)}))}(),p()("#app-navigation").length&&!p()("html").hasClass("lte9")&&!p()("#app-content").hasClass("no-snapper")){const i=new Snap({element:document.getElementById("app-content"),disable:e,maxPosition:300,minPosition:-300,minDragDistance:100});p()("#app-content").prepend('');let n=!1;i.on("animating",()=>{n=!0}),i.on("animated",()=>{n=!1}),i.on("start",()=>{n=!0}),i.on("end",()=>{n=!1}),i.on("open",()=>{u.attr("aria-hidden","false")}),i.on("close",()=>{u.attr("aria-hidden","true")});const r=i.open,o=i.close,s=()=>{n||"closed"!==i.state().state||r(t)},a=()=>{n||"closed"===i.state().state||o()};window.TESTING||(i.open=()=>{l.default.defer(s)},i.close=()=>{l.default.defer(a)}),p()("#app-navigation-toggle").click(()=>{i.state().state!==t&&i.open(t)}),p()("#app-navigation-toggle").keypress(()=>{i.state().state===t?i.close():i.open(t)});const u=p()("#app-navigation");u.attr("aria-hidden","true"),u.delegate("a, :button","click",t=>{const e=p()(t.target);e.is(".app-navigation-noclose")||e.closest(".app-navigation-noclose").length||e.is(".app-navigation-entry-utils-menu-button")||e.closest(".app-navigation-entry-utils-menu-button").length||e.is(".add-new")||e.closest(".add-new").length||e.is("#app-settings")||e.closest("#app-settings").length||i.close()});let c=!1,h=!0,d=!1;$e.allowNavigationBarSlideGesture=()=>{h=!0,d&&(i.enable(),c=!0,d=!1)},$e.disallowNavigationBarSlideGesture=()=>{if(h=!1,c){const t=!0;i.disable(t),c=!1,d=!0}};const f=()=>{p()(window).width()>1024?(u.attr("aria-hidden","false"),i.close(),i.disable(),c=!1,d=!1):h?(i.enable(),c=!0,d=!1):d=!0};p()(window).resize(l.default.debounce(f,250)),f()}setInterval(()=>{p()(".live-relative-timestamp").each(function(){const t=parseInt(p()(this).attr("data-timestamp"),10);p()(this).text(A()(t).fromNow())})},3e4)}Object.hasOwn(ui,ci)&&(ci=ui[ci]),A().locale(ci),r(84315),r(7452);var li=r(57576),di=r.n(li);const fi={disableKeyboardShortcuts:()=>(0,at.C)("theming","shortcutsDisabled",!1),setPageHeading:function(t){const e=document.getElementById("page-heading-level-1");e&&(e.textContent=t)}};async function pi(t,e,i={}){"post"!==t&&"delete"!==t||!(0,Ot.oB)(Ot.mH.Lax)||await(0,Ot.C5)();try{const{data:n}=await c.Ay.request({method:t.toLowerCase(),url:(0,h.KT)("apps/provisioning_api/api/v1/config/apps")+e,data:i.data||{}});i.success?.(n.ocs.data)}catch(t){i.error?.(t)}}function gi(t){pi("get","",t)}function Ai(t,e){pi("get","/"+t,e)}function mi(t,e,i,n){(n=n||{}).data={defaultValue:i},pi("get","/"+t+"/"+e,n)}function vi(t,e,i,n){(n=n||{}).data={value:i},pi("post","/"+t+"/"+e,n)}function bi(t,e,i){pi("delete","/"+t+"/"+e,i)}var yi=r(70580),wi=r.n(yi);const Ci={},xi={registerType(t,e){Ci[t]=e},trigger:t=>Ci[t].action(),getTypes:()=>Object.keys(Ci),getIcon:t=>Ci[t].typeIconClass||"",getLabel:t=>wi()(Ci[t].typeString||t),getLink:(t,e)=>void 0!==Ci[t]?Ci[t].link(e):""},ki=/(\s|^)(https?:\/\/)([-A-Z0-9+_.]+(?::[0-9]+)?(?:\/[-A-Z0-9+&@#%?=~_|!:,.;()]*)*)(\s|$)/gi;function _i(t){return Bi(t)}function Mi(t){return Ei(t)}function Bi(t){return t.replace(ki,function(t,e,i,n,r){let o=n;return i?"http://"===i&&(o=i+n):i="https://",e+''+o+""+r})}function Ei(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 Ii={},Si={},Di={loadScript(t,e){const i=t+e;return Object.hasOwn(Ii,i)?Promise.resolve():(Ii[i]=!0,new Promise(function(i,n){const r=(0,h.fg)(t,"js",e),o=document.createElement("script");o.src=r,o.setAttribute("nonce",btoa(OC.requestToken)),o.onload=()=>i(),o.onerror=()=>n(new Error(`Failed to load script from ${r}`)),document.head.appendChild(o)}))},loadStylesheet(t,e){const i=t+e;return Object.hasOwn(Si,i)?Promise.resolve():(Si[i]=!0,new Promise(function(i,n){const r=(0,h.fg)(t,"css",e),o=document.createElement("link");o.href=r,o.type="text/css",o.rel="stylesheet",o.onload=()=>i(),o.onerror=()=>n(new Error(`Failed to load stylesheet from ${r}`)),document.head.appendChild(o)}))}},Ti={success:(t,e)=>(0,_e.Te)(t,e),warning:(t,e)=>(0,_e.I9)(t,e),error:(t,e)=>(0,_e.Qg)(t,e),info:(t,e)=>(0,_e.cf)(t,e),message:(t,e)=>(0,_e.rG)(t,e)},Oi={Accessibility:fi,AppConfig:s,Collaboration:xi,Comments:a,InitialState:{loadState:at.C},Loader:Di,Toast:Ti};r(99660);var Pi=r(3131),Ri={};Ri.styleTagTransform=Y(),Ri.setAttributes=U(),Ri.insert=j().bind(null,"head"),Ri.domAPI=N(),Ri.insertStyleElement=F(),R()(Pi.A,Ri),Pi.A&&Pi.A.locals&&Pi.A.locals;var zi=r(13169),Ni={};Ni.styleTagTransform=Y(),Ni.setAttributes=U(),Ni.insert=j().bind(null,"head"),Ni.domAPI=N(),Ni.insertStyleElement=F(),R()(zi.A,Ni),zi.A&&zi.A.locals&&zi.A.locals,r(44275);var Hi=r(35156),ji={};ji.styleTagTransform=Y(),ji.setAttributes=U(),ji.insert=j().bind(null,"head"),ji.domAPI=N(),ji.insertStyleElement=F(),R()(Hi.A,ji),Hi.A&&Hi.A.locals&&Hi.A.locals,r(57223),r(53425);var Li=r(86140),Ui={};function qi(){void 0===window.TESTING&&$e.debug&&console.warn.apply(console,arguments)}function Fi(t,e,i){(Array.isArray(t)?t:[t]).forEach(t=>{void 0!==window[t]&&delete window[t],Object.defineProperty(window,t,{get:()=>(qi(i?`${t} is deprecated: ${i}`:`${t} is deprecated`),e())})})}function Wi(t){return"click"===t.type||"keydown"===t.type&&"Enter"===t.key}Ui.styleTagTransform=Y(),Ui.setAttributes=U(),Ui.insert=j().bind(null,"head"),Ui.domAPI=N(),Ui.insertStyleElement=F(),R()(Li.A,Ui),Li.A&&Li.A.locals&&Li.A.locals,window._=l.default,Fi(["$","jQuery"],()=>p(),"The global jQuery is deprecated. It will be removed in a later versions without another warning. Please ship your own."),Fi("Backbone",()=>he(),"please ship your own, this will be removed in Nextcloud 20"),Fi(["Clipboard","ClipboardJS"],()=>di(),"please ship your own, this will be removed in Nextcloud 20"),window.dav=le.dav,Fi("Handlebars",()=>Oe(),"please ship your own, this will be removed in Nextcloud 20"),Fi("moment",()=>A(),"please ship your own, this will be removed in Nextcloud 20"),window.OC=$e,Fi("initCore",()=>hi,"this is an internal function"),Fi("oc_appswebroots",()=>$e.appswebroots,"use OC.appswebroots instead, this will be removed in Nextcloud 20"),Fi("oc_config",()=>$e.config,"use OC.config instead, this will be removed in Nextcloud 20"),Fi("oc_current_user",()=>$e.getCurrentUser().uid,"use OC.getCurrentUser().uid instead, this will be removed in Nextcloud 20"),Fi("oc_debug",()=>$e.debug,"use OC.debug instead, this will be removed in Nextcloud 20"),Fi("oc_defaults",()=>$e.theme,"use OC.theme instead, this will be removed in Nextcloud 20"),Fi("oc_isadmin",$e.isUserAdmin,"use OC.isUserAdmin() instead, this will be removed in Nextcloud 20"),Fi("oc_requesttoken",()=>Ie(),"use OC.requestToken instead, this will be removed in Nextcloud 20"),Fi("oc_webroot",()=>$e.webroot,"use OC.getRootPath() instead, this will be removed in Nextcloud 20"),Fi("OCDialogs",()=>$e.dialogs,"use OC.dialogs instead, this will be removed in Nextcloud 20"),window.OCP=Oi,window.OCA={},p().fn.select2=function(t){const e=t,i=function(){return qi("The select2 library is deprecated! It will be removed in nextcloud 19."),e.apply(this,arguments)};return Object.assign(i,e),i}(p().fn.select2),window.t=l.default.bind($e.L10N.translate,$e.L10N),window.n=l.default.bind($e.L10N.translatePlural,$e.L10N),p().fn.avatar=function(t,e,i,n,r,o){const s=function(t){t.imageplaceholder("?"),t.css("background-color","#b9b9b9")};if(void 0!==t&&(t=String(t)),void 0!==o&&(o=String(o)),void 0===e&&(e=this.height()>0?this.height():this.data("size")>0?this.data("size"):64),this.height(e),this.width(e),void 0===t){if(void 0===this.data("user"))return void s(this);t=this.data("user")}t=String(t).replace(/\//g,"");const a=this;let c;c=t===(0,u.HW)()?.uid?(0,h.Jv)("/avatar/{user}/{size}?v={version}",{user:t,size:Math.ceil(e*window.devicePixelRatio),version:window.oc_userconfig.avatar.version}):(0,h.Jv)("/avatar/{user}/{size}",{user:t,size:Math.ceil(e*window.devicePixelRatio)});const l=new Image;l.onload=function(){a.clearimageplaceholder(),a.append(l),"function"==typeof r&&r()},l.onerror=function(){a.clearimageplaceholder(),void 0!==o?a.imageplaceholder(t,o):s(a),"function"==typeof r&&r()},e<32?a.addClass("icon-loading-small"):a.addClass("icon-loading"),l.width=e,l.height=e,l.src=c,l.alt=""},p().fn.exists=function(){return this.length>0},p().fn.filterAttr=function(t,e){return this.filter(function(){return p()(this).attr(t)===e})};var Yi=r(52697);p().widget("oc.ocdialog",{options:{width:"auto",height:"auto",closeButton:!0,closeOnEscape:!0,closeCallback:null,modal:!1},_create(){const t=this;this.originalCss={display:this.element[0].style.display,width:this.element[0].style.width,height:this.element[0].style.height},this.originalTitle=this.element.attr("title"),this.options.title=this.options.title||this.originalTitle,this.$dialog=p()('
      ').attr({tabIndex:-1,role:"dialog","aria-modal":!0}).insertBefore(this.element),this.$dialog.append(this.element.detach()),this.element.removeAttr("title").addClass("oc-dialog-content").appendTo(this.$dialog),1===t.element.find("input").length&&t.element.find("input").on("keydown",function(e){if(Wi(e)&&t.$buttonrow){const e=t.$buttonrow.find("button.primary");e&&!e.prop("disabled")&&e.click()}}),this.$dialog.css({display:"inline-block",position:"fixed"}),this.enterCallback=null,p()(document).on("keydown keyup",function(e){if(e.target===t.$dialog.get(0)||0!==t.$dialog.find(p()(e.target)).length)return 27===e.keyCode&&"keydown"===e.type&&t.options.closeOnEscape?(e.stopImmediatePropagation(),t.close(),!1):13===e.keyCode?(e.stopImmediatePropagation(),null!==t.enterCallback?(t.enterCallback(),e.preventDefault(),!1):"keyup"===e.type&&(e.preventDefault(),!1)):void 0}),this._setOptions(this.options),this._createOverlay(),this._useFocusTrap()},_init(){this._trigger("open")},_setOption(e,i){const n=this;switch(e){case"title":if(this.$title)this.$title.text(i);else{const t=p()('

      '+i+"

      ");this.$title=t.prependTo(this.$dialog)}this._setSizes();break;case"buttons":if(this.$buttonrow)this.$buttonrow.empty();else{const t=p()('
      ');this.$buttonrow=t.appendTo(this.$dialog)}1===i.length?this.$buttonrow.addClass("onebutton"):2===i.length?this.$buttonrow.addClass("twobuttons"):3===i.length&&this.$buttonrow.addClass("threebuttons"),p().each(i,function(t,e){const i=p()("');e.attr("aria-label",t("core",'Close "{dialogTitle}" dialog',{dialogTitle:this.$title||this.options.title})),this.$dialog.prepend(e),e.on("click keydown",function(t){Wi(t)&&(n.options.closeCallback&&n.options.closeCallback(),n.close())})}else this.$dialog.find(".oc-dialog-close").remove();break;case"width":this.$dialog.css("width",i);break;case"height":this.$dialog.css("height",i);break;case"close":this.closeCB=i}p().Widget.prototype._setOption.apply(this,arguments)},_setOptions(){p().Widget.prototype._setOptions.apply(this,arguments)},_setSizes(){let t=0;this.$title&&(t+=this.$title.outerHeight(!0)),this.$buttonrow&&(t+=this.$buttonrow.outerHeight(!0)),this.element.css({height:"calc(100% - "+t+"px)"})},_createOverlay(){if(!this.options.modal)return;const t=this;this.overlay=p()("
      ").addClass("oc-dialog-dim").insertBefore(this.$dialog),this.overlay.on("click keydown keyup",function(e){e.target!==t.$dialog.get(0)&&0===t.$dialog.find(p()(e.target)).length&&(e.preventDefault(),e.stopPropagation())})},_destroyOverlay(){this.options.modal&&this.overlay&&(this.overlay.off("click keydown keyup"),this.overlay.remove(),this.overlay=null)},_useFocusTrap(){Object.assign(window,{_nc_focus_trap:window._nc_focus_trap||[]});const t=this.$dialog[0];this.focusTrap=(0,Yi.K)(t,{allowOutsideClick:!0,trapStack:window._nc_focus_trap,fallbackFocus:t}),this.focusTrap.activate()},_clearFocusTrap(){this.focusTrap?.deactivate(),this.focusTrap=null},widget(){return this.$dialog},setEnterCallback(t){this.enterCallback=t},unsetEnterCallback(){this.enterCallback=null},close(){this._clearFocusTrap(),this._destroyOverlay();const t=this;setTimeout(function(){t._trigger("close",t)},200),t.$dialog.remove(),this.destroy()},destroy(){this.$title&&this.$title.remove(),this.$buttonrow&&this.$buttonrow.remove(),this.originalTitle&&this.element.attr("title",this.originalTitle),this.element.removeClass("oc-dialog-content").css(this.originalCss).detach().insertBefore(this.$dialog),this.$dialog.remove()}});const Qi={init(t,e,i){this.vars=t,this.options=p().extend({},this.options,e),this.elem=i;const n=this;if("function"==typeof this.options.escapeFunction){const t=Object.keys(this.vars);for(let e=0;et[0].toUpperCase()).join("");this.html(t)}},p().fn.clearimageplaceholder=function(){this.css("background-color",""),this.css("color",""),this.css("font-weight",""),this.css("text-align",""),this.css("line-height",""),this.css("font-size",""),this.html(""),this.removeClass("icon-loading"),this.removeClass("icon-loading-small")},p()(document).on("ajaxSend",function(t,e,i){!1===i.crossDomain&&(e.setRequestHeader("requesttoken",Ie()),e.setRequestHeader("OCS-APIREQUEST","true"))}),p().fn.selectRange=function(t,e){return this.each(function(){if(this.setSelectionRange)this.focus(),this.setSelectionRange(t,e);else if(this.createTextRange){const i=this.createTextRange();i.collapse(!0),i.moveEnd("character",e),i.moveStart("character",t),i.select()}})},p().fn.extend({showPassword(t){const e={fn:null,args:{}};e.fn=t;const i=function(t,e){e.val(t.val())},n=function(t,e,n){t.is(":checked")?(i(e,n),n.show(),e.hide()):(i(n,e),n.hide(),e.show())};return this.each(function(){const t=p()(this),r=p()(t.data("typetoggle")),o=function(t){const e=p()(t),i=p()("");return i.attr({type:"text",class:e.attr("class"),style:e.attr("style"),size:e.attr("size"),name:e.attr("name")+"-clone",tabindex:e.attr("tabindex"),autocomplete:"off"}),void 0!==e.attr("placeholder")&&i.attr("placeholder",e.attr("placeholder")),i}(t);o.insertAfter(t),e.fn&&(e.args.input=t,e.args.checkbox=r,e.args.clone=o),r.bind("click",function(){n(r,t,o)}),t.bind("keyup",function(){i(t,o)}),o.bind("keyup",function(){i(o,t),t.trigger("keyup")}),o.bind("blur",function(){t.trigger("focusout")}),n(r,t,o),o.closest("form").submit(function(){o.prop("type","password")}),e.fn&&e.fn(e.args)})}}),p().ui.autocomplete.prototype._resizeMenu=function(){this.menu.element.outerWidth(this.element.outerWidth())};var Ki=r(90628),Xi={};Xi.styleTagTransform=Y(),Xi.setAttributes=U(),Xi.insert=j().bind(null,"head"),Xi.domAPI=N(),Xi.insertStyleElement=F(),R()(Ki.A,Xi),Ki.A&&Ki.A.locals&&Ki.A.locals;var Zi=r(2791),Ji={};Ji.styleTagTransform=Y(),Ji.setAttributes=U(),Ji.insert=j().bind(null,"head"),Ji.domAPI=N(),Ji.insertStyleElement=F(),R()(Zi.A,Ji),Zi.A&&Zi.A.locals&&Zi.A.locals,p().ajaxSetup({contents:{script:!1}}),p().globalEval=function(){},r.nc=(0,u.aV)(),window.addEventListener("DOMContentLoaded",function(){hi(),function(){let t=p()("[data-apps-slide-toggle]");0===t.length&&p()("#app-navigation").addClass("without-app-settings"),p()(document).click(function(e){oe&&(t=p()("[data-apps-slide-toggle]")),t.each(function(t,i){const n=p()(i).data("apps-slide-toggle"),r=p()(n);function o(){r.slideUp(4*OC.menuSpeed,function(){r.trigger(new(p().Event)("hide"))}),r.removeClass("opened"),p()(i).removeClass("opened"),p()(i).attr("aria-expanded","false")}if(!r.is(":animated"))if(p()(i).is(p()(e.target).closest("[data-apps-slide-toggle]")))r.is(":visible")?o():function(){r.slideDown(4*OC.menuSpeed,function(){r.trigger(new(p().Event)("show"))}),r.addClass("opened"),p()(i).addClass("opened"),p()(i).attr("aria-expanded","true");const t=p()(n+" [autofocus]");1===t.length&&t.focus()}();else{const t=p()(e.target).closest(n);r.is(":visible")&&t[0]!==r[0]&&o()}})})}(),window.history.pushState?window.onpopstate=l.default.bind($e.Util.History._onPopState,$e.Util.History):window.onhashchange=l.default.bind($e.Util.History._onPopState,$e.Util.History)}),document.addEventListener("DOMContentLoaded",function(){const t=document.getElementById("password-input-form");t&&t.addEventListener("submit",async function(e){e.preventDefault();const i=document.getElementById("requesttoken");if(i){const t=(0,h.Jv)("/csrftoken"),e=await c.Ay.get(t);i.value=e.data.token}t.submit()})})},21391(t,e,i){var n,r,o;o="object"==typeof self&&self.self===self&&self||"object"==typeof globalThis&&globalThis.global===globalThis&&globalThis,n=[i(86860),i(74692),e],r=function(t,e,i){o.Backbone=function(t,e,i,n){var r=t.Backbone,o=Array.prototype.slice;e.VERSION="1.6.1",e.$=n,e.noConflict=function(){return t.Backbone=r,this},e.emulateHTTP=!1,e.emulateJSON=!1;var s,a=e.Events={},u=/\s+/,c=function(t,e,n,r,o){var s,a=0;if(n&&"object"==typeof n){void 0!==r&&"context"in o&&void 0===o.context&&(o.context=r);for(s=i.keys(n);athis.length&&(r=this.length),r<0&&(r+=this.length+1);var o,s,a=[],u=[],c=[],h=[],l={},d=e.add,f=e.merge,p=e.remove,g=!1,A=this.comparator&&null==r&&!1!==e.sort,m=i.isString(this.comparator)?this.comparator:null;for(s=0;s0&&!e.silent&&delete e.index,i},_isModel:function(t){return t instanceof m},_addReference:function(t,e){this._byId[t.cid]=t;var i=this.modelId(t.attributes,t.idAttribute);null!=i&&(this._byId[i]=t),t.on("all",this._onModelEvent,this)},_removeReference:function(t,e){delete this._byId[t.cid];var i=this.modelId(t.attributes,t.idAttribute);null!=i&&delete this._byId[i],this===t.collection&&delete t.collection,t.off("all",this._onModelEvent,this)},_onModelEvent:function(t,e,i,n){if(e){if(("add"===t||"remove"===t)&&i!==this)return;if("destroy"===t&&this.remove(e,n),"changeId"===t){var r=this.modelId(e.previousAttributes(),e.idAttribute),o=this.modelId(e.attributes,e.idAttribute);null!=r&&delete this._byId[r],null!=o&&(this._byId[o]=e)}}this.trigger.apply(this,arguments)},_forwardPristineError:function(t,e,i){this.has(t)||this._onModelEvent("error",t,e,i)}});var C="function"==typeof Symbol&&Symbol.iterator;C&&(v.prototype[C]=v.prototype.values);var x=function(t,e){this._collection=t,this._kind=e,this._index=0},k=1,_=2,M=3;C&&(x.prototype[C]=function(){return this}),x.prototype.next=function(){if(this._collection){if(this._index7),this._useHashChange=this._wantsHashChange&&this._hasHashChange,this._wantsPushState=!!this.options.pushState,this._hasPushState=!(!this.history||!this.history.pushState),this._usePushState=this._wantsPushState&&this._hasPushState,this.fragment=this.getFragment(),this.root=("/"+this.root+"/").replace(U,"/"),this._wantsHashChange&&this._wantsPushState){if(!this._hasPushState&&!this.atRoot()){var e=this.root.slice(0,-1)||"/";return this.location.replace(e+"#"+this.getPath()),!0}this._hasPushState&&this.atRoot()&&this.navigate(this.getHash(),{replace:!0})}if(!this._hasHashChange&&this._wantsHashChange&&!this._usePushState){this.iframe=document.createElement("iframe"),this.iframe.src="javascript:0",this.iframe.style.display="none",this.iframe.tabIndex=-1;var n=document.body,r=n.insertBefore(this.iframe,n.firstChild).contentWindow;r.document.open(),r.document.close(),r.location.hash="#"+this.fragment}var o=window.addEventListener||function(t,e){return attachEvent("on"+t,e)};if(this._usePushState?o("popstate",this.checkUrl,!1):this._useHashChange&&!this.iframe?o("hashchange",this.checkUrl,!1):this._wantsHashChange&&(this._checkUrlInterval=setInterval(this.checkUrl,this.interval)),!this.options.silent)return this.loadUrl()},stop:function(){var t=window.removeEventListener||function(t,e){return detachEvent("on"+t,e)};this._usePushState?t("popstate",this.checkUrl,!1):this._useHashChange&&!this.iframe&&t("hashchange",this.checkUrl,!1),this.iframe&&(document.body.removeChild(this.iframe),this.iframe=null),this._checkUrlInterval&&clearInterval(this._checkUrlInterval),j.started=!1},route:function(t,e){this.handlers.unshift({route:t,callback:e})},checkUrl:function(t){var e=this.getFragment();if(e===this.fragment&&this.iframe&&(e=this.getHash(this.iframe.contentWindow)),e===this.fragment)return!this.matchRoot()&&this.notfound();this.iframe&&this.navigate(e),this.loadUrl()},loadUrl:function(t){return this.matchRoot()?(t=this.fragment=this.getFragment(t),i.some(this.handlers,function(e){if(e.route.test(t))return e.callback(t),!0})||this.notfound()):this.notfound()},notfound:function(){return this.trigger("notfound"),!1},navigate:function(t,e){if(!j.started)return!1;e&&!0!==e||(e={trigger:!!e}),t=this.getFragment(t||"");var i=this.root;this._trailingSlash||""!==t&&"?"!==t.charAt(0)||(i=i.slice(0,-1)||"/");var n=i+t;t=t.replace(q,"");var r=this.decodeFragment(t);if(this.fragment!==r){if(this.fragment=r,this._usePushState)this.history[e.replace?"replaceState":"pushState"]({},document.title,n);else{if(!this._wantsHashChange)return this.location.assign(n);if(this._updateHash(this.location,t,e.replace),this.iframe&&t!==this.getHash(this.iframe.contentWindow)){var o=this.iframe.contentWindow;e.replace||(o.document.open(),o.document.close()),this._updateHash(o.location,t,e.replace)}}return e.trigger?this.loadUrl(t):void 0}},_updateHash:function(t,e,i){if(i){var n=t.href.replace(/(javascript:|#).*$/,"");t.replace(n+"#"+e)}else t.hash="#"+e}}),e.history=new j;m.extend=v.extend=P.extend=B.extend=j.extend=function(t,e){var n,r=this;return n=t&&i.has(t,"constructor")?t.constructor:function(){return r.apply(this,arguments)},i.extend(n,r,e),n.prototype=i.create(r.prototype,t),n.prototype.constructor=n,n.__super__=r.prototype,n};var F=function(){throw new Error('A "url" property or function must be specified')},W=function(t,e){var i=e.error;e.error=function(n){i&&i.call(e.context,t,n,e),t.trigger("error",t,n,e)}};return e._debug=function(){return{root:t,_:i}},e}(o,i,t,e)}.apply(e,n),void 0===r||(t.exports=r)},39404(t,e,i){!function(t,e){"use strict";function n(t,e){if(!t)throw new Error(e||"Assertion failed")}function r(t,e){t.super_=e;var i=function(){};i.prototype=e.prototype,t.prototype=new i,t.prototype.constructor=t}function o(t,e,i){if(o.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(i=e,e=10),this._init(t||0,e||10,i||"be"))}var s;"object"==typeof t?t.exports=o:e.BN=o,o.BN=o,o.wordSize=26;try{s="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:i(47790).Buffer}catch(t){}function a(t,e){var i=t.charCodeAt(e);return i>=48&&i<=57?i-48:i>=65&&i<=70?i-55:i>=97&&i<=102?i-87:void n(!1,"Invalid character in "+t)}function u(t,e,i){var n=a(t,i);return i-1>=e&&(n|=a(t,i-1)<<4),n}function c(t,e,i,r){for(var o=0,s=0,a=Math.min(t.length,i),u=e;u=49?c-49+10:c>=17?c-17+10:c,n(c>=0&&s0?t:e},o.min=function(t,e){return t.cmp(e)<0?t:e},o.prototype._init=function(t,e,i){if("number"==typeof t)return this._initNumber(t,e,i);if("object"==typeof t)return this._initArray(t,e,i);"hex"===e&&(e=16),n(e===(0|e)&&e>=2&&e<=36);var r=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(r++,this.negative=1),r=0;r-=3)s=t[r]|t[r-1]<<8|t[r-2]<<16,this.words[o]|=s<>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);else if("le"===i)for(r=0,o=0;r>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);return this._strip()},o.prototype._parseHex=function(t,e,i){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var n=0;n=e;n-=2)r=u(t,e,n)<=18?(o-=18,s+=1,this.words[s]|=r>>>26):o+=8;else for(n=(t.length-e)%2==0?e+1:e;n=18?(o-=18,s+=1,this.words[s]|=r>>>26):o+=8;this._strip()},o.prototype._parseBase=function(t,e,i){this.words=[0],this.length=1;for(var n=0,r=1;r<=67108863;r*=e)n++;n--,r=r/e|0;for(var o=t.length-i,s=o%n,a=Math.min(o,o-s)+i,u=0,h=i;h1&&0===this.words[this.length-1];)this.length--;return this._normSign()},o.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},"undefined"!=typeof Symbol&&"function"==typeof Symbol.for)try{o.prototype[Symbol.for("nodejs.util.inspect.custom")]=l}catch(t){o.prototype.inspect=l}else o.prototype.inspect=l;function l(){return(this.red?""}var d=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],f=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],p=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function g(t,e,i){i.negative=e.negative^t.negative;var n=t.length+e.length|0;i.length=n,n=n-1|0;var r=0|t.words[0],o=0|e.words[0],s=r*o,a=67108863&s,u=s/67108864|0;i.words[0]=a;for(var c=1;c>>26,l=67108863&u,d=Math.min(c,e.length-1),f=Math.max(0,c-t.length+1);f<=d;f++){var p=c-f|0;h+=(s=(r=0|t.words[p])*(o=0|e.words[f])+l)/67108864|0,l=67108863&s}i.words[c]=0|l,u=0|h}return 0!==u?i.words[c]=0|u:i.length--,i._strip()}o.prototype.toString=function(t,e){var i;if(e=0|e||1,16===(t=t||10)||"hex"===t){i="";for(var r=0,o=0,s=0;s>>24-r&16777215,(r+=2)>=26&&(r-=26,s--),i=0!==o||s!==this.length-1?d[6-u.length]+u+i:u+i}for(0!==o&&(i=o.toString(16)+i);i.length%e!==0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}if(t===(0|t)&&t>=2&&t<=36){var c=f[t],h=p[t];i="";var l=this.clone();for(l.negative=0;!l.isZero();){var g=l.modrn(h).toString(t);i=(l=l.idivn(h)).isZero()?g+i:d[c-g.length]+g+i}for(this.isZero()&&(i="0"+i);i.length%e!==0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}n(!1,"Base should be between 2 and 36")},o.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},o.prototype.toJSON=function(){return this.toString(16,2)},s&&(o.prototype.toBuffer=function(t,e){return this.toArrayLike(s,t,e)}),o.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},o.prototype.toArrayLike=function(t,e,i){this._strip();var r=this.byteLength(),o=i||Math.max(1,r);n(r<=o,"byte array longer than desired length"),n(o>0,"Requested array length <= 0");var s=function(t,e){return t.allocUnsafe?t.allocUnsafe(e):new t(e)}(t,o);return this["_toArrayLike"+("le"===e?"LE":"BE")](s,r),s},o.prototype._toArrayLikeLE=function(t,e){for(var i=0,n=0,r=0,o=0;r>8&255),i>16&255),6===o?(i>24&255),n=0,o=0):(n=s>>>24,o+=2)}if(i=0&&(t[i--]=s>>8&255),i>=0&&(t[i--]=s>>16&255),6===o?(i>=0&&(t[i--]=s>>24&255),n=0,o=0):(n=s>>>24,o+=2)}if(i>=0)for(t[i--]=n;i>=0;)t[i--]=0},Math.clz32?o.prototype._countBits=function(t){return 32-Math.clz32(t)}:o.prototype._countBits=function(t){var e=t,i=0;return e>=4096&&(i+=13,e>>>=13),e>=64&&(i+=7,e>>>=7),e>=8&&(i+=4,e>>>=4),e>=2&&(i+=2,e>>>=2),i+e},o.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,i=0;return 8191&e||(i+=13,e>>>=13),127&e||(i+=7,e>>>=7),15&e||(i+=4,e>>>=4),3&e||(i+=2,e>>>=2),1&e||i++,i},o.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},o.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},o.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},o.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var i=0;it.length?this.clone().iand(t):t.clone().iand(this)},o.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},o.prototype.iuxor=function(t){var e,i;this.length>t.length?(e=this,i=t):(e=t,i=this);for(var n=0;nt.length?this.clone().ixor(t):t.clone().ixor(this)},o.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},o.prototype.inotn=function(t){n("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),i=t%26;this._expand(e),i>0&&e--;for(var r=0;r0&&(this.words[r]=~this.words[r]&67108863>>26-i),this._strip()},o.prototype.notn=function(t){return this.clone().inotn(t)},o.prototype.setn=function(t,e){n("number"==typeof t&&t>=0);var i=t/26|0,r=t%26;return this._expand(i+1),this.words[i]=e?this.words[i]|1<t.length?(i=this,n=t):(i=t,n=this);for(var r=0,o=0;o>>26;for(;0!==r&&o>>26;if(this.length=i.length,0!==r)this.words[this.length]=r,this.length++;else if(i!==this)for(;ot.length?this.clone().iadd(t):t.clone().iadd(this)},o.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var i,n,r=this.cmp(t);if(0===r)return this.negative=0,this.length=1,this.words[0]=0,this;r>0?(i=this,n=t):(i=t,n=this);for(var o=0,s=0;s>26,this.words[s]=67108863&e;for(;0!==o&&s>26,this.words[s]=67108863&e;if(0===o&&s>>13,f=0|s[1],p=8191&f,g=f>>>13,A=0|s[2],m=8191&A,v=A>>>13,b=0|s[3],y=8191&b,w=b>>>13,C=0|s[4],x=8191&C,k=C>>>13,_=0|s[5],M=8191&_,B=_>>>13,E=0|s[6],I=8191&E,S=E>>>13,D=0|s[7],T=8191&D,O=D>>>13,P=0|s[8],R=8191&P,z=P>>>13,N=0|s[9],H=8191&N,j=N>>>13,L=0|a[0],U=8191&L,q=L>>>13,F=0|a[1],W=8191&F,Y=F>>>13,Q=0|a[2],G=8191&Q,V=Q>>>13,K=0|a[3],X=8191&K,Z=K>>>13,J=0|a[4],$=8191&J,tt=J>>>13,et=0|a[5],it=8191&et,nt=et>>>13,rt=0|a[6],ot=8191&rt,st=rt>>>13,at=0|a[7],ut=8191&at,ct=at>>>13,ht=0|a[8],lt=8191&ht,dt=ht>>>13,ft=0|a[9],pt=8191&ft,gt=ft>>>13;i.negative=t.negative^e.negative,i.length=19;var At=(c+(n=Math.imul(l,U))|0)+((8191&(r=(r=Math.imul(l,q))+Math.imul(d,U)|0))<<13)|0;c=((o=Math.imul(d,q))+(r>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(p,U),r=(r=Math.imul(p,q))+Math.imul(g,U)|0,o=Math.imul(g,q);var mt=(c+(n=n+Math.imul(l,W)|0)|0)+((8191&(r=(r=r+Math.imul(l,Y)|0)+Math.imul(d,W)|0))<<13)|0;c=((o=o+Math.imul(d,Y)|0)+(r>>>13)|0)+(mt>>>26)|0,mt&=67108863,n=Math.imul(m,U),r=(r=Math.imul(m,q))+Math.imul(v,U)|0,o=Math.imul(v,q),n=n+Math.imul(p,W)|0,r=(r=r+Math.imul(p,Y)|0)+Math.imul(g,W)|0,o=o+Math.imul(g,Y)|0;var vt=(c+(n=n+Math.imul(l,G)|0)|0)+((8191&(r=(r=r+Math.imul(l,V)|0)+Math.imul(d,G)|0))<<13)|0;c=((o=o+Math.imul(d,V)|0)+(r>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(y,U),r=(r=Math.imul(y,q))+Math.imul(w,U)|0,o=Math.imul(w,q),n=n+Math.imul(m,W)|0,r=(r=r+Math.imul(m,Y)|0)+Math.imul(v,W)|0,o=o+Math.imul(v,Y)|0,n=n+Math.imul(p,G)|0,r=(r=r+Math.imul(p,V)|0)+Math.imul(g,G)|0,o=o+Math.imul(g,V)|0;var bt=(c+(n=n+Math.imul(l,X)|0)|0)+((8191&(r=(r=r+Math.imul(l,Z)|0)+Math.imul(d,X)|0))<<13)|0;c=((o=o+Math.imul(d,Z)|0)+(r>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(x,U),r=(r=Math.imul(x,q))+Math.imul(k,U)|0,o=Math.imul(k,q),n=n+Math.imul(y,W)|0,r=(r=r+Math.imul(y,Y)|0)+Math.imul(w,W)|0,o=o+Math.imul(w,Y)|0,n=n+Math.imul(m,G)|0,r=(r=r+Math.imul(m,V)|0)+Math.imul(v,G)|0,o=o+Math.imul(v,V)|0,n=n+Math.imul(p,X)|0,r=(r=r+Math.imul(p,Z)|0)+Math.imul(g,X)|0,o=o+Math.imul(g,Z)|0;var yt=(c+(n=n+Math.imul(l,$)|0)|0)+((8191&(r=(r=r+Math.imul(l,tt)|0)+Math.imul(d,$)|0))<<13)|0;c=((o=o+Math.imul(d,tt)|0)+(r>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(M,U),r=(r=Math.imul(M,q))+Math.imul(B,U)|0,o=Math.imul(B,q),n=n+Math.imul(x,W)|0,r=(r=r+Math.imul(x,Y)|0)+Math.imul(k,W)|0,o=o+Math.imul(k,Y)|0,n=n+Math.imul(y,G)|0,r=(r=r+Math.imul(y,V)|0)+Math.imul(w,G)|0,o=o+Math.imul(w,V)|0,n=n+Math.imul(m,X)|0,r=(r=r+Math.imul(m,Z)|0)+Math.imul(v,X)|0,o=o+Math.imul(v,Z)|0,n=n+Math.imul(p,$)|0,r=(r=r+Math.imul(p,tt)|0)+Math.imul(g,$)|0,o=o+Math.imul(g,tt)|0;var wt=(c+(n=n+Math.imul(l,it)|0)|0)+((8191&(r=(r=r+Math.imul(l,nt)|0)+Math.imul(d,it)|0))<<13)|0;c=((o=o+Math.imul(d,nt)|0)+(r>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(I,U),r=(r=Math.imul(I,q))+Math.imul(S,U)|0,o=Math.imul(S,q),n=n+Math.imul(M,W)|0,r=(r=r+Math.imul(M,Y)|0)+Math.imul(B,W)|0,o=o+Math.imul(B,Y)|0,n=n+Math.imul(x,G)|0,r=(r=r+Math.imul(x,V)|0)+Math.imul(k,G)|0,o=o+Math.imul(k,V)|0,n=n+Math.imul(y,X)|0,r=(r=r+Math.imul(y,Z)|0)+Math.imul(w,X)|0,o=o+Math.imul(w,Z)|0,n=n+Math.imul(m,$)|0,r=(r=r+Math.imul(m,tt)|0)+Math.imul(v,$)|0,o=o+Math.imul(v,tt)|0,n=n+Math.imul(p,it)|0,r=(r=r+Math.imul(p,nt)|0)+Math.imul(g,it)|0,o=o+Math.imul(g,nt)|0;var Ct=(c+(n=n+Math.imul(l,ot)|0)|0)+((8191&(r=(r=r+Math.imul(l,st)|0)+Math.imul(d,ot)|0))<<13)|0;c=((o=o+Math.imul(d,st)|0)+(r>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,n=Math.imul(T,U),r=(r=Math.imul(T,q))+Math.imul(O,U)|0,o=Math.imul(O,q),n=n+Math.imul(I,W)|0,r=(r=r+Math.imul(I,Y)|0)+Math.imul(S,W)|0,o=o+Math.imul(S,Y)|0,n=n+Math.imul(M,G)|0,r=(r=r+Math.imul(M,V)|0)+Math.imul(B,G)|0,o=o+Math.imul(B,V)|0,n=n+Math.imul(x,X)|0,r=(r=r+Math.imul(x,Z)|0)+Math.imul(k,X)|0,o=o+Math.imul(k,Z)|0,n=n+Math.imul(y,$)|0,r=(r=r+Math.imul(y,tt)|0)+Math.imul(w,$)|0,o=o+Math.imul(w,tt)|0,n=n+Math.imul(m,it)|0,r=(r=r+Math.imul(m,nt)|0)+Math.imul(v,it)|0,o=o+Math.imul(v,nt)|0,n=n+Math.imul(p,ot)|0,r=(r=r+Math.imul(p,st)|0)+Math.imul(g,ot)|0,o=o+Math.imul(g,st)|0;var xt=(c+(n=n+Math.imul(l,ut)|0)|0)+((8191&(r=(r=r+Math.imul(l,ct)|0)+Math.imul(d,ut)|0))<<13)|0;c=((o=o+Math.imul(d,ct)|0)+(r>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(R,U),r=(r=Math.imul(R,q))+Math.imul(z,U)|0,o=Math.imul(z,q),n=n+Math.imul(T,W)|0,r=(r=r+Math.imul(T,Y)|0)+Math.imul(O,W)|0,o=o+Math.imul(O,Y)|0,n=n+Math.imul(I,G)|0,r=(r=r+Math.imul(I,V)|0)+Math.imul(S,G)|0,o=o+Math.imul(S,V)|0,n=n+Math.imul(M,X)|0,r=(r=r+Math.imul(M,Z)|0)+Math.imul(B,X)|0,o=o+Math.imul(B,Z)|0,n=n+Math.imul(x,$)|0,r=(r=r+Math.imul(x,tt)|0)+Math.imul(k,$)|0,o=o+Math.imul(k,tt)|0,n=n+Math.imul(y,it)|0,r=(r=r+Math.imul(y,nt)|0)+Math.imul(w,it)|0,o=o+Math.imul(w,nt)|0,n=n+Math.imul(m,ot)|0,r=(r=r+Math.imul(m,st)|0)+Math.imul(v,ot)|0,o=o+Math.imul(v,st)|0,n=n+Math.imul(p,ut)|0,r=(r=r+Math.imul(p,ct)|0)+Math.imul(g,ut)|0,o=o+Math.imul(g,ct)|0;var kt=(c+(n=n+Math.imul(l,lt)|0)|0)+((8191&(r=(r=r+Math.imul(l,dt)|0)+Math.imul(d,lt)|0))<<13)|0;c=((o=o+Math.imul(d,dt)|0)+(r>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(H,U),r=(r=Math.imul(H,q))+Math.imul(j,U)|0,o=Math.imul(j,q),n=n+Math.imul(R,W)|0,r=(r=r+Math.imul(R,Y)|0)+Math.imul(z,W)|0,o=o+Math.imul(z,Y)|0,n=n+Math.imul(T,G)|0,r=(r=r+Math.imul(T,V)|0)+Math.imul(O,G)|0,o=o+Math.imul(O,V)|0,n=n+Math.imul(I,X)|0,r=(r=r+Math.imul(I,Z)|0)+Math.imul(S,X)|0,o=o+Math.imul(S,Z)|0,n=n+Math.imul(M,$)|0,r=(r=r+Math.imul(M,tt)|0)+Math.imul(B,$)|0,o=o+Math.imul(B,tt)|0,n=n+Math.imul(x,it)|0,r=(r=r+Math.imul(x,nt)|0)+Math.imul(k,it)|0,o=o+Math.imul(k,nt)|0,n=n+Math.imul(y,ot)|0,r=(r=r+Math.imul(y,st)|0)+Math.imul(w,ot)|0,o=o+Math.imul(w,st)|0,n=n+Math.imul(m,ut)|0,r=(r=r+Math.imul(m,ct)|0)+Math.imul(v,ut)|0,o=o+Math.imul(v,ct)|0,n=n+Math.imul(p,lt)|0,r=(r=r+Math.imul(p,dt)|0)+Math.imul(g,lt)|0,o=o+Math.imul(g,dt)|0;var _t=(c+(n=n+Math.imul(l,pt)|0)|0)+((8191&(r=(r=r+Math.imul(l,gt)|0)+Math.imul(d,pt)|0))<<13)|0;c=((o=o+Math.imul(d,gt)|0)+(r>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(H,W),r=(r=Math.imul(H,Y))+Math.imul(j,W)|0,o=Math.imul(j,Y),n=n+Math.imul(R,G)|0,r=(r=r+Math.imul(R,V)|0)+Math.imul(z,G)|0,o=o+Math.imul(z,V)|0,n=n+Math.imul(T,X)|0,r=(r=r+Math.imul(T,Z)|0)+Math.imul(O,X)|0,o=o+Math.imul(O,Z)|0,n=n+Math.imul(I,$)|0,r=(r=r+Math.imul(I,tt)|0)+Math.imul(S,$)|0,o=o+Math.imul(S,tt)|0,n=n+Math.imul(M,it)|0,r=(r=r+Math.imul(M,nt)|0)+Math.imul(B,it)|0,o=o+Math.imul(B,nt)|0,n=n+Math.imul(x,ot)|0,r=(r=r+Math.imul(x,st)|0)+Math.imul(k,ot)|0,o=o+Math.imul(k,st)|0,n=n+Math.imul(y,ut)|0,r=(r=r+Math.imul(y,ct)|0)+Math.imul(w,ut)|0,o=o+Math.imul(w,ct)|0,n=n+Math.imul(m,lt)|0,r=(r=r+Math.imul(m,dt)|0)+Math.imul(v,lt)|0,o=o+Math.imul(v,dt)|0;var Mt=(c+(n=n+Math.imul(p,pt)|0)|0)+((8191&(r=(r=r+Math.imul(p,gt)|0)+Math.imul(g,pt)|0))<<13)|0;c=((o=o+Math.imul(g,gt)|0)+(r>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(H,G),r=(r=Math.imul(H,V))+Math.imul(j,G)|0,o=Math.imul(j,V),n=n+Math.imul(R,X)|0,r=(r=r+Math.imul(R,Z)|0)+Math.imul(z,X)|0,o=o+Math.imul(z,Z)|0,n=n+Math.imul(T,$)|0,r=(r=r+Math.imul(T,tt)|0)+Math.imul(O,$)|0,o=o+Math.imul(O,tt)|0,n=n+Math.imul(I,it)|0,r=(r=r+Math.imul(I,nt)|0)+Math.imul(S,it)|0,o=o+Math.imul(S,nt)|0,n=n+Math.imul(M,ot)|0,r=(r=r+Math.imul(M,st)|0)+Math.imul(B,ot)|0,o=o+Math.imul(B,st)|0,n=n+Math.imul(x,ut)|0,r=(r=r+Math.imul(x,ct)|0)+Math.imul(k,ut)|0,o=o+Math.imul(k,ct)|0,n=n+Math.imul(y,lt)|0,r=(r=r+Math.imul(y,dt)|0)+Math.imul(w,lt)|0,o=o+Math.imul(w,dt)|0;var Bt=(c+(n=n+Math.imul(m,pt)|0)|0)+((8191&(r=(r=r+Math.imul(m,gt)|0)+Math.imul(v,pt)|0))<<13)|0;c=((o=o+Math.imul(v,gt)|0)+(r>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,n=Math.imul(H,X),r=(r=Math.imul(H,Z))+Math.imul(j,X)|0,o=Math.imul(j,Z),n=n+Math.imul(R,$)|0,r=(r=r+Math.imul(R,tt)|0)+Math.imul(z,$)|0,o=o+Math.imul(z,tt)|0,n=n+Math.imul(T,it)|0,r=(r=r+Math.imul(T,nt)|0)+Math.imul(O,it)|0,o=o+Math.imul(O,nt)|0,n=n+Math.imul(I,ot)|0,r=(r=r+Math.imul(I,st)|0)+Math.imul(S,ot)|0,o=o+Math.imul(S,st)|0,n=n+Math.imul(M,ut)|0,r=(r=r+Math.imul(M,ct)|0)+Math.imul(B,ut)|0,o=o+Math.imul(B,ct)|0,n=n+Math.imul(x,lt)|0,r=(r=r+Math.imul(x,dt)|0)+Math.imul(k,lt)|0,o=o+Math.imul(k,dt)|0;var Et=(c+(n=n+Math.imul(y,pt)|0)|0)+((8191&(r=(r=r+Math.imul(y,gt)|0)+Math.imul(w,pt)|0))<<13)|0;c=((o=o+Math.imul(w,gt)|0)+(r>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(H,$),r=(r=Math.imul(H,tt))+Math.imul(j,$)|0,o=Math.imul(j,tt),n=n+Math.imul(R,it)|0,r=(r=r+Math.imul(R,nt)|0)+Math.imul(z,it)|0,o=o+Math.imul(z,nt)|0,n=n+Math.imul(T,ot)|0,r=(r=r+Math.imul(T,st)|0)+Math.imul(O,ot)|0,o=o+Math.imul(O,st)|0,n=n+Math.imul(I,ut)|0,r=(r=r+Math.imul(I,ct)|0)+Math.imul(S,ut)|0,o=o+Math.imul(S,ct)|0,n=n+Math.imul(M,lt)|0,r=(r=r+Math.imul(M,dt)|0)+Math.imul(B,lt)|0,o=o+Math.imul(B,dt)|0;var It=(c+(n=n+Math.imul(x,pt)|0)|0)+((8191&(r=(r=r+Math.imul(x,gt)|0)+Math.imul(k,pt)|0))<<13)|0;c=((o=o+Math.imul(k,gt)|0)+(r>>>13)|0)+(It>>>26)|0,It&=67108863,n=Math.imul(H,it),r=(r=Math.imul(H,nt))+Math.imul(j,it)|0,o=Math.imul(j,nt),n=n+Math.imul(R,ot)|0,r=(r=r+Math.imul(R,st)|0)+Math.imul(z,ot)|0,o=o+Math.imul(z,st)|0,n=n+Math.imul(T,ut)|0,r=(r=r+Math.imul(T,ct)|0)+Math.imul(O,ut)|0,o=o+Math.imul(O,ct)|0,n=n+Math.imul(I,lt)|0,r=(r=r+Math.imul(I,dt)|0)+Math.imul(S,lt)|0,o=o+Math.imul(S,dt)|0;var St=(c+(n=n+Math.imul(M,pt)|0)|0)+((8191&(r=(r=r+Math.imul(M,gt)|0)+Math.imul(B,pt)|0))<<13)|0;c=((o=o+Math.imul(B,gt)|0)+(r>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(H,ot),r=(r=Math.imul(H,st))+Math.imul(j,ot)|0,o=Math.imul(j,st),n=n+Math.imul(R,ut)|0,r=(r=r+Math.imul(R,ct)|0)+Math.imul(z,ut)|0,o=o+Math.imul(z,ct)|0,n=n+Math.imul(T,lt)|0,r=(r=r+Math.imul(T,dt)|0)+Math.imul(O,lt)|0,o=o+Math.imul(O,dt)|0;var Dt=(c+(n=n+Math.imul(I,pt)|0)|0)+((8191&(r=(r=r+Math.imul(I,gt)|0)+Math.imul(S,pt)|0))<<13)|0;c=((o=o+Math.imul(S,gt)|0)+(r>>>13)|0)+(Dt>>>26)|0,Dt&=67108863,n=Math.imul(H,ut),r=(r=Math.imul(H,ct))+Math.imul(j,ut)|0,o=Math.imul(j,ct),n=n+Math.imul(R,lt)|0,r=(r=r+Math.imul(R,dt)|0)+Math.imul(z,lt)|0,o=o+Math.imul(z,dt)|0;var Tt=(c+(n=n+Math.imul(T,pt)|0)|0)+((8191&(r=(r=r+Math.imul(T,gt)|0)+Math.imul(O,pt)|0))<<13)|0;c=((o=o+Math.imul(O,gt)|0)+(r>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(H,lt),r=(r=Math.imul(H,dt))+Math.imul(j,lt)|0,o=Math.imul(j,dt);var Ot=(c+(n=n+Math.imul(R,pt)|0)|0)+((8191&(r=(r=r+Math.imul(R,gt)|0)+Math.imul(z,pt)|0))<<13)|0;c=((o=o+Math.imul(z,gt)|0)+(r>>>13)|0)+(Ot>>>26)|0,Ot&=67108863;var Pt=(c+(n=Math.imul(H,pt))|0)+((8191&(r=(r=Math.imul(H,gt))+Math.imul(j,pt)|0))<<13)|0;return c=((o=Math.imul(j,gt))+(r>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,u[0]=At,u[1]=mt,u[2]=vt,u[3]=bt,u[4]=yt,u[5]=wt,u[6]=Ct,u[7]=xt,u[8]=kt,u[9]=_t,u[10]=Mt,u[11]=Bt,u[12]=Et,u[13]=It,u[14]=St,u[15]=Dt,u[16]=Tt,u[17]=Ot,u[18]=Pt,0!==c&&(u[19]=c,i.length++),i};function m(t,e,i){i.negative=e.negative^t.negative,i.length=t.length+e.length;for(var n=0,r=0,o=0;o>>26)|0)>>>26,s&=67108863}i.words[o]=a,n=s,s=r}return 0!==n?i.words[o]=n:i.length--,i._strip()}function v(t,e,i){return m(t,e,i)}function b(t,e){this.x=t,this.y=e}Math.imul||(A=g),o.prototype.mulTo=function(t,e){var i=this.length+t.length;return 10===this.length&&10===t.length?A(this,t,e):i<63?g(this,t,e):i<1024?m(this,t,e):v(this,t,e)},b.prototype.makeRBT=function(t){for(var e=new Array(t),i=o.prototype._countBits(t)-1,n=0;n>=1;return n},b.prototype.permute=function(t,e,i,n,r,o){for(var s=0;s>>=1)r++;return 1<>>=13,i[2*s+1]=8191&o,o>>>=13;for(s=2*e;s>=26,i+=o/67108864|0,i+=s>>>26,this.words[r]=67108863&s}return 0!==i&&(this.words[r]=i,this.length++),this.length=0===t?1:this.length,e?this.ineg():this},o.prototype.muln=function(t){return this.clone().imuln(t)},o.prototype.sqr=function(){return this.mul(this)},o.prototype.isqr=function(){return this.imul(this.clone())},o.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),i=0;i>>r&1}return e}(t);if(0===e.length)return new o(1);for(var i=this,n=0;n=0);var e,i=t%26,r=(t-i)/26,o=67108863>>>26-i<<26-i;if(0!==i){var s=0;for(e=0;e>>26-i}s&&(this.words[e]=s,this.length++)}if(0!==r){for(e=this.length-1;e>=0;e--)this.words[e+r]=this.words[e];for(e=0;e=0),r=e?(e-e%26)/26:0;var o=t%26,s=Math.min((t-o)/26,this.length),a=67108863^67108863>>>o<s)for(this.length-=s,c=0;c=0&&(0!==h||c>=r);c--){var l=0|this.words[c];this.words[c]=h<<26-o|l>>>o,h=l&a}return u&&0!==h&&(u.words[u.length++]=h),0===this.length&&(this.words[0]=0,this.length=1),this._strip()},o.prototype.ishrn=function(t,e,i){return n(0===this.negative),this.iushrn(t,e,i)},o.prototype.shln=function(t){return this.clone().ishln(t)},o.prototype.ushln=function(t){return this.clone().iushln(t)},o.prototype.shrn=function(t){return this.clone().ishrn(t)},o.prototype.ushrn=function(t){return this.clone().iushrn(t)},o.prototype.testn=function(t){n("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26,r=1<=0);var e=t%26,i=(t-e)/26;if(n(0===this.negative,"imaskn works only with positive numbers"),this.length<=i)return this;if(0!==e&&i++,this.length=Math.min(i,this.length),0!==e){var r=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},o.prototype.isubn=function(t){if(n("number"==typeof t),n(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(u/67108864|0),this.words[r+i]=67108863&o}for(;r>26,this.words[r+i]=67108863&o;if(0===a)return this._strip();for(n(-1===a),a=0,r=0;r>26,this.words[r]=67108863&o;return this.negative=1,this._strip()},o.prototype._wordDiv=function(t,e){var i=(this.length,t.length),n=this.clone(),r=t,s=0|r.words[r.length-1];0!=(i=26-this._countBits(s))&&(r=r.ushln(i),n.iushln(i),s=0|r.words[r.length-1]);var a,u=n.length-r.length;if("mod"!==e){(a=new o(null)).length=u+1,a.words=new Array(a.length);for(var c=0;c=0;l--){var d=67108864*(0|n.words[r.length+l])+(0|n.words[r.length+l-1]);for(d=Math.min(d/s|0,67108863),n._ishlnsubmul(r,d,l);0!==n.negative;)d--,n.negative=0,n._ishlnsubmul(r,1,l),n.isZero()||(n.negative^=1);a&&(a.words[l]=d)}return a&&a._strip(),n._strip(),"div"!==e&&0!==i&&n.iushrn(i),{div:a||null,mod:n}},o.prototype.divmod=function(t,e,i){return n(!t.isZero()),this.isZero()?{div:new o(0),mod:new o(0)}:0!==this.negative&&0===t.negative?(a=this.neg().divmod(t,e),"mod"!==e&&(r=a.div.neg()),"div"!==e&&(s=a.mod.neg(),i&&0!==s.negative&&s.iadd(t)),{div:r,mod:s}):0===this.negative&&0!==t.negative?(a=this.divmod(t.neg(),e),"mod"!==e&&(r=a.div.neg()),{div:r,mod:a.mod}):0!==(this.negative&t.negative)?(a=this.neg().divmod(t.neg(),e),"div"!==e&&(s=a.mod.neg(),i&&0!==s.negative&&s.isub(t)),{div:a.div,mod:s}):t.length>this.length||this.cmp(t)<0?{div:new o(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new o(this.modrn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new o(this.modrn(t.words[0]))}:this._wordDiv(t,e);var r,s,a},o.prototype.div=function(t){return this.divmod(t,"div",!1).div},o.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},o.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},o.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var i=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),r=t.andln(1),o=i.cmp(n);return o<0||1===r&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},o.prototype.modrn=function(t){var e=t<0;e&&(t=-t),n(t<=67108863);for(var i=(1<<26)%t,r=0,o=this.length-1;o>=0;o--)r=(i*r+(0|this.words[o]))%t;return e?-r:r},o.prototype.modn=function(t){return this.modrn(t)},o.prototype.idivn=function(t){var e=t<0;e&&(t=-t),n(t<=67108863);for(var i=0,r=this.length-1;r>=0;r--){var o=(0|this.words[r])+67108864*i;this.words[r]=o/t|0,i=o%t}return this._strip(),e?this.ineg():this},o.prototype.divn=function(t){return this.clone().idivn(t)},o.prototype.egcd=function(t){n(0===t.negative),n(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var r=new o(1),s=new o(0),a=new o(0),u=new o(1),c=0;e.isEven()&&i.isEven();)e.iushrn(1),i.iushrn(1),++c;for(var h=i.clone(),l=e.clone();!e.isZero();){for(var d=0,f=1;0===(e.words[0]&f)&&d<26;++d,f<<=1);if(d>0)for(e.iushrn(d);d-- >0;)(r.isOdd()||s.isOdd())&&(r.iadd(h),s.isub(l)),r.iushrn(1),s.iushrn(1);for(var p=0,g=1;0===(i.words[0]&g)&&p<26;++p,g<<=1);if(p>0)for(i.iushrn(p);p-- >0;)(a.isOdd()||u.isOdd())&&(a.iadd(h),u.isub(l)),a.iushrn(1),u.iushrn(1);e.cmp(i)>=0?(e.isub(i),r.isub(a),s.isub(u)):(i.isub(e),a.isub(r),u.isub(s))}return{a,b:u,gcd:i.iushln(c)}},o.prototype._invmp=function(t){n(0===t.negative),n(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var r,s=new o(1),a=new o(0),u=i.clone();e.cmpn(1)>0&&i.cmpn(1)>0;){for(var c=0,h=1;0===(e.words[0]&h)&&c<26;++c,h<<=1);if(c>0)for(e.iushrn(c);c-- >0;)s.isOdd()&&s.iadd(u),s.iushrn(1);for(var l=0,d=1;0===(i.words[0]&d)&&l<26;++l,d<<=1);if(l>0)for(i.iushrn(l);l-- >0;)a.isOdd()&&a.iadd(u),a.iushrn(1);e.cmp(i)>=0?(e.isub(i),s.isub(a)):(i.isub(e),a.isub(s))}return(r=0===e.cmpn(1)?s:a).cmpn(0)<0&&r.iadd(t),r},o.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),i=t.clone();e.negative=0,i.negative=0;for(var n=0;e.isEven()&&i.isEven();n++)e.iushrn(1),i.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;i.isEven();)i.iushrn(1);var r=e.cmp(i);if(r<0){var o=e;e=i,i=o}else if(0===r||0===i.cmpn(1))break;e.isub(i)}return i.iushln(n)},o.prototype.invm=function(t){return this.egcd(t).a.umod(t)},o.prototype.isEven=function(){return!(1&this.words[0])},o.prototype.isOdd=function(){return!(1&~this.words[0])},o.prototype.andln=function(t){return this.words[0]&t},o.prototype.bincn=function(t){n("number"==typeof t);var e=t%26,i=(t-e)/26,r=1<>>26,a&=67108863,this.words[s]=a}return 0!==o&&(this.words[s]=o,this.length++),this},o.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},o.prototype.cmpn=function(t){var e,i=t<0;if(0!==this.negative&&!i)return-1;if(0===this.negative&&i)return 1;if(this._strip(),this.length>1)e=1;else{i&&(t=-t),n(t<=67108863,"Number is too big");var r=0|this.words[0];e=r===t?0:rt.length)return 1;if(this.length=0;i--){var n=0|this.words[i],r=0|t.words[i];if(n!==r){nr&&(e=1);break}}return e},o.prototype.gtn=function(t){return 1===this.cmpn(t)},o.prototype.gt=function(t){return 1===this.cmp(t)},o.prototype.gten=function(t){return this.cmpn(t)>=0},o.prototype.gte=function(t){return this.cmp(t)>=0},o.prototype.ltn=function(t){return-1===this.cmpn(t)},o.prototype.lt=function(t){return-1===this.cmp(t)},o.prototype.lten=function(t){return this.cmpn(t)<=0},o.prototype.lte=function(t){return this.cmp(t)<=0},o.prototype.eqn=function(t){return 0===this.cmpn(t)},o.prototype.eq=function(t){return 0===this.cmp(t)},o.red=function(t){return new M(t)},o.prototype.toRed=function(t){return n(!this.red,"Already a number in reduction context"),n(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},o.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},o.prototype._forceRed=function(t){return this.red=t,this},o.prototype.forceRed=function(t){return n(!this.red,"Already a number in reduction context"),this._forceRed(t)},o.prototype.redAdd=function(t){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},o.prototype.redIAdd=function(t){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},o.prototype.redSub=function(t){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},o.prototype.redISub=function(t){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},o.prototype.redShl=function(t){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},o.prototype.redMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},o.prototype.redIMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},o.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},o.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},o.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},o.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},o.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},o.prototype.redPow=function(t){return n(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var y={k256:null,p224:null,p192:null,p25519:null};function w(t,e){this.name=t,this.p=new o(e,16),this.n=this.p.bitLength(),this.k=new o(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function C(){w.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function x(){w.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function k(){w.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function _(){w.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function M(t){if("string"==typeof t){var e=o._prime(t);this.m=e.p,this.prime=e}else n(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function B(t){M.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new o(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}w.prototype._tmp=function(){var t=new o(null);return t.words=new Array(Math.ceil(this.n/13)),t},w.prototype.ireduce=function(t){var e,i=t;do{this.split(i,this.tmp),e=(i=(i=this.imulK(i)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e0?i.isub(this.p):void 0!==i.strip?i.strip():i._strip(),i},w.prototype.split=function(t,e){t.iushrn(this.n,0,e)},w.prototype.imulK=function(t){return t.imul(this.k)},r(C,w),C.prototype.split=function(t,e){for(var i=4194303,n=Math.min(t.length,9),r=0;r>>22,o=s}o>>>=22,t.words[r-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},C.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,i=0;i>>=26,t.words[i]=r,e=n}return 0!==e&&(t.words[t.length++]=e),t},o._prime=function(t){if(y[t])return y[t];var e;if("k256"===t)e=new C;else if("p224"===t)e=new x;else if("p192"===t)e=new k;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new _}return y[t]=e,e},M.prototype._verify1=function(t){n(0===t.negative,"red works only with positives"),n(t.red,"red works only with red numbers")},M.prototype._verify2=function(t,e){n(0===(t.negative|e.negative),"red works only with positives"),n(t.red&&t.red===e.red,"red works only with red numbers")},M.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):(h(t,t.umod(this.m)._forceRed(this)),t)},M.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},M.prototype.add=function(t,e){this._verify2(t,e);var i=t.add(e);return i.cmp(this.m)>=0&&i.isub(this.m),i._forceRed(this)},M.prototype.iadd=function(t,e){this._verify2(t,e);var i=t.iadd(e);return i.cmp(this.m)>=0&&i.isub(this.m),i},M.prototype.sub=function(t,e){this._verify2(t,e);var i=t.sub(e);return i.cmpn(0)<0&&i.iadd(this.m),i._forceRed(this)},M.prototype.isub=function(t,e){this._verify2(t,e);var i=t.isub(e);return i.cmpn(0)<0&&i.iadd(this.m),i},M.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},M.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},M.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},M.prototype.isqr=function(t){return this.imul(t,t.clone())},M.prototype.sqr=function(t){return this.mul(t,t)},M.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(n(e%2==1),3===e){var i=this.m.add(new o(1)).iushrn(2);return this.pow(t,i)}for(var r=this.m.subn(1),s=0;!r.isZero()&&0===r.andln(1);)s++,r.iushrn(1);n(!r.isZero());var a=new o(1).toRed(this),u=a.redNeg(),c=this.m.subn(1).iushrn(1),h=this.m.bitLength();for(h=new o(2*h*h).toRed(this);0!==this.pow(h,c).cmp(u);)h.redIAdd(u);for(var l=this.pow(h,r),d=this.pow(t,r.addn(1).iushrn(1)),f=this.pow(t,r),p=s;0!==f.cmp(a);){for(var g=f,A=0;0!==g.cmp(a);A++)g=g.redSqr();n(A=0;n--){for(var c=e.words[n],h=u-1;h>=0;h--){var l=c>>h&1;r!==i[0]&&(r=this.sqr(r)),0!==l||0!==s?(s<<=1,s|=l,(4===++a||0===n&&0===h)&&(r=this.mul(r,i[s]),a=0,s=0)):a=0}u=26}return r},M.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},M.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},o.mont=function(t){return new B(t)},r(B,M),B.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},B.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},B.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var i=t.imul(e),n=i.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),r=i.isub(n).iushrn(this.shift),o=r;return r.cmp(this.m)>=0?o=r.isub(this.m):r.cmpn(0)<0&&(o=r.iadd(this.m)),o._forceRed(this)},B.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new o(0)._forceRed(this);var i=t.mul(e),n=i.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),r=i.isub(n).iushrn(this.shift),s=r;return r.cmp(this.m)>=0?s=r.isub(this.m):r.cmpn(0)<0&&(s=r.iadd(this.m)),s._forceRed(this)},B.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(t=i.nmd(t),this)},15037(t,e,i){var n;function r(t){this.rand=t}if(t.exports=function(t){return n||(n=new r(null)),n.generate(t)},t.exports.Rand=r,r.prototype.generate=function(t){return this._rand(t)},r.prototype._rand=function(t){if(this.rand.getBytes)return this.rand.getBytes(t);for(var e=new Uint8Array(t),i=0;i>>24]^h[p>>>16&255]^l[g>>>8&255]^d[255&A]^e[m++],s=c[p>>>24]^h[g>>>16&255]^l[A>>>8&255]^d[255&f]^e[m++],a=c[g>>>24]^h[A>>>16&255]^l[f>>>8&255]^d[255&p]^e[m++],u=c[A>>>24]^h[f>>>16&255]^l[p>>>8&255]^d[255&g]^e[m++],f=o,p=s,g=a,A=u;return o=(n[f>>>24]<<24|n[p>>>16&255]<<16|n[g>>>8&255]<<8|n[255&A])^e[m++],s=(n[p>>>24]<<24|n[g>>>16&255]<<16|n[A>>>8&255]<<8|n[255&f])^e[m++],a=(n[g>>>24]<<24|n[A>>>16&255]<<16|n[f>>>8&255]<<8|n[255&p])^e[m++],u=(n[A>>>24]<<24|n[f>>>16&255]<<16|n[p>>>8&255]<<8|n[255&g])^e[m++],[o>>>=0,s>>>=0,a>>>=0,u>>>=0]}var a=[0,1,2,4,8,16,32,64,128,27,54],u=function(){for(var t=new Array(256),e=0;e<256;e++)t[e]=e<128?e<<1:e<<1^283;for(var i=[],n=[],r=[[],[],[],[]],o=[[],[],[],[]],s=0,a=0,u=0;u<256;++u){var c=a^a<<1^a<<2^a<<3^a<<4;c=c>>>8^255&c^99,i[s]=c,n[c]=s;var h=t[s],l=t[h],d=t[l],f=257*t[c]^16843008*c;r[0][s]=f<<24|f>>>8,r[1][s]=f<<16|f>>>16,r[2][s]=f<<8|f>>>24,r[3][s]=f,f=16843009*d^65537*l^257*h^16843008*s,o[0][c]=f<<24|f>>>8,o[1][c]=f<<16|f>>>16,o[2][c]=f<<8|f>>>24,o[3][c]=f,0===s?s=a=1:(s=h^t[t[t[d^h]]],a^=t[t[a]])}return{SBOX:i,INV_SBOX:n,SUB_MIX:r,INV_SUB_MIX:o}}();function c(t){this._key=r(t),this._reset()}c.blockSize=16,c.keySize=32,c.prototype.blockSize=c.blockSize,c.prototype.keySize=c.keySize,c.prototype._reset=function(){for(var t=this._key,e=t.length,i=e+6,n=4*(i+1),r=[],o=0;o>>24,s=u.SBOX[s>>>24]<<24|u.SBOX[s>>>16&255]<<16|u.SBOX[s>>>8&255]<<8|u.SBOX[255&s],s^=a[o/e|0]<<24):e>6&&o%e===4&&(s=u.SBOX[s>>>24]<<24|u.SBOX[s>>>16&255]<<16|u.SBOX[s>>>8&255]<<8|u.SBOX[255&s]),r[o]=r[o-e]^s}for(var c=[],h=0;h>>24]]^u.INV_SUB_MIX[1][u.SBOX[d>>>16&255]]^u.INV_SUB_MIX[2][u.SBOX[d>>>8&255]]^u.INV_SUB_MIX[3][u.SBOX[255&d]]}this._nRounds=i,this._keySchedule=r,this._invKeySchedule=c},c.prototype.encryptBlockRaw=function(t){return s(t=r(t),this._keySchedule,u.SUB_MIX,u.SBOX,this._nRounds)},c.prototype.encryptBlock=function(t){var e=this.encryptBlockRaw(t),i=n.allocUnsafe(16);return i.writeUInt32BE(e[0],0),i.writeUInt32BE(e[1],4),i.writeUInt32BE(e[2],8),i.writeUInt32BE(e[3],12),i},c.prototype.decryptBlock=function(t){var e=(t=r(t))[1];t[1]=t[3],t[3]=e;var i=s(t,this._invKeySchedule,u.INV_SUB_MIX,u.INV_SBOX,this._nRounds),o=n.allocUnsafe(16);return o.writeUInt32BE(i[0],0),o.writeUInt32BE(i[3],4),o.writeUInt32BE(i[2],8),o.writeUInt32BE(i[1],12),o},c.prototype.scrub=function(){o(this._keySchedule),o(this._invKeySchedule),o(this._key)},t.exports.AES=c},92356(t,e,i){var n=i(50462),r=i(92861).Buffer,o=i(56168),s=i(56698),a=i(25892),u=i(30295),c=i(45122);function h(t,e,i,s){o.call(this);var u=r.alloc(4,0);this._cipher=new n.AES(e);var h=this._cipher.encryptBlock(u);this._ghash=new a(h),i=function(t,e,i){if(12===e.length)return t._finID=r.concat([e,r.from([0,0,0,1])]),r.concat([e,r.from([0,0,0,2])]);var n=new a(i),o=e.length,s=o%16;n.update(e),s&&(s=16-s,n.update(r.alloc(s,0))),n.update(r.alloc(8,0));var u=8*o,h=r.alloc(8);h.writeUIntBE(u,0,8),n.update(h),t._finID=n.state;var l=r.from(t._finID);return c(l),l}(this,i,h),this._prev=r.from(i),this._cache=r.allocUnsafe(0),this._secCache=r.allocUnsafe(0),this._decrypt=s,this._alen=0,this._len=0,this._mode=t,this._authTag=null,this._called=!1}s(h,o),h.prototype._update=function(t){if(!this._called&&this._alen){var e=16-this._alen%16;e<16&&(e=r.alloc(e,0),this._ghash.update(e))}this._called=!0;var i=this._mode.encrypt(this,t);return this._decrypt?this._ghash.update(t):this._ghash.update(i),this._len+=t.length,i},h.prototype._final=function(){if(this._decrypt&&!this._authTag)throw new Error("Unsupported state or unable to authenticate data");var t=u(this._ghash.final(8*this._alen,8*this._len),this._cipher.encryptBlock(this._finID));if(this._decrypt&&function(t,e){var i=0;t.length!==e.length&&i++;for(var n=Math.min(t.length,e.length),r=0;r16)throw new Error("unable to decrypt data");for(var i=-1;++i16)return e=this.cache.slice(0,16),this.cache=this.cache.slice(16),e}else if(this.cache.length>=16)return e=this.cache.slice(0,16),this.cache=this.cache.slice(16),e;return null},l.prototype.flush=function(){if(this.cache.length)return this.cache},e.createDecipher=function(t,e){var i=o[t.toLowerCase()];if(!i)throw new TypeError("invalid suite type");var n=c(e,!1,i.key,i.iv);return d(t,n.key,n.iv)},e.createDecipheriv=d},25799(t,e,i){var n=i(530),r=i(92356),o=i(92861).Buffer,s=i(50650),a=i(56168),u=i(50462),c=i(68078);function h(t,e,i){a.call(this),this._cache=new d,this._cipher=new u.AES(e),this._prev=o.from(i),this._mode=t,this._autopadding=!0}i(56698)(h,a),h.prototype._update=function(t){var e,i;this._cache.add(t);for(var n=[];e=this._cache.get();)i=this._mode.encrypt(this,e),n.push(i);return o.concat(n)};var l=o.alloc(16,16);function d(){this.cache=o.allocUnsafe(0)}function f(t,e,i){var a=n[t.toLowerCase()];if(!a)throw new TypeError("invalid suite type");if("string"==typeof e&&(e=o.from(e)),e.length!==a.key/8)throw new TypeError("invalid key length "+e.length);if("string"==typeof i&&(i=o.from(i)),"GCM"!==a.mode&&i.length!==a.iv)throw new TypeError("invalid iv length "+i.length);return"stream"===a.type?new s(a.module,e,i):"auth"===a.type?new r(a.module,e,i):new h(a.module,e,i)}h.prototype._final=function(){var t=this._cache.flush();if(this._autopadding)return t=this._mode.encrypt(this,t),this._cipher.scrub(),t;if(!t.equals(l))throw this._cipher.scrub(),new Error("data not multiple of block length")},h.prototype.setAutoPadding=function(t){return this._autopadding=!!t,this},d.prototype.add=function(t){this.cache=o.concat([this.cache,t])},d.prototype.get=function(){if(this.cache.length>15){var t=this.cache.slice(0,16);return this.cache=this.cache.slice(16),t}return null},d.prototype.flush=function(){for(var t=16-this.cache.length,e=o.allocUnsafe(t),i=-1;++i>>0,0),e.writeUInt32BE(t[1]>>>0,4),e.writeUInt32BE(t[2]>>>0,8),e.writeUInt32BE(t[3]>>>0,12),e}function s(t){this.h=t,this.state=n.alloc(16,0),this.cache=n.allocUnsafe(0)}s.prototype.ghash=function(t){for(var e=-1;++e0;e--)n[e]=n[e]>>>1|(1&n[e-1])<<31;n[0]=n[0]>>>1,i&&(n[0]=n[0]^225<<24)}this.state=o(r)},s.prototype.update=function(t){var e;for(this.cache=n.concat([this.cache,t]);this.cache.length>=16;)e=this.cache.slice(0,16),this.cache=this.cache.slice(16),this.ghash(e)},s.prototype.final=function(t,e){return this.cache.length&&this.ghash(n.concat([this.cache,r],16)),this.ghash(o([0,t,0,e])),this.state},t.exports=s},45122(t){t.exports=function(t){for(var e,i=t.length;i--;){if(255!==(e=t.readUInt8(i))){e++,t.writeUInt8(e,i);break}t.writeUInt8(0,i)}}},92884(t,e,i){var n=i(30295);e.encrypt=function(t,e){var i=n(e,t._prev);return t._prev=t._cipher.encryptBlock(i),t._prev},e.decrypt=function(t,e){var i=t._prev;t._prev=e;var r=t._cipher.decryptBlock(e);return n(r,i)}},46383(t,e,i){var n=i(92861).Buffer,r=i(30295);function o(t,e,i){var o=e.length,s=r(e,t._cache);return t._cache=t._cache.slice(o),t._prev=n.concat([t._prev,i?e:s]),s}e.encrypt=function(t,e,i){for(var r,s=n.allocUnsafe(0);e.length;){if(0===t._cache.length&&(t._cache=t._cipher.encryptBlock(t._prev),t._prev=n.allocUnsafe(0)),!(t._cache.length<=e.length)){s=n.concat([s,o(t,e,i)]);break}r=t._cache.length,s=n.concat([s,o(t,e.slice(0,r),i)]),e=e.slice(r)}return s}},55264(t,e,i){var n=i(92861).Buffer;function r(t,e,i){for(var n,r,s=-1,a=0;++s<8;)n=e&1<<7-s?128:0,a+=(128&(r=t._cipher.encryptBlock(t._prev)[0]^n))>>s%8,t._prev=o(t._prev,i?n:r);return a}function o(t,e){var i=t.length,r=-1,o=n.allocUnsafe(t.length);for(t=n.concat([t,n.from([e])]);++r>7;return o}e.encrypt=function(t,e,i){for(var o=e.length,s=n.allocUnsafe(o),a=-1;++a=0||!e.umod(t.prime1)||!e.umod(t.prime2));return e}function a(t,e){var i=function(t){var e=s(t);return{blinder:e.toRed(n.mont(t.modulus)).redPow(new n(t.publicExponent)).fromRed(),unblinder:e.invm(t.modulus)}}(e),r=e.modulus.byteLength(),a=new n(t).mul(i.blinder).umod(e.modulus),u=a.toRed(n.mont(e.prime1)),c=a.toRed(n.mont(e.prime2)),h=e.coefficient,l=e.prime1,d=e.prime2,f=u.redPow(e.exponent1).fromRed(),p=c.redPow(e.exponent2).fromRed(),g=f.isub(p).imul(h).umod(l).imul(d);return p.iadd(g).imul(i.unblinder).umod(e.modulus).toArrayLike(o,"be",r)}a.getr=s,t.exports=a},55715(t,e,i){"use strict";t.exports=i(62951)},20(t,e,i){"use strict";var n=i(92861).Buffer,r=i(47108),o=i(28399),s=i(56698),a=i(35359),u=i(74847),c=i(62951);function h(t){o.Writable.call(this);var e=c[t];if(!e)throw new Error("Unknown message digest");this._hashType=e.hash,this._hash=r(e.hash),this._tag=e.id,this._signType=e.sign}function l(t){o.Writable.call(this);var e=c[t];if(!e)throw new Error("Unknown message digest");this._hash=r(e.hash),this._tag=e.id,this._signType=e.sign}function d(t){return new h(t)}function f(t){return new l(t)}Object.keys(c).forEach(function(t){c[t].id=n.from(c[t].id,"hex"),c[t.toLowerCase()]=c[t]}),s(h,o.Writable),h.prototype._write=function(t,e,i){this._hash.update(t),i()},h.prototype.update=function(t,e){return this._hash.update("string"==typeof t?n.from(t,e):t),this},h.prototype.sign=function(t,e){this.end();var i=this._hash.digest(),n=a(i,t,this._hashType,this._signType,this._tag);return e?n.toString(e):n},s(l,o.Writable),l.prototype._write=function(t,e,i){this._hash.update(t),i()},l.prototype.update=function(t,e){return this._hash.update("string"==typeof t?n.from(t,e):t),this},l.prototype.verify=function(t,e,i){var r="string"==typeof e?n.from(e,i):e;this.end();var o=this._hash.digest();return u(r,o,t,this._signType,this._tag)},t.exports={Sign:d,Verify:f,createSign:d,createVerify:f}},35359(t,e,i){"use strict";var n=i(92861).Buffer,r=i(83507),o=i(67332),s=i(86729).ec,a=i(39404),u=i(78170),c=i(64589);function h(t,e,i,o){if((t=n.from(t.toArray())).length0&&i.ishrn(n),i}function d(t,e,i){var o,s;do{for(o=n.alloc(0);8*o.length=0)throw new Error("invalid sig")}t.exports=function(t,e,i,c,h){var l=s(i);if("ec"===l.type){if("ecdsa"!==c&&"ecdsa/rsa"!==c)throw new Error("wrong public key type");return function(t,e,i){var n=a[i.data.algorithm.curve.join(".")];if(!n)throw new Error("unknown curve "+i.data.algorithm.curve.join("."));var r=new o(n),s=i.data.subjectPrivateKey.data;return r.verify(e,t,s)}(t,e,l)}if("dsa"===l.type){if("dsa"!==c)throw new Error("wrong public key type");return function(t,e,i){var n=i.data.p,o=i.data.q,a=i.data.g,c=i.data.pub_key,h=s.signature.decode(t,"der"),l=h.s,d=h.r;u(l,o),u(d,o);var f=r.mont(n),p=l.invm(o);return 0===a.toRed(f).redPow(new r(e).mul(p).mod(o)).fromRed().mul(c.toRed(f).redPow(d.mul(p).mod(o)).fromRed()).mod(n).mod(o).cmp(d)}(t,e,l)}if("rsa"!==c&&"ecdsa/rsa"!==c)throw new Error("wrong public key type");e=n.concat([h,e]);for(var d=l.modulus.byteLength(),f=[1],p=0;e.length+f.length+21&&void 0!==arguments[1]?arguments[1]:{container:document.body},i="";return"string"==typeof t?i=l(t,e):t instanceof HTMLInputElement&&!["text","search","url","tel","password"].includes(null==t?void 0:t.type)?i=l(t.value,e):(i=u()(t),c("copy")),i};function f(t){return f="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},f(t)}function p(t){return p="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},p(t)}function g(t,e){for(var i=0;i0&&void 0!==arguments[0]?arguments[0]:{};this.action="function"==typeof t.action?t.action:this.defaultAction,this.target="function"==typeof t.target?t.target:this.defaultTarget,this.text="function"==typeof t.text?t.text:this.defaultText,this.container="object"===p(t.container)?t.container:document.body}},{key:"listenClick",value:function(t){var e=this;this.listener=s()(t,"click",function(t){return e.onClick(t)})}},{key:"onClick",value:function(t){var e=t.delegateTarget||t.currentTarget,i=this.action(e)||"copy",n=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.action,i=void 0===e?"copy":e,n=t.container,r=t.target,o=t.text;if("copy"!==i&&"cut"!==i)throw new Error('Invalid "action" value, use either "copy" or "cut"');if(void 0!==r){if(!r||"object"!==f(r)||1!==r.nodeType)throw new Error('Invalid "target" value, use a valid Element');if("copy"===i&&r.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if("cut"===i&&(r.hasAttribute("readonly")||r.hasAttribute("disabled")))throw new Error('Invalid "target" attribute. You can\'t cut text from elements with "readonly" or "disabled" attributes')}return o?d(o,{container:n}):r?"cut"===i?h(r):d(r,{container:n}):void 0}({action:i,container:this.container,target:this.target(e),text:this.text(e)});this.emit(n?"success":"error",{action:i,text:n,trigger:e,clearSelection:function(){e&&e.focus(),window.getSelection().removeAllRanges()}})}},{key:"defaultAction",value:function(t){return v("action",t)}},{key:"defaultTarget",value:function(t){var e=v("target",t);if(e)return document.querySelector(e)}},{key:"defaultText",value:function(t){return v("text",t)}},{key:"destroy",value:function(){this.listener.destroy()}}],n=[{key:"copy",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{container:document.body};return d(t,e)}},{key:"cut",value:function(t){return h(t)}},{key:"isSupported",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:["copy","cut"],e="string"==typeof t?[t]:t,i=!!document.queryCommandSupported;return e.forEach(function(t){i=i&&!!document.queryCommandSupported(t)}),i}}],i&&g(e.prototype,i),n&&g(e,n),u}(r()),y=b},828:function(t){if("undefined"!=typeof Element&&!Element.prototype.matches){var e=Element.prototype;e.matches=e.matchesSelector||e.mozMatchesSelector||e.msMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector}t.exports=function(t,e){for(;t&&9!==t.nodeType;){if("function"==typeof t.matches&&t.matches(e))return t;t=t.parentNode}}},438:function(t,e,i){var n=i(828);function r(t,e,i,n,r){var s=o.apply(this,arguments);return t.addEventListener(i,s,r),{destroy:function(){t.removeEventListener(i,s,r)}}}function o(t,e,i,r){return function(i){i.delegateTarget=n(i.target,e),i.delegateTarget&&r.call(t,i)}}t.exports=function(t,e,i,n,o){return"function"==typeof t.addEventListener?r.apply(null,arguments):"function"==typeof i?r.bind(null,document).apply(null,arguments):("string"==typeof t&&(t=document.querySelectorAll(t)),Array.prototype.map.call(t,function(t){return r(t,e,i,n,o)}))}},879:function(t,e){e.node=function(t){return void 0!==t&&t instanceof HTMLElement&&1===t.nodeType},e.nodeList=function(t){var i=Object.prototype.toString.call(t);return void 0!==t&&("[object NodeList]"===i||"[object HTMLCollection]"===i)&&"length"in t&&(0===t.length||e.node(t[0]))},e.string=function(t){return"string"==typeof t||t instanceof String},e.fn=function(t){return"[object Function]"===Object.prototype.toString.call(t)}},370:function(t,e,i){var n=i(879),r=i(438);t.exports=function(t,e,i){if(!t&&!e&&!i)throw new Error("Missing required arguments");if(!n.string(e))throw new TypeError("Second argument must be a String");if(!n.fn(i))throw new TypeError("Third argument must be a Function");if(n.node(t))return function(t,e,i){return t.addEventListener(e,i),{destroy:function(){t.removeEventListener(e,i)}}}(t,e,i);if(n.nodeList(t))return function(t,e,i){return Array.prototype.forEach.call(t,function(t){t.addEventListener(e,i)}),{destroy:function(){Array.prototype.forEach.call(t,function(t){t.removeEventListener(e,i)})}}}(t,e,i);if(n.string(t))return function(t,e,i){return r(document.body,t,e,i)}(t,e,i);throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList")}},817:function(t){t.exports=function(t){var e;if("SELECT"===t.nodeName)t.focus(),e=t.value;else if("INPUT"===t.nodeName||"TEXTAREA"===t.nodeName){var i=t.hasAttribute("readonly");i||t.setAttribute("readonly",""),t.select(),t.setSelectionRange(0,t.value.length),i||t.removeAttribute("readonly"),e=t.value}else{t.hasAttribute("contenteditable")&&t.focus();var n=window.getSelection(),r=document.createRange();r.selectNodeContents(t),n.removeAllRanges(),n.addRange(r),e=n.toString()}return e}},279:function(t){function e(){}e.prototype={on:function(t,e,i){var n=this.e||(this.e={});return(n[t]||(n[t]=[])).push({fn:e,ctx:i}),this},once:function(t,e,i){var n=this;function r(){n.off(t,r),e.apply(i,arguments)}return r._=e,this.on(t,r,i)},emit:function(t){for(var e=[].slice.call(arguments,1),i=((this.e||(this.e={}))[t]||[]).slice(),n=0,r=i.length;n=65&&i<=70?i-55:i>=97&&i<=102?i-87:i-48&15}function u(t,e,i){var n=a(t,i);return i-1>=e&&(n|=a(t,i-1)<<4),n}function c(t,e,i,n){for(var r=0,o=Math.min(t.length,i),s=e;s=49?a-49+10:a>=17?a-17+10:a}return r}o.isBN=function(t){return t instanceof o||null!==t&&"object"==typeof t&&t.constructor.wordSize===o.wordSize&&Array.isArray(t.words)},o.max=function(t,e){return t.cmp(e)>0?t:e},o.min=function(t,e){return t.cmp(e)<0?t:e},o.prototype._init=function(t,e,i){if("number"==typeof t)return this._initNumber(t,e,i);if("object"==typeof t)return this._initArray(t,e,i);"hex"===e&&(e=16),n(e===(0|e)&&e>=2&&e<=36);var r=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(r++,this.negative=1),r=0;r-=3)s=t[r]|t[r-1]<<8|t[r-2]<<16,this.words[o]|=s<>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);else if("le"===i)for(r=0,o=0;r>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);return this.strip()},o.prototype._parseHex=function(t,e,i){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var n=0;n=e;n-=2)r=u(t,e,n)<=18?(o-=18,s+=1,this.words[s]|=r>>>26):o+=8;else for(n=(t.length-e)%2==0?e+1:e;n=18?(o-=18,s+=1,this.words[s]|=r>>>26):o+=8;this.strip()},o.prototype._parseBase=function(t,e,i){this.words=[0],this.length=1;for(var n=0,r=1;r<=67108863;r*=e)n++;n--,r=r/e|0;for(var o=t.length-i,s=o%n,a=Math.min(o,o-s)+i,u=0,h=i;h1&&0===this.words[this.length-1];)this.length--;return this._normSign()},o.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},o.prototype.inspect=function(){return(this.red?""};var h=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],l=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],d=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function f(t,e,i){i.negative=e.negative^t.negative;var n=t.length+e.length|0;i.length=n,n=n-1|0;var r=0|t.words[0],o=0|e.words[0],s=r*o,a=67108863&s,u=s/67108864|0;i.words[0]=a;for(var c=1;c>>26,l=67108863&u,d=Math.min(c,e.length-1),f=Math.max(0,c-t.length+1);f<=d;f++){var p=c-f|0;h+=(s=(r=0|t.words[p])*(o=0|e.words[f])+l)/67108864|0,l=67108863&s}i.words[c]=0|l,u=0|h}return 0!==u?i.words[c]=0|u:i.length--,i.strip()}o.prototype.toString=function(t,e){var i;if(e=0|e||1,16===(t=t||10)||"hex"===t){i="";for(var r=0,o=0,s=0;s>>24-r&16777215,(r+=2)>=26&&(r-=26,s--),i=0!==o||s!==this.length-1?h[6-u.length]+u+i:u+i}for(0!==o&&(i=o.toString(16)+i);i.length%e!==0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}if(t===(0|t)&&t>=2&&t<=36){var c=l[t],f=d[t];i="";var p=this.clone();for(p.negative=0;!p.isZero();){var g=p.modn(f).toString(t);i=(p=p.idivn(f)).isZero()?g+i:h[c-g.length]+g+i}for(this.isZero()&&(i="0"+i);i.length%e!==0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}n(!1,"Base should be between 2 and 36")},o.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},o.prototype.toJSON=function(){return this.toString(16)},o.prototype.toBuffer=function(t,e){return n(void 0!==s),this.toArrayLike(s,t,e)},o.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},o.prototype.toArrayLike=function(t,e,i){var r=this.byteLength(),o=i||Math.max(1,r);n(r<=o,"byte array longer than desired length"),n(o>0,"Requested array length <= 0"),this.strip();var s,a,u="le"===e,c=new t(o),h=this.clone();if(u){for(a=0;!h.isZero();a++)s=h.andln(255),h.iushrn(8),c[a]=s;for(;a=4096&&(i+=13,e>>>=13),e>=64&&(i+=7,e>>>=7),e>=8&&(i+=4,e>>>=4),e>=2&&(i+=2,e>>>=2),i+e},o.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,i=0;return 8191&e||(i+=13,e>>>=13),127&e||(i+=7,e>>>=7),15&e||(i+=4,e>>>=4),3&e||(i+=2,e>>>=2),1&e||i++,i},o.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},o.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},o.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},o.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var i=0;it.length?this.clone().iand(t):t.clone().iand(this)},o.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},o.prototype.iuxor=function(t){var e,i;this.length>t.length?(e=this,i=t):(e=t,i=this);for(var n=0;nt.length?this.clone().ixor(t):t.clone().ixor(this)},o.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},o.prototype.inotn=function(t){n("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),i=t%26;this._expand(e),i>0&&e--;for(var r=0;r0&&(this.words[r]=~this.words[r]&67108863>>26-i),this.strip()},o.prototype.notn=function(t){return this.clone().inotn(t)},o.prototype.setn=function(t,e){n("number"==typeof t&&t>=0);var i=t/26|0,r=t%26;return this._expand(i+1),this.words[i]=e?this.words[i]|1<t.length?(i=this,n=t):(i=t,n=this);for(var r=0,o=0;o>>26;for(;0!==r&&o>>26;if(this.length=i.length,0!==r)this.words[this.length]=r,this.length++;else if(i!==this)for(;ot.length?this.clone().iadd(t):t.clone().iadd(this)},o.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var i,n,r=this.cmp(t);if(0===r)return this.negative=0,this.length=1,this.words[0]=0,this;r>0?(i=this,n=t):(i=t,n=this);for(var o=0,s=0;s>26,this.words[s]=67108863&e;for(;0!==o&&s>26,this.words[s]=67108863&e;if(0===o&&s>>13,f=0|s[1],p=8191&f,g=f>>>13,A=0|s[2],m=8191&A,v=A>>>13,b=0|s[3],y=8191&b,w=b>>>13,C=0|s[4],x=8191&C,k=C>>>13,_=0|s[5],M=8191&_,B=_>>>13,E=0|s[6],I=8191&E,S=E>>>13,D=0|s[7],T=8191&D,O=D>>>13,P=0|s[8],R=8191&P,z=P>>>13,N=0|s[9],H=8191&N,j=N>>>13,L=0|a[0],U=8191&L,q=L>>>13,F=0|a[1],W=8191&F,Y=F>>>13,Q=0|a[2],G=8191&Q,V=Q>>>13,K=0|a[3],X=8191&K,Z=K>>>13,J=0|a[4],$=8191&J,tt=J>>>13,et=0|a[5],it=8191&et,nt=et>>>13,rt=0|a[6],ot=8191&rt,st=rt>>>13,at=0|a[7],ut=8191&at,ct=at>>>13,ht=0|a[8],lt=8191&ht,dt=ht>>>13,ft=0|a[9],pt=8191&ft,gt=ft>>>13;i.negative=t.negative^e.negative,i.length=19;var At=(c+(n=Math.imul(l,U))|0)+((8191&(r=(r=Math.imul(l,q))+Math.imul(d,U)|0))<<13)|0;c=((o=Math.imul(d,q))+(r>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(p,U),r=(r=Math.imul(p,q))+Math.imul(g,U)|0,o=Math.imul(g,q);var mt=(c+(n=n+Math.imul(l,W)|0)|0)+((8191&(r=(r=r+Math.imul(l,Y)|0)+Math.imul(d,W)|0))<<13)|0;c=((o=o+Math.imul(d,Y)|0)+(r>>>13)|0)+(mt>>>26)|0,mt&=67108863,n=Math.imul(m,U),r=(r=Math.imul(m,q))+Math.imul(v,U)|0,o=Math.imul(v,q),n=n+Math.imul(p,W)|0,r=(r=r+Math.imul(p,Y)|0)+Math.imul(g,W)|0,o=o+Math.imul(g,Y)|0;var vt=(c+(n=n+Math.imul(l,G)|0)|0)+((8191&(r=(r=r+Math.imul(l,V)|0)+Math.imul(d,G)|0))<<13)|0;c=((o=o+Math.imul(d,V)|0)+(r>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(y,U),r=(r=Math.imul(y,q))+Math.imul(w,U)|0,o=Math.imul(w,q),n=n+Math.imul(m,W)|0,r=(r=r+Math.imul(m,Y)|0)+Math.imul(v,W)|0,o=o+Math.imul(v,Y)|0,n=n+Math.imul(p,G)|0,r=(r=r+Math.imul(p,V)|0)+Math.imul(g,G)|0,o=o+Math.imul(g,V)|0;var bt=(c+(n=n+Math.imul(l,X)|0)|0)+((8191&(r=(r=r+Math.imul(l,Z)|0)+Math.imul(d,X)|0))<<13)|0;c=((o=o+Math.imul(d,Z)|0)+(r>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(x,U),r=(r=Math.imul(x,q))+Math.imul(k,U)|0,o=Math.imul(k,q),n=n+Math.imul(y,W)|0,r=(r=r+Math.imul(y,Y)|0)+Math.imul(w,W)|0,o=o+Math.imul(w,Y)|0,n=n+Math.imul(m,G)|0,r=(r=r+Math.imul(m,V)|0)+Math.imul(v,G)|0,o=o+Math.imul(v,V)|0,n=n+Math.imul(p,X)|0,r=(r=r+Math.imul(p,Z)|0)+Math.imul(g,X)|0,o=o+Math.imul(g,Z)|0;var yt=(c+(n=n+Math.imul(l,$)|0)|0)+((8191&(r=(r=r+Math.imul(l,tt)|0)+Math.imul(d,$)|0))<<13)|0;c=((o=o+Math.imul(d,tt)|0)+(r>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(M,U),r=(r=Math.imul(M,q))+Math.imul(B,U)|0,o=Math.imul(B,q),n=n+Math.imul(x,W)|0,r=(r=r+Math.imul(x,Y)|0)+Math.imul(k,W)|0,o=o+Math.imul(k,Y)|0,n=n+Math.imul(y,G)|0,r=(r=r+Math.imul(y,V)|0)+Math.imul(w,G)|0,o=o+Math.imul(w,V)|0,n=n+Math.imul(m,X)|0,r=(r=r+Math.imul(m,Z)|0)+Math.imul(v,X)|0,o=o+Math.imul(v,Z)|0,n=n+Math.imul(p,$)|0,r=(r=r+Math.imul(p,tt)|0)+Math.imul(g,$)|0,o=o+Math.imul(g,tt)|0;var wt=(c+(n=n+Math.imul(l,it)|0)|0)+((8191&(r=(r=r+Math.imul(l,nt)|0)+Math.imul(d,it)|0))<<13)|0;c=((o=o+Math.imul(d,nt)|0)+(r>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(I,U),r=(r=Math.imul(I,q))+Math.imul(S,U)|0,o=Math.imul(S,q),n=n+Math.imul(M,W)|0,r=(r=r+Math.imul(M,Y)|0)+Math.imul(B,W)|0,o=o+Math.imul(B,Y)|0,n=n+Math.imul(x,G)|0,r=(r=r+Math.imul(x,V)|0)+Math.imul(k,G)|0,o=o+Math.imul(k,V)|0,n=n+Math.imul(y,X)|0,r=(r=r+Math.imul(y,Z)|0)+Math.imul(w,X)|0,o=o+Math.imul(w,Z)|0,n=n+Math.imul(m,$)|0,r=(r=r+Math.imul(m,tt)|0)+Math.imul(v,$)|0,o=o+Math.imul(v,tt)|0,n=n+Math.imul(p,it)|0,r=(r=r+Math.imul(p,nt)|0)+Math.imul(g,it)|0,o=o+Math.imul(g,nt)|0;var Ct=(c+(n=n+Math.imul(l,ot)|0)|0)+((8191&(r=(r=r+Math.imul(l,st)|0)+Math.imul(d,ot)|0))<<13)|0;c=((o=o+Math.imul(d,st)|0)+(r>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,n=Math.imul(T,U),r=(r=Math.imul(T,q))+Math.imul(O,U)|0,o=Math.imul(O,q),n=n+Math.imul(I,W)|0,r=(r=r+Math.imul(I,Y)|0)+Math.imul(S,W)|0,o=o+Math.imul(S,Y)|0,n=n+Math.imul(M,G)|0,r=(r=r+Math.imul(M,V)|0)+Math.imul(B,G)|0,o=o+Math.imul(B,V)|0,n=n+Math.imul(x,X)|0,r=(r=r+Math.imul(x,Z)|0)+Math.imul(k,X)|0,o=o+Math.imul(k,Z)|0,n=n+Math.imul(y,$)|0,r=(r=r+Math.imul(y,tt)|0)+Math.imul(w,$)|0,o=o+Math.imul(w,tt)|0,n=n+Math.imul(m,it)|0,r=(r=r+Math.imul(m,nt)|0)+Math.imul(v,it)|0,o=o+Math.imul(v,nt)|0,n=n+Math.imul(p,ot)|0,r=(r=r+Math.imul(p,st)|0)+Math.imul(g,ot)|0,o=o+Math.imul(g,st)|0;var xt=(c+(n=n+Math.imul(l,ut)|0)|0)+((8191&(r=(r=r+Math.imul(l,ct)|0)+Math.imul(d,ut)|0))<<13)|0;c=((o=o+Math.imul(d,ct)|0)+(r>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(R,U),r=(r=Math.imul(R,q))+Math.imul(z,U)|0,o=Math.imul(z,q),n=n+Math.imul(T,W)|0,r=(r=r+Math.imul(T,Y)|0)+Math.imul(O,W)|0,o=o+Math.imul(O,Y)|0,n=n+Math.imul(I,G)|0,r=(r=r+Math.imul(I,V)|0)+Math.imul(S,G)|0,o=o+Math.imul(S,V)|0,n=n+Math.imul(M,X)|0,r=(r=r+Math.imul(M,Z)|0)+Math.imul(B,X)|0,o=o+Math.imul(B,Z)|0,n=n+Math.imul(x,$)|0,r=(r=r+Math.imul(x,tt)|0)+Math.imul(k,$)|0,o=o+Math.imul(k,tt)|0,n=n+Math.imul(y,it)|0,r=(r=r+Math.imul(y,nt)|0)+Math.imul(w,it)|0,o=o+Math.imul(w,nt)|0,n=n+Math.imul(m,ot)|0,r=(r=r+Math.imul(m,st)|0)+Math.imul(v,ot)|0,o=o+Math.imul(v,st)|0,n=n+Math.imul(p,ut)|0,r=(r=r+Math.imul(p,ct)|0)+Math.imul(g,ut)|0,o=o+Math.imul(g,ct)|0;var kt=(c+(n=n+Math.imul(l,lt)|0)|0)+((8191&(r=(r=r+Math.imul(l,dt)|0)+Math.imul(d,lt)|0))<<13)|0;c=((o=o+Math.imul(d,dt)|0)+(r>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(H,U),r=(r=Math.imul(H,q))+Math.imul(j,U)|0,o=Math.imul(j,q),n=n+Math.imul(R,W)|0,r=(r=r+Math.imul(R,Y)|0)+Math.imul(z,W)|0,o=o+Math.imul(z,Y)|0,n=n+Math.imul(T,G)|0,r=(r=r+Math.imul(T,V)|0)+Math.imul(O,G)|0,o=o+Math.imul(O,V)|0,n=n+Math.imul(I,X)|0,r=(r=r+Math.imul(I,Z)|0)+Math.imul(S,X)|0,o=o+Math.imul(S,Z)|0,n=n+Math.imul(M,$)|0,r=(r=r+Math.imul(M,tt)|0)+Math.imul(B,$)|0,o=o+Math.imul(B,tt)|0,n=n+Math.imul(x,it)|0,r=(r=r+Math.imul(x,nt)|0)+Math.imul(k,it)|0,o=o+Math.imul(k,nt)|0,n=n+Math.imul(y,ot)|0,r=(r=r+Math.imul(y,st)|0)+Math.imul(w,ot)|0,o=o+Math.imul(w,st)|0,n=n+Math.imul(m,ut)|0,r=(r=r+Math.imul(m,ct)|0)+Math.imul(v,ut)|0,o=o+Math.imul(v,ct)|0,n=n+Math.imul(p,lt)|0,r=(r=r+Math.imul(p,dt)|0)+Math.imul(g,lt)|0,o=o+Math.imul(g,dt)|0;var _t=(c+(n=n+Math.imul(l,pt)|0)|0)+((8191&(r=(r=r+Math.imul(l,gt)|0)+Math.imul(d,pt)|0))<<13)|0;c=((o=o+Math.imul(d,gt)|0)+(r>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(H,W),r=(r=Math.imul(H,Y))+Math.imul(j,W)|0,o=Math.imul(j,Y),n=n+Math.imul(R,G)|0,r=(r=r+Math.imul(R,V)|0)+Math.imul(z,G)|0,o=o+Math.imul(z,V)|0,n=n+Math.imul(T,X)|0,r=(r=r+Math.imul(T,Z)|0)+Math.imul(O,X)|0,o=o+Math.imul(O,Z)|0,n=n+Math.imul(I,$)|0,r=(r=r+Math.imul(I,tt)|0)+Math.imul(S,$)|0,o=o+Math.imul(S,tt)|0,n=n+Math.imul(M,it)|0,r=(r=r+Math.imul(M,nt)|0)+Math.imul(B,it)|0,o=o+Math.imul(B,nt)|0,n=n+Math.imul(x,ot)|0,r=(r=r+Math.imul(x,st)|0)+Math.imul(k,ot)|0,o=o+Math.imul(k,st)|0,n=n+Math.imul(y,ut)|0,r=(r=r+Math.imul(y,ct)|0)+Math.imul(w,ut)|0,o=o+Math.imul(w,ct)|0,n=n+Math.imul(m,lt)|0,r=(r=r+Math.imul(m,dt)|0)+Math.imul(v,lt)|0,o=o+Math.imul(v,dt)|0;var Mt=(c+(n=n+Math.imul(p,pt)|0)|0)+((8191&(r=(r=r+Math.imul(p,gt)|0)+Math.imul(g,pt)|0))<<13)|0;c=((o=o+Math.imul(g,gt)|0)+(r>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(H,G),r=(r=Math.imul(H,V))+Math.imul(j,G)|0,o=Math.imul(j,V),n=n+Math.imul(R,X)|0,r=(r=r+Math.imul(R,Z)|0)+Math.imul(z,X)|0,o=o+Math.imul(z,Z)|0,n=n+Math.imul(T,$)|0,r=(r=r+Math.imul(T,tt)|0)+Math.imul(O,$)|0,o=o+Math.imul(O,tt)|0,n=n+Math.imul(I,it)|0,r=(r=r+Math.imul(I,nt)|0)+Math.imul(S,it)|0,o=o+Math.imul(S,nt)|0,n=n+Math.imul(M,ot)|0,r=(r=r+Math.imul(M,st)|0)+Math.imul(B,ot)|0,o=o+Math.imul(B,st)|0,n=n+Math.imul(x,ut)|0,r=(r=r+Math.imul(x,ct)|0)+Math.imul(k,ut)|0,o=o+Math.imul(k,ct)|0,n=n+Math.imul(y,lt)|0,r=(r=r+Math.imul(y,dt)|0)+Math.imul(w,lt)|0,o=o+Math.imul(w,dt)|0;var Bt=(c+(n=n+Math.imul(m,pt)|0)|0)+((8191&(r=(r=r+Math.imul(m,gt)|0)+Math.imul(v,pt)|0))<<13)|0;c=((o=o+Math.imul(v,gt)|0)+(r>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,n=Math.imul(H,X),r=(r=Math.imul(H,Z))+Math.imul(j,X)|0,o=Math.imul(j,Z),n=n+Math.imul(R,$)|0,r=(r=r+Math.imul(R,tt)|0)+Math.imul(z,$)|0,o=o+Math.imul(z,tt)|0,n=n+Math.imul(T,it)|0,r=(r=r+Math.imul(T,nt)|0)+Math.imul(O,it)|0,o=o+Math.imul(O,nt)|0,n=n+Math.imul(I,ot)|0,r=(r=r+Math.imul(I,st)|0)+Math.imul(S,ot)|0,o=o+Math.imul(S,st)|0,n=n+Math.imul(M,ut)|0,r=(r=r+Math.imul(M,ct)|0)+Math.imul(B,ut)|0,o=o+Math.imul(B,ct)|0,n=n+Math.imul(x,lt)|0,r=(r=r+Math.imul(x,dt)|0)+Math.imul(k,lt)|0,o=o+Math.imul(k,dt)|0;var Et=(c+(n=n+Math.imul(y,pt)|0)|0)+((8191&(r=(r=r+Math.imul(y,gt)|0)+Math.imul(w,pt)|0))<<13)|0;c=((o=o+Math.imul(w,gt)|0)+(r>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(H,$),r=(r=Math.imul(H,tt))+Math.imul(j,$)|0,o=Math.imul(j,tt),n=n+Math.imul(R,it)|0,r=(r=r+Math.imul(R,nt)|0)+Math.imul(z,it)|0,o=o+Math.imul(z,nt)|0,n=n+Math.imul(T,ot)|0,r=(r=r+Math.imul(T,st)|0)+Math.imul(O,ot)|0,o=o+Math.imul(O,st)|0,n=n+Math.imul(I,ut)|0,r=(r=r+Math.imul(I,ct)|0)+Math.imul(S,ut)|0,o=o+Math.imul(S,ct)|0,n=n+Math.imul(M,lt)|0,r=(r=r+Math.imul(M,dt)|0)+Math.imul(B,lt)|0,o=o+Math.imul(B,dt)|0;var It=(c+(n=n+Math.imul(x,pt)|0)|0)+((8191&(r=(r=r+Math.imul(x,gt)|0)+Math.imul(k,pt)|0))<<13)|0;c=((o=o+Math.imul(k,gt)|0)+(r>>>13)|0)+(It>>>26)|0,It&=67108863,n=Math.imul(H,it),r=(r=Math.imul(H,nt))+Math.imul(j,it)|0,o=Math.imul(j,nt),n=n+Math.imul(R,ot)|0,r=(r=r+Math.imul(R,st)|0)+Math.imul(z,ot)|0,o=o+Math.imul(z,st)|0,n=n+Math.imul(T,ut)|0,r=(r=r+Math.imul(T,ct)|0)+Math.imul(O,ut)|0,o=o+Math.imul(O,ct)|0,n=n+Math.imul(I,lt)|0,r=(r=r+Math.imul(I,dt)|0)+Math.imul(S,lt)|0,o=o+Math.imul(S,dt)|0;var St=(c+(n=n+Math.imul(M,pt)|0)|0)+((8191&(r=(r=r+Math.imul(M,gt)|0)+Math.imul(B,pt)|0))<<13)|0;c=((o=o+Math.imul(B,gt)|0)+(r>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(H,ot),r=(r=Math.imul(H,st))+Math.imul(j,ot)|0,o=Math.imul(j,st),n=n+Math.imul(R,ut)|0,r=(r=r+Math.imul(R,ct)|0)+Math.imul(z,ut)|0,o=o+Math.imul(z,ct)|0,n=n+Math.imul(T,lt)|0,r=(r=r+Math.imul(T,dt)|0)+Math.imul(O,lt)|0,o=o+Math.imul(O,dt)|0;var Dt=(c+(n=n+Math.imul(I,pt)|0)|0)+((8191&(r=(r=r+Math.imul(I,gt)|0)+Math.imul(S,pt)|0))<<13)|0;c=((o=o+Math.imul(S,gt)|0)+(r>>>13)|0)+(Dt>>>26)|0,Dt&=67108863,n=Math.imul(H,ut),r=(r=Math.imul(H,ct))+Math.imul(j,ut)|0,o=Math.imul(j,ct),n=n+Math.imul(R,lt)|0,r=(r=r+Math.imul(R,dt)|0)+Math.imul(z,lt)|0,o=o+Math.imul(z,dt)|0;var Tt=(c+(n=n+Math.imul(T,pt)|0)|0)+((8191&(r=(r=r+Math.imul(T,gt)|0)+Math.imul(O,pt)|0))<<13)|0;c=((o=o+Math.imul(O,gt)|0)+(r>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(H,lt),r=(r=Math.imul(H,dt))+Math.imul(j,lt)|0,o=Math.imul(j,dt);var Ot=(c+(n=n+Math.imul(R,pt)|0)|0)+((8191&(r=(r=r+Math.imul(R,gt)|0)+Math.imul(z,pt)|0))<<13)|0;c=((o=o+Math.imul(z,gt)|0)+(r>>>13)|0)+(Ot>>>26)|0,Ot&=67108863;var Pt=(c+(n=Math.imul(H,pt))|0)+((8191&(r=(r=Math.imul(H,gt))+Math.imul(j,pt)|0))<<13)|0;return c=((o=Math.imul(j,gt))+(r>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,u[0]=At,u[1]=mt,u[2]=vt,u[3]=bt,u[4]=yt,u[5]=wt,u[6]=Ct,u[7]=xt,u[8]=kt,u[9]=_t,u[10]=Mt,u[11]=Bt,u[12]=Et,u[13]=It,u[14]=St,u[15]=Dt,u[16]=Tt,u[17]=Ot,u[18]=Pt,0!==c&&(u[19]=c,i.length++),i};function g(t,e,i){return(new A).mulp(t,e,i)}function A(t,e){this.x=t,this.y=e}Math.imul||(p=f),o.prototype.mulTo=function(t,e){var i,n=this.length+t.length;return i=10===this.length&&10===t.length?p(this,t,e):n<63?f(this,t,e):n<1024?function(t,e,i){i.negative=e.negative^t.negative,i.length=t.length+e.length;for(var n=0,r=0,o=0;o>>26)|0)>>>26,s&=67108863}i.words[o]=a,n=s,s=r}return 0!==n?i.words[o]=n:i.length--,i.strip()}(this,t,e):g(this,t,e),i},A.prototype.makeRBT=function(t){for(var e=new Array(t),i=o.prototype._countBits(t)-1,n=0;n>=1;return n},A.prototype.permute=function(t,e,i,n,r,o){for(var s=0;s>>=1)r++;return 1<>>=13,i[2*s+1]=8191&o,o>>>=13;for(s=2*e;s>=26,e+=r/67108864|0,e+=o>>>26,this.words[i]=67108863&o}return 0!==e&&(this.words[i]=e,this.length++),this.length=0===t?1:this.length,this},o.prototype.muln=function(t){return this.clone().imuln(t)},o.prototype.sqr=function(){return this.mul(this)},o.prototype.isqr=function(){return this.imul(this.clone())},o.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),i=0;i>>r}return e}(t);if(0===e.length)return new o(1);for(var i=this,n=0;n=0);var e,i=t%26,r=(t-i)/26,o=67108863>>>26-i<<26-i;if(0!==i){var s=0;for(e=0;e>>26-i}s&&(this.words[e]=s,this.length++)}if(0!==r){for(e=this.length-1;e>=0;e--)this.words[e+r]=this.words[e];for(e=0;e=0),r=e?(e-e%26)/26:0;var o=t%26,s=Math.min((t-o)/26,this.length),a=67108863^67108863>>>o<s)for(this.length-=s,c=0;c=0&&(0!==h||c>=r);c--){var l=0|this.words[c];this.words[c]=h<<26-o|l>>>o,h=l&a}return u&&0!==h&&(u.words[u.length++]=h),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},o.prototype.ishrn=function(t,e,i){return n(0===this.negative),this.iushrn(t,e,i)},o.prototype.shln=function(t){return this.clone().ishln(t)},o.prototype.ushln=function(t){return this.clone().iushln(t)},o.prototype.shrn=function(t){return this.clone().ishrn(t)},o.prototype.ushrn=function(t){return this.clone().iushrn(t)},o.prototype.testn=function(t){n("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26,r=1<=0);var e=t%26,i=(t-e)/26;if(n(0===this.negative,"imaskn works only with positive numbers"),this.length<=i)return this;if(0!==e&&i++,this.length=Math.min(i,this.length),0!==e){var r=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},o.prototype.isubn=function(t){if(n("number"==typeof t),n(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(u/67108864|0),this.words[r+i]=67108863&o}for(;r>26,this.words[r+i]=67108863&o;if(0===a)return this.strip();for(n(-1===a),a=0,r=0;r>26,this.words[r]=67108863&o;return this.negative=1,this.strip()},o.prototype._wordDiv=function(t,e){var i=(this.length,t.length),n=this.clone(),r=t,s=0|r.words[r.length-1];0!=(i=26-this._countBits(s))&&(r=r.ushln(i),n.iushln(i),s=0|r.words[r.length-1]);var a,u=n.length-r.length;if("mod"!==e){(a=new o(null)).length=u+1,a.words=new Array(a.length);for(var c=0;c=0;l--){var d=67108864*(0|n.words[r.length+l])+(0|n.words[r.length+l-1]);for(d=Math.min(d/s|0,67108863),n._ishlnsubmul(r,d,l);0!==n.negative;)d--,n.negative=0,n._ishlnsubmul(r,1,l),n.isZero()||(n.negative^=1);a&&(a.words[l]=d)}return a&&a.strip(),n.strip(),"div"!==e&&0!==i&&n.iushrn(i),{div:a||null,mod:n}},o.prototype.divmod=function(t,e,i){return n(!t.isZero()),this.isZero()?{div:new o(0),mod:new o(0)}:0!==this.negative&&0===t.negative?(a=this.neg().divmod(t,e),"mod"!==e&&(r=a.div.neg()),"div"!==e&&(s=a.mod.neg(),i&&0!==s.negative&&s.iadd(t)),{div:r,mod:s}):0===this.negative&&0!==t.negative?(a=this.divmod(t.neg(),e),"mod"!==e&&(r=a.div.neg()),{div:r,mod:a.mod}):0!==(this.negative&t.negative)?(a=this.neg().divmod(t.neg(),e),"div"!==e&&(s=a.mod.neg(),i&&0!==s.negative&&s.isub(t)),{div:a.div,mod:s}):t.length>this.length||this.cmp(t)<0?{div:new o(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new o(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new o(this.modn(t.words[0]))}:this._wordDiv(t,e);var r,s,a},o.prototype.div=function(t){return this.divmod(t,"div",!1).div},o.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},o.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},o.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var i=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),r=t.andln(1),o=i.cmp(n);return o<0||1===r&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},o.prototype.modn=function(t){n(t<=67108863);for(var e=(1<<26)%t,i=0,r=this.length-1;r>=0;r--)i=(e*i+(0|this.words[r]))%t;return i},o.prototype.idivn=function(t){n(t<=67108863);for(var e=0,i=this.length-1;i>=0;i--){var r=(0|this.words[i])+67108864*e;this.words[i]=r/t|0,e=r%t}return this.strip()},o.prototype.divn=function(t){return this.clone().idivn(t)},o.prototype.egcd=function(t){n(0===t.negative),n(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var r=new o(1),s=new o(0),a=new o(0),u=new o(1),c=0;e.isEven()&&i.isEven();)e.iushrn(1),i.iushrn(1),++c;for(var h=i.clone(),l=e.clone();!e.isZero();){for(var d=0,f=1;0===(e.words[0]&f)&&d<26;++d,f<<=1);if(d>0)for(e.iushrn(d);d-- >0;)(r.isOdd()||s.isOdd())&&(r.iadd(h),s.isub(l)),r.iushrn(1),s.iushrn(1);for(var p=0,g=1;0===(i.words[0]&g)&&p<26;++p,g<<=1);if(p>0)for(i.iushrn(p);p-- >0;)(a.isOdd()||u.isOdd())&&(a.iadd(h),u.isub(l)),a.iushrn(1),u.iushrn(1);e.cmp(i)>=0?(e.isub(i),r.isub(a),s.isub(u)):(i.isub(e),a.isub(r),u.isub(s))}return{a,b:u,gcd:i.iushln(c)}},o.prototype._invmp=function(t){n(0===t.negative),n(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var r,s=new o(1),a=new o(0),u=i.clone();e.cmpn(1)>0&&i.cmpn(1)>0;){for(var c=0,h=1;0===(e.words[0]&h)&&c<26;++c,h<<=1);if(c>0)for(e.iushrn(c);c-- >0;)s.isOdd()&&s.iadd(u),s.iushrn(1);for(var l=0,d=1;0===(i.words[0]&d)&&l<26;++l,d<<=1);if(l>0)for(i.iushrn(l);l-- >0;)a.isOdd()&&a.iadd(u),a.iushrn(1);e.cmp(i)>=0?(e.isub(i),s.isub(a)):(i.isub(e),a.isub(s))}return(r=0===e.cmpn(1)?s:a).cmpn(0)<0&&r.iadd(t),r},o.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),i=t.clone();e.negative=0,i.negative=0;for(var n=0;e.isEven()&&i.isEven();n++)e.iushrn(1),i.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;i.isEven();)i.iushrn(1);var r=e.cmp(i);if(r<0){var o=e;e=i,i=o}else if(0===r||0===i.cmpn(1))break;e.isub(i)}return i.iushln(n)},o.prototype.invm=function(t){return this.egcd(t).a.umod(t)},o.prototype.isEven=function(){return!(1&this.words[0])},o.prototype.isOdd=function(){return!(1&~this.words[0])},o.prototype.andln=function(t){return this.words[0]&t},o.prototype.bincn=function(t){n("number"==typeof t);var e=t%26,i=(t-e)/26,r=1<>>26,a&=67108863,this.words[s]=a}return 0!==o&&(this.words[s]=o,this.length++),this},o.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},o.prototype.cmpn=function(t){var e,i=t<0;if(0!==this.negative&&!i)return-1;if(0===this.negative&&i)return 1;if(this.strip(),this.length>1)e=1;else{i&&(t=-t),n(t<=67108863,"Number is too big");var r=0|this.words[0];e=r===t?0:rt.length)return 1;if(this.length=0;i--){var n=0|this.words[i],r=0|t.words[i];if(n!==r){nr&&(e=1);break}}return e},o.prototype.gtn=function(t){return 1===this.cmpn(t)},o.prototype.gt=function(t){return 1===this.cmp(t)},o.prototype.gten=function(t){return this.cmpn(t)>=0},o.prototype.gte=function(t){return this.cmp(t)>=0},o.prototype.ltn=function(t){return-1===this.cmpn(t)},o.prototype.lt=function(t){return-1===this.cmp(t)},o.prototype.lten=function(t){return this.cmpn(t)<=0},o.prototype.lte=function(t){return this.cmp(t)<=0},o.prototype.eqn=function(t){return 0===this.cmpn(t)},o.prototype.eq=function(t){return 0===this.cmp(t)},o.red=function(t){return new x(t)},o.prototype.toRed=function(t){return n(!this.red,"Already a number in reduction context"),n(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},o.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},o.prototype._forceRed=function(t){return this.red=t,this},o.prototype.forceRed=function(t){return n(!this.red,"Already a number in reduction context"),this._forceRed(t)},o.prototype.redAdd=function(t){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},o.prototype.redIAdd=function(t){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},o.prototype.redSub=function(t){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},o.prototype.redISub=function(t){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},o.prototype.redShl=function(t){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},o.prototype.redMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},o.prototype.redIMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},o.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},o.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},o.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},o.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},o.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},o.prototype.redPow=function(t){return n(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var m={k256:null,p224:null,p192:null,p25519:null};function v(t,e){this.name=t,this.p=new o(e,16),this.n=this.p.bitLength(),this.k=new o(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function b(){v.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function y(){v.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function w(){v.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function C(){v.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function x(t){if("string"==typeof t){var e=o._prime(t);this.m=e.p,this.prime=e}else n(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function k(t){x.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new o(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}v.prototype._tmp=function(){var t=new o(null);return t.words=new Array(Math.ceil(this.n/13)),t},v.prototype.ireduce=function(t){var e,i=t;do{this.split(i,this.tmp),e=(i=(i=this.imulK(i)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e0?i.isub(this.p):void 0!==i.strip?i.strip():i._strip(),i},v.prototype.split=function(t,e){t.iushrn(this.n,0,e)},v.prototype.imulK=function(t){return t.imul(this.k)},r(b,v),b.prototype.split=function(t,e){for(var i=4194303,n=Math.min(t.length,9),r=0;r>>22,o=s}o>>>=22,t.words[r-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},b.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,i=0;i>>=26,t.words[i]=r,e=n}return 0!==e&&(t.words[t.length++]=e),t},o._prime=function(t){if(m[t])return m[t];var e;if("k256"===t)e=new b;else if("p224"===t)e=new y;else if("p192"===t)e=new w;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new C}return m[t]=e,e},x.prototype._verify1=function(t){n(0===t.negative,"red works only with positives"),n(t.red,"red works only with red numbers")},x.prototype._verify2=function(t,e){n(0===(t.negative|e.negative),"red works only with positives"),n(t.red&&t.red===e.red,"red works only with red numbers")},x.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},x.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},x.prototype.add=function(t,e){this._verify2(t,e);var i=t.add(e);return i.cmp(this.m)>=0&&i.isub(this.m),i._forceRed(this)},x.prototype.iadd=function(t,e){this._verify2(t,e);var i=t.iadd(e);return i.cmp(this.m)>=0&&i.isub(this.m),i},x.prototype.sub=function(t,e){this._verify2(t,e);var i=t.sub(e);return i.cmpn(0)<0&&i.iadd(this.m),i._forceRed(this)},x.prototype.isub=function(t,e){this._verify2(t,e);var i=t.isub(e);return i.cmpn(0)<0&&i.iadd(this.m),i},x.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},x.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},x.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},x.prototype.isqr=function(t){return this.imul(t,t.clone())},x.prototype.sqr=function(t){return this.mul(t,t)},x.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(n(e%2==1),3===e){var i=this.m.add(new o(1)).iushrn(2);return this.pow(t,i)}for(var r=this.m.subn(1),s=0;!r.isZero()&&0===r.andln(1);)s++,r.iushrn(1);n(!r.isZero());var a=new o(1).toRed(this),u=a.redNeg(),c=this.m.subn(1).iushrn(1),h=this.m.bitLength();for(h=new o(2*h*h).toRed(this);0!==this.pow(h,c).cmp(u);)h.redIAdd(u);for(var l=this.pow(h,r),d=this.pow(t,r.addn(1).iushrn(1)),f=this.pow(t,r),p=s;0!==f.cmp(a);){for(var g=f,A=0;0!==g.cmp(a);A++)g=g.redSqr();n(A=0;n--){for(var c=e.words[n],h=u-1;h>=0;h--){var l=c>>h&1;r!==i[0]&&(r=this.sqr(r)),0!==l||0!==s?(s<<=1,s|=l,(4===++a||0===n&&0===h)&&(r=this.mul(r,i[s]),a=0,s=0)):a=0}u=26}return r},x.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},x.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},o.mont=function(t){return new k(t)},r(k,x),k.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},k.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},k.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var i=t.imul(e),n=i.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),r=i.isub(n).iushrn(this.shift),o=r;return r.cmp(this.m)>=0?o=r.isub(this.m):r.cmpn(0)<0&&(o=r.iadd(this.m)),o._forceRed(this)},k.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new o(0)._forceRed(this);var i=t.mul(e),n=i.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),r=i.isub(n).iushrn(this.shift),s=r;return r.cmp(this.m)>=0?s=r.isub(this.m):r.cmpn(0)<0&&(s=r.iadd(this.m)),s._forceRed(this)},k.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(t=i.nmd(t),this)},47108(t,e,i){"use strict";var n=i(56698),r=i(88276),o=i(66011),s=i(62802),a=i(56168);function u(t){a.call(this,"digest"),this._hash=t}n(u,a),u.prototype._update=function(t){this._hash.update(t)},u.prototype._final=function(){return this._hash.digest()},t.exports=function(t){return"md5"===(t=t.toLowerCase())?new r:"rmd160"===t||"ripemd160"===t?new o:new u(s(t))}},20320(t,e,i){var n=i(88276);t.exports=function(t){return(new n).update(t).digest()}},83507(t,e,i){"use strict";var n=i(56698),r=i(41800),o=i(56168),s=i(92861).Buffer,a=i(20320),u=i(66011),c=i(62802),h=s.alloc(128);function l(t,e){o.call(this,"digest"),"string"==typeof e&&(e=s.from(e));var i="sha512"===t||"sha384"===t?128:64;this._alg=t,this._key=e,e.length>i?e=("rmd160"===t?new u:c(t)).update(e).digest():e.lengtha?e=t(e):e.lengthM});var n=i(71354),r=i.n(n),o=i(76314),s=i.n(o),a=i(4417),u=i.n(a),c=new URL(i(59699),i.b),h=new URL(i(34213),i.b),l=new URL(i(3132),i.b),d=new URL(i(19394),i.b),f=new URL(i(81972),i.b),p=new URL(i(6411),i.b),g=new URL(i(14506),i.b),A=new URL(i(64886),i.b),m=s()(r()),v=u()(c),b=u()(h),y=u()(l),w=u()(d),C=u()(f),x=u()(p),k=u()(g),_=u()(A);m.push([t.id,`/*! jQuery UI - v1.13.3 - 2024-04-26\n* https://jqueryui.com\n* Includes: core.css, accordion.css, autocomplete.css, menu.css, button.css, controlgroup.css, checkboxradio.css, datepicker.css, dialog.css, draggable.css, resizable.css, progressbar.css, selectable.css, selectmenu.css, slider.css, sortable.css, spinner.css, tabs.css, tooltip.css, theme.css\n* To view and modify this theme, visit https://jqueryui.com/themeroller/?bgShadowXPos=&bgOverlayXPos=&bgErrorXPos=&bgHighlightXPos=&bgContentXPos=&bgHeaderXPos=&bgActiveXPos=&bgHoverXPos=&bgDefaultXPos=&bgShadowYPos=&bgOverlayYPos=&bgErrorYPos=&bgHighlightYPos=&bgContentYPos=&bgHeaderYPos=&bgActiveYPos=&bgHoverYPos=&bgDefaultYPos=&bgShadowRepeat=&bgOverlayRepeat=&bgErrorRepeat=&bgHighlightRepeat=&bgContentRepeat=&bgHeaderRepeat=&bgActiveRepeat=&bgHoverRepeat=&bgDefaultRepeat=&iconsHover=url(%22images%2Fui-icons_555555_256x240.png%22)&iconsHighlight=url(%22images%2Fui-icons_777620_256x240.png%22)&iconsHeader=url(%22images%2Fui-icons_444444_256x240.png%22)&iconsError=url(%22images%2Fui-icons_cc0000_256x240.png%22)&iconsDefault=url(%22images%2Fui-icons_777777_256x240.png%22)&iconsContent=url(%22images%2Fui-icons_444444_256x240.png%22)&iconsActive=url(%22images%2Fui-icons_ffffff_256x240.png%22)&bgImgUrlShadow=&bgImgUrlOverlay=&bgImgUrlHover=&bgImgUrlHighlight=&bgImgUrlHeader=&bgImgUrlError=&bgImgUrlDefault=&bgImgUrlContent=&bgImgUrlActive=&opacityFilterShadow=%22alpha(opacity%3D30)%22&opacityFilterOverlay=%22alpha(opacity%3D30)%22&opacityShadowPerc=30&opacityOverlayPerc=30&iconColorHover=%23555555&iconColorHighlight=%23777620&iconColorHeader=%23444444&iconColorError=%23cc0000&iconColorDefault=%23777777&iconColorContent=%23444444&iconColorActive=%23ffffff&bgImgOpacityShadow=0&bgImgOpacityOverlay=0&bgImgOpacityError=95&bgImgOpacityHighlight=55&bgImgOpacityContent=75&bgImgOpacityHeader=75&bgImgOpacityActive=65&bgImgOpacityHover=75&bgImgOpacityDefault=75&bgTextureShadow=flat&bgTextureOverlay=flat&bgTextureError=flat&bgTextureHighlight=flat&bgTextureContent=flat&bgTextureHeader=flat&bgTextureActive=flat&bgTextureHover=flat&bgTextureDefault=flat&cornerRadius=3px&fwDefault=normal&ffDefault=Arial%2CHelvetica%2Csans-serif&fsDefault=1em&cornerRadiusShadow=8px&thicknessShadow=5px&offsetLeftShadow=0px&offsetTopShadow=0px&opacityShadow=.3&bgColorShadow=%23666666&opacityOverlay=.3&bgColorOverlay=%23aaaaaa&fcError=%235f3f3f&borderColorError=%23f1a899&bgColorError=%23fddfdf&fcHighlight=%23777620&borderColorHighlight=%23dad55e&bgColorHighlight=%23fffa90&fcContent=%23333333&borderColorContent=%23dddddd&bgColorContent=%23ffffff&fcHeader=%23333333&borderColorHeader=%23dddddd&bgColorHeader=%23e9e9e9&fcActive=%23ffffff&borderColorActive=%23003eff&bgColorActive=%23007fff&fcHover=%232b2b2b&borderColorHover=%23cccccc&bgColorHover=%23ededed&fcDefault=%23454545&borderColorDefault=%23c5c5c5&bgColorDefault=%23f6f6f6\n* Copyright OpenJS Foundation and other contributors; Licensed MIT */\n\n/* Layout helpers\n----------------------------------*/\n.ui-helper-hidden {\n\tdisplay: none;\n}\n.ui-helper-hidden-accessible {\n\tborder: 0;\n\tclip: rect(0 0 0 0);\n\theight: 1px;\n\tmargin: -1px;\n\toverflow: hidden;\n\tpadding: 0;\n\tposition: absolute;\n\twidth: 1px;\n}\n.ui-helper-reset {\n\tmargin: 0;\n\tpadding: 0;\n\tborder: 0;\n\toutline: 0;\n\tline-height: 1.3;\n\ttext-decoration: none;\n\tfont-size: 100%;\n\tlist-style: none;\n}\n.ui-helper-clearfix:before,\n.ui-helper-clearfix:after {\n\tcontent: "";\n\tdisplay: table;\n\tborder-collapse: collapse;\n}\n.ui-helper-clearfix:after {\n\tclear: both;\n}\n.ui-helper-zfix {\n\twidth: 100%;\n\theight: 100%;\n\ttop: 0;\n\tleft: 0;\n\tposition: absolute;\n\topacity: 0;\n\t-ms-filter: "alpha(opacity=0)"; /* support: IE8 */\n}\n\n.ui-front {\n\tz-index: 100;\n}\n\n\n/* Interaction Cues\n----------------------------------*/\n.ui-state-disabled {\n\tcursor: default !important;\n\tpointer-events: none;\n}\n\n\n/* Icons\n----------------------------------*/\n.ui-icon {\n\tdisplay: inline-block;\n\tvertical-align: middle;\n\tmargin-top: -.25em;\n\tposition: relative;\n\ttext-indent: -99999px;\n\toverflow: hidden;\n\tbackground-repeat: no-repeat;\n}\n\n.ui-widget-icon-block {\n\tleft: 50%;\n\tmargin-left: -8px;\n\tdisplay: block;\n}\n\n/* Misc visuals\n----------------------------------*/\n\n/* Overlays */\n.ui-widget-overlay {\n\tposition: fixed;\n\ttop: 0;\n\tleft: 0;\n\twidth: 100%;\n\theight: 100%;\n}\n.ui-accordion .ui-accordion-header {\n\tdisplay: block;\n\tcursor: pointer;\n\tposition: relative;\n\tmargin: 2px 0 0 0;\n\tpadding: .5em .5em .5em .7em;\n\tfont-size: 100%;\n}\n.ui-accordion .ui-accordion-content {\n\tpadding: 1em 2.2em;\n\tborder-top: 0;\n\toverflow: auto;\n}\n.ui-autocomplete {\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\tcursor: default;\n}\n.ui-menu {\n\tlist-style: none;\n\tpadding: 0;\n\tmargin: 0;\n\tdisplay: block;\n\toutline: 0;\n}\n.ui-menu .ui-menu {\n\tposition: absolute;\n}\n.ui-menu .ui-menu-item {\n\tmargin: 0;\n\tcursor: pointer;\n\t/* support: IE10, see #8844 */\n\tlist-style-image: url(${v});\n}\n.ui-menu .ui-menu-item-wrapper {\n\tposition: relative;\n\tpadding: 3px 1em 3px .4em;\n}\n.ui-menu .ui-menu-divider {\n\tmargin: 5px 0;\n\theight: 0;\n\tfont-size: 0;\n\tline-height: 0;\n\tborder-width: 1px 0 0 0;\n}\n.ui-menu .ui-state-focus,\n.ui-menu .ui-state-active {\n\tmargin: -1px;\n}\n\n/* icon support */\n.ui-menu-icons {\n\tposition: relative;\n}\n.ui-menu-icons .ui-menu-item-wrapper {\n\tpadding-left: 2em;\n}\n\n/* left-aligned */\n.ui-menu .ui-icon {\n\tposition: absolute;\n\ttop: 0;\n\tbottom: 0;\n\tleft: .2em;\n\tmargin: auto 0;\n}\n\n/* right-aligned */\n.ui-menu .ui-menu-icon {\n\tleft: auto;\n\tright: 0;\n}\n.ui-button {\n\tpadding: .4em 1em;\n\tdisplay: inline-block;\n\tposition: relative;\n\tline-height: normal;\n\tmargin-right: .1em;\n\tcursor: pointer;\n\tvertical-align: middle;\n\ttext-align: center;\n\t-webkit-user-select: none;\n\t-moz-user-select: none;\n\t-ms-user-select: none;\n\tuser-select: none;\n\n\t/* Support: IE <= 11 */\n\toverflow: visible;\n}\n\n.ui-button,\n.ui-button:link,\n.ui-button:visited,\n.ui-button:hover,\n.ui-button:active {\n\ttext-decoration: none;\n}\n\n/* to make room for the icon, a width needs to be set here */\n.ui-button-icon-only {\n\twidth: 2em;\n\tbox-sizing: border-box;\n\ttext-indent: -9999px;\n\twhite-space: nowrap;\n}\n\n/* no icon support for input elements */\ninput.ui-button.ui-button-icon-only {\n\ttext-indent: 0;\n}\n\n/* button icon element(s) */\n.ui-button-icon-only .ui-icon {\n\tposition: absolute;\n\ttop: 50%;\n\tleft: 50%;\n\tmargin-top: -8px;\n\tmargin-left: -8px;\n}\n\n.ui-button.ui-icon-notext .ui-icon {\n\tpadding: 0;\n\twidth: 2.1em;\n\theight: 2.1em;\n\ttext-indent: -9999px;\n\twhite-space: nowrap;\n\n}\n\ninput.ui-button.ui-icon-notext .ui-icon {\n\twidth: auto;\n\theight: auto;\n\ttext-indent: 0;\n\twhite-space: normal;\n\tpadding: .4em 1em;\n}\n\n/* workarounds */\n/* Support: Firefox 5 - 40 */\ninput.ui-button::-moz-focus-inner,\nbutton.ui-button::-moz-focus-inner {\n\tborder: 0;\n\tpadding: 0;\n}\n.ui-controlgroup {\n\tvertical-align: middle;\n\tdisplay: inline-block;\n}\n.ui-controlgroup > .ui-controlgroup-item {\n\tfloat: left;\n\tmargin-left: 0;\n\tmargin-right: 0;\n}\n.ui-controlgroup > .ui-controlgroup-item:focus,\n.ui-controlgroup > .ui-controlgroup-item.ui-visual-focus {\n\tz-index: 9999;\n}\n.ui-controlgroup-vertical > .ui-controlgroup-item {\n\tdisplay: block;\n\tfloat: none;\n\twidth: 100%;\n\tmargin-top: 0;\n\tmargin-bottom: 0;\n\ttext-align: left;\n}\n.ui-controlgroup-vertical .ui-controlgroup-item {\n\tbox-sizing: border-box;\n}\n.ui-controlgroup .ui-controlgroup-label {\n\tpadding: .4em 1em;\n}\n.ui-controlgroup .ui-controlgroup-label span {\n\tfont-size: 80%;\n}\n.ui-controlgroup-horizontal .ui-controlgroup-label + .ui-controlgroup-item {\n\tborder-left: none;\n}\n.ui-controlgroup-vertical .ui-controlgroup-label + .ui-controlgroup-item {\n\tborder-top: none;\n}\n.ui-controlgroup-horizontal .ui-controlgroup-label.ui-widget-content {\n\tborder-right: none;\n}\n.ui-controlgroup-vertical .ui-controlgroup-label.ui-widget-content {\n\tborder-bottom: none;\n}\n\n/* Spinner specific style fixes */\n.ui-controlgroup-vertical .ui-spinner-input {\n\n\t/* Support: IE8 only, Android < 4.4 only */\n\twidth: 75%;\n\twidth: calc( 100% - 2.4em );\n}\n.ui-controlgroup-vertical .ui-spinner .ui-spinner-up {\n\tborder-top-style: solid;\n}\n\n.ui-checkboxradio-label .ui-icon-background {\n\tbox-shadow: inset 1px 1px 1px #ccc;\n\tborder-radius: .12em;\n\tborder: none;\n}\n.ui-checkboxradio-radio-label .ui-icon-background {\n\twidth: 16px;\n\theight: 16px;\n\tborder-radius: 1em;\n\toverflow: visible;\n\tborder: none;\n}\n.ui-checkboxradio-radio-label.ui-checkboxradio-checked .ui-icon,\n.ui-checkboxradio-radio-label.ui-checkboxradio-checked:hover .ui-icon {\n\tbackground-image: none;\n\twidth: 8px;\n\theight: 8px;\n\tborder-width: 4px;\n\tborder-style: solid;\n}\n.ui-checkboxradio-disabled {\n\tpointer-events: none;\n}\n.ui-datepicker {\n\twidth: 17em;\n\tpadding: .2em .2em 0;\n\tdisplay: none;\n}\n.ui-datepicker .ui-datepicker-header {\n\tposition: relative;\n\tpadding: .2em 0;\n}\n.ui-datepicker .ui-datepicker-prev,\n.ui-datepicker .ui-datepicker-next {\n\tposition: absolute;\n\ttop: 2px;\n\twidth: 1.8em;\n\theight: 1.8em;\n}\n.ui-datepicker .ui-datepicker-prev-hover,\n.ui-datepicker .ui-datepicker-next-hover {\n\ttop: 1px;\n}\n.ui-datepicker .ui-datepicker-prev {\n\tleft: 2px;\n}\n.ui-datepicker .ui-datepicker-next {\n\tright: 2px;\n}\n.ui-datepicker .ui-datepicker-prev-hover {\n\tleft: 1px;\n}\n.ui-datepicker .ui-datepicker-next-hover {\n\tright: 1px;\n}\n.ui-datepicker .ui-datepicker-prev span,\n.ui-datepicker .ui-datepicker-next span {\n\tdisplay: block;\n\tposition: absolute;\n\tleft: 50%;\n\tmargin-left: -8px;\n\ttop: 50%;\n\tmargin-top: -8px;\n}\n.ui-datepicker .ui-datepicker-title {\n\tmargin: 0 2.3em;\n\tline-height: 1.8em;\n\ttext-align: center;\n}\n.ui-datepicker .ui-datepicker-title select {\n\tfont-size: 1em;\n\tmargin: 1px 0;\n}\n.ui-datepicker select.ui-datepicker-month,\n.ui-datepicker select.ui-datepicker-year {\n\twidth: 45%;\n}\n.ui-datepicker table {\n\twidth: 100%;\n\tfont-size: .9em;\n\tborder-collapse: collapse;\n\tmargin: 0 0 .4em;\n}\n.ui-datepicker th {\n\tpadding: .7em .3em;\n\ttext-align: center;\n\tfont-weight: bold;\n\tborder: 0;\n}\n.ui-datepicker td {\n\tborder: 0;\n\tpadding: 1px;\n}\n.ui-datepicker td span,\n.ui-datepicker td a {\n\tdisplay: block;\n\tpadding: .2em;\n\ttext-align: right;\n\ttext-decoration: none;\n}\n.ui-datepicker .ui-datepicker-buttonpane {\n\tbackground-image: none;\n\tmargin: .7em 0 0 0;\n\tpadding: 0 .2em;\n\tborder-left: 0;\n\tborder-right: 0;\n\tborder-bottom: 0;\n}\n.ui-datepicker .ui-datepicker-buttonpane button {\n\tfloat: right;\n\tmargin: .5em .2em .4em;\n\tcursor: pointer;\n\tpadding: .2em .6em .3em .6em;\n\twidth: auto;\n\toverflow: visible;\n}\n.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current {\n\tfloat: left;\n}\n\n/* with multiple calendars */\n.ui-datepicker.ui-datepicker-multi {\n\twidth: auto;\n}\n.ui-datepicker-multi .ui-datepicker-group {\n\tfloat: left;\n}\n.ui-datepicker-multi .ui-datepicker-group table {\n\twidth: 95%;\n\tmargin: 0 auto .4em;\n}\n.ui-datepicker-multi-2 .ui-datepicker-group {\n\twidth: 50%;\n}\n.ui-datepicker-multi-3 .ui-datepicker-group {\n\twidth: 33.3%;\n}\n.ui-datepicker-multi-4 .ui-datepicker-group {\n\twidth: 25%;\n}\n.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,\n.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header {\n\tborder-left-width: 0;\n}\n.ui-datepicker-multi .ui-datepicker-buttonpane {\n\tclear: left;\n}\n.ui-datepicker-row-break {\n\tclear: both;\n\twidth: 100%;\n\tfont-size: 0;\n}\n\n/* RTL support */\n.ui-datepicker-rtl {\n\tdirection: rtl;\n}\n.ui-datepicker-rtl .ui-datepicker-prev {\n\tright: 2px;\n\tleft: auto;\n}\n.ui-datepicker-rtl .ui-datepicker-next {\n\tleft: 2px;\n\tright: auto;\n}\n.ui-datepicker-rtl .ui-datepicker-prev:hover {\n\tright: 1px;\n\tleft: auto;\n}\n.ui-datepicker-rtl .ui-datepicker-next:hover {\n\tleft: 1px;\n\tright: auto;\n}\n.ui-datepicker-rtl .ui-datepicker-buttonpane {\n\tclear: right;\n}\n.ui-datepicker-rtl .ui-datepicker-buttonpane button {\n\tfloat: left;\n}\n.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,\n.ui-datepicker-rtl .ui-datepicker-group {\n\tfloat: right;\n}\n.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,\n.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header {\n\tborder-right-width: 0;\n\tborder-left-width: 1px;\n}\n\n/* Icons */\n.ui-datepicker .ui-icon {\n\tdisplay: block;\n\ttext-indent: -99999px;\n\toverflow: hidden;\n\tbackground-repeat: no-repeat;\n\tleft: .5em;\n\ttop: .3em;\n}\n.ui-dialog {\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\tpadding: .2em;\n\toutline: 0;\n}\n.ui-dialog .ui-dialog-titlebar {\n\tpadding: .4em 1em;\n\tposition: relative;\n}\n.ui-dialog .ui-dialog-title {\n\tfloat: left;\n\tmargin: .1em 0;\n\twhite-space: nowrap;\n\twidth: 90%;\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n}\n.ui-dialog .ui-dialog-titlebar-close {\n\tposition: absolute;\n\tright: .3em;\n\ttop: 50%;\n\twidth: 20px;\n\tmargin: -10px 0 0 0;\n\tpadding: 1px;\n\theight: 20px;\n}\n.ui-dialog .ui-dialog-content {\n\tposition: relative;\n\tborder: 0;\n\tpadding: .5em 1em;\n\tbackground: none;\n\toverflow: auto;\n}\n.ui-dialog .ui-dialog-buttonpane {\n\ttext-align: left;\n\tborder-width: 1px 0 0 0;\n\tbackground-image: none;\n\tmargin-top: .5em;\n\tpadding: .3em 1em .5em .4em;\n}\n.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {\n\tfloat: right;\n}\n.ui-dialog .ui-dialog-buttonpane button {\n\tmargin: .5em .4em .5em 0;\n\tcursor: pointer;\n}\n.ui-dialog .ui-resizable-n {\n\theight: 2px;\n\ttop: 0;\n}\n.ui-dialog .ui-resizable-e {\n\twidth: 2px;\n\tright: 0;\n}\n.ui-dialog .ui-resizable-s {\n\theight: 2px;\n\tbottom: 0;\n}\n.ui-dialog .ui-resizable-w {\n\twidth: 2px;\n\tleft: 0;\n}\n.ui-dialog .ui-resizable-se,\n.ui-dialog .ui-resizable-sw,\n.ui-dialog .ui-resizable-ne,\n.ui-dialog .ui-resizable-nw {\n\twidth: 7px;\n\theight: 7px;\n}\n.ui-dialog .ui-resizable-se {\n\tright: 0;\n\tbottom: 0;\n}\n.ui-dialog .ui-resizable-sw {\n\tleft: 0;\n\tbottom: 0;\n}\n.ui-dialog .ui-resizable-ne {\n\tright: 0;\n\ttop: 0;\n}\n.ui-dialog .ui-resizable-nw {\n\tleft: 0;\n\ttop: 0;\n}\n.ui-draggable .ui-dialog-titlebar {\n\tcursor: move;\n}\n.ui-draggable-handle {\n\t-ms-touch-action: none;\n\ttouch-action: none;\n}\n.ui-resizable {\n\tposition: relative;\n}\n.ui-resizable-handle {\n\tposition: absolute;\n\tfont-size: 0.1px;\n\tdisplay: block;\n\t-ms-touch-action: none;\n\ttouch-action: none;\n}\n.ui-resizable-disabled .ui-resizable-handle,\n.ui-resizable-autohide .ui-resizable-handle {\n\tdisplay: none;\n}\n.ui-resizable-n {\n\tcursor: n-resize;\n\theight: 7px;\n\twidth: 100%;\n\ttop: -5px;\n\tleft: 0;\n}\n.ui-resizable-s {\n\tcursor: s-resize;\n\theight: 7px;\n\twidth: 100%;\n\tbottom: -5px;\n\tleft: 0;\n}\n.ui-resizable-e {\n\tcursor: e-resize;\n\twidth: 7px;\n\tright: -5px;\n\ttop: 0;\n\theight: 100%;\n}\n.ui-resizable-w {\n\tcursor: w-resize;\n\twidth: 7px;\n\tleft: -5px;\n\ttop: 0;\n\theight: 100%;\n}\n.ui-resizable-se {\n\tcursor: se-resize;\n\twidth: 12px;\n\theight: 12px;\n\tright: 1px;\n\tbottom: 1px;\n}\n.ui-resizable-sw {\n\tcursor: sw-resize;\n\twidth: 9px;\n\theight: 9px;\n\tleft: -5px;\n\tbottom: -5px;\n}\n.ui-resizable-nw {\n\tcursor: nw-resize;\n\twidth: 9px;\n\theight: 9px;\n\tleft: -5px;\n\ttop: -5px;\n}\n.ui-resizable-ne {\n\tcursor: ne-resize;\n\twidth: 9px;\n\theight: 9px;\n\tright: -5px;\n\ttop: -5px;\n}\n.ui-progressbar {\n\theight: 2em;\n\ttext-align: left;\n\toverflow: hidden;\n}\n.ui-progressbar .ui-progressbar-value {\n\tmargin: -1px;\n\theight: 100%;\n}\n.ui-progressbar .ui-progressbar-overlay {\n\tbackground: url(${b});\n\theight: 100%;\n\t-ms-filter: "alpha(opacity=25)"; /* support: IE8 */\n\topacity: 0.25;\n}\n.ui-progressbar-indeterminate .ui-progressbar-value {\n\tbackground-image: none;\n}\n.ui-selectable {\n\t-ms-touch-action: none;\n\ttouch-action: none;\n}\n.ui-selectable-helper {\n\tposition: absolute;\n\tz-index: 100;\n\tborder: 1px dotted black;\n}\n.ui-selectmenu-menu {\n\tpadding: 0;\n\tmargin: 0;\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\tdisplay: none;\n}\n.ui-selectmenu-menu .ui-menu {\n\toverflow: auto;\n\toverflow-x: hidden;\n\tpadding-bottom: 1px;\n}\n.ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup {\n\tfont-size: 1em;\n\tfont-weight: bold;\n\tline-height: 1.5;\n\tpadding: 2px 0.4em;\n\tmargin: 0.5em 0 0 0;\n\theight: auto;\n\tborder: 0;\n}\n.ui-selectmenu-open {\n\tdisplay: block;\n}\n.ui-selectmenu-text {\n\tdisplay: block;\n\tmargin-right: 20px;\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n}\n.ui-selectmenu-button.ui-button {\n\ttext-align: left;\n\twhite-space: nowrap;\n\twidth: 14em;\n}\n.ui-selectmenu-icon.ui-icon {\n\tfloat: right;\n\tmargin-top: 0;\n}\n.ui-slider {\n\tposition: relative;\n\ttext-align: left;\n}\n.ui-slider .ui-slider-handle {\n\tposition: absolute;\n\tz-index: 2;\n\twidth: 1.2em;\n\theight: 1.2em;\n\tcursor: pointer;\n\t-ms-touch-action: none;\n\ttouch-action: none;\n}\n.ui-slider .ui-slider-range {\n\tposition: absolute;\n\tz-index: 1;\n\tfont-size: .7em;\n\tdisplay: block;\n\tborder: 0;\n\tbackground-position: 0 0;\n}\n\n/* support: IE8 - See #6727 */\n.ui-slider.ui-state-disabled .ui-slider-handle,\n.ui-slider.ui-state-disabled .ui-slider-range {\n\tfilter: inherit;\n}\n\n.ui-slider-horizontal {\n\theight: .8em;\n}\n.ui-slider-horizontal .ui-slider-handle {\n\ttop: -.3em;\n\tmargin-left: -.6em;\n}\n.ui-slider-horizontal .ui-slider-range {\n\ttop: 0;\n\theight: 100%;\n}\n.ui-slider-horizontal .ui-slider-range-min {\n\tleft: 0;\n}\n.ui-slider-horizontal .ui-slider-range-max {\n\tright: 0;\n}\n\n.ui-slider-vertical {\n\twidth: .8em;\n\theight: 100px;\n}\n.ui-slider-vertical .ui-slider-handle {\n\tleft: -.3em;\n\tmargin-left: 0;\n\tmargin-bottom: -.6em;\n}\n.ui-slider-vertical .ui-slider-range {\n\tleft: 0;\n\twidth: 100%;\n}\n.ui-slider-vertical .ui-slider-range-min {\n\tbottom: 0;\n}\n.ui-slider-vertical .ui-slider-range-max {\n\ttop: 0;\n}\n.ui-sortable-handle {\n\t-ms-touch-action: none;\n\ttouch-action: none;\n}\n.ui-spinner {\n\tposition: relative;\n\tdisplay: inline-block;\n\toverflow: hidden;\n\tpadding: 0;\n\tvertical-align: middle;\n}\n.ui-spinner-input {\n\tborder: none;\n\tbackground: none;\n\tcolor: inherit;\n\tpadding: .222em 0;\n\tmargin: .2em 0;\n\tvertical-align: middle;\n\tmargin-left: .4em;\n\tmargin-right: 2em;\n}\n.ui-spinner-button {\n\twidth: 1.6em;\n\theight: 50%;\n\tfont-size: .5em;\n\tpadding: 0;\n\tmargin: 0;\n\ttext-align: center;\n\tposition: absolute;\n\tcursor: default;\n\tdisplay: block;\n\toverflow: hidden;\n\tright: 0;\n}\n/* more specificity required here to override default borders */\n.ui-spinner a.ui-spinner-button {\n\tborder-top-style: none;\n\tborder-bottom-style: none;\n\tborder-right-style: none;\n}\n.ui-spinner-up {\n\ttop: 0;\n}\n.ui-spinner-down {\n\tbottom: 0;\n}\n.ui-tabs {\n\tposition: relative;/* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */\n\tpadding: .2em;\n}\n.ui-tabs .ui-tabs-nav {\n\tmargin: 0;\n\tpadding: .2em .2em 0;\n}\n.ui-tabs .ui-tabs-nav li {\n\tlist-style: none;\n\tfloat: left;\n\tposition: relative;\n\ttop: 0;\n\tmargin: 1px .2em 0 0;\n\tborder-bottom-width: 0;\n\tpadding: 0;\n\twhite-space: nowrap;\n}\n.ui-tabs .ui-tabs-nav .ui-tabs-anchor {\n\tfloat: left;\n\tpadding: .5em 1em;\n\ttext-decoration: none;\n}\n.ui-tabs .ui-tabs-nav li.ui-tabs-active {\n\tmargin-bottom: -1px;\n\tpadding-bottom: 1px;\n}\n.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor,\n.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor,\n.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor {\n\tcursor: text;\n}\n.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor {\n\tcursor: pointer;\n}\n.ui-tabs .ui-tabs-panel {\n\tdisplay: block;\n\tborder-width: 0;\n\tpadding: 1em 1.4em;\n\tbackground: none;\n}\n.ui-tooltip {\n\tpadding: 8px;\n\tposition: absolute;\n\tz-index: 9999;\n\tmax-width: 300px;\n}\nbody .ui-tooltip {\n\tborder-width: 2px;\n}\n\n/* Component containers\n----------------------------------*/\n.ui-widget {\n\tfont-family: Arial,Helvetica,sans-serif;\n\tfont-size: 1em;\n}\n.ui-widget .ui-widget {\n\tfont-size: 1em;\n}\n.ui-widget input,\n.ui-widget select,\n.ui-widget textarea,\n.ui-widget button {\n\tfont-family: Arial,Helvetica,sans-serif;\n\tfont-size: 1em;\n}\n.ui-widget.ui-widget-content {\n\tborder: 1px solid #c5c5c5;\n}\n.ui-widget-content {\n\tborder: 1px solid #dddddd;\n\tbackground: #ffffff;\n\tcolor: #333333;\n}\n.ui-widget-content a {\n\tcolor: #333333;\n}\n.ui-widget-header {\n\tborder: 1px solid #dddddd;\n\tbackground: #e9e9e9;\n\tcolor: #333333;\n\tfont-weight: bold;\n}\n.ui-widget-header a {\n\tcolor: #333333;\n}\n\n/* Interaction states\n----------------------------------*/\n.ui-state-default,\n.ui-widget-content .ui-state-default,\n.ui-widget-header .ui-state-default,\n.ui-button,\n\n/* We use html here because we need a greater specificity to make sure disabled\nworks properly when clicked or hovered */\nhtml .ui-button.ui-state-disabled:hover,\nhtml .ui-button.ui-state-disabled:active {\n\tborder: 1px solid #c5c5c5;\n\tbackground: #f6f6f6;\n\tfont-weight: normal;\n\tcolor: #454545;\n}\n.ui-state-default a,\n.ui-state-default a:link,\n.ui-state-default a:visited,\na.ui-button,\na:link.ui-button,\na:visited.ui-button,\n.ui-button {\n\tcolor: #454545;\n\ttext-decoration: none;\n}\n.ui-state-hover,\n.ui-widget-content .ui-state-hover,\n.ui-widget-header .ui-state-hover,\n.ui-state-focus,\n.ui-widget-content .ui-state-focus,\n.ui-widget-header .ui-state-focus,\n.ui-button:hover,\n.ui-button:focus {\n\tborder: 1px solid #cccccc;\n\tbackground: #ededed;\n\tfont-weight: normal;\n\tcolor: #2b2b2b;\n}\n.ui-state-hover a,\n.ui-state-hover a:hover,\n.ui-state-hover a:link,\n.ui-state-hover a:visited,\n.ui-state-focus a,\n.ui-state-focus a:hover,\n.ui-state-focus a:link,\n.ui-state-focus a:visited,\na.ui-button:hover,\na.ui-button:focus {\n\tcolor: #2b2b2b;\n\ttext-decoration: none;\n}\n\n.ui-visual-focus {\n\tbox-shadow: 0 0 3px 1px rgb(94, 158, 214);\n}\n.ui-state-active,\n.ui-widget-content .ui-state-active,\n.ui-widget-header .ui-state-active,\na.ui-button:active,\n.ui-button:active,\n.ui-button.ui-state-active:hover {\n\tborder: 1px solid #003eff;\n\tbackground: #007fff;\n\tfont-weight: normal;\n\tcolor: #ffffff;\n}\n.ui-icon-background,\n.ui-state-active .ui-icon-background {\n\tborder: #003eff;\n\tbackground-color: #ffffff;\n}\n.ui-state-active a,\n.ui-state-active a:link,\n.ui-state-active a:visited {\n\tcolor: #ffffff;\n\ttext-decoration: none;\n}\n\n/* Interaction Cues\n----------------------------------*/\n.ui-state-highlight,\n.ui-widget-content .ui-state-highlight,\n.ui-widget-header .ui-state-highlight {\n\tborder: 1px solid #dad55e;\n\tbackground: #fffa90;\n\tcolor: #777620;\n}\n.ui-state-checked {\n\tborder: 1px solid #dad55e;\n\tbackground: #fffa90;\n}\n.ui-state-highlight a,\n.ui-widget-content .ui-state-highlight a,\n.ui-widget-header .ui-state-highlight a {\n\tcolor: #777620;\n}\n.ui-state-error,\n.ui-widget-content .ui-state-error,\n.ui-widget-header .ui-state-error {\n\tborder: 1px solid #f1a899;\n\tbackground: #fddfdf;\n\tcolor: #5f3f3f;\n}\n.ui-state-error a,\n.ui-widget-content .ui-state-error a,\n.ui-widget-header .ui-state-error a {\n\tcolor: #5f3f3f;\n}\n.ui-state-error-text,\n.ui-widget-content .ui-state-error-text,\n.ui-widget-header .ui-state-error-text {\n\tcolor: #5f3f3f;\n}\n.ui-priority-primary,\n.ui-widget-content .ui-priority-primary,\n.ui-widget-header .ui-priority-primary {\n\tfont-weight: bold;\n}\n.ui-priority-secondary,\n.ui-widget-content .ui-priority-secondary,\n.ui-widget-header .ui-priority-secondary {\n\topacity: .7;\n\t-ms-filter: "alpha(opacity=70)"; /* support: IE8 */\n\tfont-weight: normal;\n}\n.ui-state-disabled,\n.ui-widget-content .ui-state-disabled,\n.ui-widget-header .ui-state-disabled {\n\topacity: .35;\n\t-ms-filter: "alpha(opacity=35)"; /* support: IE8 */\n\tbackground-image: none;\n}\n.ui-state-disabled .ui-icon {\n\t-ms-filter: "alpha(opacity=35)"; /* support: IE8 - See #6059 */\n}\n\n/* Icons\n----------------------------------*/\n\n/* states and images */\n.ui-icon {\n\twidth: 16px;\n\theight: 16px;\n}\n.ui-icon,\n.ui-widget-content .ui-icon {\n\tbackground-image: url(${y});\n}\n.ui-widget-header .ui-icon {\n\tbackground-image: url(${y});\n}\n.ui-state-hover .ui-icon,\n.ui-state-focus .ui-icon,\n.ui-button:hover .ui-icon,\n.ui-button:focus .ui-icon {\n\tbackground-image: url(${w});\n}\n.ui-state-active .ui-icon,\n.ui-button:active .ui-icon {\n\tbackground-image: url(${C});\n}\n.ui-state-highlight .ui-icon,\n.ui-button .ui-state-highlight.ui-icon {\n\tbackground-image: url(${x});\n}\n.ui-state-error .ui-icon,\n.ui-state-error-text .ui-icon {\n\tbackground-image: url(${k});\n}\n.ui-button .ui-icon {\n\tbackground-image: url(${_});\n}\n\n/* positioning */\n/* Three classes needed to override \`.ui-button:hover .ui-icon\` */\n.ui-icon-blank.ui-icon-blank.ui-icon-blank {\n\tbackground-image: none;\n}\n.ui-icon-caret-1-n { background-position: 0 0; }\n.ui-icon-caret-1-ne { background-position: -16px 0; }\n.ui-icon-caret-1-e { background-position: -32px 0; }\n.ui-icon-caret-1-se { background-position: -48px 0; }\n.ui-icon-caret-1-s { background-position: -65px 0; }\n.ui-icon-caret-1-sw { background-position: -80px 0; }\n.ui-icon-caret-1-w { background-position: -96px 0; }\n.ui-icon-caret-1-nw { background-position: -112px 0; }\n.ui-icon-caret-2-n-s { background-position: -128px 0; }\n.ui-icon-caret-2-e-w { background-position: -144px 0; }\n.ui-icon-triangle-1-n { background-position: 0 -16px; }\n.ui-icon-triangle-1-ne { background-position: -16px -16px; }\n.ui-icon-triangle-1-e { background-position: -32px -16px; }\n.ui-icon-triangle-1-se { background-position: -48px -16px; }\n.ui-icon-triangle-1-s { background-position: -65px -16px; }\n.ui-icon-triangle-1-sw { background-position: -80px -16px; }\n.ui-icon-triangle-1-w { background-position: -96px -16px; }\n.ui-icon-triangle-1-nw { background-position: -112px -16px; }\n.ui-icon-triangle-2-n-s { background-position: -128px -16px; }\n.ui-icon-triangle-2-e-w { background-position: -144px -16px; }\n.ui-icon-arrow-1-n { background-position: 0 -32px; }\n.ui-icon-arrow-1-ne { background-position: -16px -32px; }\n.ui-icon-arrow-1-e { background-position: -32px -32px; }\n.ui-icon-arrow-1-se { background-position: -48px -32px; }\n.ui-icon-arrow-1-s { background-position: -65px -32px; }\n.ui-icon-arrow-1-sw { background-position: -80px -32px; }\n.ui-icon-arrow-1-w { background-position: -96px -32px; }\n.ui-icon-arrow-1-nw { background-position: -112px -32px; }\n.ui-icon-arrow-2-n-s { background-position: -128px -32px; }\n.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }\n.ui-icon-arrow-2-e-w { background-position: -160px -32px; }\n.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }\n.ui-icon-arrowstop-1-n { background-position: -192px -32px; }\n.ui-icon-arrowstop-1-e { background-position: -208px -32px; }\n.ui-icon-arrowstop-1-s { background-position: -224px -32px; }\n.ui-icon-arrowstop-1-w { background-position: -240px -32px; }\n.ui-icon-arrowthick-1-n { background-position: 1px -48px; }\n.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }\n.ui-icon-arrowthick-1-e { background-position: -32px -48px; }\n.ui-icon-arrowthick-1-se { background-position: -48px -48px; }\n.ui-icon-arrowthick-1-s { background-position: -64px -48px; }\n.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }\n.ui-icon-arrowthick-1-w { background-position: -96px -48px; }\n.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }\n.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }\n.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }\n.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }\n.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }\n.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }\n.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }\n.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }\n.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }\n.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }\n.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }\n.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }\n.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }\n.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }\n.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }\n.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }\n.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }\n.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }\n.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }\n.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }\n.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }\n.ui-icon-arrow-4 { background-position: 0 -80px; }\n.ui-icon-arrow-4-diag { background-position: -16px -80px; }\n.ui-icon-extlink { background-position: -32px -80px; }\n.ui-icon-newwin { background-position: -48px -80px; }\n.ui-icon-refresh { background-position: -64px -80px; }\n.ui-icon-shuffle { background-position: -80px -80px; }\n.ui-icon-transfer-e-w { background-position: -96px -80px; }\n.ui-icon-transferthick-e-w { background-position: -112px -80px; }\n.ui-icon-folder-collapsed { background-position: 0 -96px; }\n.ui-icon-folder-open { background-position: -16px -96px; }\n.ui-icon-document { background-position: -32px -96px; }\n.ui-icon-document-b { background-position: -48px -96px; }\n.ui-icon-note { background-position: -64px -96px; }\n.ui-icon-mail-closed { background-position: -80px -96px; }\n.ui-icon-mail-open { background-position: -96px -96px; }\n.ui-icon-suitcase { background-position: -112px -96px; }\n.ui-icon-comment { background-position: -128px -96px; }\n.ui-icon-person { background-position: -144px -96px; }\n.ui-icon-print { background-position: -160px -96px; }\n.ui-icon-trash { background-position: -176px -96px; }\n.ui-icon-locked { background-position: -192px -96px; }\n.ui-icon-unlocked { background-position: -208px -96px; }\n.ui-icon-bookmark { background-position: -224px -96px; }\n.ui-icon-tag { background-position: -240px -96px; }\n.ui-icon-home { background-position: 0 -112px; }\n.ui-icon-flag { background-position: -16px -112px; }\n.ui-icon-calendar { background-position: -32px -112px; }\n.ui-icon-cart { background-position: -48px -112px; }\n.ui-icon-pencil { background-position: -64px -112px; }\n.ui-icon-clock { background-position: -80px -112px; }\n.ui-icon-disk { background-position: -96px -112px; }\n.ui-icon-calculator { background-position: -112px -112px; }\n.ui-icon-zoomin { background-position: -128px -112px; }\n.ui-icon-zoomout { background-position: -144px -112px; }\n.ui-icon-search { background-position: -160px -112px; }\n.ui-icon-wrench { background-position: -176px -112px; }\n.ui-icon-gear { background-position: -192px -112px; }\n.ui-icon-heart { background-position: -208px -112px; }\n.ui-icon-star { background-position: -224px -112px; }\n.ui-icon-link { background-position: -240px -112px; }\n.ui-icon-cancel { background-position: 0 -128px; }\n.ui-icon-plus { background-position: -16px -128px; }\n.ui-icon-plusthick { background-position: -32px -128px; }\n.ui-icon-minus { background-position: -48px -128px; }\n.ui-icon-minusthick { background-position: -64px -128px; }\n.ui-icon-close { background-position: -80px -128px; }\n.ui-icon-closethick { background-position: -96px -128px; }\n.ui-icon-key { background-position: -112px -128px; }\n.ui-icon-lightbulb { background-position: -128px -128px; }\n.ui-icon-scissors { background-position: -144px -128px; }\n.ui-icon-clipboard { background-position: -160px -128px; }\n.ui-icon-copy { background-position: -176px -128px; }\n.ui-icon-contact { background-position: -192px -128px; }\n.ui-icon-image { background-position: -208px -128px; }\n.ui-icon-video { background-position: -224px -128px; }\n.ui-icon-script { background-position: -240px -128px; }\n.ui-icon-alert { background-position: 0 -144px; }\n.ui-icon-info { background-position: -16px -144px; }\n.ui-icon-notice { background-position: -32px -144px; }\n.ui-icon-help { background-position: -48px -144px; }\n.ui-icon-check { background-position: -64px -144px; }\n.ui-icon-bullet { background-position: -80px -144px; }\n.ui-icon-radio-on { background-position: -96px -144px; }\n.ui-icon-radio-off { background-position: -112px -144px; }\n.ui-icon-pin-w { background-position: -128px -144px; }\n.ui-icon-pin-s { background-position: -144px -144px; }\n.ui-icon-play { background-position: 0 -160px; }\n.ui-icon-pause { background-position: -16px -160px; }\n.ui-icon-seek-next { background-position: -32px -160px; }\n.ui-icon-seek-prev { background-position: -48px -160px; }\n.ui-icon-seek-end { background-position: -64px -160px; }\n.ui-icon-seek-start { background-position: -80px -160px; }\n/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */\n.ui-icon-seek-first { background-position: -80px -160px; }\n.ui-icon-stop { background-position: -96px -160px; }\n.ui-icon-eject { background-position: -112px -160px; }\n.ui-icon-volume-off { background-position: -128px -160px; }\n.ui-icon-volume-on { background-position: -144px -160px; }\n.ui-icon-power { background-position: 0 -176px; }\n.ui-icon-signal-diag { background-position: -16px -176px; }\n.ui-icon-signal { background-position: -32px -176px; }\n.ui-icon-battery-0 { background-position: -48px -176px; }\n.ui-icon-battery-1 { background-position: -64px -176px; }\n.ui-icon-battery-2 { background-position: -80px -176px; }\n.ui-icon-battery-3 { background-position: -96px -176px; }\n.ui-icon-circle-plus { background-position: 0 -192px; }\n.ui-icon-circle-minus { background-position: -16px -192px; }\n.ui-icon-circle-close { background-position: -32px -192px; }\n.ui-icon-circle-triangle-e { background-position: -48px -192px; }\n.ui-icon-circle-triangle-s { background-position: -64px -192px; }\n.ui-icon-circle-triangle-w { background-position: -80px -192px; }\n.ui-icon-circle-triangle-n { background-position: -96px -192px; }\n.ui-icon-circle-arrow-e { background-position: -112px -192px; }\n.ui-icon-circle-arrow-s { background-position: -128px -192px; }\n.ui-icon-circle-arrow-w { background-position: -144px -192px; }\n.ui-icon-circle-arrow-n { background-position: -160px -192px; }\n.ui-icon-circle-zoomin { background-position: -176px -192px; }\n.ui-icon-circle-zoomout { background-position: -192px -192px; }\n.ui-icon-circle-check { background-position: -208px -192px; }\n.ui-icon-circlesmall-plus { background-position: 0 -208px; }\n.ui-icon-circlesmall-minus { background-position: -16px -208px; }\n.ui-icon-circlesmall-close { background-position: -32px -208px; }\n.ui-icon-squaresmall-plus { background-position: -48px -208px; }\n.ui-icon-squaresmall-minus { background-position: -64px -208px; }\n.ui-icon-squaresmall-close { background-position: -80px -208px; }\n.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }\n.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }\n.ui-icon-grip-solid-vertical { background-position: -32px -224px; }\n.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }\n.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }\n.ui-icon-grip-diagonal-se { background-position: -80px -224px; }\n\n\n/* Misc visuals\n----------------------------------*/\n\n/* Corner radius */\n.ui-corner-all,\n.ui-corner-top,\n.ui-corner-left,\n.ui-corner-tl {\n\tborder-top-left-radius: 3px;\n}\n.ui-corner-all,\n.ui-corner-top,\n.ui-corner-right,\n.ui-corner-tr {\n\tborder-top-right-radius: 3px;\n}\n.ui-corner-all,\n.ui-corner-bottom,\n.ui-corner-left,\n.ui-corner-bl {\n\tborder-bottom-left-radius: 3px;\n}\n.ui-corner-all,\n.ui-corner-bottom,\n.ui-corner-right,\n.ui-corner-br {\n\tborder-bottom-right-radius: 3px;\n}\n\n/* Overlays */\n.ui-widget-overlay {\n\tbackground: #aaaaaa;\n\topacity: .003;\n\t-ms-filter: "alpha(opacity=.3)"; /* support: IE8 */\n}\n.ui-widget-shadow {\n\t-webkit-box-shadow: 0px 0px 5px #666666;\n\tbox-shadow: 0px 0px 5px #666666;\n}\n`,"",{version:3,sources:["webpack://./node_modules/jquery-ui-dist/jquery-ui.css"],names:[],mappings:"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,YAAY;AACb;AACA;CACC,WAAW;CACX,YAAY;CACZ,kBAAkB;CAClB,iBAAiB;CACjB,YAAY;AACb;AACA;;CAEC,sBAAsB;CACtB,UAAU;CACV,WAAW;CACX,iBAAiB;CACjB,mBAAmB;AACpB;AACA;CACC,oBAAoB;AACrB;AACA;CACC,WAAW;CACX,oBAAoB;CACpB,aAAa;AACd;AACA;CACC,kBAAkB;CAClB,eAAe;AAChB;AACA;;CAEC,kBAAkB;CAClB,QAAQ;CACR,YAAY;CACZ,aAAa;AACd;AACA;;CAEC,QAAQ;AACT;AACA;CACC,SAAS;AACV;AACA;CACC,UAAU;AACX;AACA;CACC,SAAS;AACV;AACA;CACC,UAAU;AACX;AACA;;CAEC,cAAc;CACd,kBAAkB;CAClB,SAAS;CACT,iBAAiB;CACjB,QAAQ;CACR,gBAAgB;AACjB;AACA;CACC,eAAe;CACf,kBAAkB;CAClB,kBAAkB;AACnB;AACA;CACC,cAAc;CACd,aAAa;AACd;AACA;;CAEC,UAAU;AACX;AACA;CACC,WAAW;CACX,eAAe;CACf,yBAAyB;CACzB,gBAAgB;AACjB;AACA;CACC,kBAAkB;CAClB,kBAAkB;CAClB,iBAAiB;CACjB,SAAS;AACV;AACA;CACC,SAAS;CACT,YAAY;AACb;AACA;;CAEC,cAAc;CACd,aAAa;CACb,iBAAiB;CACjB,qBAAqB;AACtB;AACA;CACC,sBAAsB;CACtB,kBAAkB;CAClB,eAAe;CACf,cAAc;CACd,eAAe;CACf,gBAAgB;AACjB;AACA;CACC,YAAY;CACZ,sBAAsB;CACtB,eAAe;CACf,4BAA4B;CAC5B,WAAW;CACX,iBAAiB;AAClB;AACA;CACC,WAAW;AACZ;;AAEA,4BAA4B;AAC5B;CACC,WAAW;AACZ;AACA;CACC,WAAW;AACZ;AACA;CACC,UAAU;CACV,mBAAmB;AACpB;AACA;CACC,UAAU;AACX;AACA;CACC,YAAY;AACb;AACA;CACC,UAAU;AACX;AACA;;CAEC,oBAAoB;AACrB;AACA;CACC,WAAW;AACZ;AACA;CACC,WAAW;CACX,WAAW;CACX,YAAY;AACb;;AAEA,gBAAgB;AAChB;CACC,cAAc;AACf;AACA;CACC,UAAU;CACV,UAAU;AACX;AACA;CACC,SAAS;CACT,WAAW;AACZ;AACA;CACC,UAAU;CACV,UAAU;AACX;AACA;CACC,SAAS;CACT,WAAW;AACZ;AACA;CACC,YAAY;AACb;AACA;CACC,WAAW;AACZ;AACA;;CAEC,YAAY;AACb;AACA;;CAEC,qBAAqB;CACrB,sBAAsB;AACvB;;AAEA,UAAU;AACV;CACC,cAAc;CACd,qBAAqB;CACrB,gBAAgB;CAChB,4BAA4B;CAC5B,UAAU;CACV,SAAS;AACV;AACA;CACC,kBAAkB;CAClB,MAAM;CACN,OAAO;CACP,aAAa;CACb,UAAU;AACX;AACA;CACC,iBAAiB;CACjB,kBAAkB;AACnB;AACA;CACC,WAAW;CACX,cAAc;CACd,mBAAmB;CACnB,UAAU;CACV,gBAAgB;CAChB,uBAAuB;AACxB;AACA;CACC,kBAAkB;CAClB,WAAW;CACX,QAAQ;CACR,WAAW;CACX,mBAAmB;CACnB,YAAY;CACZ,YAAY;AACb;AACA;CACC,kBAAkB;CAClB,SAAS;CACT,iBAAiB;CACjB,gBAAgB;CAChB,cAAc;AACf;AACA;CACC,gBAAgB;CAChB,uBAAuB;CACvB,sBAAsB;CACtB,gBAAgB;CAChB,2BAA2B;AAC5B;AACA;CACC,YAAY;AACb;AACA;CACC,wBAAwB;CACxB,eAAe;AAChB;AACA;CACC,WAAW;CACX,MAAM;AACP;AACA;CACC,UAAU;CACV,QAAQ;AACT;AACA;CACC,WAAW;CACX,SAAS;AACV;AACA;CACC,UAAU;CACV,OAAO;AACR;AACA;;;;CAIC,UAAU;CACV,WAAW;AACZ;AACA;CACC,QAAQ;CACR,SAAS;AACV;AACA;CACC,OAAO;CACP,SAAS;AACV;AACA;CACC,QAAQ;CACR,MAAM;AACP;AACA;CACC,OAAO;CACP,MAAM;AACP;AACA;CACC,YAAY;AACb;AACA;CACC,sBAAsB;CACtB,kBAAkB;AACnB;AACA;CACC,kBAAkB;AACnB;AACA;CACC,kBAAkB;CAClB,gBAAgB;CAChB,cAAc;CACd,sBAAsB;CACtB,kBAAkB;AACnB;AACA;;CAEC,aAAa;AACd;AACA;CACC,gBAAgB;CAChB,WAAW;CACX,WAAW;CACX,SAAS;CACT,OAAO;AACR;AACA;CACC,gBAAgB;CAChB,WAAW;CACX,WAAW;CACX,YAAY;CACZ,OAAO;AACR;AACA;CACC,gBAAgB;CAChB,UAAU;CACV,WAAW;CACX,MAAM;CACN,YAAY;AACb;AACA;CACC,gBAAgB;CAChB,UAAU;CACV,UAAU;CACV,MAAM;CACN,YAAY;AACb;AACA;CACC,iBAAiB;CACjB,WAAW;CACX,YAAY;CACZ,UAAU;CACV,WAAW;AACZ;AACA;CACC,iBAAiB;CACjB,UAAU;CACV,WAAW;CACX,UAAU;CACV,YAAY;AACb;AACA;CACC,iBAAiB;CACjB,UAAU;CACV,WAAW;CACX,UAAU;CACV,SAAS;AACV;AACA;CACC,iBAAiB;CACjB,UAAU;CACV,WAAW;CACX,WAAW;CACX,SAAS;AACV;AACA;CACC,WAAW;CACX,gBAAgB;CAChB,gBAAgB;AACjB;AACA;CACC,YAAY;CACZ,YAAY;AACb;AACA;CACC,mDAAyzE;CACzzE,YAAY;CACZ,+BAA+B,EAAE,iBAAiB;CAClD,aAAa;AACd;AACA;CACC,sBAAsB;AACvB;AACA;CACC,sBAAsB;CACtB,kBAAkB;AACnB;AACA;CACC,kBAAkB;CAClB,YAAY;CACZ,wBAAwB;AACzB;AACA;CACC,UAAU;CACV,SAAS;CACT,kBAAkB;CAClB,MAAM;CACN,OAAO;CACP,aAAa;AACd;AACA;CACC,cAAc;CACd,kBAAkB;CAClB,mBAAmB;AACpB;AACA;CACC,cAAc;CACd,iBAAiB;CACjB,gBAAgB;CAChB,kBAAkB;CAClB,mBAAmB;CACnB,YAAY;CACZ,SAAS;AACV;AACA;CACC,cAAc;AACf;AACA;CACC,cAAc;CACd,kBAAkB;CAClB,gBAAgB;CAChB,uBAAuB;AACxB;AACA;CACC,gBAAgB;CAChB,mBAAmB;CACnB,WAAW;AACZ;AACA;CACC,YAAY;CACZ,aAAa;AACd;AACA;CACC,kBAAkB;CAClB,gBAAgB;AACjB;AACA;CACC,kBAAkB;CAClB,UAAU;CACV,YAAY;CACZ,aAAa;CACb,eAAe;CACf,sBAAsB;CACtB,kBAAkB;AACnB;AACA;CACC,kBAAkB;CAClB,UAAU;CACV,eAAe;CACf,cAAc;CACd,SAAS;CACT,wBAAwB;AACzB;;AAEA,6BAA6B;AAC7B;;CAEC,eAAe;AAChB;;AAEA;CACC,YAAY;AACb;AACA;CACC,UAAU;CACV,kBAAkB;AACnB;AACA;CACC,MAAM;CACN,YAAY;AACb;AACA;CACC,OAAO;AACR;AACA;CACC,QAAQ;AACT;;AAEA;CACC,WAAW;CACX,aAAa;AACd;AACA;CACC,WAAW;CACX,cAAc;CACd,oBAAoB;AACrB;AACA;CACC,OAAO;CACP,WAAW;AACZ;AACA;CACC,SAAS;AACV;AACA;CACC,MAAM;AACP;AACA;CACC,sBAAsB;CACtB,kBAAkB;AACnB;AACA;CACC,kBAAkB;CAClB,qBAAqB;CACrB,gBAAgB;CAChB,UAAU;CACV,sBAAsB;AACvB;AACA;CACC,YAAY;CACZ,gBAAgB;CAChB,cAAc;CACd,iBAAiB;CACjB,cAAc;CACd,sBAAsB;CACtB,iBAAiB;CACjB,iBAAiB;AAClB;AACA;CACC,YAAY;CACZ,WAAW;CACX,eAAe;CACf,UAAU;CACV,SAAS;CACT,kBAAkB;CAClB,kBAAkB;CAClB,eAAe;CACf,cAAc;CACd,gBAAgB;CAChB,QAAQ;AACT;AACA,+DAA+D;AAC/D;CACC,sBAAsB;CACtB,yBAAyB;CACzB,wBAAwB;AACzB;AACA;CACC,MAAM;AACP;AACA;CACC,SAAS;AACV;AACA;CACC,kBAAkB,CAAC,uIAAuI;CAC1J,aAAa;AACd;AACA;CACC,SAAS;CACT,oBAAoB;AACrB;AACA;CACC,gBAAgB;CAChB,WAAW;CACX,kBAAkB;CAClB,MAAM;CACN,oBAAoB;CACpB,sBAAsB;CACtB,UAAU;CACV,mBAAmB;AACpB;AACA;CACC,WAAW;CACX,iBAAiB;CACjB,qBAAqB;AACtB;AACA;CACC,mBAAmB;CACnB,mBAAmB;AACpB;AACA;;;CAGC,YAAY;AACb;AACA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",sourcesContent:['/*! jQuery UI - v1.13.3 - 2024-04-26\n* https://jqueryui.com\n* Includes: core.css, accordion.css, autocomplete.css, menu.css, button.css, controlgroup.css, checkboxradio.css, datepicker.css, dialog.css, draggable.css, resizable.css, progressbar.css, selectable.css, selectmenu.css, slider.css, sortable.css, spinner.css, tabs.css, tooltip.css, theme.css\n* To view and modify this theme, visit https://jqueryui.com/themeroller/?bgShadowXPos=&bgOverlayXPos=&bgErrorXPos=&bgHighlightXPos=&bgContentXPos=&bgHeaderXPos=&bgActiveXPos=&bgHoverXPos=&bgDefaultXPos=&bgShadowYPos=&bgOverlayYPos=&bgErrorYPos=&bgHighlightYPos=&bgContentYPos=&bgHeaderYPos=&bgActiveYPos=&bgHoverYPos=&bgDefaultYPos=&bgShadowRepeat=&bgOverlayRepeat=&bgErrorRepeat=&bgHighlightRepeat=&bgContentRepeat=&bgHeaderRepeat=&bgActiveRepeat=&bgHoverRepeat=&bgDefaultRepeat=&iconsHover=url(%22images%2Fui-icons_555555_256x240.png%22)&iconsHighlight=url(%22images%2Fui-icons_777620_256x240.png%22)&iconsHeader=url(%22images%2Fui-icons_444444_256x240.png%22)&iconsError=url(%22images%2Fui-icons_cc0000_256x240.png%22)&iconsDefault=url(%22images%2Fui-icons_777777_256x240.png%22)&iconsContent=url(%22images%2Fui-icons_444444_256x240.png%22)&iconsActive=url(%22images%2Fui-icons_ffffff_256x240.png%22)&bgImgUrlShadow=&bgImgUrlOverlay=&bgImgUrlHover=&bgImgUrlHighlight=&bgImgUrlHeader=&bgImgUrlError=&bgImgUrlDefault=&bgImgUrlContent=&bgImgUrlActive=&opacityFilterShadow=%22alpha(opacity%3D30)%22&opacityFilterOverlay=%22alpha(opacity%3D30)%22&opacityShadowPerc=30&opacityOverlayPerc=30&iconColorHover=%23555555&iconColorHighlight=%23777620&iconColorHeader=%23444444&iconColorError=%23cc0000&iconColorDefault=%23777777&iconColorContent=%23444444&iconColorActive=%23ffffff&bgImgOpacityShadow=0&bgImgOpacityOverlay=0&bgImgOpacityError=95&bgImgOpacityHighlight=55&bgImgOpacityContent=75&bgImgOpacityHeader=75&bgImgOpacityActive=65&bgImgOpacityHover=75&bgImgOpacityDefault=75&bgTextureShadow=flat&bgTextureOverlay=flat&bgTextureError=flat&bgTextureHighlight=flat&bgTextureContent=flat&bgTextureHeader=flat&bgTextureActive=flat&bgTextureHover=flat&bgTextureDefault=flat&cornerRadius=3px&fwDefault=normal&ffDefault=Arial%2CHelvetica%2Csans-serif&fsDefault=1em&cornerRadiusShadow=8px&thicknessShadow=5px&offsetLeftShadow=0px&offsetTopShadow=0px&opacityShadow=.3&bgColorShadow=%23666666&opacityOverlay=.3&bgColorOverlay=%23aaaaaa&fcError=%235f3f3f&borderColorError=%23f1a899&bgColorError=%23fddfdf&fcHighlight=%23777620&borderColorHighlight=%23dad55e&bgColorHighlight=%23fffa90&fcContent=%23333333&borderColorContent=%23dddddd&bgColorContent=%23ffffff&fcHeader=%23333333&borderColorHeader=%23dddddd&bgColorHeader=%23e9e9e9&fcActive=%23ffffff&borderColorActive=%23003eff&bgColorActive=%23007fff&fcHover=%232b2b2b&borderColorHover=%23cccccc&bgColorHover=%23ededed&fcDefault=%23454545&borderColorDefault=%23c5c5c5&bgColorDefault=%23f6f6f6\n* Copyright OpenJS Foundation and other contributors; Licensed MIT */\n\n/* Layout helpers\n----------------------------------*/\n.ui-helper-hidden {\n\tdisplay: none;\n}\n.ui-helper-hidden-accessible {\n\tborder: 0;\n\tclip: rect(0 0 0 0);\n\theight: 1px;\n\tmargin: -1px;\n\toverflow: hidden;\n\tpadding: 0;\n\tposition: absolute;\n\twidth: 1px;\n}\n.ui-helper-reset {\n\tmargin: 0;\n\tpadding: 0;\n\tborder: 0;\n\toutline: 0;\n\tline-height: 1.3;\n\ttext-decoration: none;\n\tfont-size: 100%;\n\tlist-style: none;\n}\n.ui-helper-clearfix:before,\n.ui-helper-clearfix:after {\n\tcontent: "";\n\tdisplay: table;\n\tborder-collapse: collapse;\n}\n.ui-helper-clearfix:after {\n\tclear: both;\n}\n.ui-helper-zfix {\n\twidth: 100%;\n\theight: 100%;\n\ttop: 0;\n\tleft: 0;\n\tposition: absolute;\n\topacity: 0;\n\t-ms-filter: "alpha(opacity=0)"; /* support: IE8 */\n}\n\n.ui-front {\n\tz-index: 100;\n}\n\n\n/* Interaction Cues\n----------------------------------*/\n.ui-state-disabled {\n\tcursor: default !important;\n\tpointer-events: none;\n}\n\n\n/* Icons\n----------------------------------*/\n.ui-icon {\n\tdisplay: inline-block;\n\tvertical-align: middle;\n\tmargin-top: -.25em;\n\tposition: relative;\n\ttext-indent: -99999px;\n\toverflow: hidden;\n\tbackground-repeat: no-repeat;\n}\n\n.ui-widget-icon-block {\n\tleft: 50%;\n\tmargin-left: -8px;\n\tdisplay: block;\n}\n\n/* Misc visuals\n----------------------------------*/\n\n/* Overlays */\n.ui-widget-overlay {\n\tposition: fixed;\n\ttop: 0;\n\tleft: 0;\n\twidth: 100%;\n\theight: 100%;\n}\n.ui-accordion .ui-accordion-header {\n\tdisplay: block;\n\tcursor: pointer;\n\tposition: relative;\n\tmargin: 2px 0 0 0;\n\tpadding: .5em .5em .5em .7em;\n\tfont-size: 100%;\n}\n.ui-accordion .ui-accordion-content {\n\tpadding: 1em 2.2em;\n\tborder-top: 0;\n\toverflow: auto;\n}\n.ui-autocomplete {\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\tcursor: default;\n}\n.ui-menu {\n\tlist-style: none;\n\tpadding: 0;\n\tmargin: 0;\n\tdisplay: block;\n\toutline: 0;\n}\n.ui-menu .ui-menu {\n\tposition: absolute;\n}\n.ui-menu .ui-menu-item {\n\tmargin: 0;\n\tcursor: pointer;\n\t/* support: IE10, see #8844 */\n\tlist-style-image: url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7");\n}\n.ui-menu .ui-menu-item-wrapper {\n\tposition: relative;\n\tpadding: 3px 1em 3px .4em;\n}\n.ui-menu .ui-menu-divider {\n\tmargin: 5px 0;\n\theight: 0;\n\tfont-size: 0;\n\tline-height: 0;\n\tborder-width: 1px 0 0 0;\n}\n.ui-menu .ui-state-focus,\n.ui-menu .ui-state-active {\n\tmargin: -1px;\n}\n\n/* icon support */\n.ui-menu-icons {\n\tposition: relative;\n}\n.ui-menu-icons .ui-menu-item-wrapper {\n\tpadding-left: 2em;\n}\n\n/* left-aligned */\n.ui-menu .ui-icon {\n\tposition: absolute;\n\ttop: 0;\n\tbottom: 0;\n\tleft: .2em;\n\tmargin: auto 0;\n}\n\n/* right-aligned */\n.ui-menu .ui-menu-icon {\n\tleft: auto;\n\tright: 0;\n}\n.ui-button {\n\tpadding: .4em 1em;\n\tdisplay: inline-block;\n\tposition: relative;\n\tline-height: normal;\n\tmargin-right: .1em;\n\tcursor: pointer;\n\tvertical-align: middle;\n\ttext-align: center;\n\t-webkit-user-select: none;\n\t-moz-user-select: none;\n\t-ms-user-select: none;\n\tuser-select: none;\n\n\t/* Support: IE <= 11 */\n\toverflow: visible;\n}\n\n.ui-button,\n.ui-button:link,\n.ui-button:visited,\n.ui-button:hover,\n.ui-button:active {\n\ttext-decoration: none;\n}\n\n/* to make room for the icon, a width needs to be set here */\n.ui-button-icon-only {\n\twidth: 2em;\n\tbox-sizing: border-box;\n\ttext-indent: -9999px;\n\twhite-space: nowrap;\n}\n\n/* no icon support for input elements */\ninput.ui-button.ui-button-icon-only {\n\ttext-indent: 0;\n}\n\n/* button icon element(s) */\n.ui-button-icon-only .ui-icon {\n\tposition: absolute;\n\ttop: 50%;\n\tleft: 50%;\n\tmargin-top: -8px;\n\tmargin-left: -8px;\n}\n\n.ui-button.ui-icon-notext .ui-icon {\n\tpadding: 0;\n\twidth: 2.1em;\n\theight: 2.1em;\n\ttext-indent: -9999px;\n\twhite-space: nowrap;\n\n}\n\ninput.ui-button.ui-icon-notext .ui-icon {\n\twidth: auto;\n\theight: auto;\n\ttext-indent: 0;\n\twhite-space: normal;\n\tpadding: .4em 1em;\n}\n\n/* workarounds */\n/* Support: Firefox 5 - 40 */\ninput.ui-button::-moz-focus-inner,\nbutton.ui-button::-moz-focus-inner {\n\tborder: 0;\n\tpadding: 0;\n}\n.ui-controlgroup {\n\tvertical-align: middle;\n\tdisplay: inline-block;\n}\n.ui-controlgroup > .ui-controlgroup-item {\n\tfloat: left;\n\tmargin-left: 0;\n\tmargin-right: 0;\n}\n.ui-controlgroup > .ui-controlgroup-item:focus,\n.ui-controlgroup > .ui-controlgroup-item.ui-visual-focus {\n\tz-index: 9999;\n}\n.ui-controlgroup-vertical > .ui-controlgroup-item {\n\tdisplay: block;\n\tfloat: none;\n\twidth: 100%;\n\tmargin-top: 0;\n\tmargin-bottom: 0;\n\ttext-align: left;\n}\n.ui-controlgroup-vertical .ui-controlgroup-item {\n\tbox-sizing: border-box;\n}\n.ui-controlgroup .ui-controlgroup-label {\n\tpadding: .4em 1em;\n}\n.ui-controlgroup .ui-controlgroup-label span {\n\tfont-size: 80%;\n}\n.ui-controlgroup-horizontal .ui-controlgroup-label + .ui-controlgroup-item {\n\tborder-left: none;\n}\n.ui-controlgroup-vertical .ui-controlgroup-label + .ui-controlgroup-item {\n\tborder-top: none;\n}\n.ui-controlgroup-horizontal .ui-controlgroup-label.ui-widget-content {\n\tborder-right: none;\n}\n.ui-controlgroup-vertical .ui-controlgroup-label.ui-widget-content {\n\tborder-bottom: none;\n}\n\n/* Spinner specific style fixes */\n.ui-controlgroup-vertical .ui-spinner-input {\n\n\t/* Support: IE8 only, Android < 4.4 only */\n\twidth: 75%;\n\twidth: calc( 100% - 2.4em );\n}\n.ui-controlgroup-vertical .ui-spinner .ui-spinner-up {\n\tborder-top-style: solid;\n}\n\n.ui-checkboxradio-label .ui-icon-background {\n\tbox-shadow: inset 1px 1px 1px #ccc;\n\tborder-radius: .12em;\n\tborder: none;\n}\n.ui-checkboxradio-radio-label .ui-icon-background {\n\twidth: 16px;\n\theight: 16px;\n\tborder-radius: 1em;\n\toverflow: visible;\n\tborder: none;\n}\n.ui-checkboxradio-radio-label.ui-checkboxradio-checked .ui-icon,\n.ui-checkboxradio-radio-label.ui-checkboxradio-checked:hover .ui-icon {\n\tbackground-image: none;\n\twidth: 8px;\n\theight: 8px;\n\tborder-width: 4px;\n\tborder-style: solid;\n}\n.ui-checkboxradio-disabled {\n\tpointer-events: none;\n}\n.ui-datepicker {\n\twidth: 17em;\n\tpadding: .2em .2em 0;\n\tdisplay: none;\n}\n.ui-datepicker .ui-datepicker-header {\n\tposition: relative;\n\tpadding: .2em 0;\n}\n.ui-datepicker .ui-datepicker-prev,\n.ui-datepicker .ui-datepicker-next {\n\tposition: absolute;\n\ttop: 2px;\n\twidth: 1.8em;\n\theight: 1.8em;\n}\n.ui-datepicker .ui-datepicker-prev-hover,\n.ui-datepicker .ui-datepicker-next-hover {\n\ttop: 1px;\n}\n.ui-datepicker .ui-datepicker-prev {\n\tleft: 2px;\n}\n.ui-datepicker .ui-datepicker-next {\n\tright: 2px;\n}\n.ui-datepicker .ui-datepicker-prev-hover {\n\tleft: 1px;\n}\n.ui-datepicker .ui-datepicker-next-hover {\n\tright: 1px;\n}\n.ui-datepicker .ui-datepicker-prev span,\n.ui-datepicker .ui-datepicker-next span {\n\tdisplay: block;\n\tposition: absolute;\n\tleft: 50%;\n\tmargin-left: -8px;\n\ttop: 50%;\n\tmargin-top: -8px;\n}\n.ui-datepicker .ui-datepicker-title {\n\tmargin: 0 2.3em;\n\tline-height: 1.8em;\n\ttext-align: center;\n}\n.ui-datepicker .ui-datepicker-title select {\n\tfont-size: 1em;\n\tmargin: 1px 0;\n}\n.ui-datepicker select.ui-datepicker-month,\n.ui-datepicker select.ui-datepicker-year {\n\twidth: 45%;\n}\n.ui-datepicker table {\n\twidth: 100%;\n\tfont-size: .9em;\n\tborder-collapse: collapse;\n\tmargin: 0 0 .4em;\n}\n.ui-datepicker th {\n\tpadding: .7em .3em;\n\ttext-align: center;\n\tfont-weight: bold;\n\tborder: 0;\n}\n.ui-datepicker td {\n\tborder: 0;\n\tpadding: 1px;\n}\n.ui-datepicker td span,\n.ui-datepicker td a {\n\tdisplay: block;\n\tpadding: .2em;\n\ttext-align: right;\n\ttext-decoration: none;\n}\n.ui-datepicker .ui-datepicker-buttonpane {\n\tbackground-image: none;\n\tmargin: .7em 0 0 0;\n\tpadding: 0 .2em;\n\tborder-left: 0;\n\tborder-right: 0;\n\tborder-bottom: 0;\n}\n.ui-datepicker .ui-datepicker-buttonpane button {\n\tfloat: right;\n\tmargin: .5em .2em .4em;\n\tcursor: pointer;\n\tpadding: .2em .6em .3em .6em;\n\twidth: auto;\n\toverflow: visible;\n}\n.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current {\n\tfloat: left;\n}\n\n/* with multiple calendars */\n.ui-datepicker.ui-datepicker-multi {\n\twidth: auto;\n}\n.ui-datepicker-multi .ui-datepicker-group {\n\tfloat: left;\n}\n.ui-datepicker-multi .ui-datepicker-group table {\n\twidth: 95%;\n\tmargin: 0 auto .4em;\n}\n.ui-datepicker-multi-2 .ui-datepicker-group {\n\twidth: 50%;\n}\n.ui-datepicker-multi-3 .ui-datepicker-group {\n\twidth: 33.3%;\n}\n.ui-datepicker-multi-4 .ui-datepicker-group {\n\twidth: 25%;\n}\n.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,\n.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header {\n\tborder-left-width: 0;\n}\n.ui-datepicker-multi .ui-datepicker-buttonpane {\n\tclear: left;\n}\n.ui-datepicker-row-break {\n\tclear: both;\n\twidth: 100%;\n\tfont-size: 0;\n}\n\n/* RTL support */\n.ui-datepicker-rtl {\n\tdirection: rtl;\n}\n.ui-datepicker-rtl .ui-datepicker-prev {\n\tright: 2px;\n\tleft: auto;\n}\n.ui-datepicker-rtl .ui-datepicker-next {\n\tleft: 2px;\n\tright: auto;\n}\n.ui-datepicker-rtl .ui-datepicker-prev:hover {\n\tright: 1px;\n\tleft: auto;\n}\n.ui-datepicker-rtl .ui-datepicker-next:hover {\n\tleft: 1px;\n\tright: auto;\n}\n.ui-datepicker-rtl .ui-datepicker-buttonpane {\n\tclear: right;\n}\n.ui-datepicker-rtl .ui-datepicker-buttonpane button {\n\tfloat: left;\n}\n.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,\n.ui-datepicker-rtl .ui-datepicker-group {\n\tfloat: right;\n}\n.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,\n.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header {\n\tborder-right-width: 0;\n\tborder-left-width: 1px;\n}\n\n/* Icons */\n.ui-datepicker .ui-icon {\n\tdisplay: block;\n\ttext-indent: -99999px;\n\toverflow: hidden;\n\tbackground-repeat: no-repeat;\n\tleft: .5em;\n\ttop: .3em;\n}\n.ui-dialog {\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\tpadding: .2em;\n\toutline: 0;\n}\n.ui-dialog .ui-dialog-titlebar {\n\tpadding: .4em 1em;\n\tposition: relative;\n}\n.ui-dialog .ui-dialog-title {\n\tfloat: left;\n\tmargin: .1em 0;\n\twhite-space: nowrap;\n\twidth: 90%;\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n}\n.ui-dialog .ui-dialog-titlebar-close {\n\tposition: absolute;\n\tright: .3em;\n\ttop: 50%;\n\twidth: 20px;\n\tmargin: -10px 0 0 0;\n\tpadding: 1px;\n\theight: 20px;\n}\n.ui-dialog .ui-dialog-content {\n\tposition: relative;\n\tborder: 0;\n\tpadding: .5em 1em;\n\tbackground: none;\n\toverflow: auto;\n}\n.ui-dialog .ui-dialog-buttonpane {\n\ttext-align: left;\n\tborder-width: 1px 0 0 0;\n\tbackground-image: none;\n\tmargin-top: .5em;\n\tpadding: .3em 1em .5em .4em;\n}\n.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {\n\tfloat: right;\n}\n.ui-dialog .ui-dialog-buttonpane button {\n\tmargin: .5em .4em .5em 0;\n\tcursor: pointer;\n}\n.ui-dialog .ui-resizable-n {\n\theight: 2px;\n\ttop: 0;\n}\n.ui-dialog .ui-resizable-e {\n\twidth: 2px;\n\tright: 0;\n}\n.ui-dialog .ui-resizable-s {\n\theight: 2px;\n\tbottom: 0;\n}\n.ui-dialog .ui-resizable-w {\n\twidth: 2px;\n\tleft: 0;\n}\n.ui-dialog .ui-resizable-se,\n.ui-dialog .ui-resizable-sw,\n.ui-dialog .ui-resizable-ne,\n.ui-dialog .ui-resizable-nw {\n\twidth: 7px;\n\theight: 7px;\n}\n.ui-dialog .ui-resizable-se {\n\tright: 0;\n\tbottom: 0;\n}\n.ui-dialog .ui-resizable-sw {\n\tleft: 0;\n\tbottom: 0;\n}\n.ui-dialog .ui-resizable-ne {\n\tright: 0;\n\ttop: 0;\n}\n.ui-dialog .ui-resizable-nw {\n\tleft: 0;\n\ttop: 0;\n}\n.ui-draggable .ui-dialog-titlebar {\n\tcursor: move;\n}\n.ui-draggable-handle {\n\t-ms-touch-action: none;\n\ttouch-action: none;\n}\n.ui-resizable {\n\tposition: relative;\n}\n.ui-resizable-handle {\n\tposition: absolute;\n\tfont-size: 0.1px;\n\tdisplay: block;\n\t-ms-touch-action: none;\n\ttouch-action: none;\n}\n.ui-resizable-disabled .ui-resizable-handle,\n.ui-resizable-autohide .ui-resizable-handle {\n\tdisplay: none;\n}\n.ui-resizable-n {\n\tcursor: n-resize;\n\theight: 7px;\n\twidth: 100%;\n\ttop: -5px;\n\tleft: 0;\n}\n.ui-resizable-s {\n\tcursor: s-resize;\n\theight: 7px;\n\twidth: 100%;\n\tbottom: -5px;\n\tleft: 0;\n}\n.ui-resizable-e {\n\tcursor: e-resize;\n\twidth: 7px;\n\tright: -5px;\n\ttop: 0;\n\theight: 100%;\n}\n.ui-resizable-w {\n\tcursor: w-resize;\n\twidth: 7px;\n\tleft: -5px;\n\ttop: 0;\n\theight: 100%;\n}\n.ui-resizable-se {\n\tcursor: se-resize;\n\twidth: 12px;\n\theight: 12px;\n\tright: 1px;\n\tbottom: 1px;\n}\n.ui-resizable-sw {\n\tcursor: sw-resize;\n\twidth: 9px;\n\theight: 9px;\n\tleft: -5px;\n\tbottom: -5px;\n}\n.ui-resizable-nw {\n\tcursor: nw-resize;\n\twidth: 9px;\n\theight: 9px;\n\tleft: -5px;\n\ttop: -5px;\n}\n.ui-resizable-ne {\n\tcursor: ne-resize;\n\twidth: 9px;\n\theight: 9px;\n\tright: -5px;\n\ttop: -5px;\n}\n.ui-progressbar {\n\theight: 2em;\n\ttext-align: left;\n\toverflow: hidden;\n}\n.ui-progressbar .ui-progressbar-value {\n\tmargin: -1px;\n\theight: 100%;\n}\n.ui-progressbar .ui-progressbar-overlay {\n\tbackground: url("data:image/gif;base64,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");\n\theight: 100%;\n\t-ms-filter: "alpha(opacity=25)"; /* support: IE8 */\n\topacity: 0.25;\n}\n.ui-progressbar-indeterminate .ui-progressbar-value {\n\tbackground-image: none;\n}\n.ui-selectable {\n\t-ms-touch-action: none;\n\ttouch-action: none;\n}\n.ui-selectable-helper {\n\tposition: absolute;\n\tz-index: 100;\n\tborder: 1px dotted black;\n}\n.ui-selectmenu-menu {\n\tpadding: 0;\n\tmargin: 0;\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\tdisplay: none;\n}\n.ui-selectmenu-menu .ui-menu {\n\toverflow: auto;\n\toverflow-x: hidden;\n\tpadding-bottom: 1px;\n}\n.ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup {\n\tfont-size: 1em;\n\tfont-weight: bold;\n\tline-height: 1.5;\n\tpadding: 2px 0.4em;\n\tmargin: 0.5em 0 0 0;\n\theight: auto;\n\tborder: 0;\n}\n.ui-selectmenu-open {\n\tdisplay: block;\n}\n.ui-selectmenu-text {\n\tdisplay: block;\n\tmargin-right: 20px;\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n}\n.ui-selectmenu-button.ui-button {\n\ttext-align: left;\n\twhite-space: nowrap;\n\twidth: 14em;\n}\n.ui-selectmenu-icon.ui-icon {\n\tfloat: right;\n\tmargin-top: 0;\n}\n.ui-slider {\n\tposition: relative;\n\ttext-align: left;\n}\n.ui-slider .ui-slider-handle {\n\tposition: absolute;\n\tz-index: 2;\n\twidth: 1.2em;\n\theight: 1.2em;\n\tcursor: pointer;\n\t-ms-touch-action: none;\n\ttouch-action: none;\n}\n.ui-slider .ui-slider-range {\n\tposition: absolute;\n\tz-index: 1;\n\tfont-size: .7em;\n\tdisplay: block;\n\tborder: 0;\n\tbackground-position: 0 0;\n}\n\n/* support: IE8 - See #6727 */\n.ui-slider.ui-state-disabled .ui-slider-handle,\n.ui-slider.ui-state-disabled .ui-slider-range {\n\tfilter: inherit;\n}\n\n.ui-slider-horizontal {\n\theight: .8em;\n}\n.ui-slider-horizontal .ui-slider-handle {\n\ttop: -.3em;\n\tmargin-left: -.6em;\n}\n.ui-slider-horizontal .ui-slider-range {\n\ttop: 0;\n\theight: 100%;\n}\n.ui-slider-horizontal .ui-slider-range-min {\n\tleft: 0;\n}\n.ui-slider-horizontal .ui-slider-range-max {\n\tright: 0;\n}\n\n.ui-slider-vertical {\n\twidth: .8em;\n\theight: 100px;\n}\n.ui-slider-vertical .ui-slider-handle {\n\tleft: -.3em;\n\tmargin-left: 0;\n\tmargin-bottom: -.6em;\n}\n.ui-slider-vertical .ui-slider-range {\n\tleft: 0;\n\twidth: 100%;\n}\n.ui-slider-vertical .ui-slider-range-min {\n\tbottom: 0;\n}\n.ui-slider-vertical .ui-slider-range-max {\n\ttop: 0;\n}\n.ui-sortable-handle {\n\t-ms-touch-action: none;\n\ttouch-action: none;\n}\n.ui-spinner {\n\tposition: relative;\n\tdisplay: inline-block;\n\toverflow: hidden;\n\tpadding: 0;\n\tvertical-align: middle;\n}\n.ui-spinner-input {\n\tborder: none;\n\tbackground: none;\n\tcolor: inherit;\n\tpadding: .222em 0;\n\tmargin: .2em 0;\n\tvertical-align: middle;\n\tmargin-left: .4em;\n\tmargin-right: 2em;\n}\n.ui-spinner-button {\n\twidth: 1.6em;\n\theight: 50%;\n\tfont-size: .5em;\n\tpadding: 0;\n\tmargin: 0;\n\ttext-align: center;\n\tposition: absolute;\n\tcursor: default;\n\tdisplay: block;\n\toverflow: hidden;\n\tright: 0;\n}\n/* more specificity required here to override default borders */\n.ui-spinner a.ui-spinner-button {\n\tborder-top-style: none;\n\tborder-bottom-style: none;\n\tborder-right-style: none;\n}\n.ui-spinner-up {\n\ttop: 0;\n}\n.ui-spinner-down {\n\tbottom: 0;\n}\n.ui-tabs {\n\tposition: relative;/* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */\n\tpadding: .2em;\n}\n.ui-tabs .ui-tabs-nav {\n\tmargin: 0;\n\tpadding: .2em .2em 0;\n}\n.ui-tabs .ui-tabs-nav li {\n\tlist-style: none;\n\tfloat: left;\n\tposition: relative;\n\ttop: 0;\n\tmargin: 1px .2em 0 0;\n\tborder-bottom-width: 0;\n\tpadding: 0;\n\twhite-space: nowrap;\n}\n.ui-tabs .ui-tabs-nav .ui-tabs-anchor {\n\tfloat: left;\n\tpadding: .5em 1em;\n\ttext-decoration: none;\n}\n.ui-tabs .ui-tabs-nav li.ui-tabs-active {\n\tmargin-bottom: -1px;\n\tpadding-bottom: 1px;\n}\n.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor,\n.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor,\n.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor {\n\tcursor: text;\n}\n.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor {\n\tcursor: pointer;\n}\n.ui-tabs .ui-tabs-panel {\n\tdisplay: block;\n\tborder-width: 0;\n\tpadding: 1em 1.4em;\n\tbackground: none;\n}\n.ui-tooltip {\n\tpadding: 8px;\n\tposition: absolute;\n\tz-index: 9999;\n\tmax-width: 300px;\n}\nbody .ui-tooltip {\n\tborder-width: 2px;\n}\n\n/* Component containers\n----------------------------------*/\n.ui-widget {\n\tfont-family: Arial,Helvetica,sans-serif;\n\tfont-size: 1em;\n}\n.ui-widget .ui-widget {\n\tfont-size: 1em;\n}\n.ui-widget input,\n.ui-widget select,\n.ui-widget textarea,\n.ui-widget button {\n\tfont-family: Arial,Helvetica,sans-serif;\n\tfont-size: 1em;\n}\n.ui-widget.ui-widget-content {\n\tborder: 1px solid #c5c5c5;\n}\n.ui-widget-content {\n\tborder: 1px solid #dddddd;\n\tbackground: #ffffff;\n\tcolor: #333333;\n}\n.ui-widget-content a {\n\tcolor: #333333;\n}\n.ui-widget-header {\n\tborder: 1px solid #dddddd;\n\tbackground: #e9e9e9;\n\tcolor: #333333;\n\tfont-weight: bold;\n}\n.ui-widget-header a {\n\tcolor: #333333;\n}\n\n/* Interaction states\n----------------------------------*/\n.ui-state-default,\n.ui-widget-content .ui-state-default,\n.ui-widget-header .ui-state-default,\n.ui-button,\n\n/* We use html here because we need a greater specificity to make sure disabled\nworks properly when clicked or hovered */\nhtml .ui-button.ui-state-disabled:hover,\nhtml .ui-button.ui-state-disabled:active {\n\tborder: 1px solid #c5c5c5;\n\tbackground: #f6f6f6;\n\tfont-weight: normal;\n\tcolor: #454545;\n}\n.ui-state-default a,\n.ui-state-default a:link,\n.ui-state-default a:visited,\na.ui-button,\na:link.ui-button,\na:visited.ui-button,\n.ui-button {\n\tcolor: #454545;\n\ttext-decoration: none;\n}\n.ui-state-hover,\n.ui-widget-content .ui-state-hover,\n.ui-widget-header .ui-state-hover,\n.ui-state-focus,\n.ui-widget-content .ui-state-focus,\n.ui-widget-header .ui-state-focus,\n.ui-button:hover,\n.ui-button:focus {\n\tborder: 1px solid #cccccc;\n\tbackground: #ededed;\n\tfont-weight: normal;\n\tcolor: #2b2b2b;\n}\n.ui-state-hover a,\n.ui-state-hover a:hover,\n.ui-state-hover a:link,\n.ui-state-hover a:visited,\n.ui-state-focus a,\n.ui-state-focus a:hover,\n.ui-state-focus a:link,\n.ui-state-focus a:visited,\na.ui-button:hover,\na.ui-button:focus {\n\tcolor: #2b2b2b;\n\ttext-decoration: none;\n}\n\n.ui-visual-focus {\n\tbox-shadow: 0 0 3px 1px rgb(94, 158, 214);\n}\n.ui-state-active,\n.ui-widget-content .ui-state-active,\n.ui-widget-header .ui-state-active,\na.ui-button:active,\n.ui-button:active,\n.ui-button.ui-state-active:hover {\n\tborder: 1px solid #003eff;\n\tbackground: #007fff;\n\tfont-weight: normal;\n\tcolor: #ffffff;\n}\n.ui-icon-background,\n.ui-state-active .ui-icon-background {\n\tborder: #003eff;\n\tbackground-color: #ffffff;\n}\n.ui-state-active a,\n.ui-state-active a:link,\n.ui-state-active a:visited {\n\tcolor: #ffffff;\n\ttext-decoration: none;\n}\n\n/* Interaction Cues\n----------------------------------*/\n.ui-state-highlight,\n.ui-widget-content .ui-state-highlight,\n.ui-widget-header .ui-state-highlight {\n\tborder: 1px solid #dad55e;\n\tbackground: #fffa90;\n\tcolor: #777620;\n}\n.ui-state-checked {\n\tborder: 1px solid #dad55e;\n\tbackground: #fffa90;\n}\n.ui-state-highlight a,\n.ui-widget-content .ui-state-highlight a,\n.ui-widget-header .ui-state-highlight a {\n\tcolor: #777620;\n}\n.ui-state-error,\n.ui-widget-content .ui-state-error,\n.ui-widget-header .ui-state-error {\n\tborder: 1px solid #f1a899;\n\tbackground: #fddfdf;\n\tcolor: #5f3f3f;\n}\n.ui-state-error a,\n.ui-widget-content .ui-state-error a,\n.ui-widget-header .ui-state-error a {\n\tcolor: #5f3f3f;\n}\n.ui-state-error-text,\n.ui-widget-content .ui-state-error-text,\n.ui-widget-header .ui-state-error-text {\n\tcolor: #5f3f3f;\n}\n.ui-priority-primary,\n.ui-widget-content .ui-priority-primary,\n.ui-widget-header .ui-priority-primary {\n\tfont-weight: bold;\n}\n.ui-priority-secondary,\n.ui-widget-content .ui-priority-secondary,\n.ui-widget-header .ui-priority-secondary {\n\topacity: .7;\n\t-ms-filter: "alpha(opacity=70)"; /* support: IE8 */\n\tfont-weight: normal;\n}\n.ui-state-disabled,\n.ui-widget-content .ui-state-disabled,\n.ui-widget-header .ui-state-disabled {\n\topacity: .35;\n\t-ms-filter: "alpha(opacity=35)"; /* support: IE8 */\n\tbackground-image: none;\n}\n.ui-state-disabled .ui-icon {\n\t-ms-filter: "alpha(opacity=35)"; /* support: IE8 - See #6059 */\n}\n\n/* Icons\n----------------------------------*/\n\n/* states and images */\n.ui-icon {\n\twidth: 16px;\n\theight: 16px;\n}\n.ui-icon,\n.ui-widget-content .ui-icon {\n\tbackground-image: url("images/ui-icons_444444_256x240.png");\n}\n.ui-widget-header .ui-icon {\n\tbackground-image: url("images/ui-icons_444444_256x240.png");\n}\n.ui-state-hover .ui-icon,\n.ui-state-focus .ui-icon,\n.ui-button:hover .ui-icon,\n.ui-button:focus .ui-icon {\n\tbackground-image: url("images/ui-icons_555555_256x240.png");\n}\n.ui-state-active .ui-icon,\n.ui-button:active .ui-icon {\n\tbackground-image: url("images/ui-icons_ffffff_256x240.png");\n}\n.ui-state-highlight .ui-icon,\n.ui-button .ui-state-highlight.ui-icon {\n\tbackground-image: url("images/ui-icons_777620_256x240.png");\n}\n.ui-state-error .ui-icon,\n.ui-state-error-text .ui-icon {\n\tbackground-image: url("images/ui-icons_cc0000_256x240.png");\n}\n.ui-button .ui-icon {\n\tbackground-image: url("images/ui-icons_777777_256x240.png");\n}\n\n/* positioning */\n/* Three classes needed to override `.ui-button:hover .ui-icon` */\n.ui-icon-blank.ui-icon-blank.ui-icon-blank {\n\tbackground-image: none;\n}\n.ui-icon-caret-1-n { background-position: 0 0; }\n.ui-icon-caret-1-ne { background-position: -16px 0; }\n.ui-icon-caret-1-e { background-position: -32px 0; }\n.ui-icon-caret-1-se { background-position: -48px 0; }\n.ui-icon-caret-1-s { background-position: -65px 0; }\n.ui-icon-caret-1-sw { background-position: -80px 0; }\n.ui-icon-caret-1-w { background-position: -96px 0; }\n.ui-icon-caret-1-nw { background-position: -112px 0; }\n.ui-icon-caret-2-n-s { background-position: -128px 0; }\n.ui-icon-caret-2-e-w { background-position: -144px 0; }\n.ui-icon-triangle-1-n { background-position: 0 -16px; }\n.ui-icon-triangle-1-ne { background-position: -16px -16px; }\n.ui-icon-triangle-1-e { background-position: -32px -16px; }\n.ui-icon-triangle-1-se { background-position: -48px -16px; }\n.ui-icon-triangle-1-s { background-position: -65px -16px; }\n.ui-icon-triangle-1-sw { background-position: -80px -16px; }\n.ui-icon-triangle-1-w { background-position: -96px -16px; }\n.ui-icon-triangle-1-nw { background-position: -112px -16px; }\n.ui-icon-triangle-2-n-s { background-position: -128px -16px; }\n.ui-icon-triangle-2-e-w { background-position: -144px -16px; }\n.ui-icon-arrow-1-n { background-position: 0 -32px; }\n.ui-icon-arrow-1-ne { background-position: -16px -32px; }\n.ui-icon-arrow-1-e { background-position: -32px -32px; }\n.ui-icon-arrow-1-se { background-position: -48px -32px; }\n.ui-icon-arrow-1-s { background-position: -65px -32px; }\n.ui-icon-arrow-1-sw { background-position: -80px -32px; }\n.ui-icon-arrow-1-w { background-position: -96px -32px; }\n.ui-icon-arrow-1-nw { background-position: -112px -32px; }\n.ui-icon-arrow-2-n-s { background-position: -128px -32px; }\n.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }\n.ui-icon-arrow-2-e-w { background-position: -160px -32px; }\n.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }\n.ui-icon-arrowstop-1-n { background-position: -192px -32px; }\n.ui-icon-arrowstop-1-e { background-position: -208px -32px; }\n.ui-icon-arrowstop-1-s { background-position: -224px -32px; }\n.ui-icon-arrowstop-1-w { background-position: -240px -32px; }\n.ui-icon-arrowthick-1-n { background-position: 1px -48px; }\n.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }\n.ui-icon-arrowthick-1-e { background-position: -32px -48px; }\n.ui-icon-arrowthick-1-se { background-position: -48px -48px; }\n.ui-icon-arrowthick-1-s { background-position: -64px -48px; }\n.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }\n.ui-icon-arrowthick-1-w { background-position: -96px -48px; }\n.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }\n.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }\n.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }\n.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }\n.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }\n.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }\n.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }\n.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }\n.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }\n.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }\n.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }\n.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }\n.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }\n.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }\n.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }\n.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }\n.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }\n.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }\n.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }\n.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }\n.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }\n.ui-icon-arrow-4 { background-position: 0 -80px; }\n.ui-icon-arrow-4-diag { background-position: -16px -80px; }\n.ui-icon-extlink { background-position: -32px -80px; }\n.ui-icon-newwin { background-position: -48px -80px; }\n.ui-icon-refresh { background-position: -64px -80px; }\n.ui-icon-shuffle { background-position: -80px -80px; }\n.ui-icon-transfer-e-w { background-position: -96px -80px; }\n.ui-icon-transferthick-e-w { background-position: -112px -80px; }\n.ui-icon-folder-collapsed { background-position: 0 -96px; }\n.ui-icon-folder-open { background-position: -16px -96px; }\n.ui-icon-document { background-position: -32px -96px; }\n.ui-icon-document-b { background-position: -48px -96px; }\n.ui-icon-note { background-position: -64px -96px; }\n.ui-icon-mail-closed { background-position: -80px -96px; }\n.ui-icon-mail-open { background-position: -96px -96px; }\n.ui-icon-suitcase { background-position: -112px -96px; }\n.ui-icon-comment { background-position: -128px -96px; }\n.ui-icon-person { background-position: -144px -96px; }\n.ui-icon-print { background-position: -160px -96px; }\n.ui-icon-trash { background-position: -176px -96px; }\n.ui-icon-locked { background-position: -192px -96px; }\n.ui-icon-unlocked { background-position: -208px -96px; }\n.ui-icon-bookmark { background-position: -224px -96px; }\n.ui-icon-tag { background-position: -240px -96px; }\n.ui-icon-home { background-position: 0 -112px; }\n.ui-icon-flag { background-position: -16px -112px; }\n.ui-icon-calendar { background-position: -32px -112px; }\n.ui-icon-cart { background-position: -48px -112px; }\n.ui-icon-pencil { background-position: -64px -112px; }\n.ui-icon-clock { background-position: -80px -112px; }\n.ui-icon-disk { background-position: -96px -112px; }\n.ui-icon-calculator { background-position: -112px -112px; }\n.ui-icon-zoomin { background-position: -128px -112px; }\n.ui-icon-zoomout { background-position: -144px -112px; }\n.ui-icon-search { background-position: -160px -112px; }\n.ui-icon-wrench { background-position: -176px -112px; }\n.ui-icon-gear { background-position: -192px -112px; }\n.ui-icon-heart { background-position: -208px -112px; }\n.ui-icon-star { background-position: -224px -112px; }\n.ui-icon-link { background-position: -240px -112px; }\n.ui-icon-cancel { background-position: 0 -128px; }\n.ui-icon-plus { background-position: -16px -128px; }\n.ui-icon-plusthick { background-position: -32px -128px; }\n.ui-icon-minus { background-position: -48px -128px; }\n.ui-icon-minusthick { background-position: -64px -128px; }\n.ui-icon-close { background-position: -80px -128px; }\n.ui-icon-closethick { background-position: -96px -128px; }\n.ui-icon-key { background-position: -112px -128px; }\n.ui-icon-lightbulb { background-position: -128px -128px; }\n.ui-icon-scissors { background-position: -144px -128px; }\n.ui-icon-clipboard { background-position: -160px -128px; }\n.ui-icon-copy { background-position: -176px -128px; }\n.ui-icon-contact { background-position: -192px -128px; }\n.ui-icon-image { background-position: -208px -128px; }\n.ui-icon-video { background-position: -224px -128px; }\n.ui-icon-script { background-position: -240px -128px; }\n.ui-icon-alert { background-position: 0 -144px; }\n.ui-icon-info { background-position: -16px -144px; }\n.ui-icon-notice { background-position: -32px -144px; }\n.ui-icon-help { background-position: -48px -144px; }\n.ui-icon-check { background-position: -64px -144px; }\n.ui-icon-bullet { background-position: -80px -144px; }\n.ui-icon-radio-on { background-position: -96px -144px; }\n.ui-icon-radio-off { background-position: -112px -144px; }\n.ui-icon-pin-w { background-position: -128px -144px; }\n.ui-icon-pin-s { background-position: -144px -144px; }\n.ui-icon-play { background-position: 0 -160px; }\n.ui-icon-pause { background-position: -16px -160px; }\n.ui-icon-seek-next { background-position: -32px -160px; }\n.ui-icon-seek-prev { background-position: -48px -160px; }\n.ui-icon-seek-end { background-position: -64px -160px; }\n.ui-icon-seek-start { background-position: -80px -160px; }\n/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */\n.ui-icon-seek-first { background-position: -80px -160px; }\n.ui-icon-stop { background-position: -96px -160px; }\n.ui-icon-eject { background-position: -112px -160px; }\n.ui-icon-volume-off { background-position: -128px -160px; }\n.ui-icon-volume-on { background-position: -144px -160px; }\n.ui-icon-power { background-position: 0 -176px; }\n.ui-icon-signal-diag { background-position: -16px -176px; }\n.ui-icon-signal { background-position: -32px -176px; }\n.ui-icon-battery-0 { background-position: -48px -176px; }\n.ui-icon-battery-1 { background-position: -64px -176px; }\n.ui-icon-battery-2 { background-position: -80px -176px; }\n.ui-icon-battery-3 { background-position: -96px -176px; }\n.ui-icon-circle-plus { background-position: 0 -192px; }\n.ui-icon-circle-minus { background-position: -16px -192px; }\n.ui-icon-circle-close { background-position: -32px -192px; }\n.ui-icon-circle-triangle-e { background-position: -48px -192px; }\n.ui-icon-circle-triangle-s { background-position: -64px -192px; }\n.ui-icon-circle-triangle-w { background-position: -80px -192px; }\n.ui-icon-circle-triangle-n { background-position: -96px -192px; }\n.ui-icon-circle-arrow-e { background-position: -112px -192px; }\n.ui-icon-circle-arrow-s { background-position: -128px -192px; }\n.ui-icon-circle-arrow-w { background-position: -144px -192px; }\n.ui-icon-circle-arrow-n { background-position: -160px -192px; }\n.ui-icon-circle-zoomin { background-position: -176px -192px; }\n.ui-icon-circle-zoomout { background-position: -192px -192px; }\n.ui-icon-circle-check { background-position: -208px -192px; }\n.ui-icon-circlesmall-plus { background-position: 0 -208px; }\n.ui-icon-circlesmall-minus { background-position: -16px -208px; }\n.ui-icon-circlesmall-close { background-position: -32px -208px; }\n.ui-icon-squaresmall-plus { background-position: -48px -208px; }\n.ui-icon-squaresmall-minus { background-position: -64px -208px; }\n.ui-icon-squaresmall-close { background-position: -80px -208px; }\n.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }\n.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }\n.ui-icon-grip-solid-vertical { background-position: -32px -224px; }\n.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }\n.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }\n.ui-icon-grip-diagonal-se { background-position: -80px -224px; }\n\n\n/* Misc visuals\n----------------------------------*/\n\n/* Corner radius */\n.ui-corner-all,\n.ui-corner-top,\n.ui-corner-left,\n.ui-corner-tl {\n\tborder-top-left-radius: 3px;\n}\n.ui-corner-all,\n.ui-corner-top,\n.ui-corner-right,\n.ui-corner-tr {\n\tborder-top-right-radius: 3px;\n}\n.ui-corner-all,\n.ui-corner-bottom,\n.ui-corner-left,\n.ui-corner-bl {\n\tborder-bottom-left-radius: 3px;\n}\n.ui-corner-all,\n.ui-corner-bottom,\n.ui-corner-right,\n.ui-corner-br {\n\tborder-bottom-right-radius: 3px;\n}\n\n/* Overlays */\n.ui-widget-overlay {\n\tbackground: #aaaaaa;\n\topacity: .003;\n\t-ms-filter: "alpha(opacity=.3)"; /* support: IE8 */\n}\n.ui-widget-shadow {\n\t-webkit-box-shadow: 0px 0px 5px #666666;\n\tbox-shadow: 0px 0px 5px #666666;\n}\n'],sourceRoot:""}]);const M=m},13169(t,e,i){"use strict";i.d(e,{A:()=>C});var n=i(71354),r=i.n(n),o=i(76314),s=i.n(o),a=i(4417),u=i.n(a),c=new URL(i(3132),i.b),h=new URL(i(19394),i.b),l=new URL(i(81972),i.b),d=new URL(i(6411),i.b),f=new URL(i(14506),i.b),p=new URL(i(64886),i.b),g=s()(r()),A=u()(c),m=u()(h),v=u()(l),b=u()(d),y=u()(f),w=u()(p);g.push([t.id,`/*!\n * jQuery UI CSS Framework 1.13.3\n * https://jqueryui.com\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license.\n * https://jquery.org/license\n *\n * https://api.jqueryui.com/category/theming/\n *\n * To view and modify this theme, visit https://jqueryui.com/themeroller/?bgShadowXPos=&bgOverlayXPos=&bgErrorXPos=&bgHighlightXPos=&bgContentXPos=&bgHeaderXPos=&bgActiveXPos=&bgHoverXPos=&bgDefaultXPos=&bgShadowYPos=&bgOverlayYPos=&bgErrorYPos=&bgHighlightYPos=&bgContentYPos=&bgHeaderYPos=&bgActiveYPos=&bgHoverYPos=&bgDefaultYPos=&bgShadowRepeat=&bgOverlayRepeat=&bgErrorRepeat=&bgHighlightRepeat=&bgContentRepeat=&bgHeaderRepeat=&bgActiveRepeat=&bgHoverRepeat=&bgDefaultRepeat=&iconsHover=url(%22images%2Fui-icons_555555_256x240.png%22)&iconsHighlight=url(%22images%2Fui-icons_777620_256x240.png%22)&iconsHeader=url(%22images%2Fui-icons_444444_256x240.png%22)&iconsError=url(%22images%2Fui-icons_cc0000_256x240.png%22)&iconsDefault=url(%22images%2Fui-icons_777777_256x240.png%22)&iconsContent=url(%22images%2Fui-icons_444444_256x240.png%22)&iconsActive=url(%22images%2Fui-icons_ffffff_256x240.png%22)&bgImgUrlShadow=&bgImgUrlOverlay=&bgImgUrlHover=&bgImgUrlHighlight=&bgImgUrlHeader=&bgImgUrlError=&bgImgUrlDefault=&bgImgUrlContent=&bgImgUrlActive=&opacityFilterShadow=%22alpha(opacity%3D30)%22&opacityFilterOverlay=%22alpha(opacity%3D30)%22&opacityShadowPerc=30&opacityOverlayPerc=30&iconColorHover=%23555555&iconColorHighlight=%23777620&iconColorHeader=%23444444&iconColorError=%23cc0000&iconColorDefault=%23777777&iconColorContent=%23444444&iconColorActive=%23ffffff&bgImgOpacityShadow=0&bgImgOpacityOverlay=0&bgImgOpacityError=95&bgImgOpacityHighlight=55&bgImgOpacityContent=75&bgImgOpacityHeader=75&bgImgOpacityActive=65&bgImgOpacityHover=75&bgImgOpacityDefault=75&bgTextureShadow=flat&bgTextureOverlay=flat&bgTextureError=flat&bgTextureHighlight=flat&bgTextureContent=flat&bgTextureHeader=flat&bgTextureActive=flat&bgTextureHover=flat&bgTextureDefault=flat&cornerRadius=3px&fwDefault=normal&ffDefault=Arial%2CHelvetica%2Csans-serif&fsDefault=1em&cornerRadiusShadow=8px&thicknessShadow=5px&offsetLeftShadow=0px&offsetTopShadow=0px&opacityShadow=.3&bgColorShadow=%23666666&opacityOverlay=.3&bgColorOverlay=%23aaaaaa&fcError=%235f3f3f&borderColorError=%23f1a899&bgColorError=%23fddfdf&fcHighlight=%23777620&borderColorHighlight=%23dad55e&bgColorHighlight=%23fffa90&fcContent=%23333333&borderColorContent=%23dddddd&bgColorContent=%23ffffff&fcHeader=%23333333&borderColorHeader=%23dddddd&bgColorHeader=%23e9e9e9&fcActive=%23ffffff&borderColorActive=%23003eff&bgColorActive=%23007fff&fcHover=%232b2b2b&borderColorHover=%23cccccc&bgColorHover=%23ededed&fcDefault=%23454545&borderColorDefault=%23c5c5c5&bgColorDefault=%23f6f6f6\n */\n\n\n/* Component containers\n----------------------------------*/\n.ui-widget {\n\tfont-family: Arial,Helvetica,sans-serif;\n\tfont-size: 1em;\n}\n.ui-widget .ui-widget {\n\tfont-size: 1em;\n}\n.ui-widget input,\n.ui-widget select,\n.ui-widget textarea,\n.ui-widget button {\n\tfont-family: Arial,Helvetica,sans-serif;\n\tfont-size: 1em;\n}\n.ui-widget.ui-widget-content {\n\tborder: 1px solid #c5c5c5;\n}\n.ui-widget-content {\n\tborder: 1px solid #dddddd;\n\tbackground: #ffffff;\n\tcolor: #333333;\n}\n.ui-widget-content a {\n\tcolor: #333333;\n}\n.ui-widget-header {\n\tborder: 1px solid #dddddd;\n\tbackground: #e9e9e9;\n\tcolor: #333333;\n\tfont-weight: bold;\n}\n.ui-widget-header a {\n\tcolor: #333333;\n}\n\n/* Interaction states\n----------------------------------*/\n.ui-state-default,\n.ui-widget-content .ui-state-default,\n.ui-widget-header .ui-state-default,\n.ui-button,\n\n/* We use html here because we need a greater specificity to make sure disabled\nworks properly when clicked or hovered */\nhtml .ui-button.ui-state-disabled:hover,\nhtml .ui-button.ui-state-disabled:active {\n\tborder: 1px solid #c5c5c5;\n\tbackground: #f6f6f6;\n\tfont-weight: normal;\n\tcolor: #454545;\n}\n.ui-state-default a,\n.ui-state-default a:link,\n.ui-state-default a:visited,\na.ui-button,\na:link.ui-button,\na:visited.ui-button,\n.ui-button {\n\tcolor: #454545;\n\ttext-decoration: none;\n}\n.ui-state-hover,\n.ui-widget-content .ui-state-hover,\n.ui-widget-header .ui-state-hover,\n.ui-state-focus,\n.ui-widget-content .ui-state-focus,\n.ui-widget-header .ui-state-focus,\n.ui-button:hover,\n.ui-button:focus {\n\tborder: 1px solid #cccccc;\n\tbackground: #ededed;\n\tfont-weight: normal;\n\tcolor: #2b2b2b;\n}\n.ui-state-hover a,\n.ui-state-hover a:hover,\n.ui-state-hover a:link,\n.ui-state-hover a:visited,\n.ui-state-focus a,\n.ui-state-focus a:hover,\n.ui-state-focus a:link,\n.ui-state-focus a:visited,\na.ui-button:hover,\na.ui-button:focus {\n\tcolor: #2b2b2b;\n\ttext-decoration: none;\n}\n\n.ui-visual-focus {\n\tbox-shadow: 0 0 3px 1px rgb(94, 158, 214);\n}\n.ui-state-active,\n.ui-widget-content .ui-state-active,\n.ui-widget-header .ui-state-active,\na.ui-button:active,\n.ui-button:active,\n.ui-button.ui-state-active:hover {\n\tborder: 1px solid #003eff;\n\tbackground: #007fff;\n\tfont-weight: normal;\n\tcolor: #ffffff;\n}\n.ui-icon-background,\n.ui-state-active .ui-icon-background {\n\tborder: #003eff;\n\tbackground-color: #ffffff;\n}\n.ui-state-active a,\n.ui-state-active a:link,\n.ui-state-active a:visited {\n\tcolor: #ffffff;\n\ttext-decoration: none;\n}\n\n/* Interaction Cues\n----------------------------------*/\n.ui-state-highlight,\n.ui-widget-content .ui-state-highlight,\n.ui-widget-header .ui-state-highlight {\n\tborder: 1px solid #dad55e;\n\tbackground: #fffa90;\n\tcolor: #777620;\n}\n.ui-state-checked {\n\tborder: 1px solid #dad55e;\n\tbackground: #fffa90;\n}\n.ui-state-highlight a,\n.ui-widget-content .ui-state-highlight a,\n.ui-widget-header .ui-state-highlight a {\n\tcolor: #777620;\n}\n.ui-state-error,\n.ui-widget-content .ui-state-error,\n.ui-widget-header .ui-state-error {\n\tborder: 1px solid #f1a899;\n\tbackground: #fddfdf;\n\tcolor: #5f3f3f;\n}\n.ui-state-error a,\n.ui-widget-content .ui-state-error a,\n.ui-widget-header .ui-state-error a {\n\tcolor: #5f3f3f;\n}\n.ui-state-error-text,\n.ui-widget-content .ui-state-error-text,\n.ui-widget-header .ui-state-error-text {\n\tcolor: #5f3f3f;\n}\n.ui-priority-primary,\n.ui-widget-content .ui-priority-primary,\n.ui-widget-header .ui-priority-primary {\n\tfont-weight: bold;\n}\n.ui-priority-secondary,\n.ui-widget-content .ui-priority-secondary,\n.ui-widget-header .ui-priority-secondary {\n\topacity: .7;\n\t-ms-filter: "alpha(opacity=70)"; /* support: IE8 */\n\tfont-weight: normal;\n}\n.ui-state-disabled,\n.ui-widget-content .ui-state-disabled,\n.ui-widget-header .ui-state-disabled {\n\topacity: .35;\n\t-ms-filter: "alpha(opacity=35)"; /* support: IE8 */\n\tbackground-image: none;\n}\n.ui-state-disabled .ui-icon {\n\t-ms-filter: "alpha(opacity=35)"; /* support: IE8 - See #6059 */\n}\n\n/* Icons\n----------------------------------*/\n\n/* states and images */\n.ui-icon {\n\twidth: 16px;\n\theight: 16px;\n}\n.ui-icon,\n.ui-widget-content .ui-icon {\n\tbackground-image: url(${A});\n}\n.ui-widget-header .ui-icon {\n\tbackground-image: url(${A});\n}\n.ui-state-hover .ui-icon,\n.ui-state-focus .ui-icon,\n.ui-button:hover .ui-icon,\n.ui-button:focus .ui-icon {\n\tbackground-image: url(${m});\n}\n.ui-state-active .ui-icon,\n.ui-button:active .ui-icon {\n\tbackground-image: url(${v});\n}\n.ui-state-highlight .ui-icon,\n.ui-button .ui-state-highlight.ui-icon {\n\tbackground-image: url(${b});\n}\n.ui-state-error .ui-icon,\n.ui-state-error-text .ui-icon {\n\tbackground-image: url(${y});\n}\n.ui-button .ui-icon {\n\tbackground-image: url(${w});\n}\n\n/* positioning */\n/* Three classes needed to override \`.ui-button:hover .ui-icon\` */\n.ui-icon-blank.ui-icon-blank.ui-icon-blank {\n\tbackground-image: none;\n}\n.ui-icon-caret-1-n { background-position: 0 0; }\n.ui-icon-caret-1-ne { background-position: -16px 0; }\n.ui-icon-caret-1-e { background-position: -32px 0; }\n.ui-icon-caret-1-se { background-position: -48px 0; }\n.ui-icon-caret-1-s { background-position: -65px 0; }\n.ui-icon-caret-1-sw { background-position: -80px 0; }\n.ui-icon-caret-1-w { background-position: -96px 0; }\n.ui-icon-caret-1-nw { background-position: -112px 0; }\n.ui-icon-caret-2-n-s { background-position: -128px 0; }\n.ui-icon-caret-2-e-w { background-position: -144px 0; }\n.ui-icon-triangle-1-n { background-position: 0 -16px; }\n.ui-icon-triangle-1-ne { background-position: -16px -16px; }\n.ui-icon-triangle-1-e { background-position: -32px -16px; }\n.ui-icon-triangle-1-se { background-position: -48px -16px; }\n.ui-icon-triangle-1-s { background-position: -65px -16px; }\n.ui-icon-triangle-1-sw { background-position: -80px -16px; }\n.ui-icon-triangle-1-w { background-position: -96px -16px; }\n.ui-icon-triangle-1-nw { background-position: -112px -16px; }\n.ui-icon-triangle-2-n-s { background-position: -128px -16px; }\n.ui-icon-triangle-2-e-w { background-position: -144px -16px; }\n.ui-icon-arrow-1-n { background-position: 0 -32px; }\n.ui-icon-arrow-1-ne { background-position: -16px -32px; }\n.ui-icon-arrow-1-e { background-position: -32px -32px; }\n.ui-icon-arrow-1-se { background-position: -48px -32px; }\n.ui-icon-arrow-1-s { background-position: -65px -32px; }\n.ui-icon-arrow-1-sw { background-position: -80px -32px; }\n.ui-icon-arrow-1-w { background-position: -96px -32px; }\n.ui-icon-arrow-1-nw { background-position: -112px -32px; }\n.ui-icon-arrow-2-n-s { background-position: -128px -32px; }\n.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }\n.ui-icon-arrow-2-e-w { background-position: -160px -32px; }\n.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }\n.ui-icon-arrowstop-1-n { background-position: -192px -32px; }\n.ui-icon-arrowstop-1-e { background-position: -208px -32px; }\n.ui-icon-arrowstop-1-s { background-position: -224px -32px; }\n.ui-icon-arrowstop-1-w { background-position: -240px -32px; }\n.ui-icon-arrowthick-1-n { background-position: 1px -48px; }\n.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }\n.ui-icon-arrowthick-1-e { background-position: -32px -48px; }\n.ui-icon-arrowthick-1-se { background-position: -48px -48px; }\n.ui-icon-arrowthick-1-s { background-position: -64px -48px; }\n.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }\n.ui-icon-arrowthick-1-w { background-position: -96px -48px; }\n.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }\n.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }\n.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }\n.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }\n.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }\n.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }\n.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }\n.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }\n.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }\n.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }\n.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }\n.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }\n.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }\n.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }\n.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }\n.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }\n.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }\n.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }\n.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }\n.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }\n.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }\n.ui-icon-arrow-4 { background-position: 0 -80px; }\n.ui-icon-arrow-4-diag { background-position: -16px -80px; }\n.ui-icon-extlink { background-position: -32px -80px; }\n.ui-icon-newwin { background-position: -48px -80px; }\n.ui-icon-refresh { background-position: -64px -80px; }\n.ui-icon-shuffle { background-position: -80px -80px; }\n.ui-icon-transfer-e-w { background-position: -96px -80px; }\n.ui-icon-transferthick-e-w { background-position: -112px -80px; }\n.ui-icon-folder-collapsed { background-position: 0 -96px; }\n.ui-icon-folder-open { background-position: -16px -96px; }\n.ui-icon-document { background-position: -32px -96px; }\n.ui-icon-document-b { background-position: -48px -96px; }\n.ui-icon-note { background-position: -64px -96px; }\n.ui-icon-mail-closed { background-position: -80px -96px; }\n.ui-icon-mail-open { background-position: -96px -96px; }\n.ui-icon-suitcase { background-position: -112px -96px; }\n.ui-icon-comment { background-position: -128px -96px; }\n.ui-icon-person { background-position: -144px -96px; }\n.ui-icon-print { background-position: -160px -96px; }\n.ui-icon-trash { background-position: -176px -96px; }\n.ui-icon-locked { background-position: -192px -96px; }\n.ui-icon-unlocked { background-position: -208px -96px; }\n.ui-icon-bookmark { background-position: -224px -96px; }\n.ui-icon-tag { background-position: -240px -96px; }\n.ui-icon-home { background-position: 0 -112px; }\n.ui-icon-flag { background-position: -16px -112px; }\n.ui-icon-calendar { background-position: -32px -112px; }\n.ui-icon-cart { background-position: -48px -112px; }\n.ui-icon-pencil { background-position: -64px -112px; }\n.ui-icon-clock { background-position: -80px -112px; }\n.ui-icon-disk { background-position: -96px -112px; }\n.ui-icon-calculator { background-position: -112px -112px; }\n.ui-icon-zoomin { background-position: -128px -112px; }\n.ui-icon-zoomout { background-position: -144px -112px; }\n.ui-icon-search { background-position: -160px -112px; }\n.ui-icon-wrench { background-position: -176px -112px; }\n.ui-icon-gear { background-position: -192px -112px; }\n.ui-icon-heart { background-position: -208px -112px; }\n.ui-icon-star { background-position: -224px -112px; }\n.ui-icon-link { background-position: -240px -112px; }\n.ui-icon-cancel { background-position: 0 -128px; }\n.ui-icon-plus { background-position: -16px -128px; }\n.ui-icon-plusthick { background-position: -32px -128px; }\n.ui-icon-minus { background-position: -48px -128px; }\n.ui-icon-minusthick { background-position: -64px -128px; }\n.ui-icon-close { background-position: -80px -128px; }\n.ui-icon-closethick { background-position: -96px -128px; }\n.ui-icon-key { background-position: -112px -128px; }\n.ui-icon-lightbulb { background-position: -128px -128px; }\n.ui-icon-scissors { background-position: -144px -128px; }\n.ui-icon-clipboard { background-position: -160px -128px; }\n.ui-icon-copy { background-position: -176px -128px; }\n.ui-icon-contact { background-position: -192px -128px; }\n.ui-icon-image { background-position: -208px -128px; }\n.ui-icon-video { background-position: -224px -128px; }\n.ui-icon-script { background-position: -240px -128px; }\n.ui-icon-alert { background-position: 0 -144px; }\n.ui-icon-info { background-position: -16px -144px; }\n.ui-icon-notice { background-position: -32px -144px; }\n.ui-icon-help { background-position: -48px -144px; }\n.ui-icon-check { background-position: -64px -144px; }\n.ui-icon-bullet { background-position: -80px -144px; }\n.ui-icon-radio-on { background-position: -96px -144px; }\n.ui-icon-radio-off { background-position: -112px -144px; }\n.ui-icon-pin-w { background-position: -128px -144px; }\n.ui-icon-pin-s { background-position: -144px -144px; }\n.ui-icon-play { background-position: 0 -160px; }\n.ui-icon-pause { background-position: -16px -160px; }\n.ui-icon-seek-next { background-position: -32px -160px; }\n.ui-icon-seek-prev { background-position: -48px -160px; }\n.ui-icon-seek-end { background-position: -64px -160px; }\n.ui-icon-seek-start { background-position: -80px -160px; }\n/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */\n.ui-icon-seek-first { background-position: -80px -160px; }\n.ui-icon-stop { background-position: -96px -160px; }\n.ui-icon-eject { background-position: -112px -160px; }\n.ui-icon-volume-off { background-position: -128px -160px; }\n.ui-icon-volume-on { background-position: -144px -160px; }\n.ui-icon-power { background-position: 0 -176px; }\n.ui-icon-signal-diag { background-position: -16px -176px; }\n.ui-icon-signal { background-position: -32px -176px; }\n.ui-icon-battery-0 { background-position: -48px -176px; }\n.ui-icon-battery-1 { background-position: -64px -176px; }\n.ui-icon-battery-2 { background-position: -80px -176px; }\n.ui-icon-battery-3 { background-position: -96px -176px; }\n.ui-icon-circle-plus { background-position: 0 -192px; }\n.ui-icon-circle-minus { background-position: -16px -192px; }\n.ui-icon-circle-close { background-position: -32px -192px; }\n.ui-icon-circle-triangle-e { background-position: -48px -192px; }\n.ui-icon-circle-triangle-s { background-position: -64px -192px; }\n.ui-icon-circle-triangle-w { background-position: -80px -192px; }\n.ui-icon-circle-triangle-n { background-position: -96px -192px; }\n.ui-icon-circle-arrow-e { background-position: -112px -192px; }\n.ui-icon-circle-arrow-s { background-position: -128px -192px; }\n.ui-icon-circle-arrow-w { background-position: -144px -192px; }\n.ui-icon-circle-arrow-n { background-position: -160px -192px; }\n.ui-icon-circle-zoomin { background-position: -176px -192px; }\n.ui-icon-circle-zoomout { background-position: -192px -192px; }\n.ui-icon-circle-check { background-position: -208px -192px; }\n.ui-icon-circlesmall-plus { background-position: 0 -208px; }\n.ui-icon-circlesmall-minus { background-position: -16px -208px; }\n.ui-icon-circlesmall-close { background-position: -32px -208px; }\n.ui-icon-squaresmall-plus { background-position: -48px -208px; }\n.ui-icon-squaresmall-minus { background-position: -64px -208px; }\n.ui-icon-squaresmall-close { background-position: -80px -208px; }\n.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }\n.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }\n.ui-icon-grip-solid-vertical { background-position: -32px -224px; }\n.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }\n.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }\n.ui-icon-grip-diagonal-se { background-position: -80px -224px; }\n\n\n/* Misc visuals\n----------------------------------*/\n\n/* Corner radius */\n.ui-corner-all,\n.ui-corner-top,\n.ui-corner-left,\n.ui-corner-tl {\n\tborder-top-left-radius: 3px;\n}\n.ui-corner-all,\n.ui-corner-top,\n.ui-corner-right,\n.ui-corner-tr {\n\tborder-top-right-radius: 3px;\n}\n.ui-corner-all,\n.ui-corner-bottom,\n.ui-corner-left,\n.ui-corner-bl {\n\tborder-bottom-left-radius: 3px;\n}\n.ui-corner-all,\n.ui-corner-bottom,\n.ui-corner-right,\n.ui-corner-br {\n\tborder-bottom-right-radius: 3px;\n}\n\n/* Overlays */\n.ui-widget-overlay {\n\tbackground: #aaaaaa;\n\topacity: .003;\n\t-ms-filter: "alpha(opacity=.3)"; /* support: IE8 */\n}\n.ui-widget-shadow {\n\t-webkit-box-shadow: 0px 0px 5px #666666;\n\tbox-shadow: 0px 0px 5px #666666;\n}\n`,"",{version:3,sources:["webpack://./node_modules/jquery-ui-dist/jquery-ui.theme.css"],names:[],mappings:"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",sourcesContent:['/*!\n * jQuery UI CSS Framework 1.13.3\n * https://jqueryui.com\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license.\n * https://jquery.org/license\n *\n * https://api.jqueryui.com/category/theming/\n *\n * To view and modify this theme, visit https://jqueryui.com/themeroller/?bgShadowXPos=&bgOverlayXPos=&bgErrorXPos=&bgHighlightXPos=&bgContentXPos=&bgHeaderXPos=&bgActiveXPos=&bgHoverXPos=&bgDefaultXPos=&bgShadowYPos=&bgOverlayYPos=&bgErrorYPos=&bgHighlightYPos=&bgContentYPos=&bgHeaderYPos=&bgActiveYPos=&bgHoverYPos=&bgDefaultYPos=&bgShadowRepeat=&bgOverlayRepeat=&bgErrorRepeat=&bgHighlightRepeat=&bgContentRepeat=&bgHeaderRepeat=&bgActiveRepeat=&bgHoverRepeat=&bgDefaultRepeat=&iconsHover=url(%22images%2Fui-icons_555555_256x240.png%22)&iconsHighlight=url(%22images%2Fui-icons_777620_256x240.png%22)&iconsHeader=url(%22images%2Fui-icons_444444_256x240.png%22)&iconsError=url(%22images%2Fui-icons_cc0000_256x240.png%22)&iconsDefault=url(%22images%2Fui-icons_777777_256x240.png%22)&iconsContent=url(%22images%2Fui-icons_444444_256x240.png%22)&iconsActive=url(%22images%2Fui-icons_ffffff_256x240.png%22)&bgImgUrlShadow=&bgImgUrlOverlay=&bgImgUrlHover=&bgImgUrlHighlight=&bgImgUrlHeader=&bgImgUrlError=&bgImgUrlDefault=&bgImgUrlContent=&bgImgUrlActive=&opacityFilterShadow=%22alpha(opacity%3D30)%22&opacityFilterOverlay=%22alpha(opacity%3D30)%22&opacityShadowPerc=30&opacityOverlayPerc=30&iconColorHover=%23555555&iconColorHighlight=%23777620&iconColorHeader=%23444444&iconColorError=%23cc0000&iconColorDefault=%23777777&iconColorContent=%23444444&iconColorActive=%23ffffff&bgImgOpacityShadow=0&bgImgOpacityOverlay=0&bgImgOpacityError=95&bgImgOpacityHighlight=55&bgImgOpacityContent=75&bgImgOpacityHeader=75&bgImgOpacityActive=65&bgImgOpacityHover=75&bgImgOpacityDefault=75&bgTextureShadow=flat&bgTextureOverlay=flat&bgTextureError=flat&bgTextureHighlight=flat&bgTextureContent=flat&bgTextureHeader=flat&bgTextureActive=flat&bgTextureHover=flat&bgTextureDefault=flat&cornerRadius=3px&fwDefault=normal&ffDefault=Arial%2CHelvetica%2Csans-serif&fsDefault=1em&cornerRadiusShadow=8px&thicknessShadow=5px&offsetLeftShadow=0px&offsetTopShadow=0px&opacityShadow=.3&bgColorShadow=%23666666&opacityOverlay=.3&bgColorOverlay=%23aaaaaa&fcError=%235f3f3f&borderColorError=%23f1a899&bgColorError=%23fddfdf&fcHighlight=%23777620&borderColorHighlight=%23dad55e&bgColorHighlight=%23fffa90&fcContent=%23333333&borderColorContent=%23dddddd&bgColorContent=%23ffffff&fcHeader=%23333333&borderColorHeader=%23dddddd&bgColorHeader=%23e9e9e9&fcActive=%23ffffff&borderColorActive=%23003eff&bgColorActive=%23007fff&fcHover=%232b2b2b&borderColorHover=%23cccccc&bgColorHover=%23ededed&fcDefault=%23454545&borderColorDefault=%23c5c5c5&bgColorDefault=%23f6f6f6\n */\n\n\n/* Component containers\n----------------------------------*/\n.ui-widget {\n\tfont-family: Arial,Helvetica,sans-serif;\n\tfont-size: 1em;\n}\n.ui-widget .ui-widget {\n\tfont-size: 1em;\n}\n.ui-widget input,\n.ui-widget select,\n.ui-widget textarea,\n.ui-widget button {\n\tfont-family: Arial,Helvetica,sans-serif;\n\tfont-size: 1em;\n}\n.ui-widget.ui-widget-content {\n\tborder: 1px solid #c5c5c5;\n}\n.ui-widget-content {\n\tborder: 1px solid #dddddd;\n\tbackground: #ffffff;\n\tcolor: #333333;\n}\n.ui-widget-content a {\n\tcolor: #333333;\n}\n.ui-widget-header {\n\tborder: 1px solid #dddddd;\n\tbackground: #e9e9e9;\n\tcolor: #333333;\n\tfont-weight: bold;\n}\n.ui-widget-header a {\n\tcolor: #333333;\n}\n\n/* Interaction states\n----------------------------------*/\n.ui-state-default,\n.ui-widget-content .ui-state-default,\n.ui-widget-header .ui-state-default,\n.ui-button,\n\n/* We use html here because we need a greater specificity to make sure disabled\nworks properly when clicked or hovered */\nhtml .ui-button.ui-state-disabled:hover,\nhtml .ui-button.ui-state-disabled:active {\n\tborder: 1px solid #c5c5c5;\n\tbackground: #f6f6f6;\n\tfont-weight: normal;\n\tcolor: #454545;\n}\n.ui-state-default a,\n.ui-state-default a:link,\n.ui-state-default a:visited,\na.ui-button,\na:link.ui-button,\na:visited.ui-button,\n.ui-button {\n\tcolor: #454545;\n\ttext-decoration: none;\n}\n.ui-state-hover,\n.ui-widget-content .ui-state-hover,\n.ui-widget-header .ui-state-hover,\n.ui-state-focus,\n.ui-widget-content .ui-state-focus,\n.ui-widget-header .ui-state-focus,\n.ui-button:hover,\n.ui-button:focus {\n\tborder: 1px solid #cccccc;\n\tbackground: #ededed;\n\tfont-weight: normal;\n\tcolor: #2b2b2b;\n}\n.ui-state-hover a,\n.ui-state-hover a:hover,\n.ui-state-hover a:link,\n.ui-state-hover a:visited,\n.ui-state-focus a,\n.ui-state-focus a:hover,\n.ui-state-focus a:link,\n.ui-state-focus a:visited,\na.ui-button:hover,\na.ui-button:focus {\n\tcolor: #2b2b2b;\n\ttext-decoration: none;\n}\n\n.ui-visual-focus {\n\tbox-shadow: 0 0 3px 1px rgb(94, 158, 214);\n}\n.ui-state-active,\n.ui-widget-content .ui-state-active,\n.ui-widget-header .ui-state-active,\na.ui-button:active,\n.ui-button:active,\n.ui-button.ui-state-active:hover {\n\tborder: 1px solid #003eff;\n\tbackground: #007fff;\n\tfont-weight: normal;\n\tcolor: #ffffff;\n}\n.ui-icon-background,\n.ui-state-active .ui-icon-background {\n\tborder: #003eff;\n\tbackground-color: #ffffff;\n}\n.ui-state-active a,\n.ui-state-active a:link,\n.ui-state-active a:visited {\n\tcolor: #ffffff;\n\ttext-decoration: none;\n}\n\n/* Interaction Cues\n----------------------------------*/\n.ui-state-highlight,\n.ui-widget-content .ui-state-highlight,\n.ui-widget-header .ui-state-highlight {\n\tborder: 1px solid #dad55e;\n\tbackground: #fffa90;\n\tcolor: #777620;\n}\n.ui-state-checked {\n\tborder: 1px solid #dad55e;\n\tbackground: #fffa90;\n}\n.ui-state-highlight a,\n.ui-widget-content .ui-state-highlight a,\n.ui-widget-header .ui-state-highlight a {\n\tcolor: #777620;\n}\n.ui-state-error,\n.ui-widget-content .ui-state-error,\n.ui-widget-header .ui-state-error {\n\tborder: 1px solid #f1a899;\n\tbackground: #fddfdf;\n\tcolor: #5f3f3f;\n}\n.ui-state-error a,\n.ui-widget-content .ui-state-error a,\n.ui-widget-header .ui-state-error a {\n\tcolor: #5f3f3f;\n}\n.ui-state-error-text,\n.ui-widget-content .ui-state-error-text,\n.ui-widget-header .ui-state-error-text {\n\tcolor: #5f3f3f;\n}\n.ui-priority-primary,\n.ui-widget-content .ui-priority-primary,\n.ui-widget-header .ui-priority-primary {\n\tfont-weight: bold;\n}\n.ui-priority-secondary,\n.ui-widget-content .ui-priority-secondary,\n.ui-widget-header .ui-priority-secondary {\n\topacity: .7;\n\t-ms-filter: "alpha(opacity=70)"; /* support: IE8 */\n\tfont-weight: normal;\n}\n.ui-state-disabled,\n.ui-widget-content .ui-state-disabled,\n.ui-widget-header .ui-state-disabled {\n\topacity: .35;\n\t-ms-filter: "alpha(opacity=35)"; /* support: IE8 */\n\tbackground-image: none;\n}\n.ui-state-disabled .ui-icon {\n\t-ms-filter: "alpha(opacity=35)"; /* support: IE8 - See #6059 */\n}\n\n/* Icons\n----------------------------------*/\n\n/* states and images */\n.ui-icon {\n\twidth: 16px;\n\theight: 16px;\n}\n.ui-icon,\n.ui-widget-content .ui-icon {\n\tbackground-image: url("images/ui-icons_444444_256x240.png");\n}\n.ui-widget-header .ui-icon {\n\tbackground-image: url("images/ui-icons_444444_256x240.png");\n}\n.ui-state-hover .ui-icon,\n.ui-state-focus .ui-icon,\n.ui-button:hover .ui-icon,\n.ui-button:focus .ui-icon {\n\tbackground-image: url("images/ui-icons_555555_256x240.png");\n}\n.ui-state-active .ui-icon,\n.ui-button:active .ui-icon {\n\tbackground-image: url("images/ui-icons_ffffff_256x240.png");\n}\n.ui-state-highlight .ui-icon,\n.ui-button .ui-state-highlight.ui-icon {\n\tbackground-image: url("images/ui-icons_777620_256x240.png");\n}\n.ui-state-error .ui-icon,\n.ui-state-error-text .ui-icon {\n\tbackground-image: url("images/ui-icons_cc0000_256x240.png");\n}\n.ui-button .ui-icon {\n\tbackground-image: url("images/ui-icons_777777_256x240.png");\n}\n\n/* positioning */\n/* Three classes needed to override `.ui-button:hover .ui-icon` */\n.ui-icon-blank.ui-icon-blank.ui-icon-blank {\n\tbackground-image: none;\n}\n.ui-icon-caret-1-n { background-position: 0 0; }\n.ui-icon-caret-1-ne { background-position: -16px 0; }\n.ui-icon-caret-1-e { background-position: -32px 0; }\n.ui-icon-caret-1-se { background-position: -48px 0; }\n.ui-icon-caret-1-s { background-position: -65px 0; }\n.ui-icon-caret-1-sw { background-position: -80px 0; }\n.ui-icon-caret-1-w { background-position: -96px 0; }\n.ui-icon-caret-1-nw { background-position: -112px 0; }\n.ui-icon-caret-2-n-s { background-position: -128px 0; }\n.ui-icon-caret-2-e-w { background-position: -144px 0; }\n.ui-icon-triangle-1-n { background-position: 0 -16px; }\n.ui-icon-triangle-1-ne { background-position: -16px -16px; }\n.ui-icon-triangle-1-e { background-position: -32px -16px; }\n.ui-icon-triangle-1-se { background-position: -48px -16px; }\n.ui-icon-triangle-1-s { background-position: -65px -16px; }\n.ui-icon-triangle-1-sw { background-position: -80px -16px; }\n.ui-icon-triangle-1-w { background-position: -96px -16px; }\n.ui-icon-triangle-1-nw { background-position: -112px -16px; }\n.ui-icon-triangle-2-n-s { background-position: -128px -16px; }\n.ui-icon-triangle-2-e-w { background-position: -144px -16px; }\n.ui-icon-arrow-1-n { background-position: 0 -32px; }\n.ui-icon-arrow-1-ne { background-position: -16px -32px; }\n.ui-icon-arrow-1-e { background-position: -32px -32px; }\n.ui-icon-arrow-1-se { background-position: -48px -32px; }\n.ui-icon-arrow-1-s { background-position: -65px -32px; }\n.ui-icon-arrow-1-sw { background-position: -80px -32px; }\n.ui-icon-arrow-1-w { background-position: -96px -32px; }\n.ui-icon-arrow-1-nw { background-position: -112px -32px; }\n.ui-icon-arrow-2-n-s { background-position: -128px -32px; }\n.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }\n.ui-icon-arrow-2-e-w { background-position: -160px -32px; }\n.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }\n.ui-icon-arrowstop-1-n { background-position: -192px -32px; }\n.ui-icon-arrowstop-1-e { background-position: -208px -32px; }\n.ui-icon-arrowstop-1-s { background-position: -224px -32px; }\n.ui-icon-arrowstop-1-w { background-position: -240px -32px; }\n.ui-icon-arrowthick-1-n { background-position: 1px -48px; }\n.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }\n.ui-icon-arrowthick-1-e { background-position: -32px -48px; }\n.ui-icon-arrowthick-1-se { background-position: -48px -48px; }\n.ui-icon-arrowthick-1-s { background-position: -64px -48px; }\n.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }\n.ui-icon-arrowthick-1-w { background-position: -96px -48px; }\n.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }\n.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }\n.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }\n.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }\n.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }\n.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }\n.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }\n.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }\n.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }\n.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }\n.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }\n.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }\n.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }\n.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }\n.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }\n.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }\n.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }\n.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }\n.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }\n.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }\n.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }\n.ui-icon-arrow-4 { background-position: 0 -80px; }\n.ui-icon-arrow-4-diag { background-position: -16px -80px; }\n.ui-icon-extlink { background-position: -32px -80px; }\n.ui-icon-newwin { background-position: -48px -80px; }\n.ui-icon-refresh { background-position: -64px -80px; }\n.ui-icon-shuffle { background-position: -80px -80px; }\n.ui-icon-transfer-e-w { background-position: -96px -80px; }\n.ui-icon-transferthick-e-w { background-position: -112px -80px; }\n.ui-icon-folder-collapsed { background-position: 0 -96px; }\n.ui-icon-folder-open { background-position: -16px -96px; }\n.ui-icon-document { background-position: -32px -96px; }\n.ui-icon-document-b { background-position: -48px -96px; }\n.ui-icon-note { background-position: -64px -96px; }\n.ui-icon-mail-closed { background-position: -80px -96px; }\n.ui-icon-mail-open { background-position: -96px -96px; }\n.ui-icon-suitcase { background-position: -112px -96px; }\n.ui-icon-comment { background-position: -128px -96px; }\n.ui-icon-person { background-position: -144px -96px; }\n.ui-icon-print { background-position: -160px -96px; }\n.ui-icon-trash { background-position: -176px -96px; }\n.ui-icon-locked { background-position: -192px -96px; }\n.ui-icon-unlocked { background-position: -208px -96px; }\n.ui-icon-bookmark { background-position: -224px -96px; }\n.ui-icon-tag { background-position: -240px -96px; }\n.ui-icon-home { background-position: 0 -112px; }\n.ui-icon-flag { background-position: -16px -112px; }\n.ui-icon-calendar { background-position: -32px -112px; }\n.ui-icon-cart { background-position: -48px -112px; }\n.ui-icon-pencil { background-position: -64px -112px; }\n.ui-icon-clock { background-position: -80px -112px; }\n.ui-icon-disk { background-position: -96px -112px; }\n.ui-icon-calculator { background-position: -112px -112px; }\n.ui-icon-zoomin { background-position: -128px -112px; }\n.ui-icon-zoomout { background-position: -144px -112px; }\n.ui-icon-search { background-position: -160px -112px; }\n.ui-icon-wrench { background-position: -176px -112px; }\n.ui-icon-gear { background-position: -192px -112px; }\n.ui-icon-heart { background-position: -208px -112px; }\n.ui-icon-star { background-position: -224px -112px; }\n.ui-icon-link { background-position: -240px -112px; }\n.ui-icon-cancel { background-position: 0 -128px; }\n.ui-icon-plus { background-position: -16px -128px; }\n.ui-icon-plusthick { background-position: -32px -128px; }\n.ui-icon-minus { background-position: -48px -128px; }\n.ui-icon-minusthick { background-position: -64px -128px; }\n.ui-icon-close { background-position: -80px -128px; }\n.ui-icon-closethick { background-position: -96px -128px; }\n.ui-icon-key { background-position: -112px -128px; }\n.ui-icon-lightbulb { background-position: -128px -128px; }\n.ui-icon-scissors { background-position: -144px -128px; }\n.ui-icon-clipboard { background-position: -160px -128px; }\n.ui-icon-copy { background-position: -176px -128px; }\n.ui-icon-contact { background-position: -192px -128px; }\n.ui-icon-image { background-position: -208px -128px; }\n.ui-icon-video { background-position: -224px -128px; }\n.ui-icon-script { background-position: -240px -128px; }\n.ui-icon-alert { background-position: 0 -144px; }\n.ui-icon-info { background-position: -16px -144px; }\n.ui-icon-notice { background-position: -32px -144px; }\n.ui-icon-help { background-position: -48px -144px; }\n.ui-icon-check { background-position: -64px -144px; }\n.ui-icon-bullet { background-position: -80px -144px; }\n.ui-icon-radio-on { background-position: -96px -144px; }\n.ui-icon-radio-off { background-position: -112px -144px; }\n.ui-icon-pin-w { background-position: -128px -144px; }\n.ui-icon-pin-s { background-position: -144px -144px; }\n.ui-icon-play { background-position: 0 -160px; }\n.ui-icon-pause { background-position: -16px -160px; }\n.ui-icon-seek-next { background-position: -32px -160px; }\n.ui-icon-seek-prev { background-position: -48px -160px; }\n.ui-icon-seek-end { background-position: -64px -160px; }\n.ui-icon-seek-start { background-position: -80px -160px; }\n/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */\n.ui-icon-seek-first { background-position: -80px -160px; }\n.ui-icon-stop { background-position: -96px -160px; }\n.ui-icon-eject { background-position: -112px -160px; }\n.ui-icon-volume-off { background-position: -128px -160px; }\n.ui-icon-volume-on { background-position: -144px -160px; }\n.ui-icon-power { background-position: 0 -176px; }\n.ui-icon-signal-diag { background-position: -16px -176px; }\n.ui-icon-signal { background-position: -32px -176px; }\n.ui-icon-battery-0 { background-position: -48px -176px; }\n.ui-icon-battery-1 { background-position: -64px -176px; }\n.ui-icon-battery-2 { background-position: -80px -176px; }\n.ui-icon-battery-3 { background-position: -96px -176px; }\n.ui-icon-circle-plus { background-position: 0 -192px; }\n.ui-icon-circle-minus { background-position: -16px -192px; }\n.ui-icon-circle-close { background-position: -32px -192px; }\n.ui-icon-circle-triangle-e { background-position: -48px -192px; }\n.ui-icon-circle-triangle-s { background-position: -64px -192px; }\n.ui-icon-circle-triangle-w { background-position: -80px -192px; }\n.ui-icon-circle-triangle-n { background-position: -96px -192px; }\n.ui-icon-circle-arrow-e { background-position: -112px -192px; }\n.ui-icon-circle-arrow-s { background-position: -128px -192px; }\n.ui-icon-circle-arrow-w { background-position: -144px -192px; }\n.ui-icon-circle-arrow-n { background-position: -160px -192px; }\n.ui-icon-circle-zoomin { background-position: -176px -192px; }\n.ui-icon-circle-zoomout { background-position: -192px -192px; }\n.ui-icon-circle-check { background-position: -208px -192px; }\n.ui-icon-circlesmall-plus { background-position: 0 -208px; }\n.ui-icon-circlesmall-minus { background-position: -16px -208px; }\n.ui-icon-circlesmall-close { background-position: -32px -208px; }\n.ui-icon-squaresmall-plus { background-position: -48px -208px; }\n.ui-icon-squaresmall-minus { background-position: -64px -208px; }\n.ui-icon-squaresmall-close { background-position: -80px -208px; }\n.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }\n.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }\n.ui-icon-grip-solid-vertical { background-position: -32px -224px; }\n.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }\n.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }\n.ui-icon-grip-diagonal-se { background-position: -80px -224px; }\n\n\n/* Misc visuals\n----------------------------------*/\n\n/* Corner radius */\n.ui-corner-all,\n.ui-corner-top,\n.ui-corner-left,\n.ui-corner-tl {\n\tborder-top-left-radius: 3px;\n}\n.ui-corner-all,\n.ui-corner-top,\n.ui-corner-right,\n.ui-corner-tr {\n\tborder-top-right-radius: 3px;\n}\n.ui-corner-all,\n.ui-corner-bottom,\n.ui-corner-left,\n.ui-corner-bl {\n\tborder-bottom-left-radius: 3px;\n}\n.ui-corner-all,\n.ui-corner-bottom,\n.ui-corner-right,\n.ui-corner-br {\n\tborder-bottom-right-radius: 3px;\n}\n\n/* Overlays */\n.ui-widget-overlay {\n\tbackground: #aaaaaa;\n\topacity: .003;\n\t-ms-filter: "alpha(opacity=.3)"; /* support: IE8 */\n}\n.ui-widget-shadow {\n\t-webkit-box-shadow: 0px 0px 5px #666666;\n\tbox-shadow: 0px 0px 5px #666666;\n}\n'],sourceRoot:""}]);const C=g},90628(t,e,i){"use strict";i.d(e,{A:()=>y});var n=i(71354),r=i.n(n),o=i(76314),s=i.n(o),a=i(4417),u=i.n(a),c=new URL(i(7369),i.b),h=new URL(i(48832),i.b),l=new URL(i(36114),i.b),d=new URL(i(83864),i.b),f=new URL(i(26609),i.b),p=s()(r()),g=u()(c),A=u()(h),m=u()(l),v=u()(d),b=u()(f);p.push([t.id,`.ui-widget-content{border:1px solid var(--color-border);background:var(--color-main-background) none;color:var(--color-main-text)}.ui-widget-content a{color:var(--color-main-text)}.ui-widget-header{border:none;color:var(--color-main-text);background-image:none}.ui-widget-header a{color:var(--color-main-text)}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default{border:1px solid var(--color-border);background:var(--color-main-background) none;font-weight:bold;color:#555}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited{color:#555}.ui-state-hover,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-hover,.ui-state-focus,.ui-widget-content .ui-state-focus,.ui-widget-header .ui-state-focus{border:1px solid #ddd;background:var(--color-main-background) none;font-weight:bold;color:var(--color-main-text)}.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited{color:var(--color-main-text)}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active{border:1px solid var(--color-primary-element);background:var(--color-main-background) none;font-weight:bold;color:var(--color-main-text)}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:var(--color-main-text)}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid var(--color-main-background);background:var(--color-main-background) none;color:var(--color-main-text);font-weight:600}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:var(--color-text-maxcontrast)}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:var(--color-error);background:var(--color-error) none;color:#fff}.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#fff}.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#fff}.ui-state-default .ui-icon{background-image:url(${g})}.ui-state-hover .ui-icon,.ui-state-focus .ui-icon{background-image:url(${g})}.ui-state-active .ui-icon{background-image:url(${g})}.ui-state-highlight .ui-icon{background-image:url(${A})}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url(${m})}.ui-icon.ui-icon-none{display:none}.ui-widget-overlay{background:#666 url(${v}) 50% 50% repeat;opacity:.5}.ui-widget-shadow{margin:-5px 0 0 -5px;padding:5px;background:#000 url(${b}) 50% 50% repeat-x;opacity:.2;border-radius:5px}.ui-tabs{border:none}.ui-tabs .ui-tabs-nav.ui-corner-all{border-end-start-radius:0;border-end-end-radius:0}.ui-tabs .ui-tabs-nav{background:none;margin-bottom:15px}.ui-tabs .ui-tabs-nav .ui-state-default{border:none;border-bottom:1px solid rgba(0,0,0,0);font-weight:normal;margin:0 !important;padding:0 !important}.ui-tabs .ui-tabs-nav .ui-state-hover,.ui-tabs .ui-tabs-nav .ui-state-active{border:none;border-bottom:1px solid var(--color-main-text);color:var(--color-main-text)}.ui-tabs .ui-tabs-nav .ui-state-hover a,.ui-tabs .ui-tabs-nav .ui-state-hover a:link,.ui-tabs .ui-tabs-nav .ui-state-hover a:hover,.ui-tabs .ui-tabs-nav .ui-state-hover a:visited,.ui-tabs .ui-tabs-nav .ui-state-active a,.ui-tabs .ui-tabs-nav .ui-state-active a:link,.ui-tabs .ui-tabs-nav .ui-state-active a:hover,.ui-tabs .ui-tabs-nav .ui-state-active a:visited{color:var(--color-main-text)}.ui-tabs .ui-tabs-nav .ui-state-active{font-weight:bold}.ui-autocomplete.ui-menu{padding:0}.ui-autocomplete.ui-menu.item-count-1,.ui-autocomplete.ui-menu.item-count-2{overflow-y:hidden}.ui-autocomplete.ui-menu .ui-menu-item a{color:var(--color-text-maxcontrast);display:block;padding:4px;padding-inline-start:14px}.ui-autocomplete.ui-menu .ui-menu-item a.ui-state-focus,.ui-autocomplete.ui-menu .ui-menu-item a.ui-state-active{box-shadow:inset 4px 0 var(--color-primary-element);color:var(--color-main-text)}.ui-autocomplete.ui-widget-content{background:var(--color-main-background);border-top:none}.ui-autocomplete.ui-corner-all{border-radius:0;border-end-start-radius:var(--border-radius);border-end-end-radius:var(--border-radius)}.ui-autocomplete .ui-state-hover,.ui-autocomplete .ui-widget-content .ui-state-hover,.ui-autocomplete .ui-widget-header .ui-state-hover,.ui-autocomplete .ui-state-focus,.ui-autocomplete .ui-widget-content .ui-state-focus,.ui-autocomplete .ui-widget-header .ui-state-focus{border:1px solid rgba(0,0,0,0);background:inherit;color:var(--color-primary-element)}.ui-autocomplete .ui-menu-item a{border-radius:0 !important}.ui-button.primary{background-color:var(--color-primary-element);color:var(--color-primary-element-text);border:1px solid var(--color-primary-element-text)}.ui-button:hover{font-weight:bold !important}.ui-draggable-handle,.ui-selectable{touch-action:pan-y}`,"",{version:3,sources:["webpack://./core/src/jquery/css/jquery-ui-fixes.scss"],names:[],mappings:"AAMA,mBACC,oCAAA,CACA,4CAAA,CACA,4BAAA,CAGD,qBACC,4BAAA,CAGD,kBACC,WAAA,CACA,4BAAA,CACA,qBAAA,CAGD,oBACC,4BAAA,CAKD,2FAGC,oCAAA,CACA,4CAAA,CACA,gBAAA,CACA,UAAA,CAGD,yEAGC,UAAA,CAGD,0KAMC,qBAAA,CACA,4CAAA,CACA,gBAAA,CACA,4BAAA,CAGD,2FAIC,4BAAA,CAGD,wFAGC,6CAAA,CACA,4CAAA,CACA,gBAAA,CACA,4BAAA,CAGD,sEAGC,4BAAA,CAKD,iGAGC,6CAAA,CACA,4CAAA,CACA,4BAAA,CACA,eAAA,CAGD,uGAGC,mCAAA,CAGD,qFAGC,yBAAA,CACA,kCAAA,CACA,UAAA,CAGD,2FAGC,UAAA,CAGD,oGAGC,UAAA,CAKD,2BACC,wDAAA,CAGD,kDAEC,wDAAA,CAGD,0BACC,wDAAA,CAGD,6BACC,wDAAA,CAGD,uDAEC,wDAAA,CAGD,sBACC,YAAA,CAMD,mBACC,sEAAA,CACA,UAAA,CAGD,kBACC,oBAAA,CACA,WAAA,CACA,wEAAA,CACA,UAAA,CACA,iBAAA,CAID,SACC,WAAA,CAEA,oCACC,yBAAA,CACA,uBAAA,CAGD,sBACC,eAAA,CACA,kBAAA,CAEA,wCACC,WAAA,CACA,qCAAA,CACA,kBAAA,CACA,mBAAA,CACA,oBAAA,CAGD,6EAEC,WAAA,CACA,8CAAA,CACA,4BAAA,CACA,0WACC,4BAAA,CAGF,uCACC,gBAAA,CAOF,yBACC,SAAA,CAIA,4EAEC,iBAAA,CAGD,yCACC,mCAAA,CACA,aAAA,CACA,WAAA,CACA,yBAAA,CAEA,iHACC,mDAAA,CACA,4BAAA,CAKH,mCACC,uCAAA,CACA,eAAA,CAGD,+BACC,eAAA,CACA,4CAAA,CACA,0CAAA,CAGD,gRAKC,8BAAA,CACA,kBAAA,CACA,kCAAA,CAIA,iCACC,0BAAA,CAKH,mBACC,6CAAA,CACA,uCAAA,CACA,kDAAA,CAID,iBACI,2BAAA,CAKJ,oCAEC,kBAAA",sourcesContent:["/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/* Component containers\n----------------------------------*/\n.ui-widget-content {\n\tborder: 1px solid var(--color-border);\n\tbackground: var(--color-main-background) none;\n\tcolor: var(--color-main-text);\n}\n\n.ui-widget-content a {\n\tcolor: var(--color-main-text);\n}\n\n.ui-widget-header {\n\tborder: none;\n\tcolor: var(--color-main-text);\n\tbackground-image: none;\n}\n\n.ui-widget-header a {\n\tcolor: var(--color-main-text);\n}\n\n/* Interaction states\n----------------------------------*/\n.ui-state-default,\n.ui-widget-content .ui-state-default,\n.ui-widget-header .ui-state-default {\n\tborder: 1px solid var(--color-border);\n\tbackground: var(--color-main-background) none;\n\tfont-weight: bold;\n\tcolor: #555;\n}\n\n.ui-state-default a,\n.ui-state-default a:link,\n.ui-state-default a:visited {\n\tcolor: #555;\n}\n\n.ui-state-hover,\n.ui-widget-content .ui-state-hover,\n.ui-widget-header .ui-state-hover,\n.ui-state-focus,\n.ui-widget-content .ui-state-focus,\n.ui-widget-header .ui-state-focus {\n\tborder: 1px solid #ddd;\n\tbackground: var(--color-main-background) none;\n\tfont-weight: bold;\n\tcolor: var(--color-main-text);\n}\n\n.ui-state-hover a,\n.ui-state-hover a:hover,\n.ui-state-hover a:link,\n.ui-state-hover a:visited {\n\tcolor: var(--color-main-text);\n}\n\n.ui-state-active,\n.ui-widget-content .ui-state-active,\n.ui-widget-header .ui-state-active {\n\tborder: 1px solid var(--color-primary-element);\n\tbackground: var(--color-main-background) none;\n\tfont-weight: bold;\n\tcolor: var(--color-main-text);\n}\n\n.ui-state-active a,\n.ui-state-active a:link,\n.ui-state-active a:visited {\n\tcolor: var(--color-main-text);\n}\n\n/* Interaction Cues\n----------------------------------*/\n.ui-state-highlight,\n.ui-widget-content .ui-state-highlight,\n.ui-widget-header .ui-state-highlight {\n\tborder: 1px solid var(--color-main-background);\n\tbackground: var(--color-main-background) none;\n\tcolor: var(--color-main-text);\n\tfont-weight: 600;\n}\n\n.ui-state-highlight a,\n.ui-widget-content .ui-state-highlight a,\n.ui-widget-header .ui-state-highlight a {\n\tcolor: var(--color-text-maxcontrast);\n}\n\n.ui-state-error,\n.ui-widget-content .ui-state-error,\n.ui-widget-header .ui-state-error {\n\tborder: var(--color-error);\n\tbackground: var(--color-error) none;\n\tcolor: #ffffff;\n}\n\n.ui-state-error a,\n.ui-widget-content .ui-state-error a,\n.ui-widget-header .ui-state-error a {\n\tcolor: #ffffff;\n}\n\n.ui-state-error-text,\n.ui-widget-content .ui-state-error-text,\n.ui-widget-header .ui-state-error-text {\n\tcolor: #ffffff;\n}\n\n/* Icons\n----------------------------------*/\n.ui-state-default .ui-icon {\n\tbackground-image: url('images/ui-icons_1d2d44_256x240.png');\n}\n\n.ui-state-hover .ui-icon,\n.ui-state-focus .ui-icon {\n\tbackground-image: url('images/ui-icons_1d2d44_256x240.png');\n}\n\n.ui-state-active .ui-icon {\n\tbackground-image: url('images/ui-icons_1d2d44_256x240.png');\n}\n\n.ui-state-highlight .ui-icon {\n\tbackground-image: url('images/ui-icons_ffffff_256x240.png');\n}\n\n.ui-state-error .ui-icon,\n.ui-state-error-text .ui-icon {\n\tbackground-image: url('images/ui-icons_ffd27a_256x240.png');\n}\n\n.ui-icon.ui-icon-none {\n\tdisplay: none;\n}\n\n/* Misc visuals\n----------------------------------*/\n/* Overlays */\n.ui-widget-overlay {\n\tbackground: #666666 url('images/ui-bg_diagonals-thick_20_666666_40x40.png') 50% 50% repeat;\n\topacity: .5;\n}\n\n.ui-widget-shadow {\n\tmargin: -5px 0 0 -5px;\n\tpadding: 5px;\n\tbackground: #000000 url('images/ui-bg_flat_10_000000_40x100.png') 50% 50% repeat-x;\n\topacity: .2;\n\tborder-radius: 5px;\n}\n\n/* Tabs customizations */\n.ui-tabs {\n\tborder: none;\n\n\t.ui-tabs-nav.ui-corner-all {\n\t\tborder-end-start-radius: 0;\n\t\tborder-end-end-radius: 0;\n\t}\n\n\t.ui-tabs-nav {\n\t\tbackground: none;\n\t\tmargin-bottom: 15px;\n\n\t\t.ui-state-default {\n\t\t\tborder: none;\n\t\t\tborder-bottom: 1px solid transparent;\n\t\t\tfont-weight: normal;\n\t\t\tmargin: 0 !important;\n\t\t\tpadding: 0 !important;\n\t\t}\n\n\t\t.ui-state-hover,\n\t\t.ui-state-active {\n\t\t\tborder: none;\n\t\t\tborder-bottom: 1px solid var(--color-main-text);\n\t\t\tcolor: var(--color-main-text);\n\t\t\ta, a:link, a:hover, a:visited {\n\t\t\t\tcolor: var(--color-main-text);\n\t\t\t}\n\t\t}\n\t\t.ui-state-active {\n\t\t\tfont-weight: bold;\n\t\t}\n\t}\n}\n\n/* Select menus */\n.ui-autocomplete {\n\t&.ui-menu {\n\t\tpadding: 0;\n\n\t\t/* scrolling starts from three items,\n\t\t * so hide overflow and scrollbars for a clean layout */\n\t\t&.item-count-1,\n\t\t&.item-count-2 {\n\t\t\toverflow-y: hidden;\n\t\t}\n\n\t\t.ui-menu-item a {\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t\tdisplay: block;\n\t\t\tpadding: 4px;\n\t\t\tpadding-inline-start: 14px;\n\n\t\t\t&.ui-state-focus, &.ui-state-active {\n\t\t\t\tbox-shadow: inset 4px 0 var(--color-primary-element);\n\t\t\t\tcolor: var(--color-main-text);\n\t\t\t}\n\t\t}\n\t}\n\n\t&.ui-widget-content {\n\t\tbackground: var(--color-main-background);\n\t\tborder-top: none;\n\t}\n\n\t&.ui-corner-all {\n\t\tborder-radius: 0;\n\t\tborder-end-start-radius: var(--border-radius);\n\t\tborder-end-end-radius: var(--border-radius);\n\t}\n\n\t.ui-state-hover, .ui-widget-content .ui-state-hover,\n\t.ui-widget-header .ui-state-hover,\n\t.ui-state-focus,\n\t.ui-widget-content .ui-state-focus,\n\t.ui-widget-header .ui-state-focus {\n\t\tborder: 1px solid transparent;\n\t\tbackground: inherit;\n\t\tcolor: var(--color-primary-element);\n\t}\n\n\t.ui-menu-item {\n\t\ta {\n\t\t\tborder-radius: 0 !important;\n\t\t}\n\t}\n}\n\n.ui-button.primary {\n\tbackground-color: var(--color-primary-element);\n\tcolor: var(--color-primary-element-text);\n\tborder: 1px solid var(--color-primary-element-text);\n}\n\n// fix ui-buttons on hover\n.ui-button:hover {\n font-weight:bold !important;\n}\n\n\n/* DRAGGABLE */\n.ui-draggable-handle,\n.ui-selectable {\n\ttouch-action: pan-y;\n}\n"],sourceRoot:""}]);const y=p},2791(t,e,i){"use strict";i.d(e,{A:()=>a});var n=i(71354),r=i.n(n),o=i(76314),s=i.n(o)()(r());s.push([t.id,".oc-dialog{background:var(--color-main-background);border-radius:var(--border-radius-large);box-shadow:0 0 30px var(--color-box-shadow);color:var(--color-main-text);padding:24px;z-index:100001;font-size:100%;box-sizing:border-box;min-width:200px;top:50%;inset-inline-start:50%;transform:translate(-50%, -50%);max-height:calc(100% - 20px);max-width:calc(100% - 20px);overflow:auto}.oc-dialog-title{background:var(--color-main-background)}.oc-dialog-buttonrow{position:relative;display:flex;background:rgba(0,0,0,0);inset-inline-end:0;bottom:0;padding:0;padding-top:10px;box-sizing:border-box;width:100%;background-image:linear-gradient(rgba(255, 255, 255, 0), var(--color-main-background))}.oc-dialog-buttonrow.twobuttons{justify-content:space-between}.oc-dialog-buttonrow.onebutton,.oc-dialog-buttonrow.twobuttons.aside{justify-content:flex-end}.oc-dialog-buttonrow button{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;height:44px;min-width:44px}.oc-dialog-close{position:absolute;width:44px !important;height:44px !important;top:4px;inset-inline-end:4px;padding:25px;background:var(--icon-close-dark) no-repeat center;opacity:.5;border-radius:var(--border-radius-pill)}.oc-dialog-close:hover,.oc-dialog-close:focus,.oc-dialog-close:active{opacity:1}.oc-dialog-dim{background-color:#000;opacity:.2;z-index:100001;position:fixed;top:0;inset-inline-start:0;width:100%;height:100%}body.theme--dark .oc-dialog-dim{opacity:.8}.oc-dialog-content{width:100%;max-width:550px}","",{version:3,sources:["webpack://./core/src/jquery/css/jquery.ocdialog.scss"],names:[],mappings:"AAIA,WACC,uCAAA,CACA,wCAAA,CACA,2CAAA,CACA,4BAAA,CACA,YAAA,CACA,cAAA,CACA,cAAA,CACA,qBAAA,CACA,eAAA,CACA,OAAA,CACA,sBAAA,CACA,+BAAA,CACA,4BAAA,CACA,2BAAA,CACA,aAAA,CAGD,iBACC,uCAAA,CAGD,qBACC,iBAAA,CACA,YAAA,CACA,wBAAA,CACA,kBAAA,CACA,QAAA,CACA,SAAA,CACA,gBAAA,CACA,qBAAA,CACA,UAAA,CACA,sFAAA,CAEA,gCACO,6BAAA,CAGP,qEAEC,wBAAA,CAGD,4BACI,kBAAA,CACA,eAAA,CACH,sBAAA,CACA,WAAA,CACA,cAAA,CAIF,iBACC,iBAAA,CACA,qBAAA,CACA,sBAAA,CACA,OAAA,CACA,oBAAA,CACA,YAAA,CACA,kDAAA,CACA,UAAA,CACA,uCAAA,CAEA,sEAGC,SAAA,CAIF,eACC,qBAAA,CACA,UAAA,CACA,cAAA,CACA,cAAA,CACA,KAAA,CACA,oBAAA,CACA,UAAA,CACA,WAAA,CAGD,gCACC,UAAA,CAGD,mBACC,UAAA,CACA,eAAA",sourcesContent:["/**\n * SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n.oc-dialog {\n\tbackground: var(--color-main-background);\n\tborder-radius: var(--border-radius-large);\n\tbox-shadow: 0 0 30px var(--color-box-shadow);\n\tcolor: var(--color-main-text);\n\tpadding: 24px;\n\tz-index: 100001;\n\tfont-size: 100%;\n\tbox-sizing: border-box;\n\tmin-width: 200px;\n\ttop: 50%;\n\tinset-inline-start: 50%;\n\ttransform: translate(-50%, -50%);\n\tmax-height: calc(100% - 20px);\n\tmax-width: calc(100% - 20px);\n\toverflow: auto;\n}\n\n.oc-dialog-title {\n\tbackground: var(--color-main-background);\n}\n\n.oc-dialog-buttonrow {\n\tposition: relative;\n\tdisplay: flex;\n\tbackground: transparent;\n\tinset-inline-end: 0;\n\tbottom: 0;\n\tpadding: 0;\n\tpadding-top: 10px;\n\tbox-sizing: border-box;\n\twidth: 100%;\n\tbackground-image: linear-gradient(rgba(255, 255, 255, 0.0), var(--color-main-background));\n\n\t&.twobuttons {\n justify-content: space-between;\n }\n\n\t&.onebutton,\n\t&.twobuttons.aside {\n\t\tjustify-content: flex-end;\n\t}\n\n\tbutton {\n\t white-space: nowrap;\n\t overflow: hidden;\n\t\ttext-overflow: ellipsis;\n\t\theight: 44px;\n\t\tmin-width: 44px;\n\t}\n}\n\n.oc-dialog-close {\n\tposition: absolute;\n\twidth: 44px !important;\n\theight: 44px !important;\n\ttop: 4px;\n\tinset-inline-end: 4px;\n\tpadding: 25px;\n\tbackground: var(--icon-close-dark) no-repeat center;\n\topacity: .5;\n\tborder-radius: var(--border-radius-pill);\n\n\t&:hover,\n\t&:focus,\n\t&:active {\n\t\topacity: 1;\n\t}\n}\n\n.oc-dialog-dim {\n\tbackground-color: #000;\n\topacity: .2;\n\tz-index: 100001;\n\tposition: fixed;\n\ttop: 0;\n\tinset-inline-start: 0;\n\twidth: 100%;\n\theight: 100%;\n}\n\nbody.theme--dark .oc-dialog-dim {\n\topacity: .8;\n}\n\n.oc-dialog-content {\n\twidth: 100%;\n\tmax-width: 550px;\n}\n"],sourceRoot:""}]);const a=s},35156(t,e,i){"use strict";i.d(e,{A:()=>A});var n=i(71354),r=i.n(n),o=i(76314),s=i.n(o),a=i(4417),u=i.n(a),c=new URL(i(65653),i.b),h=new URL(i(22046),i.b),l=new URL(i(32095),i.b),d=s()(r()),f=u()(c),p=u()(h),g=u()(l);d.push([t.id,`/*\nVersion: @@ver@@ Timestamp: @@timestamp@@\n*/\n.select2-container {\n margin: 0;\n position: relative;\n display: inline-block;\n /* inline-block for ie7 */\n zoom: 1;\n *display: inline;\n vertical-align: middle;\n}\n\n.select2-container,\n.select2-drop,\n.select2-search,\n.select2-search input {\n /*\n Force border-box so that % widths fit the parent\n container without overlap because of margin/padding.\n More Info : http://www.quirksmode.org/css/box.html\n */\n -webkit-box-sizing: border-box; /* webkit */\n -moz-box-sizing: border-box; /* firefox */\n box-sizing: border-box; /* css3 */\n}\n\n.select2-container .select2-choice {\n display: block;\n height: 26px;\n padding: 0 0 0 8px;\n overflow: hidden;\n position: relative;\n\n border: 1px solid #aaa;\n white-space: nowrap;\n line-height: 26px;\n color: #444;\n text-decoration: none;\n\n border-radius: 4px;\n\n background-clip: padding-box;\n\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n\n background-color: #fff;\n background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #eee), color-stop(0.5, #fff));\n background-image: -webkit-linear-gradient(center bottom, #eee 0%, #fff 50%);\n background-image: -moz-linear-gradient(center bottom, #eee 0%, #fff 50%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr = '#ffffff', endColorstr = '#eeeeee', GradientType = 0);\n background-image: linear-gradient(to top, #eee 0%, #fff 50%);\n}\n\nhtml[dir="rtl"] .select2-container .select2-choice {\n padding: 0 8px 0 0;\n}\n\n.select2-container.select2-drop-above .select2-choice {\n border-bottom-color: #aaa;\n\n border-radius: 0 0 4px 4px;\n\n background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #eee), color-stop(0.9, #fff));\n background-image: -webkit-linear-gradient(center bottom, #eee 0%, #fff 90%);\n background-image: -moz-linear-gradient(center bottom, #eee 0%, #fff 90%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#eeeeee', GradientType=0);\n background-image: linear-gradient(to bottom, #eee 0%, #fff 90%);\n}\n\n.select2-container.select2-allowclear .select2-choice .select2-chosen {\n margin-right: 42px;\n}\n\n.select2-container .select2-choice > .select2-chosen {\n margin-right: 26px;\n display: block;\n overflow: hidden;\n\n white-space: nowrap;\n\n text-overflow: ellipsis;\n float: none;\n width: auto;\n}\n\nhtml[dir="rtl"] .select2-container .select2-choice > .select2-chosen {\n margin-left: 26px;\n margin-right: 0;\n}\n\n.select2-container .select2-choice abbr {\n display: none;\n width: 12px;\n height: 12px;\n position: absolute;\n right: 24px;\n top: 8px;\n\n font-size: 1px;\n text-decoration: none;\n\n border: 0;\n background: url(${f}) right top no-repeat;\n cursor: pointer;\n outline: 0;\n}\n\n.select2-container.select2-allowclear .select2-choice abbr {\n display: inline-block;\n}\n\n.select2-container .select2-choice abbr:hover {\n background-position: right -11px;\n cursor: pointer;\n}\n\n.select2-drop-mask {\n border: 0;\n margin: 0;\n padding: 0;\n position: fixed;\n left: 0;\n top: 0;\n min-height: 100%;\n min-width: 100%;\n height: auto;\n width: auto;\n opacity: 0;\n z-index: 9998;\n /* styles required for IE to work */\n background-color: #fff;\n filter: alpha(opacity=0);\n}\n\n.select2-drop {\n width: 100%;\n margin-top: -1px;\n position: absolute;\n z-index: 9999;\n top: 100%;\n\n background: #fff;\n color: #000;\n border: 1px solid #aaa;\n border-top: 0;\n\n border-radius: 0 0 4px 4px;\n\n -webkit-box-shadow: 0 4px 5px rgba(0, 0, 0, .15);\n box-shadow: 0 4px 5px rgba(0, 0, 0, .15);\n}\n\n.select2-drop.select2-drop-above {\n margin-top: 1px;\n border-top: 1px solid #aaa;\n border-bottom: 0;\n\n border-radius: 4px 4px 0 0;\n\n -webkit-box-shadow: 0 -4px 5px rgba(0, 0, 0, .15);\n box-shadow: 0 -4px 5px rgba(0, 0, 0, .15);\n}\n\n.select2-drop-active {\n border: 1px solid #5897fb;\n border-top: none;\n}\n\n.select2-drop.select2-drop-above.select2-drop-active {\n border-top: 1px solid #5897fb;\n}\n\n.select2-drop-auto-width {\n border-top: 1px solid #aaa;\n width: auto;\n}\n\n.select2-drop-auto-width .select2-search {\n padding-top: 4px;\n}\n\n.select2-container .select2-choice .select2-arrow {\n display: inline-block;\n width: 18px;\n height: 100%;\n position: absolute;\n right: 0;\n top: 0;\n\n border-left: 1px solid #aaa;\n border-radius: 0 4px 4px 0;\n\n background-clip: padding-box;\n\n background: #ccc;\n background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #ccc), color-stop(0.6, #eee));\n background-image: -webkit-linear-gradient(center bottom, #ccc 0%, #eee 60%);\n background-image: -moz-linear-gradient(center bottom, #ccc 0%, #eee 60%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr = '#eeeeee', endColorstr = '#cccccc', GradientType = 0);\n background-image: linear-gradient(to top, #ccc 0%, #eee 60%);\n}\n\nhtml[dir="rtl"] .select2-container .select2-choice .select2-arrow {\n left: 0;\n right: auto;\n\n border-left: none;\n border-right: 1px solid #aaa;\n border-radius: 4px 0 0 4px;\n}\n\n.select2-container .select2-choice .select2-arrow b {\n display: block;\n width: 100%;\n height: 100%;\n background: url(${f}) no-repeat 0 1px;\n}\n\nhtml[dir="rtl"] .select2-container .select2-choice .select2-arrow b {\n background-position: 2px 1px;\n}\n\n.select2-search {\n display: inline-block;\n width: 100%;\n min-height: 26px;\n margin: 0;\n padding-left: 4px;\n padding-right: 4px;\n\n position: relative;\n z-index: 10000;\n\n white-space: nowrap;\n}\n\n.select2-search input {\n width: 100%;\n height: auto !important;\n min-height: 26px;\n padding: 4px 20px 4px 5px;\n margin: 0;\n\n outline: 0;\n font-family: sans-serif;\n font-size: 1em;\n\n border: 1px solid #aaa;\n border-radius: 0;\n\n -webkit-box-shadow: none;\n box-shadow: none;\n\n background: #fff url(${f}) no-repeat 100% -22px;\n background: url(${f}) no-repeat 100% -22px, -webkit-gradient(linear, left bottom, left top, color-stop(0.85, #fff), color-stop(0.99, #eee));\n background: url(${f}) no-repeat 100% -22px, -webkit-linear-gradient(center bottom, #fff 85%, #eee 99%);\n background: url(${f}) no-repeat 100% -22px, -moz-linear-gradient(center bottom, #fff 85%, #eee 99%);\n background: url(${f}) no-repeat 100% -22px, linear-gradient(to bottom, #fff 85%, #eee 99%) 0 0;\n}\n\nhtml[dir="rtl"] .select2-search input {\n padding: 4px 5px 4px 20px;\n\n background: #fff url(${f}) no-repeat -37px -22px;\n background: url(${f}) no-repeat -37px -22px, -webkit-gradient(linear, left bottom, left top, color-stop(0.85, #fff), color-stop(0.99, #eee));\n background: url(${f}) no-repeat -37px -22px, -webkit-linear-gradient(center bottom, #fff 85%, #eee 99%);\n background: url(${f}) no-repeat -37px -22px, -moz-linear-gradient(center bottom, #fff 85%, #eee 99%);\n background: url(${f}) no-repeat -37px -22px, linear-gradient(to bottom, #fff 85%, #eee 99%) 0 0;\n}\n\n.select2-drop.select2-drop-above .select2-search input {\n margin-top: 4px;\n}\n\n.select2-search input.select2-active {\n background: #fff url(${p}) no-repeat 100%;\n background: url(${p}) no-repeat 100%, -webkit-gradient(linear, left bottom, left top, color-stop(0.85, #fff), color-stop(0.99, #eee));\n background: url(${p}) no-repeat 100%, -webkit-linear-gradient(center bottom, #fff 85%, #eee 99%);\n background: url(${p}) no-repeat 100%, -moz-linear-gradient(center bottom, #fff 85%, #eee 99%);\n background: url(${p}) no-repeat 100%, linear-gradient(to bottom, #fff 85%, #eee 99%) 0 0;\n}\n\n.select2-container-active .select2-choice,\n.select2-container-active .select2-choices {\n border: 1px solid #5897fb;\n outline: none;\n\n -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, .3);\n box-shadow: 0 0 5px rgba(0, 0, 0, .3);\n}\n\n.select2-dropdown-open .select2-choice {\n border-bottom-color: transparent;\n -webkit-box-shadow: 0 1px 0 #fff inset;\n box-shadow: 0 1px 0 #fff inset;\n\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n\n background-color: #eee;\n background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #fff), color-stop(0.5, #eee));\n background-image: -webkit-linear-gradient(center bottom, #fff 0%, #eee 50%);\n background-image: -moz-linear-gradient(center bottom, #fff 0%, #eee 50%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#ffffff', GradientType=0);\n background-image: linear-gradient(to top, #fff 0%, #eee 50%);\n}\n\n.select2-dropdown-open.select2-drop-above .select2-choice,\n.select2-dropdown-open.select2-drop-above .select2-choices {\n border: 1px solid #5897fb;\n border-top-color: transparent;\n\n background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff), color-stop(0.5, #eee));\n background-image: -webkit-linear-gradient(center top, #fff 0%, #eee 50%);\n background-image: -moz-linear-gradient(center top, #fff 0%, #eee 50%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#ffffff', GradientType=0);\n background-image: linear-gradient(to bottom, #fff 0%, #eee 50%);\n}\n\n.select2-dropdown-open .select2-choice .select2-arrow {\n background: transparent;\n border-left: none;\n filter: none;\n}\nhtml[dir="rtl"] .select2-dropdown-open .select2-choice .select2-arrow {\n border-right: none;\n}\n\n.select2-dropdown-open .select2-choice .select2-arrow b {\n background-position: -18px 1px;\n}\n\nhtml[dir="rtl"] .select2-dropdown-open .select2-choice .select2-arrow b {\n background-position: -16px 1px;\n}\n\n.select2-hidden-accessible {\n border: 0;\n clip: rect(0 0 0 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n width: 1px;\n}\n\n/* results */\n.select2-results {\n max-height: 200px;\n padding: 0 0 0 4px;\n margin: 4px 4px 4px 0;\n position: relative;\n overflow-x: hidden;\n overflow-y: auto;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\nhtml[dir="rtl"] .select2-results {\n padding: 0 4px 0 0;\n margin: 4px 0 4px 4px;\n}\n\n.select2-results ul.select2-result-sub {\n margin: 0;\n padding-left: 0;\n}\n\n.select2-results li {\n list-style: none;\n display: list-item;\n background-image: none;\n}\n\n.select2-results li.select2-result-with-children > .select2-result-label {\n font-weight: bold;\n}\n\n.select2-results .select2-result-label {\n padding: 3px 7px 4px;\n margin: 0;\n cursor: pointer;\n\n min-height: 1em;\n\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n.select2-results-dept-1 .select2-result-label { padding-left: 20px }\n.select2-results-dept-2 .select2-result-label { padding-left: 40px }\n.select2-results-dept-3 .select2-result-label { padding-left: 60px }\n.select2-results-dept-4 .select2-result-label { padding-left: 80px }\n.select2-results-dept-5 .select2-result-label { padding-left: 100px }\n.select2-results-dept-6 .select2-result-label { padding-left: 110px }\n.select2-results-dept-7 .select2-result-label { padding-left: 120px }\n\n.select2-results .select2-highlighted {\n background: #3875d7;\n color: #fff;\n}\n\n.select2-results li em {\n background: #feffde;\n font-style: normal;\n}\n\n.select2-results .select2-highlighted em {\n background: transparent;\n}\n\n.select2-results .select2-highlighted ul {\n background: #fff;\n color: #000;\n}\n\n.select2-results .select2-no-results,\n.select2-results .select2-searching,\n.select2-results .select2-ajax-error,\n.select2-results .select2-selection-limit {\n background: #f4f4f4;\n display: list-item;\n padding-left: 5px;\n}\n\n/*\ndisabled look for disabled choices in the results dropdown\n*/\n.select2-results .select2-disabled.select2-highlighted {\n color: #666;\n background: #f4f4f4;\n display: list-item;\n cursor: default;\n}\n.select2-results .select2-disabled {\n background: #f4f4f4;\n display: list-item;\n cursor: default;\n}\n\n.select2-results .select2-selected {\n display: none;\n}\n\n.select2-more-results.select2-active {\n background: #f4f4f4 url(${p}) no-repeat 100%;\n}\n\n.select2-results .select2-ajax-error {\n background: rgba(255, 50, 50, .2);\n}\n\n.select2-more-results {\n background: #f4f4f4;\n display: list-item;\n}\n\n/* disabled styles */\n\n.select2-container.select2-container-disabled .select2-choice {\n background-color: #f4f4f4;\n background-image: none;\n border: 1px solid #ddd;\n cursor: default;\n}\n\n.select2-container.select2-container-disabled .select2-choice .select2-arrow {\n background-color: #f4f4f4;\n background-image: none;\n border-left: 0;\n}\n\n.select2-container.select2-container-disabled .select2-choice abbr {\n display: none;\n}\n\n\n/* multiselect */\n\n.select2-container-multi .select2-choices {\n height: auto !important;\n height: 1%;\n margin: 0;\n padding: 0 5px 0 0;\n position: relative;\n\n border: 1px solid #aaa;\n cursor: text;\n overflow: hidden;\n\n background-color: #fff;\n background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(1%, #eee), color-stop(15%, #fff));\n background-image: -webkit-linear-gradient(top, #eee 1%, #fff 15%);\n background-image: -moz-linear-gradient(top, #eee 1%, #fff 15%);\n background-image: linear-gradient(to bottom, #eee 1%, #fff 15%);\n}\n\nhtml[dir="rtl"] .select2-container-multi .select2-choices {\n padding: 0 0 0 5px;\n}\n\n.select2-locked {\n padding: 3px 5px 3px 5px !important;\n}\n\n.select2-container-multi .select2-choices {\n min-height: 26px;\n}\n\n.select2-container-multi.select2-container-active .select2-choices {\n border: 1px solid #5897fb;\n outline: none;\n\n -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, .3);\n box-shadow: 0 0 5px rgba(0, 0, 0, .3);\n}\n.select2-container-multi .select2-choices li {\n float: left;\n list-style: none;\n}\nhtml[dir="rtl"] .select2-container-multi .select2-choices li\n{\n float: right;\n}\n.select2-container-multi .select2-choices .select2-search-field {\n margin: 0;\n padding: 0;\n white-space: nowrap;\n}\n\n.select2-container-multi .select2-choices .select2-search-field input {\n padding: 5px;\n margin: 1px 0;\n\n font-family: sans-serif;\n font-size: 100%;\n color: #666;\n outline: 0;\n border: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n background: transparent !important;\n}\n\n.select2-container-multi .select2-choices .select2-search-field input.select2-active {\n background: #fff url(${p}) no-repeat 100% !important;\n}\n\n.select2-default {\n color: #999 !important;\n}\n\n.select2-container-multi .select2-choices .select2-search-choice {\n padding: 3px 5px 3px 18px;\n margin: 3px 0 3px 5px;\n position: relative;\n\n line-height: 13px;\n color: #333;\n cursor: default;\n border: 1px solid #aaaaaa;\n\n border-radius: 3px;\n\n -webkit-box-shadow: 0 0 2px #fff inset, 0 1px 0 rgba(0, 0, 0, 0.05);\n box-shadow: 0 0 2px #fff inset, 0 1px 0 rgba(0, 0, 0, 0.05);\n\n background-clip: padding-box;\n\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n\n background-color: #e4e4e4;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#f4f4f4', GradientType=0);\n background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(20%, #f4f4f4), color-stop(50%, #f0f0f0), color-stop(52%, #e8e8e8), color-stop(100%, #eee));\n background-image: -webkit-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%);\n background-image: -moz-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%);\n background-image: linear-gradient(to bottom, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%);\n}\nhtml[dir="rtl"] .select2-container-multi .select2-choices .select2-search-choice\n{\n margin: 3px 5px 3px 0;\n padding: 3px 18px 3px 5px;\n}\n.select2-container-multi .select2-choices .select2-search-choice .select2-chosen {\n cursor: default;\n}\n.select2-container-multi .select2-choices .select2-search-choice-focus {\n background: #d4d4d4;\n}\n\n.select2-search-choice-close {\n display: block;\n width: 12px;\n height: 13px;\n position: absolute;\n right: 3px;\n top: 4px;\n\n font-size: 1px;\n outline: none;\n background: url(${f}) right top no-repeat;\n}\nhtml[dir="rtl"] .select2-search-choice-close {\n right: auto;\n left: 3px;\n}\n\n.select2-container-multi .select2-search-choice-close {\n left: 3px;\n}\n\nhtml[dir="rtl"] .select2-container-multi .select2-search-choice-close {\n left: auto;\n right: 2px;\n}\n\n.select2-container-multi .select2-choices .select2-search-choice .select2-search-choice-close:hover {\n background-position: right -11px;\n}\n.select2-container-multi .select2-choices .select2-search-choice-focus .select2-search-choice-close {\n background-position: right -11px;\n}\n\n/* disabled styles */\n.select2-container-multi.select2-container-disabled .select2-choices {\n background-color: #f4f4f4;\n background-image: none;\n border: 1px solid #ddd;\n cursor: default;\n}\n\n.select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice {\n padding: 3px 5px 3px 5px;\n border: 1px solid #ddd;\n background-image: none;\n background-color: #f4f4f4;\n}\n\n.select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice .select2-search-choice-close { display: none;\n background: none;\n}\n/* end multiselect */\n\n\n.select2-result-selectable .select2-match,\n.select2-result-unselectable .select2-match {\n text-decoration: underline;\n}\n\n.select2-offscreen, .select2-offscreen:focus {\n clip: rect(0 0 0 0) !important;\n width: 1px !important;\n height: 1px !important;\n border: 0 !important;\n margin: 0 !important;\n padding: 0 !important;\n overflow: hidden !important;\n position: absolute !important;\n outline: 0 !important;\n left: 0px !important;\n top: 0px !important;\n}\n\n.select2-display-none {\n display: none;\n}\n\n.select2-measure-scrollbar {\n position: absolute;\n top: -10000px;\n left: -10000px;\n width: 100px;\n height: 100px;\n overflow: scroll;\n}\n\n/* Retina-ize icons */\n\n@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-resolution: 2dppx) {\n .select2-search input,\n .select2-search-choice-close,\n .select2-container .select2-choice abbr,\n .select2-container .select2-choice .select2-arrow b {\n background-image: url(${g}) !important;\n background-repeat: no-repeat !important;\n background-size: 60px 40px !important;\n }\n\n .select2-search input {\n background-position: 100% -21px !important;\n }\n}\n`,"",{version:3,sources:["webpack://./node_modules/select2/select2.css"],names:[],mappings:"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",sourcesContent:["/*\nVersion: @@ver@@ Timestamp: @@timestamp@@\n*/\n.select2-container {\n margin: 0;\n position: relative;\n display: inline-block;\n /* inline-block for ie7 */\n zoom: 1;\n *display: inline;\n vertical-align: middle;\n}\n\n.select2-container,\n.select2-drop,\n.select2-search,\n.select2-search input {\n /*\n Force border-box so that % widths fit the parent\n container without overlap because of margin/padding.\n More Info : http://www.quirksmode.org/css/box.html\n */\n -webkit-box-sizing: border-box; /* webkit */\n -moz-box-sizing: border-box; /* firefox */\n box-sizing: border-box; /* css3 */\n}\n\n.select2-container .select2-choice {\n display: block;\n height: 26px;\n padding: 0 0 0 8px;\n overflow: hidden;\n position: relative;\n\n border: 1px solid #aaa;\n white-space: nowrap;\n line-height: 26px;\n color: #444;\n text-decoration: none;\n\n border-radius: 4px;\n\n background-clip: padding-box;\n\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n\n background-color: #fff;\n background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #eee), color-stop(0.5, #fff));\n background-image: -webkit-linear-gradient(center bottom, #eee 0%, #fff 50%);\n background-image: -moz-linear-gradient(center bottom, #eee 0%, #fff 50%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr = '#ffffff', endColorstr = '#eeeeee', GradientType = 0);\n background-image: linear-gradient(to top, #eee 0%, #fff 50%);\n}\n\nhtml[dir=\"rtl\"] .select2-container .select2-choice {\n padding: 0 8px 0 0;\n}\n\n.select2-container.select2-drop-above .select2-choice {\n border-bottom-color: #aaa;\n\n border-radius: 0 0 4px 4px;\n\n background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #eee), color-stop(0.9, #fff));\n background-image: -webkit-linear-gradient(center bottom, #eee 0%, #fff 90%);\n background-image: -moz-linear-gradient(center bottom, #eee 0%, #fff 90%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#eeeeee', GradientType=0);\n background-image: linear-gradient(to bottom, #eee 0%, #fff 90%);\n}\n\n.select2-container.select2-allowclear .select2-choice .select2-chosen {\n margin-right: 42px;\n}\n\n.select2-container .select2-choice > .select2-chosen {\n margin-right: 26px;\n display: block;\n overflow: hidden;\n\n white-space: nowrap;\n\n text-overflow: ellipsis;\n float: none;\n width: auto;\n}\n\nhtml[dir=\"rtl\"] .select2-container .select2-choice > .select2-chosen {\n margin-left: 26px;\n margin-right: 0;\n}\n\n.select2-container .select2-choice abbr {\n display: none;\n width: 12px;\n height: 12px;\n position: absolute;\n right: 24px;\n top: 8px;\n\n font-size: 1px;\n text-decoration: none;\n\n border: 0;\n background: url('select2.png') right top no-repeat;\n cursor: pointer;\n outline: 0;\n}\n\n.select2-container.select2-allowclear .select2-choice abbr {\n display: inline-block;\n}\n\n.select2-container .select2-choice abbr:hover {\n background-position: right -11px;\n cursor: pointer;\n}\n\n.select2-drop-mask {\n border: 0;\n margin: 0;\n padding: 0;\n position: fixed;\n left: 0;\n top: 0;\n min-height: 100%;\n min-width: 100%;\n height: auto;\n width: auto;\n opacity: 0;\n z-index: 9998;\n /* styles required for IE to work */\n background-color: #fff;\n filter: alpha(opacity=0);\n}\n\n.select2-drop {\n width: 100%;\n margin-top: -1px;\n position: absolute;\n z-index: 9999;\n top: 100%;\n\n background: #fff;\n color: #000;\n border: 1px solid #aaa;\n border-top: 0;\n\n border-radius: 0 0 4px 4px;\n\n -webkit-box-shadow: 0 4px 5px rgba(0, 0, 0, .15);\n box-shadow: 0 4px 5px rgba(0, 0, 0, .15);\n}\n\n.select2-drop.select2-drop-above {\n margin-top: 1px;\n border-top: 1px solid #aaa;\n border-bottom: 0;\n\n border-radius: 4px 4px 0 0;\n\n -webkit-box-shadow: 0 -4px 5px rgba(0, 0, 0, .15);\n box-shadow: 0 -4px 5px rgba(0, 0, 0, .15);\n}\n\n.select2-drop-active {\n border: 1px solid #5897fb;\n border-top: none;\n}\n\n.select2-drop.select2-drop-above.select2-drop-active {\n border-top: 1px solid #5897fb;\n}\n\n.select2-drop-auto-width {\n border-top: 1px solid #aaa;\n width: auto;\n}\n\n.select2-drop-auto-width .select2-search {\n padding-top: 4px;\n}\n\n.select2-container .select2-choice .select2-arrow {\n display: inline-block;\n width: 18px;\n height: 100%;\n position: absolute;\n right: 0;\n top: 0;\n\n border-left: 1px solid #aaa;\n border-radius: 0 4px 4px 0;\n\n background-clip: padding-box;\n\n background: #ccc;\n background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #ccc), color-stop(0.6, #eee));\n background-image: -webkit-linear-gradient(center bottom, #ccc 0%, #eee 60%);\n background-image: -moz-linear-gradient(center bottom, #ccc 0%, #eee 60%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr = '#eeeeee', endColorstr = '#cccccc', GradientType = 0);\n background-image: linear-gradient(to top, #ccc 0%, #eee 60%);\n}\n\nhtml[dir=\"rtl\"] .select2-container .select2-choice .select2-arrow {\n left: 0;\n right: auto;\n\n border-left: none;\n border-right: 1px solid #aaa;\n border-radius: 4px 0 0 4px;\n}\n\n.select2-container .select2-choice .select2-arrow b {\n display: block;\n width: 100%;\n height: 100%;\n background: url('select2.png') no-repeat 0 1px;\n}\n\nhtml[dir=\"rtl\"] .select2-container .select2-choice .select2-arrow b {\n background-position: 2px 1px;\n}\n\n.select2-search {\n display: inline-block;\n width: 100%;\n min-height: 26px;\n margin: 0;\n padding-left: 4px;\n padding-right: 4px;\n\n position: relative;\n z-index: 10000;\n\n white-space: nowrap;\n}\n\n.select2-search input {\n width: 100%;\n height: auto !important;\n min-height: 26px;\n padding: 4px 20px 4px 5px;\n margin: 0;\n\n outline: 0;\n font-family: sans-serif;\n font-size: 1em;\n\n border: 1px solid #aaa;\n border-radius: 0;\n\n -webkit-box-shadow: none;\n box-shadow: none;\n\n background: #fff url('select2.png') no-repeat 100% -22px;\n background: url('select2.png') no-repeat 100% -22px, -webkit-gradient(linear, left bottom, left top, color-stop(0.85, #fff), color-stop(0.99, #eee));\n background: url('select2.png') no-repeat 100% -22px, -webkit-linear-gradient(center bottom, #fff 85%, #eee 99%);\n background: url('select2.png') no-repeat 100% -22px, -moz-linear-gradient(center bottom, #fff 85%, #eee 99%);\n background: url('select2.png') no-repeat 100% -22px, linear-gradient(to bottom, #fff 85%, #eee 99%) 0 0;\n}\n\nhtml[dir=\"rtl\"] .select2-search input {\n padding: 4px 5px 4px 20px;\n\n background: #fff url('select2.png') no-repeat -37px -22px;\n background: url('select2.png') no-repeat -37px -22px, -webkit-gradient(linear, left bottom, left top, color-stop(0.85, #fff), color-stop(0.99, #eee));\n background: url('select2.png') no-repeat -37px -22px, -webkit-linear-gradient(center bottom, #fff 85%, #eee 99%);\n background: url('select2.png') no-repeat -37px -22px, -moz-linear-gradient(center bottom, #fff 85%, #eee 99%);\n background: url('select2.png') no-repeat -37px -22px, linear-gradient(to bottom, #fff 85%, #eee 99%) 0 0;\n}\n\n.select2-drop.select2-drop-above .select2-search input {\n margin-top: 4px;\n}\n\n.select2-search input.select2-active {\n background: #fff url('select2-spinner.gif') no-repeat 100%;\n background: url('select2-spinner.gif') no-repeat 100%, -webkit-gradient(linear, left bottom, left top, color-stop(0.85, #fff), color-stop(0.99, #eee));\n background: url('select2-spinner.gif') no-repeat 100%, -webkit-linear-gradient(center bottom, #fff 85%, #eee 99%);\n background: url('select2-spinner.gif') no-repeat 100%, -moz-linear-gradient(center bottom, #fff 85%, #eee 99%);\n background: url('select2-spinner.gif') no-repeat 100%, linear-gradient(to bottom, #fff 85%, #eee 99%) 0 0;\n}\n\n.select2-container-active .select2-choice,\n.select2-container-active .select2-choices {\n border: 1px solid #5897fb;\n outline: none;\n\n -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, .3);\n box-shadow: 0 0 5px rgba(0, 0, 0, .3);\n}\n\n.select2-dropdown-open .select2-choice {\n border-bottom-color: transparent;\n -webkit-box-shadow: 0 1px 0 #fff inset;\n box-shadow: 0 1px 0 #fff inset;\n\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n\n background-color: #eee;\n background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #fff), color-stop(0.5, #eee));\n background-image: -webkit-linear-gradient(center bottom, #fff 0%, #eee 50%);\n background-image: -moz-linear-gradient(center bottom, #fff 0%, #eee 50%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#ffffff', GradientType=0);\n background-image: linear-gradient(to top, #fff 0%, #eee 50%);\n}\n\n.select2-dropdown-open.select2-drop-above .select2-choice,\n.select2-dropdown-open.select2-drop-above .select2-choices {\n border: 1px solid #5897fb;\n border-top-color: transparent;\n\n background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff), color-stop(0.5, #eee));\n background-image: -webkit-linear-gradient(center top, #fff 0%, #eee 50%);\n background-image: -moz-linear-gradient(center top, #fff 0%, #eee 50%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#ffffff', GradientType=0);\n background-image: linear-gradient(to bottom, #fff 0%, #eee 50%);\n}\n\n.select2-dropdown-open .select2-choice .select2-arrow {\n background: transparent;\n border-left: none;\n filter: none;\n}\nhtml[dir=\"rtl\"] .select2-dropdown-open .select2-choice .select2-arrow {\n border-right: none;\n}\n\n.select2-dropdown-open .select2-choice .select2-arrow b {\n background-position: -18px 1px;\n}\n\nhtml[dir=\"rtl\"] .select2-dropdown-open .select2-choice .select2-arrow b {\n background-position: -16px 1px;\n}\n\n.select2-hidden-accessible {\n border: 0;\n clip: rect(0 0 0 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n width: 1px;\n}\n\n/* results */\n.select2-results {\n max-height: 200px;\n padding: 0 0 0 4px;\n margin: 4px 4px 4px 0;\n position: relative;\n overflow-x: hidden;\n overflow-y: auto;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\nhtml[dir=\"rtl\"] .select2-results {\n padding: 0 4px 0 0;\n margin: 4px 0 4px 4px;\n}\n\n.select2-results ul.select2-result-sub {\n margin: 0;\n padding-left: 0;\n}\n\n.select2-results li {\n list-style: none;\n display: list-item;\n background-image: none;\n}\n\n.select2-results li.select2-result-with-children > .select2-result-label {\n font-weight: bold;\n}\n\n.select2-results .select2-result-label {\n padding: 3px 7px 4px;\n margin: 0;\n cursor: pointer;\n\n min-height: 1em;\n\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n.select2-results-dept-1 .select2-result-label { padding-left: 20px }\n.select2-results-dept-2 .select2-result-label { padding-left: 40px }\n.select2-results-dept-3 .select2-result-label { padding-left: 60px }\n.select2-results-dept-4 .select2-result-label { padding-left: 80px }\n.select2-results-dept-5 .select2-result-label { padding-left: 100px }\n.select2-results-dept-6 .select2-result-label { padding-left: 110px }\n.select2-results-dept-7 .select2-result-label { padding-left: 120px }\n\n.select2-results .select2-highlighted {\n background: #3875d7;\n color: #fff;\n}\n\n.select2-results li em {\n background: #feffde;\n font-style: normal;\n}\n\n.select2-results .select2-highlighted em {\n background: transparent;\n}\n\n.select2-results .select2-highlighted ul {\n background: #fff;\n color: #000;\n}\n\n.select2-results .select2-no-results,\n.select2-results .select2-searching,\n.select2-results .select2-ajax-error,\n.select2-results .select2-selection-limit {\n background: #f4f4f4;\n display: list-item;\n padding-left: 5px;\n}\n\n/*\ndisabled look for disabled choices in the results dropdown\n*/\n.select2-results .select2-disabled.select2-highlighted {\n color: #666;\n background: #f4f4f4;\n display: list-item;\n cursor: default;\n}\n.select2-results .select2-disabled {\n background: #f4f4f4;\n display: list-item;\n cursor: default;\n}\n\n.select2-results .select2-selected {\n display: none;\n}\n\n.select2-more-results.select2-active {\n background: #f4f4f4 url('select2-spinner.gif') no-repeat 100%;\n}\n\n.select2-results .select2-ajax-error {\n background: rgba(255, 50, 50, .2);\n}\n\n.select2-more-results {\n background: #f4f4f4;\n display: list-item;\n}\n\n/* disabled styles */\n\n.select2-container.select2-container-disabled .select2-choice {\n background-color: #f4f4f4;\n background-image: none;\n border: 1px solid #ddd;\n cursor: default;\n}\n\n.select2-container.select2-container-disabled .select2-choice .select2-arrow {\n background-color: #f4f4f4;\n background-image: none;\n border-left: 0;\n}\n\n.select2-container.select2-container-disabled .select2-choice abbr {\n display: none;\n}\n\n\n/* multiselect */\n\n.select2-container-multi .select2-choices {\n height: auto !important;\n height: 1%;\n margin: 0;\n padding: 0 5px 0 0;\n position: relative;\n\n border: 1px solid #aaa;\n cursor: text;\n overflow: hidden;\n\n background-color: #fff;\n background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(1%, #eee), color-stop(15%, #fff));\n background-image: -webkit-linear-gradient(top, #eee 1%, #fff 15%);\n background-image: -moz-linear-gradient(top, #eee 1%, #fff 15%);\n background-image: linear-gradient(to bottom, #eee 1%, #fff 15%);\n}\n\nhtml[dir=\"rtl\"] .select2-container-multi .select2-choices {\n padding: 0 0 0 5px;\n}\n\n.select2-locked {\n padding: 3px 5px 3px 5px !important;\n}\n\n.select2-container-multi .select2-choices {\n min-height: 26px;\n}\n\n.select2-container-multi.select2-container-active .select2-choices {\n border: 1px solid #5897fb;\n outline: none;\n\n -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, .3);\n box-shadow: 0 0 5px rgba(0, 0, 0, .3);\n}\n.select2-container-multi .select2-choices li {\n float: left;\n list-style: none;\n}\nhtml[dir=\"rtl\"] .select2-container-multi .select2-choices li\n{\n float: right;\n}\n.select2-container-multi .select2-choices .select2-search-field {\n margin: 0;\n padding: 0;\n white-space: nowrap;\n}\n\n.select2-container-multi .select2-choices .select2-search-field input {\n padding: 5px;\n margin: 1px 0;\n\n font-family: sans-serif;\n font-size: 100%;\n color: #666;\n outline: 0;\n border: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n background: transparent !important;\n}\n\n.select2-container-multi .select2-choices .select2-search-field input.select2-active {\n background: #fff url('select2-spinner.gif') no-repeat 100% !important;\n}\n\n.select2-default {\n color: #999 !important;\n}\n\n.select2-container-multi .select2-choices .select2-search-choice {\n padding: 3px 5px 3px 18px;\n margin: 3px 0 3px 5px;\n position: relative;\n\n line-height: 13px;\n color: #333;\n cursor: default;\n border: 1px solid #aaaaaa;\n\n border-radius: 3px;\n\n -webkit-box-shadow: 0 0 2px #fff inset, 0 1px 0 rgba(0, 0, 0, 0.05);\n box-shadow: 0 0 2px #fff inset, 0 1px 0 rgba(0, 0, 0, 0.05);\n\n background-clip: padding-box;\n\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n\n background-color: #e4e4e4;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#f4f4f4', GradientType=0);\n background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(20%, #f4f4f4), color-stop(50%, #f0f0f0), color-stop(52%, #e8e8e8), color-stop(100%, #eee));\n background-image: -webkit-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%);\n background-image: -moz-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%);\n background-image: linear-gradient(to bottom, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%);\n}\nhtml[dir=\"rtl\"] .select2-container-multi .select2-choices .select2-search-choice\n{\n margin: 3px 5px 3px 0;\n padding: 3px 18px 3px 5px;\n}\n.select2-container-multi .select2-choices .select2-search-choice .select2-chosen {\n cursor: default;\n}\n.select2-container-multi .select2-choices .select2-search-choice-focus {\n background: #d4d4d4;\n}\n\n.select2-search-choice-close {\n display: block;\n width: 12px;\n height: 13px;\n position: absolute;\n right: 3px;\n top: 4px;\n\n font-size: 1px;\n outline: none;\n background: url('select2.png') right top no-repeat;\n}\nhtml[dir=\"rtl\"] .select2-search-choice-close {\n right: auto;\n left: 3px;\n}\n\n.select2-container-multi .select2-search-choice-close {\n left: 3px;\n}\n\nhtml[dir=\"rtl\"] .select2-container-multi .select2-search-choice-close {\n left: auto;\n right: 2px;\n}\n\n.select2-container-multi .select2-choices .select2-search-choice .select2-search-choice-close:hover {\n background-position: right -11px;\n}\n.select2-container-multi .select2-choices .select2-search-choice-focus .select2-search-choice-close {\n background-position: right -11px;\n}\n\n/* disabled styles */\n.select2-container-multi.select2-container-disabled .select2-choices {\n background-color: #f4f4f4;\n background-image: none;\n border: 1px solid #ddd;\n cursor: default;\n}\n\n.select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice {\n padding: 3px 5px 3px 5px;\n border: 1px solid #ddd;\n background-image: none;\n background-color: #f4f4f4;\n}\n\n.select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice .select2-search-choice-close { display: none;\n background: none;\n}\n/* end multiselect */\n\n\n.select2-result-selectable .select2-match,\n.select2-result-unselectable .select2-match {\n text-decoration: underline;\n}\n\n.select2-offscreen, .select2-offscreen:focus {\n clip: rect(0 0 0 0) !important;\n width: 1px !important;\n height: 1px !important;\n border: 0 !important;\n margin: 0 !important;\n padding: 0 !important;\n overflow: hidden !important;\n position: absolute !important;\n outline: 0 !important;\n left: 0px !important;\n top: 0px !important;\n}\n\n.select2-display-none {\n display: none;\n}\n\n.select2-measure-scrollbar {\n position: absolute;\n top: -10000px;\n left: -10000px;\n width: 100px;\n height: 100px;\n overflow: scroll;\n}\n\n/* Retina-ize icons */\n\n@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-resolution: 2dppx) {\n .select2-search input,\n .select2-search-choice-close,\n .select2-container .select2-choice abbr,\n .select2-container .select2-choice .select2-arrow b {\n background-image: url('select2x2.png') !important;\n background-repeat: no-repeat !important;\n background-size: 60px 40px !important;\n }\n\n .select2-search input {\n background-position: 100% -21px !important;\n }\n}\n"],sourceRoot:""}]);const A=d},86140(t,e,i){"use strict";i.d(e,{A:()=>a});var n=i(71354),r=i.n(n),o=i(76314),s=i.n(o)()(r());s.push([t.id,'/**\n * Strengthify - show the weakness of a password (uses zxcvbn for this)\n * https://github.com/MorrisJobke/strengthify\n * Version: 0.5.9\n * License: The MIT License (MIT)\n * Copyright (c) 2013-2020 Morris Jobke \n */\n\n.strengthify-wrapper {\n position: relative;\n}\n\n.strengthify-wrapper > * {\n\t-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";\n\tfilter: alpha(opacity=0);\n\topacity: 0;\n\t-webkit-transition:all .5s ease-in-out;\n\t-moz-transition:all .5s ease-in-out;\n\ttransition:all .5s ease-in-out;\n}\n\n.strengthify-bg, .strengthify-container, .strengthify-separator {\n\theight: 3px;\n}\n\n.strengthify-bg, .strengthify-container {\n\tdisplay: block;\n\tposition: absolute;\n\twidth: 100%;\n}\n\n.strengthify-bg {\n\tbackground-color: #BBB;\n}\n\n.strengthify-separator {\n\tdisplay: inline-block;\n\tposition: absolute;\n\tbackground-color: #FFF;\n\twidth: 1px;\n\tz-index: 10;\n}\n\n.password-bad {\n\tbackground-color: #C33;\n}\n.password-medium {\n\tbackground-color: #F80;\n}\n.password-good {\n\tbackground-color: #3C3;\n}\n\ndiv[data-strengthifyMessage] {\n padding: 3px 8px;\n}\n\n.strengthify-tiles{\n\tfloat: right;\n}\n',"",{version:3,sources:["webpack://./node_modules/strengthify/strengthify.css"],names:[],mappings:"AAAA;;;;;;EAME;;AAEF;IACI,kBAAkB;AACtB;;AAEA;CACC,+DAA+D;CAC/D,wBAAwB;CACxB,UAAU;CACV,sCAAsC;CACtC,mCAAmC;CACnC,8BAA8B;AAC/B;;AAEA;CACC,WAAW;AACZ;;AAEA;CACC,cAAc;CACd,kBAAkB;CAClB,WAAW;AACZ;;AAEA;CACC,sBAAsB;AACvB;;AAEA;CACC,qBAAqB;CACrB,kBAAkB;CAClB,sBAAsB;CACtB,UAAU;CACV,WAAW;AACZ;;AAEA;CACC,sBAAsB;AACvB;AACA;CACC,sBAAsB;AACvB;AACA;CACC,sBAAsB;AACvB;;AAEA;IACI,gBAAgB;AACpB;;AAEA;CACC,YAAY;AACb",sourcesContent:['/**\n * Strengthify - show the weakness of a password (uses zxcvbn for this)\n * https://github.com/MorrisJobke/strengthify\n * Version: 0.5.9\n * License: The MIT License (MIT)\n * Copyright (c) 2013-2020 Morris Jobke \n */\n\n.strengthify-wrapper {\n position: relative;\n}\n\n.strengthify-wrapper > * {\n\t-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";\n\tfilter: alpha(opacity=0);\n\topacity: 0;\n\t-webkit-transition:all .5s ease-in-out;\n\t-moz-transition:all .5s ease-in-out;\n\ttransition:all .5s ease-in-out;\n}\n\n.strengthify-bg, .strengthify-container, .strengthify-separator {\n\theight: 3px;\n}\n\n.strengthify-bg, .strengthify-container {\n\tdisplay: block;\n\tposition: absolute;\n\twidth: 100%;\n}\n\n.strengthify-bg {\n\tbackground-color: #BBB;\n}\n\n.strengthify-separator {\n\tdisplay: inline-block;\n\tposition: absolute;\n\tbackground-color: #FFF;\n\twidth: 1px;\n\tz-index: 10;\n}\n\n.password-bad {\n\tbackground-color: #C33;\n}\n.password-medium {\n\tbackground-color: #F80;\n}\n.password-good {\n\tbackground-color: #3C3;\n}\n\ndiv[data-strengthifyMessage] {\n padding: 3px 8px;\n}\n\n.strengthify-tiles{\n\tfloat: right;\n}\n'],sourceRoot:""}]);const a=s},51286(t,e,i){"use strict";i.d(e,{A:()=>a});var n=i(71354),r=i.n(n),o=i(76314),s=i.n(o)()(r());s.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 a=s},35644(t,e,i){"use strict";i.d(e,{A:()=>a});var n=i(71354),r=i.n(n),o=i(76314),s=i.n(o)()(r());s.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 a=s},75882(t,e,i){"use strict";i.d(e,{A:()=>a});var n=i(71354),r=i.n(n),o=i(76314),s=i.n(o)()(r());s.push([t.id,".app-menu[data-v-141e7efc]{--app-menu-entry-growth: calc(var(--default-grid-baseline) * 4);display:flex;flex:1 1;width:0}.app-menu__list[data-v-141e7efc]{display:flex;flex-wrap:nowrap;margin-inline:calc(var(--app-menu-entry-growth)/2)}.app-menu__overflow[data-v-141e7efc]{margin-block:auto}.app-menu__overflow[data-v-141e7efc] .button-vue--vue-tertiary{opacity:.7;margin:3px;filter:var(--background-image-invert-if-bright)}.app-menu__overflow[data-v-141e7efc] .button-vue--vue-tertiary:not([aria-expanded=true]){color:var(--color-background-plain-text)}.app-menu__overflow[data-v-141e7efc] .button-vue--vue-tertiary:not([aria-expanded=true]):hover{opacity:1;background-color:rgba(0,0,0,0) !important}.app-menu__overflow[data-v-141e7efc] .button-vue--vue-tertiary:focus-visible{opacity:1;outline:none !important}.app-menu__overflow-entry[data-v-141e7efc] .action-link__icon{filter:var(--background-invert-if-bright) !important}","",{version:3,sources:["webpack://./core/src/components/AppMenu.vue"],names:[],mappings:"AACA,2BAEC,+DAAA,CACA,YAAA,CACA,QAAA,CACA,OAAA,CAEA,iCACC,YAAA,CACA,gBAAA,CACA,kDAAA,CAGD,qCACC,iBAAA,CAGA,+DACC,UAAA,CACA,UAAA,CACA,+CAAA,CAGA,yFACC,wCAAA,CAEA,+FACC,SAAA,CACA,yCAAA,CAIF,6EACC,SAAA,CACA,uBAAA,CAMF,8DAEC,oDAAA",sourcesContent:['\n.app-menu {\n\t// The size the currently focussed entry will grow to show the full name\n\t--app-menu-entry-growth: calc(var(--default-grid-baseline) * 4);\n\tdisplay: flex;\n\tflex: 1 1;\n\twidth: 0;\n\n\t&__list {\n\t\tdisplay: flex;\n\t\tflex-wrap: nowrap;\n\t\tmargin-inline: calc(var(--app-menu-entry-growth) / 2);\n\t}\n\n\t&__overflow {\n\t\tmargin-block: auto;\n\n\t\t// Adjust the overflow NcActions styles as they are directly rendered on the background\n\t\t:deep(.button-vue--vue-tertiary) {\n\t\t\topacity: .7;\n\t\t\tmargin: 3px;\n\t\t\tfilter: var(--background-image-invert-if-bright);\n\n\t\t\t/* Remove all background and align text color if not expanded */\n\t\t\t&:not([aria-expanded="true"]) {\n\t\t\t\tcolor: var(--color-background-plain-text);\n\n\t\t\t\t&:hover {\n\t\t\t\t\topacity: 1;\n\t\t\t\t\tbackground-color: transparent !important;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t&:focus-visible {\n\t\t\t\topacity: 1;\n\t\t\t\toutline: none !important;\n\t\t\t}\n\t\t}\n\t}\n\n\t&__overflow-entry {\n\t\t:deep(.action-link__icon) {\n\t\t\t// Icons are bright so invert them if bright color theme == bright background is used\n\t\t\tfilter: var(--background-invert-if-bright) !important;\n\t\t}\n\t}\n}\n'],sourceRoot:""}]);const a=s},55720(t,e,i){"use strict";i.d(e,{A:()=>a});var n=i(71354),r=i.n(n),o=i(76314),s=i.n(o)()(r());s.push([t.id,'.app-menu-entry[data-v-7faa0c46]{--app-menu-entry-font-size: 12px;width:var(--header-height);height:var(--header-height);position:relative}.app-menu-entry__link[data-v-7faa0c46]{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--color-background-plain-text);width:calc(100% - 4px);height:calc(100% - 4px);margin:2px}.app-menu-entry__label[data-v-7faa0c46]{opacity:0;position:absolute;font-size:var(--app-menu-entry-font-size);color:var(--color-background-plain-text);text-align:center;bottom:0;inset-inline-start:50%;top:50%;display:block;transform:translateX(-50%);max-width:100%;text-overflow:ellipsis;overflow:hidden;letter-spacing:-0.5px}body[dir=rtl] .app-menu-entry__label[data-v-7faa0c46]{transform:translateX(50%) !important}.app-menu-entry__icon[data-v-7faa0c46]{font-size:var(--app-menu-entry-font-size)}.app-menu-entry--active .app-menu-entry__label[data-v-7faa0c46]{font-weight:bolder}.app-menu-entry--active[data-v-7faa0c46]::before{content:" ";position:absolute;pointer-events:none;border-bottom-color:var(--color-main-background);transform:translateX(-50%);width:10px;height:5px;border-radius:3px;background-color:var(--color-background-plain-text);inset-inline-start:50%;bottom:8px;display:block;transition:all var(--animation-quick) ease-in-out;opacity:1}body[dir=rtl] .app-menu-entry--active[data-v-7faa0c46]::before{transform:translateX(50%) !important}.app-menu-entry__icon[data-v-7faa0c46],.app-menu-entry__label[data-v-7faa0c46]{transition:all var(--animation-quick) ease-in-out}.app-menu-entry:hover .app-menu-entry__label[data-v-7faa0c46],.app-menu-entry:focus-within .app-menu-entry__label[data-v-7faa0c46]{font-weight:bold}.app-menu-entry--truncated:hover .app-menu-entry__label[data-v-7faa0c46],.app-menu-entry--truncated:focus-within .app-menu-entry__label[data-v-7faa0c46]{max-width:calc(var(--header-height) + var(--app-menu-entry-growth))}.app-menu-entry--truncated:hover+.app-menu-entry .app-menu-entry__label[data-v-7faa0c46],.app-menu-entry--truncated:focus-within+.app-menu-entry .app-menu-entry__label[data-v-7faa0c46]{font-weight:normal;max-width:calc(var(--header-height) - var(--app-menu-entry-growth))}.app-menu-entry:has(+.app-menu-entry--truncated:hover) .app-menu-entry__label[data-v-7faa0c46],.app-menu-entry:has(+.app-menu-entry--truncated:focus-within) .app-menu-entry__label[data-v-7faa0c46]{font-weight:normal;max-width:calc(var(--header-height) - var(--app-menu-entry-growth))}',"",{version:3,sources:["webpack://./core/src/components/AppMenuEntry.vue"],names:[],mappings:"AACA,iCACC,gCAAA,CACA,0BAAA,CACA,2BAAA,CACA,iBAAA,CAEA,uCACC,iBAAA,CACA,YAAA,CACA,qBAAA,CACA,kBAAA,CACA,sBAAA,CAEA,wCAAA,CAEA,sBAAA,CACA,uBAAA,CACA,UAAA,CAGD,wCACC,SAAA,CACA,iBAAA,CACA,yCAAA,CAEA,wCAAA,CACA,iBAAA,CACA,QAAA,CACA,sBAAA,CACA,OAAA,CACA,aAAA,CACA,0BAAA,CACA,cAAA,CACA,sBAAA,CACA,eAAA,CACA,qBAAA,CAED,sDACC,oCAAA,CAGD,uCACC,yCAAA,CAKA,gEACC,kBAAA,CAID,iDACC,WAAA,CACA,iBAAA,CACA,mBAAA,CACA,gDAAA,CACA,0BAAA,CACA,UAAA,CACA,UAAA,CACA,iBAAA,CACA,mDAAA,CACA,sBAAA,CACA,UAAA,CACA,aAAA,CACA,iDAAA,CACA,SAAA,CAED,+DACC,oCAAA,CAIF,+EAEC,iDAAA,CAID,mIAEC,gBAAA,CAOA,yJACC,mEAAA,CAKA,yLACC,kBAAA,CACA,mEAAA,CAQF,qMACC,kBAAA,CACA,mEAAA",sourcesContent:['\n.app-menu-entry {\n\t--app-menu-entry-font-size: 12px;\n\twidth: var(--header-height);\n\theight: var(--header-height);\n\tposition: relative;\n\n\t&__link {\n\t\tposition: relative;\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\t// Set color as this is shown directly on the background\n\t\tcolor: var(--color-background-plain-text);\n\t\t// Make space for focus-visible outline\n\t\twidth: calc(100% - 4px);\n\t\theight: calc(100% - 4px);\n\t\tmargin: 2px;\n\t}\n\n\t&__label {\n\t\topacity: 0;\n\t\tposition: absolute;\n\t\tfont-size: var(--app-menu-entry-font-size);\n\t\t// this is shown directly on the background\n\t\tcolor: var(--color-background-plain-text);\n\t\ttext-align: center;\n\t\tbottom: 0;\n\t\tinset-inline-start: 50%;\n\t\ttop: 50%;\n\t\tdisplay: block;\n\t\ttransform: translateX(-50%);\n\t\tmax-width: 100%;\n\t\ttext-overflow: ellipsis;\n\t\toverflow: hidden;\n\t\tletter-spacing: -0.5px;\n\t}\n\tbody[dir=rtl] &__label {\n\t\ttransform: translateX(50%) !important;\n\t}\n\n\t&__icon {\n\t\tfont-size: var(--app-menu-entry-font-size);\n\t}\n\n\t&--active {\n\t\t// When hover or focus, show the label and make it bolder than the other entries\n\t\t.app-menu-entry__label {\n\t\t\tfont-weight: bolder;\n\t\t}\n\n\t\t// When active show a line below the entry as an "active" indicator\n\t\t&::before {\n\t\t\tcontent: " ";\n\t\t\tposition: absolute;\n\t\t\tpointer-events: none;\n\t\t\tborder-bottom-color: var(--color-main-background);\n\t\t\ttransform: translateX(-50%);\n\t\t\twidth: 10px;\n\t\t\theight: 5px;\n\t\t\tborder-radius: 3px;\n\t\t\tbackground-color: var(--color-background-plain-text);\n\t\t\tinset-inline-start: 50%;\n\t\t\tbottom: 8px;\n\t\t\tdisplay: block;\n\t\t\ttransition: all var(--animation-quick) ease-in-out;\n\t\t\topacity: 1;\n\t\t}\n\t\tbody[dir=rtl] &::before {\n\t\t\ttransform: translateX(50%) !important;\n\t\t}\n\t}\n\n\t&__icon,\n\t&__label {\n\t\ttransition: all var(--animation-quick) ease-in-out;\n\t}\n\n\t// Make the hovered entry bold to see that it is hovered\n\t&:hover .app-menu-entry__label,\n\t&:focus-within .app-menu-entry__label {\n\t\tfont-weight: bold;\n\t}\n\n\t// Adjust the width when an entry is focussed\n\t// The focussed / hovered entry should grow, while both neighbors need to shrink\n\t&--truncated:hover,\n\t&--truncated:focus-within {\n\t\t.app-menu-entry__label {\n\t\t\tmax-width: calc(var(--header-height) + var(--app-menu-entry-growth));\n\t\t}\n\n\t\t// The next entry needs to shrink half the growth\n\t\t+ .app-menu-entry {\n\t\t\t.app-menu-entry__label {\n\t\t\t\tfont-weight: normal;\n\t\t\t\tmax-width: calc(var(--header-height) - var(--app-menu-entry-growth));\n\t\t\t}\n\t\t}\n\t}\n\n\t// The previous entry needs to shrink half the growth\n\t&:has(+ .app-menu-entry--truncated:hover),\n\t&:has(+ .app-menu-entry--truncated:focus-within) {\n\t\t.app-menu-entry__label {\n\t\t\tfont-weight: normal;\n\t\t\tmax-width: calc(var(--header-height) - var(--app-menu-entry-growth));\n\t\t}\n\t}\n}\n'],sourceRoot:""}]);const a=s},80960(t,e,i){"use strict";i.d(e,{A:()=>a});var n=i(71354),r=i.n(n),o=i(76314),s=i.n(o)()(r());s.push([t.id,".app-menu-entry:hover .app-menu-entry__icon,.app-menu-entry:focus-within .app-menu-entry__icon,.app-menu__list:hover .app-menu-entry__icon,.app-menu__list:focus-within .app-menu-entry__icon{margin-block-end:1lh}.app-menu-entry:hover .app-menu-entry__label,.app-menu-entry:focus-within .app-menu-entry__label,.app-menu__list:hover .app-menu-entry__label,.app-menu__list:focus-within .app-menu-entry__label{opacity:1}.app-menu-entry:hover .app-menu-entry--active::before,.app-menu-entry:focus-within .app-menu-entry--active::before,.app-menu__list:hover .app-menu-entry--active::before,.app-menu__list:focus-within .app-menu-entry--active::before{opacity:0}.app-menu-entry:hover .app-menu-icon__unread,.app-menu-entry:focus-within .app-menu-icon__unread,.app-menu__list:hover .app-menu-icon__unread,.app-menu__list:focus-within .app-menu-icon__unread{opacity:0}","",{version:3,sources:["webpack://./core/src/components/AppMenuEntry.vue"],names:[],mappings:"AAOC,8LACC,oBAAA,CAID,kMACC,SAAA,CAID,sOACC,SAAA,CAGD,kMACC,SAAA",sourcesContent:["\n// Showing the label\n.app-menu-entry:hover,\n.app-menu-entry:focus-within,\n.app-menu__list:hover,\n.app-menu__list:focus-within {\n\t// Move icon up so that the name does not overflow the icon\n\t.app-menu-entry__icon {\n\t\tmargin-block-end: 1lh;\n\t}\n\n\t// Make the label visible\n\t.app-menu-entry__label {\n\t\topacity: 1;\n\t}\n\n\t// Hide indicator when the text is shown\n\t.app-menu-entry--active::before {\n\t\topacity: 0;\n\t}\n\n\t.app-menu-icon__unread {\n\t\topacity: 0;\n\t}\n}\n"],sourceRoot:""}]);const a=s},65151(t,e,i){"use strict";i.d(e,{A:()=>a});var n=i(71354),r=i.n(n),o=i(76314),s=i.n(o)()(r());s.push([t.id,".app-menu-icon[data-v-81f2fa84]{box-sizing:border-box;position:relative;height:20px;width:20px}.app-menu-icon__icon[data-v-81f2fa84]{transition:margin .1s ease-in-out;height:20px;width:20px;filter:var(--background-image-invert-if-bright);mask:var(--header-menu-icon-mask)}.app-menu-icon__unread[data-v-81f2fa84]{color:var(--color-text-error);position:absolute;inset-block-end:15px;inset-inline-end:-5px;transition:all .1s ease-in-out}","",{version:3,sources:["webpack://./core/src/components/AppMenuIcon.vue"],names:[],mappings:"AAIA,gCACC,qBAAA,CACA,iBAAA,CAEA,WAPW,CAQX,UARW,CAUX,sCACC,iCAAA,CACA,WAZU,CAaV,UAbU,CAcV,+CAAA,CACA,iCAAA,CAGD,wCACC,6BAAA,CACA,iBAAA,CAEA,oBAAA,CACA,qBAAA,CACA,8BAAA",sourcesContent:["\n$icon-size: 20px;\n$unread-indicator-size: 10px;\n\n.app-menu-icon {\n\tbox-sizing: border-box;\n\tposition: relative;\n\n\theight: $icon-size;\n\twidth: $icon-size;\n\n\t&__icon {\n\t\ttransition: margin 0.1s ease-in-out;\n\t\theight: $icon-size;\n\t\twidth: $icon-size;\n\t\tfilter: var(--background-image-invert-if-bright);\n\t\tmask: var(--header-menu-icon-mask);\n\t}\n\n\t&__unread {\n\t\tcolor: var(--color-text-error);\n\t\tposition: absolute;\n\t\t// Align the dot to the top right corner of the icon\n\t\tinset-block-end: calc($icon-size + ($unread-indicator-size / -2));\n\t\tinset-inline-end: calc($unread-indicator-size / -2);\n\t\ttransition: all 0.1s ease-in-out;\n\t}\n}\n"],sourceRoot:""}]);const a=s},89004(t,e,i){"use strict";i.d(e,{A:()=>a});var n=i(71354),r=i.n(n),o=i(76314),s=i.n(o)()(r());s.push([t.id,".contact[data-v-56b7b257]{display:flex;position:relative;align-items:center;padding:3px;padding-inline-start:10px}.contact__action__icon[data-v-56b7b257]{width:20px;height:20px;padding:calc((var(--default-clickable-area) - 20px)/2);filter:var(--background-invert-if-dark)}.contact__avatar[data-v-56b7b257]{display:inherit}.contact__body[data-v-56b7b257]{flex-grow:1;padding-inline-start:10px;margin-inline-start:10px;min-width:0}.contact__body div[data-v-56b7b257]{position:relative;width:100%;overflow-x:hidden;text-overflow:ellipsis;margin:-1px 0}.contact__body div[data-v-56b7b257]:first-of-type{margin-top:0}.contact__body div[data-v-56b7b257]:last-of-type{margin-bottom:0}.contact__body__last-message[data-v-56b7b257],.contact__body__status-message[data-v-56b7b257],.contact__body__email-address[data-v-56b7b257]{color:var(--color-text-maxcontrast)}.contact__body[data-v-56b7b257]:focus-visible{box-shadow:0 0 0 4px var(--color-main-background) !important;outline:2px solid var(--color-main-text) !important}.contact .other-actions[data-v-56b7b257]{width:16px;height:16px;cursor:pointer}.contact .other-actions img[data-v-56b7b257]{filter:var(--background-invert-if-dark)}.contact button.other-actions[data-v-56b7b257]{width:44px}.contact button.other-actions[data-v-56b7b257]:focus{border-color:rgba(0,0,0,0);box-shadow:0 0 0 2px var(--color-main-text)}.contact button.other-actions[data-v-56b7b257]:focus-visible{border-radius:var(--border-radius-pill)}.contact .menu[data-v-56b7b257]{top:47px;margin-inline-end:13px}.contact .popovermenu[data-v-56b7b257]::after{inset-inline-end:2px}","",{version:3,sources:["webpack://./core/src/components/ContactsMenu/ContactMenuEntry.vue"],names:[],mappings:"AACA,0BACC,YAAA,CACA,iBAAA,CACA,kBAAA,CACA,WAAA,CACA,yBAAA,CAGC,wCACC,UAAA,CACA,WAAA,CACA,sDAAA,CACA,uCAAA,CAIF,kCACC,eAAA,CAGD,gCACC,WAAA,CACA,yBAAA,CACA,wBAAA,CACA,WAAA,CAEA,oCACC,iBAAA,CACA,UAAA,CACA,iBAAA,CACA,sBAAA,CACA,aAAA,CAED,kDACC,YAAA,CAED,iDACC,eAAA,CAGD,6IACC,mCAAA,CAGD,8CACC,4DAAA,CACA,mDAAA,CAIF,yCACC,UAAA,CACA,WAAA,CACA,cAAA,CAEA,6CACC,uCAAA,CAIF,+CACC,UAAA,CAEA,qDACC,0BAAA,CACA,2CAAA,CAGD,6DACC,uCAAA,CAKF,gCACC,QAAA,CACA,sBAAA,CAGD,8CACC,oBAAA",sourcesContent:["\n.contact {\n\tdisplay: flex;\n\tposition: relative;\n\talign-items: center;\n\tpadding: 3px;\n\tpadding-inline-start: 10px;\n\n\t&__action {\n\t\t&__icon {\n\t\t\twidth: 20px;\n\t\t\theight: 20px;\n\t\t\tpadding: calc((var(--default-clickable-area) - 20px) / 2);\n\t\t\tfilter: var(--background-invert-if-dark);\n\t\t}\n\t}\n\n\t&__avatar {\n\t\tdisplay: inherit;\n\t}\n\n\t&__body {\n\t\tflex-grow: 1;\n\t\tpadding-inline-start: 10px;\n\t\tmargin-inline-start: 10px;\n\t\tmin-width: 0;\n\n\t\tdiv {\n\t\t\tposition: relative;\n\t\t\twidth: 100%;\n\t\t\toverflow-x: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t\tmargin: -1px 0;\n\t\t}\n\t\tdiv:first-of-type {\n\t\t\tmargin-top: 0;\n\t\t}\n\t\tdiv:last-of-type {\n\t\t\tmargin-bottom: 0;\n\t\t}\n\n\t\t&__last-message, &__status-message, &__email-address {\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t}\n\n\t\t&:focus-visible {\n\t\t\tbox-shadow: 0 0 0 4px var(--color-main-background) !important;\n\t\t\toutline: 2px solid var(--color-main-text) !important;\n\t\t}\n\t}\n\n\t.other-actions {\n\t\twidth: 16px;\n\t\theight: 16px;\n\t\tcursor: pointer;\n\n\t\timg {\n\t\t\tfilter: var(--background-invert-if-dark);\n\t\t}\n\t}\n\n\tbutton.other-actions {\n\t\twidth: 44px;\n\n\t\t&:focus {\n\t\t\tborder-color: transparent;\n\t\t\tbox-shadow: 0 0 0 2px var(--color-main-text);\n\t\t}\n\n\t\t&:focus-visible {\n\t\t\tborder-radius: var(--border-radius-pill);\n\t\t}\n\t}\n\n\t/* actions menu */\n\t.menu {\n\t\ttop: 47px;\n\t\tmargin-inline-end: 13px;\n\t}\n\n\t.popovermenu::after {\n\t\tinset-inline-end: 2px;\n\t}\n}\n"],sourceRoot:""}]);const a=s},33096(t,e,i){"use strict";i.d(e,{A:()=>a});var n=i(71354),r=i.n(n),o=i(76314),s=i.n(o)()(r());s.push([t.id,"[data-v-6c007912] #header-menu-user-menu{padding:0 !important}.account-menu[data-v-6c007912] *{mask:none !important}.account-menu__avatar[data-v-6c007912]{--account-menu-outline: var(--border-width-input) solid color-mix(in srgb, var(--color-background-plain-text), transparent 75%);outline:var(--account-menu-outline);position:fixed}.account-menu__avatar[data-v-6c007912]:hover{--account-menu-outline: none;border:var(--border-width-input-focused) solid var(--color-background-plain-text)}.account-menu__list[data-v-6c007912]{display:inline-flex;flex-direction:column;padding-block:var(--default-grid-baseline) 0;padding-inline:0 var(--default-grid-baseline)}.account-menu__list[data-v-6c007912]> li{box-sizing:border-box;flex:0 1}.account-menu[data-v-6c007912] .header-menu__content{width:fit-content !important}.account-menu[data-v-6c007912] button{opacity:1 !important}.account-menu[data-v-6c007912] button:focus-visible .account-menu__avatar{--account-menu-outline: none;border:var(--border-width-input-focused) solid var(--color-background-plain-text)}","",{version:3,sources:["webpack://./core/src/views/AccountMenu.vue"],names:[],mappings:"AACA,yCACC,oBAAA,CAIA,iCAEC,oBAAA,CAGD,uCACC,+HAAA,CACA,mCAAA,CACA,cAAA,CAEA,6CACC,4BAAA,CAEA,iFAAA,CAIF,qCACC,mBAAA,CACA,qBAAA,CACA,4CAAA,CACA,6CAAA,CAEA,yCACC,qBAAA,CAEA,QAAA,CAKF,qDACC,4BAAA,CAGD,sCAGC,oBAAA,CAKC,0EACC,4BAAA,CACA,iFAAA",sourcesContent:['\n:deep(#header-menu-user-menu) {\n\tpadding: 0 !important;\n}\n\n.account-menu {\n\t:deep(*) {\n\t\t// do not apply the alpha mask on the avatar div\n\t\tmask: none !important;\n\t}\n\n\t&__avatar {\n\t\t--account-menu-outline: var(--border-width-input) solid color-mix(in srgb, var(--color-background-plain-text), transparent 75%);\n\t\toutline: var(--account-menu-outline);\n\t\tposition: fixed;\n\n\t\t&:hover {\n\t\t\t--account-menu-outline: none;\n\t\t\t// Add hover styles similar to the focus-visible style\n\t\t\tborder: var(--border-width-input-focused) solid var(--color-background-plain-text);\n\t\t}\n\t}\n\n\t&__list {\n\t\tdisplay: inline-flex;\n\t\tflex-direction: column;\n\t\tpadding-block: var(--default-grid-baseline) 0;\n\t\tpadding-inline: 0 var(--default-grid-baseline);\n\n\t\t> :deep(li) {\n\t\t\tbox-sizing: border-box;\n\t\t\t// basically "fit-content"\n\t\t\tflex: 0 1;\n\t\t}\n\t}\n\n\t// Ensure we do not waste space, as the header menu sets a default width of 350px\n\t:deep(.header-menu__content) {\n\t\twidth: fit-content !important;\n\t}\n\n\t:deep(button) {\n\t\t// Normally header menus are slightly translucent when not active\n\t\t// this is generally ok but for the avatar this is weird so fix the opacity\n\t\topacity: 1 !important;\n\n\t\t// The avatar is just the "icon" of the button\n\t\t// So we add the focus-visible manually\n\t\t&:focus-visible {\n\t\t\t.account-menu__avatar {\n\t\t\t\t--account-menu-outline: none;\n\t\t\t\tborder: var(--border-width-input-focused) solid var(--color-background-plain-text);\n\t\t\t}\n\t\t}\n\t}\n}\n'],sourceRoot:""}]);const a=s},32351(t,e,i){"use strict";i.d(e,{A:()=>a});var n=i(71354),r=i.n(n),o=i(76314),s=i.n(o)()(r());s.push([t.id,".contactsmenu[data-v-253ecd69]{overflow-y:hidden}.contactsmenu__trigger-icon[data-v-253ecd69]{color:var(--color-background-plain-text) !important}.contactsmenu__menu[data-v-253ecd69]{display:flex;flex-direction:column;overflow:hidden;height:328px;max-height:inherit}.contactsmenu__menu__search-container[data-v-253ecd69]{padding:10px;display:flex;flex:row nowrap;column-gap:10px}.contactsmenu__menu__input-wrapper[data-v-253ecd69]{z-index:2;top:0;flex-grow:1;display:flex;gap:var(--default-grid-baseline)}.contactsmenu__menu__search[data-v-253ecd69]{width:100%;height:34px;margin-top:0 !important}.contactsmenu__menu__content[data-v-253ecd69]{overflow-y:auto;margin-top:10px;flex:1 1 auto}.contactsmenu__menu__content__footer[data-v-253ecd69]{display:flex;flex-direction:column;align-items:center}.contactsmenu__menu a[data-v-253ecd69]:focus-visible{box-shadow:inset 0 0 0 2px var(--color-main-text) !important}.contactsmenu[data-v-253ecd69] .empty-content{margin:0 !important}","",{version:3,sources:["webpack://./core/src/views/ContactsMenu.vue"],names:[],mappings:"AACA,+BACC,iBAAA,CAEA,6CACC,mDAAA,CAGD,qCACC,YAAA,CACA,qBAAA,CACA,eAAA,CACA,YAAA,CACA,kBAAA,CAEA,uDACC,YAAA,CACA,YAAA,CACA,eAAA,CACA,eAAA,CAGD,oDACC,SAAA,CACA,KAAA,CACA,WAAA,CACA,YAAA,CACA,gCAAA,CAGD,6CACC,UAAA,CACA,WAAA,CACA,uBAAA,CAGD,8CACC,eAAA,CACA,eAAA,CACA,aAAA,CAEA,sDACC,YAAA,CACA,qBAAA,CACA,kBAAA,CAKD,qDACC,4DAAA,CAKH,8CACC,mBAAA",sourcesContent:["\n.contactsmenu {\n\toverflow-y: hidden;\n\n\t&__trigger-icon {\n\t\tcolor: var(--color-background-plain-text) !important;\n\t}\n\n\t&__menu {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\toverflow: hidden;\n\t\theight: calc(50px * 6 + 2px + 26px);\n\t\tmax-height: inherit;\n\n\t\t&__search-container {\n\t\t\tpadding: 10px;\n\t\t\tdisplay: flex;\n\t\t\tflex: row nowrap;\n\t\t\tcolumn-gap: 10px;\n\t\t}\n\n\t\t&__input-wrapper {\n\t\t\tz-index: 2;\n\t\t\ttop: 0;\n\t\t\tflex-grow: 1;\n\t\t\tdisplay: flex;\n\t\t\tgap: var(--default-grid-baseline);\n\t\t}\n\n\t\t&__search {\n\t\t\twidth: 100%;\n\t\t\theight: 34px;\n\t\t\tmargin-top: 0!important;\n\t\t}\n\n\t\t&__content {\n\t\t\toverflow-y: auto;\n\t\t\tmargin-top: 10px;\n\t\t\tflex: 1 1 auto;\n\n\t\t\t&__footer {\n\t\t\t\tdisplay: flex;\n\t\t\t\tflex-direction: column;\n\t\t\t\talign-items: center;\n\t\t\t}\n\t\t}\n\n\t\ta {\n\t\t\t&:focus-visible {\n\t\t\t\tbox-shadow: inset 0 0 0 2px var(--color-main-text) !important; // override rule in core/css/headers.scss #header a:focus-visible\n\t\t\t}\n\t\t}\n\t}\n\n\t:deep(.empty-content) {\n\t\tmargin: 0 !important;\n\t}\n}\n"],sourceRoot:""}]);const a=s},29560(t,e,i){"use strict";e.utils=i(87626),e.Cipher=i(82808),e.DES=i(82211),e.CBC=i(3389),e.EDE=i(65279)},3389(t,e,i){"use strict";var n=i(43349),r=i(56698),o={};function s(t){n.equal(t.length,8,"Invalid IV length"),this.iv=new Array(8);for(var e=0;e0;n--)e+=this._buffer(t,e),i+=this._flushBuffer(r,i);return e+=this._buffer(t,e),r},r.prototype.final=function(t){var e,i;return t&&(e=this.update(t)),i="encrypt"===this.type?this._finalEncrypt():this._finalDecrypt(),e?e.concat(i):i},r.prototype._pad=function(t,e){if(0===e)return!1;for(;e>>1];i=o.r28shl(i,a),r=o.r28shl(r,a),o.pc2(i,r,t.keys,s)}},u.prototype._update=function(t,e,i,n){var r=this._desState,s=o.readUInt32BE(t,e),a=o.readUInt32BE(t,e+4);o.ip(s,a,r.tmp,0),s=r.tmp[0],a=r.tmp[1],"encrypt"===this.type?this._encrypt(r,s,a,r.tmp,0):this._decrypt(r,s,a,r.tmp,0),s=r.tmp[0],a=r.tmp[1],o.writeUInt32BE(i,s,n),o.writeUInt32BE(i,a,n+4)},u.prototype._pad=function(t,e){if(!1===this.padding)return!1;for(var i=t.length-e,n=e;n>>0,s=d}o.rip(a,s,n,r)},u.prototype._decrypt=function(t,e,i,n,r){for(var s=i,a=e,u=t.keys.length-2;u>=0;u-=2){var c=t.keys[u],h=t.keys[u+1];o.expand(s,t.tmp,0),c^=t.tmp[0],h^=t.tmp[1];var l=o.substitute(c,h),d=s;s=(a^o.permute(l))>>>0,a=d}o.rip(s,a,n,r)}},65279(t,e,i){"use strict";var n=i(43349),r=i(56698),o=i(82808),s=i(82211);function a(t,e){n.equal(e.length,24,"Invalid key length");var i=e.slice(0,8),r=e.slice(8,16),o=e.slice(16,24);this.ciphers="encrypt"===t?[s.create({type:"encrypt",key:i}),s.create({type:"decrypt",key:r}),s.create({type:"encrypt",key:o})]:[s.create({type:"decrypt",key:o}),s.create({type:"encrypt",key:r}),s.create({type:"decrypt",key:i})]}function u(t){o.call(this,t);var e=new a(this.type,this.options.key);this._edeState=e}r(u,o),t.exports=u,u.create=function(t){return new u(t)},u.prototype._update=function(t,e,i,n){var r=this._edeState;r.ciphers[0]._update(t,e,i,n),r.ciphers[1]._update(i,n,i,n),r.ciphers[2]._update(i,n,i,n)},u.prototype._pad=s.prototype._pad,u.prototype._unpad=s.prototype._unpad},87626(t,e){"use strict";e.readUInt32BE=function(t,e){return(t[0+e]<<24|t[1+e]<<16|t[2+e]<<8|t[3+e])>>>0},e.writeUInt32BE=function(t,e,i){t[0+i]=e>>>24,t[1+i]=e>>>16&255,t[2+i]=e>>>8&255,t[3+i]=255&e},e.ip=function(t,e,i,n){for(var r=0,o=0,s=6;s>=0;s-=2){for(var a=0;a<=24;a+=8)r<<=1,r|=e>>>a+s&1;for(a=0;a<=24;a+=8)r<<=1,r|=t>>>a+s&1}for(s=6;s>=0;s-=2){for(a=1;a<=25;a+=8)o<<=1,o|=e>>>a+s&1;for(a=1;a<=25;a+=8)o<<=1,o|=t>>>a+s&1}i[n+0]=r>>>0,i[n+1]=o>>>0},e.rip=function(t,e,i,n){for(var r=0,o=0,s=0;s<4;s++)for(var a=24;a>=0;a-=8)r<<=1,r|=e>>>a+s&1,r<<=1,r|=t>>>a+s&1;for(s=4;s<8;s++)for(a=24;a>=0;a-=8)o<<=1,o|=e>>>a+s&1,o<<=1,o|=t>>>a+s&1;i[n+0]=r>>>0,i[n+1]=o>>>0},e.pc1=function(t,e,i,n){for(var r=0,o=0,s=7;s>=5;s--){for(var a=0;a<=24;a+=8)r<<=1,r|=e>>a+s&1;for(a=0;a<=24;a+=8)r<<=1,r|=t>>a+s&1}for(a=0;a<=24;a+=8)r<<=1,r|=e>>a+s&1;for(s=1;s<=3;s++){for(a=0;a<=24;a+=8)o<<=1,o|=e>>a+s&1;for(a=0;a<=24;a+=8)o<<=1,o|=t>>a+s&1}for(a=0;a<=24;a+=8)o<<=1,o|=t>>a+s&1;i[n+0]=r>>>0,i[n+1]=o>>>0},e.r28shl=function(t,e){return t<>>28-e};var i=[14,11,17,4,27,23,25,0,13,22,7,18,5,9,16,24,2,20,12,21,1,8,15,26,15,4,25,19,9,1,26,16,5,11,23,8,12,7,17,0,22,3,10,14,6,20,27,24];e.pc2=function(t,e,n,r){for(var o=0,s=0,a=i.length>>>1,u=0;u>>i[u]&1;for(u=a;u>>i[u]&1;n[r+0]=o>>>0,n[r+1]=s>>>0},e.expand=function(t,e,i){var n=0,r=0;n=(1&t)<<5|t>>>27;for(var o=23;o>=15;o-=4)n<<=6,n|=t>>>o&63;for(o=11;o>=3;o-=4)r|=t>>>o&63,r<<=6;r|=(31&t)<<1|t>>>31,e[i+0]=n>>>0,e[i+1]=r>>>0};var n=[14,0,4,15,13,7,1,4,2,14,15,2,11,13,8,1,3,10,10,6,6,12,12,11,5,9,9,5,0,3,7,8,4,15,1,12,14,8,8,2,13,4,6,9,2,1,11,7,15,5,12,11,9,3,7,14,3,10,10,0,5,6,0,13,15,3,1,13,8,4,14,7,6,15,11,2,3,8,4,14,9,12,7,0,2,1,13,10,12,6,0,9,5,11,10,5,0,13,14,8,7,10,11,1,10,3,4,15,13,4,1,2,5,11,8,6,12,7,6,12,9,0,3,5,2,14,15,9,10,13,0,7,9,0,14,9,6,3,3,4,15,6,5,10,1,2,13,8,12,5,7,14,11,12,4,11,2,15,8,1,13,1,6,10,4,13,9,0,8,6,15,9,3,8,0,7,11,4,1,15,2,14,12,3,5,11,10,5,14,2,7,12,7,13,13,8,14,11,3,5,0,6,6,15,9,0,10,3,1,4,2,7,8,2,5,12,11,1,12,10,4,14,15,9,10,3,6,15,9,0,0,6,12,10,11,1,7,13,13,8,15,9,1,4,3,5,14,11,5,12,2,7,8,2,4,14,2,14,12,11,4,2,1,12,7,4,10,7,11,13,6,1,8,5,5,0,3,15,15,10,13,3,0,9,14,8,9,6,4,11,2,8,1,12,11,7,10,1,13,14,7,2,8,13,15,6,9,15,12,0,5,9,6,10,3,4,0,5,14,3,12,10,1,15,10,4,15,2,9,7,2,12,6,9,8,5,0,6,13,1,3,13,4,14,14,0,7,11,5,3,11,8,9,4,14,3,15,2,5,12,2,9,8,5,12,15,3,10,7,11,0,14,4,1,10,7,1,6,13,0,11,8,6,13,4,13,11,0,2,11,14,7,15,4,0,9,8,1,13,10,3,14,12,3,9,5,7,12,5,2,10,15,6,8,1,6,1,6,4,11,11,13,13,8,12,1,3,4,7,10,14,7,10,9,15,5,6,0,8,15,0,14,5,2,9,3,2,12,13,1,2,15,8,13,4,8,6,10,15,3,11,7,1,4,10,12,9,5,3,6,14,11,5,0,0,14,12,9,7,2,7,2,11,1,4,14,1,7,9,4,12,10,14,8,2,13,0,15,6,12,10,9,13,0,15,3,3,5,5,6,8,11];e.substitute=function(t,e){for(var i=0,r=0;r<4;r++)i<<=4,i|=n[64*r+(t>>>18-6*r&63)];for(r=0;r<4;r++)i<<=4,i|=n[256+64*r+(e>>>18-6*r&63)];return i>>>0};var r=[16,25,12,11,3,20,4,15,31,17,9,6,27,14,1,22,30,24,8,18,0,5,29,23,13,19,2,26,10,21,28,7];e.permute=function(t){for(var e=0,i=0;i>>r[i]&1;return e>>>0},e.padSplit=function(t,e,i){for(var n=t.toString(2);n.lengtht;)i.ishrn(1);if(i.isEven()&&i.iadd(a),i.testn(1)||i.iadd(u),e.cmp(u)){if(!e.cmp(c))for(;i.mod(h).cmp(l);)i.iadd(f)}else for(;i.mod(o).cmp(d);)i.iadd(f);if(A(p=i.shrn(1))&&A(i)&&m(p)&&m(i)&&s.test(p)&&s.test(i))return i}}},66473(t,e,i){!function(t,e){"use strict";function n(t,e){if(!t)throw new Error(e||"Assertion failed")}function r(t,e){t.super_=e;var i=function(){};i.prototype=e.prototype,t.prototype=new i,t.prototype.constructor=t}function o(t,e,i){if(o.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(i=e,e=10),this._init(t||0,e||10,i||"be"))}var s;"object"==typeof t?t.exports=o:e.BN=o,o.BN=o,o.wordSize=26;try{s="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:i(66089).Buffer}catch(t){}function a(t,e){var i=t.charCodeAt(e);return i>=65&&i<=70?i-55:i>=97&&i<=102?i-87:i-48&15}function u(t,e,i){var n=a(t,i);return i-1>=e&&(n|=a(t,i-1)<<4),n}function c(t,e,i,n){for(var r=0,o=Math.min(t.length,i),s=e;s=49?a-49+10:a>=17?a-17+10:a}return r}o.isBN=function(t){return t instanceof o||null!==t&&"object"==typeof t&&t.constructor.wordSize===o.wordSize&&Array.isArray(t.words)},o.max=function(t,e){return t.cmp(e)>0?t:e},o.min=function(t,e){return t.cmp(e)<0?t:e},o.prototype._init=function(t,e,i){if("number"==typeof t)return this._initNumber(t,e,i);if("object"==typeof t)return this._initArray(t,e,i);"hex"===e&&(e=16),n(e===(0|e)&&e>=2&&e<=36);var r=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(r++,this.negative=1),r=0;r-=3)s=t[r]|t[r-1]<<8|t[r-2]<<16,this.words[o]|=s<>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);else if("le"===i)for(r=0,o=0;r>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);return this.strip()},o.prototype._parseHex=function(t,e,i){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var n=0;n=e;n-=2)r=u(t,e,n)<=18?(o-=18,s+=1,this.words[s]|=r>>>26):o+=8;else for(n=(t.length-e)%2==0?e+1:e;n=18?(o-=18,s+=1,this.words[s]|=r>>>26):o+=8;this.strip()},o.prototype._parseBase=function(t,e,i){this.words=[0],this.length=1;for(var n=0,r=1;r<=67108863;r*=e)n++;n--,r=r/e|0;for(var o=t.length-i,s=o%n,a=Math.min(o,o-s)+i,u=0,h=i;h1&&0===this.words[this.length-1];)this.length--;return this._normSign()},o.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},o.prototype.inspect=function(){return(this.red?""};var h=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],l=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],d=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function f(t,e,i){i.negative=e.negative^t.negative;var n=t.length+e.length|0;i.length=n,n=n-1|0;var r=0|t.words[0],o=0|e.words[0],s=r*o,a=67108863&s,u=s/67108864|0;i.words[0]=a;for(var c=1;c>>26,l=67108863&u,d=Math.min(c,e.length-1),f=Math.max(0,c-t.length+1);f<=d;f++){var p=c-f|0;h+=(s=(r=0|t.words[p])*(o=0|e.words[f])+l)/67108864|0,l=67108863&s}i.words[c]=0|l,u=0|h}return 0!==u?i.words[c]=0|u:i.length--,i.strip()}o.prototype.toString=function(t,e){var i;if(e=0|e||1,16===(t=t||10)||"hex"===t){i="";for(var r=0,o=0,s=0;s>>24-r&16777215,(r+=2)>=26&&(r-=26,s--),i=0!==o||s!==this.length-1?h[6-u.length]+u+i:u+i}for(0!==o&&(i=o.toString(16)+i);i.length%e!==0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}if(t===(0|t)&&t>=2&&t<=36){var c=l[t],f=d[t];i="";var p=this.clone();for(p.negative=0;!p.isZero();){var g=p.modn(f).toString(t);i=(p=p.idivn(f)).isZero()?g+i:h[c-g.length]+g+i}for(this.isZero()&&(i="0"+i);i.length%e!==0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}n(!1,"Base should be between 2 and 36")},o.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},o.prototype.toJSON=function(){return this.toString(16)},o.prototype.toBuffer=function(t,e){return n(void 0!==s),this.toArrayLike(s,t,e)},o.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},o.prototype.toArrayLike=function(t,e,i){var r=this.byteLength(),o=i||Math.max(1,r);n(r<=o,"byte array longer than desired length"),n(o>0,"Requested array length <= 0"),this.strip();var s,a,u="le"===e,c=new t(o),h=this.clone();if(u){for(a=0;!h.isZero();a++)s=h.andln(255),h.iushrn(8),c[a]=s;for(;a=4096&&(i+=13,e>>>=13),e>=64&&(i+=7,e>>>=7),e>=8&&(i+=4,e>>>=4),e>=2&&(i+=2,e>>>=2),i+e},o.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,i=0;return 8191&e||(i+=13,e>>>=13),127&e||(i+=7,e>>>=7),15&e||(i+=4,e>>>=4),3&e||(i+=2,e>>>=2),1&e||i++,i},o.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},o.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},o.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},o.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var i=0;it.length?this.clone().iand(t):t.clone().iand(this)},o.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},o.prototype.iuxor=function(t){var e,i;this.length>t.length?(e=this,i=t):(e=t,i=this);for(var n=0;nt.length?this.clone().ixor(t):t.clone().ixor(this)},o.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},o.prototype.inotn=function(t){n("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),i=t%26;this._expand(e),i>0&&e--;for(var r=0;r0&&(this.words[r]=~this.words[r]&67108863>>26-i),this.strip()},o.prototype.notn=function(t){return this.clone().inotn(t)},o.prototype.setn=function(t,e){n("number"==typeof t&&t>=0);var i=t/26|0,r=t%26;return this._expand(i+1),this.words[i]=e?this.words[i]|1<t.length?(i=this,n=t):(i=t,n=this);for(var r=0,o=0;o>>26;for(;0!==r&&o>>26;if(this.length=i.length,0!==r)this.words[this.length]=r,this.length++;else if(i!==this)for(;ot.length?this.clone().iadd(t):t.clone().iadd(this)},o.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var i,n,r=this.cmp(t);if(0===r)return this.negative=0,this.length=1,this.words[0]=0,this;r>0?(i=this,n=t):(i=t,n=this);for(var o=0,s=0;s>26,this.words[s]=67108863&e;for(;0!==o&&s>26,this.words[s]=67108863&e;if(0===o&&s>>13,f=0|s[1],p=8191&f,g=f>>>13,A=0|s[2],m=8191&A,v=A>>>13,b=0|s[3],y=8191&b,w=b>>>13,C=0|s[4],x=8191&C,k=C>>>13,_=0|s[5],M=8191&_,B=_>>>13,E=0|s[6],I=8191&E,S=E>>>13,D=0|s[7],T=8191&D,O=D>>>13,P=0|s[8],R=8191&P,z=P>>>13,N=0|s[9],H=8191&N,j=N>>>13,L=0|a[0],U=8191&L,q=L>>>13,F=0|a[1],W=8191&F,Y=F>>>13,Q=0|a[2],G=8191&Q,V=Q>>>13,K=0|a[3],X=8191&K,Z=K>>>13,J=0|a[4],$=8191&J,tt=J>>>13,et=0|a[5],it=8191&et,nt=et>>>13,rt=0|a[6],ot=8191&rt,st=rt>>>13,at=0|a[7],ut=8191&at,ct=at>>>13,ht=0|a[8],lt=8191&ht,dt=ht>>>13,ft=0|a[9],pt=8191&ft,gt=ft>>>13;i.negative=t.negative^e.negative,i.length=19;var At=(c+(n=Math.imul(l,U))|0)+((8191&(r=(r=Math.imul(l,q))+Math.imul(d,U)|0))<<13)|0;c=((o=Math.imul(d,q))+(r>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(p,U),r=(r=Math.imul(p,q))+Math.imul(g,U)|0,o=Math.imul(g,q);var mt=(c+(n=n+Math.imul(l,W)|0)|0)+((8191&(r=(r=r+Math.imul(l,Y)|0)+Math.imul(d,W)|0))<<13)|0;c=((o=o+Math.imul(d,Y)|0)+(r>>>13)|0)+(mt>>>26)|0,mt&=67108863,n=Math.imul(m,U),r=(r=Math.imul(m,q))+Math.imul(v,U)|0,o=Math.imul(v,q),n=n+Math.imul(p,W)|0,r=(r=r+Math.imul(p,Y)|0)+Math.imul(g,W)|0,o=o+Math.imul(g,Y)|0;var vt=(c+(n=n+Math.imul(l,G)|0)|0)+((8191&(r=(r=r+Math.imul(l,V)|0)+Math.imul(d,G)|0))<<13)|0;c=((o=o+Math.imul(d,V)|0)+(r>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(y,U),r=(r=Math.imul(y,q))+Math.imul(w,U)|0,o=Math.imul(w,q),n=n+Math.imul(m,W)|0,r=(r=r+Math.imul(m,Y)|0)+Math.imul(v,W)|0,o=o+Math.imul(v,Y)|0,n=n+Math.imul(p,G)|0,r=(r=r+Math.imul(p,V)|0)+Math.imul(g,G)|0,o=o+Math.imul(g,V)|0;var bt=(c+(n=n+Math.imul(l,X)|0)|0)+((8191&(r=(r=r+Math.imul(l,Z)|0)+Math.imul(d,X)|0))<<13)|0;c=((o=o+Math.imul(d,Z)|0)+(r>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(x,U),r=(r=Math.imul(x,q))+Math.imul(k,U)|0,o=Math.imul(k,q),n=n+Math.imul(y,W)|0,r=(r=r+Math.imul(y,Y)|0)+Math.imul(w,W)|0,o=o+Math.imul(w,Y)|0,n=n+Math.imul(m,G)|0,r=(r=r+Math.imul(m,V)|0)+Math.imul(v,G)|0,o=o+Math.imul(v,V)|0,n=n+Math.imul(p,X)|0,r=(r=r+Math.imul(p,Z)|0)+Math.imul(g,X)|0,o=o+Math.imul(g,Z)|0;var yt=(c+(n=n+Math.imul(l,$)|0)|0)+((8191&(r=(r=r+Math.imul(l,tt)|0)+Math.imul(d,$)|0))<<13)|0;c=((o=o+Math.imul(d,tt)|0)+(r>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(M,U),r=(r=Math.imul(M,q))+Math.imul(B,U)|0,o=Math.imul(B,q),n=n+Math.imul(x,W)|0,r=(r=r+Math.imul(x,Y)|0)+Math.imul(k,W)|0,o=o+Math.imul(k,Y)|0,n=n+Math.imul(y,G)|0,r=(r=r+Math.imul(y,V)|0)+Math.imul(w,G)|0,o=o+Math.imul(w,V)|0,n=n+Math.imul(m,X)|0,r=(r=r+Math.imul(m,Z)|0)+Math.imul(v,X)|0,o=o+Math.imul(v,Z)|0,n=n+Math.imul(p,$)|0,r=(r=r+Math.imul(p,tt)|0)+Math.imul(g,$)|0,o=o+Math.imul(g,tt)|0;var wt=(c+(n=n+Math.imul(l,it)|0)|0)+((8191&(r=(r=r+Math.imul(l,nt)|0)+Math.imul(d,it)|0))<<13)|0;c=((o=o+Math.imul(d,nt)|0)+(r>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(I,U),r=(r=Math.imul(I,q))+Math.imul(S,U)|0,o=Math.imul(S,q),n=n+Math.imul(M,W)|0,r=(r=r+Math.imul(M,Y)|0)+Math.imul(B,W)|0,o=o+Math.imul(B,Y)|0,n=n+Math.imul(x,G)|0,r=(r=r+Math.imul(x,V)|0)+Math.imul(k,G)|0,o=o+Math.imul(k,V)|0,n=n+Math.imul(y,X)|0,r=(r=r+Math.imul(y,Z)|0)+Math.imul(w,X)|0,o=o+Math.imul(w,Z)|0,n=n+Math.imul(m,$)|0,r=(r=r+Math.imul(m,tt)|0)+Math.imul(v,$)|0,o=o+Math.imul(v,tt)|0,n=n+Math.imul(p,it)|0,r=(r=r+Math.imul(p,nt)|0)+Math.imul(g,it)|0,o=o+Math.imul(g,nt)|0;var Ct=(c+(n=n+Math.imul(l,ot)|0)|0)+((8191&(r=(r=r+Math.imul(l,st)|0)+Math.imul(d,ot)|0))<<13)|0;c=((o=o+Math.imul(d,st)|0)+(r>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,n=Math.imul(T,U),r=(r=Math.imul(T,q))+Math.imul(O,U)|0,o=Math.imul(O,q),n=n+Math.imul(I,W)|0,r=(r=r+Math.imul(I,Y)|0)+Math.imul(S,W)|0,o=o+Math.imul(S,Y)|0,n=n+Math.imul(M,G)|0,r=(r=r+Math.imul(M,V)|0)+Math.imul(B,G)|0,o=o+Math.imul(B,V)|0,n=n+Math.imul(x,X)|0,r=(r=r+Math.imul(x,Z)|0)+Math.imul(k,X)|0,o=o+Math.imul(k,Z)|0,n=n+Math.imul(y,$)|0,r=(r=r+Math.imul(y,tt)|0)+Math.imul(w,$)|0,o=o+Math.imul(w,tt)|0,n=n+Math.imul(m,it)|0,r=(r=r+Math.imul(m,nt)|0)+Math.imul(v,it)|0,o=o+Math.imul(v,nt)|0,n=n+Math.imul(p,ot)|0,r=(r=r+Math.imul(p,st)|0)+Math.imul(g,ot)|0,o=o+Math.imul(g,st)|0;var xt=(c+(n=n+Math.imul(l,ut)|0)|0)+((8191&(r=(r=r+Math.imul(l,ct)|0)+Math.imul(d,ut)|0))<<13)|0;c=((o=o+Math.imul(d,ct)|0)+(r>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(R,U),r=(r=Math.imul(R,q))+Math.imul(z,U)|0,o=Math.imul(z,q),n=n+Math.imul(T,W)|0,r=(r=r+Math.imul(T,Y)|0)+Math.imul(O,W)|0,o=o+Math.imul(O,Y)|0,n=n+Math.imul(I,G)|0,r=(r=r+Math.imul(I,V)|0)+Math.imul(S,G)|0,o=o+Math.imul(S,V)|0,n=n+Math.imul(M,X)|0,r=(r=r+Math.imul(M,Z)|0)+Math.imul(B,X)|0,o=o+Math.imul(B,Z)|0,n=n+Math.imul(x,$)|0,r=(r=r+Math.imul(x,tt)|0)+Math.imul(k,$)|0,o=o+Math.imul(k,tt)|0,n=n+Math.imul(y,it)|0,r=(r=r+Math.imul(y,nt)|0)+Math.imul(w,it)|0,o=o+Math.imul(w,nt)|0,n=n+Math.imul(m,ot)|0,r=(r=r+Math.imul(m,st)|0)+Math.imul(v,ot)|0,o=o+Math.imul(v,st)|0,n=n+Math.imul(p,ut)|0,r=(r=r+Math.imul(p,ct)|0)+Math.imul(g,ut)|0,o=o+Math.imul(g,ct)|0;var kt=(c+(n=n+Math.imul(l,lt)|0)|0)+((8191&(r=(r=r+Math.imul(l,dt)|0)+Math.imul(d,lt)|0))<<13)|0;c=((o=o+Math.imul(d,dt)|0)+(r>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(H,U),r=(r=Math.imul(H,q))+Math.imul(j,U)|0,o=Math.imul(j,q),n=n+Math.imul(R,W)|0,r=(r=r+Math.imul(R,Y)|0)+Math.imul(z,W)|0,o=o+Math.imul(z,Y)|0,n=n+Math.imul(T,G)|0,r=(r=r+Math.imul(T,V)|0)+Math.imul(O,G)|0,o=o+Math.imul(O,V)|0,n=n+Math.imul(I,X)|0,r=(r=r+Math.imul(I,Z)|0)+Math.imul(S,X)|0,o=o+Math.imul(S,Z)|0,n=n+Math.imul(M,$)|0,r=(r=r+Math.imul(M,tt)|0)+Math.imul(B,$)|0,o=o+Math.imul(B,tt)|0,n=n+Math.imul(x,it)|0,r=(r=r+Math.imul(x,nt)|0)+Math.imul(k,it)|0,o=o+Math.imul(k,nt)|0,n=n+Math.imul(y,ot)|0,r=(r=r+Math.imul(y,st)|0)+Math.imul(w,ot)|0,o=o+Math.imul(w,st)|0,n=n+Math.imul(m,ut)|0,r=(r=r+Math.imul(m,ct)|0)+Math.imul(v,ut)|0,o=o+Math.imul(v,ct)|0,n=n+Math.imul(p,lt)|0,r=(r=r+Math.imul(p,dt)|0)+Math.imul(g,lt)|0,o=o+Math.imul(g,dt)|0;var _t=(c+(n=n+Math.imul(l,pt)|0)|0)+((8191&(r=(r=r+Math.imul(l,gt)|0)+Math.imul(d,pt)|0))<<13)|0;c=((o=o+Math.imul(d,gt)|0)+(r>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(H,W),r=(r=Math.imul(H,Y))+Math.imul(j,W)|0,o=Math.imul(j,Y),n=n+Math.imul(R,G)|0,r=(r=r+Math.imul(R,V)|0)+Math.imul(z,G)|0,o=o+Math.imul(z,V)|0,n=n+Math.imul(T,X)|0,r=(r=r+Math.imul(T,Z)|0)+Math.imul(O,X)|0,o=o+Math.imul(O,Z)|0,n=n+Math.imul(I,$)|0,r=(r=r+Math.imul(I,tt)|0)+Math.imul(S,$)|0,o=o+Math.imul(S,tt)|0,n=n+Math.imul(M,it)|0,r=(r=r+Math.imul(M,nt)|0)+Math.imul(B,it)|0,o=o+Math.imul(B,nt)|0,n=n+Math.imul(x,ot)|0,r=(r=r+Math.imul(x,st)|0)+Math.imul(k,ot)|0,o=o+Math.imul(k,st)|0,n=n+Math.imul(y,ut)|0,r=(r=r+Math.imul(y,ct)|0)+Math.imul(w,ut)|0,o=o+Math.imul(w,ct)|0,n=n+Math.imul(m,lt)|0,r=(r=r+Math.imul(m,dt)|0)+Math.imul(v,lt)|0,o=o+Math.imul(v,dt)|0;var Mt=(c+(n=n+Math.imul(p,pt)|0)|0)+((8191&(r=(r=r+Math.imul(p,gt)|0)+Math.imul(g,pt)|0))<<13)|0;c=((o=o+Math.imul(g,gt)|0)+(r>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(H,G),r=(r=Math.imul(H,V))+Math.imul(j,G)|0,o=Math.imul(j,V),n=n+Math.imul(R,X)|0,r=(r=r+Math.imul(R,Z)|0)+Math.imul(z,X)|0,o=o+Math.imul(z,Z)|0,n=n+Math.imul(T,$)|0,r=(r=r+Math.imul(T,tt)|0)+Math.imul(O,$)|0,o=o+Math.imul(O,tt)|0,n=n+Math.imul(I,it)|0,r=(r=r+Math.imul(I,nt)|0)+Math.imul(S,it)|0,o=o+Math.imul(S,nt)|0,n=n+Math.imul(M,ot)|0,r=(r=r+Math.imul(M,st)|0)+Math.imul(B,ot)|0,o=o+Math.imul(B,st)|0,n=n+Math.imul(x,ut)|0,r=(r=r+Math.imul(x,ct)|0)+Math.imul(k,ut)|0,o=o+Math.imul(k,ct)|0,n=n+Math.imul(y,lt)|0,r=(r=r+Math.imul(y,dt)|0)+Math.imul(w,lt)|0,o=o+Math.imul(w,dt)|0;var Bt=(c+(n=n+Math.imul(m,pt)|0)|0)+((8191&(r=(r=r+Math.imul(m,gt)|0)+Math.imul(v,pt)|0))<<13)|0;c=((o=o+Math.imul(v,gt)|0)+(r>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,n=Math.imul(H,X),r=(r=Math.imul(H,Z))+Math.imul(j,X)|0,o=Math.imul(j,Z),n=n+Math.imul(R,$)|0,r=(r=r+Math.imul(R,tt)|0)+Math.imul(z,$)|0,o=o+Math.imul(z,tt)|0,n=n+Math.imul(T,it)|0,r=(r=r+Math.imul(T,nt)|0)+Math.imul(O,it)|0,o=o+Math.imul(O,nt)|0,n=n+Math.imul(I,ot)|0,r=(r=r+Math.imul(I,st)|0)+Math.imul(S,ot)|0,o=o+Math.imul(S,st)|0,n=n+Math.imul(M,ut)|0,r=(r=r+Math.imul(M,ct)|0)+Math.imul(B,ut)|0,o=o+Math.imul(B,ct)|0,n=n+Math.imul(x,lt)|0,r=(r=r+Math.imul(x,dt)|0)+Math.imul(k,lt)|0,o=o+Math.imul(k,dt)|0;var Et=(c+(n=n+Math.imul(y,pt)|0)|0)+((8191&(r=(r=r+Math.imul(y,gt)|0)+Math.imul(w,pt)|0))<<13)|0;c=((o=o+Math.imul(w,gt)|0)+(r>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(H,$),r=(r=Math.imul(H,tt))+Math.imul(j,$)|0,o=Math.imul(j,tt),n=n+Math.imul(R,it)|0,r=(r=r+Math.imul(R,nt)|0)+Math.imul(z,it)|0,o=o+Math.imul(z,nt)|0,n=n+Math.imul(T,ot)|0,r=(r=r+Math.imul(T,st)|0)+Math.imul(O,ot)|0,o=o+Math.imul(O,st)|0,n=n+Math.imul(I,ut)|0,r=(r=r+Math.imul(I,ct)|0)+Math.imul(S,ut)|0,o=o+Math.imul(S,ct)|0,n=n+Math.imul(M,lt)|0,r=(r=r+Math.imul(M,dt)|0)+Math.imul(B,lt)|0,o=o+Math.imul(B,dt)|0;var It=(c+(n=n+Math.imul(x,pt)|0)|0)+((8191&(r=(r=r+Math.imul(x,gt)|0)+Math.imul(k,pt)|0))<<13)|0;c=((o=o+Math.imul(k,gt)|0)+(r>>>13)|0)+(It>>>26)|0,It&=67108863,n=Math.imul(H,it),r=(r=Math.imul(H,nt))+Math.imul(j,it)|0,o=Math.imul(j,nt),n=n+Math.imul(R,ot)|0,r=(r=r+Math.imul(R,st)|0)+Math.imul(z,ot)|0,o=o+Math.imul(z,st)|0,n=n+Math.imul(T,ut)|0,r=(r=r+Math.imul(T,ct)|0)+Math.imul(O,ut)|0,o=o+Math.imul(O,ct)|0,n=n+Math.imul(I,lt)|0,r=(r=r+Math.imul(I,dt)|0)+Math.imul(S,lt)|0,o=o+Math.imul(S,dt)|0;var St=(c+(n=n+Math.imul(M,pt)|0)|0)+((8191&(r=(r=r+Math.imul(M,gt)|0)+Math.imul(B,pt)|0))<<13)|0;c=((o=o+Math.imul(B,gt)|0)+(r>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(H,ot),r=(r=Math.imul(H,st))+Math.imul(j,ot)|0,o=Math.imul(j,st),n=n+Math.imul(R,ut)|0,r=(r=r+Math.imul(R,ct)|0)+Math.imul(z,ut)|0,o=o+Math.imul(z,ct)|0,n=n+Math.imul(T,lt)|0,r=(r=r+Math.imul(T,dt)|0)+Math.imul(O,lt)|0,o=o+Math.imul(O,dt)|0;var Dt=(c+(n=n+Math.imul(I,pt)|0)|0)+((8191&(r=(r=r+Math.imul(I,gt)|0)+Math.imul(S,pt)|0))<<13)|0;c=((o=o+Math.imul(S,gt)|0)+(r>>>13)|0)+(Dt>>>26)|0,Dt&=67108863,n=Math.imul(H,ut),r=(r=Math.imul(H,ct))+Math.imul(j,ut)|0,o=Math.imul(j,ct),n=n+Math.imul(R,lt)|0,r=(r=r+Math.imul(R,dt)|0)+Math.imul(z,lt)|0,o=o+Math.imul(z,dt)|0;var Tt=(c+(n=n+Math.imul(T,pt)|0)|0)+((8191&(r=(r=r+Math.imul(T,gt)|0)+Math.imul(O,pt)|0))<<13)|0;c=((o=o+Math.imul(O,gt)|0)+(r>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(H,lt),r=(r=Math.imul(H,dt))+Math.imul(j,lt)|0,o=Math.imul(j,dt);var Ot=(c+(n=n+Math.imul(R,pt)|0)|0)+((8191&(r=(r=r+Math.imul(R,gt)|0)+Math.imul(z,pt)|0))<<13)|0;c=((o=o+Math.imul(z,gt)|0)+(r>>>13)|0)+(Ot>>>26)|0,Ot&=67108863;var Pt=(c+(n=Math.imul(H,pt))|0)+((8191&(r=(r=Math.imul(H,gt))+Math.imul(j,pt)|0))<<13)|0;return c=((o=Math.imul(j,gt))+(r>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,u[0]=At,u[1]=mt,u[2]=vt,u[3]=bt,u[4]=yt,u[5]=wt,u[6]=Ct,u[7]=xt,u[8]=kt,u[9]=_t,u[10]=Mt,u[11]=Bt,u[12]=Et,u[13]=It,u[14]=St,u[15]=Dt,u[16]=Tt,u[17]=Ot,u[18]=Pt,0!==c&&(u[19]=c,i.length++),i};function g(t,e,i){return(new A).mulp(t,e,i)}function A(t,e){this.x=t,this.y=e}Math.imul||(p=f),o.prototype.mulTo=function(t,e){var i,n=this.length+t.length;return i=10===this.length&&10===t.length?p(this,t,e):n<63?f(this,t,e):n<1024?function(t,e,i){i.negative=e.negative^t.negative,i.length=t.length+e.length;for(var n=0,r=0,o=0;o>>26)|0)>>>26,s&=67108863}i.words[o]=a,n=s,s=r}return 0!==n?i.words[o]=n:i.length--,i.strip()}(this,t,e):g(this,t,e),i},A.prototype.makeRBT=function(t){for(var e=new Array(t),i=o.prototype._countBits(t)-1,n=0;n>=1;return n},A.prototype.permute=function(t,e,i,n,r,o){for(var s=0;s>>=1)r++;return 1<>>=13,i[2*s+1]=8191&o,o>>>=13;for(s=2*e;s>=26,e+=r/67108864|0,e+=o>>>26,this.words[i]=67108863&o}return 0!==e&&(this.words[i]=e,this.length++),this.length=0===t?1:this.length,this},o.prototype.muln=function(t){return this.clone().imuln(t)},o.prototype.sqr=function(){return this.mul(this)},o.prototype.isqr=function(){return this.imul(this.clone())},o.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),i=0;i>>r}return e}(t);if(0===e.length)return new o(1);for(var i=this,n=0;n=0);var e,i=t%26,r=(t-i)/26,o=67108863>>>26-i<<26-i;if(0!==i){var s=0;for(e=0;e>>26-i}s&&(this.words[e]=s,this.length++)}if(0!==r){for(e=this.length-1;e>=0;e--)this.words[e+r]=this.words[e];for(e=0;e=0),r=e?(e-e%26)/26:0;var o=t%26,s=Math.min((t-o)/26,this.length),a=67108863^67108863>>>o<s)for(this.length-=s,c=0;c=0&&(0!==h||c>=r);c--){var l=0|this.words[c];this.words[c]=h<<26-o|l>>>o,h=l&a}return u&&0!==h&&(u.words[u.length++]=h),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},o.prototype.ishrn=function(t,e,i){return n(0===this.negative),this.iushrn(t,e,i)},o.prototype.shln=function(t){return this.clone().ishln(t)},o.prototype.ushln=function(t){return this.clone().iushln(t)},o.prototype.shrn=function(t){return this.clone().ishrn(t)},o.prototype.ushrn=function(t){return this.clone().iushrn(t)},o.prototype.testn=function(t){n("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26,r=1<=0);var e=t%26,i=(t-e)/26;if(n(0===this.negative,"imaskn works only with positive numbers"),this.length<=i)return this;if(0!==e&&i++,this.length=Math.min(i,this.length),0!==e){var r=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},o.prototype.isubn=function(t){if(n("number"==typeof t),n(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(u/67108864|0),this.words[r+i]=67108863&o}for(;r>26,this.words[r+i]=67108863&o;if(0===a)return this.strip();for(n(-1===a),a=0,r=0;r>26,this.words[r]=67108863&o;return this.negative=1,this.strip()},o.prototype._wordDiv=function(t,e){var i=(this.length,t.length),n=this.clone(),r=t,s=0|r.words[r.length-1];0!=(i=26-this._countBits(s))&&(r=r.ushln(i),n.iushln(i),s=0|r.words[r.length-1]);var a,u=n.length-r.length;if("mod"!==e){(a=new o(null)).length=u+1,a.words=new Array(a.length);for(var c=0;c=0;l--){var d=67108864*(0|n.words[r.length+l])+(0|n.words[r.length+l-1]);for(d=Math.min(d/s|0,67108863),n._ishlnsubmul(r,d,l);0!==n.negative;)d--,n.negative=0,n._ishlnsubmul(r,1,l),n.isZero()||(n.negative^=1);a&&(a.words[l]=d)}return a&&a.strip(),n.strip(),"div"!==e&&0!==i&&n.iushrn(i),{div:a||null,mod:n}},o.prototype.divmod=function(t,e,i){return n(!t.isZero()),this.isZero()?{div:new o(0),mod:new o(0)}:0!==this.negative&&0===t.negative?(a=this.neg().divmod(t,e),"mod"!==e&&(r=a.div.neg()),"div"!==e&&(s=a.mod.neg(),i&&0!==s.negative&&s.iadd(t)),{div:r,mod:s}):0===this.negative&&0!==t.negative?(a=this.divmod(t.neg(),e),"mod"!==e&&(r=a.div.neg()),{div:r,mod:a.mod}):0!==(this.negative&t.negative)?(a=this.neg().divmod(t.neg(),e),"div"!==e&&(s=a.mod.neg(),i&&0!==s.negative&&s.isub(t)),{div:a.div,mod:s}):t.length>this.length||this.cmp(t)<0?{div:new o(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new o(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new o(this.modn(t.words[0]))}:this._wordDiv(t,e);var r,s,a},o.prototype.div=function(t){return this.divmod(t,"div",!1).div},o.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},o.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},o.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var i=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),r=t.andln(1),o=i.cmp(n);return o<0||1===r&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},o.prototype.modn=function(t){n(t<=67108863);for(var e=(1<<26)%t,i=0,r=this.length-1;r>=0;r--)i=(e*i+(0|this.words[r]))%t;return i},o.prototype.idivn=function(t){n(t<=67108863);for(var e=0,i=this.length-1;i>=0;i--){var r=(0|this.words[i])+67108864*e;this.words[i]=r/t|0,e=r%t}return this.strip()},o.prototype.divn=function(t){return this.clone().idivn(t)},o.prototype.egcd=function(t){n(0===t.negative),n(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var r=new o(1),s=new o(0),a=new o(0),u=new o(1),c=0;e.isEven()&&i.isEven();)e.iushrn(1),i.iushrn(1),++c;for(var h=i.clone(),l=e.clone();!e.isZero();){for(var d=0,f=1;0===(e.words[0]&f)&&d<26;++d,f<<=1);if(d>0)for(e.iushrn(d);d-- >0;)(r.isOdd()||s.isOdd())&&(r.iadd(h),s.isub(l)),r.iushrn(1),s.iushrn(1);for(var p=0,g=1;0===(i.words[0]&g)&&p<26;++p,g<<=1);if(p>0)for(i.iushrn(p);p-- >0;)(a.isOdd()||u.isOdd())&&(a.iadd(h),u.isub(l)),a.iushrn(1),u.iushrn(1);e.cmp(i)>=0?(e.isub(i),r.isub(a),s.isub(u)):(i.isub(e),a.isub(r),u.isub(s))}return{a,b:u,gcd:i.iushln(c)}},o.prototype._invmp=function(t){n(0===t.negative),n(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var r,s=new o(1),a=new o(0),u=i.clone();e.cmpn(1)>0&&i.cmpn(1)>0;){for(var c=0,h=1;0===(e.words[0]&h)&&c<26;++c,h<<=1);if(c>0)for(e.iushrn(c);c-- >0;)s.isOdd()&&s.iadd(u),s.iushrn(1);for(var l=0,d=1;0===(i.words[0]&d)&&l<26;++l,d<<=1);if(l>0)for(i.iushrn(l);l-- >0;)a.isOdd()&&a.iadd(u),a.iushrn(1);e.cmp(i)>=0?(e.isub(i),s.isub(a)):(i.isub(e),a.isub(s))}return(r=0===e.cmpn(1)?s:a).cmpn(0)<0&&r.iadd(t),r},o.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),i=t.clone();e.negative=0,i.negative=0;for(var n=0;e.isEven()&&i.isEven();n++)e.iushrn(1),i.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;i.isEven();)i.iushrn(1);var r=e.cmp(i);if(r<0){var o=e;e=i,i=o}else if(0===r||0===i.cmpn(1))break;e.isub(i)}return i.iushln(n)},o.prototype.invm=function(t){return this.egcd(t).a.umod(t)},o.prototype.isEven=function(){return!(1&this.words[0])},o.prototype.isOdd=function(){return!(1&~this.words[0])},o.prototype.andln=function(t){return this.words[0]&t},o.prototype.bincn=function(t){n("number"==typeof t);var e=t%26,i=(t-e)/26,r=1<>>26,a&=67108863,this.words[s]=a}return 0!==o&&(this.words[s]=o,this.length++),this},o.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},o.prototype.cmpn=function(t){var e,i=t<0;if(0!==this.negative&&!i)return-1;if(0===this.negative&&i)return 1;if(this.strip(),this.length>1)e=1;else{i&&(t=-t),n(t<=67108863,"Number is too big");var r=0|this.words[0];e=r===t?0:rt.length)return 1;if(this.length=0;i--){var n=0|this.words[i],r=0|t.words[i];if(n!==r){nr&&(e=1);break}}return e},o.prototype.gtn=function(t){return 1===this.cmpn(t)},o.prototype.gt=function(t){return 1===this.cmp(t)},o.prototype.gten=function(t){return this.cmpn(t)>=0},o.prototype.gte=function(t){return this.cmp(t)>=0},o.prototype.ltn=function(t){return-1===this.cmpn(t)},o.prototype.lt=function(t){return-1===this.cmp(t)},o.prototype.lten=function(t){return this.cmpn(t)<=0},o.prototype.lte=function(t){return this.cmp(t)<=0},o.prototype.eqn=function(t){return 0===this.cmpn(t)},o.prototype.eq=function(t){return 0===this.cmp(t)},o.red=function(t){return new x(t)},o.prototype.toRed=function(t){return n(!this.red,"Already a number in reduction context"),n(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},o.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},o.prototype._forceRed=function(t){return this.red=t,this},o.prototype.forceRed=function(t){return n(!this.red,"Already a number in reduction context"),this._forceRed(t)},o.prototype.redAdd=function(t){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},o.prototype.redIAdd=function(t){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},o.prototype.redSub=function(t){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},o.prototype.redISub=function(t){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},o.prototype.redShl=function(t){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},o.prototype.redMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},o.prototype.redIMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},o.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},o.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},o.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},o.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},o.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},o.prototype.redPow=function(t){return n(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var m={k256:null,p224:null,p192:null,p25519:null};function v(t,e){this.name=t,this.p=new o(e,16),this.n=this.p.bitLength(),this.k=new o(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function b(){v.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function y(){v.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function w(){v.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function C(){v.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function x(t){if("string"==typeof t){var e=o._prime(t);this.m=e.p,this.prime=e}else n(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function k(t){x.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new o(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}v.prototype._tmp=function(){var t=new o(null);return t.words=new Array(Math.ceil(this.n/13)),t},v.prototype.ireduce=function(t){var e,i=t;do{this.split(i,this.tmp),e=(i=(i=this.imulK(i)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e0?i.isub(this.p):void 0!==i.strip?i.strip():i._strip(),i},v.prototype.split=function(t,e){t.iushrn(this.n,0,e)},v.prototype.imulK=function(t){return t.imul(this.k)},r(b,v),b.prototype.split=function(t,e){for(var i=4194303,n=Math.min(t.length,9),r=0;r>>22,o=s}o>>>=22,t.words[r-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},b.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,i=0;i>>=26,t.words[i]=r,e=n}return 0!==e&&(t.words[t.length++]=e),t},o._prime=function(t){if(m[t])return m[t];var e;if("k256"===t)e=new b;else if("p224"===t)e=new y;else if("p192"===t)e=new w;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new C}return m[t]=e,e},x.prototype._verify1=function(t){n(0===t.negative,"red works only with positives"),n(t.red,"red works only with red numbers")},x.prototype._verify2=function(t,e){n(0===(t.negative|e.negative),"red works only with positives"),n(t.red&&t.red===e.red,"red works only with red numbers")},x.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},x.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},x.prototype.add=function(t,e){this._verify2(t,e);var i=t.add(e);return i.cmp(this.m)>=0&&i.isub(this.m),i._forceRed(this)},x.prototype.iadd=function(t,e){this._verify2(t,e);var i=t.iadd(e);return i.cmp(this.m)>=0&&i.isub(this.m),i},x.prototype.sub=function(t,e){this._verify2(t,e);var i=t.sub(e);return i.cmpn(0)<0&&i.iadd(this.m),i._forceRed(this)},x.prototype.isub=function(t,e){this._verify2(t,e);var i=t.isub(e);return i.cmpn(0)<0&&i.iadd(this.m),i},x.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},x.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},x.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},x.prototype.isqr=function(t){return this.imul(t,t.clone())},x.prototype.sqr=function(t){return this.mul(t,t)},x.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(n(e%2==1),3===e){var i=this.m.add(new o(1)).iushrn(2);return this.pow(t,i)}for(var r=this.m.subn(1),s=0;!r.isZero()&&0===r.andln(1);)s++,r.iushrn(1);n(!r.isZero());var a=new o(1).toRed(this),u=a.redNeg(),c=this.m.subn(1).iushrn(1),h=this.m.bitLength();for(h=new o(2*h*h).toRed(this);0!==this.pow(h,c).cmp(u);)h.redIAdd(u);for(var l=this.pow(h,r),d=this.pow(t,r.addn(1).iushrn(1)),f=this.pow(t,r),p=s;0!==f.cmp(a);){for(var g=f,A=0;0!==g.cmp(a);A++)g=g.redSqr();n(A=0;n--){for(var c=e.words[n],h=u-1;h>=0;h--){var l=c>>h&1;r!==i[0]&&(r=this.sqr(r)),0!==l||0!==s?(s<<=1,s|=l,(4===++a||0===n&&0===h)&&(r=this.mul(r,i[s]),a=0,s=0)):a=0}u=26}return r},x.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},x.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},o.mont=function(t){return new k(t)},r(k,x),k.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},k.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},k.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var i=t.imul(e),n=i.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),r=i.isub(n).iushrn(this.shift),o=r;return r.cmp(this.m)>=0?o=r.isub(this.m):r.cmpn(0)<0&&(o=r.iadd(this.m)),o._forceRed(this)},k.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new o(0)._forceRed(this);var i=t.mul(e),n=i.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),r=i.isub(n).iushrn(this.shift),s=r;return r.cmp(this.m)>=0?s=r.isub(this.m):r.cmpn(0)<0&&(s=r.iadd(this.m)),s._forceRed(this)},k.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(t=i.nmd(t),this)},86729(t,e,i){"use strict";var n=e;n.version=i(1636).rE,n.utils=i(47011),n.rand=i(15037),n.curve=i(894),n.curves=i(60480),n.ec=i(57447),n.eddsa=i(8650)},36677(t,e,i){"use strict";var n=i(28490),r=i(47011),o=r.getNAF,s=r.getJSF,a=r.assert;function u(t,e){this.type=t,this.p=new n(e.p,16),this.red=e.prime?n.red(e.prime):n.mont(this.p),this.zero=new n(0).toRed(this.red),this.one=new n(1).toRed(this.red),this.two=new n(2).toRed(this.red),this.n=e.n&&new n(e.n,16),this.g=e.g&&this.pointFromJSON(e.g,e.gRed),this._wnafT1=new Array(4),this._wnafT2=new Array(4),this._wnafT3=new Array(4),this._wnafT4=new Array(4),this._bitLength=this.n?this.n.bitLength():0;var i=this.n&&this.p.div(this.n);!i||i.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}function c(t,e){this.curve=t,this.type=e,this.precomputed=null}t.exports=u,u.prototype.point=function(){throw new Error("Not implemented")},u.prototype.validate=function(){throw new Error("Not implemented")},u.prototype._fixedNafMul=function(t,e){a(t.precomputed);var i=t._getDoubles(),n=o(e,1,this._bitLength),r=(1<=s;h--)u=(u<<1)+n[h];c.push(u)}for(var l=this.jpoint(null,null,null),d=this.jpoint(null,null,null),f=r;f>0;f--){for(s=0;s=0;c--){for(var h=0;c>=0&&0===s[c];c--)h++;if(c>=0&&h++,u=u.dblp(h),c<0)break;var l=s[c];a(0!==l),u="affine"===t.type?l>0?u.mixedAdd(r[l-1>>1]):u.mixedAdd(r[-l-1>>1].neg()):l>0?u.add(r[l-1>>1]):u.add(r[-l-1>>1].neg())}return"affine"===t.type?u.toP():u},u.prototype._wnafMulAdd=function(t,e,i,n,r){var a,u,c,h=this._wnafT1,l=this._wnafT2,d=this._wnafT3,f=0;for(a=0;a=1;a-=2){var g=a-1,A=a;if(1===h[g]&&1===h[A]){var m=[e[g],null,null,e[A]];0===e[g].y.cmp(e[A].y)?(m[1]=e[g].add(e[A]),m[2]=e[g].toJ().mixedAdd(e[A].neg())):0===e[g].y.cmp(e[A].y.redNeg())?(m[1]=e[g].toJ().mixedAdd(e[A]),m[2]=e[g].add(e[A].neg())):(m[1]=e[g].toJ().mixedAdd(e[A]),m[2]=e[g].toJ().mixedAdd(e[A].neg()));var v=[-3,-1,-5,-7,0,7,5,1,3],b=s(i[g],i[A]);for(f=Math.max(b[0].length,f),d[g]=new Array(f),d[A]=new Array(f),u=0;u=0;a--){for(var k=0;a>=0;){var _=!0;for(u=0;u=0&&k++,C=C.dblp(k),a<0)break;for(u=0;u0?c=l[u][M-1>>1]:M<0&&(c=l[u][-M-1>>1].neg()),C="affine"===c.type?C.mixedAdd(c):C.add(c))}}for(a=0;a=Math.ceil((t.bitLength()+1)/e.step)},c.prototype._getDoubles=function(t,e){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var i=[this],n=this,r=0;r":""},c.prototype.isInfinity=function(){return 0===this.x.cmpn(0)&&(0===this.y.cmp(this.z)||this.zOne&&0===this.y.cmp(this.curve.c))},c.prototype._extDbl=function(){var t=this.x.redSqr(),e=this.y.redSqr(),i=this.z.redSqr();i=i.redIAdd(i);var n=this.curve._mulA(t),r=this.x.redAdd(this.y).redSqr().redISub(t).redISub(e),o=n.redAdd(e),s=o.redSub(i),a=n.redSub(e),u=r.redMul(s),c=o.redMul(a),h=r.redMul(a),l=s.redMul(o);return this.curve.point(u,c,l,h)},c.prototype._projDbl=function(){var t,e,i,n,r,o,s=this.x.redAdd(this.y).redSqr(),a=this.x.redSqr(),u=this.y.redSqr();if(this.curve.twisted){var c=(n=this.curve._mulA(a)).redAdd(u);this.zOne?(t=s.redSub(a).redSub(u).redMul(c.redSub(this.curve.two)),e=c.redMul(n.redSub(u)),i=c.redSqr().redSub(c).redSub(c)):(r=this.z.redSqr(),o=c.redSub(r).redISub(r),t=s.redSub(a).redISub(u).redMul(o),e=c.redMul(n.redSub(u)),i=c.redMul(o))}else n=a.redAdd(u),r=this.curve._mulC(this.z).redSqr(),o=n.redSub(r).redSub(r),t=this.curve._mulC(s.redISub(n)).redMul(o),e=this.curve._mulC(n).redMul(a.redISub(u)),i=n.redMul(o);return this.curve.point(t,e,i)},c.prototype.dbl=function(){return this.isInfinity()?this:this.curve.extended?this._extDbl():this._projDbl()},c.prototype._extAdd=function(t){var e=this.y.redSub(this.x).redMul(t.y.redSub(t.x)),i=this.y.redAdd(this.x).redMul(t.y.redAdd(t.x)),n=this.t.redMul(this.curve.dd).redMul(t.t),r=this.z.redMul(t.z.redAdd(t.z)),o=i.redSub(e),s=r.redSub(n),a=r.redAdd(n),u=i.redAdd(e),c=o.redMul(s),h=a.redMul(u),l=o.redMul(u),d=s.redMul(a);return this.curve.point(c,h,d,l)},c.prototype._projAdd=function(t){var e,i,n=this.z.redMul(t.z),r=n.redSqr(),o=this.x.redMul(t.x),s=this.y.redMul(t.y),a=this.curve.d.redMul(o).redMul(s),u=r.redSub(a),c=r.redAdd(a),h=this.x.redAdd(this.y).redMul(t.x.redAdd(t.y)).redISub(o).redISub(s),l=n.redMul(u).redMul(h);return this.curve.twisted?(e=n.redMul(c).redMul(s.redSub(this.curve._mulA(o))),i=u.redMul(c)):(e=n.redMul(c).redMul(s.redSub(o)),i=this.curve._mulC(u).redMul(c)),this.curve.point(l,e,i)},c.prototype.add=function(t){return this.isInfinity()?t:t.isInfinity()?this:this.curve.extended?this._extAdd(t):this._projAdd(t)},c.prototype.mul=function(t){return this._hasDoubles(t)?this.curve._fixedNafMul(this,t):this.curve._wnafMul(this,t)},c.prototype.mulAdd=function(t,e,i){return this.curve._wnafMulAdd(1,[this,e],[t,i],2,!1)},c.prototype.jmulAdd=function(t,e,i){return this.curve._wnafMulAdd(1,[this,e],[t,i],2,!0)},c.prototype.normalize=function(){if(this.zOne)return this;var t=this.z.redInvm();return this.x=this.x.redMul(t),this.y=this.y.redMul(t),this.t&&(this.t=this.t.redMul(t)),this.z=this.curve.one,this.zOne=!0,this},c.prototype.neg=function(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())},c.prototype.getX=function(){return this.normalize(),this.x.fromRed()},c.prototype.getY=function(){return this.normalize(),this.y.fromRed()},c.prototype.eq=function(t){return this===t||0===this.getX().cmp(t.getX())&&0===this.getY().cmp(t.getY())},c.prototype.eqXToP=function(t){var e=t.toRed(this.curve.red).redMul(this.z);if(0===this.x.cmp(e))return!0;for(var i=t.clone(),n=this.curve.redN.redMul(this.z);;){if(i.iadd(this.curve.n),i.cmp(this.curve.p)>=0)return!1;if(e.redIAdd(n),0===this.x.cmp(e))return!0}},c.prototype.toP=c.prototype.normalize,c.prototype.mixedAdd=c.prototype.add},894(t,e,i){"use strict";var n=e;n.base=i(36677),n.short=i(39188),n.mont=i(30370),n.edwards=i(31298)},30370(t,e,i){"use strict";var n=i(28490),r=i(56698),o=i(36677),s=i(47011);function a(t){o.call(this,"mont",t),this.a=new n(t.a,16).toRed(this.red),this.b=new n(t.b,16).toRed(this.red),this.i4=new n(4).toRed(this.red).redInvm(),this.two=new n(2).toRed(this.red),this.a24=this.i4.redMul(this.a.redAdd(this.two))}function u(t,e,i){o.BasePoint.call(this,t,"projective"),null===e&&null===i?(this.x=this.curve.one,this.z=this.curve.zero):(this.x=new n(e,16),this.z=new n(i,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)))}r(a,o),t.exports=a,a.prototype.validate=function(t){var e=t.normalize().x,i=e.redSqr(),n=i.redMul(e).redAdd(i.redMul(this.a)).redAdd(e);return 0===n.redSqrt().redSqr().cmp(n)},r(u,o.BasePoint),a.prototype.decodePoint=function(t,e){return this.point(s.toArray(t,e),1)},a.prototype.point=function(t,e){return new u(this,t,e)},a.prototype.pointFromJSON=function(t){return u.fromJSON(this,t)},u.prototype.precompute=function(){},u.prototype._encode=function(){return this.getX().toArray("be",this.curve.p.byteLength())},u.fromJSON=function(t,e){return new u(t,e[0],e[1]||t.one)},u.prototype.inspect=function(){return this.isInfinity()?"":""},u.prototype.isInfinity=function(){return 0===this.z.cmpn(0)},u.prototype.dbl=function(){var t=this.x.redAdd(this.z).redSqr(),e=this.x.redSub(this.z).redSqr(),i=t.redSub(e),n=t.redMul(e),r=i.redMul(e.redAdd(this.curve.a24.redMul(i)));return this.curve.point(n,r)},u.prototype.add=function(){throw new Error("Not supported on Montgomery curve")},u.prototype.diffAdd=function(t,e){var i=this.x.redAdd(this.z),n=this.x.redSub(this.z),r=t.x.redAdd(t.z),o=t.x.redSub(t.z).redMul(i),s=r.redMul(n),a=e.z.redMul(o.redAdd(s).redSqr()),u=e.x.redMul(o.redISub(s).redSqr());return this.curve.point(a,u)},u.prototype.mul=function(t){for(var e=t.clone(),i=this,n=this.curve.point(null,null),r=[];0!==e.cmpn(0);e.iushrn(1))r.push(e.andln(1));for(var o=r.length-1;o>=0;o--)0===r[o]?(i=i.diffAdd(n,this),n=n.dbl()):(n=i.diffAdd(n,this),i=i.dbl());return n},u.prototype.mulAdd=function(){throw new Error("Not supported on Montgomery curve")},u.prototype.jumlAdd=function(){throw new Error("Not supported on Montgomery curve")},u.prototype.eq=function(t){return 0===this.getX().cmp(t.getX())},u.prototype.normalize=function(){return this.x=this.x.redMul(this.z.redInvm()),this.z=this.curve.one,this},u.prototype.getX=function(){return this.normalize(),this.x.fromRed()}},39188(t,e,i){"use strict";var n=i(47011),r=i(28490),o=i(56698),s=i(36677),a=n.assert;function u(t){s.call(this,"short",t),this.a=new r(t.a,16).toRed(this.red),this.b=new r(t.b,16).toRed(this.red),this.tinv=this.two.redInvm(),this.zeroA=0===this.a.fromRed().cmpn(0),this.threeA=0===this.a.fromRed().sub(this.p).cmpn(-3),this.endo=this._getEndomorphism(t),this._endoWnafT1=new Array(4),this._endoWnafT2=new Array(4)}function c(t,e,i,n){s.BasePoint.call(this,t,"affine"),null===e&&null===i?(this.x=null,this.y=null,this.inf=!0):(this.x=new r(e,16),this.y=new r(i,16),n&&(this.x.forceRed(this.curve.red),this.y.forceRed(this.curve.red)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.inf=!1)}function h(t,e,i,n){s.BasePoint.call(this,t,"jacobian"),null===e&&null===i&&null===n?(this.x=this.curve.one,this.y=this.curve.one,this.z=new r(0)):(this.x=new r(e,16),this.y=new r(i,16),this.z=new r(n,16)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.zOne=this.z===this.curve.one}o(u,s),t.exports=u,u.prototype._getEndomorphism=function(t){if(this.zeroA&&this.g&&this.n&&1===this.p.modn(3)){var e,i;if(t.beta)e=new r(t.beta,16).toRed(this.red);else{var n=this._getEndoRoots(this.p);e=(e=n[0].cmp(n[1])<0?n[0]:n[1]).toRed(this.red)}if(t.lambda)i=new r(t.lambda,16);else{var o=this._getEndoRoots(this.n);0===this.g.mul(o[0]).x.cmp(this.g.x.redMul(e))?i=o[0]:(i=o[1],a(0===this.g.mul(i).x.cmp(this.g.x.redMul(e))))}return{beta:e,lambda:i,basis:t.basis?t.basis.map(function(t){return{a:new r(t.a,16),b:new r(t.b,16)}}):this._getEndoBasis(i)}}},u.prototype._getEndoRoots=function(t){var e=t===this.p?this.red:r.mont(t),i=new r(2).toRed(e).redInvm(),n=i.redNeg(),o=new r(3).toRed(e).redNeg().redSqrt().redMul(i);return[n.redAdd(o).fromRed(),n.redSub(o).fromRed()]},u.prototype._getEndoBasis=function(t){for(var e,i,n,o,s,a,u,c,h,l=this.n.ushrn(Math.floor(this.n.bitLength()/2)),d=t,f=this.n.clone(),p=new r(1),g=new r(0),A=new r(0),m=new r(1),v=0;0!==d.cmpn(0);){var b=f.div(d);c=f.sub(b.mul(d)),h=A.sub(b.mul(p));var y=m.sub(b.mul(g));if(!n&&c.cmp(l)<0)e=u.neg(),i=p,n=c.neg(),o=h;else if(n&&2===++v)break;u=c,f=d,d=c,A=p,p=h,m=g,g=y}s=c.neg(),a=h;var w=n.sqr().add(o.sqr());return s.sqr().add(a.sqr()).cmp(w)>=0&&(s=e,a=i),n.negative&&(n=n.neg(),o=o.neg()),s.negative&&(s=s.neg(),a=a.neg()),[{a:n,b:o},{a:s,b:a}]},u.prototype._endoSplit=function(t){var e=this.endo.basis,i=e[0],n=e[1],r=n.b.mul(t).divRound(this.n),o=i.b.neg().mul(t).divRound(this.n),s=r.mul(i.a),a=o.mul(n.a),u=r.mul(i.b),c=o.mul(n.b);return{k1:t.sub(s).sub(a),k2:u.add(c).neg()}},u.prototype.pointFromX=function(t,e){(t=new r(t,16)).red||(t=t.toRed(this.red));var i=t.redSqr().redMul(t).redIAdd(t.redMul(this.a)).redIAdd(this.b),n=i.redSqrt();if(0!==n.redSqr().redSub(i).cmp(this.zero))throw new Error("invalid point");var o=n.fromRed().isOdd();return(e&&!o||!e&&o)&&(n=n.redNeg()),this.point(t,n)},u.prototype.validate=function(t){if(t.inf)return!0;var e=t.x,i=t.y,n=this.a.redMul(e),r=e.redSqr().redMul(e).redIAdd(n).redIAdd(this.b);return 0===i.redSqr().redISub(r).cmpn(0)},u.prototype._endoWnafMulAdd=function(t,e,i){for(var n=this._endoWnafT1,r=this._endoWnafT2,o=0;o":""},c.prototype.isInfinity=function(){return this.inf},c.prototype.add=function(t){if(this.inf)return t;if(t.inf)return this;if(this.eq(t))return this.dbl();if(this.neg().eq(t))return this.curve.point(null,null);if(0===this.x.cmp(t.x))return this.curve.point(null,null);var e=this.y.redSub(t.y);0!==e.cmpn(0)&&(e=e.redMul(this.x.redSub(t.x).redInvm()));var i=e.redSqr().redISub(this.x).redISub(t.x),n=e.redMul(this.x.redSub(i)).redISub(this.y);return this.curve.point(i,n)},c.prototype.dbl=function(){if(this.inf)return this;var t=this.y.redAdd(this.y);if(0===t.cmpn(0))return this.curve.point(null,null);var e=this.curve.a,i=this.x.redSqr(),n=t.redInvm(),r=i.redAdd(i).redIAdd(i).redIAdd(e).redMul(n),o=r.redSqr().redISub(this.x.redAdd(this.x)),s=r.redMul(this.x.redSub(o)).redISub(this.y);return this.curve.point(o,s)},c.prototype.getX=function(){return this.x.fromRed()},c.prototype.getY=function(){return this.y.fromRed()},c.prototype.mul=function(t){return t=new r(t,16),this.isInfinity()?this:this._hasDoubles(t)?this.curve._fixedNafMul(this,t):this.curve.endo?this.curve._endoWnafMulAdd([this],[t]):this.curve._wnafMul(this,t)},c.prototype.mulAdd=function(t,e,i){var n=[this,e],r=[t,i];return this.curve.endo?this.curve._endoWnafMulAdd(n,r):this.curve._wnafMulAdd(1,n,r,2)},c.prototype.jmulAdd=function(t,e,i){var n=[this,e],r=[t,i];return this.curve.endo?this.curve._endoWnafMulAdd(n,r,!0):this.curve._wnafMulAdd(1,n,r,2,!0)},c.prototype.eq=function(t){return this===t||this.inf===t.inf&&(this.inf||0===this.x.cmp(t.x)&&0===this.y.cmp(t.y))},c.prototype.neg=function(t){if(this.inf)return this;var e=this.curve.point(this.x,this.y.redNeg());if(t&&this.precomputed){var i=this.precomputed,n=function(t){return t.neg()};e.precomputed={naf:i.naf&&{wnd:i.naf.wnd,points:i.naf.points.map(n)},doubles:i.doubles&&{step:i.doubles.step,points:i.doubles.points.map(n)}}}return e},c.prototype.toJ=function(){return this.inf?this.curve.jpoint(null,null,null):this.curve.jpoint(this.x,this.y,this.curve.one)},o(h,s.BasePoint),u.prototype.jpoint=function(t,e,i){return new h(this,t,e,i)},h.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var t=this.z.redInvm(),e=t.redSqr(),i=this.x.redMul(e),n=this.y.redMul(e).redMul(t);return this.curve.point(i,n)},h.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},h.prototype.add=function(t){if(this.isInfinity())return t;if(t.isInfinity())return this;var e=t.z.redSqr(),i=this.z.redSqr(),n=this.x.redMul(e),r=t.x.redMul(i),o=this.y.redMul(e.redMul(t.z)),s=t.y.redMul(i.redMul(this.z)),a=n.redSub(r),u=o.redSub(s);if(0===a.cmpn(0))return 0!==u.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var c=a.redSqr(),h=c.redMul(a),l=n.redMul(c),d=u.redSqr().redIAdd(h).redISub(l).redISub(l),f=u.redMul(l.redISub(d)).redISub(o.redMul(h)),p=this.z.redMul(t.z).redMul(a);return this.curve.jpoint(d,f,p)},h.prototype.mixedAdd=function(t){if(this.isInfinity())return t.toJ();if(t.isInfinity())return this;var e=this.z.redSqr(),i=this.x,n=t.x.redMul(e),r=this.y,o=t.y.redMul(e).redMul(this.z),s=i.redSub(n),a=r.redSub(o);if(0===s.cmpn(0))return 0!==a.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var u=s.redSqr(),c=u.redMul(s),h=i.redMul(u),l=a.redSqr().redIAdd(c).redISub(h).redISub(h),d=a.redMul(h.redISub(l)).redISub(r.redMul(c)),f=this.z.redMul(s);return this.curve.jpoint(l,d,f)},h.prototype.dblp=function(t){if(0===t)return this;if(this.isInfinity())return this;if(!t)return this.dbl();var e;if(this.curve.zeroA||this.curve.threeA){var i=this;for(e=0;e=0)return!1;if(i.redIAdd(r),0===this.x.cmp(i))return!0}},h.prototype.inspect=function(){return this.isInfinity()?"":""},h.prototype.isInfinity=function(){return 0===this.z.cmpn(0)}},60480(t,e,i){"use strict";var n,r=e,o=i(77952),s=i(894),a=i(47011).assert;function u(t){"short"===t.type?this.curve=new s.short(t):"edwards"===t.type?this.curve=new s.edwards(t):this.curve=new s.mont(t),this.g=this.curve.g,this.n=this.curve.n,this.hash=t.hash,a(this.g.validate(),"Invalid curve"),a(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}function c(t,e){Object.defineProperty(r,t,{configurable:!0,enumerable:!0,get:function(){var i=new u(e);return Object.defineProperty(r,t,{configurable:!0,enumerable:!0,value:i}),i}})}r.PresetCurve=u,c("p192",{type:"short",prime:"p192",p:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff",a:"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc",b:"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1",n:"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831",hash:o.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),c("p224",{type:"short",prime:"p224",p:"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001",a:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe",b:"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4",n:"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d",hash:o.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),c("p256",{type:"short",prime:null,p:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff",a:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc",b:"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b",n:"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551",hash:o.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),c("p384",{type:"short",prime:null,p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff",a:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc",b:"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef",n:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973",hash:o.sha384,gRed:!1,g:["aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7","3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f"]}),c("p521",{type:"short",prime:null,p:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff",a:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc",b:"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00",n:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409",hash:o.sha512,gRed:!1,g:["000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66","00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650"]}),c("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:o.sha256,gRed:!1,g:["9"]}),c("ed25519",{type:"edwards",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"-1",c:"1",d:"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:o.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});try{n=i(74011)}catch(t){n=void 0}c("secp256k1",{type:"short",prime:"k256",p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f",a:"0",b:"7",n:"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141",h:"1",hash:o.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",n]})},57447(t,e,i){"use strict";var n=i(28490),r=i(32723),o=i(47011),s=i(60480),a=i(15037),u=o.assert,c=i(61200),h=i(28545);function l(t){if(!(this instanceof l))return new l(t);"string"==typeof t&&(u(Object.prototype.hasOwnProperty.call(s,t),"Unknown curve "+t),t=s[t]),t instanceof s.PresetCurve&&(t={curve:t}),this.curve=t.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=t.curve.g,this.g.precompute(t.curve.n.bitLength()+1),this.hash=t.hash||t.curve.hash}t.exports=l,l.prototype.keyPair=function(t){return new c(this,t)},l.prototype.keyFromPrivate=function(t,e){return c.fromPrivate(this,t,e)},l.prototype.keyFromPublic=function(t,e){return c.fromPublic(this,t,e)},l.prototype.genKeyPair=function(t){t||(t={});for(var e=new r({hash:this.hash,pers:t.pers,persEnc:t.persEnc||"utf8",entropy:t.entropy||a(this.hash.hmacStrength),entropyEnc:t.entropy&&t.entropyEnc||"utf8",nonce:this.n.toArray()}),i=this.n.byteLength(),o=this.n.sub(new n(2));;){var s=new n(e.generate(i));if(!(s.cmp(o)>0))return s.iaddn(1),this.keyFromPrivate(s)}},l.prototype._truncateToN=function(t,e,i){var r;if(n.isBN(t)||"number"==typeof t)r=(t=new n(t,16)).byteLength();else if("object"==typeof t)r=t.length,t=new n(t,16);else{var o=t.toString();r=o.length+1>>>1,t=new n(o,16)}"number"!=typeof i&&(i=8*r);var s=i-this.n.bitLength();return s>0&&(t=t.ushrn(s)),!e&&t.cmp(this.n)>=0?t.sub(this.n):t},l.prototype.sign=function(t,e,i,o){if("object"==typeof i&&(o=i,i=null),o||(o={}),"string"!=typeof t&&"number"!=typeof t&&!n.isBN(t)){u("object"==typeof t&&t&&"number"==typeof t.length,"Expected message to be an array-like, a hex string, or a BN instance"),u(t.length>>>0===t.length);for(var s=0;s=0)){var A=this.g.mul(g);if(!A.isInfinity()){var m=A.getX(),v=m.umod(this.n);if(0!==v.cmpn(0)){var b=g.invm(this.n).mul(v.mul(e.getPrivate()).iadd(t));if(0!==(b=b.umod(this.n)).cmpn(0)){var y=(A.getY().isOdd()?1:0)|(0!==m.cmp(v)?2:0);return o.canonical&&b.cmp(this.nh)>0&&(b=this.n.sub(b),y^=1),new h({r:v,s:b,recoveryParam:y})}}}}}},l.prototype.verify=function(t,e,i,n,r){r||(r={}),t=this._truncateToN(t,!1,r.msgBitLength),i=this.keyFromPublic(i,n);var o=(e=new h(e,"hex")).r,s=e.s;if(o.cmpn(1)<0||o.cmp(this.n)>=0)return!1;if(s.cmpn(1)<0||s.cmp(this.n)>=0)return!1;var a,u=s.invm(this.n),c=u.mul(t).umod(this.n),l=u.mul(o).umod(this.n);return this.curve._maxwellTrick?!(a=this.g.jmulAdd(c,i.getPublic(),l)).isInfinity()&&a.eqXToP(o):!(a=this.g.mulAdd(c,i.getPublic(),l)).isInfinity()&&0===a.getX().umod(this.n).cmp(o)},l.prototype.recoverPubKey=function(t,e,i,r){u((3&i)===i,"The recovery param is more than two bits"),e=new h(e,r);var o=this.n,s=new n(t),a=e.r,c=e.s,l=1&i,d=i>>1;if(a.cmp(this.curve.p.umod(this.curve.n))>=0&&d)throw new Error("Unable to find sencond key candinate");a=d?this.curve.pointFromX(a.add(this.curve.n),l):this.curve.pointFromX(a,l);var f=e.r.invm(o),p=o.sub(s).mul(f).umod(o),g=c.mul(f).umod(o);return this.g.mulAdd(p,a,g)},l.prototype.getKeyRecoveryParam=function(t,e,i,n){if(null!==(e=new h(e,n)).recoveryParam)return e.recoveryParam;for(var r=0;r<4;r++){var o;try{o=this.recoverPubKey(t,e,r)}catch(t){continue}if(o.eq(i))return r}throw new Error("Unable to find valid recovery factor")}},61200(t,e,i){"use strict";var n=i(28490),r=i(47011).assert;function o(t,e){this.ec=t,this.priv=null,this.pub=null,e.priv&&this._importPrivate(e.priv,e.privEnc),e.pub&&this._importPublic(e.pub,e.pubEnc)}t.exports=o,o.fromPublic=function(t,e,i){return e instanceof o?e:new o(t,{pub:e,pubEnc:i})},o.fromPrivate=function(t,e,i){return e instanceof o?e:new o(t,{priv:e,privEnc:i})},o.prototype.validate=function(){var t=this.getPublic();return t.isInfinity()?{result:!1,reason:"Invalid public key"}:t.validate()?t.mul(this.ec.curve.n).isInfinity()?{result:!0,reason:null}:{result:!1,reason:"Public key * N != O"}:{result:!1,reason:"Public key is not a point"}},o.prototype.getPublic=function(t,e){return"string"==typeof t&&(e=t,t=null),this.pub||(this.pub=this.ec.g.mul(this.priv)),e?this.pub.encode(e,t):this.pub},o.prototype.getPrivate=function(t){return"hex"===t?this.priv.toString(16,2):this.priv},o.prototype._importPrivate=function(t,e){this.priv=new n(t,e||16),this.priv=this.priv.umod(this.ec.curve.n)},o.prototype._importPublic=function(t,e){if(t.x||t.y)return"mont"===this.ec.curve.type?r(t.x,"Need x coordinate"):"short"!==this.ec.curve.type&&"edwards"!==this.ec.curve.type||r(t.x&&t.y,"Need both x and y coordinate"),void(this.pub=this.ec.curve.point(t.x,t.y));this.pub=this.ec.curve.decodePoint(t,e)},o.prototype.derive=function(t){return t.validate()||r(t.validate(),"public point not validated"),t.mul(this.priv).getX()},o.prototype.sign=function(t,e,i){return this.ec.sign(t,this,e,i)},o.prototype.verify=function(t,e,i){return this.ec.verify(t,e,this,void 0,i)},o.prototype.inspect=function(){return""}},28545(t,e,i){"use strict";var n=i(28490),r=i(47011),o=r.assert;function s(t,e){if(t instanceof s)return t;this._importDER(t,e)||(o(t.r&&t.s,"Signature without r or s"),this.r=new n(t.r,16),this.s=new n(t.s,16),void 0===t.recoveryParam?this.recoveryParam=null:this.recoveryParam=t.recoveryParam)}function a(){this.place=0}function u(t,e){var i=t[e.place++];if(!(128&i))return i;var n=15&i;if(0===n||n>4)return!1;if(0===t[e.place])return!1;for(var r=0,o=0,s=e.place;o>>=0;return!(r<=127)&&(e.place=s,r)}function c(t){for(var e=0,i=t.length-1;!t[e]&&!(128&t[e+1])&&e>>3);for(t.push(128|i);--i;)t.push(e>>>(i<<3)&255);t.push(e)}}t.exports=s,s.prototype._importDER=function(t,e){t=r.toArray(t,e);var i=new a;if(48!==t[i.place++])return!1;var o=u(t,i);if(!1===o)return!1;if(o+i.place!==t.length)return!1;if(2!==t[i.place++])return!1;var s=u(t,i);if(!1===s)return!1;if(128&t[i.place])return!1;var c=t.slice(i.place,s+i.place);if(i.place+=s,2!==t[i.place++])return!1;var h=u(t,i);if(!1===h)return!1;if(t.length!==h+i.place)return!1;if(128&t[i.place])return!1;var l=t.slice(i.place,h+i.place);if(0===c[0]){if(!(128&c[1]))return!1;c=c.slice(1)}if(0===l[0]){if(!(128&l[1]))return!1;l=l.slice(1)}return this.r=new n(c),this.s=new n(l),this.recoveryParam=null,!0},s.prototype.toDER=function(t){var e=this.r.toArray(),i=this.s.toArray();for(128&e[0]&&(e=[0].concat(e)),128&i[0]&&(i=[0].concat(i)),e=c(e),i=c(i);!(i[0]||128&i[1]);)i=i.slice(1);var n=[2];h(n,e.length),(n=n.concat(e)).push(2),h(n,i.length);var o=n.concat(i),s=[48];return h(s,o.length),s=s.concat(o),r.encode(s,t)}},8650(t,e,i){"use strict";var n=i(77952),r=i(60480),o=i(47011),s=o.assert,a=o.parseBytes,u=i(46661),c=i(90220);function h(t){if(s("ed25519"===t,"only tested with ed25519 so far"),!(this instanceof h))return new h(t);t=r[t].curve,this.curve=t,this.g=t.g,this.g.precompute(t.n.bitLength()+1),this.pointClass=t.point().constructor,this.encodingLength=Math.ceil(t.n.bitLength()/8),this.hash=n.sha512}t.exports=h,h.prototype.sign=function(t,e){t=a(t);var i=this.keyFromSecret(e),n=this.hashInt(i.messagePrefix(),t),r=this.g.mul(n),o=this.encodePoint(r),s=this.hashInt(o,i.pubBytes(),t).mul(i.priv()),u=n.add(s).umod(this.curve.n);return this.makeSignature({R:r,S:u,Rencoded:o})},h.prototype.verify=function(t,e,i){if(t=a(t),(e=this.makeSignature(e)).S().gte(e.eddsa.curve.n)||e.S().isNeg())return!1;var n=this.keyFromPublic(i),r=this.hashInt(e.Rencoded(),n.pubBytes(),t),o=this.g.mul(e.S());return e.R().add(n.pub().mul(r)).eq(o)},h.prototype.hashInt=function(){for(var t=this.hash(),e=0;e(o>>1)-1?(o>>1)-u:u,s.isubn(a)):a=0,r[n]=a,s.iushrn(1)}return r},n.getJSF=function(t,e){var i=[[],[]];t=t.clone(),e=e.clone();for(var n,r=0,o=0;t.cmpn(-r)>0||e.cmpn(-o)>0;){var s,a,u=t.andln(3)+r&3,c=e.andln(3)+o&3;3===u&&(u=-1),3===c&&(c=-1),s=1&u?3!=(n=t.andln(7)+r&7)&&5!==n||2!==c?u:-u:0,i[0].push(s),a=1&c?3!=(n=e.andln(7)+o&7)&&5!==n||2!==u?c:-c:0,i[1].push(a),2*r===s+1&&(r=1-r),2*o===a+1&&(o=1-o),t.iushrn(1),e.iushrn(1)}return i},n.cachedProperty=function(t,e,i){var n="_"+e;t.prototype[e]=function(){return void 0!==this[n]?this[n]:this[n]=i.call(this)}},n.parseBytes=function(t){return"string"==typeof t?n.toArray(t,"hex"):t},n.intFromLE=function(t){return new r(t,"hex","le")}},28490(t,e,i){!function(t,e){"use strict";function n(t,e){if(!t)throw new Error(e||"Assertion failed")}function r(t,e){t.super_=e;var i=function(){};i.prototype=e.prototype,t.prototype=new i,t.prototype.constructor=t}function o(t,e,i){if(o.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(i=e,e=10),this._init(t||0,e||10,i||"be"))}var s;"object"==typeof t?t.exports=o:e.BN=o,o.BN=o,o.wordSize=26;try{s="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:i(79368).Buffer}catch(t){}function a(t,e){var i=t.charCodeAt(e);return i>=65&&i<=70?i-55:i>=97&&i<=102?i-87:i-48&15}function u(t,e,i){var n=a(t,i);return i-1>=e&&(n|=a(t,i-1)<<4),n}function c(t,e,i,n){for(var r=0,o=Math.min(t.length,i),s=e;s=49?a-49+10:a>=17?a-17+10:a}return r}o.isBN=function(t){return t instanceof o||null!==t&&"object"==typeof t&&t.constructor.wordSize===o.wordSize&&Array.isArray(t.words)},o.max=function(t,e){return t.cmp(e)>0?t:e},o.min=function(t,e){return t.cmp(e)<0?t:e},o.prototype._init=function(t,e,i){if("number"==typeof t)return this._initNumber(t,e,i);if("object"==typeof t)return this._initArray(t,e,i);"hex"===e&&(e=16),n(e===(0|e)&&e>=2&&e<=36);var r=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(r++,this.negative=1),r=0;r-=3)s=t[r]|t[r-1]<<8|t[r-2]<<16,this.words[o]|=s<>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);else if("le"===i)for(r=0,o=0;r>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);return this.strip()},o.prototype._parseHex=function(t,e,i){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var n=0;n=e;n-=2)r=u(t,e,n)<=18?(o-=18,s+=1,this.words[s]|=r>>>26):o+=8;else for(n=(t.length-e)%2==0?e+1:e;n=18?(o-=18,s+=1,this.words[s]|=r>>>26):o+=8;this.strip()},o.prototype._parseBase=function(t,e,i){this.words=[0],this.length=1;for(var n=0,r=1;r<=67108863;r*=e)n++;n--,r=r/e|0;for(var o=t.length-i,s=o%n,a=Math.min(o,o-s)+i,u=0,h=i;h1&&0===this.words[this.length-1];)this.length--;return this._normSign()},o.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},o.prototype.inspect=function(){return(this.red?""};var h=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],l=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],d=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function f(t,e,i){i.negative=e.negative^t.negative;var n=t.length+e.length|0;i.length=n,n=n-1|0;var r=0|t.words[0],o=0|e.words[0],s=r*o,a=67108863&s,u=s/67108864|0;i.words[0]=a;for(var c=1;c>>26,l=67108863&u,d=Math.min(c,e.length-1),f=Math.max(0,c-t.length+1);f<=d;f++){var p=c-f|0;h+=(s=(r=0|t.words[p])*(o=0|e.words[f])+l)/67108864|0,l=67108863&s}i.words[c]=0|l,u=0|h}return 0!==u?i.words[c]=0|u:i.length--,i.strip()}o.prototype.toString=function(t,e){var i;if(e=0|e||1,16===(t=t||10)||"hex"===t){i="";for(var r=0,o=0,s=0;s>>24-r&16777215,(r+=2)>=26&&(r-=26,s--),i=0!==o||s!==this.length-1?h[6-u.length]+u+i:u+i}for(0!==o&&(i=o.toString(16)+i);i.length%e!==0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}if(t===(0|t)&&t>=2&&t<=36){var c=l[t],f=d[t];i="";var p=this.clone();for(p.negative=0;!p.isZero();){var g=p.modn(f).toString(t);i=(p=p.idivn(f)).isZero()?g+i:h[c-g.length]+g+i}for(this.isZero()&&(i="0"+i);i.length%e!==0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}n(!1,"Base should be between 2 and 36")},o.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},o.prototype.toJSON=function(){return this.toString(16)},o.prototype.toBuffer=function(t,e){return n(void 0!==s),this.toArrayLike(s,t,e)},o.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},o.prototype.toArrayLike=function(t,e,i){var r=this.byteLength(),o=i||Math.max(1,r);n(r<=o,"byte array longer than desired length"),n(o>0,"Requested array length <= 0"),this.strip();var s,a,u="le"===e,c=new t(o),h=this.clone();if(u){for(a=0;!h.isZero();a++)s=h.andln(255),h.iushrn(8),c[a]=s;for(;a=4096&&(i+=13,e>>>=13),e>=64&&(i+=7,e>>>=7),e>=8&&(i+=4,e>>>=4),e>=2&&(i+=2,e>>>=2),i+e},o.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,i=0;return 8191&e||(i+=13,e>>>=13),127&e||(i+=7,e>>>=7),15&e||(i+=4,e>>>=4),3&e||(i+=2,e>>>=2),1&e||i++,i},o.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},o.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},o.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},o.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var i=0;it.length?this.clone().iand(t):t.clone().iand(this)},o.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},o.prototype.iuxor=function(t){var e,i;this.length>t.length?(e=this,i=t):(e=t,i=this);for(var n=0;nt.length?this.clone().ixor(t):t.clone().ixor(this)},o.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},o.prototype.inotn=function(t){n("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),i=t%26;this._expand(e),i>0&&e--;for(var r=0;r0&&(this.words[r]=~this.words[r]&67108863>>26-i),this.strip()},o.prototype.notn=function(t){return this.clone().inotn(t)},o.prototype.setn=function(t,e){n("number"==typeof t&&t>=0);var i=t/26|0,r=t%26;return this._expand(i+1),this.words[i]=e?this.words[i]|1<t.length?(i=this,n=t):(i=t,n=this);for(var r=0,o=0;o>>26;for(;0!==r&&o>>26;if(this.length=i.length,0!==r)this.words[this.length]=r,this.length++;else if(i!==this)for(;ot.length?this.clone().iadd(t):t.clone().iadd(this)},o.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var i,n,r=this.cmp(t);if(0===r)return this.negative=0,this.length=1,this.words[0]=0,this;r>0?(i=this,n=t):(i=t,n=this);for(var o=0,s=0;s>26,this.words[s]=67108863&e;for(;0!==o&&s>26,this.words[s]=67108863&e;if(0===o&&s>>13,f=0|s[1],p=8191&f,g=f>>>13,A=0|s[2],m=8191&A,v=A>>>13,b=0|s[3],y=8191&b,w=b>>>13,C=0|s[4],x=8191&C,k=C>>>13,_=0|s[5],M=8191&_,B=_>>>13,E=0|s[6],I=8191&E,S=E>>>13,D=0|s[7],T=8191&D,O=D>>>13,P=0|s[8],R=8191&P,z=P>>>13,N=0|s[9],H=8191&N,j=N>>>13,L=0|a[0],U=8191&L,q=L>>>13,F=0|a[1],W=8191&F,Y=F>>>13,Q=0|a[2],G=8191&Q,V=Q>>>13,K=0|a[3],X=8191&K,Z=K>>>13,J=0|a[4],$=8191&J,tt=J>>>13,et=0|a[5],it=8191&et,nt=et>>>13,rt=0|a[6],ot=8191&rt,st=rt>>>13,at=0|a[7],ut=8191&at,ct=at>>>13,ht=0|a[8],lt=8191&ht,dt=ht>>>13,ft=0|a[9],pt=8191&ft,gt=ft>>>13;i.negative=t.negative^e.negative,i.length=19;var At=(c+(n=Math.imul(l,U))|0)+((8191&(r=(r=Math.imul(l,q))+Math.imul(d,U)|0))<<13)|0;c=((o=Math.imul(d,q))+(r>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(p,U),r=(r=Math.imul(p,q))+Math.imul(g,U)|0,o=Math.imul(g,q);var mt=(c+(n=n+Math.imul(l,W)|0)|0)+((8191&(r=(r=r+Math.imul(l,Y)|0)+Math.imul(d,W)|0))<<13)|0;c=((o=o+Math.imul(d,Y)|0)+(r>>>13)|0)+(mt>>>26)|0,mt&=67108863,n=Math.imul(m,U),r=(r=Math.imul(m,q))+Math.imul(v,U)|0,o=Math.imul(v,q),n=n+Math.imul(p,W)|0,r=(r=r+Math.imul(p,Y)|0)+Math.imul(g,W)|0,o=o+Math.imul(g,Y)|0;var vt=(c+(n=n+Math.imul(l,G)|0)|0)+((8191&(r=(r=r+Math.imul(l,V)|0)+Math.imul(d,G)|0))<<13)|0;c=((o=o+Math.imul(d,V)|0)+(r>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(y,U),r=(r=Math.imul(y,q))+Math.imul(w,U)|0,o=Math.imul(w,q),n=n+Math.imul(m,W)|0,r=(r=r+Math.imul(m,Y)|0)+Math.imul(v,W)|0,o=o+Math.imul(v,Y)|0,n=n+Math.imul(p,G)|0,r=(r=r+Math.imul(p,V)|0)+Math.imul(g,G)|0,o=o+Math.imul(g,V)|0;var bt=(c+(n=n+Math.imul(l,X)|0)|0)+((8191&(r=(r=r+Math.imul(l,Z)|0)+Math.imul(d,X)|0))<<13)|0;c=((o=o+Math.imul(d,Z)|0)+(r>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(x,U),r=(r=Math.imul(x,q))+Math.imul(k,U)|0,o=Math.imul(k,q),n=n+Math.imul(y,W)|0,r=(r=r+Math.imul(y,Y)|0)+Math.imul(w,W)|0,o=o+Math.imul(w,Y)|0,n=n+Math.imul(m,G)|0,r=(r=r+Math.imul(m,V)|0)+Math.imul(v,G)|0,o=o+Math.imul(v,V)|0,n=n+Math.imul(p,X)|0,r=(r=r+Math.imul(p,Z)|0)+Math.imul(g,X)|0,o=o+Math.imul(g,Z)|0;var yt=(c+(n=n+Math.imul(l,$)|0)|0)+((8191&(r=(r=r+Math.imul(l,tt)|0)+Math.imul(d,$)|0))<<13)|0;c=((o=o+Math.imul(d,tt)|0)+(r>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(M,U),r=(r=Math.imul(M,q))+Math.imul(B,U)|0,o=Math.imul(B,q),n=n+Math.imul(x,W)|0,r=(r=r+Math.imul(x,Y)|0)+Math.imul(k,W)|0,o=o+Math.imul(k,Y)|0,n=n+Math.imul(y,G)|0,r=(r=r+Math.imul(y,V)|0)+Math.imul(w,G)|0,o=o+Math.imul(w,V)|0,n=n+Math.imul(m,X)|0,r=(r=r+Math.imul(m,Z)|0)+Math.imul(v,X)|0,o=o+Math.imul(v,Z)|0,n=n+Math.imul(p,$)|0,r=(r=r+Math.imul(p,tt)|0)+Math.imul(g,$)|0,o=o+Math.imul(g,tt)|0;var wt=(c+(n=n+Math.imul(l,it)|0)|0)+((8191&(r=(r=r+Math.imul(l,nt)|0)+Math.imul(d,it)|0))<<13)|0;c=((o=o+Math.imul(d,nt)|0)+(r>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(I,U),r=(r=Math.imul(I,q))+Math.imul(S,U)|0,o=Math.imul(S,q),n=n+Math.imul(M,W)|0,r=(r=r+Math.imul(M,Y)|0)+Math.imul(B,W)|0,o=o+Math.imul(B,Y)|0,n=n+Math.imul(x,G)|0,r=(r=r+Math.imul(x,V)|0)+Math.imul(k,G)|0,o=o+Math.imul(k,V)|0,n=n+Math.imul(y,X)|0,r=(r=r+Math.imul(y,Z)|0)+Math.imul(w,X)|0,o=o+Math.imul(w,Z)|0,n=n+Math.imul(m,$)|0,r=(r=r+Math.imul(m,tt)|0)+Math.imul(v,$)|0,o=o+Math.imul(v,tt)|0,n=n+Math.imul(p,it)|0,r=(r=r+Math.imul(p,nt)|0)+Math.imul(g,it)|0,o=o+Math.imul(g,nt)|0;var Ct=(c+(n=n+Math.imul(l,ot)|0)|0)+((8191&(r=(r=r+Math.imul(l,st)|0)+Math.imul(d,ot)|0))<<13)|0;c=((o=o+Math.imul(d,st)|0)+(r>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,n=Math.imul(T,U),r=(r=Math.imul(T,q))+Math.imul(O,U)|0,o=Math.imul(O,q),n=n+Math.imul(I,W)|0,r=(r=r+Math.imul(I,Y)|0)+Math.imul(S,W)|0,o=o+Math.imul(S,Y)|0,n=n+Math.imul(M,G)|0,r=(r=r+Math.imul(M,V)|0)+Math.imul(B,G)|0,o=o+Math.imul(B,V)|0,n=n+Math.imul(x,X)|0,r=(r=r+Math.imul(x,Z)|0)+Math.imul(k,X)|0,o=o+Math.imul(k,Z)|0,n=n+Math.imul(y,$)|0,r=(r=r+Math.imul(y,tt)|0)+Math.imul(w,$)|0,o=o+Math.imul(w,tt)|0,n=n+Math.imul(m,it)|0,r=(r=r+Math.imul(m,nt)|0)+Math.imul(v,it)|0,o=o+Math.imul(v,nt)|0,n=n+Math.imul(p,ot)|0,r=(r=r+Math.imul(p,st)|0)+Math.imul(g,ot)|0,o=o+Math.imul(g,st)|0;var xt=(c+(n=n+Math.imul(l,ut)|0)|0)+((8191&(r=(r=r+Math.imul(l,ct)|0)+Math.imul(d,ut)|0))<<13)|0;c=((o=o+Math.imul(d,ct)|0)+(r>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(R,U),r=(r=Math.imul(R,q))+Math.imul(z,U)|0,o=Math.imul(z,q),n=n+Math.imul(T,W)|0,r=(r=r+Math.imul(T,Y)|0)+Math.imul(O,W)|0,o=o+Math.imul(O,Y)|0,n=n+Math.imul(I,G)|0,r=(r=r+Math.imul(I,V)|0)+Math.imul(S,G)|0,o=o+Math.imul(S,V)|0,n=n+Math.imul(M,X)|0,r=(r=r+Math.imul(M,Z)|0)+Math.imul(B,X)|0,o=o+Math.imul(B,Z)|0,n=n+Math.imul(x,$)|0,r=(r=r+Math.imul(x,tt)|0)+Math.imul(k,$)|0,o=o+Math.imul(k,tt)|0,n=n+Math.imul(y,it)|0,r=(r=r+Math.imul(y,nt)|0)+Math.imul(w,it)|0,o=o+Math.imul(w,nt)|0,n=n+Math.imul(m,ot)|0,r=(r=r+Math.imul(m,st)|0)+Math.imul(v,ot)|0,o=o+Math.imul(v,st)|0,n=n+Math.imul(p,ut)|0,r=(r=r+Math.imul(p,ct)|0)+Math.imul(g,ut)|0,o=o+Math.imul(g,ct)|0;var kt=(c+(n=n+Math.imul(l,lt)|0)|0)+((8191&(r=(r=r+Math.imul(l,dt)|0)+Math.imul(d,lt)|0))<<13)|0;c=((o=o+Math.imul(d,dt)|0)+(r>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(H,U),r=(r=Math.imul(H,q))+Math.imul(j,U)|0,o=Math.imul(j,q),n=n+Math.imul(R,W)|0,r=(r=r+Math.imul(R,Y)|0)+Math.imul(z,W)|0,o=o+Math.imul(z,Y)|0,n=n+Math.imul(T,G)|0,r=(r=r+Math.imul(T,V)|0)+Math.imul(O,G)|0,o=o+Math.imul(O,V)|0,n=n+Math.imul(I,X)|0,r=(r=r+Math.imul(I,Z)|0)+Math.imul(S,X)|0,o=o+Math.imul(S,Z)|0,n=n+Math.imul(M,$)|0,r=(r=r+Math.imul(M,tt)|0)+Math.imul(B,$)|0,o=o+Math.imul(B,tt)|0,n=n+Math.imul(x,it)|0,r=(r=r+Math.imul(x,nt)|0)+Math.imul(k,it)|0,o=o+Math.imul(k,nt)|0,n=n+Math.imul(y,ot)|0,r=(r=r+Math.imul(y,st)|0)+Math.imul(w,ot)|0,o=o+Math.imul(w,st)|0,n=n+Math.imul(m,ut)|0,r=(r=r+Math.imul(m,ct)|0)+Math.imul(v,ut)|0,o=o+Math.imul(v,ct)|0,n=n+Math.imul(p,lt)|0,r=(r=r+Math.imul(p,dt)|0)+Math.imul(g,lt)|0,o=o+Math.imul(g,dt)|0;var _t=(c+(n=n+Math.imul(l,pt)|0)|0)+((8191&(r=(r=r+Math.imul(l,gt)|0)+Math.imul(d,pt)|0))<<13)|0;c=((o=o+Math.imul(d,gt)|0)+(r>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(H,W),r=(r=Math.imul(H,Y))+Math.imul(j,W)|0,o=Math.imul(j,Y),n=n+Math.imul(R,G)|0,r=(r=r+Math.imul(R,V)|0)+Math.imul(z,G)|0,o=o+Math.imul(z,V)|0,n=n+Math.imul(T,X)|0,r=(r=r+Math.imul(T,Z)|0)+Math.imul(O,X)|0,o=o+Math.imul(O,Z)|0,n=n+Math.imul(I,$)|0,r=(r=r+Math.imul(I,tt)|0)+Math.imul(S,$)|0,o=o+Math.imul(S,tt)|0,n=n+Math.imul(M,it)|0,r=(r=r+Math.imul(M,nt)|0)+Math.imul(B,it)|0,o=o+Math.imul(B,nt)|0,n=n+Math.imul(x,ot)|0,r=(r=r+Math.imul(x,st)|0)+Math.imul(k,ot)|0,o=o+Math.imul(k,st)|0,n=n+Math.imul(y,ut)|0,r=(r=r+Math.imul(y,ct)|0)+Math.imul(w,ut)|0,o=o+Math.imul(w,ct)|0,n=n+Math.imul(m,lt)|0,r=(r=r+Math.imul(m,dt)|0)+Math.imul(v,lt)|0,o=o+Math.imul(v,dt)|0;var Mt=(c+(n=n+Math.imul(p,pt)|0)|0)+((8191&(r=(r=r+Math.imul(p,gt)|0)+Math.imul(g,pt)|0))<<13)|0;c=((o=o+Math.imul(g,gt)|0)+(r>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(H,G),r=(r=Math.imul(H,V))+Math.imul(j,G)|0,o=Math.imul(j,V),n=n+Math.imul(R,X)|0,r=(r=r+Math.imul(R,Z)|0)+Math.imul(z,X)|0,o=o+Math.imul(z,Z)|0,n=n+Math.imul(T,$)|0,r=(r=r+Math.imul(T,tt)|0)+Math.imul(O,$)|0,o=o+Math.imul(O,tt)|0,n=n+Math.imul(I,it)|0,r=(r=r+Math.imul(I,nt)|0)+Math.imul(S,it)|0,o=o+Math.imul(S,nt)|0,n=n+Math.imul(M,ot)|0,r=(r=r+Math.imul(M,st)|0)+Math.imul(B,ot)|0,o=o+Math.imul(B,st)|0,n=n+Math.imul(x,ut)|0,r=(r=r+Math.imul(x,ct)|0)+Math.imul(k,ut)|0,o=o+Math.imul(k,ct)|0,n=n+Math.imul(y,lt)|0,r=(r=r+Math.imul(y,dt)|0)+Math.imul(w,lt)|0,o=o+Math.imul(w,dt)|0;var Bt=(c+(n=n+Math.imul(m,pt)|0)|0)+((8191&(r=(r=r+Math.imul(m,gt)|0)+Math.imul(v,pt)|0))<<13)|0;c=((o=o+Math.imul(v,gt)|0)+(r>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,n=Math.imul(H,X),r=(r=Math.imul(H,Z))+Math.imul(j,X)|0,o=Math.imul(j,Z),n=n+Math.imul(R,$)|0,r=(r=r+Math.imul(R,tt)|0)+Math.imul(z,$)|0,o=o+Math.imul(z,tt)|0,n=n+Math.imul(T,it)|0,r=(r=r+Math.imul(T,nt)|0)+Math.imul(O,it)|0,o=o+Math.imul(O,nt)|0,n=n+Math.imul(I,ot)|0,r=(r=r+Math.imul(I,st)|0)+Math.imul(S,ot)|0,o=o+Math.imul(S,st)|0,n=n+Math.imul(M,ut)|0,r=(r=r+Math.imul(M,ct)|0)+Math.imul(B,ut)|0,o=o+Math.imul(B,ct)|0,n=n+Math.imul(x,lt)|0,r=(r=r+Math.imul(x,dt)|0)+Math.imul(k,lt)|0,o=o+Math.imul(k,dt)|0;var Et=(c+(n=n+Math.imul(y,pt)|0)|0)+((8191&(r=(r=r+Math.imul(y,gt)|0)+Math.imul(w,pt)|0))<<13)|0;c=((o=o+Math.imul(w,gt)|0)+(r>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(H,$),r=(r=Math.imul(H,tt))+Math.imul(j,$)|0,o=Math.imul(j,tt),n=n+Math.imul(R,it)|0,r=(r=r+Math.imul(R,nt)|0)+Math.imul(z,it)|0,o=o+Math.imul(z,nt)|0,n=n+Math.imul(T,ot)|0,r=(r=r+Math.imul(T,st)|0)+Math.imul(O,ot)|0,o=o+Math.imul(O,st)|0,n=n+Math.imul(I,ut)|0,r=(r=r+Math.imul(I,ct)|0)+Math.imul(S,ut)|0,o=o+Math.imul(S,ct)|0,n=n+Math.imul(M,lt)|0,r=(r=r+Math.imul(M,dt)|0)+Math.imul(B,lt)|0,o=o+Math.imul(B,dt)|0;var It=(c+(n=n+Math.imul(x,pt)|0)|0)+((8191&(r=(r=r+Math.imul(x,gt)|0)+Math.imul(k,pt)|0))<<13)|0;c=((o=o+Math.imul(k,gt)|0)+(r>>>13)|0)+(It>>>26)|0,It&=67108863,n=Math.imul(H,it),r=(r=Math.imul(H,nt))+Math.imul(j,it)|0,o=Math.imul(j,nt),n=n+Math.imul(R,ot)|0,r=(r=r+Math.imul(R,st)|0)+Math.imul(z,ot)|0,o=o+Math.imul(z,st)|0,n=n+Math.imul(T,ut)|0,r=(r=r+Math.imul(T,ct)|0)+Math.imul(O,ut)|0,o=o+Math.imul(O,ct)|0,n=n+Math.imul(I,lt)|0,r=(r=r+Math.imul(I,dt)|0)+Math.imul(S,lt)|0,o=o+Math.imul(S,dt)|0;var St=(c+(n=n+Math.imul(M,pt)|0)|0)+((8191&(r=(r=r+Math.imul(M,gt)|0)+Math.imul(B,pt)|0))<<13)|0;c=((o=o+Math.imul(B,gt)|0)+(r>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(H,ot),r=(r=Math.imul(H,st))+Math.imul(j,ot)|0,o=Math.imul(j,st),n=n+Math.imul(R,ut)|0,r=(r=r+Math.imul(R,ct)|0)+Math.imul(z,ut)|0,o=o+Math.imul(z,ct)|0,n=n+Math.imul(T,lt)|0,r=(r=r+Math.imul(T,dt)|0)+Math.imul(O,lt)|0,o=o+Math.imul(O,dt)|0;var Dt=(c+(n=n+Math.imul(I,pt)|0)|0)+((8191&(r=(r=r+Math.imul(I,gt)|0)+Math.imul(S,pt)|0))<<13)|0;c=((o=o+Math.imul(S,gt)|0)+(r>>>13)|0)+(Dt>>>26)|0,Dt&=67108863,n=Math.imul(H,ut),r=(r=Math.imul(H,ct))+Math.imul(j,ut)|0,o=Math.imul(j,ct),n=n+Math.imul(R,lt)|0,r=(r=r+Math.imul(R,dt)|0)+Math.imul(z,lt)|0,o=o+Math.imul(z,dt)|0;var Tt=(c+(n=n+Math.imul(T,pt)|0)|0)+((8191&(r=(r=r+Math.imul(T,gt)|0)+Math.imul(O,pt)|0))<<13)|0;c=((o=o+Math.imul(O,gt)|0)+(r>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(H,lt),r=(r=Math.imul(H,dt))+Math.imul(j,lt)|0,o=Math.imul(j,dt);var Ot=(c+(n=n+Math.imul(R,pt)|0)|0)+((8191&(r=(r=r+Math.imul(R,gt)|0)+Math.imul(z,pt)|0))<<13)|0;c=((o=o+Math.imul(z,gt)|0)+(r>>>13)|0)+(Ot>>>26)|0,Ot&=67108863;var Pt=(c+(n=Math.imul(H,pt))|0)+((8191&(r=(r=Math.imul(H,gt))+Math.imul(j,pt)|0))<<13)|0;return c=((o=Math.imul(j,gt))+(r>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,u[0]=At,u[1]=mt,u[2]=vt,u[3]=bt,u[4]=yt,u[5]=wt,u[6]=Ct,u[7]=xt,u[8]=kt,u[9]=_t,u[10]=Mt,u[11]=Bt,u[12]=Et,u[13]=It,u[14]=St,u[15]=Dt,u[16]=Tt,u[17]=Ot,u[18]=Pt,0!==c&&(u[19]=c,i.length++),i};function g(t,e,i){return(new A).mulp(t,e,i)}function A(t,e){this.x=t,this.y=e}Math.imul||(p=f),o.prototype.mulTo=function(t,e){var i,n=this.length+t.length;return i=10===this.length&&10===t.length?p(this,t,e):n<63?f(this,t,e):n<1024?function(t,e,i){i.negative=e.negative^t.negative,i.length=t.length+e.length;for(var n=0,r=0,o=0;o>>26)|0)>>>26,s&=67108863}i.words[o]=a,n=s,s=r}return 0!==n?i.words[o]=n:i.length--,i.strip()}(this,t,e):g(this,t,e),i},A.prototype.makeRBT=function(t){for(var e=new Array(t),i=o.prototype._countBits(t)-1,n=0;n>=1;return n},A.prototype.permute=function(t,e,i,n,r,o){for(var s=0;s>>=1)r++;return 1<>>=13,i[2*s+1]=8191&o,o>>>=13;for(s=2*e;s>=26,e+=r/67108864|0,e+=o>>>26,this.words[i]=67108863&o}return 0!==e&&(this.words[i]=e,this.length++),this.length=0===t?1:this.length,this},o.prototype.muln=function(t){return this.clone().imuln(t)},o.prototype.sqr=function(){return this.mul(this)},o.prototype.isqr=function(){return this.imul(this.clone())},o.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),i=0;i>>r}return e}(t);if(0===e.length)return new o(1);for(var i=this,n=0;n=0);var e,i=t%26,r=(t-i)/26,o=67108863>>>26-i<<26-i;if(0!==i){var s=0;for(e=0;e>>26-i}s&&(this.words[e]=s,this.length++)}if(0!==r){for(e=this.length-1;e>=0;e--)this.words[e+r]=this.words[e];for(e=0;e=0),r=e?(e-e%26)/26:0;var o=t%26,s=Math.min((t-o)/26,this.length),a=67108863^67108863>>>o<s)for(this.length-=s,c=0;c=0&&(0!==h||c>=r);c--){var l=0|this.words[c];this.words[c]=h<<26-o|l>>>o,h=l&a}return u&&0!==h&&(u.words[u.length++]=h),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},o.prototype.ishrn=function(t,e,i){return n(0===this.negative),this.iushrn(t,e,i)},o.prototype.shln=function(t){return this.clone().ishln(t)},o.prototype.ushln=function(t){return this.clone().iushln(t)},o.prototype.shrn=function(t){return this.clone().ishrn(t)},o.prototype.ushrn=function(t){return this.clone().iushrn(t)},o.prototype.testn=function(t){n("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26,r=1<=0);var e=t%26,i=(t-e)/26;if(n(0===this.negative,"imaskn works only with positive numbers"),this.length<=i)return this;if(0!==e&&i++,this.length=Math.min(i,this.length),0!==e){var r=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},o.prototype.isubn=function(t){if(n("number"==typeof t),n(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(u/67108864|0),this.words[r+i]=67108863&o}for(;r>26,this.words[r+i]=67108863&o;if(0===a)return this.strip();for(n(-1===a),a=0,r=0;r>26,this.words[r]=67108863&o;return this.negative=1,this.strip()},o.prototype._wordDiv=function(t,e){var i=(this.length,t.length),n=this.clone(),r=t,s=0|r.words[r.length-1];0!=(i=26-this._countBits(s))&&(r=r.ushln(i),n.iushln(i),s=0|r.words[r.length-1]);var a,u=n.length-r.length;if("mod"!==e){(a=new o(null)).length=u+1,a.words=new Array(a.length);for(var c=0;c=0;l--){var d=67108864*(0|n.words[r.length+l])+(0|n.words[r.length+l-1]);for(d=Math.min(d/s|0,67108863),n._ishlnsubmul(r,d,l);0!==n.negative;)d--,n.negative=0,n._ishlnsubmul(r,1,l),n.isZero()||(n.negative^=1);a&&(a.words[l]=d)}return a&&a.strip(),n.strip(),"div"!==e&&0!==i&&n.iushrn(i),{div:a||null,mod:n}},o.prototype.divmod=function(t,e,i){return n(!t.isZero()),this.isZero()?{div:new o(0),mod:new o(0)}:0!==this.negative&&0===t.negative?(a=this.neg().divmod(t,e),"mod"!==e&&(r=a.div.neg()),"div"!==e&&(s=a.mod.neg(),i&&0!==s.negative&&s.iadd(t)),{div:r,mod:s}):0===this.negative&&0!==t.negative?(a=this.divmod(t.neg(),e),"mod"!==e&&(r=a.div.neg()),{div:r,mod:a.mod}):0!==(this.negative&t.negative)?(a=this.neg().divmod(t.neg(),e),"div"!==e&&(s=a.mod.neg(),i&&0!==s.negative&&s.isub(t)),{div:a.div,mod:s}):t.length>this.length||this.cmp(t)<0?{div:new o(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new o(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new o(this.modn(t.words[0]))}:this._wordDiv(t,e);var r,s,a},o.prototype.div=function(t){return this.divmod(t,"div",!1).div},o.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},o.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},o.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var i=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),r=t.andln(1),o=i.cmp(n);return o<0||1===r&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},o.prototype.modn=function(t){n(t<=67108863);for(var e=(1<<26)%t,i=0,r=this.length-1;r>=0;r--)i=(e*i+(0|this.words[r]))%t;return i},o.prototype.idivn=function(t){n(t<=67108863);for(var e=0,i=this.length-1;i>=0;i--){var r=(0|this.words[i])+67108864*e;this.words[i]=r/t|0,e=r%t}return this.strip()},o.prototype.divn=function(t){return this.clone().idivn(t)},o.prototype.egcd=function(t){n(0===t.negative),n(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var r=new o(1),s=new o(0),a=new o(0),u=new o(1),c=0;e.isEven()&&i.isEven();)e.iushrn(1),i.iushrn(1),++c;for(var h=i.clone(),l=e.clone();!e.isZero();){for(var d=0,f=1;0===(e.words[0]&f)&&d<26;++d,f<<=1);if(d>0)for(e.iushrn(d);d-- >0;)(r.isOdd()||s.isOdd())&&(r.iadd(h),s.isub(l)),r.iushrn(1),s.iushrn(1);for(var p=0,g=1;0===(i.words[0]&g)&&p<26;++p,g<<=1);if(p>0)for(i.iushrn(p);p-- >0;)(a.isOdd()||u.isOdd())&&(a.iadd(h),u.isub(l)),a.iushrn(1),u.iushrn(1);e.cmp(i)>=0?(e.isub(i),r.isub(a),s.isub(u)):(i.isub(e),a.isub(r),u.isub(s))}return{a,b:u,gcd:i.iushln(c)}},o.prototype._invmp=function(t){n(0===t.negative),n(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var r,s=new o(1),a=new o(0),u=i.clone();e.cmpn(1)>0&&i.cmpn(1)>0;){for(var c=0,h=1;0===(e.words[0]&h)&&c<26;++c,h<<=1);if(c>0)for(e.iushrn(c);c-- >0;)s.isOdd()&&s.iadd(u),s.iushrn(1);for(var l=0,d=1;0===(i.words[0]&d)&&l<26;++l,d<<=1);if(l>0)for(i.iushrn(l);l-- >0;)a.isOdd()&&a.iadd(u),a.iushrn(1);e.cmp(i)>=0?(e.isub(i),s.isub(a)):(i.isub(e),a.isub(s))}return(r=0===e.cmpn(1)?s:a).cmpn(0)<0&&r.iadd(t),r},o.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),i=t.clone();e.negative=0,i.negative=0;for(var n=0;e.isEven()&&i.isEven();n++)e.iushrn(1),i.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;i.isEven();)i.iushrn(1);var r=e.cmp(i);if(r<0){var o=e;e=i,i=o}else if(0===r||0===i.cmpn(1))break;e.isub(i)}return i.iushln(n)},o.prototype.invm=function(t){return this.egcd(t).a.umod(t)},o.prototype.isEven=function(){return!(1&this.words[0])},o.prototype.isOdd=function(){return!(1&~this.words[0])},o.prototype.andln=function(t){return this.words[0]&t},o.prototype.bincn=function(t){n("number"==typeof t);var e=t%26,i=(t-e)/26,r=1<>>26,a&=67108863,this.words[s]=a}return 0!==o&&(this.words[s]=o,this.length++),this},o.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},o.prototype.cmpn=function(t){var e,i=t<0;if(0!==this.negative&&!i)return-1;if(0===this.negative&&i)return 1;if(this.strip(),this.length>1)e=1;else{i&&(t=-t),n(t<=67108863,"Number is too big");var r=0|this.words[0];e=r===t?0:rt.length)return 1;if(this.length=0;i--){var n=0|this.words[i],r=0|t.words[i];if(n!==r){nr&&(e=1);break}}return e},o.prototype.gtn=function(t){return 1===this.cmpn(t)},o.prototype.gt=function(t){return 1===this.cmp(t)},o.prototype.gten=function(t){return this.cmpn(t)>=0},o.prototype.gte=function(t){return this.cmp(t)>=0},o.prototype.ltn=function(t){return-1===this.cmpn(t)},o.prototype.lt=function(t){return-1===this.cmp(t)},o.prototype.lten=function(t){return this.cmpn(t)<=0},o.prototype.lte=function(t){return this.cmp(t)<=0},o.prototype.eqn=function(t){return 0===this.cmpn(t)},o.prototype.eq=function(t){return 0===this.cmp(t)},o.red=function(t){return new x(t)},o.prototype.toRed=function(t){return n(!this.red,"Already a number in reduction context"),n(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},o.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},o.prototype._forceRed=function(t){return this.red=t,this},o.prototype.forceRed=function(t){return n(!this.red,"Already a number in reduction context"),this._forceRed(t)},o.prototype.redAdd=function(t){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},o.prototype.redIAdd=function(t){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},o.prototype.redSub=function(t){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},o.prototype.redISub=function(t){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},o.prototype.redShl=function(t){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},o.prototype.redMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},o.prototype.redIMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},o.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},o.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},o.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},o.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},o.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},o.prototype.redPow=function(t){return n(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var m={k256:null,p224:null,p192:null,p25519:null};function v(t,e){this.name=t,this.p=new o(e,16),this.n=this.p.bitLength(),this.k=new o(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function b(){v.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function y(){v.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function w(){v.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function C(){v.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function x(t){if("string"==typeof t){var e=o._prime(t);this.m=e.p,this.prime=e}else n(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function k(t){x.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new o(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}v.prototype._tmp=function(){var t=new o(null);return t.words=new Array(Math.ceil(this.n/13)),t},v.prototype.ireduce=function(t){var e,i=t;do{this.split(i,this.tmp),e=(i=(i=this.imulK(i)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e0?i.isub(this.p):void 0!==i.strip?i.strip():i._strip(),i},v.prototype.split=function(t,e){t.iushrn(this.n,0,e)},v.prototype.imulK=function(t){return t.imul(this.k)},r(b,v),b.prototype.split=function(t,e){for(var i=4194303,n=Math.min(t.length,9),r=0;r>>22,o=s}o>>>=22,t.words[r-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},b.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,i=0;i>>=26,t.words[i]=r,e=n}return 0!==e&&(t.words[t.length++]=e),t},o._prime=function(t){if(m[t])return m[t];var e;if("k256"===t)e=new b;else if("p224"===t)e=new y;else if("p192"===t)e=new w;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new C}return m[t]=e,e},x.prototype._verify1=function(t){n(0===t.negative,"red works only with positives"),n(t.red,"red works only with red numbers")},x.prototype._verify2=function(t,e){n(0===(t.negative|e.negative),"red works only with positives"),n(t.red&&t.red===e.red,"red works only with red numbers")},x.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},x.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},x.prototype.add=function(t,e){this._verify2(t,e);var i=t.add(e);return i.cmp(this.m)>=0&&i.isub(this.m),i._forceRed(this)},x.prototype.iadd=function(t,e){this._verify2(t,e);var i=t.iadd(e);return i.cmp(this.m)>=0&&i.isub(this.m),i},x.prototype.sub=function(t,e){this._verify2(t,e);var i=t.sub(e);return i.cmpn(0)<0&&i.iadd(this.m),i._forceRed(this)},x.prototype.isub=function(t,e){this._verify2(t,e);var i=t.isub(e);return i.cmpn(0)<0&&i.iadd(this.m),i},x.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},x.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},x.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},x.prototype.isqr=function(t){return this.imul(t,t.clone())},x.prototype.sqr=function(t){return this.mul(t,t)},x.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(n(e%2==1),3===e){var i=this.m.add(new o(1)).iushrn(2);return this.pow(t,i)}for(var r=this.m.subn(1),s=0;!r.isZero()&&0===r.andln(1);)s++,r.iushrn(1);n(!r.isZero());var a=new o(1).toRed(this),u=a.redNeg(),c=this.m.subn(1).iushrn(1),h=this.m.bitLength();for(h=new o(2*h*h).toRed(this);0!==this.pow(h,c).cmp(u);)h.redIAdd(u);for(var l=this.pow(h,r),d=this.pow(t,r.addn(1).iushrn(1)),f=this.pow(t,r),p=s;0!==f.cmp(a);){for(var g=f,A=0;0!==g.cmp(a);A++)g=g.redSqr();n(A=0;n--){for(var c=e.words[n],h=u-1;h>=0;h--){var l=c>>h&1;r!==i[0]&&(r=this.sqr(r)),0!==l||0!==s?(s<<=1,s|=l,(4===++a||0===n&&0===h)&&(r=this.mul(r,i[s]),a=0,s=0)):a=0}u=26}return r},x.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},x.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},o.mont=function(t){return new k(t)},r(k,x),k.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},k.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},k.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var i=t.imul(e),n=i.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),r=i.isub(n).iushrn(this.shift),o=r;return r.cmp(this.m)>=0?o=r.isub(this.m):r.cmpn(0)<0&&(o=r.iadd(this.m)),o._forceRed(this)},k.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new o(0)._forceRed(this);var i=t.mul(e),n=i.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),r=i.isub(n).iushrn(this.shift),s=r;return r.cmp(this.m)>=0?s=r.isub(this.m):r.cmpn(0)<0&&(s=r.iadd(this.m)),s._forceRed(this)},k.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(t=i.nmd(t),this)},68078(t,e,i){var n=i(92861).Buffer,r=i(88276);t.exports=function(t,e,i,o){if(n.isBuffer(t)||(t=n.from(t,"binary")),e&&(n.isBuffer(e)||(e=n.from(e,"binary")),8!==e.length))throw new RangeError("salt should be Buffer with 8 byte length");for(var s=i/8,a=n.alloc(s),u=n.alloc(o||0),c=n.alloc(0);s>0||o>0;){var h=new r;h.update(c),h.update(t),e&&h.update(e),c=h.digest();var l=0;if(s>0){var d=a.length-s;l=Math.min(s,c.length),c.copy(a,d,0,l),s-=l}if(l0){var f=u.length-o,p=Math.min(o,c.length-l);c.copy(u,f,l,l+p),o-=p}}return c.fill(0),{key:a,iv:u}}},78112(t){const e={_XML_CHAR_MAP:{"<":"<",">":">","&":"&",'"':""","'":"'"},_escapeXml:function(t){return t.replace(/[<>&"']/g,function(t){return e._XML_CHAR_MAP[t]})},Client:function(t){var e;for(e in t)this[e]=t[e]}};e.Client.prototype={baseUrl:null,userName:null,password:null,xmlNamespaces:{"DAV:":"d"},propFind:function(t,e,i,n){void 0===i&&(i="0"),i=""+i,(n=n||{}).Depth=i,n["Content-Type"]="application/xml; charset=utf-8";var r,o='\n\n":o+=" \n'}return o+=" \n",o+="",this.request("PROPFIND",t,n,o).then(function(t){return"0"===i?{status:t.status,body:t.body[0],xhr:t.xhr}:{status:t.status,body:t.body,xhr:t.xhr}}.bind(this))},_renderPropSet:function(t){var i=" \n \n";for(var n in t)if(t.hasOwnProperty(n)){var r,o=this.parseClarkNotation(n),s=t[n];"d:resourcetype"!=(r=this.xmlNamespaces[o.namespace]?this.xmlNamespaces[o.namespace]+":"+o.name:"x:"+o.name+' xmlns:x="'+o.namespace+'"')&&(s=e._escapeXml(s)),i+=" <"+r+">"+s+"\n"}return(i+=" \n")+" \n"},propPatch:function(t,e,i){(i=i||{})["Content-Type"]="application/xml; charset=utf-8";var n,r='\n0){for(var i=[],n=0;n= 2.0.0-beta.1",7:">= 4.0.0 <4.3.0",8:">= 4.3.0"};var h="[object Object]";function l(t,e,i){this.helpers=t||{},this.partials=e||{},this.decorators=i||{},s.registerDefaultHelpers(this),a.registerDefaultDecorators(this)}l.prototype={constructor:l,logger:u.default,log:u.default.log,registerHelper:function(t,e){if(r.toString.call(t)===h){if(e)throw new o.default("Arg not supported with multiple helpers");r.extend(this.helpers,t)}else this.helpers[t]=e},unregisterHelper:function(t){delete this.helpers[t]},registerPartial:function(t,e){if(r.toString.call(t)===h)r.extend(this.partials,t);else{if(void 0===e)throw new o.default('Attempting to register a partial called "'+t+'" as undefined');this.partials[t]=e}},unregisterPartial:function(t){delete this.partials[t]},registerDecorator:function(t,e){if(r.toString.call(t)===h){if(e)throw new o.default("Arg not supported with multiple decorators");r.extend(this.decorators,t)}else this.decorators[t]=e},unregisterDecorator:function(t){delete this.decorators[t]},resetLoggedPropertyAccesses:function(){c.resetLoggedProperties()}};var d=u.default.log;e.log=d,e.createFrame=r.createFrame,e.logger=u.default},75940(t,e,i){"use strict";e.__esModule=!0,e.registerDefaultDecorators=function(t){r.default(t)};var n,r=(n=i(77430))&&n.__esModule?n:{default:n}},77430(t,e,i){"use strict";e.__esModule=!0;var n=i(82849);e.default=function(t){t.registerDecorator("inline",function(t,e,i,r){var o=t;return e.partials||(e.partials={},o=function(r,o){var s=i.partials;i.partials=n.extend({},s,e.partials);var a=t(r,o);return i.partials=s,a}),e.partials[r.args[0]]=r.fn,o})},t.exports=e.default},13769(t,e){"use strict";e.__esModule=!0;var i=["description","fileName","lineNumber","endLineNumber","message","name","number","stack"];function n(t,e){var r=e&&e.loc,o=void 0,s=void 0,a=void 0,u=void 0;r&&(o=r.start.line,s=r.end.line,a=r.start.column,u=r.end.column,t+=" - "+o+":"+a);for(var c=Error.prototype.constructor.call(this,t),h=0;h0?(i.ids&&(i.ids=[i.name]),t.helpers.each(e,i)):r(this);if(i.data&&i.ids){var s=n.createFrame(i.data);s.contextPath=n.appendContextPath(i.data.contextPath,i.name),i={data:s}}return o(e,i)})},t.exports=e.default},46785(t,e,i){"use strict";e.__esModule=!0;var n,r=i(82849),o=(n=i(13769))&&n.__esModule?n:{default:n};e.default=function(t){t.registerHelper("each",function(t,e){if(!e)throw new o.default("Must pass iterator to #each");var i,n=e.fn,s=e.inverse,a=0,u="",c=void 0,h=void 0;function l(e,i,o){c&&(c.key=e,c.index=i,c.first=0===i,c.last=!!o,h&&(c.contextPath=h+e)),u+=n(t[e],{data:c,blockParams:r.blockParams([t[e],e],[h+e,null])})}if(e.data&&e.ids&&(h=r.appendContextPath(e.data.contextPath,e.ids[0])+"."),r.isFunction(t)&&(t=t.call(this)),e.data&&(c=r.createFrame(e.data)),t&&"object"==typeof t)if(r.isArray(t))for(var d=t.length;a=0?e:parseInt(t,10)}return t},log:function(t){if(t=r.lookupLevel(t),"undefined"!=typeof console&&r.lookupLevel(r.level)<=t){var e=r.methodMap[t];console[e]||(e="log");for(var i=arguments.length,n=Array(i>1?i-1:0),o=1;o=s.LAST_COMPATIBLE_COMPILER_REVISION&&e<=s.COMPILER_REVISION)){if(e":">",'"':""","'":"'","`":"`","=":"="},n=/[&<>"'`=]/g,r=/[&<>"'`=]/;function o(t){return i[t]}function s(t){for(var e=1;e=this._blockSize;){for(var o=this._blockOffset;o0;++u)this._length[u]+=c,(c=this._length[u]/4294967296|0)>0&&(this._length[u]-=4294967296*c);return this},o.prototype._update=function(){throw new Error("_update is not implemented")},o.prototype.digest=function(t){if(this._finalized)throw new Error("Digest already called");this._finalized=!0;var e=this._digest();void 0!==t&&(e=e.toString(t)),this._block.fill(0),this._blockOffset=0;for(var i=0;i<4;++i)this._length[i]=0;return e},o.prototype._digest=function(){throw new Error("_digest is not implemented")},t.exports=o},77952(t,e,i){var n=e;n.utils=i(67426),n.common=i(66166),n.sha=i(46229),n.ripemd=i(46784),n.hmac=i(28948),n.sha1=n.sha.sha1,n.sha256=n.sha.sha256,n.sha224=n.sha.sha224,n.sha384=n.sha.sha384,n.sha512=n.sha.sha512,n.ripemd160=n.ripemd.ripemd160},66166(t,e,i){"use strict";var n=i(67426),r=i(43349);function o(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian="big",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}e.BlockHash=o,o.prototype.update=function(t,e){if(t=n.toArray(t,e),this.pending?this.pending=this.pending.concat(t):this.pending=t,this.pendingTotal+=t.length,this.pending.length>=this._delta8){var i=(t=this.pending).length%this._delta8;this.pending=t.slice(t.length-i,t.length),0===this.pending.length&&(this.pending=null),t=n.join32(t,0,t.length-i,this.endian);for(var r=0;r>>24&255,n[r++]=t>>>16&255,n[r++]=t>>>8&255,n[r++]=255&t}else for(n[r++]=255&t,n[r++]=t>>>8&255,n[r++]=t>>>16&255,n[r++]=t>>>24&255,n[r++]=0,n[r++]=0,n[r++]=0,n[r++]=0,o=8;othis.blockSize&&(t=(new this.Hash).update(t).digest()),r(t.length<=this.blockSize);for(var e=t.length;e>>3},e.g1_256=function(t){return n(t,17)^n(t,19)^t>>>10}},67426(t,e,i){"use strict";var n=i(43349),r=i(56698);function o(t,e){return 55296==(64512&t.charCodeAt(e))&&!(e<0||e+1>=t.length)&&56320==(64512&t.charCodeAt(e+1))}function s(t){return(t>>>24|t>>>8&65280|t<<8&16711680|(255&t)<<24)>>>0}function a(t){return 1===t.length?"0"+t:t}function u(t){return 7===t.length?"0"+t:6===t.length?"00"+t:5===t.length?"000"+t:4===t.length?"0000"+t:3===t.length?"00000"+t:2===t.length?"000000"+t:1===t.length?"0000000"+t:t}e.inherits=r,e.toArray=function(t,e){if(Array.isArray(t))return t.slice();if(!t)return[];var i=[];if("string"==typeof t)if(e){if("hex"===e)for((t=t.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(t="0"+t),r=0;r>6|192,i[n++]=63&s|128):o(t,r)?(s=65536+((1023&s)<<10)+(1023&t.charCodeAt(++r)),i[n++]=s>>18|240,i[n++]=s>>12&63|128,i[n++]=s>>6&63|128,i[n++]=63&s|128):(i[n++]=s>>12|224,i[n++]=s>>6&63|128,i[n++]=63&s|128)}else for(r=0;r>>0}return s},e.split32=function(t,e){for(var i=new Array(4*t.length),n=0,r=0;n>>24,i[r+1]=o>>>16&255,i[r+2]=o>>>8&255,i[r+3]=255&o):(i[r+3]=o>>>24,i[r+2]=o>>>16&255,i[r+1]=o>>>8&255,i[r]=255&o)}return i},e.rotr32=function(t,e){return t>>>e|t<<32-e},e.rotl32=function(t,e){return t<>>32-e},e.sum32=function(t,e){return t+e>>>0},e.sum32_3=function(t,e,i){return t+e+i>>>0},e.sum32_4=function(t,e,i,n){return t+e+i+n>>>0},e.sum32_5=function(t,e,i,n,r){return t+e+i+n+r>>>0},e.sum64=function(t,e,i,n){var r=t[e],o=n+t[e+1]>>>0,s=(o>>0,t[e+1]=o},e.sum64_hi=function(t,e,i,n){return(e+n>>>0>>0},e.sum64_lo=function(t,e,i,n){return e+n>>>0},e.sum64_4_hi=function(t,e,i,n,r,o,s,a){var u=0,c=e;return u+=(c=c+n>>>0)>>0)>>0)>>0},e.sum64_4_lo=function(t,e,i,n,r,o,s,a){return e+n+o+a>>>0},e.sum64_5_hi=function(t,e,i,n,r,o,s,a,u,c){var h=0,l=e;return h+=(l=l+n>>>0)>>0)>>0)>>0)>>0},e.sum64_5_lo=function(t,e,i,n,r,o,s,a,u,c){return e+n+o+a+c>>>0},e.rotr64_hi=function(t,e,i){return(e<<32-i|t>>>i)>>>0},e.rotr64_lo=function(t,e,i){return(t<<32-i|e>>>i)>>>0},e.shr64_hi=function(t,e,i){return t>>>i},e.shr64_lo=function(t,e,i){return(t<<32-i|e>>>i)>>>0}},32723(t,e,i){"use strict";var n=i(77952),r=i(64367),o=i(43349);function s(t){if(!(this instanceof s))return new s(t);this.hash=t.hash,this.predResist=!!t.predResist,this.outLen=this.hash.outSize,this.minEntropy=t.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var e=r.toArray(t.entropy,t.entropyEnc||"hex"),i=r.toArray(t.nonce,t.nonceEnc||"hex"),n=r.toArray(t.pers,t.persEnc||"hex");o(e.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(e,i,n)}t.exports=s,s.prototype._init=function(t,e,i){var n=t.concat(e).concat(i);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var r=0;r=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(t.concat(i||[])),this._reseed=1},s.prototype.generate=function(t,e,i,n){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");"string"!=typeof e&&(n=i,i=e,e=null),i&&(i=r.toArray(i,n||"hex"),this._update(i));for(var o=[];o.length",options:{classes:{},disabled:!1,create:null},_createWidget:function(e,n){n=t(n||this.defaultElement||this)[0],this.element=t(n),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=t(),this.hoverable=t(),this.focusable=t(),this.classesElementLookup={},n!==this&&(t.data(n,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===n&&this.destroy()}}),this.document=t(n.style?n.ownerDocument:n.document||n),this.window=t(this.document[0].defaultView||this.document[0].parentWindow)),this.options=t.widget.extend({},this.options,this._getCreateOptions(),e),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:t.noop,_create:t.noop,_init:t.noop,destroy:function(){var e=this;this._destroy(),t.each(this.classesElementLookup,function(t,i){e._removeClass(i,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:t.noop,widget:function(){return this.element},option:function(e,i){var n,r,o,s=e;if(0===arguments.length)return t.widget.extend({},this.options);if("string"==typeof e)if(s={},n=e.split("."),e=n.shift(),n.length){for(r=s[e]=t.widget.extend({},this.options[e]),o=0;o
      "),o=r.children()[0];return t("body").append(r),i=o.offsetWidth,r.css("overflow","scroll"),i===(n=o.offsetWidth)&&(n=r[0].clientWidth),r.remove(),e=i-n},getScrollInfo:function(e){var i=e.isWindow||e.isDocument?"":e.element.css("overflow-x"),n=e.isWindow||e.isDocument?"":e.element.css("overflow-y"),r="scroll"===i||"auto"===i&&e.width0?"right":"center",vertical:h<0?"top":u>0?"bottom":"middle"};fi(n(u),n(h))?l.important="horizontal":l.important="vertical",e.using.call(this,t,l)}),s.offset(t.extend(_,{using:o}))})},t.ui.position={fit:{left:function(t,e){var n,r=e.within,o=r.isWindow?r.scrollLeft:r.offset.left,s=r.width,a=t.left-e.collisionPosition.marginLeft,u=o-a,c=a+e.collisionWidth-s-o;e.collisionWidth>s?u>0&&c<=0?(n=t.left+u+e.collisionWidth-s-o,t.left+=u-n):t.left=c>0&&u<=0?o:u>c?o+s-e.collisionWidth:o:u>0?t.left+=u:c>0?t.left-=c:t.left=i(t.left-a,t.left)},top:function(t,e){var n,r=e.within,o=r.isWindow?r.scrollTop:r.offset.top,s=e.within.height,a=t.top-e.collisionPosition.marginTop,u=o-a,c=a+e.collisionHeight-s-o;e.collisionHeight>s?u>0&&c<=0?(n=t.top+u+e.collisionHeight-s-o,t.top+=u-n):t.top=c>0&&u<=0?o:u>c?o+s-e.collisionHeight:o:u>0?t.top+=u:c>0?t.top-=c:t.top=i(t.top-a,t.top)}},flip:{left:function(t,e){var i,r,o=e.within,s=o.offset.left+o.scrollLeft,a=o.width,u=o.isWindow?o.scrollLeft:o.offset.left,c=t.left-e.collisionPosition.marginLeft,h=c-u,l=c+e.collisionWidth-a-u,d="left"===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,f="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,p=-2*e.offset[0];h<0?((i=t.left+d+f+p+e.collisionWidth-a-s)<0||i0&&((r=t.left-e.collisionPosition.marginLeft+d+f+p-u)>0||n(r)0&&((i=t.top-e.collisionPosition.marginTop+d+f+p-u)>0||n(i)")[0],m=a.each;function v(t){return null==t?t+"":"object"==typeof t?u[c.call(t)]||"object":typeof t}function b(t,e,i){var n=p[e.type]||{};return null==t?i||!e.def?null:e.def:(t=n.floor?~~t:parseFloat(t),isNaN(t)?e.def:n.mod?(t+n.mod)%n.mod:Math.min(n.max,Math.max(0,t)))}function y(t){var e=d(),i=e._rgba=[];return t=t.toLowerCase(),m(l,function(n,r){var o,s=r.re.exec(t),a=s&&r.parse(s),u=r.space||"rgba";if(a)return o=e[u](a),e[f[u].cache]=o[f[u].cache],i=e._rgba=o._rgba,!1}),i.length?("0,0,0,0"===i.join()&&a.extend(i,o.transparent),e):o[t]}function w(t,e,i){return 6*(i=(i+1)%1)<1?t+(e-t)*i*6:2*i<1?e:3*i<2?t+(e-t)*(2/3-i)*6:t}A.style.cssText="background-color:rgba(1,1,1,.5)",g.rgba=A.style.backgroundColor.indexOf("rgba")>-1,m(f,function(t,e){e.cache="_"+t,e.props.alpha={idx:3,type:"percent",def:1}}),a.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(t,e){u["[object "+e+"]"]=e.toLowerCase()}),d.fn=a.extend(d.prototype,{parse:function(t,e,i,n){if(void 0===t)return this._rgba=[null,null,null,null],this;(t.jquery||t.nodeType)&&(t=a(t).css(e),e=void 0);var r=this,s=v(t),u=this._rgba=[];return void 0!==e&&(t=[t,e,i,n],s="array"),"string"===s?this.parse(y(t)||o._default):"array"===s?(m(f.rgba.props,function(e,i){u[i.idx]=b(t[i.idx],i)}),this):"object"===s?(m(f,t instanceof d?function(e,i){t[i.cache]&&(r[i.cache]=t[i.cache].slice())}:function(e,i){var n=i.cache;m(i.props,function(e,o){if(!r[n]&&i.to){if("alpha"===e||null==t[e])return;r[n]=i.to(r._rgba)}r[n][o.idx]=b(t[e],o,!0)}),r[n]&&a.inArray(null,r[n].slice(0,3))<0&&(null==r[n][3]&&(r[n][3]=1),i.from&&(r._rgba=i.from(r[n])))}),this):void 0},is:function(t){var e=d(t),i=!0,n=this;return m(f,function(t,r){var o,s=e[r.cache];return s&&(o=n[r.cache]||r.to&&r.to(n._rgba)||[],m(r.props,function(t,e){if(null!=s[e.idx])return i=s[e.idx]===o[e.idx]})),i}),i},_space:function(){var t=[],e=this;return m(f,function(i,n){e[n.cache]&&t.push(i)}),t.pop()},transition:function(t,e){var i=d(t),n=i._space(),r=f[n],o=0===this.alpha()?d("transparent"):this,s=o[r.cache]||r.to(o._rgba),a=s.slice();return i=i[r.cache],m(r.props,function(t,n){var r=n.idx,o=s[r],u=i[r],c=p[n.type]||{};null!==u&&(null===o?a[r]=u:(c.mod&&(u-o>c.mod/2?o+=c.mod:o-u>c.mod/2&&(o-=c.mod)),a[r]=b((u-o)*e+o,n)))}),this[n](a)},blend:function(t){if(1===this._rgba[3])return this;var e=this._rgba.slice(),i=e.pop(),n=d(t)._rgba;return d(a.map(e,function(t,e){return(1-i)*n[e]+i*t}))},toRgbaString:function(){var t="rgba(",e=a.map(this._rgba,function(t,e){return null!=t?t:e>2?1:0});return 1===e[3]&&(e.pop(),t="rgb("),t+e.join()+")"},toHslaString:function(){var t="hsla(",e=a.map(this.hsla(),function(t,e){return null==t&&(t=e>2?1:0),e&&e<3&&(t=Math.round(100*t)+"%"),t});return 1===e[3]&&(e.pop(),t="hsl("),t+e.join()+")"},toHexString:function(t){var e=this._rgba.slice(),i=e.pop();return t&&e.push(~~(255*i)),"#"+a.map(e,function(t){return 1===(t=(t||0).toString(16)).length?"0"+t:t}).join("")},toString:function(){return 0===this._rgba[3]?"transparent":this.toRgbaString()}}),d.fn.parse.prototype=d.fn,f.hsla.to=function(t){if(null==t[0]||null==t[1]||null==t[2])return[null,null,null,t[3]];var e,i,n=t[0]/255,r=t[1]/255,o=t[2]/255,s=t[3],a=Math.max(n,r,o),u=Math.min(n,r,o),c=a-u,h=a+u,l=.5*h;return e=u===a?0:n===a?60*(r-o)/c+360:r===a?60*(o-n)/c+120:60*(n-r)/c+240,i=0===c?0:l<=.5?c/h:c/(2-h),[Math.round(e)%360,i,l,null==s?1:s]},f.hsla.from=function(t){if(null==t[0]||null==t[1]||null==t[2])return[null,null,null,t[3]];var e=t[0]/360,i=t[1],n=t[2],r=t[3],o=n<=.5?n*(1+i):n+i-n*i,s=2*n-o;return[Math.round(255*w(s,o,e+1/3)),Math.round(255*w(s,o,e)),Math.round(255*w(s,o,e-1/3)),r]},m(f,function(t,e){var i=e.props,n=e.cache,r=e.to,o=e.from;d.fn[t]=function(t){if(r&&!this[n]&&(this[n]=r(this._rgba)),void 0===t)return this[n].slice();var e,s=v(t),a="array"===s||"object"===s?t:arguments,u=this[n].slice();return m(i,function(t,e){var i=a["object"===s?t:e.idx];null==i&&(i=u[e.idx]),u[e.idx]=b(i,e)}),o?((e=d(o(u)))[n]=u,e):d(u)},m(i,function(e,i){d.fn[e]||(d.fn[e]=function(n){var r,o,s,a,u=v(n);return o=(r=this[a="alpha"===e?this._hsla?"hsla":"rgba":t]())[i.idx],"undefined"===u?o:("function"===u&&(u=v(n=n.call(this,o))),null==n&&i.empty?this:("string"===u&&(s=h.exec(n))&&(n=o+parseFloat(s[2])*("+"===s[1]?1:-1)),r[i.idx]=n,this[a](r)))})})}),d.hook=function(t){var e=t.split(" ");m(e,function(t,e){a.cssHooks[e]={set:function(t,i){var n,r,o="";if("transparent"!==i&&("string"!==v(i)||(n=y(i)))){if(i=d(n||i),!g.rgba&&1!==i._rgba[3]){for(r="backgroundColor"===e?t.parentNode:t;(""===o||"transparent"===o)&&r&&r.style;)try{o=a.css(r,"backgroundColor"),r=r.parentNode}catch(t){}i=i.blend(o&&"transparent"!==o?o:"_default")}i=i.toRgbaString()}try{t.style[e]=i}catch(t){}}},a.fx.step[e]=function(t){t.colorInit||(t.start=d(t.elem,e),t.end=d(t.end),t.colorInit=!0),a.cssHooks[e].set(t.elem,t.start.transition(t.end,t.pos))}})},d.hook("backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor"),a.cssHooks.borderColor={expand:function(t){var e={};return m(["Top","Right","Bottom","Left"],function(i,n){e["border"+n+"Color"]=t}),e}},o=a.Color.names={aqua:"#00ffff",black:"#000000",blue:"#0000ff",fuchsia:"#ff00ff",gray:"#808080",green:"#008000",lime:"#00ff00",maroon:"#800000",navy:"#000080",olive:"#808000",purple:"#800080",red:"#ff0000",silver:"#c0c0c0",teal:"#008080",white:"#ffffff",yellow:"#ffff00",transparent:[null,null,null,0],_default:"#ffffff"};var C,x,k="ui-effects-",_="ui-effects-style",M="ui-effects-animated";if(t.effects={effect:{}},function(){var e=["add","remove","toggle"],i={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};function n(t){return t.replace(/-([\da-z])/gi,function(t,e){return e.toUpperCase()})}function r(t){var e,i,r=t.ownerDocument.defaultView?t.ownerDocument.defaultView.getComputedStyle(t,null):t.currentStyle,o={};if(r&&r.length&&r[0]&&r[r[0]])for(i=r.length;i--;)"string"==typeof r[e=r[i]]&&(o[n(e)]=r[e]);else for(e in r)"string"==typeof r[e]&&(o[e]=r[e]);return o}t.each(["borderLeftStyle","borderRightStyle","borderBottomStyle","borderTopStyle"],function(e,i){t.fx.step[i]=function(t){("none"!==t.end&&!t.setAttr||1===t.pos&&!t.setAttr)&&(a.style(t.elem,i,t.end),t.setAttr=!0)}}),t.fn.addBack||(t.fn.addBack=function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}),t.effects.animateClass=function(n,o,s,a){var u=t.speed(o,s,a);return this.queue(function(){var o,s=t(this),a=s.attr("class")||"",c=u.children?s.find("*").addBack():s;c=c.map(function(){return{el:t(this),start:r(this)}}),(o=function(){t.each(e,function(t,e){n[e]&&s[e+"Class"](n[e])})})(),c=c.map(function(){return this.end=r(this.el[0]),this.diff=function(e,n){var r,o,s={};for(r in n)o=n[r],e[r]!==o&&(i[r]||!t.fx.step[r]&&isNaN(parseFloat(o))||(s[r]=o));return s}(this.start,this.end),this}),s.attr("class",a),c=c.map(function(){var e=this,i=t.Deferred(),n=t.extend({},u,{queue:!1,complete:function(){i.resolve(e)}});return this.el.animate(this.diff,n),i.promise()}),t.when.apply(t,c.get()).done(function(){o(),t.each(arguments,function(){var e=this.el;t.each(this.diff,function(t){e.css(t,"")})}),u.complete.call(s[0])})})},t.fn.extend({addClass:function(e){return function(i,n,r,o){return n?t.effects.animateClass.call(this,{add:i},n,r,o):e.apply(this,arguments)}}(t.fn.addClass),removeClass:function(e){return function(i,n,r,o){return arguments.length>1?t.effects.animateClass.call(this,{remove:i},n,r,o):e.apply(this,arguments)}}(t.fn.removeClass),toggleClass:function(e){return function(i,n,r,o,s){return"boolean"==typeof n||void 0===n?r?t.effects.animateClass.call(this,n?{add:i}:{remove:i},r,o,s):e.apply(this,arguments):t.effects.animateClass.call(this,{toggle:i},n,r,o)}}(t.fn.toggleClass),switchClass:function(e,i,n,r,o){return t.effects.animateClass.call(this,{add:i,remove:e},n,r,o)}})}(),function(){function e(e,i,n,r){return t.isPlainObject(e)&&(i=e,e=e.effect),e={effect:e},null==i&&(i={}),"function"==typeof i&&(r=i,n=null,i={}),("number"==typeof i||t.fx.speeds[i])&&(r=n,n=i,i={}),"function"==typeof n&&(r=n,n=null),i&&t.extend(e,i),n=n||i.duration,e.duration=t.fx.off?0:"number"==typeof n?n:n in t.fx.speeds?t.fx.speeds[n]:t.fx.speeds._default,e.complete=r||i.complete,e}function i(e){return!(e&&"number"!=typeof e&&!t.fx.speeds[e])||"string"==typeof e&&!t.effects.effect[e]||"function"==typeof e||"object"==typeof e&&!e.effect}function n(t,e){var i=e.outerWidth(),n=e.outerHeight(),r=/^rect\((-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto)\)$/.exec(t)||["",0,i,n,0];return{top:parseFloat(r[1])||0,right:"auto"===r[2]?i:parseFloat(r[2]),bottom:"auto"===r[3]?n:parseFloat(r[3]),left:parseFloat(r[4])||0}}t.expr&&t.expr.pseudos&&t.expr.pseudos.animated&&(t.expr.pseudos.animated=function(e){return function(i){return!!t(i).data(M)||e(i)}}(t.expr.pseudos.animated)),!1!==t.uiBackCompat&&t.extend(t.effects,{save:function(t,e){for(var i=0,n=e.length;i
      ").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}),r={width:e.width(),height:e.height()},o=document.activeElement;try{o.id}catch(t){o=document.body}return e.wrap(n),(e[0]===o||t.contains(e[0],o))&&t(o).trigger("focus"),n=e.parent(),"static"===e.css("position")?(n.css({position:"relative"}),e.css({position:"relative"})):(t.extend(i,{position:e.css("position"),zIndex:e.css("z-index")}),t.each(["top","left","bottom","right"],function(t,n){i[n]=e.css(n),isNaN(parseInt(i[n],10))&&(i[n]="auto")}),e.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})),e.css(r),n.css(i).show()},removeWrapper:function(e){var i=document.activeElement;return e.parent().is(".ui-effects-wrapper")&&(e.parent().replaceWith(e),(e[0]===i||t.contains(e[0],i))&&t(i).trigger("focus")),e}}),t.extend(t.effects,{version:"1.13.3",define:function(e,i,n){return n||(n=i,i="effect"),t.effects.effect[e]=n,t.effects.effect[e].mode=i,n},scaledDimensions:function(t,e,i){if(0===e)return{height:0,width:0,outerHeight:0,outerWidth:0};var n="horizontal"!==i?(e||100)/100:1,r="vertical"!==i?(e||100)/100:1;return{height:t.height()*r,width:t.width()*n,outerHeight:t.outerHeight()*r,outerWidth:t.outerWidth()*n}},clipToBox:function(t){return{width:t.clip.right-t.clip.left,height:t.clip.bottom-t.clip.top,left:t.clip.left,top:t.clip.top}},unshift:function(t,e,i){var n=t.queue();e>1&&n.splice.apply(n,[1,0].concat(n.splice(e,i))),t.dequeue()},saveStyle:function(t){t.data(_,t[0].style.cssText)},restoreStyle:function(t){t[0].style.cssText=t.data(_)||"",t.removeData(_)},mode:function(t,e){var i=t.is(":hidden");return"toggle"===e&&(e=i?"show":"hide"),(i?"hide"===e:"show"===e)&&(e="none"),e},getBaseline:function(t,e){var i,n;switch(t[0]){case"top":i=0;break;case"middle":i=.5;break;case"bottom":i=1;break;default:i=t[0]/e.height}switch(t[1]){case"left":n=0;break;case"center":n=.5;break;case"right":n=1;break;default:n=t[1]/e.width}return{x:n,y:i}},createPlaceholder:function(e){var i,n=e.css("position"),r=e.position();return e.css({marginTop:e.css("marginTop"),marginBottom:e.css("marginBottom"),marginLeft:e.css("marginLeft"),marginRight:e.css("marginRight")}).outerWidth(e.outerWidth()).outerHeight(e.outerHeight()),/^(static|relative)/.test(n)&&(n="absolute",i=t("<"+e[0].nodeName+">").insertAfter(e).css({display:/^(inline|ruby)/.test(e.css("display"))?"inline-block":"block",visibility:"hidden",marginTop:e.css("marginTop"),marginBottom:e.css("marginBottom"),marginLeft:e.css("marginLeft"),marginRight:e.css("marginRight"),float:e.css("float")}).outerWidth(e.outerWidth()).outerHeight(e.outerHeight()).addClass("ui-effects-placeholder"),e.data(k+"placeholder",i)),e.css({position:n,left:r.left,top:r.top}),i},removePlaceholder:function(t){var e=k+"placeholder",i=t.data(e);i&&(i.remove(),t.removeData(e))},cleanUp:function(e){t.effects.restoreStyle(e),t.effects.removePlaceholder(e)},setTransition:function(e,i,n,r){return r=r||{},t.each(i,function(t,i){var o=e.cssUnit(i);o[0]>0&&(r[i]=o[0]*n+o[1])}),r}}),t.fn.extend({effect:function(){var i=e.apply(this,arguments),n=t.effects.effect[i.effect],r=n.mode,o=i.queue,s=o||"fx",a=i.complete,u=i.mode,c=[],h=function(e){var i=t(this),n=t.effects.mode(i,u)||r;i.data(M,!0),c.push(n),r&&("show"===n||n===r&&"hide"===n)&&i.show(),r&&"none"===n||t.effects.saveStyle(i),"function"==typeof e&&e()};if(t.fx.off||!n)return u?this[u](i.duration,a):this.each(function(){a&&a.call(this)});function l(e){var o=t(this);function s(){"function"==typeof a&&a.call(o[0]),"function"==typeof e&&e()}i.mode=c.shift(),!1===t.uiBackCompat||r?"none"===i.mode?(o[u](),s()):n.call(o[0],i,function(){o.removeData(M),t.effects.cleanUp(o),"hide"===i.mode&&o.hide(),s()}):(o.is(":hidden")?"hide"===u:"show"===u)?(o[u](),s()):n.call(o[0],i,s)}return!1===o?this.each(h).each(l):this.queue(s,h).queue(s,l)},show:function(t){return function(n){if(i(n))return t.apply(this,arguments);var r=e.apply(this,arguments);return r.mode="show",this.effect.call(this,r)}}(t.fn.show),hide:function(t){return function(n){if(i(n))return t.apply(this,arguments);var r=e.apply(this,arguments);return r.mode="hide",this.effect.call(this,r)}}(t.fn.hide),toggle:function(t){return function(n){if(i(n)||"boolean"==typeof n)return t.apply(this,arguments);var r=e.apply(this,arguments);return r.mode="toggle",this.effect.call(this,r)}}(t.fn.toggle),cssUnit:function(e){var i=this.css(e),n=[];return t.each(["em","px","%","pt"],function(t,e){i.indexOf(e)>0&&(n=[parseFloat(i),e])}),n},cssClip:function(t){return t?this.css("clip","rect("+t.top+"px "+t.right+"px "+t.bottom+"px "+t.left+"px)"):n(this.css("clip"),this)},transfer:function(e,i){var n=t(this),r=t(e.to),o="fixed"===r.css("position"),s=t("body"),a=o?s.scrollTop():0,u=o?s.scrollLeft():0,c=r.offset(),h={top:c.top-a,left:c.left-u,height:r.innerHeight(),width:r.innerWidth()},l=n.offset(),d=t("
      ");d.appendTo("body").addClass(e.className).css({top:l.top-a,left:l.left-u,height:n.innerHeight(),width:n.innerWidth(),position:o?"fixed":"absolute"}).animate(h,e.duration,e.easing,function(){d.remove(),"function"==typeof i&&i()})}}),t.fx.step.clip=function(e){e.clipInit||(e.start=t(e.elem).cssClip(),"string"==typeof e.end&&(e.end=n(e.end,e.elem)),e.clipInit=!0),t(e.elem).cssClip({top:e.pos*(e.end.top-e.start.top)+e.start.top,right:e.pos*(e.end.right-e.start.right)+e.start.right,bottom:e.pos*(e.end.bottom-e.start.bottom)+e.start.bottom,left:e.pos*(e.end.left-e.start.left)+e.start.left})}}(),C={},t.each(["Quad","Cubic","Quart","Quint","Expo"],function(t,e){C[e]=function(e){return Math.pow(e,t+2)}}),t.extend(C,{Sine:function(t){return 1-Math.cos(t*Math.PI/2)},Circ:function(t){return 1-Math.sqrt(1-t*t)},Elastic:function(t){return 0===t||1===t?t:-Math.pow(2,8*(t-1))*Math.sin((80*(t-1)-7.5)*Math.PI/15)},Back:function(t){return t*t*(3*t-2)},Bounce:function(t){for(var e,i=4;t<((e=Math.pow(2,--i))-1)/11;);return 1/Math.pow(4,3-i)-7.5625*Math.pow((3*e-2)/22-t,2)}}),t.each(C,function(e,i){t.easing["easeIn"+e]=i,t.easing["easeOut"+e]=function(t){return 1-i(1-t)},t.easing["easeInOut"+e]=function(t){return t<.5?i(2*t)/2:1-i(-2*t+2)/2}}),t.effects,t.effects.define("blind","hide",function(e,i){var n={up:["bottom","top"],vertical:["bottom","top"],down:["top","bottom"],left:["right","left"],horizontal:["right","left"],right:["left","right"]},r=t(this),o=e.direction||"up",s=r.cssClip(),a={clip:t.extend({},s)},u=t.effects.createPlaceholder(r);a.clip[n[o][0]]=a.clip[n[o][1]],"show"===e.mode&&(r.cssClip(a.clip),u&&u.css(t.effects.clipToBox(a)),a.clip=s),u&&u.animate(t.effects.clipToBox(a),e.duration,e.easing),r.animate(a,{queue:!1,duration:e.duration,easing:e.easing,complete:i})}),t.effects.define("bounce",function(e,i){var n,r,o,s=t(this),a=e.mode,u="hide"===a,c="show"===a,h=e.direction||"up",l=e.distance,d=e.times||5,f=2*d+(c||u?1:0),p=e.duration/f,g=e.easing,A="up"===h||"down"===h?"top":"left",m="up"===h||"left"===h,v=0,b=s.queue().length;for(t.effects.createPlaceholder(s),o=s.css(A),l||(l=s["top"===A?"outerHeight":"outerWidth"]()/3),c&&((r={opacity:1})[A]=o,s.css("opacity",0).css(A,m?2*-l:2*l).animate(r,p,g)),u&&(l/=Math.pow(2,d-1)),(r={})[A]=o;v
      ").css({position:"absolute",visibility:"visible",left:-r*p,top:-n*g}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:p,height:g,left:o+(d?a*p:0),top:s+(d?u*g:0),opacity:d?0:1}).animate({left:o+(d?0:a*p),top:s+(d?0:u*g),opacity:d?1:0},e.duration||500,e.easing,m)}),t.effects.define("fade","toggle",function(e,i){var n="show"===e.mode;t(this).css("opacity",n?0:1).animate({opacity:n?1:0},{queue:!1,duration:e.duration,easing:e.easing,complete:i})}),t.effects.define("fold","hide",function(e,i){var n=t(this),r=e.mode,o="show"===r,s="hide"===r,a=e.size||15,u=/([0-9]+)%/.exec(a),c=e.horizFirst?["right","bottom"]:["bottom","right"],h=e.duration/2,l=t.effects.createPlaceholder(n),d=n.cssClip(),f={clip:t.extend({},d)},p={clip:t.extend({},d)},g=[d[c[0]],d[c[1]]],A=n.queue().length;u&&(a=parseInt(u[1],10)/100*g[s?0:1]),f.clip[c[0]]=a,p.clip[c[0]]=a,p.clip[c[1]]=0,o&&(n.cssClip(p.clip),l&&l.css(t.effects.clipToBox(p)),p.clip=d),n.queue(function(i){l&&l.animate(t.effects.clipToBox(f),h,e.easing).animate(t.effects.clipToBox(p),h,e.easing),i()}).animate(f,h,e.easing).animate(p,h,e.easing).queue(i),t.effects.unshift(n,A,4)}),t.effects.define("highlight","show",function(e,i){var n=t(this),r={backgroundColor:n.css("backgroundColor")};"hide"===e.mode&&(r.opacity=0),t.effects.saveStyle(n),n.css({backgroundImage:"none",backgroundColor:e.color||"#ffff99"}).animate(r,{queue:!1,duration:e.duration,easing:e.easing,complete:i})}),t.effects.define("size",function(e,i){var n,r,o,s=t(this),a=["fontSize"],u=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],c=["borderLeftWidth","borderRightWidth","paddingLeft","paddingRight"],h=e.mode,l="effect"!==h,d=e.scale||"both",f=e.origin||["middle","center"],p=s.css("position"),g=s.position(),A=t.effects.scaledDimensions(s),m=e.from||A,v=e.to||t.effects.scaledDimensions(s,0);t.effects.createPlaceholder(s),"show"===h&&(o=m,m=v,v=o),r={from:{y:m.height/A.height,x:m.width/A.width},to:{y:v.height/A.height,x:v.width/A.width}},"box"!==d&&"both"!==d||(r.from.y!==r.to.y&&(m=t.effects.setTransition(s,u,r.from.y,m),v=t.effects.setTransition(s,u,r.to.y,v)),r.from.x!==r.to.x&&(m=t.effects.setTransition(s,c,r.from.x,m),v=t.effects.setTransition(s,c,r.to.x,v))),"content"!==d&&"both"!==d||r.from.y!==r.to.y&&(m=t.effects.setTransition(s,a,r.from.y,m),v=t.effects.setTransition(s,a,r.to.y,v)),f&&(n=t.effects.getBaseline(f,A),m.top=(A.outerHeight-m.outerHeight)*n.y+g.top,m.left=(A.outerWidth-m.outerWidth)*n.x+g.left,v.top=(A.outerHeight-v.outerHeight)*n.y+g.top,v.left=(A.outerWidth-v.outerWidth)*n.x+g.left),delete m.outerHeight,delete m.outerWidth,s.css(m),"content"!==d&&"both"!==d||(u=u.concat(["marginTop","marginBottom"]).concat(a),c=c.concat(["marginLeft","marginRight"]),s.find("*[width]").each(function(){var i=t(this),n=t.effects.scaledDimensions(i),o={height:n.height*r.from.y,width:n.width*r.from.x,outerHeight:n.outerHeight*r.from.y,outerWidth:n.outerWidth*r.from.x},s={height:n.height*r.to.y,width:n.width*r.to.x,outerHeight:n.height*r.to.y,outerWidth:n.width*r.to.x};r.from.y!==r.to.y&&(o=t.effects.setTransition(i,u,r.from.y,o),s=t.effects.setTransition(i,u,r.to.y,s)),r.from.x!==r.to.x&&(o=t.effects.setTransition(i,c,r.from.x,o),s=t.effects.setTransition(i,c,r.to.x,s)),l&&t.effects.saveStyle(i),i.css(o),i.animate(s,e.duration,e.easing,function(){l&&t.effects.restoreStyle(i)})})),s.animate(v,{queue:!1,duration:e.duration,easing:e.easing,complete:function(){var e=s.offset();0===v.opacity&&s.css("opacity",m.opacity),l||(s.css("position","static"===p?"relative":p).offset(e),t.effects.saveStyle(s)),i()}})}),t.effects.define("scale",function(e,i){var n=t(this),r=e.mode,o=parseInt(e.percent,10)||(0===parseInt(e.percent,10)||"effect"!==r?0:100),s=t.extend(!0,{from:t.effects.scaledDimensions(n),to:t.effects.scaledDimensions(n,o,e.direction||"both"),origin:e.origin||["middle","center"]},e);e.fade&&(s.from.opacity=1,s.to.opacity=0),t.effects.effect.size.call(this,s,i)}),t.effects.define("puff","hide",function(e,i){var n=t.extend(!0,{},e,{fade:!0,percent:parseInt(e.percent,10)||150});t.effects.effect.scale.call(this,n,i)}),t.effects.define("pulsate","show",function(e,i){var n=t(this),r=e.mode,o="show"===r,s=o||"hide"===r,a=2*(e.times||5)+(s?1:0),u=e.duration/a,c=0,h=1,l=n.queue().length;for(!o&&n.is(":visible")||(n.css("opacity",0).show(),c=1);h0&&o.is(":visible")):(/^(input|select|textarea|button|object)$/.test(u)?(s=!e.disabled)&&(a=t(e).closest("fieldset")[0])&&(s=!a.disabled):s="a"===u&&e.href||i,s&&t(e).is(":visible")&&function(t){for(var e=t.css("visibility");"inherit"===e;)e=(t=t.parent()).css("visibility");return"visible"===e}(t(e)))},t.extend(t.expr.pseudos,{focusable:function(e){return t.ui.focusable(e,null!=t.attr(e,"tabindex"))}}),t.ui.focusable,t.fn._form=function(){return"string"==typeof this[0].form?this.closest("form"):t(this[0].form)},t.ui.formResetMixin={_formResetHandler:function(){var e=t(this);setTimeout(function(){var i=e.data("ui-form-reset-instances");t.each(i,function(){this.refresh()})})},_bindFormResetHandler:function(){if(this.form=this.element._form(),this.form.length){var t=this.form.data("ui-form-reset-instances")||[];t.length||this.form.on("reset.ui-form-reset",this._formResetHandler),t.push(this),this.form.data("ui-form-reset-instances",t)}},_unbindFormResetHandler:function(){if(this.form.length){var e=this.form.data("ui-form-reset-instances");e.splice(t.inArray(this,e),1),e.length?this.form.data("ui-form-reset-instances",e):this.form.removeData("ui-form-reset-instances").off("reset.ui-form-reset")}}},t.expr.pseudos||(t.expr.pseudos=t.expr[":"]),t.uniqueSort||(t.uniqueSort=t.unique),!t.escapeSelector){var B=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g,E=function(t,e){return e?"\0"===t?"�":t.slice(0,-1)+"\\"+t.charCodeAt(t.length-1).toString(16)+" ":"\\"+t};t.escapeSelector=function(t){return(t+"").replace(B,E)}}t.fn.even&&t.fn.odd||t.fn.extend({even:function(){return this.filter(function(t){return t%2==0})},odd:function(){return this.filter(function(t){return t%2==1})}}),t.ui.keyCode={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38},t.fn.labels=function(){var e,i,n,r,o;return this.length?this[0].labels&&this[0].labels.length?this.pushStack(this[0].labels):(r=this.eq(0).parents("label"),(n=this.attr("id"))&&(o=(e=this.eq(0).parents().last()).add(e.length?e.siblings():this.siblings()),i="label[for='"+t.escapeSelector(n)+"']",r=r.add(o.find(i).addBack(i))),this.pushStack(r)):this.pushStack([])},t.fn.scrollParent=function(e){var i=this.css("position"),n="absolute"===i,r=e?/(auto|scroll|hidden)/:/(auto|scroll)/,o=this.parents().filter(function(){var e=t(this);return(!n||"static"!==e.css("position"))&&r.test(e.css("overflow")+e.css("overflow-y")+e.css("overflow-x"))}).eq(0);return"fixed"!==i&&o.length?o:t(this[0].ownerDocument||document)},t.extend(t.expr.pseudos,{tabbable:function(e){var i=t.attr(e,"tabindex"),n=null!=i;return(!n||i>=0)&&t.ui.focusable(e,n)}}),t.fn.extend({uniqueId:(x=0,function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++x)})}),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&t(this).removeAttr("id")})}}),t.widget("ui.accordion",{version:"1.13.3",options:{active:0,animate:{},classes:{"ui-accordion-header":"ui-corner-top","ui-accordion-header-collapsed":"ui-corner-all","ui-accordion-content":"ui-corner-bottom"},collapsible:!1,event:"click",header:function(t){return t.find("> li > :first-child").add(t.find("> :not(li)").even())},heightStyle:"auto",icons:{activeHeader:"ui-icon-triangle-1-s",header:"ui-icon-triangle-1-e"},activate:null,beforeActivate:null},hideProps:{borderTopWidth:"hide",borderBottomWidth:"hide",paddingTop:"hide",paddingBottom:"hide",height:"hide"},showProps:{borderTopWidth:"show",borderBottomWidth:"show",paddingTop:"show",paddingBottom:"show",height:"show"},_create:function(){var e=this.options;this.prevShow=this.prevHide=t(),this._addClass("ui-accordion","ui-widget ui-helper-reset"),this.element.attr("role","tablist"),e.collapsible||!1!==e.active&&null!=e.active||(e.active=0),this._processPanels(),e.active<0&&(e.active+=this.headers.length),this._refresh()},_getCreateEventData:function(){return{header:this.active,panel:this.active.length?this.active.next():t()}},_createIcons:function(){var e,i,n=this.options.icons;n&&(e=t(""),this._addClass(e,"ui-accordion-header-icon","ui-icon "+n.header),e.prependTo(this.headers),i=this.active.children(".ui-accordion-header-icon"),this._removeClass(i,n.header)._addClass(i,null,n.activeHeader)._addClass(this.headers,"ui-accordion-icons"))},_destroyIcons:function(){this._removeClass(this.headers,"ui-accordion-icons"),this.headers.children(".ui-accordion-header-icon").remove()},_destroy:function(){var t;this.element.removeAttr("role"),this.headers.removeAttr("role aria-expanded aria-selected aria-controls tabIndex").removeUniqueId(),this._destroyIcons(),t=this.headers.next().css("display","").removeAttr("role aria-hidden aria-labelledby").removeUniqueId(),"content"!==this.options.heightStyle&&t.css("height","")},_setOption:function(t,e){"active"!==t?("event"===t&&(this.options.event&&this._off(this.headers,this.options.event),this._setupEvents(e)),this._super(t,e),"collapsible"!==t||e||!1!==this.options.active||this._activate(0),"icons"===t&&(this._destroyIcons(),e&&this._createIcons())):this._activate(e)},_setOptionDisabled:function(t){this._super(t),this.element.attr("aria-disabled",t),this._toggleClass(null,"ui-state-disabled",!!t),this._toggleClass(this.headers.add(this.headers.next()),null,"ui-state-disabled",!!t)},_keydown:function(e){if(!e.altKey&&!e.ctrlKey){var i=t.ui.keyCode,n=this.headers.length,r=this.headers.index(e.target),o=!1;switch(e.keyCode){case i.RIGHT:case i.DOWN:o=this.headers[(r+1)%n];break;case i.LEFT:case i.UP:o=this.headers[(r-1+n)%n];break;case i.SPACE:case i.ENTER:this._eventHandler(e);break;case i.HOME:o=this.headers[0];break;case i.END:o=this.headers[n-1]}o&&(t(e.target).attr("tabIndex",-1),t(o).attr("tabIndex",0),t(o).trigger("focus"),e.preventDefault())}},_panelKeyDown:function(e){e.keyCode===t.ui.keyCode.UP&&e.ctrlKey&&t(e.currentTarget).prev().trigger("focus")},refresh:function(){var e=this.options;this._processPanels(),!1===e.active&&!0===e.collapsible||!this.headers.length?(e.active=!1,this.active=t()):!1===e.active?this._activate(0):this.active.length&&!t.contains(this.element[0],this.active[0])?this.headers.length===this.headers.find(".ui-state-disabled").length?(e.active=!1,this.active=t()):this._activate(Math.max(0,e.active-1)):e.active=this.headers.index(this.active),this._destroyIcons(),this._refresh()},_processPanels:function(){var t=this.headers,e=this.panels;"function"==typeof this.options.header?this.headers=this.options.header(this.element):this.headers=this.element.find(this.options.header),this._addClass(this.headers,"ui-accordion-header ui-accordion-header-collapsed","ui-state-default"),this.panels=this.headers.next().filter(":not(.ui-accordion-content-active)").hide(),this._addClass(this.panels,"ui-accordion-content","ui-helper-reset ui-widget-content"),e&&(this._off(t.not(this.headers)),this._off(e.not(this.panels)))},_refresh:function(){var e,i=this.options,n=i.heightStyle,r=this.element.parent();this.active=this._findActive(i.active),this._addClass(this.active,"ui-accordion-header-active","ui-state-active")._removeClass(this.active,"ui-accordion-header-collapsed"),this._addClass(this.active.next(),"ui-accordion-content-active"),this.active.next().show(),this.headers.attr("role","tab").each(function(){var e=t(this),i=e.uniqueId().attr("id"),n=e.next(),r=n.uniqueId().attr("id");e.attr("aria-controls",r),n.attr("aria-labelledby",i)}).next().attr("role","tabpanel"),this.headers.not(this.active).attr({"aria-selected":"false","aria-expanded":"false",tabIndex:-1}).next().attr({"aria-hidden":"true"}).hide(),this.active.length?this.active.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0}).next().attr({"aria-hidden":"false"}):this.headers.eq(0).attr("tabIndex",0),this._createIcons(),this._setupEvents(i.event),"fill"===n?(e=r.height(),this.element.siblings(":visible").each(function(){var i=t(this),n=i.css("position");"absolute"!==n&&"fixed"!==n&&(e-=i.outerHeight(!0))}),this.headers.each(function(){e-=t(this).outerHeight(!0)}),this.headers.next().each(function(){t(this).height(Math.max(0,e-t(this).innerHeight()+t(this).height()))}).css("overflow","auto")):"auto"===n&&(e=0,this.headers.next().each(function(){var i=t(this).is(":visible");i||t(this).show(),e=Math.max(e,t(this).css("height","").height()),i||t(this).hide()}).height(e))},_activate:function(e){var i=this._findActive(e)[0];i!==this.active[0]&&(i=i||this.active[0],this._eventHandler({target:i,currentTarget:i,preventDefault:t.noop}))},_findActive:function(e){return"number"==typeof e?this.headers.eq(e):t()},_setupEvents:function(e){var i={keydown:"_keydown"};e&&t.each(e.split(" "),function(t,e){i[e]="_eventHandler"}),this._off(this.headers.add(this.headers.next())),this._on(this.headers,i),this._on(this.headers.next(),{keydown:"_panelKeyDown"}),this._hoverable(this.headers),this._focusable(this.headers)},_eventHandler:function(e){var i,n,r=this.options,o=this.active,s=t(e.currentTarget),a=s[0]===o[0],u=a&&r.collapsible,c=u?t():s.next(),h=o.next(),l={oldHeader:o,oldPanel:h,newHeader:u?t():s,newPanel:c};e.preventDefault(),a&&!r.collapsible||!1===this._trigger("beforeActivate",e,l)||(r.active=!u&&this.headers.index(s),this.active=a?t():s,this._toggle(l),this._removeClass(o,"ui-accordion-header-active","ui-state-active"),r.icons&&(i=o.children(".ui-accordion-header-icon"),this._removeClass(i,null,r.icons.activeHeader)._addClass(i,null,r.icons.header)),a||(this._removeClass(s,"ui-accordion-header-collapsed")._addClass(s,"ui-accordion-header-active","ui-state-active"),r.icons&&(n=s.children(".ui-accordion-header-icon"),this._removeClass(n,null,r.icons.header)._addClass(n,null,r.icons.activeHeader)),this._addClass(s.next(),"ui-accordion-content-active")))},_toggle:function(e){var i=e.newPanel,n=this.prevShow.length?this.prevShow:e.oldPanel;this.prevShow.add(this.prevHide).stop(!0,!0),this.prevShow=i,this.prevHide=n,this.options.animate?this._animate(i,n,e):(n.hide(),i.show(),this._toggleComplete(e)),n.attr({"aria-hidden":"true"}),n.prev().attr({"aria-selected":"false","aria-expanded":"false"}),i.length&&n.length?n.prev().attr({tabIndex:-1,"aria-expanded":"false"}):i.length&&this.headers.filter(function(){return 0===parseInt(t(this).attr("tabIndex"),10)}).attr("tabIndex",-1),i.attr("aria-hidden","false").prev().attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0})},_animate:function(t,e,i){var n,r,o,s=this,a=0,u=t.css("box-sizing"),c=t.length&&(!e.length||t.index()",delay:300,options:{icons:{submenu:"ui-icon-caret-1-e"},items:"> *",menus:"ul",position:{my:"left top",at:"right top"},role:"menu",blur:null,focus:null,select:null},_create:function(){this.activeMenu=this.element,this.mouseHandled=!1,this.lastMousePosition={x:null,y:null},this.element.uniqueId().attr({role:this.options.role,tabIndex:0}),this._addClass("ui-menu","ui-widget ui-widget-content"),this._on({"mousedown .ui-menu-item":function(t){t.preventDefault(),this._activateItem(t)},"click .ui-menu-item":function(e){var i=t(e.target),n=t(t.ui.safeActiveElement(this.document[0]));!this.mouseHandled&&i.not(".ui-state-disabled").length&&(this.select(e),e.isPropagationStopped()||(this.mouseHandled=!0),i.has(".ui-menu").length?this.expand(e):!this.element.is(":focus")&&n.closest(".ui-menu").length&&(this.element.trigger("focus",[!0]),this.active&&1===this.active.parents(".ui-menu").length&&clearTimeout(this.timer)))},"mouseenter .ui-menu-item":"_activateItem","mousemove .ui-menu-item":"_activateItem",mouseleave:"collapseAll","mouseleave .ui-menu":"collapseAll",focus:function(t,e){var i=this.active||this._menuItems().first();e||this.focus(t,i)},blur:function(e){this._delay(function(){!t.contains(this.element[0],t.ui.safeActiveElement(this.document[0]))&&this.collapseAll(e)})},keydown:"_keydown"}),this.refresh(),this._on(this.document,{click:function(t){this._closeOnDocumentClick(t)&&this.collapseAll(t,!0),this.mouseHandled=!1}})},_activateItem:function(e){if(!this.previousFilter&&(e.clientX!==this.lastMousePosition.x||e.clientY!==this.lastMousePosition.y)){this.lastMousePosition={x:e.clientX,y:e.clientY};var i=t(e.target).closest(".ui-menu-item"),n=t(e.currentTarget);i[0]===n[0]&&(n.is(".ui-state-active")||(this._removeClass(n.siblings().children(".ui-state-active"),null,"ui-state-active"),this.focus(e,n)))}},_destroy:function(){var e=this.element.find(".ui-menu-item").removeAttr("role aria-disabled").children(".ui-menu-item-wrapper").removeUniqueId().removeAttr("tabIndex role aria-haspopup");this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeAttr("role aria-labelledby aria-expanded aria-hidden aria-disabled tabIndex").removeUniqueId().show(),e.children().each(function(){var e=t(this);e.data("ui-menu-submenu-caret")&&e.remove()})},_keydown:function(e){var i,n,r,o,s=!0;switch(e.keyCode){case t.ui.keyCode.PAGE_UP:this.previousPage(e);break;case t.ui.keyCode.PAGE_DOWN:this.nextPage(e);break;case t.ui.keyCode.HOME:this._move("first","first",e);break;case t.ui.keyCode.END:this._move("last","last",e);break;case t.ui.keyCode.UP:this.previous(e);break;case t.ui.keyCode.DOWN:this.next(e);break;case t.ui.keyCode.LEFT:this.collapse(e);break;case t.ui.keyCode.RIGHT:this.active&&!this.active.is(".ui-state-disabled")&&this.expand(e);break;case t.ui.keyCode.ENTER:case t.ui.keyCode.SPACE:this._activate(e);break;case t.ui.keyCode.ESCAPE:this.collapse(e);break;default:s=!1,n=this.previousFilter||"",o=!1,r=e.keyCode>=96&&e.keyCode<=105?(e.keyCode-96).toString():String.fromCharCode(e.keyCode),clearTimeout(this.filterTimer),r===n?o=!0:r=n+r,i=this._filterMenuItems(r),(i=o&&-1!==i.index(this.active.next())?this.active.nextAll(".ui-menu-item"):i).length||(r=String.fromCharCode(e.keyCode),i=this._filterMenuItems(r)),i.length?(this.focus(e,i),this.previousFilter=r,this.filterTimer=this._delay(function(){delete this.previousFilter},1e3)):delete this.previousFilter}s&&e.preventDefault()},_activate:function(t){this.active&&!this.active.is(".ui-state-disabled")&&(this.active.children("[aria-haspopup='true']").length?this.expand(t):this.select(t))},refresh:function(){var e,i,n,r,o=this,s=this.options.icons.submenu,a=this.element.find(this.options.menus);this._toggleClass("ui-menu-icons",null,!!this.element.find(".ui-icon").length),i=a.filter(":not(.ui-menu)").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"}).each(function(){var e=t(this),i=e.prev(),n=t("").data("ui-menu-submenu-caret",!0);o._addClass(n,"ui-menu-icon","ui-icon "+s),i.attr("aria-haspopup","true").prepend(n),e.attr("aria-labelledby",i.attr("id"))}),this._addClass(i,"ui-menu","ui-widget ui-widget-content ui-front"),(e=a.add(this.element).find(this.options.items)).not(".ui-menu-item").each(function(){var e=t(this);o._isDivider(e)&&o._addClass(e,"ui-menu-divider","ui-widget-content")}),r=(n=e.not(".ui-menu-item, .ui-menu-divider")).children().not(".ui-menu").uniqueId().attr({tabIndex:-1,role:this._itemRole()}),this._addClass(n,"ui-menu-item")._addClass(r,"ui-menu-item-wrapper"),e.filter(".ui-state-disabled").attr("aria-disabled","true"),this.active&&!t.contains(this.element[0],this.active[0])&&this.blur()},_itemRole:function(){return{menu:"menuitem",listbox:"option"}[this.options.role]},_setOption:function(t,e){if("icons"===t){var i=this.element.find(".ui-menu-icon");this._removeClass(i,null,this.options.icons.submenu)._addClass(i,null,e.submenu)}this._super(t,e)},_setOptionDisabled:function(t){this._super(t),this.element.attr("aria-disabled",String(t)),this._toggleClass(null,"ui-state-disabled",!!t)},focus:function(t,e){var i,n,r;this.blur(t,t&&"focus"===t.type),this._scrollIntoView(e),this.active=e.first(),n=this.active.children(".ui-menu-item-wrapper"),this._addClass(n,null,"ui-state-active"),this.options.role&&this.element.attr("aria-activedescendant",n.attr("id")),r=this.active.parent().closest(".ui-menu-item").children(".ui-menu-item-wrapper"),this._addClass(r,null,"ui-state-active"),t&&"keydown"===t.type?this._close():this.timer=this._delay(function(){this._close()},this.delay),(i=e.children(".ui-menu")).length&&t&&/^mouse/.test(t.type)&&this._startOpening(i),this.activeMenu=e.parent(),this._trigger("focus",t,{item:e})},_scrollIntoView:function(e){var i,n,r,o,s,a;this._hasScroll()&&(i=parseFloat(t.css(this.activeMenu[0],"borderTopWidth"))||0,n=parseFloat(t.css(this.activeMenu[0],"paddingTop"))||0,r=e.offset().top-this.activeMenu.offset().top-i-n,o=this.activeMenu.scrollTop(),s=this.activeMenu.height(),a=e.outerHeight(),r<0?this.activeMenu.scrollTop(o+r):r+a>s&&this.activeMenu.scrollTop(o+r-s+a))},blur:function(t,e){e||clearTimeout(this.timer),this.active&&(this._removeClass(this.active.children(".ui-menu-item-wrapper"),null,"ui-state-active"),this._trigger("blur",t,{item:this.active}),this.active=null)},_startOpening:function(t){clearTimeout(this.timer),"true"===t.attr("aria-hidden")&&(this.timer=this._delay(function(){this._close(),this._open(t)},this.delay))},_open:function(e){var i=t.extend({of:this.active},this.options.position);clearTimeout(this.timer),this.element.find(".ui-menu").not(e.parents(".ui-menu")).hide().attr("aria-hidden","true"),e.show().removeAttr("aria-hidden").attr("aria-expanded","true").position(i)},collapseAll:function(e,i){clearTimeout(this.timer),this.timer=this._delay(function(){var n=i?this.element:t(e&&e.target).closest(this.element.find(".ui-menu"));n.length||(n=this.element),this._close(n),this.blur(e),this._removeClass(n.find(".ui-state-active"),null,"ui-state-active"),this.activeMenu=n},i?0:this.delay)},_close:function(t){t||(t=this.active?this.active.parent():this.element),t.find(".ui-menu").hide().attr("aria-hidden","true").attr("aria-expanded","false")},_closeOnDocumentClick:function(e){return!t(e.target).closest(".ui-menu").length},_isDivider:function(t){return!/[^\-\u2014\u2013\s]/.test(t.text())},collapse:function(t){var e=this.active&&this.active.parent().closest(".ui-menu-item",this.element);e&&e.length&&(this._close(),this.focus(t,e))},expand:function(t){var e=this.active&&this._menuItems(this.active.children(".ui-menu")).first();e&&e.length&&(this._open(e.parent()),this._delay(function(){this.focus(t,e)}))},next:function(t){this._move("next","first",t)},previous:function(t){this._move("prev","last",t)},isFirstItem:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},isLastItem:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},_menuItems:function(t){return(t||this.element).find(this.options.items).filter(".ui-menu-item")},_move:function(t,e,i){var n;this.active&&(n="first"===t||"last"===t?this.active["first"===t?"prevAll":"nextAll"](".ui-menu-item").last():this.active[t+"All"](".ui-menu-item").first()),n&&n.length&&this.active||(n=this._menuItems(this.activeMenu)[e]()),this.focus(i,n)},nextPage:function(e){var i,n,r;this.active?this.isLastItem()||(this._hasScroll()?(n=this.active.offset().top,r=this.element.innerHeight(),0===t.fn.jquery.indexOf("3.2.")&&(r+=this.element[0].offsetHeight-this.element.outerHeight()),this.active.nextAll(".ui-menu-item").each(function(){return(i=t(this)).offset().top-n-r<0}),this.focus(e,i)):this.focus(e,this._menuItems(this.activeMenu)[this.active?"last":"first"]())):this.next(e)},previousPage:function(e){var i,n,r;this.active?this.isFirstItem()||(this._hasScroll()?(n=this.active.offset().top,r=this.element.innerHeight(),0===t.fn.jquery.indexOf("3.2.")&&(r+=this.element[0].offsetHeight-this.element.outerHeight()),this.active.prevAll(".ui-menu-item").each(function(){return(i=t(this)).offset().top-n+r>0}),this.focus(e,i)):this.focus(e,this._menuItems(this.activeMenu).first())):this.next(e)},_hasScroll:function(){return this.element.outerHeight()",options:{appendTo:null,autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},requestIndex:0,pending:0,liveRegionTimer:null,_create:function(){var e,i,n,r=this.element[0].nodeName.toLowerCase(),o="textarea"===r,s="input"===r;this.isMultiLine=o||!s&&this._isContentEditable(this.element),this.valueMethod=this.element[o||s?"val":"text"],this.isNewMenu=!0,this._addClass("ui-autocomplete-input"),this.element.attr("autocomplete","off"),this._on(this.element,{keydown:function(r){if(this.element.prop("readOnly"))return e=!0,n=!0,void(i=!0);e=!1,n=!1,i=!1;var o=t.ui.keyCode;switch(r.keyCode){case o.PAGE_UP:e=!0,this._move("previousPage",r);break;case o.PAGE_DOWN:e=!0,this._move("nextPage",r);break;case o.UP:e=!0,this._keyEvent("previous",r);break;case o.DOWN:e=!0,this._keyEvent("next",r);break;case o.ENTER:this.menu.active&&(e=!0,r.preventDefault(),this.menu.select(r));break;case o.TAB:this.menu.active&&this.menu.select(r);break;case o.ESCAPE:this.menu.element.is(":visible")&&(this.isMultiLine||this._value(this.term),this.close(r),r.preventDefault());break;default:i=!0,this._searchTimeout(r)}},keypress:function(n){if(e)return e=!1,void(this.isMultiLine&&!this.menu.element.is(":visible")||n.preventDefault());if(!i){var r=t.ui.keyCode;switch(n.keyCode){case r.PAGE_UP:this._move("previousPage",n);break;case r.PAGE_DOWN:this._move("nextPage",n);break;case r.UP:this._keyEvent("previous",n);break;case r.DOWN:this._keyEvent("next",n)}}},input:function(t){if(n)return n=!1,void t.preventDefault();this._searchTimeout(t)},focus:function(){this.selectedItem=null,this.previous=this._value()},blur:function(t){clearTimeout(this.searching),this.close(t),this._change(t)}}),this._initSource(),this.menu=t("
        ").appendTo(this._appendTo()).menu({role:null}).hide().attr({unselectable:"on"}).menu("instance"),this._addClass(this.menu.element,"ui-autocomplete","ui-front"),this._on(this.menu.element,{mousedown:function(t){t.preventDefault()},menufocus:function(e,i){var n,r;if(this.isNewMenu&&(this.isNewMenu=!1,e.originalEvent&&/^mouse/.test(e.originalEvent.type)))return this.menu.blur(),void this.document.one("mousemove",function(){t(e.target).trigger(e.originalEvent)});r=i.item.data("ui-autocomplete-item"),!1!==this._trigger("focus",e,{item:r})&&e.originalEvent&&/^key/.test(e.originalEvent.type)&&this._value(r.value),(n=i.item.attr("aria-label")||r.value)&&String.prototype.trim.call(n).length&&(clearTimeout(this.liveRegionTimer),this.liveRegionTimer=this._delay(function(){this.liveRegion.html(t("
        ").text(n))},100))},menuselect:function(e,i){var n=i.item.data("ui-autocomplete-item"),r=this.previous;this.element[0]!==t.ui.safeActiveElement(this.document[0])&&(this.element.trigger("focus"),this.previous=r,this._delay(function(){this.previous=r,this.selectedItem=n})),!1!==this._trigger("select",e,{item:n})&&this._value(n.value),this.term=this._value(),this.close(e),this.selectedItem=n}}),this.liveRegion=t("
        ",{role:"status","aria-live":"assertive","aria-relevant":"additions"}).appendTo(this.document[0].body),this._addClass(this.liveRegion,null,"ui-helper-hidden-accessible"),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_destroy:function(){clearTimeout(this.searching),this.element.removeAttr("autocomplete"),this.menu.element.remove(),this.liveRegion.remove()},_setOption:function(t,e){this._super(t,e),"source"===t&&this._initSource(),"appendTo"===t&&this.menu.element.appendTo(this._appendTo()),"disabled"===t&&e&&this.xhr&&this.xhr.abort()},_isEventTargetInWidget:function(e){var i=this.menu.element[0];return e.target===this.element[0]||e.target===i||t.contains(i,e.target)},_closeOnClickOutside:function(t){this._isEventTargetInWidget(t)||this.close()},_appendTo:function(){var e=this.options.appendTo;return e&&(e=e.jquery||e.nodeType?t(e):this.document.find(e).eq(0)),e&&e[0]||(e=this.element.closest(".ui-front, dialog")),e.length||(e=this.document[0].body),e},_initSource:function(){var e,i,n=this;Array.isArray(this.options.source)?(e=this.options.source,this.source=function(i,n){n(t.ui.autocomplete.filter(e,i.term))}):"string"==typeof this.options.source?(i=this.options.source,this.source=function(e,r){n.xhr&&n.xhr.abort(),n.xhr=t.ajax({url:i,data:e,dataType:"json",success:function(t){r(t)},error:function(){r([])}})}):this.source=this.options.source},_searchTimeout:function(t){clearTimeout(this.searching),this.searching=this._delay(function(){var e=this.term===this._value(),i=this.menu.element.is(":visible"),n=t.altKey||t.ctrlKey||t.metaKey||t.shiftKey;e&&(!e||i||n)||(this.selectedItem=null,this.search(null,t))},this.options.delay)},search:function(t,e){return t=null!=t?t:this._value(),this.term=this._value(),t.length").append(t("
        ").text(i.label)).appendTo(e)},_move:function(t,e){if(this.menu.element.is(":visible"))return this.menu.isFirstItem()&&/^previous/.test(t)||this.menu.isLastItem()&&/^next/.test(t)?(this.isMultiLine||this._value(this.term),void this.menu.blur()):void this.menu[t](e);this.search(null,e)},widget:function(){return this.menu.element},_value:function(){return this.valueMethod.apply(this.element,arguments)},_keyEvent:function(t,e){this.isMultiLine&&!this.menu.element.is(":visible")||(this._move(t,e),e.preventDefault())},_isContentEditable:function(t){if(!t.length)return!1;var e=t.prop("contentEditable");return"inherit"===e?this._isContentEditable(t.parent()):"true"===e}}),t.extend(t.ui.autocomplete,{escapeRegex:function(t){return t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")},filter:function(e,i){var n=new RegExp(t.ui.autocomplete.escapeRegex(i),"i");return t.grep(e,function(t){return n.test(t.label||t.value||t)})}}),t.widget("ui.autocomplete",t.ui.autocomplete,{options:{messages:{noResults:"No search results.",results:function(t){return t+(t>1?" results are":" result is")+" available, use up and down arrow keys to navigate."}}},__response:function(e){var i;this._superApply(arguments),this.options.disabled||this.cancelSearch||(i=e&&e.length?this.options.messages.results(e.length):this.options.messages.noResults,clearTimeout(this.liveRegionTimer),this.liveRegionTimer=this._delay(function(){this.liveRegion.html(t("
        ").text(i))},100))}}),t.ui.autocomplete;var I,S=/ui-corner-([a-z]){2,6}/g;function D(){this._curInst=null,this._keyEvent=!1,this._disabledInputs=[],this._datepickerShowing=!1,this._inDialog=!1,this._mainDivId="ui-datepicker-div",this._inlineClass="ui-datepicker-inline",this._appendClass="ui-datepicker-append",this._triggerClass="ui-datepicker-trigger",this._dialogClass="ui-datepicker-dialog",this._disableClass="ui-datepicker-disabled",this._unselectableClass="ui-datepicker-unselectable",this._currentClass="ui-datepicker-current-day",this._dayOverClass="ui-datepicker-days-cell-over",this.regional=[],this.regional[""]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"mm/dd/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:"",selectMonthLabel:"Select month",selectYearLabel:"Select year"},this._defaults={showOn:"focus",showAnim:"fadeIn",showOptions:{},defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:!1,hideIfNoPrevNext:!1,navigationAsDateFormat:!1,gotoCurrent:!1,changeMonth:!1,changeYear:!1,yearRange:"c-10:c+10",showOtherMonths:!1,selectOtherMonths:!1,showWeek:!1,calculateWeek:this.iso8601Week,shortYearCutoff:"+10",minDate:null,maxDate:null,duration:"fast",beforeShowDay:null,beforeShow:null,onSelect:null,onChangeMonthYear:null,onClose:null,onUpdateDatepicker:null,numberOfMonths:1,showCurrentAtPos:0,stepMonths:1,stepBigMonths:12,altField:"",altFormat:"",constrainInput:!0,showButtonPanel:!1,autoSize:!1,disabled:!1},t.extend(this._defaults,this.regional[""]),this.regional.en=t.extend(!0,{},this.regional[""]),this.regional["en-US"]=t.extend(!0,{},this.regional.en),this.dpDiv=T(t("
        "))}function T(e){var i="button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a";return e.on("mouseout",i,function(){t(this).removeClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&t(this).removeClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&t(this).removeClass("ui-datepicker-next-hover")}).on("mouseover",i,O)}function O(){t.datepicker._isDisabledDatepicker(I.inline?I.dpDiv.parent()[0]:I.input[0])||(t(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"),t(this).addClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&t(this).addClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&t(this).addClass("ui-datepicker-next-hover"))}function P(e,i){for(var n in t.extend(e,i),i)null==i[n]&&(e[n]=i[n]);return e}t.widget("ui.controlgroup",{version:"1.13.3",defaultElement:"
        ",options:{direction:"horizontal",disabled:null,onlyVisible:!0,items:{button:"input[type=button], input[type=submit], input[type=reset], button, a",controlgroupLabel:".ui-controlgroup-label",checkboxradio:"input[type='checkbox'], input[type='radio']",selectmenu:"select",spinner:".ui-spinner-input"}},_create:function(){this._enhance()},_enhance:function(){this.element.attr("role","toolbar"),this.refresh()},_destroy:function(){this._callChildMethod("destroy"),this.childWidgets.removeData("ui-controlgroup-data"),this.element.removeAttr("role"),this.options.items.controlgroupLabel&&this.element.find(this.options.items.controlgroupLabel).find(".ui-controlgroup-label-contents").contents().unwrap()},_initWidgets:function(){var e=this,i=[];t.each(this.options.items,function(n,r){var o,s={};if(r)return"controlgroupLabel"===n?((o=e.element.find(r)).each(function(){var e=t(this);e.children(".ui-controlgroup-label-contents").length||e.contents().wrapAll("")}),e._addClass(o,null,"ui-widget ui-widget-content ui-state-default"),void(i=i.concat(o.get()))):void(t.fn[n]&&(s=e["_"+n+"Options"]?e["_"+n+"Options"]("middle"):{classes:{}},e.element.find(r).each(function(){var r=t(this),o=r[n]("instance"),a=t.widget.extend({},s);if("button"!==n||!r.parent(".ui-spinner").length){o||(o=r[n]()[n]("instance")),o&&(a.classes=e._resolveClassesValues(a.classes,o)),r[n](a);var u=r[n]("widget");t.data(u[0],"ui-controlgroup-data",o||r[n]("instance")),i.push(u[0])}})))}),this.childWidgets=t(t.uniqueSort(i)),this._addClass(this.childWidgets,"ui-controlgroup-item")},_callChildMethod:function(e){this.childWidgets.each(function(){var i=t(this).data("ui-controlgroup-data");i&&i[e]&&i[e]()})},_updateCornerClass:function(t,e){var i=this._buildSimpleOptions(e,"label").classes.label;this._removeClass(t,null,"ui-corner-top ui-corner-bottom ui-corner-left ui-corner-right ui-corner-all"),this._addClass(t,null,i)},_buildSimpleOptions:function(t,e){var i="vertical"===this.options.direction,n={classes:{}};return n.classes[e]={middle:"",first:"ui-corner-"+(i?"top":"left"),last:"ui-corner-"+(i?"bottom":"right"),only:"ui-corner-all"}[t],n},_spinnerOptions:function(t){var e=this._buildSimpleOptions(t,"ui-spinner");return e.classes["ui-spinner-up"]="",e.classes["ui-spinner-down"]="",e},_buttonOptions:function(t){return this._buildSimpleOptions(t,"ui-button")},_checkboxradioOptions:function(t){return this._buildSimpleOptions(t,"ui-checkboxradio-label")},_selectmenuOptions:function(t){var e="vertical"===this.options.direction;return{width:!!e&&"auto",classes:{middle:{"ui-selectmenu-button-open":"","ui-selectmenu-button-closed":""},first:{"ui-selectmenu-button-open":"ui-corner-"+(e?"top":"tl"),"ui-selectmenu-button-closed":"ui-corner-"+(e?"top":"left")},last:{"ui-selectmenu-button-open":e?"":"ui-corner-tr","ui-selectmenu-button-closed":"ui-corner-"+(e?"bottom":"right")},only:{"ui-selectmenu-button-open":"ui-corner-top","ui-selectmenu-button-closed":"ui-corner-all"}}[t]}},_resolveClassesValues:function(e,i){var n={};return t.each(e,function(t){var r=i.options.classes[t]||"";r=String.prototype.trim.call(r.replace(S,"")),n[t]=(r+" "+e[t]).replace(/\s+/g," ")}),n},_setOption:function(t,e){"direction"===t&&this._removeClass("ui-controlgroup-"+this.options.direction),this._super(t,e),"disabled"!==t?this.refresh():this._callChildMethod(e?"disable":"enable")},refresh:function(){var e,i=this;this._addClass("ui-controlgroup ui-controlgroup-"+this.options.direction),"horizontal"===this.options.direction&&this._addClass(null,"ui-helper-clearfix"),this._initWidgets(),e=this.childWidgets,this.options.onlyVisible&&(e=e.filter(":visible")),e.length&&(t.each(["first","last"],function(t,n){var r=e[n]().data("ui-controlgroup-data");if(r&&i["_"+r.widgetName+"Options"]){var o=i["_"+r.widgetName+"Options"](1===e.length?"only":n);o.classes=i._resolveClassesValues(o.classes,r),r.element[r.widgetName](o)}else i._updateCornerClass(e[n](),n)}),this._callChildMethod("refresh"))}}),t.widget("ui.checkboxradio",[t.ui.formResetMixin,{version:"1.13.3",options:{disabled:null,label:null,icon:!0,classes:{"ui-checkboxradio-label":"ui-corner-all","ui-checkboxradio-icon":"ui-corner-all"}},_getCreateOptions:function(){var e,i,n,r=this._super()||{};return this._readType(),i=this.element.labels(),this.label=t(i[i.length-1]),this.label.length||t.error("No label found for checkboxradio widget"),this.originalLabel="",(n=this.label.contents().not(this.element[0])).length&&(this.originalLabel+=n.clone().wrapAll("
        ").parent().html()),this.originalLabel&&(r.label=this.originalLabel),null!=(e=this.element[0].disabled)&&(r.disabled=e),r},_create:function(){var t=this.element[0].checked;this._bindFormResetHandler(),null==this.options.disabled&&(this.options.disabled=this.element[0].disabled),this._setOption("disabled",this.options.disabled),this._addClass("ui-checkboxradio","ui-helper-hidden-accessible"),this._addClass(this.label,"ui-checkboxradio-label","ui-button ui-widget"),"radio"===this.type&&this._addClass(this.label,"ui-checkboxradio-radio-label"),this.options.label&&this.options.label!==this.originalLabel?this._updateLabel():this.originalLabel&&(this.options.label=this.originalLabel),this._enhance(),t&&this._addClass(this.label,"ui-checkboxradio-checked","ui-state-active"),this._on({change:"_toggleClasses",focus:function(){this._addClass(this.label,null,"ui-state-focus ui-visual-focus")},blur:function(){this._removeClass(this.label,null,"ui-state-focus ui-visual-focus")}})},_readType:function(){var e=this.element[0].nodeName.toLowerCase();this.type=this.element[0].type,"input"===e&&/radio|checkbox/.test(this.type)||t.error("Can't create checkboxradio on element.nodeName="+e+" and element.type="+this.type)},_enhance:function(){this._updateIcon(this.element[0].checked)},widget:function(){return this.label},_getRadioGroup:function(){var e=this.element[0].name,i="input[name='"+t.escapeSelector(e)+"']";return e?(this.form.length?t(this.form[0].elements).filter(i):t(i).filter(function(){return 0===t(this)._form().length})).not(this.element):t([])},_toggleClasses:function(){var e=this.element[0].checked;this._toggleClass(this.label,"ui-checkboxradio-checked","ui-state-active",e),this.options.icon&&"checkbox"===this.type&&this._toggleClass(this.icon,null,"ui-icon-check ui-state-checked",e)._toggleClass(this.icon,null,"ui-icon-blank",!e),"radio"===this.type&&this._getRadioGroup().each(function(){var e=t(this).checkboxradio("instance");e&&e._removeClass(e.label,"ui-checkboxradio-checked","ui-state-active")})},_destroy:function(){this._unbindFormResetHandler(),this.icon&&(this.icon.remove(),this.iconSpace.remove())},_setOption:function(t,e){if("label"!==t||e){if(this._super(t,e),"disabled"===t)return this._toggleClass(this.label,null,"ui-state-disabled",e),void(this.element[0].disabled=e);this.refresh()}},_updateIcon:function(e){var i="ui-icon ui-icon-background ";this.options.icon?(this.icon||(this.icon=t(""),this.iconSpace=t(" "),this._addClass(this.iconSpace,"ui-checkboxradio-icon-space")),"checkbox"===this.type?(i+=e?"ui-icon-check ui-state-checked":"ui-icon-blank",this._removeClass(this.icon,null,e?"ui-icon-blank":"ui-icon-check")):i+="ui-icon-blank",this._addClass(this.icon,"ui-checkboxradio-icon",i),e||this._removeClass(this.icon,null,"ui-icon-check ui-state-checked"),this.icon.prependTo(this.label).after(this.iconSpace)):void 0!==this.icon&&(this.icon.remove(),this.iconSpace.remove(),delete this.icon)},_updateLabel:function(){var t=this.label.contents().not(this.element[0]);this.icon&&(t=t.not(this.icon[0])),this.iconSpace&&(t=t.not(this.iconSpace[0])),t.remove(),this.label.append(this.options.label)},refresh:function(){var t=this.element[0].checked,e=this.element[0].disabled;this._updateIcon(t),this._toggleClass(this.label,"ui-checkboxradio-checked","ui-state-active",t),null!==this.options.label&&this._updateLabel(),e!==this.options.disabled&&this._setOptions({disabled:e})}}]),t.ui.checkboxradio,t.widget("ui.button",{version:"1.13.3",defaultElement:"
        "+(G[0]>0&&_===G[1]-1?"
        ":""):"")}w+=k}return w+=h,e._keyEvent=!1,w},_generateMonthYearHeader:function(t,e,i,n,r,o,s,a){var u,c,h,l,d,f,p,g,A=this._get(t,"changeMonth"),m=this._get(t,"changeYear"),v=this._get(t,"showMonthAfterYear"),b=this._get(t,"selectMonthLabel"),y=this._get(t,"selectYearLabel"),w="
        ",C="";if(o||!A)C+=""+s[e]+"";else{for(u=n&&n.getFullYear()===i,c=r&&r.getFullYear()===i,C+=""}if(v||(w+=C+(!o&&A&&m?"":" ")),!t.yearshtml)if(t.yearshtml="",o||!m)w+=""+i+"";else{for(l=this._get(t,"yearRange").split(":"),d=(new Date).getFullYear(),f=function(t){var e=t.match(/c[+\-].*/)?i+parseInt(t.substring(1),10):t.match(/[+\-].*/)?d+parseInt(t,10):parseInt(t,10);return isNaN(e)?d:e},p=f(l[0]),g=Math.max(p,f(l[1]||"")),p=n?Math.max(p,n.getFullYear()):p,g=r?Math.min(g,r.getFullYear()):g,t.yearshtml+="",w+=t.yearshtml,t.yearshtml=null}return w+=this._get(t,"yearSuffix"),v&&(w+=(!o&&A&&m?"":" ")+C),w+"
        "},_adjustInstDate:function(t,e,i){var n=t.selectedYear+("Y"===i?e:0),r=t.selectedMonth+("M"===i?e:0),o=Math.min(t.selectedDay,this._getDaysInMonth(n,r))+("D"===i?e:0),s=this._restrictMinMax(t,this._daylightSavingAdjust(new Date(n,r,o)));t.selectedDay=s.getDate(),t.drawMonth=t.selectedMonth=s.getMonth(),t.drawYear=t.selectedYear=s.getFullYear(),"M"!==i&&"Y"!==i||this._notifyChange(t)},_restrictMinMax:function(t,e){var i=this._getMinMaxDate(t,"min"),n=this._getMinMaxDate(t,"max"),r=i&&en?n:r},_notifyChange:function(t){var e=this._get(t,"onChangeMonthYear");e&&e.apply(t.input?t.input[0]:null,[t.selectedYear,t.selectedMonth+1,t])},_getNumberOfMonths:function(t){var e=this._get(t,"numberOfMonths");return null==e?[1,1]:"number"==typeof e?[1,e]:e},_getMinMaxDate:function(t,e){return this._determineDate(t,this._get(t,e+"Date"),null)},_getDaysInMonth:function(t,e){return 32-this._daylightSavingAdjust(new Date(t,e,32)).getDate()},_getFirstDayOfMonth:function(t,e){return new Date(t,e,1).getDay()},_canAdjustMonth:function(t,e,i,n){var r=this._getNumberOfMonths(t),o=this._daylightSavingAdjust(new Date(i,n+(e<0?e:r[0]*r[1]),1));return e<0&&o.setDate(this._getDaysInMonth(o.getFullYear(),o.getMonth())),this._isInRange(t,o)},_isInRange:function(t,e){var i,n,r=this._getMinMaxDate(t,"min"),o=this._getMinMaxDate(t,"max"),s=null,a=null,u=this._get(t,"yearRange");return u&&(i=u.split(":"),n=(new Date).getFullYear(),s=parseInt(i[0],10),a=parseInt(i[1],10),i[0].match(/[+\-].*/)&&(s+=n),i[1].match(/[+\-].*/)&&(a+=n)),(!r||e.getTime()>=r.getTime())&&(!o||e.getTime()<=o.getTime())&&(!s||e.getFullYear()>=s)&&(!a||e.getFullYear()<=a)},_getFormatConfig:function(t){var e=this._get(t,"shortYearCutoff");return{shortYearCutoff:e="string"!=typeof e?e:(new Date).getFullYear()%100+parseInt(e,10),dayNamesShort:this._get(t,"dayNamesShort"),dayNames:this._get(t,"dayNames"),monthNamesShort:this._get(t,"monthNamesShort"),monthNames:this._get(t,"monthNames")}},_formatDate:function(t,e,i,n){e||(t.currentDay=t.selectedDay,t.currentMonth=t.selectedMonth,t.currentYear=t.selectedYear);var r=e?"object"==typeof e?e:this._daylightSavingAdjust(new Date(n,i,e)):this._daylightSavingAdjust(new Date(t.currentYear,t.currentMonth,t.currentDay));return this.formatDate(this._get(t,"dateFormat"),r,this._getFormatConfig(t))}}),t.fn.datepicker=function(e){if(!this.length)return this;t.datepicker.initialized||(t(document).on("mousedown",t.datepicker._checkExternalClick),t.datepicker.initialized=!0),0===t("#"+t.datepicker._mainDivId).length&&t("body").append(t.datepicker.dpDiv);var i=Array.prototype.slice.call(arguments,1);return"string"!=typeof e||"isDisabled"!==e&&"getDate"!==e&&"widget"!==e?"option"===e&&2===arguments.length&&"string"==typeof arguments[1]?t.datepicker["_"+e+"Datepicker"].apply(t.datepicker,[this[0]].concat(i)):this.each(function(){"string"==typeof e?t.datepicker["_"+e+"Datepicker"].apply(t.datepicker,[this].concat(i)):t.datepicker._attachDatepicker(this,e)}):t.datepicker["_"+e+"Datepicker"].apply(t.datepicker,[this[0]].concat(i))},t.datepicker=new D,t.datepicker.initialized=!1,t.datepicker.uuid=(new Date).getTime(),t.datepicker.version="1.13.3",t.datepicker,t.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase());var R,z=!1;function N(t){return function(){var e=this.element.val();t.apply(this,arguments),this._refresh(),e!==this.element.val()&&this._trigger("change")}}t(document).on("mouseup",function(){z=!1}),t.widget("ui.mouse",{version:"1.13.3",options:{cancel:"input, textarea, button, select, option",distance:1,delay:0},_mouseInit:function(){var e=this;this.element.on("mousedown."+this.widgetName,function(t){return e._mouseDown(t)}).on("click."+this.widgetName,function(i){if(!0===t.data(i.target,e.widgetName+".preventClickEvent"))return t.removeData(i.target,e.widgetName+".preventClickEvent"),i.stopImmediatePropagation(),!1}),this.started=!1},_mouseDestroy:function(){this.element.off("."+this.widgetName),this._mouseMoveDelegate&&this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(e){if(!z){this._mouseMoved=!1,this._mouseStarted&&this._mouseUp(e),this._mouseDownEvent=e;var i=this,n=1===e.which,r=!("string"!=typeof this.options.cancel||!e.target.nodeName)&&t(e.target).closest(this.options.cancel).length;return!(n&&!r&&this._mouseCapture(e)&&(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){i.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=!1!==this._mouseStart(e),!this._mouseStarted)?(e.preventDefault(),0):(!0===t.data(e.target,this.widgetName+".preventClickEvent")&&t.removeData(e.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(t){return i._mouseMove(t)},this._mouseUpDelegate=function(t){return i._mouseUp(t)},this.document.on("mousemove."+this.widgetName,this._mouseMoveDelegate).on("mouseup."+this.widgetName,this._mouseUpDelegate),e.preventDefault(),z=!0,0)))}},_mouseMove:function(e){if(this._mouseMoved){if(t.ui.ie&&(!document.documentMode||document.documentMode<9)&&!e.button)return this._mouseUp(e);if(!e.which)if(e.originalEvent.altKey||e.originalEvent.ctrlKey||e.originalEvent.metaKey||e.originalEvent.shiftKey)this.ignoreMissingWhich=!0;else if(!this.ignoreMissingWhich)return this._mouseUp(e)}return(e.which||e.button)&&(this._mouseMoved=!0),this._mouseStarted?(this._mouseDrag(e),e.preventDefault()):(this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=!1!==this._mouseStart(this._mouseDownEvent,e),this._mouseStarted?this._mouseDrag(e):this._mouseUp(e)),!this._mouseStarted)},_mouseUp:function(e){this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,e.target===this._mouseDownEvent.target&&t.data(e.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(e)),this._mouseDelayTimer&&(clearTimeout(this._mouseDelayTimer),delete this._mouseDelayTimer),this.ignoreMissingWhich=!1,z=!1,e.preventDefault()},_mouseDistanceMet:function(t){return Math.max(Math.abs(this._mouseDownEvent.pageX-t.pageX),Math.abs(this._mouseDownEvent.pageY-t.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}}),t.ui.plugin={add:function(e,i,n){var r,o=t.ui[e].prototype;for(r in n)o.plugins[r]=o.plugins[r]||[],o.plugins[r].push([i,n[r]])},call:function(t,e,i,n){var r,o=t.plugins[e];if(o&&(n||t.element[0].parentNode&&11!==t.element[0].parentNode.nodeType))for(r=0;r0||(this.handle=this._getHandle(e),!this.handle||(this._blurActiveElement(e),this._blockFrames(!0===i.iframeFix?"iframe":i.iframeFix),0)))},_blockFrames:function(e){this.iframeBlocks=this.document.find(e).map(function(){var e=t(this);return t("
        ").css("position","absolute").appendTo(e.parent()).outerWidth(e.outerWidth()).outerHeight(e.outerHeight()).offset(e.offset())[0]})},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_blurActiveElement:function(e){var i=t.ui.safeActiveElement(this.document[0]);t(e.target).closest(i).length||t.ui.safeBlur(i)},_mouseStart:function(e){var i=this.options;return this.helper=this._createHelper(e),this._addClass(this.helper,"ui-draggable-dragging"),this._cacheHelperProportions(),t.ui.ddmanager&&(t.ui.ddmanager.current=this),this._cacheMargins(),this.cssPosition=this.helper.css("position"),this.scrollParent=this.helper.scrollParent(!0),this.offsetParent=this.helper.offsetParent(),this.hasFixedAncestor=this.helper.parents().filter(function(){return"fixed"===t(this).css("position")}).length>0,this.positionAbs=this.element.offset(),this._refreshOffsets(e),this.originalPosition=this.position=this._generatePosition(e,!1),this.originalPageX=e.pageX,this.originalPageY=e.pageY,i.cursorAt&&this._adjustOffsetFromHelper(i.cursorAt),this._setContainment(),!1===this._trigger("start",e)?(this._clear(),!1):(this._cacheHelperProportions(),t.ui.ddmanager&&!i.dropBehaviour&&t.ui.ddmanager.prepareOffsets(this,e),this._mouseDrag(e,!0),t.ui.ddmanager&&t.ui.ddmanager.dragStart(this,e),!0)},_refreshOffsets:function(t){this.offset={top:this.positionAbs.top-this.margins.top,left:this.positionAbs.left-this.margins.left,scroll:!1,parent:this._getParentOffset(),relative:this._getRelativeOffset()},this.offset.click={left:t.pageX-this.offset.left,top:t.pageY-this.offset.top}},_mouseDrag:function(e,i){if(this.hasFixedAncestor&&(this.offset.parent=this._getParentOffset()),this.position=this._generatePosition(e,!0),this.positionAbs=this._convertPositionTo("absolute"),!i){var n=this._uiHash();if(!1===this._trigger("drag",e,n))return this._mouseUp(new t.Event("mouseup",e)),!1;this.position=n.position}return this.helper[0].style.left=this.position.left+"px",this.helper[0].style.top=this.position.top+"px",t.ui.ddmanager&&t.ui.ddmanager.drag(this,e),!1},_mouseStop:function(e){var i=this,n=!1;return t.ui.ddmanager&&!this.options.dropBehaviour&&(n=t.ui.ddmanager.drop(this,e)),this.dropped&&(n=this.dropped,this.dropped=!1),"invalid"===this.options.revert&&!n||"valid"===this.options.revert&&n||!0===this.options.revert||"function"==typeof this.options.revert&&this.options.revert.call(this.element,n)?t(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){!1!==i._trigger("stop",e)&&i._clear()}):!1!==this._trigger("stop",e)&&this._clear(),!1},_mouseUp:function(e){return this._unblockFrames(),t.ui.ddmanager&&t.ui.ddmanager.dragStop(this,e),this.handleElement.is(e.target)&&this.element.trigger("focus"),t.ui.mouse.prototype._mouseUp.call(this,e)},cancel:function(){return this.helper.is(".ui-draggable-dragging")?this._mouseUp(new t.Event("mouseup",{target:this.element[0]})):this._clear(),this},_getHandle:function(e){return!this.options.handle||!!t(e.target).closest(this.element.find(this.options.handle)).length},_setHandleClassName:function(){this.handleElement=this.options.handle?this.element.find(this.options.handle):this.element,this._addClass(this.handleElement,"ui-draggable-handle")},_removeHandleClassName:function(){this._removeClass(this.handleElement,"ui-draggable-handle")},_createHelper:function(e){var i=this.options,n="function"==typeof i.helper,r=n?t(i.helper.apply(this.element[0],[e])):"clone"===i.helper?this.element.clone().removeAttr("id"):this.element;return r.parents("body").length||r.appendTo("parent"===i.appendTo?this.element[0].parentNode:i.appendTo),n&&r[0]===this.element[0]&&this._setPositionRelative(),r[0]===this.element[0]||/(fixed|absolute)/.test(r.css("position"))||r.css("position","absolute"),r},_setPositionRelative:function(){/^(?:r|a|f)/.test(this.element.css("position"))||(this.element[0].style.position="relative")},_adjustOffsetFromHelper:function(t){"string"==typeof t&&(t=t.split(" ")),Array.isArray(t)&&(t={left:+t[0],top:+t[1]||0}),"left"in t&&(this.offset.click.left=t.left+this.margins.left),"right"in t&&(this.offset.click.left=this.helperProportions.width-t.right+this.margins.left),"top"in t&&(this.offset.click.top=t.top+this.margins.top),"bottom"in t&&(this.offset.click.top=this.helperProportions.height-t.bottom+this.margins.top)},_isRootNode:function(t){return/(html|body)/i.test(t.tagName)||t===this.document[0]},_getParentOffset:function(){var e=this.offsetParent.offset(),i=this.document[0];return"absolute"===this.cssPosition&&this.scrollParent[0]!==i&&t.contains(this.scrollParent[0],this.offsetParent[0])&&(e.left+=this.scrollParent.scrollLeft(),e.top+=this.scrollParent.scrollTop()),this._isRootNode(this.offsetParent[0])&&(e={top:0,left:0}),{top:e.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:e.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"!==this.cssPosition)return{top:0,left:0};var t=this.element.position(),e=this._isRootNode(this.scrollParent[0]);return{top:t.top-(parseInt(this.helper.css("top"),10)||0)+(e?0:this.scrollParent.scrollTop()),left:t.left-(parseInt(this.helper.css("left"),10)||0)+(e?0:this.scrollParent.scrollLeft())}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var e,i,n,r=this.options,o=this.document[0];this.relativeContainer=null,r.containment?"window"!==r.containment?"document"!==r.containment?r.containment.constructor!==Array?("parent"===r.containment&&(r.containment=this.helper[0].parentNode),(n=(i=t(r.containment))[0])&&(e=/(scroll|auto)/.test(i.css("overflow")),this.containment=[(parseInt(i.css("borderLeftWidth"),10)||0)+(parseInt(i.css("paddingLeft"),10)||0),(parseInt(i.css("borderTopWidth"),10)||0)+(parseInt(i.css("paddingTop"),10)||0),(e?Math.max(n.scrollWidth,n.offsetWidth):n.offsetWidth)-(parseInt(i.css("borderRightWidth"),10)||0)-(parseInt(i.css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(e?Math.max(n.scrollHeight,n.offsetHeight):n.offsetHeight)-(parseInt(i.css("borderBottomWidth"),10)||0)-(parseInt(i.css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom],this.relativeContainer=i)):this.containment=r.containment:this.containment=[0,0,t(o).width()-this.helperProportions.width-this.margins.left,(t(o).height()||o.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]:this.containment=[t(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,t(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,t(window).scrollLeft()+t(window).width()-this.helperProportions.width-this.margins.left,t(window).scrollTop()+(t(window).height()||o.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]:this.containment=null},_convertPositionTo:function(t,e){e||(e=this.position);var i="absolute"===t?1:-1,n=this._isRootNode(this.scrollParent[0]);return{top:e.top+this.offset.relative.top*i+this.offset.parent.top*i-("fixed"===this.cssPosition?-this.offset.scroll.top:n?0:this.offset.scroll.top)*i,left:e.left+this.offset.relative.left*i+this.offset.parent.left*i-("fixed"===this.cssPosition?-this.offset.scroll.left:n?0:this.offset.scroll.left)*i}},_generatePosition:function(t,e){var i,n,r,o,s=this.options,a=this._isRootNode(this.scrollParent[0]),u=t.pageX,c=t.pageY;return a&&this.offset.scroll||(this.offset.scroll={top:this.scrollParent.scrollTop(),left:this.scrollParent.scrollLeft()}),e&&(this.containment&&(this.relativeContainer?(n=this.relativeContainer.offset(),i=[this.containment[0]+n.left,this.containment[1]+n.top,this.containment[2]+n.left,this.containment[3]+n.top]):i=this.containment,t.pageX-this.offset.click.lefti[2]&&(u=i[2]+this.offset.click.left),t.pageY-this.offset.click.top>i[3]&&(c=i[3]+this.offset.click.top)),s.grid&&(r=s.grid[1]?this.originalPageY+Math.round((c-this.originalPageY)/s.grid[1])*s.grid[1]:this.originalPageY,c=i?r-this.offset.click.top>=i[1]||r-this.offset.click.top>i[3]?r:r-this.offset.click.top>=i[1]?r-s.grid[1]:r+s.grid[1]:r,o=s.grid[0]?this.originalPageX+Math.round((u-this.originalPageX)/s.grid[0])*s.grid[0]:this.originalPageX,u=i?o-this.offset.click.left>=i[0]||o-this.offset.click.left>i[2]?o:o-this.offset.click.left>=i[0]?o-s.grid[0]:o+s.grid[0]:o),"y"===s.axis&&(u=this.originalPageX),"x"===s.axis&&(c=this.originalPageY)),{top:c-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.offset.scroll.top:a?0:this.offset.scroll.top),left:u-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.offset.scroll.left:a?0:this.offset.scroll.left)}},_clear:function(){this._removeClass(this.helper,"ui-draggable-dragging"),this.helper[0]===this.element[0]||this.cancelHelperRemoval||this.helper.remove(),this.helper=null,this.cancelHelperRemoval=!1,this.destroyOnClear&&this.destroy()},_trigger:function(e,i,n){return n=n||this._uiHash(),t.ui.plugin.call(this,e,[i,n,this],!0),/^(drag|start|stop)/.test(e)&&(this.positionAbs=this._convertPositionTo("absolute"),n.offset=this.positionAbs),t.Widget.prototype._trigger.call(this,e,i,n)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}}),t.ui.plugin.add("draggable","connectToSortable",{start:function(e,i,n){var r=t.extend({},i,{item:n.element});n.sortables=[],t(n.options.connectToSortable).each(function(){var i=t(this).sortable("instance");i&&!i.options.disabled&&(n.sortables.push(i),i.refreshPositions(),i._trigger("activate",e,r))})},stop:function(e,i,n){var r=t.extend({},i,{item:n.element});n.cancelHelperRemoval=!1,t.each(n.sortables,function(){var t=this;t.isOver?(t.isOver=0,n.cancelHelperRemoval=!0,t.cancelHelperRemoval=!1,t._storedCSS={position:t.placeholder.css("position"),top:t.placeholder.css("top"),left:t.placeholder.css("left")},t._mouseStop(e),t.options.helper=t.options._helper):(t.cancelHelperRemoval=!0,t._trigger("deactivate",e,r))})},drag:function(e,i,n){t.each(n.sortables,function(){var r=!1,o=this;o.positionAbs=n.positionAbs,o.helperProportions=n.helperProportions,o.offset.click=n.offset.click,o._intersectsWith(o.containerCache)&&(r=!0,t.each(n.sortables,function(){return this.positionAbs=n.positionAbs,this.helperProportions=n.helperProportions,this.offset.click=n.offset.click,this!==o&&this._intersectsWith(this.containerCache)&&t.contains(o.element[0],this.element[0])&&(r=!1),r})),r?(o.isOver||(o.isOver=1,n._parent=i.helper.parent(),o.currentItem=i.helper.appendTo(o.element).data("ui-sortable-item",!0),o.options._helper=o.options.helper,o.options.helper=function(){return i.helper[0]},e.target=o.currentItem[0],o._mouseCapture(e,!0),o._mouseStart(e,!0,!0),o.offset.click.top=n.offset.click.top,o.offset.click.left=n.offset.click.left,o.offset.parent.left-=n.offset.parent.left-o.offset.parent.left,o.offset.parent.top-=n.offset.parent.top-o.offset.parent.top,n._trigger("toSortable",e),n.dropped=o.element,t.each(n.sortables,function(){this.refreshPositions()}),n.currentItem=n.element,o.fromOutside=n),o.currentItem&&(o._mouseDrag(e),i.position=o.position)):o.isOver&&(o.isOver=0,o.cancelHelperRemoval=!0,o.options._revert=o.options.revert,o.options.revert=!1,o._trigger("out",e,o._uiHash(o)),o._mouseStop(e,!0),o.options.revert=o.options._revert,o.options.helper=o.options._helper,o.placeholder&&o.placeholder.remove(),i.helper.appendTo(n._parent),n._refreshOffsets(e),i.position=n._generatePosition(e,!0),n._trigger("fromSortable",e),n.dropped=!1,t.each(n.sortables,function(){this.refreshPositions()}))})}}),t.ui.plugin.add("draggable","cursor",{start:function(e,i,n){var r=t("body"),o=n.options;r.css("cursor")&&(o._cursor=r.css("cursor")),r.css("cursor",o.cursor)},stop:function(e,i,n){var r=n.options;r._cursor&&t("body").css("cursor",r._cursor)}}),t.ui.plugin.add("draggable","opacity",{start:function(e,i,n){var r=t(i.helper),o=n.options;r.css("opacity")&&(o._opacity=r.css("opacity")),r.css("opacity",o.opacity)},stop:function(e,i,n){var r=n.options;r._opacity&&t(i.helper).css("opacity",r._opacity)}}),t.ui.plugin.add("draggable","scroll",{start:function(t,e,i){i.scrollParentNotHidden||(i.scrollParentNotHidden=i.helper.scrollParent(!1)),i.scrollParentNotHidden[0]!==i.document[0]&&"HTML"!==i.scrollParentNotHidden[0].tagName&&(i.overflowOffset=i.scrollParentNotHidden.offset())},drag:function(e,i,n){var r=n.options,o=!1,s=n.scrollParentNotHidden[0],a=n.document[0];s!==a&&"HTML"!==s.tagName?(r.axis&&"x"===r.axis||(n.overflowOffset.top+s.offsetHeight-e.pageY=0;d--)c=(u=n.snapElements[d].left-n.margins.left)+n.snapElements[d].width,l=(h=n.snapElements[d].top-n.margins.top)+n.snapElements[d].height,mc+g||bl+g||!t.contains(n.snapElements[d].item.ownerDocument,n.snapElements[d].item)?(n.snapElements[d].snapping&&n.options.snap.release&&n.options.snap.release.call(n.element,e,t.extend(n._uiHash(),{snapItem:n.snapElements[d].item})),n.snapElements[d].snapping=!1):("inner"!==p.snapMode&&(r=Math.abs(h-b)<=g,o=Math.abs(l-v)<=g,s=Math.abs(u-m)<=g,a=Math.abs(c-A)<=g,r&&(i.position.top=n._convertPositionTo("relative",{top:h-n.helperProportions.height,left:0}).top),o&&(i.position.top=n._convertPositionTo("relative",{top:l,left:0}).top),s&&(i.position.left=n._convertPositionTo("relative",{top:0,left:u-n.helperProportions.width}).left),a&&(i.position.left=n._convertPositionTo("relative",{top:0,left:c}).left)),f=r||o||s||a,"outer"!==p.snapMode&&(r=Math.abs(h-v)<=g,o=Math.abs(l-b)<=g,s=Math.abs(u-A)<=g,a=Math.abs(c-m)<=g,r&&(i.position.top=n._convertPositionTo("relative",{top:h,left:0}).top),o&&(i.position.top=n._convertPositionTo("relative",{top:l-n.helperProportions.height,left:0}).top),s&&(i.position.left=n._convertPositionTo("relative",{top:0,left:u}).left),a&&(i.position.left=n._convertPositionTo("relative",{top:0,left:c-n.helperProportions.width}).left)),!n.snapElements[d].snapping&&(r||o||s||a||f)&&n.options.snap.snap&&n.options.snap.snap.call(n.element,e,t.extend(n._uiHash(),{snapItem:n.snapElements[d].item})),n.snapElements[d].snapping=r||o||s||a||f)}}),t.ui.plugin.add("draggable","stack",{start:function(e,i,n){var r,o=n.options,s=t.makeArray(t(o.stack)).sort(function(e,i){return(parseInt(t(e).css("zIndex"),10)||0)-(parseInt(t(i).css("zIndex"),10)||0)});s.length&&(r=parseInt(t(s[0]).css("zIndex"),10)||0,t(s).each(function(e){t(this).css("zIndex",r+e)}),this.css("zIndex",r+s.length))}}),t.ui.plugin.add("draggable","zIndex",{start:function(e,i,n){var r=t(i.helper),o=n.options;r.css("zIndex")&&(o._zIndex=r.css("zIndex")),r.css("zIndex",o.zIndex)},stop:function(e,i,n){var r=n.options;r._zIndex&&t(i.helper).css("zIndex",r._zIndex)}}),t.ui.draggable,t.widget("ui.resizable",t.ui.mouse,{version:"1.13.3",widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,classes:{"ui-resizable-se":"ui-icon ui-icon-gripsmall-diagonal-se"},containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:90,resize:null,start:null,stop:null},_num:function(t){return parseFloat(t)||0},_isNumber:function(t){return!isNaN(parseFloat(t))},_hasScroll:function(e,i){if("hidden"===t(e).css("overflow"))return!1;var n=i&&"left"===i?"scrollLeft":"scrollTop",r=!1;if(e[n]>0)return!0;try{e[n]=1,r=e[n]>0,e[n]=0}catch(t){}return r},_create:function(){var e,i=this.options,n=this;this._addClass("ui-resizable"),t.extend(this,{_aspectRatio:!!i.aspectRatio,aspectRatio:i.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:i.helper||i.ghost||i.animate?i.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/^(canvas|textarea|input|select|button|img)$/i)&&(this.element.wrap(t("
        ").css({overflow:"hidden",position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.resizable("instance")),this.elementIsWrapper=!0,e={marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom"),marginLeft:this.originalElement.css("marginLeft")},this.element.css(e),this.originalElement.css("margin",0),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css(e),this._proportionallyResize()),this._setupHandles(),i.autoHide&&t(this.element).on("mouseenter",function(){i.disabled||(n._removeClass("ui-resizable-autohide"),n._handles.show())}).on("mouseleave",function(){i.disabled||n.resizing||(n._addClass("ui-resizable-autohide"),n._handles.hide())}),this._mouseInit()},_destroy:function(){this._mouseDestroy(),this._addedHandles.remove();var e,i=function(e){t(e).removeData("resizable").removeData("ui-resizable").off(".resizable")};return this.elementIsWrapper&&(i(this.element),e=this.element,this.originalElement.css({position:e.css("position"),width:e.outerWidth(),height:e.outerHeight(),top:e.css("top"),left:e.css("left")}).insertAfter(e),e.remove()),this.originalElement.css("resize",this.originalResizeStyle),i(this.originalElement),this},_setOption:function(t,e){switch(this._super(t,e),t){case"handles":this._removeHandles(),this._setupHandles();break;case"aspectRatio":this._aspectRatio=!!e}},_setupHandles:function(){var e,i,n,r,o,s=this.options,a=this;if(this.handles=s.handles||(t(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this._handles=t(),this._addedHandles=t(),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),n=this.handles.split(","),this.handles={},i=0;i"),this._addClass(o,"ui-resizable-handle "+r),o.css({zIndex:s.zIndex}),this.handles[e]=".ui-resizable-"+e,this.element.children(this.handles[e]).length||(this.element.append(o),this._addedHandles=this._addedHandles.add(o));this._renderAxis=function(e){var i,n,r,o;for(i in e=e||this.element,this.handles)this.handles[i].constructor===String?this.handles[i]=this.element.children(this.handles[i]).first().show():(this.handles[i].jquery||this.handles[i].nodeType)&&(this.handles[i]=t(this.handles[i]),this._on(this.handles[i],{mousedown:a._mouseDown})),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i)&&(n=t(this.handles[i],this.element),o=/sw|ne|nw|se|n|s/.test(i)?n.outerHeight():n.outerWidth(),r=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join(""),e.css(r,o),this._proportionallyResize()),this._handles=this._handles.add(this.handles[i])},this._renderAxis(this.element),this._handles=this._handles.add(this.element.find(".ui-resizable-handle")),this._handles.disableSelection(),this._handles.on("mouseover",function(){a.resizing||(this.className&&(o=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),a.axis=o&&o[1]?o[1]:"se")}),s.autoHide&&(this._handles.hide(),this._addClass("ui-resizable-autohide"))},_removeHandles:function(){this._addedHandles.remove()},_mouseCapture:function(e){var i,n,r=!1;for(i in this.handles)((n=t(this.handles[i])[0])===e.target||t.contains(n,e.target))&&(r=!0);return!this.options.disabled&&r},_mouseStart:function(e){var i,n,r,o=this.options,s=this.element;return this.resizing=!0,this._renderProxy(),i=this._num(this.helper.css("left")),n=this._num(this.helper.css("top")),o.containment&&(i+=t(o.containment).scrollLeft()||0,n+=t(o.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:i,top:n},this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{width:s.width(),height:s.height()},this.originalSize=this._helper?{width:s.outerWidth(),height:s.outerHeight()}:{width:s.width(),height:s.height()},this.sizeDiff={width:s.outerWidth()-s.width(),height:s.outerHeight()-s.height()},this.originalPosition={left:i,top:n},this.originalMousePosition={left:e.pageX,top:e.pageY},this.aspectRatio="number"==typeof o.aspectRatio?o.aspectRatio:this.originalSize.width/this.originalSize.height||1,r=t(".ui-resizable-"+this.axis).css("cursor"),t("body").css("cursor","auto"===r?this.axis+"-resize":r),this._addClass("ui-resizable-resizing"),this._propagate("start",e),!0},_mouseDrag:function(e){var i,n,r=this.originalMousePosition,o=this.axis,s=e.pageX-r.left||0,a=e.pageY-r.top||0,u=this._change[o];return this._updatePrevProperties(),!!u&&(i=u.apply(this,[e,s,a]),this._updateVirtualBoundaries(e.shiftKey),(this._aspectRatio||e.shiftKey)&&(i=this._updateRatio(i,e)),i=this._respectSize(i,e),this._updateCache(i),this._propagate("resize",e),n=this._applyChanges(),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),t.isEmptyObject(n)||(this._updatePrevProperties(),this._trigger("resize",e,this.ui()),this._applyChanges()),!1)},_mouseStop:function(e){this.resizing=!1;var i,n,r,o,s,a,u,c=this.options,h=this;return this._helper&&(r=(n=(i=this._proportionallyResizeElements).length&&/textarea/i.test(i[0].nodeName))&&this._hasScroll(i[0],"left")?0:h.sizeDiff.height,o=n?0:h.sizeDiff.width,s={width:h.helper.width()-o,height:h.helper.height()-r},a=parseFloat(h.element.css("left"))+(h.position.left-h.originalPosition.left)||null,u=parseFloat(h.element.css("top"))+(h.position.top-h.originalPosition.top)||null,c.animate||this.element.css(t.extend(s,{top:u,left:a})),h.helper.height(h.size.height),h.helper.width(h.size.width),this._helper&&!c.animate&&this._proportionallyResize()),t("body").css("cursor","auto"),this._removeClass("ui-resizable-resizing"),this._propagate("stop",e),this._helper&&this.helper.remove(),!1},_updatePrevProperties:function(){this.prevPosition={top:this.position.top,left:this.position.left},this.prevSize={width:this.size.width,height:this.size.height}},_applyChanges:function(){var t={};return this.position.top!==this.prevPosition.top&&(t.top=this.position.top+"px"),this.position.left!==this.prevPosition.left&&(t.left=this.position.left+"px"),this.helper.css(t),this.size.width!==this.prevSize.width&&(t.width=this.size.width+"px",this.helper.width(t.width)),this.size.height!==this.prevSize.height&&(t.height=this.size.height+"px",this.helper.height(t.height)),t},_updateVirtualBoundaries:function(t){var e,i,n,r,o,s=this.options;o={minWidth:this._isNumber(s.minWidth)?s.minWidth:0,maxWidth:this._isNumber(s.maxWidth)?s.maxWidth:1/0,minHeight:this._isNumber(s.minHeight)?s.minHeight:0,maxHeight:this._isNumber(s.maxHeight)?s.maxHeight:1/0},(this._aspectRatio||t)&&(e=o.minHeight*this.aspectRatio,n=o.minWidth/this.aspectRatio,i=o.maxHeight*this.aspectRatio,r=o.maxWidth/this.aspectRatio,e>o.minWidth&&(o.minWidth=e),n>o.minHeight&&(o.minHeight=n),it.width,s=this._isNumber(t.height)&&e.minHeight&&e.minHeight>t.height,a=this.originalPosition.left+this.originalSize.width,u=this.originalPosition.top+this.originalSize.height,c=/sw|nw|w/.test(i),h=/nw|ne|n/.test(i);return o&&(t.width=e.minWidth),s&&(t.height=e.minHeight),n&&(t.width=e.maxWidth),r&&(t.height=e.maxHeight),o&&c&&(t.left=a-e.minWidth),n&&c&&(t.left=a-e.maxWidth),s&&h&&(t.top=u-e.minHeight),r&&h&&(t.top=u-e.maxHeight),t.width||t.height||t.left||!t.top?t.width||t.height||t.top||!t.left||(t.left=null):t.top=null,t},_getPaddingPlusBorderDimensions:function(t){for(var e=0,i=[],n=[t.css("borderTopWidth"),t.css("borderRightWidth"),t.css("borderBottomWidth"),t.css("borderLeftWidth")],r=[t.css("paddingTop"),t.css("paddingRight"),t.css("paddingBottom"),t.css("paddingLeft")];e<4;e++)i[e]=parseFloat(n[e])||0,i[e]+=parseFloat(r[e])||0;return{height:i[0]+i[2],width:i[1]+i[3]}},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var t,e=0,i=this.helper||this.element;e
        ").css({overflow:"hidden"}),this._addClass(this.helper,this._helper),this.helper.css({width:this.element.outerWidth(),height:this.element.outerHeight(),position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++i.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element},_change:{e:function(t,e){return{width:this.originalSize.width+e}},w:function(t,e){var i=this.originalSize;return{left:this.originalPosition.left+e,width:i.width-e}},n:function(t,e,i){var n=this.originalSize;return{top:this.originalPosition.top+i,height:n.height-i}},s:function(t,e,i){return{height:this.originalSize.height+i}},se:function(e,i,n){return t.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[e,i,n]))},sw:function(e,i,n){return t.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[e,i,n]))},ne:function(e,i,n){return t.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[e,i,n]))},nw:function(e,i,n){return t.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[e,i,n]))}},_propagate:function(e,i){t.ui.plugin.call(this,e,[i,this.ui()]),"resize"!==e&&this._trigger(e,i,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),t.ui.plugin.add("resizable","animate",{stop:function(e){var i=t(this).resizable("instance"),n=i.options,r=i._proportionallyResizeElements,o=r.length&&/textarea/i.test(r[0].nodeName),s=o&&i._hasScroll(r[0],"left")?0:i.sizeDiff.height,a=o?0:i.sizeDiff.width,u={width:i.size.width-a,height:i.size.height-s},c=parseFloat(i.element.css("left"))+(i.position.left-i.originalPosition.left)||null,h=parseFloat(i.element.css("top"))+(i.position.top-i.originalPosition.top)||null;i.element.animate(t.extend(u,h&&c?{top:h,left:c}:{}),{duration:n.animateDuration,easing:n.animateEasing,step:function(){var n={width:parseFloat(i.element.css("width")),height:parseFloat(i.element.css("height")),top:parseFloat(i.element.css("top")),left:parseFloat(i.element.css("left"))};r&&r.length&&t(r[0]).css({width:n.width,height:n.height}),i._updateCache(n),i._propagate("resize",e)}})}}),t.ui.plugin.add("resizable","containment",{start:function(){var e,i,n,r,o,s,a,u=t(this).resizable("instance"),c=u.options,h=u.element,l=c.containment,d=l instanceof t?l.get(0):/parent/.test(l)?h.parent().get(0):l;d&&(u.containerElement=t(d),/document/.test(l)||l===document?(u.containerOffset={left:0,top:0},u.containerPosition={left:0,top:0},u.parentData={element:t(document),left:0,top:0,width:t(document).width(),height:t(document).height()||document.body.parentNode.scrollHeight}):(e=t(d),i=[],t(["Top","Right","Left","Bottom"]).each(function(t,n){i[t]=u._num(e.css("padding"+n))}),u.containerOffset=e.offset(),u.containerPosition=e.position(),u.containerSize={height:e.innerHeight()-i[3],width:e.innerWidth()-i[1]},n=u.containerOffset,r=u.containerSize.height,o=u.containerSize.width,s=u._hasScroll(d,"left")?d.scrollWidth:o,a=u._hasScroll(d)?d.scrollHeight:r,u.parentData={element:d,left:n.left,top:n.top,width:s,height:a}))},resize:function(e){var i,n,r,o,s=t(this).resizable("instance"),a=s.options,u=s.containerOffset,c=s.position,h=s._aspectRatio||e.shiftKey,l={top:0,left:0},d=s.containerElement,f=!0;d[0]!==document&&/static/.test(d.css("position"))&&(l=u),c.left<(s._helper?u.left:0)&&(s.size.width=s.size.width+(s._helper?s.position.left-u.left:s.position.left-l.left),h&&(s.size.height=s.size.width/s.aspectRatio,f=!1),s.position.left=a.helper?u.left:0),c.top<(s._helper?u.top:0)&&(s.size.height=s.size.height+(s._helper?s.position.top-u.top:s.position.top),h&&(s.size.width=s.size.height*s.aspectRatio,f=!1),s.position.top=s._helper?u.top:0),r=s.containerElement.get(0)===s.element.parent().get(0),o=/relative|absolute/.test(s.containerElement.css("position")),r&&o?(s.offset.left=s.parentData.left+s.position.left,s.offset.top=s.parentData.top+s.position.top):(s.offset.left=s.element.offset().left,s.offset.top=s.element.offset().top),i=Math.abs(s.sizeDiff.width+(s._helper?s.offset.left-l.left:s.offset.left-u.left)),n=Math.abs(s.sizeDiff.height+(s._helper?s.offset.top-l.top:s.offset.top-u.top)),i+s.size.width>=s.parentData.width&&(s.size.width=s.parentData.width-i,h&&(s.size.height=s.size.width/s.aspectRatio,f=!1)),n+s.size.height>=s.parentData.height&&(s.size.height=s.parentData.height-n,h&&(s.size.width=s.size.height*s.aspectRatio,f=!1)),f||(s.position.left=s.prevPosition.left,s.position.top=s.prevPosition.top,s.size.width=s.prevSize.width,s.size.height=s.prevSize.height)},stop:function(){var e=t(this).resizable("instance"),i=e.options,n=e.containerOffset,r=e.containerPosition,o=e.containerElement,s=t(e.helper),a=s.offset(),u=s.outerWidth()-e.sizeDiff.width,c=s.outerHeight()-e.sizeDiff.height;e._helper&&!i.animate&&/relative/.test(o.css("position"))&&t(this).css({left:a.left-r.left-n.left,width:u,height:c}),e._helper&&!i.animate&&/static/.test(o.css("position"))&&t(this).css({left:a.left-r.left-n.left,width:u,height:c})}}),t.ui.plugin.add("resizable","alsoResize",{start:function(){var e=t(this).resizable("instance").options;t(e.alsoResize).each(function(){var e=t(this);e.data("ui-resizable-alsoresize",{width:parseFloat(e.css("width")),height:parseFloat(e.css("height")),left:parseFloat(e.css("left")),top:parseFloat(e.css("top"))})})},resize:function(e,i){var n=t(this).resizable("instance"),r=n.options,o=n.originalSize,s=n.originalPosition,a={height:n.size.height-o.height||0,width:n.size.width-o.width||0,top:n.position.top-s.top||0,left:n.position.left-s.left||0};t(r.alsoResize).each(function(){var e=t(this),n=t(this).data("ui-resizable-alsoresize"),r={},o=e.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];t.each(o,function(t,e){var i=(n[e]||0)+(a[e]||0);i&&i>=0&&(r[e]=i||null)}),e.css(r)})},stop:function(){t(this).removeData("ui-resizable-alsoresize")}}),t.ui.plugin.add("resizable","ghost",{start:function(){var e=t(this).resizable("instance"),i=e.size;e.ghost=e.originalElement.clone(),e.ghost.css({opacity:.25,display:"block",position:"relative",height:i.height,width:i.width,margin:0,left:0,top:0}),e._addClass(e.ghost,"ui-resizable-ghost"),!1!==t.uiBackCompat&&"string"==typeof e.options.ghost&&e.ghost.addClass(this.options.ghost),e.ghost.appendTo(e.helper)},resize:function(){var e=t(this).resizable("instance");e.ghost&&e.ghost.css({position:"relative",height:e.size.height,width:e.size.width})},stop:function(){var e=t(this).resizable("instance");e.ghost&&e.helper&&e.helper.get(0).removeChild(e.ghost.get(0))}}),t.ui.plugin.add("resizable","grid",{resize:function(){var e,i=t(this).resizable("instance"),n=i.options,r=i.size,o=i.originalSize,s=i.originalPosition,a=i.axis,u="number"==typeof n.grid?[n.grid,n.grid]:n.grid,c=u[0]||1,h=u[1]||1,l=Math.round((r.width-o.width)/c)*c,d=Math.round((r.height-o.height)/h)*h,f=o.width+l,p=o.height+d,g=n.maxWidth&&n.maxWidthf,v=n.minHeight&&n.minHeight>p;n.grid=u,m&&(f+=c),v&&(p+=h),g&&(f-=c),A&&(p-=h),/^(se|s|e)$/.test(a)?(i.size.width=f,i.size.height=p):/^(ne)$/.test(a)?(i.size.width=f,i.size.height=p,i.position.top=s.top-d):/^(sw)$/.test(a)?(i.size.width=f,i.size.height=p,i.position.left=s.left-l):((p-h<=0||f-c<=0)&&(e=i._getPaddingPlusBorderDimensions(this)),p-h>0?(i.size.height=p,i.position.top=s.top-d):(p=h-e.height,i.size.height=p,i.position.top=s.top+o.height-p),f-c>0?(i.size.width=f,i.position.left=s.left-l):(f=c-e.width,i.size.width=f,i.position.left=s.left+o.width-f))}}),t.ui.resizable,t.widget("ui.dialog",{version:"1.13.3",options:{appendTo:"body",autoOpen:!0,buttons:[],classes:{"ui-dialog":"ui-corner-all","ui-dialog-titlebar":"ui-corner-all"},closeOnEscape:!0,closeText:"Close",draggable:!0,hide:null,height:"auto",maxHeight:null,maxWidth:null,minHeight:150,minWidth:150,modal:!1,position:{my:"center",at:"center",of:window,collision:"fit",using:function(e){var i=t(this).css(e).offset().top;i<0&&t(this).css("top",e.top-i)}},resizable:!0,show:null,title:null,width:300,beforeClose:null,close:null,drag:null,dragStart:null,dragStop:null,focus:null,open:null,resize:null,resizeStart:null,resizeStop:null},sizeRelatedOptions:{buttons:!0,height:!0,maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0,width:!0},resizableRelatedOptions:{maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0},_create:function(){this.originalCss={display:this.element[0].style.display,width:this.element[0].style.width,minHeight:this.element[0].style.minHeight,maxHeight:this.element[0].style.maxHeight,height:this.element[0].style.height},this.originalPosition={parent:this.element.parent(),index:this.element.parent().children().index(this.element)},this.originalTitle=this.element.attr("title"),null==this.options.title&&null!=this.originalTitle&&(this.options.title=this.originalTitle),this.options.disabled&&(this.options.disabled=!1),this._createWrapper(),this.element.show().removeAttr("title").appendTo(this.uiDialog),this._addClass("ui-dialog-content","ui-widget-content"),this._createTitlebar(),this._createButtonPane(),this.options.draggable&&t.fn.draggable&&this._makeDraggable(),this.options.resizable&&t.fn.resizable&&this._makeResizable(),this._isOpen=!1,this._trackFocus()},_init:function(){this.options.autoOpen&&this.open()},_appendTo:function(){var e=this.options.appendTo;return e&&(e.jquery||e.nodeType)?t(e):this.document.find(e||"body").eq(0)},_destroy:function(){var t,e=this.originalPosition;this._untrackInstance(),this._destroyOverlay(),this.element.removeUniqueId().css(this.originalCss).detach(),this.uiDialog.remove(),this.originalTitle&&this.element.attr("title",this.originalTitle),(t=e.parent.children().eq(e.index)).length&&t[0]!==this.element[0]?t.before(this.element):e.parent.append(this.element)},widget:function(){return this.uiDialog},disable:t.noop,enable:t.noop,close:function(e){var i=this;this._isOpen&&!1!==this._trigger("beforeClose",e)&&(this._isOpen=!1,this._focusedElement=null,this._destroyOverlay(),this._untrackInstance(),this.opener.filter(":focusable").trigger("focus").length||t.ui.safeBlur(t.ui.safeActiveElement(this.document[0])),this._hide(this.uiDialog,this.options.hide,function(){i._trigger("close",e)}))},isOpen:function(){return this._isOpen},moveToTop:function(){this._moveToTop()},_moveToTop:function(e,i){var n=!1,r=this.uiDialog.siblings(".ui-front:visible").map(function(){return+t(this).css("z-index")}).get(),o=Math.max.apply(null,r);return o>=+this.uiDialog.css("z-index")&&(this.uiDialog.css("z-index",o+1),n=!0),n&&!i&&this._trigger("focus",e),n},open:function(){var e=this;this._isOpen?this._moveToTop()&&this._focusTabbable():(this._isOpen=!0,this.opener=t(t.ui.safeActiveElement(this.document[0])),this._size(),this._position(),this._createOverlay(),this._moveToTop(null,!0),this.overlay&&this.overlay.css("z-index",this.uiDialog.css("z-index")-1),this._show(this.uiDialog,this.options.show,function(){e._focusTabbable(),e._trigger("focus")}),this._makeFocusTarget(),this._trigger("open"))},_focusTabbable:function(){var t=this._focusedElement;t||(t=this.element.find("[autofocus]")),t.length||(t=this.element.find(":tabbable")),t.length||(t=this.uiDialogButtonPane.find(":tabbable")),t.length||(t=this.uiDialogTitlebarClose.filter(":tabbable")),t.length||(t=this.uiDialog),t.eq(0).trigger("focus")},_restoreTabbableFocus:function(){var e=t.ui.safeActiveElement(this.document[0]);this.uiDialog[0]===e||t.contains(this.uiDialog[0],e)||this._focusTabbable()},_keepFocus:function(t){t.preventDefault(),this._restoreTabbableFocus(),this._delay(this._restoreTabbableFocus)},_createWrapper:function(){this.uiDialog=t("
        ").hide().attr({tabIndex:-1,role:"dialog"}).appendTo(this._appendTo()),this._addClass(this.uiDialog,"ui-dialog","ui-widget ui-widget-content ui-front"),this._on(this.uiDialog,{keydown:function(e){if(this.options.closeOnEscape&&!e.isDefaultPrevented()&&e.keyCode&&e.keyCode===t.ui.keyCode.ESCAPE)return e.preventDefault(),void this.close(e);if(e.keyCode===t.ui.keyCode.TAB&&!e.isDefaultPrevented()){var i=this.uiDialog.find(":tabbable"),n=i.first(),r=i.last();e.target!==r[0]&&e.target!==this.uiDialog[0]||e.shiftKey?e.target!==n[0]&&e.target!==this.uiDialog[0]||!e.shiftKey||(this._delay(function(){r.trigger("focus")}),e.preventDefault()):(this._delay(function(){n.trigger("focus")}),e.preventDefault())}},mousedown:function(t){this._moveToTop(t)&&this._focusTabbable()}}),this.element.find("[aria-describedby]").length||this.uiDialog.attr({"aria-describedby":this.element.uniqueId().attr("id")})},_createTitlebar:function(){var e;this.uiDialogTitlebar=t("
        "),this._addClass(this.uiDialogTitlebar,"ui-dialog-titlebar","ui-widget-header ui-helper-clearfix"),this._on(this.uiDialogTitlebar,{mousedown:function(e){t(e.target).closest(".ui-dialog-titlebar-close")||this.uiDialog.trigger("focus")}}),this.uiDialogTitlebarClose=t("").button({label:t("").text(this.options.closeText).html(),icon:"ui-icon-closethick",showLabel:!1}).appendTo(this.uiDialogTitlebar),this._addClass(this.uiDialogTitlebarClose,"ui-dialog-titlebar-close"),this._on(this.uiDialogTitlebarClose,{click:function(t){t.preventDefault(),this.close(t)}}),e=t("").uniqueId().prependTo(this.uiDialogTitlebar),this._addClass(e,"ui-dialog-title"),this._title(e),this.uiDialogTitlebar.prependTo(this.uiDialog),this.uiDialog.attr({"aria-labelledby":e.attr("id")})},_title:function(t){this.options.title?t.text(this.options.title):t.html(" ")},_createButtonPane:function(){this.uiDialogButtonPane=t("
        "),this._addClass(this.uiDialogButtonPane,"ui-dialog-buttonpane","ui-widget-content ui-helper-clearfix"),this.uiButtonSet=t("
        ").appendTo(this.uiDialogButtonPane),this._addClass(this.uiButtonSet,"ui-dialog-buttonset"),this._createButtons()},_createButtons:function(){var e=this,i=this.options.buttons;this.uiDialogButtonPane.remove(),this.uiButtonSet.empty(),t.isEmptyObject(i)||Array.isArray(i)&&!i.length?this._removeClass(this.uiDialog,"ui-dialog-buttons"):(t.each(i,function(i,n){var r,o;n="function"==typeof n?{click:n,text:i}:n,n=t.extend({type:"button"},n),r=n.click,o={icon:n.icon,iconPosition:n.iconPosition,showLabel:n.showLabel,icons:n.icons,text:n.text},delete n.click,delete n.icon,delete n.iconPosition,delete n.showLabel,delete n.icons,"boolean"==typeof n.text&&delete n.text,t("",n).button(o).appendTo(e.uiButtonSet).on("click",function(){r.apply(e.element[0],arguments)})}),this._addClass(this.uiDialog,"ui-dialog-buttons"),this.uiDialogButtonPane.appendTo(this.uiDialog))},_makeDraggable:function(){var e=this,i=this.options;function n(t){return{position:t.position,offset:t.offset}}this.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close",handle:".ui-dialog-titlebar",containment:"document",start:function(i,r){e._addClass(t(this),"ui-dialog-dragging"),e._blockFrames(),e._trigger("dragStart",i,n(r))},drag:function(t,i){e._trigger("drag",t,n(i))},stop:function(r,o){var s=o.offset.left-e.document.scrollLeft(),a=o.offset.top-e.document.scrollTop();i.position={my:"left top",at:"left"+(s>=0?"+":"")+s+" top"+(a>=0?"+":"")+a,of:e.window},e._removeClass(t(this),"ui-dialog-dragging"),e._unblockFrames(),e._trigger("dragStop",r,n(o))}})},_makeResizable:function(){var e=this,i=this.options,n=i.resizable,r=this.uiDialog.css("position"),o="string"==typeof n?n:"n,e,s,w,se,sw,ne,nw";function s(t){return{originalPosition:t.originalPosition,originalSize:t.originalSize,position:t.position,size:t.size}}this.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:this.element,maxWidth:i.maxWidth,maxHeight:i.maxHeight,minWidth:i.minWidth,minHeight:this._minHeight(),handles:o,start:function(i,n){e._addClass(t(this),"ui-dialog-resizing"),e._blockFrames(),e._trigger("resizeStart",i,s(n))},resize:function(t,i){e._trigger("resize",t,s(i))},stop:function(n,r){var o=e.uiDialog.offset(),a=o.left-e.document.scrollLeft(),u=o.top-e.document.scrollTop();i.height=e.uiDialog.height(),i.width=e.uiDialog.width(),i.position={my:"left top",at:"left"+(a>=0?"+":"")+a+" top"+(u>=0?"+":"")+u,of:e.window},e._removeClass(t(this),"ui-dialog-resizing"),e._unblockFrames(),e._trigger("resizeStop",n,s(r))}}).css("position",r)},_trackFocus:function(){this._on(this.widget(),{focusin:function(e){this._makeFocusTarget(),this._focusedElement=t(e.target)}})},_makeFocusTarget:function(){this._untrackInstance(),this._trackingInstances().unshift(this)},_untrackInstance:function(){var e=this._trackingInstances(),i=t.inArray(this,e);-1!==i&&e.splice(i,1)},_trackingInstances:function(){var t=this.document.data("ui-dialog-instances");return t||(t=[],this.document.data("ui-dialog-instances",t)),t},_minHeight:function(){var t=this.options;return"auto"===t.height?t.minHeight:Math.min(t.minHeight,t.height)},_position:function(){var t=this.uiDialog.is(":visible");t||this.uiDialog.show(),this.uiDialog.position(this.options.position),t||this.uiDialog.hide()},_setOptions:function(e){var i=this,n=!1,r={};t.each(e,function(t,e){i._setOption(t,e),t in i.sizeRelatedOptions&&(n=!0),t in i.resizableRelatedOptions&&(r[t]=e)}),n&&(this._size(),this._position()),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option",r)},_setOption:function(e,i){var n,r,o=this.uiDialog;"disabled"!==e&&(this._super(e,i),"appendTo"===e&&this.uiDialog.appendTo(this._appendTo()),"buttons"===e&&this._createButtons(),"closeText"===e&&this.uiDialogTitlebarClose.button({label:t("").text(""+this.options.closeText).html()}),"draggable"===e&&((n=o.is(":data(ui-draggable)"))&&!i&&o.draggable("destroy"),!n&&i&&this._makeDraggable()),"position"===e&&this._position(),"resizable"===e&&((r=o.is(":data(ui-resizable)"))&&!i&&o.resizable("destroy"),r&&"string"==typeof i&&o.resizable("option","handles",i),r||!1===i||this._makeResizable()),"title"===e&&this._title(this.uiDialogTitlebar.find(".ui-dialog-title")))},_size:function(){var t,e,i,n=this.options;this.element.show().css({width:"auto",minHeight:0,maxHeight:"none",height:0}),n.minWidth>n.width&&(n.width=n.minWidth),t=this.uiDialog.css({height:"auto",width:n.width}).outerHeight(),e=Math.max(0,n.minHeight-t),i="number"==typeof n.maxHeight?Math.max(0,n.maxHeight-t):"none","auto"===n.height?this.element.css({minHeight:e,maxHeight:i,height:"auto"}):this.element.height(Math.max(0,n.height-t)),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option","minHeight",this._minHeight())},_blockFrames:function(){this.iframeBlocks=this.document.find("iframe").map(function(){var e=t(this);return t("
        ").css({position:"absolute",width:e.outerWidth(),height:e.outerHeight()}).appendTo(e.parent()).offset(e.offset())[0]})},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_allowInteraction:function(e){return!!t(e.target).closest(".ui-dialog").length||!!t(e.target).closest(".ui-datepicker").length},_createOverlay:function(){if(this.options.modal){var e=t.fn.jquery.substring(0,4),i=!0;this._delay(function(){i=!1}),this.document.data("ui-dialog-overlays")||this.document.on("focusin.ui-dialog",function(t){if(!i){var n=this._trackingInstances()[0];n._allowInteraction(t)||(t.preventDefault(),n._focusTabbable(),"3.4."!==e&&"3.5."!==e&&"3.6."!==e||n._delay(n._restoreTabbableFocus))}}.bind(this)),this.overlay=t("
        ").appendTo(this._appendTo()),this._addClass(this.overlay,null,"ui-widget-overlay ui-front"),this._on(this.overlay,{mousedown:"_keepFocus"}),this.document.data("ui-dialog-overlays",(this.document.data("ui-dialog-overlays")||0)+1)}},_destroyOverlay:function(){if(this.options.modal&&this.overlay){var t=this.document.data("ui-dialog-overlays")-1;t?this.document.data("ui-dialog-overlays",t):(this.document.off("focusin.ui-dialog"),this.document.removeData("ui-dialog-overlays")),this.overlay.remove(),this.overlay=null}}}),!1!==t.uiBackCompat&&t.widget("ui.dialog",t.ui.dialog,{options:{dialogClass:""},_createWrapper:function(){this._super(),this.uiDialog.addClass(this.options.dialogClass)},_setOption:function(t,e){"dialogClass"===t&&this.uiDialog.removeClass(this.options.dialogClass).addClass(e),this._superApply(arguments)}}),t.ui.dialog,t.widget("ui.droppable",{version:"1.13.3",widgetEventPrefix:"drop",options:{accept:"*",addClasses:!0,greedy:!1,scope:"default",tolerance:"intersect",activate:null,deactivate:null,drop:null,out:null,over:null},_create:function(){var t,e=this.options,i=e.accept;this.isover=!1,this.isout=!0,this.accept="function"==typeof i?i:function(t){return t.is(i)},this.proportions=function(){if(!arguments.length)return t||(t={width:this.element[0].offsetWidth,height:this.element[0].offsetHeight});t=arguments[0]},this._addToManager(e.scope),e.addClasses&&this._addClass("ui-droppable")},_addToManager:function(e){t.ui.ddmanager.droppables[e]=t.ui.ddmanager.droppables[e]||[],t.ui.ddmanager.droppables[e].push(this)},_splice:function(t){for(var e=0;e=e&&t=h&&s<=d||u>=h&&u<=d||sd)&&(o>=c&&o<=l||a>=c&&a<=l||ol);default:return!1}}}(),t.ui.ddmanager={current:null,droppables:{default:[]},prepareOffsets:function(e,i){var n,r,o=t.ui.ddmanager.droppables[e.options.scope]||[],s=i?i.type:null,a=(e.currentItem||e.element).find(":data(ui-droppable)").addBack();t:for(n=0;n").appendTo(this.element),this._addClass(this.valueDiv,"ui-progressbar-value","ui-widget-header"),this._refreshValue()},_destroy:function(){this.element.removeAttr("role aria-valuemin aria-valuemax aria-valuenow"),this.valueDiv.remove()},value:function(t){if(void 0===t)return this.options.value;this.options.value=this._constrainedValue(t),this._refreshValue()},_constrainedValue:function(t){return void 0===t&&(t=this.options.value),this.indeterminate=!1===t,"number"!=typeof t&&(t=0),!this.indeterminate&&Math.min(this.options.max,Math.max(this.min,t))},_setOptions:function(t){var e=t.value;delete t.value,this._super(t),this.options.value=this._constrainedValue(e),this._refreshValue()},_setOption:function(t,e){"max"===t&&(e=Math.max(this.min,e)),this._super(t,e)},_setOptionDisabled:function(t){this._super(t),this.element.attr("aria-disabled",t),this._toggleClass(null,"ui-state-disabled",!!t)},_percentage:function(){return this.indeterminate?100:100*(this.options.value-this.min)/(this.options.max-this.min)},_refreshValue:function(){var e=this.options.value,i=this._percentage();this.valueDiv.toggle(this.indeterminate||e>this.min).width(i.toFixed(0)+"%"),this._toggleClass(this.valueDiv,"ui-progressbar-complete",null,e===this.options.max)._toggleClass("ui-progressbar-indeterminate",null,this.indeterminate),this.indeterminate?(this.element.removeAttr("aria-valuenow"),this.overlayDiv||(this.overlayDiv=t("
        ").appendTo(this.valueDiv),this._addClass(this.overlayDiv,"ui-progressbar-overlay"))):(this.element.attr({"aria-valuemax":this.options.max,"aria-valuenow":e}),this.overlayDiv&&(this.overlayDiv.remove(),this.overlayDiv=null)),this.oldValue!==e&&(this.oldValue=e,this._trigger("change")),e===this.options.max&&this._trigger("complete")}}),t.widget("ui.selectable",t.ui.mouse,{version:"1.13.3",options:{appendTo:"body",autoRefresh:!0,distance:0,filter:"*",tolerance:"touch",selected:null,selecting:null,start:null,stop:null,unselected:null,unselecting:null},_create:function(){var e=this;this._addClass("ui-selectable"),this.dragged=!1,this.refresh=function(){e.elementPos=t(e.element[0]).offset(),e.selectees=t(e.options.filter,e.element[0]),e._addClass(e.selectees,"ui-selectee"),e.selectees.each(function(){var i=t(this),n=i.offset(),r={left:n.left-e.elementPos.left,top:n.top-e.elementPos.top};t.data(this,"selectable-item",{element:this,$element:i,left:r.left,top:r.top,right:r.left+i.outerWidth(),bottom:r.top+i.outerHeight(),startselected:!1,selected:i.hasClass("ui-selected"),selecting:i.hasClass("ui-selecting"),unselecting:i.hasClass("ui-unselecting")})})},this.refresh(),this._mouseInit(),this.helper=t("
        "),this._addClass(this.helper,"ui-selectable-helper")},_destroy:function(){this.selectees.removeData("selectable-item"),this._mouseDestroy()},_mouseStart:function(e){var i=this,n=this.options;this.opos=[e.pageX,e.pageY],this.elementPos=t(this.element[0]).offset(),this.options.disabled||(this.selectees=t(n.filter,this.element[0]),this._trigger("start",e),t(n.appendTo).append(this.helper),this.helper.css({left:e.pageX,top:e.pageY,width:0,height:0}),n.autoRefresh&&this.refresh(),this.selectees.filter(".ui-selected").each(function(){var n=t.data(this,"selectable-item");n.startselected=!0,e.metaKey||e.ctrlKey||(i._removeClass(n.$element,"ui-selected"),n.selected=!1,i._addClass(n.$element,"ui-unselecting"),n.unselecting=!0,i._trigger("unselecting",e,{unselecting:n.element}))}),t(e.target).parents().addBack().each(function(){var n,r=t.data(this,"selectable-item");if(r)return n=!e.metaKey&&!e.ctrlKey||!r.$element.hasClass("ui-selected"),i._removeClass(r.$element,n?"ui-unselecting":"ui-selected")._addClass(r.$element,n?"ui-selecting":"ui-unselecting"),r.unselecting=!n,r.selecting=n,r.selected=n,n?i._trigger("selecting",e,{selecting:r.element}):i._trigger("unselecting",e,{unselecting:r.element}),!1}))},_mouseDrag:function(e){if(this.dragged=!0,!this.options.disabled){var i,n=this,r=this.options,o=this.opos[0],s=this.opos[1],a=e.pageX,u=e.pageY;return o>a&&(i=a,a=o,o=i),s>u&&(i=u,u=s,s=i),this.helper.css({left:o,top:s,width:a-o,height:u-s}),this.selectees.each(function(){var i=t.data(this,"selectable-item"),c=!1,h={};i&&i.element!==n.element[0]&&(h.left=i.left+n.elementPos.left,h.right=i.right+n.elementPos.left,h.top=i.top+n.elementPos.top,h.bottom=i.bottom+n.elementPos.top,"touch"===r.tolerance?c=!(h.left>a||h.rightu||h.bottomo&&h.rights&&h.bottom",options:{appendTo:null,classes:{"ui-selectmenu-button-open":"ui-corner-top","ui-selectmenu-button-closed":"ui-corner-all"},disabled:null,icons:{button:"ui-icon-triangle-1-s"},position:{my:"left top",at:"left bottom",collision:"none"},width:!1,change:null,close:null,focus:null,open:null,select:null},_create:function(){var e=this.element.uniqueId().attr("id");this.ids={element:e,button:e+"-button",menu:e+"-menu"},this._drawButton(),this._drawMenu(),this._bindFormResetHandler(),this._rendered=!1,this.menuItems=t()},_drawButton:function(){var e,i=this,n=this._parseOption(this.element.find("option:selected"),this.element[0].selectedIndex);this.labels=this.element.labels().attr("for",this.ids.button),this._on(this.labels,{click:function(t){this.button.trigger("focus"),t.preventDefault()}}),this.element.hide(),this.button=t("",{tabindex:this.options.disabled?-1:0,id:this.ids.button,role:"combobox","aria-expanded":"false","aria-autocomplete":"list","aria-owns":this.ids.menu,"aria-haspopup":"true",title:this.element.attr("title")}).insertAfter(this.element),this._addClass(this.button,"ui-selectmenu-button ui-selectmenu-button-closed","ui-button ui-widget"),e=t("").appendTo(this.button),this._addClass(e,"ui-selectmenu-icon","ui-icon "+this.options.icons.button),this.buttonItem=this._renderButtonItem(n).appendTo(this.button),!1!==this.options.width&&this._resizeButton(),this._on(this.button,this._buttonEvents),this.button.one("focusin",function(){i._rendered||i._refreshMenu()})},_drawMenu:function(){var e=this;this.menu=t("
          ",{"aria-hidden":"true","aria-labelledby":this.ids.button,id:this.ids.menu}),this.menuWrap=t("
          ").append(this.menu),this._addClass(this.menuWrap,"ui-selectmenu-menu","ui-front"),this.menuWrap.appendTo(this._appendTo()),this.menuInstance=this.menu.menu({classes:{"ui-menu":"ui-corner-bottom"},role:"listbox",select:function(t,i){t.preventDefault(),e._setSelection(),e._select(i.item.data("ui-selectmenu-item"),t)},focus:function(t,i){var n=i.item.data("ui-selectmenu-item");null!=e.focusIndex&&n.index!==e.focusIndex&&(e._trigger("focus",t,{item:n}),e.isOpen||e._select(n,t)),e.focusIndex=n.index,e.button.attr("aria-activedescendant",e.menuItems.eq(n.index).attr("id"))}}).menu("instance"),this.menuInstance._off(this.menu,"mouseleave"),this.menuInstance._closeOnDocumentClick=function(){return!1},this.menuInstance._isDivider=function(){return!1}},refresh:function(){this._refreshMenu(),this.buttonItem.replaceWith(this.buttonItem=this._renderButtonItem(this._getSelectedItem().data("ui-selectmenu-item")||{})),null===this.options.width&&this._resizeButton()},_refreshMenu:function(){var t,e=this.element.find("option");this.menu.empty(),this._parseOptions(e),this._renderMenu(this.menu,this.items),this.menuInstance.refresh(),this.menuItems=this.menu.find("li").not(".ui-selectmenu-optgroup").find(".ui-menu-item-wrapper"),this._rendered=!0,e.length&&(t=this._getSelectedItem(),this.menuInstance.focus(null,t),this._setAria(t.data("ui-selectmenu-item")),this._setOption("disabled",this.element.prop("disabled")))},open:function(t){this.options.disabled||(this._rendered?(this._removeClass(this.menu.find(".ui-state-active"),null,"ui-state-active"),this.menuInstance.focus(null,this._getSelectedItem())):this._refreshMenu(),this.menuItems.length&&(this.isOpen=!0,this._toggleAttr(),this._resizeMenu(),this._position(),this._on(this.document,this._documentClick),this._trigger("open",t)))},_position:function(){this.menuWrap.position(t.extend({of:this.button},this.options.position))},close:function(t){this.isOpen&&(this.isOpen=!1,this._toggleAttr(),this.range=null,this._off(this.document),this._trigger("close",t))},widget:function(){return this.button},menuWidget:function(){return this.menu},_renderButtonItem:function(e){var i=t("");return this._setText(i,e.label),this._addClass(i,"ui-selectmenu-text"),i},_renderMenu:function(e,i){var n=this,r="";t.each(i,function(i,o){var s;o.optgroup!==r&&(s=t("
        • ",{text:o.optgroup}),n._addClass(s,"ui-selectmenu-optgroup","ui-menu-divider"+(o.element.parent("optgroup").prop("disabled")?" ui-state-disabled":"")),s.appendTo(e),r=o.optgroup),n._renderItemData(e,o)})},_renderItemData:function(t,e){return this._renderItem(t,e).data("ui-selectmenu-item",e)},_renderItem:function(e,i){var n=t("
        • "),r=t("
          ",{title:i.element.attr("title")});return i.disabled&&this._addClass(n,null,"ui-state-disabled"),i.hidden?n.prop("hidden",!0):this._setText(r,i.label),n.append(r).appendTo(e)},_setText:function(t,e){e?t.text(e):t.html(" ")},_move:function(t,e){var i,n,r=".ui-menu-item";this.isOpen?i=this.menuItems.eq(this.focusIndex).parent("li"):(i=this.menuItems.eq(this.element[0].selectedIndex).parent("li"),r+=":not(.ui-state-disabled)"),(n="first"===t||"last"===t?i["first"===t?"prevAll":"nextAll"](r).eq(-1):i[t+"All"](r).eq(0)).length&&this.menuInstance.focus(e,n)},_getSelectedItem:function(){return this.menuItems.eq(this.element[0].selectedIndex).parent("li")},_toggle:function(t){this[this.isOpen?"close":"open"](t)},_setSelection:function(){var t;this.range&&(window.getSelection?((t=window.getSelection()).removeAllRanges(),t.addRange(this.range)):this.range.select(),this.button.trigger("focus"))},_documentClick:{mousedown:function(e){this.isOpen&&(t(e.target).closest(".ui-selectmenu-menu, #"+t.escapeSelector(this.ids.button)).length||this.close(e))}},_buttonEvents:{mousedown:function(){var t;window.getSelection?(t=window.getSelection()).rangeCount&&(this.range=t.getRangeAt(0)):this.range=document.selection.createRange()},click:function(t){this._setSelection(),this._toggle(t)},keydown:function(e){var i=!0;switch(e.keyCode){case t.ui.keyCode.TAB:case t.ui.keyCode.ESCAPE:this.close(e),i=!1;break;case t.ui.keyCode.ENTER:this.isOpen&&this._selectFocusedItem(e);break;case t.ui.keyCode.UP:e.altKey?this._toggle(e):this._move("prev",e);break;case t.ui.keyCode.DOWN:e.altKey?this._toggle(e):this._move("next",e);break;case t.ui.keyCode.SPACE:this.isOpen?this._selectFocusedItem(e):this._toggle(e);break;case t.ui.keyCode.LEFT:this._move("prev",e);break;case t.ui.keyCode.RIGHT:this._move("next",e);break;case t.ui.keyCode.HOME:case t.ui.keyCode.PAGE_UP:this._move("first",e);break;case t.ui.keyCode.END:case t.ui.keyCode.PAGE_DOWN:this._move("last",e);break;default:this.menu.trigger(e),i=!1}i&&e.preventDefault()}},_selectFocusedItem:function(t){var e=this.menuItems.eq(this.focusIndex).parent("li");e.hasClass("ui-state-disabled")||this._select(e.data("ui-selectmenu-item"),t)},_select:function(t,e){var i=this.element[0].selectedIndex;this.element[0].selectedIndex=t.index,this.buttonItem.replaceWith(this.buttonItem=this._renderButtonItem(t)),this._setAria(t),this._trigger("select",e,{item:t}),t.index!==i&&this._trigger("change",e,{item:t}),this.close(e)},_setAria:function(t){var e=this.menuItems.eq(t.index).attr("id");this.button.attr({"aria-labelledby":e,"aria-activedescendant":e}),this.menu.attr("aria-activedescendant",e)},_setOption:function(t,e){if("icons"===t){var i=this.button.find("span.ui-icon");this._removeClass(i,null,this.options.icons.button)._addClass(i,null,e.button)}this._super(t,e),"appendTo"===t&&this.menuWrap.appendTo(this._appendTo()),"width"===t&&this._resizeButton()},_setOptionDisabled:function(t){this._super(t),this.menuInstance.option("disabled",t),this.button.attr("aria-disabled",t),this._toggleClass(this.button,null,"ui-state-disabled",t),this.element.prop("disabled",t),t?(this.button.attr("tabindex",-1),this.close()):this.button.attr("tabindex",0)},_appendTo:function(){var e=this.options.appendTo;return e&&(e=e.jquery||e.nodeType?t(e):this.document.find(e).eq(0)),e&&e[0]||(e=this.element.closest(".ui-front, dialog")),e.length||(e=this.document[0].body),e},_toggleAttr:function(){this.button.attr("aria-expanded",this.isOpen),this._removeClass(this.button,"ui-selectmenu-button-"+(this.isOpen?"closed":"open"))._addClass(this.button,"ui-selectmenu-button-"+(this.isOpen?"open":"closed"))._toggleClass(this.menuWrap,"ui-selectmenu-open",null,this.isOpen),this.menu.attr("aria-hidden",!this.isOpen)},_resizeButton:function(){var t=this.options.width;!1!==t?(null===t&&(t=this.element.show().outerWidth(),this.element.hide()),this.button.outerWidth(t)):this.button.css("width","")},_resizeMenu:function(){this.menu.outerWidth(Math.max(this.button.outerWidth(),this.menu.width("").outerWidth()+1))},_getCreateOptions:function(){var t=this._super();return t.disabled=this.element.prop("disabled"),t},_parseOptions:function(e){var i=this,n=[];e.each(function(e,r){n.push(i._parseOption(t(r),e))}),this.items=n},_parseOption:function(t,e){var i=t.parent("optgroup");return{element:t,index:e,value:t.val(),label:t.text(),hidden:i.prop("hidden")||t.prop("hidden"),optgroup:i.attr("label")||"",disabled:i.prop("disabled")||t.prop("disabled")}},_destroy:function(){this._unbindFormResetHandler(),this.menuWrap.remove(),this.button.remove(),this.element.show(),this.element.removeUniqueId(),this.labels.attr("for",this.ids.element)}}]),t.widget("ui.slider",t.ui.mouse,{version:"1.13.3",widgetEventPrefix:"slide",options:{animate:!1,classes:{"ui-slider":"ui-corner-all","ui-slider-handle":"ui-corner-all","ui-slider-range":"ui-corner-all ui-widget-header"},distance:0,max:100,min:0,orientation:"horizontal",range:!1,step:1,value:0,values:null,change:null,slide:null,start:null,stop:null},numPages:5,_create:function(){this._keySliding=!1,this._mouseSliding=!1,this._animateOff=!0,this._handleIndex=null,this._detectOrientation(),this._mouseInit(),this._calculateNewMax(),this._addClass("ui-slider ui-slider-"+this.orientation,"ui-widget ui-widget-content"),this._refresh(),this._animateOff=!1},_refresh:function(){this._createRange(),this._createHandles(),this._setupEvents(),this._refreshValue()},_createHandles:function(){var e,i,n=this.options,r=this.element.find(".ui-slider-handle"),o=[];for(i=n.values&&n.values.length||1,r.length>i&&(r.slice(i).remove(),r=r.slice(0,i)),e=r.length;e");this.handles=r.add(t(o.join("")).appendTo(this.element)),this._addClass(this.handles,"ui-slider-handle","ui-state-default"),this.handle=this.handles.eq(0),this.handles.each(function(e){t(this).data("ui-slider-handle-index",e).attr("tabIndex",0)})},_createRange:function(){var e=this.options;e.range?(!0===e.range&&(e.values?e.values.length&&2!==e.values.length?e.values=[e.values[0],e.values[0]]:Array.isArray(e.values)&&(e.values=e.values.slice(0)):e.values=[this._valueMin(),this._valueMin()]),this.range&&this.range.length?(this._removeClass(this.range,"ui-slider-range-min ui-slider-range-max"),this.range.css({left:"",bottom:""})):(this.range=t("
          ").appendTo(this.element),this._addClass(this.range,"ui-slider-range")),"min"!==e.range&&"max"!==e.range||this._addClass(this.range,"ui-slider-range-"+e.range)):(this.range&&this.range.remove(),this.range=null)},_setupEvents:function(){this._off(this.handles),this._on(this.handles,this._handleEvents),this._hoverable(this.handles),this._focusable(this.handles)},_destroy:function(){this.handles.remove(),this.range&&this.range.remove(),this._mouseDestroy()},_mouseCapture:function(e){var i,n,r,o,s,a,u,c=this,h=this.options;return!h.disabled&&(this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()},this.elementOffset=this.element.offset(),i={x:e.pageX,y:e.pageY},n=this._normValueFromMouse(i),r=this._valueMax()-this._valueMin()+1,this.handles.each(function(e){var i=Math.abs(n-c.values(e));(r>i||r===i&&(e===c._lastChangedValue||c.values(e)===h.min))&&(r=i,o=t(this),s=e)}),!1!==this._start(e,s)&&(this._mouseSliding=!0,this._handleIndex=s,this._addClass(o,null,"ui-state-active"),o.trigger("focus"),a=o.offset(),u=!t(e.target).parents().addBack().is(".ui-slider-handle"),this._clickOffset=u?{left:0,top:0}:{left:e.pageX-a.left-o.width()/2,top:e.pageY-a.top-o.height()/2-(parseInt(o.css("borderTopWidth"),10)||0)-(parseInt(o.css("borderBottomWidth"),10)||0)+(parseInt(o.css("marginTop"),10)||0)},this.handles.hasClass("ui-state-hover")||this._slide(e,s,n),this._animateOff=!0,!0))},_mouseStart:function(){return!0},_mouseDrag:function(t){var e={x:t.pageX,y:t.pageY},i=this._normValueFromMouse(e);return this._slide(t,this._handleIndex,i),!1},_mouseStop:function(t){return this._removeClass(this.handles,null,"ui-state-active"),this._mouseSliding=!1,this._stop(t,this._handleIndex),this._change(t,this._handleIndex),this._handleIndex=null,this._clickOffset=null,this._animateOff=!1,!1},_detectOrientation:function(){this.orientation="vertical"===this.options.orientation?"vertical":"horizontal"},_normValueFromMouse:function(t){var e,i,n,r,o;return"horizontal"===this.orientation?(e=this.elementSize.width,i=t.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)):(e=this.elementSize.height,i=t.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)),(n=i/e)>1&&(n=1),n<0&&(n=0),"vertical"===this.orientation&&(n=1-n),r=this._valueMax()-this._valueMin(),o=this._valueMin()+n*r,this._trimAlignValue(o)},_uiHash:function(t,e,i){var n={handle:this.handles[t],handleIndex:t,value:void 0!==e?e:this.value()};return this._hasMultipleValues()&&(n.value=void 0!==e?e:this.values(t),n.values=i||this.values()),n},_hasMultipleValues:function(){return this.options.values&&this.options.values.length},_start:function(t,e){return this._trigger("start",t,this._uiHash(e))},_slide:function(t,e,i){var n,r=this.value(),o=this.values();this._hasMultipleValues()&&(n=this.values(e?0:1),r=this.values(e),2===this.options.values.length&&!0===this.options.range&&(i=0===e?Math.min(n,i):Math.max(n,i)),o[e]=i),i!==r&&!1!==this._trigger("slide",t,this._uiHash(e,i,o))&&(this._hasMultipleValues()?this.values(e,i):this.value(i))},_stop:function(t,e){this._trigger("stop",t,this._uiHash(e))},_change:function(t,e){this._keySliding||this._mouseSliding||(this._lastChangedValue=e,this._trigger("change",t,this._uiHash(e)))},value:function(t){return arguments.length?(this.options.value=this._trimAlignValue(t),this._refreshValue(),void this._change(null,0)):this._value()},values:function(t,e){var i,n,r;if(arguments.length>1)return this.options.values[t]=this._trimAlignValue(e),this._refreshValue(),void this._change(null,t);if(!arguments.length)return this._values();if(!Array.isArray(arguments[0]))return this._hasMultipleValues()?this._values(t):this.value();for(i=this.options.values,n=arguments[0],r=0;r=0;i--)this._change(null,i);this._animateOff=!1;break;case"step":case"min":case"max":this._animateOff=!0,this._calculateNewMax(),this._refreshValue(),this._animateOff=!1;break;case"range":this._animateOff=!0,this._refresh(),this._animateOff=!1}},_setOptionDisabled:function(t){this._super(t),this._toggleClass(null,"ui-state-disabled",!!t)},_value:function(){var t=this.options.value;return this._trimAlignValue(t)},_values:function(t){var e,i,n;if(arguments.length)return e=this.options.values[t],this._trimAlignValue(e);if(this._hasMultipleValues()){for(i=this.options.values.slice(),n=0;n=this._valueMax())return this._valueMax();var e=this.options.step>0?this.options.step:1,i=(t-this._valueMin())%e,n=t-i;return 2*Math.abs(i)>=e&&(n+=i>0?e:-e),parseFloat(n.toFixed(5))},_calculateNewMax:function(){var t=this.options.max,e=this._valueMin(),i=this.options.step;(t=Math.round((t-e)/i)*i+e)>this.options.max&&(t-=i),this.max=parseFloat(t.toFixed(this._precision()))},_precision:function(){var t=this._precisionOf(this.options.step);return null!==this.options.min&&(t=Math.max(t,this._precisionOf(this.options.min))),t},_precisionOf:function(t){var e=t.toString(),i=e.indexOf(".");return-1===i?0:e.length-i-1},_valueMin:function(){return this.options.min},_valueMax:function(){return this.max},_refreshRange:function(t){"vertical"===t&&this.range.css({width:"",left:""}),"horizontal"===t&&this.range.css({height:"",bottom:""})},_refreshValue:function(){var e,i,n,r,o,s=this.options.range,a=this.options,u=this,c=!this._animateOff&&a.animate,h={};this._hasMultipleValues()?this.handles.each(function(n){i=(u.values(n)-u._valueMin())/(u._valueMax()-u._valueMin())*100,h["horizontal"===u.orientation?"left":"bottom"]=i+"%",t(this).stop(1,1)[c?"animate":"css"](h,a.animate),!0===u.options.range&&("horizontal"===u.orientation?(0===n&&u.range.stop(1,1)[c?"animate":"css"]({left:i+"%"},a.animate),1===n&&u.range[c?"animate":"css"]({width:i-e+"%"},{queue:!1,duration:a.animate})):(0===n&&u.range.stop(1,1)[c?"animate":"css"]({bottom:i+"%"},a.animate),1===n&&u.range[c?"animate":"css"]({height:i-e+"%"},{queue:!1,duration:a.animate}))),e=i}):(n=this.value(),r=this._valueMin(),o=this._valueMax(),i=o!==r?(n-r)/(o-r)*100:0,h["horizontal"===this.orientation?"left":"bottom"]=i+"%",this.handle.stop(1,1)[c?"animate":"css"](h,a.animate),"min"===s&&"horizontal"===this.orientation&&this.range.stop(1,1)[c?"animate":"css"]({width:i+"%"},a.animate),"max"===s&&"horizontal"===this.orientation&&this.range.stop(1,1)[c?"animate":"css"]({width:100-i+"%"},a.animate),"min"===s&&"vertical"===this.orientation&&this.range.stop(1,1)[c?"animate":"css"]({height:i+"%"},a.animate),"max"===s&&"vertical"===this.orientation&&this.range.stop(1,1)[c?"animate":"css"]({height:100-i+"%"},a.animate))},_handleEvents:{keydown:function(e){var i,n,r,o=t(e.target).data("ui-slider-handle-index");switch(e.keyCode){case t.ui.keyCode.HOME:case t.ui.keyCode.END:case t.ui.keyCode.PAGE_UP:case t.ui.keyCode.PAGE_DOWN:case t.ui.keyCode.UP:case t.ui.keyCode.RIGHT:case t.ui.keyCode.DOWN:case t.ui.keyCode.LEFT:if(e.preventDefault(),!this._keySliding&&(this._keySliding=!0,this._addClass(t(e.target),null,"ui-state-active"),!1===this._start(e,o)))return}switch(r=this.options.step,i=n=this._hasMultipleValues()?this.values(o):this.value(),e.keyCode){case t.ui.keyCode.HOME:n=this._valueMin();break;case t.ui.keyCode.END:n=this._valueMax();break;case t.ui.keyCode.PAGE_UP:n=this._trimAlignValue(i+(this._valueMax()-this._valueMin())/this.numPages);break;case t.ui.keyCode.PAGE_DOWN:n=this._trimAlignValue(i-(this._valueMax()-this._valueMin())/this.numPages);break;case t.ui.keyCode.UP:case t.ui.keyCode.RIGHT:if(i===this._valueMax())return;n=this._trimAlignValue(i+r);break;case t.ui.keyCode.DOWN:case t.ui.keyCode.LEFT:if(i===this._valueMin())return;n=this._trimAlignValue(i-r)}this._slide(e,o,n)},keyup:function(e){var i=t(e.target).data("ui-slider-handle-index");this._keySliding&&(this._keySliding=!1,this._stop(e,i),this._change(e,i),this._removeClass(t(e.target),null,"ui-state-active"))}}}),t.widget("ui.sortable",t.ui.mouse,{version:"1.13.3",widgetEventPrefix:"sort",ready:!1,options:{appendTo:"parent",axis:!1,connectWith:!1,containment:!1,cursor:"auto",cursorAt:!1,dropOnEmpty:!0,forcePlaceholderSize:!1,forceHelperSize:!1,grid:!1,handle:!1,helper:"original",items:"> *",opacity:!1,placeholder:!1,revert:!1,scroll:!0,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1e3,activate:null,beforeStop:null,change:null,deactivate:null,out:null,over:null,receive:null,remove:null,sort:null,start:null,stop:null,update:null},_isOverAxis:function(t,e,i){return t>=e&&t=0;t--)this.items[t].item.removeData(this.widgetName+"-item");return this},_mouseCapture:function(e,i){var n=null,r=!1,o=this;return!(this.reverting||this.options.disabled||"static"===this.options.type||(this._refreshItems(e),t(e.target).parents().each(function(){if(t.data(this,o.widgetName+"-item")===o)return n=t(this),!1}),t.data(e.target,o.widgetName+"-item")===o&&(n=t(e.target)),!n||this.options.handle&&!i&&(t(this.options.handle,n).find("*").addBack().each(function(){this===e.target&&(r=!0)}),!r)||(this.currentItem=n,this._removeCurrentsFromItems(),0)))},_mouseStart:function(e,i,n){var r,o,s=this.options;if(this.currentContainer=this,this.refreshPositions(),this.appendTo=t("parent"!==s.appendTo?s.appendTo:this.currentItem.parent()),this.helper=this._createHelper(e),this._cacheHelperProportions(),this._cacheMargins(),this.offset=this.currentItem.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},t.extend(this.offset,{click:{left:e.pageX-this.offset.left,top:e.pageY-this.offset.top},relative:this._getRelativeOffset()}),this.helper.css("position","absolute"),this.cssPosition=this.helper.css("position"),s.cursorAt&&this._adjustOffsetFromHelper(s.cursorAt),this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]},this.helper[0]!==this.currentItem[0]&&this.currentItem.hide(),this._createPlaceholder(),this.scrollParent=this.placeholder.scrollParent(),t.extend(this.offset,{parent:this._getParentOffset()}),s.containment&&this._setContainment(),s.cursor&&"auto"!==s.cursor&&(o=this.document.find("body"),this.storedCursor=o.css("cursor"),o.css("cursor",s.cursor),this.storedStylesheet=t("").appendTo(o)),s.zIndex&&(this.helper.css("zIndex")&&(this._storedZIndex=this.helper.css("zIndex")),this.helper.css("zIndex",s.zIndex)),s.opacity&&(this.helper.css("opacity")&&(this._storedOpacity=this.helper.css("opacity")),this.helper.css("opacity",s.opacity)),this.scrollParent[0]!==this.document[0]&&"HTML"!==this.scrollParent[0].tagName&&(this.overflowOffset=this.scrollParent.offset()),this._trigger("start",e,this._uiHash()),this._preserveHelperProportions||this._cacheHelperProportions(),!n)for(r=this.containers.length-1;r>=0;r--)this.containers[r]._trigger("activate",e,this._uiHash(this));return t.ui.ddmanager&&(t.ui.ddmanager.current=this),t.ui.ddmanager&&!s.dropBehaviour&&t.ui.ddmanager.prepareOffsets(this,e),this.dragging=!0,this._addClass(this.helper,"ui-sortable-helper"),this.helper.parent().is(this.appendTo)||(this.helper.detach().appendTo(this.appendTo),this.offset.parent=this._getParentOffset()),this.position=this.originalPosition=this._generatePosition(e),this.originalPageX=e.pageX,this.originalPageY=e.pageY,this.lastPositionAbs=this.positionAbs=this._convertPositionTo("absolute"),this._mouseDrag(e),!0},_scroll:function(t){var e=this.options,i=!1;return this.scrollParent[0]!==this.document[0]&&"HTML"!==this.scrollParent[0].tagName?(this.overflowOffset.top+this.scrollParent[0].offsetHeight-t.pageY=0;i--)if(r=(n=this.items[i]).item[0],(o=this._intersectsWithPointer(n))&&n.instance===this.currentContainer&&!(r===this.currentItem[0]||this.placeholder[1===o?"next":"prev"]()[0]===r||t.contains(this.placeholder[0],r)||"semi-dynamic"===this.options.type&&t.contains(this.element[0],r))){if(this.direction=1===o?"down":"up","pointer"!==this.options.tolerance&&!this._intersectsWithSides(n))break;this._rearrange(e,n),this._trigger("change",e,this._uiHash());break}return this._contactContainers(e),t.ui.ddmanager&&t.ui.ddmanager.drag(this,e),this._trigger("sort",e,this._uiHash()),this.lastPositionAbs=this.positionAbs,!1},_mouseStop:function(e,i){if(e){if(t.ui.ddmanager&&!this.options.dropBehaviour&&t.ui.ddmanager.drop(this,e),this.options.revert){var n=this,r=this.placeholder.offset(),o=this.options.axis,s={};o&&"x"!==o||(s.left=r.left-this.offset.parent.left-this.margins.left+(this.offsetParent[0]===this.document[0].body?0:this.offsetParent[0].scrollLeft)),o&&"y"!==o||(s.top=r.top-this.offset.parent.top-this.margins.top+(this.offsetParent[0]===this.document[0].body?0:this.offsetParent[0].scrollTop)),this.reverting=!0,t(this.helper).animate(s,parseInt(this.options.revert,10)||500,function(){n._clear(e)})}else this._clear(e,i);return!1}},cancel:function(){if(this.dragging){this._mouseUp(new t.Event("mouseup",{target:null})),"original"===this.options.helper?(this.currentItem.css(this._storedCSS),this._removeClass(this.currentItem,"ui-sortable-helper")):this.currentItem.show();for(var e=this.containers.length-1;e>=0;e--)this.containers[e]._trigger("deactivate",null,this._uiHash(this)),this.containers[e].containerCache.over&&(this.containers[e]._trigger("out",null,this._uiHash(this)),this.containers[e].containerCache.over=0)}return this.placeholder&&(this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]),"original"!==this.options.helper&&this.helper&&this.helper[0].parentNode&&this.helper.remove(),t.extend(this,{helper:null,dragging:!1,reverting:!1,_noFinalSort:null}),this.domPosition.prev?t(this.domPosition.prev).after(this.currentItem):t(this.domPosition.parent).prepend(this.currentItem)),this},serialize:function(e){var i=this._getItemsAsjQuery(e&&e.connected),n=[];return e=e||{},t(i).each(function(){var i=(t(e.item||this).attr(e.attribute||"id")||"").match(e.expression||/(.+)[\-=_](.+)/);i&&n.push((e.key||i[1]+"[]")+"="+(e.key&&e.expression?i[1]:i[2]))}),!n.length&&e.key&&n.push(e.key+"="),n.join("&")},toArray:function(e){var i=this._getItemsAsjQuery(e&&e.connected),n=[];return e=e||{},i.each(function(){n.push(t(e.item||this).attr(e.attribute||"id")||"")}),n},_intersectsWith:function(t){var e=this.positionAbs.left,i=e+this.helperProportions.width,n=this.positionAbs.top,r=n+this.helperProportions.height,o=t.left,s=o+t.width,a=t.top,u=a+t.height,c=this.offset.click.top,h=this.offset.click.left,l="x"===this.options.axis||n+c>a&&n+co&&e+ht[this.floating?"width":"height"]?f:o0?"down":"up")},_getDragHorizontalDirection:function(){var t=this.positionAbs.left-this.lastPositionAbs.left;return 0!==t&&(t>0?"right":"left")},refresh:function(t){return this._refreshItems(t),this._setHandleClassName(),this.refreshPositions(),this},_connectWith:function(){var t=this.options;return t.connectWith.constructor===String?[t.connectWith]:t.connectWith},_getItemsAsjQuery:function(e){var i,n,r,o,s=[],a=[],u=this._connectWith();if(u&&e)for(i=u.length-1;i>=0;i--)for(n=(r=t(u[i],this.document[0])).length-1;n>=0;n--)(o=t.data(r[n],this.widgetFullName))&&o!==this&&!o.options.disabled&&a.push(["function"==typeof o.options.items?o.options.items.call(o.element):t(o.options.items,o.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),o]);function c(){s.push(this)}for(a.push(["function"==typeof this.options.items?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):t(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]),i=a.length-1;i>=0;i--)a[i][0].each(c);return t(s)},_removeCurrentsFromItems:function(){var e=this.currentItem.find(":data("+this.widgetName+"-item)");this.items=t.grep(this.items,function(t){for(var i=0;i=0;i--)for(n=(r=t(d[i],this.document[0])).length-1;n>=0;n--)(o=t.data(r[n],this.widgetFullName))&&o!==this&&!o.options.disabled&&(l.push(["function"==typeof o.options.items?o.options.items.call(o.element[0],e,{item:this.currentItem}):t(o.options.items,o.element),o]),this.containers.push(o));for(i=l.length-1;i>=0;i--)for(s=l[i][1],n=0,c=(a=l[i][0]).length;n=0;i--)n=this.items[i],this.currentContainer&&n.instance!==this.currentContainer&&n.item[0]!==this.currentItem[0]||(r=this.options.toleranceElement?t(this.options.toleranceElement,n.item):n.item,e||(n.width=r.outerWidth(),n.height=r.outerHeight()),o=r.offset(),n.left=o.left,n.top=o.top)},refreshPositions:function(t){var e,i;if(this.floating=!!this.items.length&&("x"===this.options.axis||this._isFloating(this.items[0].item)),this.offsetParent&&this.helper&&(this.offset.parent=this._getParentOffset()),this._refreshItemPositions(t),this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(e=this.containers.length-1;e>=0;e--)i=this.containers[e].element.offset(),this.containers[e].containerCache.left=i.left,this.containers[e].containerCache.top=i.top,this.containers[e].containerCache.width=this.containers[e].element.outerWidth(),this.containers[e].containerCache.height=this.containers[e].element.outerHeight();return this},_createPlaceholder:function(e){var i,n,r=(e=e||this).options;r.placeholder&&r.placeholder.constructor!==String||(i=r.placeholder,n=e.currentItem[0].nodeName.toLowerCase(),r.placeholder={element:function(){var r=t("<"+n+">",e.document[0]);return e._addClass(r,"ui-sortable-placeholder",i||e.currentItem[0].className)._removeClass(r,"ui-sortable-helper"),"tbody"===n?e._createTrPlaceholder(e.currentItem.find("tr").eq(0),t("",e.document[0]).appendTo(r)):"tr"===n?e._createTrPlaceholder(e.currentItem,r):"img"===n&&r.attr("src",e.currentItem.attr("src")),i||r.css("visibility","hidden"),r},update:function(t,o){i&&!r.forcePlaceholderSize||(o.height()&&(!r.forcePlaceholderSize||"tbody"!==n&&"tr"!==n)||o.height(e.currentItem.innerHeight()-parseInt(e.currentItem.css("paddingTop")||0,10)-parseInt(e.currentItem.css("paddingBottom")||0,10)),o.width()||o.width(e.currentItem.innerWidth()-parseInt(e.currentItem.css("paddingLeft")||0,10)-parseInt(e.currentItem.css("paddingRight")||0,10)))}}),e.placeholder=t(r.placeholder.element.call(e.element,e.currentItem)),e.currentItem.after(e.placeholder),r.placeholder.update(e,e.placeholder)},_createTrPlaceholder:function(e,i){var n=this;e.children().each(function(){t(" ",n.document[0]).attr("colspan",t(this).attr("colspan")||1).appendTo(i)})},_contactContainers:function(e){var i,n,r,o,s,a,u,c,h,l,d=null,f=null;for(i=this.containers.length-1;i>=0;i--)if(!t.contains(this.currentItem[0],this.containers[i].element[0]))if(this._intersectsWith(this.containers[i].containerCache)){if(d&&t.contains(this.containers[i].element[0],d.element[0]))continue;d=this.containers[i],f=i}else this.containers[i].containerCache.over&&(this.containers[i]._trigger("out",e,this._uiHash(this)),this.containers[i].containerCache.over=0);if(d)if(1===this.containers.length)this.containers[f].containerCache.over||(this.containers[f]._trigger("over",e,this._uiHash(this)),this.containers[f].containerCache.over=1);else{for(r=1e4,o=null,s=(h=d.floating||this._isFloating(this.currentItem))?"left":"top",a=h?"width":"height",l=h?"pageX":"pageY",n=this.items.length-1;n>=0;n--)t.contains(this.containers[f].element[0],this.items[n].item[0])&&this.items[n].item[0]!==this.currentItem[0]&&(u=this.items[n].item.offset()[s],c=!1,e[l]-u>this.items[n][a]/2&&(c=!0),Math.abs(e[l]-u)this.containment[2]&&(o=this.containment[2]+this.offset.click.left),e.pageY-this.offset.click.top>this.containment[3]&&(s=this.containment[3]+this.offset.click.top)),r.grid&&(i=this.originalPageY+Math.round((s-this.originalPageY)/r.grid[1])*r.grid[1],s=this.containment?i-this.offset.click.top>=this.containment[1]&&i-this.offset.click.top<=this.containment[3]?i:i-this.offset.click.top>=this.containment[1]?i-r.grid[1]:i+r.grid[1]:i,n=this.originalPageX+Math.round((o-this.originalPageX)/r.grid[0])*r.grid[0],o=this.containment?n-this.offset.click.left>=this.containment[0]&&n-this.offset.click.left<=this.containment[2]?n:n-this.offset.click.left>=this.containment[0]?n-r.grid[0]:n+r.grid[0]:n)),{top:s-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.scrollParent.scrollTop():u?0:a.scrollTop()),left:o-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():u?0:a.scrollLeft())}},_rearrange:function(t,e,i,n){i?i[0].appendChild(this.placeholder[0]):e.item[0].parentNode.insertBefore(this.placeholder[0],"down"===this.direction?e.item[0]:e.item[0].nextSibling),this.counter=this.counter?++this.counter:1;var r=this.counter;this._delay(function(){r===this.counter&&this.refreshPositions(!n)})},_clear:function(t,e){this.reverting=!1;var i,n=[];if(!this._noFinalSort&&this.currentItem.parent().length&&this.placeholder.before(this.currentItem),this._noFinalSort=null,this.helper[0]===this.currentItem[0]){for(i in this._storedCSS)"auto"!==this._storedCSS[i]&&"static"!==this._storedCSS[i]||(this._storedCSS[i]="");this.currentItem.css(this._storedCSS),this._removeClass(this.currentItem,"ui-sortable-helper")}else this.currentItem.show();function r(t,e,i){return function(n){i._trigger(t,n,e._uiHash(e))}}for(this.fromOutside&&!e&&n.push(function(t){this._trigger("receive",t,this._uiHash(this.fromOutside))}),!this.fromOutside&&this.domPosition.prev===this.currentItem.prev().not(".ui-sortable-helper")[0]&&this.domPosition.parent===this.currentItem.parent()[0]||e||n.push(function(t){this._trigger("update",t,this._uiHash())}),this!==this.currentContainer&&(e||(n.push(function(t){this._trigger("remove",t,this._uiHash())}),n.push(function(t){return function(e){t._trigger("receive",e,this._uiHash(this))}}.call(this,this.currentContainer)),n.push(function(t){return function(e){t._trigger("update",e,this._uiHash(this))}}.call(this,this.currentContainer)))),i=this.containers.length-1;i>=0;i--)e||n.push(r("deactivate",this,this.containers[i])),this.containers[i].containerCache.over&&(n.push(r("out",this,this.containers[i])),this.containers[i].containerCache.over=0);if(this.storedCursor&&(this.document.find("body").css("cursor",this.storedCursor),this.storedStylesheet.remove()),this._storedOpacity&&this.helper.css("opacity",this._storedOpacity),this._storedZIndex&&this.helper.css("zIndex","auto"===this._storedZIndex?"":this._storedZIndex),this.dragging=!1,e||this._trigger("beforeStop",t,this._uiHash()),this.placeholder[0].parentNode.removeChild(this.placeholder[0]),this.cancelHelperRemoval||(this.helper[0]!==this.currentItem[0]&&this.helper.remove(),this.helper=null),!e){for(i=0;i",widgetEventPrefix:"spin",options:{classes:{"ui-spinner":"ui-corner-all","ui-spinner-down":"ui-corner-br","ui-spinner-up":"ui-corner-tr"},culture:null,icons:{down:"ui-icon-triangle-1-s",up:"ui-icon-triangle-1-n"},incremental:!0,max:null,min:null,numberFormat:null,page:10,step:1,change:null,spin:null,start:null,stop:null},_create:function(){this._setOption("max",this.options.max),this._setOption("min",this.options.min),this._setOption("step",this.options.step),""!==this.value()&&this._value(this.element.val(),!0),this._draw(),this._on(this._events),this._refresh(),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_getCreateOptions:function(){var e=this._super(),i=this.element;return t.each(["min","max","step"],function(t,n){var r=i.attr(n);null!=r&&r.length&&(e[n]=r)}),e},_events:{keydown:function(t){this._start(t)&&this._keydown(t)&&t.preventDefault()},keyup:"_stop",focus:function(){this.previous=this.element.val()},blur:function(t){this.cancelBlur?delete this.cancelBlur:(this._stop(),this._refresh(),this.previous!==this.element.val()&&this._trigger("change",t))},mousewheel:function(e,i){var n=t.ui.safeActiveElement(this.document[0]);if(this.element[0]===n&&i){if(!this.spinning&&!this._start(e))return!1;this._spin((i>0?1:-1)*this.options.step,e),clearTimeout(this.mousewheelTimer),this.mousewheelTimer=this._delay(function(){this.spinning&&this._stop(e)},100),e.preventDefault()}},"mousedown .ui-spinner-button":function(e){var i;function n(){this.element[0]===t.ui.safeActiveElement(this.document[0])||(this.element.trigger("focus"),this.previous=i,this._delay(function(){this.previous=i}))}i=this.element[0]===t.ui.safeActiveElement(this.document[0])?this.previous:this.element.val(),e.preventDefault(),n.call(this),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur,n.call(this)}),!1!==this._start(e)&&this._repeat(null,t(e.currentTarget).hasClass("ui-spinner-up")?1:-1,e)},"mouseup .ui-spinner-button":"_stop","mouseenter .ui-spinner-button":function(e){if(t(e.currentTarget).hasClass("ui-state-active"))return!1!==this._start(e)&&void this._repeat(null,t(e.currentTarget).hasClass("ui-spinner-up")?1:-1,e)},"mouseleave .ui-spinner-button":"_stop"},_enhance:function(){this.uiSpinner=this.element.attr("autocomplete","off").wrap("").parent().append("")},_draw:function(){this._enhance(),this._addClass(this.uiSpinner,"ui-spinner","ui-widget ui-widget-content"),this._addClass("ui-spinner-input"),this.element.attr("role","spinbutton"),this.buttons=this.uiSpinner.children("a").attr("tabIndex",-1).attr("aria-hidden",!0).button({classes:{"ui-button":""}}),this._removeClass(this.buttons,"ui-corner-all"),this._addClass(this.buttons.first(),"ui-spinner-button ui-spinner-up"),this._addClass(this.buttons.last(),"ui-spinner-button ui-spinner-down"),this.buttons.first().button({icon:this.options.icons.up,showLabel:!1}),this.buttons.last().button({icon:this.options.icons.down,showLabel:!1}),this.buttons.height()>Math.ceil(.5*this.uiSpinner.height())&&this.uiSpinner.height()>0&&this.uiSpinner.height(this.uiSpinner.height())},_keydown:function(e){var i=this.options,n=t.ui.keyCode;switch(e.keyCode){case n.UP:return this._repeat(null,1,e),!0;case n.DOWN:return this._repeat(null,-1,e),!0;case n.PAGE_UP:return this._repeat(null,i.page,e),!0;case n.PAGE_DOWN:return this._repeat(null,-i.page,e),!0}return!1},_start:function(t){return!(!this.spinning&&!1===this._trigger("start",t)||(this.counter||(this.counter=1),this.spinning=!0,0))},_repeat:function(t,e,i){t=t||500,clearTimeout(this.timer),this.timer=this._delay(function(){this._repeat(40,e,i)},t),this._spin(e*this.options.step,i)},_spin:function(t,e){var i=this.value()||0;this.counter||(this.counter=1),i=this._adjustValue(i+t*this._increment(this.counter)),this.spinning&&!1===this._trigger("spin",e,{value:i})||(this._value(i),this.counter++)},_increment:function(t){var e=this.options.incremental;return e?"function"==typeof e?e(t):Math.floor(t*t*t/5e4-t*t/500+17*t/200+1):1},_precision:function(){var t=this._precisionOf(this.options.step);return null!==this.options.min&&(t=Math.max(t,this._precisionOf(this.options.min))),t},_precisionOf:function(t){var e=t.toString(),i=e.indexOf(".");return-1===i?0:e.length-i-1},_adjustValue:function(t){var e,i,n=this.options;return i=t-(e=null!==n.min?n.min:0),t=e+(i=Math.round(i/n.step)*n.step),t=parseFloat(t.toFixed(this._precision())),null!==n.max&&t>n.max?n.max:null!==n.min&&t"},_buttonHtml:function(){return""}}),t.ui.spinner,t.widget("ui.tabs",{version:"1.13.3",delay:300,options:{active:null,classes:{"ui-tabs":"ui-corner-all","ui-tabs-nav":"ui-corner-all","ui-tabs-panel":"ui-corner-bottom","ui-tabs-tab":"ui-corner-top"},collapsible:!1,event:"click",heightStyle:"content",hide:null,show:null,activate:null,beforeActivate:null,beforeLoad:null,load:null},_isLocal:(R=/#.*$/,function(t){var e,i;e=t.href.replace(R,""),i=location.href.replace(R,"");try{e=decodeURIComponent(e)}catch(t){}try{i=decodeURIComponent(i)}catch(t){}return t.hash.length>1&&e===i}),_create:function(){var e=this,i=this.options;this.running=!1,this._addClass("ui-tabs","ui-widget ui-widget-content"),this._toggleClass("ui-tabs-collapsible",null,i.collapsible),this._processTabs(),i.active=this._initialActive(),Array.isArray(i.disabled)&&(i.disabled=t.uniqueSort(i.disabled.concat(t.map(this.tabs.filter(".ui-state-disabled"),function(t){return e.tabs.index(t)}))).sort()),!1!==this.options.active&&this.anchors.length?this.active=this._findActive(i.active):this.active=t(),this._refresh(),this.active.length&&this.load(i.active)},_initialActive:function(){var e=this.options.active,i=this.options.collapsible,n=location.hash.substring(1);return null===e&&(n&&this.tabs.each(function(i,r){if(t(r).attr("aria-controls")===n)return e=i,!1}),null===e&&(e=this.tabs.index(this.tabs.filter(".ui-tabs-active"))),null!==e&&-1!==e||(e=!!this.tabs.length&&0)),!1!==e&&-1===(e=this.tabs.index(this.tabs.eq(e)))&&(e=!i&&0),!i&&!1===e&&this.anchors.length&&(e=0),e},_getCreateEventData:function(){return{tab:this.active,panel:this.active.length?this._getPanelForTab(this.active):t()}},_tabKeydown:function(e){var i=t(t.ui.safeActiveElement(this.document[0])).closest("li"),n=this.tabs.index(i),r=!0;if(!this._handlePageNav(e)){switch(e.keyCode){case t.ui.keyCode.RIGHT:case t.ui.keyCode.DOWN:n++;break;case t.ui.keyCode.UP:case t.ui.keyCode.LEFT:r=!1,n--;break;case t.ui.keyCode.END:n=this.anchors.length-1;break;case t.ui.keyCode.HOME:n=0;break;case t.ui.keyCode.SPACE:return e.preventDefault(),clearTimeout(this.activating),void this._activate(n);case t.ui.keyCode.ENTER:return e.preventDefault(),clearTimeout(this.activating),void this._activate(n!==this.options.active&&n);default:return}e.preventDefault(),clearTimeout(this.activating),n=this._focusNextTab(n,r),e.ctrlKey||e.metaKey||(i.attr("aria-selected","false"),this.tabs.eq(n).attr("aria-selected","true"),this.activating=this._delay(function(){this.option("active",n)},this.delay))}},_panelKeydown:function(e){this._handlePageNav(e)||e.ctrlKey&&e.keyCode===t.ui.keyCode.UP&&(e.preventDefault(),this.active.trigger("focus"))},_handlePageNav:function(e){return e.altKey&&e.keyCode===t.ui.keyCode.PAGE_UP?(this._activate(this._focusNextTab(this.options.active-1,!1)),!0):e.altKey&&e.keyCode===t.ui.keyCode.PAGE_DOWN?(this._activate(this._focusNextTab(this.options.active+1,!0)),!0):void 0},_findNextTab:function(e,i){var n=this.tabs.length-1;function r(){return e>n&&(e=0),e<0&&(e=n),e}for(;-1!==t.inArray(r(),this.options.disabled);)e=i?e+1:e-1;return e},_focusNextTab:function(t,e){return t=this._findNextTab(t,e),this.tabs.eq(t).trigger("focus"),t},_setOption:function(t,e){"active"!==t?(this._super(t,e),"collapsible"===t&&(this._toggleClass("ui-tabs-collapsible",null,e),e||!1!==this.options.active||this._activate(0)),"event"===t&&this._setupEvents(e),"heightStyle"===t&&this._setupHeightStyle(e)):this._activate(e)},_sanitizeSelector:function(t){return t?t.replace(/[!"$%&'()*+,.\/:;<=>?@\[\]\^`{|}~]/g,"\\$&"):""},refresh:function(){var e=this.options,i=this.tablist.children(":has(a[href])");e.disabled=t.map(i.filter(".ui-state-disabled"),function(t){return i.index(t)}),this._processTabs(),!1!==e.active&&this.anchors.length?this.active.length&&!t.contains(this.tablist[0],this.active[0])?this.tabs.length===e.disabled.length?(e.active=!1,this.active=t()):this._activate(this._findNextTab(Math.max(0,e.active-1),!1)):e.active=this.tabs.index(this.active):(e.active=!1,this.active=t()),this._refresh()},_refresh:function(){this._setOptionDisabled(this.options.disabled),this._setupEvents(this.options.event),this._setupHeightStyle(this.options.heightStyle),this.tabs.not(this.active).attr({"aria-selected":"false","aria-expanded":"false",tabIndex:-1}),this.panels.not(this._getPanelForTab(this.active)).hide().attr({"aria-hidden":"true"}),this.active.length?(this.active.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0}),this._addClass(this.active,"ui-tabs-active","ui-state-active"),this._getPanelForTab(this.active).show().attr({"aria-hidden":"false"})):this.tabs.eq(0).attr("tabIndex",0)},_processTabs:function(){var e=this,i=this.tabs,n=this.anchors,r=this.panels;this.tablist=this._getList().attr("role","tablist"),this._addClass(this.tablist,"ui-tabs-nav","ui-helper-reset ui-helper-clearfix ui-widget-header"),this.tablist.on("mousedown"+this.eventNamespace,"> li",function(e){t(this).is(".ui-state-disabled")&&e.preventDefault()}).on("focus"+this.eventNamespace,".ui-tabs-anchor",function(){t(this).closest("li").is(".ui-state-disabled")&&this.blur()}),this.tabs=this.tablist.find("> li:has(a[href])").attr({role:"tab",tabIndex:-1}),this._addClass(this.tabs,"ui-tabs-tab","ui-state-default"),this.anchors=this.tabs.map(function(){return t("a",this)[0]}).attr({tabIndex:-1}),this._addClass(this.anchors,"ui-tabs-anchor"),this.panels=t(),this.anchors.each(function(i,n){var r,o,s,a=t(n).uniqueId().attr("id"),u=t(n).closest("li"),c=u.attr("aria-controls");e._isLocal(n)?(s=(r=n.hash).substring(1),o=e.element.find(e._sanitizeSelector(r))):(r="#"+(s=u.attr("aria-controls")||t({}).uniqueId()[0].id),(o=e.element.find(r)).length||(o=e._createPanel(s)).insertAfter(e.panels[i-1]||e.tablist),o.attr("aria-live","polite")),o.length&&(e.panels=e.panels.add(o)),c&&u.data("ui-tabs-aria-controls",c),u.attr({"aria-controls":s,"aria-labelledby":a}),o.attr("aria-labelledby",a)}),this.panels.attr("role","tabpanel"),this._addClass(this.panels,"ui-tabs-panel","ui-widget-content"),i&&(this._off(i.not(this.tabs)),this._off(n.not(this.anchors)),this._off(r.not(this.panels)))},_getList:function(){return this.tablist||this.element.find("ol, ul").eq(0)},_createPanel:function(e){return t("
          ").attr("id",e).data("ui-tabs-destroy",!0)},_setOptionDisabled:function(e){var i,n,r;for(Array.isArray(e)&&(e.length?e.length===this.anchors.length&&(e=!0):e=!1),r=0;n=this.tabs[r];r++)i=t(n),!0===e||-1!==t.inArray(r,e)?(i.attr("aria-disabled","true"),this._addClass(i,null,"ui-state-disabled")):(i.removeAttr("aria-disabled"),this._removeClass(i,null,"ui-state-disabled"));this.options.disabled=e,this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!0===e)},_setupEvents:function(e){var i={};e&&t.each(e.split(" "),function(t,e){i[e]="_eventHandler"}),this._off(this.anchors.add(this.tabs).add(this.panels)),this._on(!0,this.anchors,{click:function(t){t.preventDefault()}}),this._on(this.anchors,i),this._on(this.tabs,{keydown:"_tabKeydown"}),this._on(this.panels,{keydown:"_panelKeydown"}),this._focusable(this.tabs),this._hoverable(this.tabs)},_setupHeightStyle:function(e){var i,n=this.element.parent();"fill"===e?(i=n.height(),i-=this.element.outerHeight()-this.element.height(),this.element.siblings(":visible").each(function(){var e=t(this),n=e.css("position");"absolute"!==n&&"fixed"!==n&&(i-=e.outerHeight(!0))}),this.element.children().not(this.panels).each(function(){i-=t(this).outerHeight(!0)}),this.panels.each(function(){t(this).height(Math.max(0,i-t(this).innerHeight()+t(this).height()))}).css("overflow","auto")):"auto"===e&&(i=0,this.panels.each(function(){i=Math.max(i,t(this).height("").height())}).height(i))},_eventHandler:function(e){var i=this.options,n=this.active,r=t(e.currentTarget).closest("li"),o=r[0]===n[0],s=o&&i.collapsible,a=s?t():this._getPanelForTab(r),u=n.length?this._getPanelForTab(n):t(),c={oldTab:n,oldPanel:u,newTab:s?t():r,newPanel:a};e.preventDefault(),r.hasClass("ui-state-disabled")||r.hasClass("ui-tabs-loading")||this.running||o&&!i.collapsible||!1===this._trigger("beforeActivate",e,c)||(i.active=!s&&this.tabs.index(r),this.active=o?t():r,this.xhr&&this.xhr.abort(),u.length||a.length||t.error("jQuery UI Tabs: Mismatching fragment identifier."),a.length&&this.load(this.tabs.index(r),e),this._toggle(e,c))},_toggle:function(e,i){var n=this,r=i.newPanel,o=i.oldPanel;function s(){n.running=!1,n._trigger("activate",e,i)}function a(){n._addClass(i.newTab.closest("li"),"ui-tabs-active","ui-state-active"),r.length&&n.options.show?n._show(r,n.options.show,s):(r.show(),s())}this.running=!0,o.length&&this.options.hide?this._hide(o,this.options.hide,function(){n._removeClass(i.oldTab.closest("li"),"ui-tabs-active","ui-state-active"),a()}):(this._removeClass(i.oldTab.closest("li"),"ui-tabs-active","ui-state-active"),o.hide(),a()),o.attr("aria-hidden","true"),i.oldTab.attr({"aria-selected":"false","aria-expanded":"false"}),r.length&&o.length?i.oldTab.attr("tabIndex",-1):r.length&&this.tabs.filter(function(){return 0===t(this).attr("tabIndex")}).attr("tabIndex",-1),r.attr("aria-hidden","false"),i.newTab.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0})},_activate:function(e){var i,n=this._findActive(e);n[0]!==this.active[0]&&(n.length||(n=this.active),i=n.find(".ui-tabs-anchor")[0],this._eventHandler({target:i,currentTarget:i,preventDefault:t.noop}))},_findActive:function(e){return!1===e?t():this.tabs.eq(e)},_getIndex:function(e){return"string"==typeof e&&(e=this.anchors.index(this.anchors.filter("[href$='"+t.escapeSelector(e)+"']"))),e},_destroy:function(){this.xhr&&this.xhr.abort(),this.tablist.removeAttr("role").off(this.eventNamespace),this.anchors.removeAttr("role tabIndex").removeUniqueId(),this.tabs.add(this.panels).each(function(){t.data(this,"ui-tabs-destroy")?t(this).remove():t(this).removeAttr("role tabIndex aria-live aria-busy aria-selected aria-labelledby aria-hidden aria-expanded")}),this.tabs.each(function(){var e=t(this),i=e.data("ui-tabs-aria-controls");i?e.attr("aria-controls",i).removeData("ui-tabs-aria-controls"):e.removeAttr("aria-controls")}),this.panels.show(),"content"!==this.options.heightStyle&&this.panels.css("height","")},enable:function(e){var i=this.options.disabled;!1!==i&&(void 0===e?i=!1:(e=this._getIndex(e),i=Array.isArray(i)?t.map(i,function(t){return t!==e?t:null}):t.map(this.tabs,function(t,i){return i!==e?i:null})),this._setOptionDisabled(i))},disable:function(e){var i=this.options.disabled;if(!0!==i){if(void 0===e)i=!0;else{if(e=this._getIndex(e),-1!==t.inArray(e,i))return;i=Array.isArray(i)?t.merge([e],i).sort():[e]}this._setOptionDisabled(i)}},load:function(e,i){e=this._getIndex(e);var n=this,r=this.tabs.eq(e),o=r.find(".ui-tabs-anchor"),s=this._getPanelForTab(r),a={tab:r,panel:s},u=function(t,e){"abort"===e&&n.panels.stop(!1,!0),n._removeClass(r,"ui-tabs-loading"),s.removeAttr("aria-busy"),t===n.xhr&&delete n.xhr};this._isLocal(o[0])||(this.xhr=t.ajax(this._ajaxSettings(o,i,a)),this.xhr&&"canceled"!==this.xhr.statusText&&(this._addClass(r,"ui-tabs-loading"),s.attr("aria-busy","true"),this.xhr.done(function(t,e,r){setTimeout(function(){s.html(t),n._trigger("load",i,a),u(r,e)},1)}).fail(function(t,e){setTimeout(function(){u(t,e)},1)})))},_ajaxSettings:function(e,i,n){var r=this;return{url:e.attr("href").replace(/#.*$/,""),beforeSend:function(e,o){return r._trigger("beforeLoad",i,t.extend({jqXHR:e,ajaxSettings:o},n))}}},_getPanelForTab:function(e){var i=t(e).attr("aria-controls");return this.element.find(this._sanitizeSelector("#"+i))}}),!1!==t.uiBackCompat&&t.widget("ui.tabs",t.ui.tabs,{_processTabs:function(){this._superApply(arguments),this._addClass(this.tabs,"ui-tab")}}),t.ui.tabs,t.widget("ui.tooltip",{version:"1.13.3",options:{classes:{"ui-tooltip":"ui-corner-all ui-widget-shadow"},content:function(){var e=t(this).attr("title");return t("").text(e).html()},hide:!0,items:"[title]:not([disabled])",position:{my:"left top+15",at:"left bottom",collision:"flipfit flip"},show:!0,track:!1,close:null,open:null},_addDescribedBy:function(t,e){var i=(t.attr("aria-describedby")||"").split(/\s+/);i.push(e),t.data("ui-tooltip-id",e).attr("aria-describedby",String.prototype.trim.call(i.join(" ")))},_removeDescribedBy:function(e){var i=e.data("ui-tooltip-id"),n=(e.attr("aria-describedby")||"").split(/\s+/),r=t.inArray(i,n);-1!==r&&n.splice(r,1),e.removeData("ui-tooltip-id"),(n=String.prototype.trim.call(n.join(" ")))?e.attr("aria-describedby",n):e.removeAttr("aria-describedby")},_create:function(){this._on({mouseover:"open",focusin:"open"}),this.tooltips={},this.parents={},this.liveRegion=t("
          ").attr({role:"log","aria-live":"assertive","aria-relevant":"additions"}).appendTo(this.document[0].body),this._addClass(this.liveRegion,null,"ui-helper-hidden-accessible"),this.disabledTitles=t([])},_setOption:function(e,i){var n=this;this._super(e,i),"content"===e&&t.each(this.tooltips,function(t,e){n._updateContent(e.element)})},_setOptionDisabled:function(t){this[t?"_disable":"_enable"]()},_disable:function(){var e=this;t.each(this.tooltips,function(i,n){var r=t.Event("blur");r.target=r.currentTarget=n.element[0],e.close(r,!0)}),this.disabledTitles=this.disabledTitles.add(this.element.find(this.options.items).addBack().filter(function(){var e=t(this);if(e.is("[title]"))return e.data("ui-tooltip-title",e.attr("title")).removeAttr("title")}))},_enable:function(){this.disabledTitles.each(function(){var e=t(this);e.data("ui-tooltip-title")&&e.attr("title",e.data("ui-tooltip-title"))}),this.disabledTitles=t([])},open:function(e){var i=this,n=t(e?e.target:this.element).closest(this.options.items);n.length&&!n.data("ui-tooltip-id")&&(n.attr("title")&&n.data("ui-tooltip-title",n.attr("title")),n.data("ui-tooltip-open",!0),e&&"mouseover"===e.type&&n.parents().each(function(){var e,n=t(this);n.data("ui-tooltip-open")&&((e=t.Event("blur")).target=e.currentTarget=this,i.close(e,!0)),n.attr("title")&&(n.uniqueId(),i.parents[this.id]={element:this,title:n.attr("title")},n.attr("title",""))}),this._registerCloseHandlers(e,n),this._updateContent(n,e))},_updateContent:function(t,e){var i,n=this.options.content,r=this,o=e?e.type:null;if("string"==typeof n||n.nodeType||n.jquery)return this._open(e,t,n);(i=n.call(t[0],function(i){r._delay(function(){t.data("ui-tooltip-open")&&(e&&(e.type=o),this._open(e,t,i))})}))&&this._open(e,t,i)},_open:function(e,i,n){var r,o,s,a,u=t.extend({},this.options.position);function c(t){u.of=t,o.is(":hidden")||o.position(u)}n&&((r=this._find(i))?r.tooltip.find(".ui-tooltip-content").html(n):(i.is("[title]")&&(e&&"mouseover"===e.type?i.attr("title",""):i.removeAttr("title")),r=this._tooltip(i),o=r.tooltip,this._addDescribedBy(i,o.attr("id")),o.find(".ui-tooltip-content").html(n),this.liveRegion.children().hide(),(a=t("
          ").html(o.find(".ui-tooltip-content").html())).removeAttr("name").find("[name]").removeAttr("name"),a.removeAttr("id").find("[id]").removeAttr("id"),a.appendTo(this.liveRegion),this.options.track&&e&&/^mouse/.test(e.type)?(this._on(this.document,{mousemove:c}),c(e)):o.position(t.extend({of:i},this.options.position)),o.hide(),this._show(o,this.options.show),this.options.track&&this.options.show&&this.options.show.delay&&(s=this.delayedShow=setInterval(function(){o.is(":visible")&&(c(u.of),clearInterval(s))},13)),this._trigger("open",e,{tooltip:o})))},_registerCloseHandlers:function(e,i){var n={keyup:function(e){if(e.keyCode===t.ui.keyCode.ESCAPE){var n=t.Event(e);n.currentTarget=i[0],this.close(n,!0)}}};i[0]!==this.element[0]&&(n.remove=function(){var t=this._find(i);t&&this._removeTooltip(t.tooltip)}),e&&"mouseover"!==e.type||(n.mouseleave="close"),e&&"focusin"!==e.type||(n.focusout="close"),this._on(!0,i,n)},close:function(e){var i,n=this,r=t(e?e.currentTarget:this.element),o=this._find(r);o?(i=o.tooltip,o.closing||(clearInterval(this.delayedShow),r.data("ui-tooltip-title")&&!r.attr("title")&&r.attr("title",r.data("ui-tooltip-title")),this._removeDescribedBy(r),o.hiding=!0,i.stop(!0),this._hide(i,this.options.hide,function(){n._removeTooltip(t(this))}),r.removeData("ui-tooltip-open"),this._off(r,"mouseleave focusout keyup"),r[0]!==this.element[0]&&this._off(r,"remove"),this._off(this.document,"mousemove"),e&&"mouseleave"===e.type&&t.each(this.parents,function(e,i){t(i.element).attr("title",i.title),delete n.parents[e]}),o.closing=!0,this._trigger("close",e,{tooltip:i}),o.hiding||(o.closing=!1))):r.removeData("ui-tooltip-open")},_tooltip:function(e){var i=t("
          ").attr("role","tooltip"),n=t("
          ").appendTo(i),r=i.uniqueId().attr("id");return this._addClass(n,"ui-tooltip-content"),this._addClass(i,"ui-tooltip","ui-widget ui-widget-content"),i.appendTo(this._appendTo(e)),this.tooltips[r]={element:e,tooltip:i}},_find:function(t){var e=t.data("ui-tooltip-id");return e?this.tooltips[e]:null},_removeTooltip:function(t){clearInterval(this.delayedShow),t.remove(),delete this.tooltips[t.attr("id")]},_appendTo:function(t){var e=t.closest(".ui-front, dialog");return e.length||(e=this.document[0].body),e},_destroy:function(){var e=this;t.each(this.tooltips,function(i,n){var r=t.Event("blur"),o=n.element;r.target=r.currentTarget=o[0],e.close(r,!0),t("#"+i).remove(),o.data("ui-tooltip-title")&&(o.attr("title")||o.attr("title",o.data("ui-tooltip-title")),o.removeData("ui-tooltip-title"))}),this.liveRegion.remove()}}),!1!==t.uiBackCompat&&t.widget("ui.tooltip",t.ui.tooltip,{options:{tooltipClass:null},_tooltip:function(){var t=this._superApply(arguments);return this.options.tooltipClass&&t.tooltip.addClass(this.options.tooltipClass),t}}),t.ui.tooltip},void 0===(o=n.apply(e,r))||(t.exports=o)}()},88276(t,e,i){"use strict";var n=i(56698),r=i(4729),o=i(92861).Buffer,s=new Array(16);function a(){r.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878}function u(t,e){return t<>>32-e}function c(t,e,i,n,r,o,s){return u(t+(e&i|~e&n)+r+o|0,s)+e|0}function h(t,e,i,n,r,o,s){return u(t+(e&n|i&~n)+r+o|0,s)+e|0}function l(t,e,i,n,r,o,s){return u(t+(e^i^n)+r+o|0,s)+e|0}function d(t,e,i,n,r,o,s){return u(t+(i^(e|~n))+r+o|0,s)+e|0}n(a,r),a.prototype._update=function(){for(var t=s,e=0;e<16;++e)t[e]=this._block.readInt32LE(4*e);var i=this._a,n=this._b,r=this._c,o=this._d;i=c(i,n,r,o,t[0],3614090360,7),o=c(o,i,n,r,t[1],3905402710,12),r=c(r,o,i,n,t[2],606105819,17),n=c(n,r,o,i,t[3],3250441966,22),i=c(i,n,r,o,t[4],4118548399,7),o=c(o,i,n,r,t[5],1200080426,12),r=c(r,o,i,n,t[6],2821735955,17),n=c(n,r,o,i,t[7],4249261313,22),i=c(i,n,r,o,t[8],1770035416,7),o=c(o,i,n,r,t[9],2336552879,12),r=c(r,o,i,n,t[10],4294925233,17),n=c(n,r,o,i,t[11],2304563134,22),i=c(i,n,r,o,t[12],1804603682,7),o=c(o,i,n,r,t[13],4254626195,12),r=c(r,o,i,n,t[14],2792965006,17),i=h(i,n=c(n,r,o,i,t[15],1236535329,22),r,o,t[1],4129170786,5),o=h(o,i,n,r,t[6],3225465664,9),r=h(r,o,i,n,t[11],643717713,14),n=h(n,r,o,i,t[0],3921069994,20),i=h(i,n,r,o,t[5],3593408605,5),o=h(o,i,n,r,t[10],38016083,9),r=h(r,o,i,n,t[15],3634488961,14),n=h(n,r,o,i,t[4],3889429448,20),i=h(i,n,r,o,t[9],568446438,5),o=h(o,i,n,r,t[14],3275163606,9),r=h(r,o,i,n,t[3],4107603335,14),n=h(n,r,o,i,t[8],1163531501,20),i=h(i,n,r,o,t[13],2850285829,5),o=h(o,i,n,r,t[2],4243563512,9),r=h(r,o,i,n,t[7],1735328473,14),i=l(i,n=h(n,r,o,i,t[12],2368359562,20),r,o,t[5],4294588738,4),o=l(o,i,n,r,t[8],2272392833,11),r=l(r,o,i,n,t[11],1839030562,16),n=l(n,r,o,i,t[14],4259657740,23),i=l(i,n,r,o,t[1],2763975236,4),o=l(o,i,n,r,t[4],1272893353,11),r=l(r,o,i,n,t[7],4139469664,16),n=l(n,r,o,i,t[10],3200236656,23),i=l(i,n,r,o,t[13],681279174,4),o=l(o,i,n,r,t[0],3936430074,11),r=l(r,o,i,n,t[3],3572445317,16),n=l(n,r,o,i,t[6],76029189,23),i=l(i,n,r,o,t[9],3654602809,4),o=l(o,i,n,r,t[12],3873151461,11),r=l(r,o,i,n,t[15],530742520,16),i=d(i,n=l(n,r,o,i,t[2],3299628645,23),r,o,t[0],4096336452,6),o=d(o,i,n,r,t[7],1126891415,10),r=d(r,o,i,n,t[14],2878612391,15),n=d(n,r,o,i,t[5],4237533241,21),i=d(i,n,r,o,t[12],1700485571,6),o=d(o,i,n,r,t[3],2399980690,10),r=d(r,o,i,n,t[10],4293915773,15),n=d(n,r,o,i,t[1],2240044497,21),i=d(i,n,r,o,t[8],1873313359,6),o=d(o,i,n,r,t[15],4264355552,10),r=d(r,o,i,n,t[6],2734768916,15),n=d(n,r,o,i,t[13],1309151649,21),i=d(i,n,r,o,t[4],4149444226,6),o=d(o,i,n,r,t[11],3174756917,10),r=d(r,o,i,n,t[2],718787259,15),n=d(n,r,o,i,t[9],3951481745,21),this._a=this._a+i|0,this._b=this._b+n|0,this._c=this._c+r|0,this._d=this._d+o|0},a.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var t=o.allocUnsafe(16);return t.writeInt32LE(this._a,0),t.writeInt32LE(this._b,4),t.writeInt32LE(this._c,8),t.writeInt32LE(this._d,12),t},t.exports=a},52244(t,e,i){var n=i(61158),r=i(15037);function o(t){this.rand=t||new r.Rand}t.exports=o,o.create=function(t){return new o(t)},o.prototype._randbelow=function(t){var e=t.bitLength(),i=Math.ceil(e/8);do{var r=new n(this.rand.generate(i))}while(r.cmp(t)>=0);return r},o.prototype._randrange=function(t,e){var i=e.sub(t);return t.add(this._randbelow(i))},o.prototype.test=function(t,e,i){var r=t.bitLength(),o=n.mont(t),s=new n(1).toRed(o);e||(e=Math.max(1,r/48|0));for(var a=t.subn(1),u=0;!a.testn(u);u++);for(var c=t.shrn(u),h=a.toRed(o);e>0;e--){var l=this._randrange(new n(2),a);i&&i(l);var d=l.toRed(o).redPow(c);if(0!==d.cmp(s)&&0!==d.cmp(h)){for(var f=1;f0;e--){var h=this._randrange(new n(2),s),l=t.gcd(h);if(0!==l.cmpn(1))return l;var d=h.toRed(r).redPow(u);if(0!==d.cmp(o)&&0!==d.cmp(c)){for(var f=1;f=65&&i<=70?i-55:i>=97&&i<=102?i-87:i-48&15}function u(t,e,i){var n=a(t,i);return i-1>=e&&(n|=a(t,i-1)<<4),n}function c(t,e,i,n){for(var r=0,o=Math.min(t.length,i),s=e;s=49?a-49+10:a>=17?a-17+10:a}return r}o.isBN=function(t){return t instanceof o||null!==t&&"object"==typeof t&&t.constructor.wordSize===o.wordSize&&Array.isArray(t.words)},o.max=function(t,e){return t.cmp(e)>0?t:e},o.min=function(t,e){return t.cmp(e)<0?t:e},o.prototype._init=function(t,e,i){if("number"==typeof t)return this._initNumber(t,e,i);if("object"==typeof t)return this._initArray(t,e,i);"hex"===e&&(e=16),n(e===(0|e)&&e>=2&&e<=36);var r=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(r++,this.negative=1),r=0;r-=3)s=t[r]|t[r-1]<<8|t[r-2]<<16,this.words[o]|=s<>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);else if("le"===i)for(r=0,o=0;r>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);return this.strip()},o.prototype._parseHex=function(t,e,i){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var n=0;n=e;n-=2)r=u(t,e,n)<=18?(o-=18,s+=1,this.words[s]|=r>>>26):o+=8;else for(n=(t.length-e)%2==0?e+1:e;n=18?(o-=18,s+=1,this.words[s]|=r>>>26):o+=8;this.strip()},o.prototype._parseBase=function(t,e,i){this.words=[0],this.length=1;for(var n=0,r=1;r<=67108863;r*=e)n++;n--,r=r/e|0;for(var o=t.length-i,s=o%n,a=Math.min(o,o-s)+i,u=0,h=i;h1&&0===this.words[this.length-1];)this.length--;return this._normSign()},o.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},o.prototype.inspect=function(){return(this.red?""};var h=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],l=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],d=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function f(t,e,i){i.negative=e.negative^t.negative;var n=t.length+e.length|0;i.length=n,n=n-1|0;var r=0|t.words[0],o=0|e.words[0],s=r*o,a=67108863&s,u=s/67108864|0;i.words[0]=a;for(var c=1;c>>26,l=67108863&u,d=Math.min(c,e.length-1),f=Math.max(0,c-t.length+1);f<=d;f++){var p=c-f|0;h+=(s=(r=0|t.words[p])*(o=0|e.words[f])+l)/67108864|0,l=67108863&s}i.words[c]=0|l,u=0|h}return 0!==u?i.words[c]=0|u:i.length--,i.strip()}o.prototype.toString=function(t,e){var i;if(e=0|e||1,16===(t=t||10)||"hex"===t){i="";for(var r=0,o=0,s=0;s>>24-r&16777215,(r+=2)>=26&&(r-=26,s--),i=0!==o||s!==this.length-1?h[6-u.length]+u+i:u+i}for(0!==o&&(i=o.toString(16)+i);i.length%e!==0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}if(t===(0|t)&&t>=2&&t<=36){var c=l[t],f=d[t];i="";var p=this.clone();for(p.negative=0;!p.isZero();){var g=p.modn(f).toString(t);i=(p=p.idivn(f)).isZero()?g+i:h[c-g.length]+g+i}for(this.isZero()&&(i="0"+i);i.length%e!==0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}n(!1,"Base should be between 2 and 36")},o.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},o.prototype.toJSON=function(){return this.toString(16)},o.prototype.toBuffer=function(t,e){return n(void 0!==s),this.toArrayLike(s,t,e)},o.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},o.prototype.toArrayLike=function(t,e,i){var r=this.byteLength(),o=i||Math.max(1,r);n(r<=o,"byte array longer than desired length"),n(o>0,"Requested array length <= 0"),this.strip();var s,a,u="le"===e,c=new t(o),h=this.clone();if(u){for(a=0;!h.isZero();a++)s=h.andln(255),h.iushrn(8),c[a]=s;for(;a=4096&&(i+=13,e>>>=13),e>=64&&(i+=7,e>>>=7),e>=8&&(i+=4,e>>>=4),e>=2&&(i+=2,e>>>=2),i+e},o.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,i=0;return 8191&e||(i+=13,e>>>=13),127&e||(i+=7,e>>>=7),15&e||(i+=4,e>>>=4),3&e||(i+=2,e>>>=2),1&e||i++,i},o.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},o.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},o.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},o.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var i=0;it.length?this.clone().iand(t):t.clone().iand(this)},o.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},o.prototype.iuxor=function(t){var e,i;this.length>t.length?(e=this,i=t):(e=t,i=this);for(var n=0;nt.length?this.clone().ixor(t):t.clone().ixor(this)},o.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},o.prototype.inotn=function(t){n("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),i=t%26;this._expand(e),i>0&&e--;for(var r=0;r0&&(this.words[r]=~this.words[r]&67108863>>26-i),this.strip()},o.prototype.notn=function(t){return this.clone().inotn(t)},o.prototype.setn=function(t,e){n("number"==typeof t&&t>=0);var i=t/26|0,r=t%26;return this._expand(i+1),this.words[i]=e?this.words[i]|1<t.length?(i=this,n=t):(i=t,n=this);for(var r=0,o=0;o>>26;for(;0!==r&&o>>26;if(this.length=i.length,0!==r)this.words[this.length]=r,this.length++;else if(i!==this)for(;ot.length?this.clone().iadd(t):t.clone().iadd(this)},o.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var i,n,r=this.cmp(t);if(0===r)return this.negative=0,this.length=1,this.words[0]=0,this;r>0?(i=this,n=t):(i=t,n=this);for(var o=0,s=0;s>26,this.words[s]=67108863&e;for(;0!==o&&s>26,this.words[s]=67108863&e;if(0===o&&s>>13,f=0|s[1],p=8191&f,g=f>>>13,A=0|s[2],m=8191&A,v=A>>>13,b=0|s[3],y=8191&b,w=b>>>13,C=0|s[4],x=8191&C,k=C>>>13,_=0|s[5],M=8191&_,B=_>>>13,E=0|s[6],I=8191&E,S=E>>>13,D=0|s[7],T=8191&D,O=D>>>13,P=0|s[8],R=8191&P,z=P>>>13,N=0|s[9],H=8191&N,j=N>>>13,L=0|a[0],U=8191&L,q=L>>>13,F=0|a[1],W=8191&F,Y=F>>>13,Q=0|a[2],G=8191&Q,V=Q>>>13,K=0|a[3],X=8191&K,Z=K>>>13,J=0|a[4],$=8191&J,tt=J>>>13,et=0|a[5],it=8191&et,nt=et>>>13,rt=0|a[6],ot=8191&rt,st=rt>>>13,at=0|a[7],ut=8191&at,ct=at>>>13,ht=0|a[8],lt=8191&ht,dt=ht>>>13,ft=0|a[9],pt=8191&ft,gt=ft>>>13;i.negative=t.negative^e.negative,i.length=19;var At=(c+(n=Math.imul(l,U))|0)+((8191&(r=(r=Math.imul(l,q))+Math.imul(d,U)|0))<<13)|0;c=((o=Math.imul(d,q))+(r>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(p,U),r=(r=Math.imul(p,q))+Math.imul(g,U)|0,o=Math.imul(g,q);var mt=(c+(n=n+Math.imul(l,W)|0)|0)+((8191&(r=(r=r+Math.imul(l,Y)|0)+Math.imul(d,W)|0))<<13)|0;c=((o=o+Math.imul(d,Y)|0)+(r>>>13)|0)+(mt>>>26)|0,mt&=67108863,n=Math.imul(m,U),r=(r=Math.imul(m,q))+Math.imul(v,U)|0,o=Math.imul(v,q),n=n+Math.imul(p,W)|0,r=(r=r+Math.imul(p,Y)|0)+Math.imul(g,W)|0,o=o+Math.imul(g,Y)|0;var vt=(c+(n=n+Math.imul(l,G)|0)|0)+((8191&(r=(r=r+Math.imul(l,V)|0)+Math.imul(d,G)|0))<<13)|0;c=((o=o+Math.imul(d,V)|0)+(r>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(y,U),r=(r=Math.imul(y,q))+Math.imul(w,U)|0,o=Math.imul(w,q),n=n+Math.imul(m,W)|0,r=(r=r+Math.imul(m,Y)|0)+Math.imul(v,W)|0,o=o+Math.imul(v,Y)|0,n=n+Math.imul(p,G)|0,r=(r=r+Math.imul(p,V)|0)+Math.imul(g,G)|0,o=o+Math.imul(g,V)|0;var bt=(c+(n=n+Math.imul(l,X)|0)|0)+((8191&(r=(r=r+Math.imul(l,Z)|0)+Math.imul(d,X)|0))<<13)|0;c=((o=o+Math.imul(d,Z)|0)+(r>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(x,U),r=(r=Math.imul(x,q))+Math.imul(k,U)|0,o=Math.imul(k,q),n=n+Math.imul(y,W)|0,r=(r=r+Math.imul(y,Y)|0)+Math.imul(w,W)|0,o=o+Math.imul(w,Y)|0,n=n+Math.imul(m,G)|0,r=(r=r+Math.imul(m,V)|0)+Math.imul(v,G)|0,o=o+Math.imul(v,V)|0,n=n+Math.imul(p,X)|0,r=(r=r+Math.imul(p,Z)|0)+Math.imul(g,X)|0,o=o+Math.imul(g,Z)|0;var yt=(c+(n=n+Math.imul(l,$)|0)|0)+((8191&(r=(r=r+Math.imul(l,tt)|0)+Math.imul(d,$)|0))<<13)|0;c=((o=o+Math.imul(d,tt)|0)+(r>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(M,U),r=(r=Math.imul(M,q))+Math.imul(B,U)|0,o=Math.imul(B,q),n=n+Math.imul(x,W)|0,r=(r=r+Math.imul(x,Y)|0)+Math.imul(k,W)|0,o=o+Math.imul(k,Y)|0,n=n+Math.imul(y,G)|0,r=(r=r+Math.imul(y,V)|0)+Math.imul(w,G)|0,o=o+Math.imul(w,V)|0,n=n+Math.imul(m,X)|0,r=(r=r+Math.imul(m,Z)|0)+Math.imul(v,X)|0,o=o+Math.imul(v,Z)|0,n=n+Math.imul(p,$)|0,r=(r=r+Math.imul(p,tt)|0)+Math.imul(g,$)|0,o=o+Math.imul(g,tt)|0;var wt=(c+(n=n+Math.imul(l,it)|0)|0)+((8191&(r=(r=r+Math.imul(l,nt)|0)+Math.imul(d,it)|0))<<13)|0;c=((o=o+Math.imul(d,nt)|0)+(r>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(I,U),r=(r=Math.imul(I,q))+Math.imul(S,U)|0,o=Math.imul(S,q),n=n+Math.imul(M,W)|0,r=(r=r+Math.imul(M,Y)|0)+Math.imul(B,W)|0,o=o+Math.imul(B,Y)|0,n=n+Math.imul(x,G)|0,r=(r=r+Math.imul(x,V)|0)+Math.imul(k,G)|0,o=o+Math.imul(k,V)|0,n=n+Math.imul(y,X)|0,r=(r=r+Math.imul(y,Z)|0)+Math.imul(w,X)|0,o=o+Math.imul(w,Z)|0,n=n+Math.imul(m,$)|0,r=(r=r+Math.imul(m,tt)|0)+Math.imul(v,$)|0,o=o+Math.imul(v,tt)|0,n=n+Math.imul(p,it)|0,r=(r=r+Math.imul(p,nt)|0)+Math.imul(g,it)|0,o=o+Math.imul(g,nt)|0;var Ct=(c+(n=n+Math.imul(l,ot)|0)|0)+((8191&(r=(r=r+Math.imul(l,st)|0)+Math.imul(d,ot)|0))<<13)|0;c=((o=o+Math.imul(d,st)|0)+(r>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,n=Math.imul(T,U),r=(r=Math.imul(T,q))+Math.imul(O,U)|0,o=Math.imul(O,q),n=n+Math.imul(I,W)|0,r=(r=r+Math.imul(I,Y)|0)+Math.imul(S,W)|0,o=o+Math.imul(S,Y)|0,n=n+Math.imul(M,G)|0,r=(r=r+Math.imul(M,V)|0)+Math.imul(B,G)|0,o=o+Math.imul(B,V)|0,n=n+Math.imul(x,X)|0,r=(r=r+Math.imul(x,Z)|0)+Math.imul(k,X)|0,o=o+Math.imul(k,Z)|0,n=n+Math.imul(y,$)|0,r=(r=r+Math.imul(y,tt)|0)+Math.imul(w,$)|0,o=o+Math.imul(w,tt)|0,n=n+Math.imul(m,it)|0,r=(r=r+Math.imul(m,nt)|0)+Math.imul(v,it)|0,o=o+Math.imul(v,nt)|0,n=n+Math.imul(p,ot)|0,r=(r=r+Math.imul(p,st)|0)+Math.imul(g,ot)|0,o=o+Math.imul(g,st)|0;var xt=(c+(n=n+Math.imul(l,ut)|0)|0)+((8191&(r=(r=r+Math.imul(l,ct)|0)+Math.imul(d,ut)|0))<<13)|0;c=((o=o+Math.imul(d,ct)|0)+(r>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(R,U),r=(r=Math.imul(R,q))+Math.imul(z,U)|0,o=Math.imul(z,q),n=n+Math.imul(T,W)|0,r=(r=r+Math.imul(T,Y)|0)+Math.imul(O,W)|0,o=o+Math.imul(O,Y)|0,n=n+Math.imul(I,G)|0,r=(r=r+Math.imul(I,V)|0)+Math.imul(S,G)|0,o=o+Math.imul(S,V)|0,n=n+Math.imul(M,X)|0,r=(r=r+Math.imul(M,Z)|0)+Math.imul(B,X)|0,o=o+Math.imul(B,Z)|0,n=n+Math.imul(x,$)|0,r=(r=r+Math.imul(x,tt)|0)+Math.imul(k,$)|0,o=o+Math.imul(k,tt)|0,n=n+Math.imul(y,it)|0,r=(r=r+Math.imul(y,nt)|0)+Math.imul(w,it)|0,o=o+Math.imul(w,nt)|0,n=n+Math.imul(m,ot)|0,r=(r=r+Math.imul(m,st)|0)+Math.imul(v,ot)|0,o=o+Math.imul(v,st)|0,n=n+Math.imul(p,ut)|0,r=(r=r+Math.imul(p,ct)|0)+Math.imul(g,ut)|0,o=o+Math.imul(g,ct)|0;var kt=(c+(n=n+Math.imul(l,lt)|0)|0)+((8191&(r=(r=r+Math.imul(l,dt)|0)+Math.imul(d,lt)|0))<<13)|0;c=((o=o+Math.imul(d,dt)|0)+(r>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(H,U),r=(r=Math.imul(H,q))+Math.imul(j,U)|0,o=Math.imul(j,q),n=n+Math.imul(R,W)|0,r=(r=r+Math.imul(R,Y)|0)+Math.imul(z,W)|0,o=o+Math.imul(z,Y)|0,n=n+Math.imul(T,G)|0,r=(r=r+Math.imul(T,V)|0)+Math.imul(O,G)|0,o=o+Math.imul(O,V)|0,n=n+Math.imul(I,X)|0,r=(r=r+Math.imul(I,Z)|0)+Math.imul(S,X)|0,o=o+Math.imul(S,Z)|0,n=n+Math.imul(M,$)|0,r=(r=r+Math.imul(M,tt)|0)+Math.imul(B,$)|0,o=o+Math.imul(B,tt)|0,n=n+Math.imul(x,it)|0,r=(r=r+Math.imul(x,nt)|0)+Math.imul(k,it)|0,o=o+Math.imul(k,nt)|0,n=n+Math.imul(y,ot)|0,r=(r=r+Math.imul(y,st)|0)+Math.imul(w,ot)|0,o=o+Math.imul(w,st)|0,n=n+Math.imul(m,ut)|0,r=(r=r+Math.imul(m,ct)|0)+Math.imul(v,ut)|0,o=o+Math.imul(v,ct)|0,n=n+Math.imul(p,lt)|0,r=(r=r+Math.imul(p,dt)|0)+Math.imul(g,lt)|0,o=o+Math.imul(g,dt)|0;var _t=(c+(n=n+Math.imul(l,pt)|0)|0)+((8191&(r=(r=r+Math.imul(l,gt)|0)+Math.imul(d,pt)|0))<<13)|0;c=((o=o+Math.imul(d,gt)|0)+(r>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(H,W),r=(r=Math.imul(H,Y))+Math.imul(j,W)|0,o=Math.imul(j,Y),n=n+Math.imul(R,G)|0,r=(r=r+Math.imul(R,V)|0)+Math.imul(z,G)|0,o=o+Math.imul(z,V)|0,n=n+Math.imul(T,X)|0,r=(r=r+Math.imul(T,Z)|0)+Math.imul(O,X)|0,o=o+Math.imul(O,Z)|0,n=n+Math.imul(I,$)|0,r=(r=r+Math.imul(I,tt)|0)+Math.imul(S,$)|0,o=o+Math.imul(S,tt)|0,n=n+Math.imul(M,it)|0,r=(r=r+Math.imul(M,nt)|0)+Math.imul(B,it)|0,o=o+Math.imul(B,nt)|0,n=n+Math.imul(x,ot)|0,r=(r=r+Math.imul(x,st)|0)+Math.imul(k,ot)|0,o=o+Math.imul(k,st)|0,n=n+Math.imul(y,ut)|0,r=(r=r+Math.imul(y,ct)|0)+Math.imul(w,ut)|0,o=o+Math.imul(w,ct)|0,n=n+Math.imul(m,lt)|0,r=(r=r+Math.imul(m,dt)|0)+Math.imul(v,lt)|0,o=o+Math.imul(v,dt)|0;var Mt=(c+(n=n+Math.imul(p,pt)|0)|0)+((8191&(r=(r=r+Math.imul(p,gt)|0)+Math.imul(g,pt)|0))<<13)|0;c=((o=o+Math.imul(g,gt)|0)+(r>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(H,G),r=(r=Math.imul(H,V))+Math.imul(j,G)|0,o=Math.imul(j,V),n=n+Math.imul(R,X)|0,r=(r=r+Math.imul(R,Z)|0)+Math.imul(z,X)|0,o=o+Math.imul(z,Z)|0,n=n+Math.imul(T,$)|0,r=(r=r+Math.imul(T,tt)|0)+Math.imul(O,$)|0,o=o+Math.imul(O,tt)|0,n=n+Math.imul(I,it)|0,r=(r=r+Math.imul(I,nt)|0)+Math.imul(S,it)|0,o=o+Math.imul(S,nt)|0,n=n+Math.imul(M,ot)|0,r=(r=r+Math.imul(M,st)|0)+Math.imul(B,ot)|0,o=o+Math.imul(B,st)|0,n=n+Math.imul(x,ut)|0,r=(r=r+Math.imul(x,ct)|0)+Math.imul(k,ut)|0,o=o+Math.imul(k,ct)|0,n=n+Math.imul(y,lt)|0,r=(r=r+Math.imul(y,dt)|0)+Math.imul(w,lt)|0,o=o+Math.imul(w,dt)|0;var Bt=(c+(n=n+Math.imul(m,pt)|0)|0)+((8191&(r=(r=r+Math.imul(m,gt)|0)+Math.imul(v,pt)|0))<<13)|0;c=((o=o+Math.imul(v,gt)|0)+(r>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,n=Math.imul(H,X),r=(r=Math.imul(H,Z))+Math.imul(j,X)|0,o=Math.imul(j,Z),n=n+Math.imul(R,$)|0,r=(r=r+Math.imul(R,tt)|0)+Math.imul(z,$)|0,o=o+Math.imul(z,tt)|0,n=n+Math.imul(T,it)|0,r=(r=r+Math.imul(T,nt)|0)+Math.imul(O,it)|0,o=o+Math.imul(O,nt)|0,n=n+Math.imul(I,ot)|0,r=(r=r+Math.imul(I,st)|0)+Math.imul(S,ot)|0,o=o+Math.imul(S,st)|0,n=n+Math.imul(M,ut)|0,r=(r=r+Math.imul(M,ct)|0)+Math.imul(B,ut)|0,o=o+Math.imul(B,ct)|0,n=n+Math.imul(x,lt)|0,r=(r=r+Math.imul(x,dt)|0)+Math.imul(k,lt)|0,o=o+Math.imul(k,dt)|0;var Et=(c+(n=n+Math.imul(y,pt)|0)|0)+((8191&(r=(r=r+Math.imul(y,gt)|0)+Math.imul(w,pt)|0))<<13)|0;c=((o=o+Math.imul(w,gt)|0)+(r>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(H,$),r=(r=Math.imul(H,tt))+Math.imul(j,$)|0,o=Math.imul(j,tt),n=n+Math.imul(R,it)|0,r=(r=r+Math.imul(R,nt)|0)+Math.imul(z,it)|0,o=o+Math.imul(z,nt)|0,n=n+Math.imul(T,ot)|0,r=(r=r+Math.imul(T,st)|0)+Math.imul(O,ot)|0,o=o+Math.imul(O,st)|0,n=n+Math.imul(I,ut)|0,r=(r=r+Math.imul(I,ct)|0)+Math.imul(S,ut)|0,o=o+Math.imul(S,ct)|0,n=n+Math.imul(M,lt)|0,r=(r=r+Math.imul(M,dt)|0)+Math.imul(B,lt)|0,o=o+Math.imul(B,dt)|0;var It=(c+(n=n+Math.imul(x,pt)|0)|0)+((8191&(r=(r=r+Math.imul(x,gt)|0)+Math.imul(k,pt)|0))<<13)|0;c=((o=o+Math.imul(k,gt)|0)+(r>>>13)|0)+(It>>>26)|0,It&=67108863,n=Math.imul(H,it),r=(r=Math.imul(H,nt))+Math.imul(j,it)|0,o=Math.imul(j,nt),n=n+Math.imul(R,ot)|0,r=(r=r+Math.imul(R,st)|0)+Math.imul(z,ot)|0,o=o+Math.imul(z,st)|0,n=n+Math.imul(T,ut)|0,r=(r=r+Math.imul(T,ct)|0)+Math.imul(O,ut)|0,o=o+Math.imul(O,ct)|0,n=n+Math.imul(I,lt)|0,r=(r=r+Math.imul(I,dt)|0)+Math.imul(S,lt)|0,o=o+Math.imul(S,dt)|0;var St=(c+(n=n+Math.imul(M,pt)|0)|0)+((8191&(r=(r=r+Math.imul(M,gt)|0)+Math.imul(B,pt)|0))<<13)|0;c=((o=o+Math.imul(B,gt)|0)+(r>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(H,ot),r=(r=Math.imul(H,st))+Math.imul(j,ot)|0,o=Math.imul(j,st),n=n+Math.imul(R,ut)|0,r=(r=r+Math.imul(R,ct)|0)+Math.imul(z,ut)|0,o=o+Math.imul(z,ct)|0,n=n+Math.imul(T,lt)|0,r=(r=r+Math.imul(T,dt)|0)+Math.imul(O,lt)|0,o=o+Math.imul(O,dt)|0;var Dt=(c+(n=n+Math.imul(I,pt)|0)|0)+((8191&(r=(r=r+Math.imul(I,gt)|0)+Math.imul(S,pt)|0))<<13)|0;c=((o=o+Math.imul(S,gt)|0)+(r>>>13)|0)+(Dt>>>26)|0,Dt&=67108863,n=Math.imul(H,ut),r=(r=Math.imul(H,ct))+Math.imul(j,ut)|0,o=Math.imul(j,ct),n=n+Math.imul(R,lt)|0,r=(r=r+Math.imul(R,dt)|0)+Math.imul(z,lt)|0,o=o+Math.imul(z,dt)|0;var Tt=(c+(n=n+Math.imul(T,pt)|0)|0)+((8191&(r=(r=r+Math.imul(T,gt)|0)+Math.imul(O,pt)|0))<<13)|0;c=((o=o+Math.imul(O,gt)|0)+(r>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(H,lt),r=(r=Math.imul(H,dt))+Math.imul(j,lt)|0,o=Math.imul(j,dt);var Ot=(c+(n=n+Math.imul(R,pt)|0)|0)+((8191&(r=(r=r+Math.imul(R,gt)|0)+Math.imul(z,pt)|0))<<13)|0;c=((o=o+Math.imul(z,gt)|0)+(r>>>13)|0)+(Ot>>>26)|0,Ot&=67108863;var Pt=(c+(n=Math.imul(H,pt))|0)+((8191&(r=(r=Math.imul(H,gt))+Math.imul(j,pt)|0))<<13)|0;return c=((o=Math.imul(j,gt))+(r>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,u[0]=At,u[1]=mt,u[2]=vt,u[3]=bt,u[4]=yt,u[5]=wt,u[6]=Ct,u[7]=xt,u[8]=kt,u[9]=_t,u[10]=Mt,u[11]=Bt,u[12]=Et,u[13]=It,u[14]=St,u[15]=Dt,u[16]=Tt,u[17]=Ot,u[18]=Pt,0!==c&&(u[19]=c,i.length++),i};function g(t,e,i){return(new A).mulp(t,e,i)}function A(t,e){this.x=t,this.y=e}Math.imul||(p=f),o.prototype.mulTo=function(t,e){var i,n=this.length+t.length;return i=10===this.length&&10===t.length?p(this,t,e):n<63?f(this,t,e):n<1024?function(t,e,i){i.negative=e.negative^t.negative,i.length=t.length+e.length;for(var n=0,r=0,o=0;o>>26)|0)>>>26,s&=67108863}i.words[o]=a,n=s,s=r}return 0!==n?i.words[o]=n:i.length--,i.strip()}(this,t,e):g(this,t,e),i},A.prototype.makeRBT=function(t){for(var e=new Array(t),i=o.prototype._countBits(t)-1,n=0;n>=1;return n},A.prototype.permute=function(t,e,i,n,r,o){for(var s=0;s>>=1)r++;return 1<>>=13,i[2*s+1]=8191&o,o>>>=13;for(s=2*e;s>=26,e+=r/67108864|0,e+=o>>>26,this.words[i]=67108863&o}return 0!==e&&(this.words[i]=e,this.length++),this.length=0===t?1:this.length,this},o.prototype.muln=function(t){return this.clone().imuln(t)},o.prototype.sqr=function(){return this.mul(this)},o.prototype.isqr=function(){return this.imul(this.clone())},o.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),i=0;i>>r}return e}(t);if(0===e.length)return new o(1);for(var i=this,n=0;n=0);var e,i=t%26,r=(t-i)/26,o=67108863>>>26-i<<26-i;if(0!==i){var s=0;for(e=0;e>>26-i}s&&(this.words[e]=s,this.length++)}if(0!==r){for(e=this.length-1;e>=0;e--)this.words[e+r]=this.words[e];for(e=0;e=0),r=e?(e-e%26)/26:0;var o=t%26,s=Math.min((t-o)/26,this.length),a=67108863^67108863>>>o<s)for(this.length-=s,c=0;c=0&&(0!==h||c>=r);c--){var l=0|this.words[c];this.words[c]=h<<26-o|l>>>o,h=l&a}return u&&0!==h&&(u.words[u.length++]=h),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},o.prototype.ishrn=function(t,e,i){return n(0===this.negative),this.iushrn(t,e,i)},o.prototype.shln=function(t){return this.clone().ishln(t)},o.prototype.ushln=function(t){return this.clone().iushln(t)},o.prototype.shrn=function(t){return this.clone().ishrn(t)},o.prototype.ushrn=function(t){return this.clone().iushrn(t)},o.prototype.testn=function(t){n("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26,r=1<=0);var e=t%26,i=(t-e)/26;if(n(0===this.negative,"imaskn works only with positive numbers"),this.length<=i)return this;if(0!==e&&i++,this.length=Math.min(i,this.length),0!==e){var r=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},o.prototype.isubn=function(t){if(n("number"==typeof t),n(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(u/67108864|0),this.words[r+i]=67108863&o}for(;r>26,this.words[r+i]=67108863&o;if(0===a)return this.strip();for(n(-1===a),a=0,r=0;r>26,this.words[r]=67108863&o;return this.negative=1,this.strip()},o.prototype._wordDiv=function(t,e){var i=(this.length,t.length),n=this.clone(),r=t,s=0|r.words[r.length-1];0!=(i=26-this._countBits(s))&&(r=r.ushln(i),n.iushln(i),s=0|r.words[r.length-1]);var a,u=n.length-r.length;if("mod"!==e){(a=new o(null)).length=u+1,a.words=new Array(a.length);for(var c=0;c=0;l--){var d=67108864*(0|n.words[r.length+l])+(0|n.words[r.length+l-1]);for(d=Math.min(d/s|0,67108863),n._ishlnsubmul(r,d,l);0!==n.negative;)d--,n.negative=0,n._ishlnsubmul(r,1,l),n.isZero()||(n.negative^=1);a&&(a.words[l]=d)}return a&&a.strip(),n.strip(),"div"!==e&&0!==i&&n.iushrn(i),{div:a||null,mod:n}},o.prototype.divmod=function(t,e,i){return n(!t.isZero()),this.isZero()?{div:new o(0),mod:new o(0)}:0!==this.negative&&0===t.negative?(a=this.neg().divmod(t,e),"mod"!==e&&(r=a.div.neg()),"div"!==e&&(s=a.mod.neg(),i&&0!==s.negative&&s.iadd(t)),{div:r,mod:s}):0===this.negative&&0!==t.negative?(a=this.divmod(t.neg(),e),"mod"!==e&&(r=a.div.neg()),{div:r,mod:a.mod}):0!==(this.negative&t.negative)?(a=this.neg().divmod(t.neg(),e),"div"!==e&&(s=a.mod.neg(),i&&0!==s.negative&&s.isub(t)),{div:a.div,mod:s}):t.length>this.length||this.cmp(t)<0?{div:new o(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new o(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new o(this.modn(t.words[0]))}:this._wordDiv(t,e);var r,s,a},o.prototype.div=function(t){return this.divmod(t,"div",!1).div},o.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},o.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},o.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var i=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),r=t.andln(1),o=i.cmp(n);return o<0||1===r&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},o.prototype.modn=function(t){n(t<=67108863);for(var e=(1<<26)%t,i=0,r=this.length-1;r>=0;r--)i=(e*i+(0|this.words[r]))%t;return i},o.prototype.idivn=function(t){n(t<=67108863);for(var e=0,i=this.length-1;i>=0;i--){var r=(0|this.words[i])+67108864*e;this.words[i]=r/t|0,e=r%t}return this.strip()},o.prototype.divn=function(t){return this.clone().idivn(t)},o.prototype.egcd=function(t){n(0===t.negative),n(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var r=new o(1),s=new o(0),a=new o(0),u=new o(1),c=0;e.isEven()&&i.isEven();)e.iushrn(1),i.iushrn(1),++c;for(var h=i.clone(),l=e.clone();!e.isZero();){for(var d=0,f=1;0===(e.words[0]&f)&&d<26;++d,f<<=1);if(d>0)for(e.iushrn(d);d-- >0;)(r.isOdd()||s.isOdd())&&(r.iadd(h),s.isub(l)),r.iushrn(1),s.iushrn(1);for(var p=0,g=1;0===(i.words[0]&g)&&p<26;++p,g<<=1);if(p>0)for(i.iushrn(p);p-- >0;)(a.isOdd()||u.isOdd())&&(a.iadd(h),u.isub(l)),a.iushrn(1),u.iushrn(1);e.cmp(i)>=0?(e.isub(i),r.isub(a),s.isub(u)):(i.isub(e),a.isub(r),u.isub(s))}return{a,b:u,gcd:i.iushln(c)}},o.prototype._invmp=function(t){n(0===t.negative),n(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var r,s=new o(1),a=new o(0),u=i.clone();e.cmpn(1)>0&&i.cmpn(1)>0;){for(var c=0,h=1;0===(e.words[0]&h)&&c<26;++c,h<<=1);if(c>0)for(e.iushrn(c);c-- >0;)s.isOdd()&&s.iadd(u),s.iushrn(1);for(var l=0,d=1;0===(i.words[0]&d)&&l<26;++l,d<<=1);if(l>0)for(i.iushrn(l);l-- >0;)a.isOdd()&&a.iadd(u),a.iushrn(1);e.cmp(i)>=0?(e.isub(i),s.isub(a)):(i.isub(e),a.isub(s))}return(r=0===e.cmpn(1)?s:a).cmpn(0)<0&&r.iadd(t),r},o.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),i=t.clone();e.negative=0,i.negative=0;for(var n=0;e.isEven()&&i.isEven();n++)e.iushrn(1),i.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;i.isEven();)i.iushrn(1);var r=e.cmp(i);if(r<0){var o=e;e=i,i=o}else if(0===r||0===i.cmpn(1))break;e.isub(i)}return i.iushln(n)},o.prototype.invm=function(t){return this.egcd(t).a.umod(t)},o.prototype.isEven=function(){return!(1&this.words[0])},o.prototype.isOdd=function(){return!(1&~this.words[0])},o.prototype.andln=function(t){return this.words[0]&t},o.prototype.bincn=function(t){n("number"==typeof t);var e=t%26,i=(t-e)/26,r=1<>>26,a&=67108863,this.words[s]=a}return 0!==o&&(this.words[s]=o,this.length++),this},o.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},o.prototype.cmpn=function(t){var e,i=t<0;if(0!==this.negative&&!i)return-1;if(0===this.negative&&i)return 1;if(this.strip(),this.length>1)e=1;else{i&&(t=-t),n(t<=67108863,"Number is too big");var r=0|this.words[0];e=r===t?0:rt.length)return 1;if(this.length=0;i--){var n=0|this.words[i],r=0|t.words[i];if(n!==r){nr&&(e=1);break}}return e},o.prototype.gtn=function(t){return 1===this.cmpn(t)},o.prototype.gt=function(t){return 1===this.cmp(t)},o.prototype.gten=function(t){return this.cmpn(t)>=0},o.prototype.gte=function(t){return this.cmp(t)>=0},o.prototype.ltn=function(t){return-1===this.cmpn(t)},o.prototype.lt=function(t){return-1===this.cmp(t)},o.prototype.lten=function(t){return this.cmpn(t)<=0},o.prototype.lte=function(t){return this.cmp(t)<=0},o.prototype.eqn=function(t){return 0===this.cmpn(t)},o.prototype.eq=function(t){return 0===this.cmp(t)},o.red=function(t){return new x(t)},o.prototype.toRed=function(t){return n(!this.red,"Already a number in reduction context"),n(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},o.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},o.prototype._forceRed=function(t){return this.red=t,this},o.prototype.forceRed=function(t){return n(!this.red,"Already a number in reduction context"),this._forceRed(t)},o.prototype.redAdd=function(t){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},o.prototype.redIAdd=function(t){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},o.prototype.redSub=function(t){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},o.prototype.redISub=function(t){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},o.prototype.redShl=function(t){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},o.prototype.redMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},o.prototype.redIMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},o.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},o.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},o.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},o.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},o.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},o.prototype.redPow=function(t){return n(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var m={k256:null,p224:null,p192:null,p25519:null};function v(t,e){this.name=t,this.p=new o(e,16),this.n=this.p.bitLength(),this.k=new o(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function b(){v.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function y(){v.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function w(){v.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function C(){v.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function x(t){if("string"==typeof t){var e=o._prime(t);this.m=e.p,this.prime=e}else n(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function k(t){x.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new o(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}v.prototype._tmp=function(){var t=new o(null);return t.words=new Array(Math.ceil(this.n/13)),t},v.prototype.ireduce=function(t){var e,i=t;do{this.split(i,this.tmp),e=(i=(i=this.imulK(i)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e0?i.isub(this.p):void 0!==i.strip?i.strip():i._strip(),i},v.prototype.split=function(t,e){t.iushrn(this.n,0,e)},v.prototype.imulK=function(t){return t.imul(this.k)},r(b,v),b.prototype.split=function(t,e){for(var i=4194303,n=Math.min(t.length,9),r=0;r>>22,o=s}o>>>=22,t.words[r-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},b.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,i=0;i>>=26,t.words[i]=r,e=n}return 0!==e&&(t.words[t.length++]=e),t},o._prime=function(t){if(m[t])return m[t];var e;if("k256"===t)e=new b;else if("p224"===t)e=new y;else if("p192"===t)e=new w;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new C}return m[t]=e,e},x.prototype._verify1=function(t){n(0===t.negative,"red works only with positives"),n(t.red,"red works only with red numbers")},x.prototype._verify2=function(t,e){n(0===(t.negative|e.negative),"red works only with positives"),n(t.red&&t.red===e.red,"red works only with red numbers")},x.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},x.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},x.prototype.add=function(t,e){this._verify2(t,e);var i=t.add(e);return i.cmp(this.m)>=0&&i.isub(this.m),i._forceRed(this)},x.prototype.iadd=function(t,e){this._verify2(t,e);var i=t.iadd(e);return i.cmp(this.m)>=0&&i.isub(this.m),i},x.prototype.sub=function(t,e){this._verify2(t,e);var i=t.sub(e);return i.cmpn(0)<0&&i.iadd(this.m),i._forceRed(this)},x.prototype.isub=function(t,e){this._verify2(t,e);var i=t.isub(e);return i.cmpn(0)<0&&i.iadd(this.m),i},x.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},x.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},x.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},x.prototype.isqr=function(t){return this.imul(t,t.clone())},x.prototype.sqr=function(t){return this.mul(t,t)},x.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(n(e%2==1),3===e){var i=this.m.add(new o(1)).iushrn(2);return this.pow(t,i)}for(var r=this.m.subn(1),s=0;!r.isZero()&&0===r.andln(1);)s++,r.iushrn(1);n(!r.isZero());var a=new o(1).toRed(this),u=a.redNeg(),c=this.m.subn(1).iushrn(1),h=this.m.bitLength();for(h=new o(2*h*h).toRed(this);0!==this.pow(h,c).cmp(u);)h.redIAdd(u);for(var l=this.pow(h,r),d=this.pow(t,r.addn(1).iushrn(1)),f=this.pow(t,r),p=s;0!==f.cmp(a);){for(var g=f,A=0;0!==g.cmp(a);A++)g=g.redSqr();n(A=0;n--){for(var c=e.words[n],h=u-1;h>=0;h--){var l=c>>h&1;r!==i[0]&&(r=this.sqr(r)),0!==l||0!==s?(s<<=1,s|=l,(4===++a||0===n&&0===h)&&(r=this.mul(r,i[s]),a=0,s=0)):a=0}u=26}return r},x.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},x.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},o.mont=function(t){return new k(t)},r(k,x),k.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},k.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},k.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var i=t.imul(e),n=i.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),r=i.isub(n).iushrn(this.shift),o=r;return r.cmp(this.m)>=0?o=r.isub(this.m):r.cmpn(0)<0&&(o=r.iadd(this.m)),o._forceRed(this)},k.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new o(0)._forceRed(this);var i=t.mul(e),n=i.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),r=i.isub(n).iushrn(this.shift),s=r;return r.cmp(this.m)>=0?s=r.isub(this.m):r.cmpn(0)<0&&(s=r.iadd(this.m)),s._forceRed(this)},k.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(t=i.nmd(t),this)},43349(t){function e(t,e){if(!t)throw new Error(e||"Assertion failed")}t.exports=e,e.equal=function(t,e,i){if(t!=e)throw new Error(i||"Assertion failed: "+t+" != "+e)}},64367(t,e){"use strict";var i=e;function n(t){return 1===t.length?"0"+t:t}function r(t){for(var e="",i=0;i>8,s=255&r;o?i.push(o,s):i.push(s)}return i},i.zero2=n,i.toHex=r,i.encode=function(t,e){return"hex"===e?r(t):t}},35358(t,e,i){var n={"./af":25177,"./af.js":25177,"./ar":61509,"./ar-dz":41488,"./ar-dz.js":41488,"./ar-kw":58676,"./ar-kw.js":58676,"./ar-ly":42353,"./ar-ly.js":42353,"./ar-ma":24496,"./ar-ma.js":24496,"./ar-ps":6947,"./ar-ps.js":6947,"./ar-sa":27444,"./ar-sa.js":27444,"./ar-tn":89756,"./ar-tn.js":89756,"./ar.js":61509,"./az":95533,"./az.js":95533,"./be":28959,"./be.js":28959,"./bg":47777,"./bg.js":47777,"./bm":54903,"./bm.js":54903,"./bn":61290,"./bn-bd":17357,"./bn-bd.js":17357,"./bn.js":61290,"./bo":31545,"./bo.js":31545,"./br":11470,"./br.js":11470,"./bs":44429,"./bs.js":44429,"./ca":7306,"./ca.js":7306,"./cs":56464,"./cs.js":56464,"./cv":73635,"./cv.js":73635,"./cy":64226,"./cy.js":64226,"./da":93601,"./da.js":93601,"./de":77853,"./de-at":26111,"./de-at.js":26111,"./de-ch":54697,"./de-ch.js":54697,"./de.js":77853,"./dv":60708,"./dv.js":60708,"./el":54691,"./el.js":54691,"./en-au":53872,"./en-au.js":53872,"./en-ca":28298,"./en-ca.js":28298,"./en-gb":56195,"./en-gb.js":56195,"./en-ie":66584,"./en-ie.js":66584,"./en-il":65543,"./en-il.js":65543,"./en-in":9033,"./en-in.js":9033,"./en-nz":79402,"./en-nz.js":79402,"./en-sg":43004,"./en-sg.js":43004,"./eo":32934,"./eo.js":32934,"./es":97650,"./es-do":20838,"./es-do.js":20838,"./es-mx":17730,"./es-mx.js":17730,"./es-us":56575,"./es-us.js":56575,"./es.js":97650,"./et":3035,"./et.js":3035,"./eu":3508,"./eu.js":3508,"./fa":119,"./fa.js":119,"./fi":90527,"./fi.js":90527,"./fil":95995,"./fil.js":95995,"./fo":52477,"./fo.js":52477,"./fr":85498,"./fr-ca":26435,"./fr-ca.js":26435,"./fr-ch":37892,"./fr-ch.js":37892,"./fr.js":85498,"./fy":37071,"./fy.js":37071,"./ga":41734,"./ga.js":41734,"./gd":70217,"./gd.js":70217,"./gl":77329,"./gl.js":77329,"./gom-deva":32124,"./gom-deva.js":32124,"./gom-latn":93383,"./gom-latn.js":93383,"./gu":95050,"./gu.js":95050,"./he":11713,"./he.js":11713,"./hi":43861,"./hi.js":43861,"./hr":26308,"./hr.js":26308,"./hu":90609,"./hu.js":90609,"./hy-am":17160,"./hy-am.js":17160,"./id":74063,"./id.js":74063,"./is":89374,"./is.js":89374,"./it":88383,"./it-ch":21827,"./it-ch.js":21827,"./it.js":88383,"./ja":23827,"./ja.js":23827,"./jv":89722,"./jv.js":89722,"./ka":41794,"./ka.js":41794,"./kk":27088,"./kk.js":27088,"./km":96870,"./km.js":96870,"./kn":84451,"./kn.js":84451,"./ko":63164,"./ko.js":63164,"./ku":98174,"./ku-kmr":6181,"./ku-kmr.js":6181,"./ku.js":98174,"./ky":78474,"./ky.js":78474,"./lb":79680,"./lb.js":79680,"./lo":15867,"./lo.js":15867,"./lt":45766,"./lt.js":45766,"./lv":69532,"./lv.js":69532,"./me":58076,"./me.js":58076,"./mi":41848,"./mi.js":41848,"./mk":30306,"./mk.js":30306,"./ml":73739,"./ml.js":73739,"./mn":99053,"./mn.js":99053,"./mr":86169,"./mr.js":86169,"./ms":73386,"./ms-my":92297,"./ms-my.js":92297,"./ms.js":73386,"./mt":77075,"./mt.js":77075,"./my":72264,"./my.js":72264,"./nb":22274,"./nb.js":22274,"./ne":8235,"./ne.js":8235,"./nl":92572,"./nl-be":43784,"./nl-be.js":43784,"./nl.js":92572,"./nn":54566,"./nn.js":54566,"./oc-lnc":69330,"./oc-lnc.js":69330,"./pa-in":29849,"./pa-in.js":29849,"./pl":94418,"./pl.js":94418,"./pt":79834,"./pt-br":48303,"./pt-br.js":48303,"./pt.js":79834,"./ro":24457,"./ro.js":24457,"./ru":82271,"./ru.js":82271,"./sd":1221,"./sd.js":1221,"./se":33478,"./se.js":33478,"./si":17538,"./si.js":17538,"./sk":5784,"./sk.js":5784,"./sl":46637,"./sl.js":46637,"./sq":86794,"./sq.js":86794,"./sr":45719,"./sr-cyrl":3322,"./sr-cyrl.js":3322,"./sr.js":45719,"./ss":56e3,"./ss.js":56e3,"./sv":41011,"./sv.js":41011,"./sw":40748,"./sw.js":40748,"./ta":11025,"./ta.js":11025,"./te":11885,"./te.js":11885,"./tet":28861,"./tet.js":28861,"./tg":86571,"./tg.js":86571,"./th":55802,"./th.js":55802,"./tk":59527,"./tk.js":59527,"./tl-ph":29231,"./tl-ph.js":29231,"./tlh":31052,"./tlh.js":31052,"./tr":85096,"./tr.js":85096,"./tzl":79846,"./tzl.js":79846,"./tzm":81765,"./tzm-latn":97711,"./tzm-latn.js":97711,"./tzm.js":81765,"./ug-cn":48414,"./ug-cn.js":48414,"./uk":16618,"./uk.js":16618,"./ur":57777,"./ur.js":57777,"./uz":57609,"./uz-latn":72475,"./uz-latn.js":72475,"./uz.js":57609,"./vi":21135,"./vi.js":21135,"./x-pseudo":64051,"./x-pseudo.js":64051,"./yo":82218,"./yo.js":82218,"./zh-cn":52648,"./zh-cn.js":52648,"./zh-hk":1632,"./zh-hk.js":1632,"./zh-mo":31541,"./zh-mo.js":31541,"./zh-tw":50304,"./zh-tw.js":50304};function r(t){var e=o(t);return i(e)}function o(t){if(!i.o(n,t)){var e=new Error("Cannot find module '"+t+"'");throw e.code="MODULE_NOT_FOUND",e}return n[t]}r.keys=function(){return Object.keys(n)},r.resolve=o,t.exports=r,r.id=35358},21137(t,e,i){"use strict";var n=i(87568);e.certificate=i(36413);var r=n.define("RSAPrivateKey",function(){this.seq().obj(this.key("version").int(),this.key("modulus").int(),this.key("publicExponent").int(),this.key("privateExponent").int(),this.key("prime1").int(),this.key("prime2").int(),this.key("exponent1").int(),this.key("exponent2").int(),this.key("coefficient").int())});e.RSAPrivateKey=r;var o=n.define("RSAPublicKey",function(){this.seq().obj(this.key("modulus").int(),this.key("publicExponent").int())});e.RSAPublicKey=o;var s=n.define("AlgorithmIdentifier",function(){this.seq().obj(this.key("algorithm").objid(),this.key("none").null_().optional(),this.key("curve").objid().optional(),this.key("params").seq().obj(this.key("p").int(),this.key("q").int(),this.key("g").int()).optional())}),a=n.define("SubjectPublicKeyInfo",function(){this.seq().obj(this.key("algorithm").use(s),this.key("subjectPublicKey").bitstr())});e.PublicKey=a;var u=n.define("PrivateKeyInfo",function(){this.seq().obj(this.key("version").int(),this.key("algorithm").use(s),this.key("subjectPrivateKey").octstr())});e.PrivateKey=u;var c=n.define("EncryptedPrivateKeyInfo",function(){this.seq().obj(this.key("algorithm").seq().obj(this.key("id").objid(),this.key("decrypt").seq().obj(this.key("kde").seq().obj(this.key("id").objid(),this.key("kdeparams").seq().obj(this.key("salt").octstr(),this.key("iters").int())),this.key("cipher").seq().obj(this.key("algo").objid(),this.key("iv").octstr()))),this.key("subjectPrivateKey").octstr())});e.EncryptedPrivateKey=c;var h=n.define("DSAPrivateKey",function(){this.seq().obj(this.key("version").int(),this.key("p").int(),this.key("q").int(),this.key("g").int(),this.key("pub_key").int(),this.key("priv_key").int())});e.DSAPrivateKey=h,e.DSAparam=n.define("DSAparam",function(){this.int()});var l=n.define("ECParameters",function(){this.choice({namedCurve:this.objid()})}),d=n.define("ECPrivateKey",function(){this.seq().obj(this.key("version").int(),this.key("privateKey").octstr(),this.key("parameters").optional().explicit(0).use(l),this.key("publicKey").optional().explicit(1).bitstr())});e.ECPrivateKey=d,e.signature=n.define("signature",function(){this.seq().obj(this.key("r").int(),this.key("s").int())})},36413(t,e,i){"use strict";var n=i(87568),r=n.define("Time",function(){this.choice({utcTime:this.utctime(),generalTime:this.gentime()})}),o=n.define("AttributeTypeValue",function(){this.seq().obj(this.key("type").objid(),this.key("value").any())}),s=n.define("AlgorithmIdentifier",function(){this.seq().obj(this.key("algorithm").objid(),this.key("parameters").optional(),this.key("curve").objid().optional())}),a=n.define("SubjectPublicKeyInfo",function(){this.seq().obj(this.key("algorithm").use(s),this.key("subjectPublicKey").bitstr())}),u=n.define("RelativeDistinguishedName",function(){this.setof(o)}),c=n.define("RDNSequence",function(){this.seqof(u)}),h=n.define("Name",function(){this.choice({rdnSequence:this.use(c)})}),l=n.define("Validity",function(){this.seq().obj(this.key("notBefore").use(r),this.key("notAfter").use(r))}),d=n.define("Extension",function(){this.seq().obj(this.key("extnID").objid(),this.key("critical").bool().def(!1),this.key("extnValue").octstr())}),f=n.define("TBSCertificate",function(){this.seq().obj(this.key("version").explicit(0).int().optional(),this.key("serialNumber").int(),this.key("signature").use(s),this.key("issuer").use(h),this.key("validity").use(l),this.key("subject").use(h),this.key("subjectPublicKeyInfo").use(a),this.key("issuerUniqueID").implicit(1).bitstr().optional(),this.key("subjectUniqueID").implicit(2).bitstr().optional(),this.key("extensions").explicit(3).seqof(d).optional())}),p=n.define("X509Certificate",function(){this.seq().obj(this.key("tbsCertificate").use(f),this.key("signatureAlgorithm").use(s),this.key("signatureValue").bitstr())});t.exports=p},24101(t,e,i){"use strict";var n=/Proc-Type: 4,ENCRYPTED[\n\r]+DEK-Info: AES-((?:128)|(?:192)|(?:256))-CBC,([0-9A-H]+)[\n\r]+([0-9A-z\n\r+/=]+)[\n\r]+/m,r=/^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----/m,o=/^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----([0-9A-z\n\r+/=]+)-----END \1-----$/m,s=i(68078),a=i(1241),u=i(92861).Buffer;t.exports=function(t,e){var i,c=t.toString(),h=c.match(n);if(h){var l="aes"+h[1],d=u.from(h[2],"hex"),f=u.from(h[3].replace(/[\r\n]/g,""),"base64"),p=s(e,d.slice(0,8),parseInt(h[1],10)).key,g=[],A=a.createDecipheriv(l,p,d);g.push(A.update(f)),g.push(A.final()),i=u.concat(g)}else{var m=c.match(o);i=u.from(m[2].replace(/[\r\n]/g,""),"base64")}return{tag:c.match(r)[1],data:i}}},78170(t,e,i){"use strict";var n=i(21137),r=i(15579),o=i(24101),s=i(1241),a=i(78396).pbkdf2Sync,u=i(92861).Buffer;function c(t){var e;"object"!=typeof t||u.isBuffer(t)||(e=t.passphrase,t=t.key),"string"==typeof t&&(t=u.from(t));var i,c,h=o(t,e),l=h.tag,d=h.data;switch(l){case"CERTIFICATE":c=n.certificate.decode(d,"der").tbsCertificate.subjectPublicKeyInfo;case"PUBLIC KEY":switch(c||(c=n.PublicKey.decode(d,"der")),i=c.algorithm.algorithm.join(".")){case"1.2.840.113549.1.1.1":return n.RSAPublicKey.decode(c.subjectPublicKey.data,"der");case"1.2.840.10045.2.1":return c.subjectPrivateKey=c.subjectPublicKey,{type:"ec",data:c};case"1.2.840.10040.4.1":return c.algorithm.params.pub_key=n.DSAparam.decode(c.subjectPublicKey.data,"der"),{type:"dsa",data:c.algorithm.params};default:throw new Error("unknown key id "+i)}case"ENCRYPTED PRIVATE KEY":d=function(t,e){var i=t.algorithm.decrypt.kde.kdeparams.salt,n=parseInt(t.algorithm.decrypt.kde.kdeparams.iters.toString(),10),o=r[t.algorithm.decrypt.cipher.algo.join(".")],c=t.algorithm.decrypt.cipher.iv,h=t.subjectPrivateKey,l=parseInt(o.split("-")[1],10)/8,d=a(e,i,n,l,"sha1"),f=s.createDecipheriv(o,d,c),p=[];return p.push(f.update(h)),p.push(f.final()),u.concat(p)}(d=n.EncryptedPrivateKey.decode(d,"der"),e);case"PRIVATE KEY":switch(i=(c=n.PrivateKey.decode(d,"der")).algorithm.algorithm.join(".")){case"1.2.840.113549.1.1.1":return n.RSAPrivateKey.decode(c.subjectPrivateKey,"der");case"1.2.840.10045.2.1":return{curve:c.algorithm.curve,privateKey:n.ECPrivateKey.decode(c.subjectPrivateKey,"der").privateKey};case"1.2.840.10040.4.1":return c.algorithm.params.priv_key=n.DSAparam.decode(c.subjectPrivateKey,"der"),{type:"dsa",params:c.algorithm.params};default:throw new Error("unknown key id "+i)}case"RSA PUBLIC KEY":return n.RSAPublicKey.decode(d,"der");case"RSA PRIVATE KEY":return n.RSAPrivateKey.decode(d,"der");case"DSA PRIVATE KEY":return{type:"dsa",params:n.DSAPrivateKey.decode(d,"der")};case"EC PRIVATE KEY":return{curve:(d=n.ECPrivateKey.decode(d,"der")).parameters.value,privateKey:d.privateKey};default:throw new Error("unknown key type "+l)}}c.signature=n.signature,t.exports=c},78396(t,e,i){"use strict";e.pbkdf2=i(43832),e.pbkdf2Sync=i(21352)},43832(t,e,i){"use strict";var n,r,o=i(92861).Buffer,s=i(64196),a=i(2455),u=i(21352),c=i(93382),h=globalThis.crypto&&globalThis.crypto.subtle,l={sha:"SHA-1","sha-1":"SHA-1",sha1:"SHA-1",sha256:"SHA-256","sha-256":"SHA-256",sha384:"SHA-384","sha-384":"SHA-384","sha-512":"SHA-512",sha512:"SHA-512"},d=[];function f(){return r||(r=globalThis.process&&globalThis.process.nextTick?globalThis.process.nextTick:globalThis.queueMicrotask?globalThis.queueMicrotask:globalThis.setImmediate?globalThis.setImmediate:globalThis.setTimeout)}function p(t,e,i,n,r){return h.importKey("raw",t,{name:"PBKDF2"},!1,["deriveBits"]).then(function(t){return h.deriveBits({name:"PBKDF2",salt:e,iterations:i,hash:{name:r}},t,n<<3)}).then(function(t){return o.from(t)})}t.exports=function(t,e,i,r,g,A){if("function"==typeof g&&(A=g,g=void 0),s(i,r),t=c(t,a,"Password"),e=c(e,a,"Salt"),"function"!=typeof A)throw new Error("No callback provided to pbkdf2");var m=l[(g=g||"sha1").toLowerCase()];m&&"function"==typeof globalThis.Promise?function(t,e){t.then(function(t){f()(function(){e(null,t)})},function(t){f()(function(){e(t)})})}(function(t){if(globalThis.process&&!globalThis.process.browser)return Promise.resolve(!1);if(!h||!h.importKey||!h.deriveBits)return Promise.resolve(!1);if(void 0!==d[t])return d[t];var e=p(n=n||o.alloc(8),n,10,128,t).then(function(){return!0},function(){return!1});return d[t]=e,e}(m).then(function(n){return n?p(t,e,i,r,m):u(t,e,i,r,g)}),A):f()(function(){var n;try{n=u(t,e,i,r,g)}catch(t){return void A(t)}A(null,n)})}},2455(t,e,i){"use strict";var n,r=i(65606);n=globalThis.process&&globalThis.process.browser?"utf-8":globalThis.process&&globalThis.process.version?parseInt(r.version.split(".")[0].slice(1),10)>=6?"utf-8":"binary":"utf-8",t.exports=n},64196(t){"use strict";var e=isFinite,i=Math.pow(2,30)-1;t.exports=function(t,n){if("number"!=typeof t)throw new TypeError("Iterations not a number");if(t<0||!e(t))throw new TypeError("Bad iterations");if("number"!=typeof n)throw new TypeError("Key length not a number");if(n<0||n>i||n!=n)throw new TypeError("Bad key length")}},21352(t,e,i){"use strict";var n=i(20320),r=i(66011),o=i(62802),s=i(92861).Buffer,a=i(64196),u=i(2455),c=i(93382),h=s.alloc(128),l={__proto__:null,md5:16,sha1:20,sha224:28,sha256:32,sha384:48,sha512:64,"sha512-256":32,ripemd160:20,rmd160:20},d={__proto__:null,"sha-1":"sha1","sha-224":"sha224","sha-256":"sha256","sha-384":"sha384","sha-512":"sha512","ripemd-160":"ripemd160"};function f(t){return(new r).update(t).digest()}function p(t,e,i){var r=function(t){return"rmd160"===t||"ripemd160"===t?f:"md5"===t?n:function(e){return o(t).update(e).digest()}}(t),a="sha512"===t||"sha384"===t?128:64;e.length>a?e=r(e):e.length=65&&i<=70?i-55:i>=97&&i<=102?i-87:i-48&15}function u(t,e,i){var n=a(t,i);return i-1>=e&&(n|=a(t,i-1)<<4),n}function c(t,e,i,n){for(var r=0,o=Math.min(t.length,i),s=e;s=49?a-49+10:a>=17?a-17+10:a}return r}o.isBN=function(t){return t instanceof o||null!==t&&"object"==typeof t&&t.constructor.wordSize===o.wordSize&&Array.isArray(t.words)},o.max=function(t,e){return t.cmp(e)>0?t:e},o.min=function(t,e){return t.cmp(e)<0?t:e},o.prototype._init=function(t,e,i){if("number"==typeof t)return this._initNumber(t,e,i);if("object"==typeof t)return this._initArray(t,e,i);"hex"===e&&(e=16),n(e===(0|e)&&e>=2&&e<=36);var r=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(r++,this.negative=1),r=0;r-=3)s=t[r]|t[r-1]<<8|t[r-2]<<16,this.words[o]|=s<>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);else if("le"===i)for(r=0,o=0;r>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);return this.strip()},o.prototype._parseHex=function(t,e,i){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var n=0;n=e;n-=2)r=u(t,e,n)<=18?(o-=18,s+=1,this.words[s]|=r>>>26):o+=8;else for(n=(t.length-e)%2==0?e+1:e;n=18?(o-=18,s+=1,this.words[s]|=r>>>26):o+=8;this.strip()},o.prototype._parseBase=function(t,e,i){this.words=[0],this.length=1;for(var n=0,r=1;r<=67108863;r*=e)n++;n--,r=r/e|0;for(var o=t.length-i,s=o%n,a=Math.min(o,o-s)+i,u=0,h=i;h1&&0===this.words[this.length-1];)this.length--;return this._normSign()},o.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},o.prototype.inspect=function(){return(this.red?""};var h=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],l=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],d=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function f(t,e,i){i.negative=e.negative^t.negative;var n=t.length+e.length|0;i.length=n,n=n-1|0;var r=0|t.words[0],o=0|e.words[0],s=r*o,a=67108863&s,u=s/67108864|0;i.words[0]=a;for(var c=1;c>>26,l=67108863&u,d=Math.min(c,e.length-1),f=Math.max(0,c-t.length+1);f<=d;f++){var p=c-f|0;h+=(s=(r=0|t.words[p])*(o=0|e.words[f])+l)/67108864|0,l=67108863&s}i.words[c]=0|l,u=0|h}return 0!==u?i.words[c]=0|u:i.length--,i.strip()}o.prototype.toString=function(t,e){var i;if(e=0|e||1,16===(t=t||10)||"hex"===t){i="";for(var r=0,o=0,s=0;s>>24-r&16777215,(r+=2)>=26&&(r-=26,s--),i=0!==o||s!==this.length-1?h[6-u.length]+u+i:u+i}for(0!==o&&(i=o.toString(16)+i);i.length%e!==0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}if(t===(0|t)&&t>=2&&t<=36){var c=l[t],f=d[t];i="";var p=this.clone();for(p.negative=0;!p.isZero();){var g=p.modn(f).toString(t);i=(p=p.idivn(f)).isZero()?g+i:h[c-g.length]+g+i}for(this.isZero()&&(i="0"+i);i.length%e!==0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}n(!1,"Base should be between 2 and 36")},o.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},o.prototype.toJSON=function(){return this.toString(16)},o.prototype.toBuffer=function(t,e){return n(void 0!==s),this.toArrayLike(s,t,e)},o.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},o.prototype.toArrayLike=function(t,e,i){var r=this.byteLength(),o=i||Math.max(1,r);n(r<=o,"byte array longer than desired length"),n(o>0,"Requested array length <= 0"),this.strip();var s,a,u="le"===e,c=new t(o),h=this.clone();if(u){for(a=0;!h.isZero();a++)s=h.andln(255),h.iushrn(8),c[a]=s;for(;a=4096&&(i+=13,e>>>=13),e>=64&&(i+=7,e>>>=7),e>=8&&(i+=4,e>>>=4),e>=2&&(i+=2,e>>>=2),i+e},o.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,i=0;return 8191&e||(i+=13,e>>>=13),127&e||(i+=7,e>>>=7),15&e||(i+=4,e>>>=4),3&e||(i+=2,e>>>=2),1&e||i++,i},o.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},o.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},o.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},o.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var i=0;it.length?this.clone().iand(t):t.clone().iand(this)},o.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},o.prototype.iuxor=function(t){var e,i;this.length>t.length?(e=this,i=t):(e=t,i=this);for(var n=0;nt.length?this.clone().ixor(t):t.clone().ixor(this)},o.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},o.prototype.inotn=function(t){n("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),i=t%26;this._expand(e),i>0&&e--;for(var r=0;r0&&(this.words[r]=~this.words[r]&67108863>>26-i),this.strip()},o.prototype.notn=function(t){return this.clone().inotn(t)},o.prototype.setn=function(t,e){n("number"==typeof t&&t>=0);var i=t/26|0,r=t%26;return this._expand(i+1),this.words[i]=e?this.words[i]|1<t.length?(i=this,n=t):(i=t,n=this);for(var r=0,o=0;o>>26;for(;0!==r&&o>>26;if(this.length=i.length,0!==r)this.words[this.length]=r,this.length++;else if(i!==this)for(;ot.length?this.clone().iadd(t):t.clone().iadd(this)},o.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var i,n,r=this.cmp(t);if(0===r)return this.negative=0,this.length=1,this.words[0]=0,this;r>0?(i=this,n=t):(i=t,n=this);for(var o=0,s=0;s>26,this.words[s]=67108863&e;for(;0!==o&&s>26,this.words[s]=67108863&e;if(0===o&&s>>13,f=0|s[1],p=8191&f,g=f>>>13,A=0|s[2],m=8191&A,v=A>>>13,b=0|s[3],y=8191&b,w=b>>>13,C=0|s[4],x=8191&C,k=C>>>13,_=0|s[5],M=8191&_,B=_>>>13,E=0|s[6],I=8191&E,S=E>>>13,D=0|s[7],T=8191&D,O=D>>>13,P=0|s[8],R=8191&P,z=P>>>13,N=0|s[9],H=8191&N,j=N>>>13,L=0|a[0],U=8191&L,q=L>>>13,F=0|a[1],W=8191&F,Y=F>>>13,Q=0|a[2],G=8191&Q,V=Q>>>13,K=0|a[3],X=8191&K,Z=K>>>13,J=0|a[4],$=8191&J,tt=J>>>13,et=0|a[5],it=8191&et,nt=et>>>13,rt=0|a[6],ot=8191&rt,st=rt>>>13,at=0|a[7],ut=8191&at,ct=at>>>13,ht=0|a[8],lt=8191&ht,dt=ht>>>13,ft=0|a[9],pt=8191&ft,gt=ft>>>13;i.negative=t.negative^e.negative,i.length=19;var At=(c+(n=Math.imul(l,U))|0)+((8191&(r=(r=Math.imul(l,q))+Math.imul(d,U)|0))<<13)|0;c=((o=Math.imul(d,q))+(r>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(p,U),r=(r=Math.imul(p,q))+Math.imul(g,U)|0,o=Math.imul(g,q);var mt=(c+(n=n+Math.imul(l,W)|0)|0)+((8191&(r=(r=r+Math.imul(l,Y)|0)+Math.imul(d,W)|0))<<13)|0;c=((o=o+Math.imul(d,Y)|0)+(r>>>13)|0)+(mt>>>26)|0,mt&=67108863,n=Math.imul(m,U),r=(r=Math.imul(m,q))+Math.imul(v,U)|0,o=Math.imul(v,q),n=n+Math.imul(p,W)|0,r=(r=r+Math.imul(p,Y)|0)+Math.imul(g,W)|0,o=o+Math.imul(g,Y)|0;var vt=(c+(n=n+Math.imul(l,G)|0)|0)+((8191&(r=(r=r+Math.imul(l,V)|0)+Math.imul(d,G)|0))<<13)|0;c=((o=o+Math.imul(d,V)|0)+(r>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(y,U),r=(r=Math.imul(y,q))+Math.imul(w,U)|0,o=Math.imul(w,q),n=n+Math.imul(m,W)|0,r=(r=r+Math.imul(m,Y)|0)+Math.imul(v,W)|0,o=o+Math.imul(v,Y)|0,n=n+Math.imul(p,G)|0,r=(r=r+Math.imul(p,V)|0)+Math.imul(g,G)|0,o=o+Math.imul(g,V)|0;var bt=(c+(n=n+Math.imul(l,X)|0)|0)+((8191&(r=(r=r+Math.imul(l,Z)|0)+Math.imul(d,X)|0))<<13)|0;c=((o=o+Math.imul(d,Z)|0)+(r>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(x,U),r=(r=Math.imul(x,q))+Math.imul(k,U)|0,o=Math.imul(k,q),n=n+Math.imul(y,W)|0,r=(r=r+Math.imul(y,Y)|0)+Math.imul(w,W)|0,o=o+Math.imul(w,Y)|0,n=n+Math.imul(m,G)|0,r=(r=r+Math.imul(m,V)|0)+Math.imul(v,G)|0,o=o+Math.imul(v,V)|0,n=n+Math.imul(p,X)|0,r=(r=r+Math.imul(p,Z)|0)+Math.imul(g,X)|0,o=o+Math.imul(g,Z)|0;var yt=(c+(n=n+Math.imul(l,$)|0)|0)+((8191&(r=(r=r+Math.imul(l,tt)|0)+Math.imul(d,$)|0))<<13)|0;c=((o=o+Math.imul(d,tt)|0)+(r>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(M,U),r=(r=Math.imul(M,q))+Math.imul(B,U)|0,o=Math.imul(B,q),n=n+Math.imul(x,W)|0,r=(r=r+Math.imul(x,Y)|0)+Math.imul(k,W)|0,o=o+Math.imul(k,Y)|0,n=n+Math.imul(y,G)|0,r=(r=r+Math.imul(y,V)|0)+Math.imul(w,G)|0,o=o+Math.imul(w,V)|0,n=n+Math.imul(m,X)|0,r=(r=r+Math.imul(m,Z)|0)+Math.imul(v,X)|0,o=o+Math.imul(v,Z)|0,n=n+Math.imul(p,$)|0,r=(r=r+Math.imul(p,tt)|0)+Math.imul(g,$)|0,o=o+Math.imul(g,tt)|0;var wt=(c+(n=n+Math.imul(l,it)|0)|0)+((8191&(r=(r=r+Math.imul(l,nt)|0)+Math.imul(d,it)|0))<<13)|0;c=((o=o+Math.imul(d,nt)|0)+(r>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(I,U),r=(r=Math.imul(I,q))+Math.imul(S,U)|0,o=Math.imul(S,q),n=n+Math.imul(M,W)|0,r=(r=r+Math.imul(M,Y)|0)+Math.imul(B,W)|0,o=o+Math.imul(B,Y)|0,n=n+Math.imul(x,G)|0,r=(r=r+Math.imul(x,V)|0)+Math.imul(k,G)|0,o=o+Math.imul(k,V)|0,n=n+Math.imul(y,X)|0,r=(r=r+Math.imul(y,Z)|0)+Math.imul(w,X)|0,o=o+Math.imul(w,Z)|0,n=n+Math.imul(m,$)|0,r=(r=r+Math.imul(m,tt)|0)+Math.imul(v,$)|0,o=o+Math.imul(v,tt)|0,n=n+Math.imul(p,it)|0,r=(r=r+Math.imul(p,nt)|0)+Math.imul(g,it)|0,o=o+Math.imul(g,nt)|0;var Ct=(c+(n=n+Math.imul(l,ot)|0)|0)+((8191&(r=(r=r+Math.imul(l,st)|0)+Math.imul(d,ot)|0))<<13)|0;c=((o=o+Math.imul(d,st)|0)+(r>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,n=Math.imul(T,U),r=(r=Math.imul(T,q))+Math.imul(O,U)|0,o=Math.imul(O,q),n=n+Math.imul(I,W)|0,r=(r=r+Math.imul(I,Y)|0)+Math.imul(S,W)|0,o=o+Math.imul(S,Y)|0,n=n+Math.imul(M,G)|0,r=(r=r+Math.imul(M,V)|0)+Math.imul(B,G)|0,o=o+Math.imul(B,V)|0,n=n+Math.imul(x,X)|0,r=(r=r+Math.imul(x,Z)|0)+Math.imul(k,X)|0,o=o+Math.imul(k,Z)|0,n=n+Math.imul(y,$)|0,r=(r=r+Math.imul(y,tt)|0)+Math.imul(w,$)|0,o=o+Math.imul(w,tt)|0,n=n+Math.imul(m,it)|0,r=(r=r+Math.imul(m,nt)|0)+Math.imul(v,it)|0,o=o+Math.imul(v,nt)|0,n=n+Math.imul(p,ot)|0,r=(r=r+Math.imul(p,st)|0)+Math.imul(g,ot)|0,o=o+Math.imul(g,st)|0;var xt=(c+(n=n+Math.imul(l,ut)|0)|0)+((8191&(r=(r=r+Math.imul(l,ct)|0)+Math.imul(d,ut)|0))<<13)|0;c=((o=o+Math.imul(d,ct)|0)+(r>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(R,U),r=(r=Math.imul(R,q))+Math.imul(z,U)|0,o=Math.imul(z,q),n=n+Math.imul(T,W)|0,r=(r=r+Math.imul(T,Y)|0)+Math.imul(O,W)|0,o=o+Math.imul(O,Y)|0,n=n+Math.imul(I,G)|0,r=(r=r+Math.imul(I,V)|0)+Math.imul(S,G)|0,o=o+Math.imul(S,V)|0,n=n+Math.imul(M,X)|0,r=(r=r+Math.imul(M,Z)|0)+Math.imul(B,X)|0,o=o+Math.imul(B,Z)|0,n=n+Math.imul(x,$)|0,r=(r=r+Math.imul(x,tt)|0)+Math.imul(k,$)|0,o=o+Math.imul(k,tt)|0,n=n+Math.imul(y,it)|0,r=(r=r+Math.imul(y,nt)|0)+Math.imul(w,it)|0,o=o+Math.imul(w,nt)|0,n=n+Math.imul(m,ot)|0,r=(r=r+Math.imul(m,st)|0)+Math.imul(v,ot)|0,o=o+Math.imul(v,st)|0,n=n+Math.imul(p,ut)|0,r=(r=r+Math.imul(p,ct)|0)+Math.imul(g,ut)|0,o=o+Math.imul(g,ct)|0;var kt=(c+(n=n+Math.imul(l,lt)|0)|0)+((8191&(r=(r=r+Math.imul(l,dt)|0)+Math.imul(d,lt)|0))<<13)|0;c=((o=o+Math.imul(d,dt)|0)+(r>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(H,U),r=(r=Math.imul(H,q))+Math.imul(j,U)|0,o=Math.imul(j,q),n=n+Math.imul(R,W)|0,r=(r=r+Math.imul(R,Y)|0)+Math.imul(z,W)|0,o=o+Math.imul(z,Y)|0,n=n+Math.imul(T,G)|0,r=(r=r+Math.imul(T,V)|0)+Math.imul(O,G)|0,o=o+Math.imul(O,V)|0,n=n+Math.imul(I,X)|0,r=(r=r+Math.imul(I,Z)|0)+Math.imul(S,X)|0,o=o+Math.imul(S,Z)|0,n=n+Math.imul(M,$)|0,r=(r=r+Math.imul(M,tt)|0)+Math.imul(B,$)|0,o=o+Math.imul(B,tt)|0,n=n+Math.imul(x,it)|0,r=(r=r+Math.imul(x,nt)|0)+Math.imul(k,it)|0,o=o+Math.imul(k,nt)|0,n=n+Math.imul(y,ot)|0,r=(r=r+Math.imul(y,st)|0)+Math.imul(w,ot)|0,o=o+Math.imul(w,st)|0,n=n+Math.imul(m,ut)|0,r=(r=r+Math.imul(m,ct)|0)+Math.imul(v,ut)|0,o=o+Math.imul(v,ct)|0,n=n+Math.imul(p,lt)|0,r=(r=r+Math.imul(p,dt)|0)+Math.imul(g,lt)|0,o=o+Math.imul(g,dt)|0;var _t=(c+(n=n+Math.imul(l,pt)|0)|0)+((8191&(r=(r=r+Math.imul(l,gt)|0)+Math.imul(d,pt)|0))<<13)|0;c=((o=o+Math.imul(d,gt)|0)+(r>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(H,W),r=(r=Math.imul(H,Y))+Math.imul(j,W)|0,o=Math.imul(j,Y),n=n+Math.imul(R,G)|0,r=(r=r+Math.imul(R,V)|0)+Math.imul(z,G)|0,o=o+Math.imul(z,V)|0,n=n+Math.imul(T,X)|0,r=(r=r+Math.imul(T,Z)|0)+Math.imul(O,X)|0,o=o+Math.imul(O,Z)|0,n=n+Math.imul(I,$)|0,r=(r=r+Math.imul(I,tt)|0)+Math.imul(S,$)|0,o=o+Math.imul(S,tt)|0,n=n+Math.imul(M,it)|0,r=(r=r+Math.imul(M,nt)|0)+Math.imul(B,it)|0,o=o+Math.imul(B,nt)|0,n=n+Math.imul(x,ot)|0,r=(r=r+Math.imul(x,st)|0)+Math.imul(k,ot)|0,o=o+Math.imul(k,st)|0,n=n+Math.imul(y,ut)|0,r=(r=r+Math.imul(y,ct)|0)+Math.imul(w,ut)|0,o=o+Math.imul(w,ct)|0,n=n+Math.imul(m,lt)|0,r=(r=r+Math.imul(m,dt)|0)+Math.imul(v,lt)|0,o=o+Math.imul(v,dt)|0;var Mt=(c+(n=n+Math.imul(p,pt)|0)|0)+((8191&(r=(r=r+Math.imul(p,gt)|0)+Math.imul(g,pt)|0))<<13)|0;c=((o=o+Math.imul(g,gt)|0)+(r>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(H,G),r=(r=Math.imul(H,V))+Math.imul(j,G)|0,o=Math.imul(j,V),n=n+Math.imul(R,X)|0,r=(r=r+Math.imul(R,Z)|0)+Math.imul(z,X)|0,o=o+Math.imul(z,Z)|0,n=n+Math.imul(T,$)|0,r=(r=r+Math.imul(T,tt)|0)+Math.imul(O,$)|0,o=o+Math.imul(O,tt)|0,n=n+Math.imul(I,it)|0,r=(r=r+Math.imul(I,nt)|0)+Math.imul(S,it)|0,o=o+Math.imul(S,nt)|0,n=n+Math.imul(M,ot)|0,r=(r=r+Math.imul(M,st)|0)+Math.imul(B,ot)|0,o=o+Math.imul(B,st)|0,n=n+Math.imul(x,ut)|0,r=(r=r+Math.imul(x,ct)|0)+Math.imul(k,ut)|0,o=o+Math.imul(k,ct)|0,n=n+Math.imul(y,lt)|0,r=(r=r+Math.imul(y,dt)|0)+Math.imul(w,lt)|0,o=o+Math.imul(w,dt)|0;var Bt=(c+(n=n+Math.imul(m,pt)|0)|0)+((8191&(r=(r=r+Math.imul(m,gt)|0)+Math.imul(v,pt)|0))<<13)|0;c=((o=o+Math.imul(v,gt)|0)+(r>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,n=Math.imul(H,X),r=(r=Math.imul(H,Z))+Math.imul(j,X)|0,o=Math.imul(j,Z),n=n+Math.imul(R,$)|0,r=(r=r+Math.imul(R,tt)|0)+Math.imul(z,$)|0,o=o+Math.imul(z,tt)|0,n=n+Math.imul(T,it)|0,r=(r=r+Math.imul(T,nt)|0)+Math.imul(O,it)|0,o=o+Math.imul(O,nt)|0,n=n+Math.imul(I,ot)|0,r=(r=r+Math.imul(I,st)|0)+Math.imul(S,ot)|0,o=o+Math.imul(S,st)|0,n=n+Math.imul(M,ut)|0,r=(r=r+Math.imul(M,ct)|0)+Math.imul(B,ut)|0,o=o+Math.imul(B,ct)|0,n=n+Math.imul(x,lt)|0,r=(r=r+Math.imul(x,dt)|0)+Math.imul(k,lt)|0,o=o+Math.imul(k,dt)|0;var Et=(c+(n=n+Math.imul(y,pt)|0)|0)+((8191&(r=(r=r+Math.imul(y,gt)|0)+Math.imul(w,pt)|0))<<13)|0;c=((o=o+Math.imul(w,gt)|0)+(r>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(H,$),r=(r=Math.imul(H,tt))+Math.imul(j,$)|0,o=Math.imul(j,tt),n=n+Math.imul(R,it)|0,r=(r=r+Math.imul(R,nt)|0)+Math.imul(z,it)|0,o=o+Math.imul(z,nt)|0,n=n+Math.imul(T,ot)|0,r=(r=r+Math.imul(T,st)|0)+Math.imul(O,ot)|0,o=o+Math.imul(O,st)|0,n=n+Math.imul(I,ut)|0,r=(r=r+Math.imul(I,ct)|0)+Math.imul(S,ut)|0,o=o+Math.imul(S,ct)|0,n=n+Math.imul(M,lt)|0,r=(r=r+Math.imul(M,dt)|0)+Math.imul(B,lt)|0,o=o+Math.imul(B,dt)|0;var It=(c+(n=n+Math.imul(x,pt)|0)|0)+((8191&(r=(r=r+Math.imul(x,gt)|0)+Math.imul(k,pt)|0))<<13)|0;c=((o=o+Math.imul(k,gt)|0)+(r>>>13)|0)+(It>>>26)|0,It&=67108863,n=Math.imul(H,it),r=(r=Math.imul(H,nt))+Math.imul(j,it)|0,o=Math.imul(j,nt),n=n+Math.imul(R,ot)|0,r=(r=r+Math.imul(R,st)|0)+Math.imul(z,ot)|0,o=o+Math.imul(z,st)|0,n=n+Math.imul(T,ut)|0,r=(r=r+Math.imul(T,ct)|0)+Math.imul(O,ut)|0,o=o+Math.imul(O,ct)|0,n=n+Math.imul(I,lt)|0,r=(r=r+Math.imul(I,dt)|0)+Math.imul(S,lt)|0,o=o+Math.imul(S,dt)|0;var St=(c+(n=n+Math.imul(M,pt)|0)|0)+((8191&(r=(r=r+Math.imul(M,gt)|0)+Math.imul(B,pt)|0))<<13)|0;c=((o=o+Math.imul(B,gt)|0)+(r>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(H,ot),r=(r=Math.imul(H,st))+Math.imul(j,ot)|0,o=Math.imul(j,st),n=n+Math.imul(R,ut)|0,r=(r=r+Math.imul(R,ct)|0)+Math.imul(z,ut)|0,o=o+Math.imul(z,ct)|0,n=n+Math.imul(T,lt)|0,r=(r=r+Math.imul(T,dt)|0)+Math.imul(O,lt)|0,o=o+Math.imul(O,dt)|0;var Dt=(c+(n=n+Math.imul(I,pt)|0)|0)+((8191&(r=(r=r+Math.imul(I,gt)|0)+Math.imul(S,pt)|0))<<13)|0;c=((o=o+Math.imul(S,gt)|0)+(r>>>13)|0)+(Dt>>>26)|0,Dt&=67108863,n=Math.imul(H,ut),r=(r=Math.imul(H,ct))+Math.imul(j,ut)|0,o=Math.imul(j,ct),n=n+Math.imul(R,lt)|0,r=(r=r+Math.imul(R,dt)|0)+Math.imul(z,lt)|0,o=o+Math.imul(z,dt)|0;var Tt=(c+(n=n+Math.imul(T,pt)|0)|0)+((8191&(r=(r=r+Math.imul(T,gt)|0)+Math.imul(O,pt)|0))<<13)|0;c=((o=o+Math.imul(O,gt)|0)+(r>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(H,lt),r=(r=Math.imul(H,dt))+Math.imul(j,lt)|0,o=Math.imul(j,dt);var Ot=(c+(n=n+Math.imul(R,pt)|0)|0)+((8191&(r=(r=r+Math.imul(R,gt)|0)+Math.imul(z,pt)|0))<<13)|0;c=((o=o+Math.imul(z,gt)|0)+(r>>>13)|0)+(Ot>>>26)|0,Ot&=67108863;var Pt=(c+(n=Math.imul(H,pt))|0)+((8191&(r=(r=Math.imul(H,gt))+Math.imul(j,pt)|0))<<13)|0;return c=((o=Math.imul(j,gt))+(r>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,u[0]=At,u[1]=mt,u[2]=vt,u[3]=bt,u[4]=yt,u[5]=wt,u[6]=Ct,u[7]=xt,u[8]=kt,u[9]=_t,u[10]=Mt,u[11]=Bt,u[12]=Et,u[13]=It,u[14]=St,u[15]=Dt,u[16]=Tt,u[17]=Ot,u[18]=Pt,0!==c&&(u[19]=c,i.length++),i};function g(t,e,i){return(new A).mulp(t,e,i)}function A(t,e){this.x=t,this.y=e}Math.imul||(p=f),o.prototype.mulTo=function(t,e){var i,n=this.length+t.length;return i=10===this.length&&10===t.length?p(this,t,e):n<63?f(this,t,e):n<1024?function(t,e,i){i.negative=e.negative^t.negative,i.length=t.length+e.length;for(var n=0,r=0,o=0;o>>26)|0)>>>26,s&=67108863}i.words[o]=a,n=s,s=r}return 0!==n?i.words[o]=n:i.length--,i.strip()}(this,t,e):g(this,t,e),i},A.prototype.makeRBT=function(t){for(var e=new Array(t),i=o.prototype._countBits(t)-1,n=0;n>=1;return n},A.prototype.permute=function(t,e,i,n,r,o){for(var s=0;s>>=1)r++;return 1<>>=13,i[2*s+1]=8191&o,o>>>=13;for(s=2*e;s>=26,e+=r/67108864|0,e+=o>>>26,this.words[i]=67108863&o}return 0!==e&&(this.words[i]=e,this.length++),this.length=0===t?1:this.length,this},o.prototype.muln=function(t){return this.clone().imuln(t)},o.prototype.sqr=function(){return this.mul(this)},o.prototype.isqr=function(){return this.imul(this.clone())},o.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),i=0;i>>r}return e}(t);if(0===e.length)return new o(1);for(var i=this,n=0;n=0);var e,i=t%26,r=(t-i)/26,o=67108863>>>26-i<<26-i;if(0!==i){var s=0;for(e=0;e>>26-i}s&&(this.words[e]=s,this.length++)}if(0!==r){for(e=this.length-1;e>=0;e--)this.words[e+r]=this.words[e];for(e=0;e=0),r=e?(e-e%26)/26:0;var o=t%26,s=Math.min((t-o)/26,this.length),a=67108863^67108863>>>o<s)for(this.length-=s,c=0;c=0&&(0!==h||c>=r);c--){var l=0|this.words[c];this.words[c]=h<<26-o|l>>>o,h=l&a}return u&&0!==h&&(u.words[u.length++]=h),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},o.prototype.ishrn=function(t,e,i){return n(0===this.negative),this.iushrn(t,e,i)},o.prototype.shln=function(t){return this.clone().ishln(t)},o.prototype.ushln=function(t){return this.clone().iushln(t)},o.prototype.shrn=function(t){return this.clone().ishrn(t)},o.prototype.ushrn=function(t){return this.clone().iushrn(t)},o.prototype.testn=function(t){n("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26,r=1<=0);var e=t%26,i=(t-e)/26;if(n(0===this.negative,"imaskn works only with positive numbers"),this.length<=i)return this;if(0!==e&&i++,this.length=Math.min(i,this.length),0!==e){var r=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},o.prototype.isubn=function(t){if(n("number"==typeof t),n(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(u/67108864|0),this.words[r+i]=67108863&o}for(;r>26,this.words[r+i]=67108863&o;if(0===a)return this.strip();for(n(-1===a),a=0,r=0;r>26,this.words[r]=67108863&o;return this.negative=1,this.strip()},o.prototype._wordDiv=function(t,e){var i=(this.length,t.length),n=this.clone(),r=t,s=0|r.words[r.length-1];0!=(i=26-this._countBits(s))&&(r=r.ushln(i),n.iushln(i),s=0|r.words[r.length-1]);var a,u=n.length-r.length;if("mod"!==e){(a=new o(null)).length=u+1,a.words=new Array(a.length);for(var c=0;c=0;l--){var d=67108864*(0|n.words[r.length+l])+(0|n.words[r.length+l-1]);for(d=Math.min(d/s|0,67108863),n._ishlnsubmul(r,d,l);0!==n.negative;)d--,n.negative=0,n._ishlnsubmul(r,1,l),n.isZero()||(n.negative^=1);a&&(a.words[l]=d)}return a&&a.strip(),n.strip(),"div"!==e&&0!==i&&n.iushrn(i),{div:a||null,mod:n}},o.prototype.divmod=function(t,e,i){return n(!t.isZero()),this.isZero()?{div:new o(0),mod:new o(0)}:0!==this.negative&&0===t.negative?(a=this.neg().divmod(t,e),"mod"!==e&&(r=a.div.neg()),"div"!==e&&(s=a.mod.neg(),i&&0!==s.negative&&s.iadd(t)),{div:r,mod:s}):0===this.negative&&0!==t.negative?(a=this.divmod(t.neg(),e),"mod"!==e&&(r=a.div.neg()),{div:r,mod:a.mod}):0!==(this.negative&t.negative)?(a=this.neg().divmod(t.neg(),e),"div"!==e&&(s=a.mod.neg(),i&&0!==s.negative&&s.isub(t)),{div:a.div,mod:s}):t.length>this.length||this.cmp(t)<0?{div:new o(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new o(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new o(this.modn(t.words[0]))}:this._wordDiv(t,e);var r,s,a},o.prototype.div=function(t){return this.divmod(t,"div",!1).div},o.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},o.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},o.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var i=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),r=t.andln(1),o=i.cmp(n);return o<0||1===r&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},o.prototype.modn=function(t){n(t<=67108863);for(var e=(1<<26)%t,i=0,r=this.length-1;r>=0;r--)i=(e*i+(0|this.words[r]))%t;return i},o.prototype.idivn=function(t){n(t<=67108863);for(var e=0,i=this.length-1;i>=0;i--){var r=(0|this.words[i])+67108864*e;this.words[i]=r/t|0,e=r%t}return this.strip()},o.prototype.divn=function(t){return this.clone().idivn(t)},o.prototype.egcd=function(t){n(0===t.negative),n(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var r=new o(1),s=new o(0),a=new o(0),u=new o(1),c=0;e.isEven()&&i.isEven();)e.iushrn(1),i.iushrn(1),++c;for(var h=i.clone(),l=e.clone();!e.isZero();){for(var d=0,f=1;0===(e.words[0]&f)&&d<26;++d,f<<=1);if(d>0)for(e.iushrn(d);d-- >0;)(r.isOdd()||s.isOdd())&&(r.iadd(h),s.isub(l)),r.iushrn(1),s.iushrn(1);for(var p=0,g=1;0===(i.words[0]&g)&&p<26;++p,g<<=1);if(p>0)for(i.iushrn(p);p-- >0;)(a.isOdd()||u.isOdd())&&(a.iadd(h),u.isub(l)),a.iushrn(1),u.iushrn(1);e.cmp(i)>=0?(e.isub(i),r.isub(a),s.isub(u)):(i.isub(e),a.isub(r),u.isub(s))}return{a,b:u,gcd:i.iushln(c)}},o.prototype._invmp=function(t){n(0===t.negative),n(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var r,s=new o(1),a=new o(0),u=i.clone();e.cmpn(1)>0&&i.cmpn(1)>0;){for(var c=0,h=1;0===(e.words[0]&h)&&c<26;++c,h<<=1);if(c>0)for(e.iushrn(c);c-- >0;)s.isOdd()&&s.iadd(u),s.iushrn(1);for(var l=0,d=1;0===(i.words[0]&d)&&l<26;++l,d<<=1);if(l>0)for(i.iushrn(l);l-- >0;)a.isOdd()&&a.iadd(u),a.iushrn(1);e.cmp(i)>=0?(e.isub(i),s.isub(a)):(i.isub(e),a.isub(s))}return(r=0===e.cmpn(1)?s:a).cmpn(0)<0&&r.iadd(t),r},o.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),i=t.clone();e.negative=0,i.negative=0;for(var n=0;e.isEven()&&i.isEven();n++)e.iushrn(1),i.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;i.isEven();)i.iushrn(1);var r=e.cmp(i);if(r<0){var o=e;e=i,i=o}else if(0===r||0===i.cmpn(1))break;e.isub(i)}return i.iushln(n)},o.prototype.invm=function(t){return this.egcd(t).a.umod(t)},o.prototype.isEven=function(){return!(1&this.words[0])},o.prototype.isOdd=function(){return!(1&~this.words[0])},o.prototype.andln=function(t){return this.words[0]&t},o.prototype.bincn=function(t){n("number"==typeof t);var e=t%26,i=(t-e)/26,r=1<>>26,a&=67108863,this.words[s]=a}return 0!==o&&(this.words[s]=o,this.length++),this},o.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},o.prototype.cmpn=function(t){var e,i=t<0;if(0!==this.negative&&!i)return-1;if(0===this.negative&&i)return 1;if(this.strip(),this.length>1)e=1;else{i&&(t=-t),n(t<=67108863,"Number is too big");var r=0|this.words[0];e=r===t?0:rt.length)return 1;if(this.length=0;i--){var n=0|this.words[i],r=0|t.words[i];if(n!==r){nr&&(e=1);break}}return e},o.prototype.gtn=function(t){return 1===this.cmpn(t)},o.prototype.gt=function(t){return 1===this.cmp(t)},o.prototype.gten=function(t){return this.cmpn(t)>=0},o.prototype.gte=function(t){return this.cmp(t)>=0},o.prototype.ltn=function(t){return-1===this.cmpn(t)},o.prototype.lt=function(t){return-1===this.cmp(t)},o.prototype.lten=function(t){return this.cmpn(t)<=0},o.prototype.lte=function(t){return this.cmp(t)<=0},o.prototype.eqn=function(t){return 0===this.cmpn(t)},o.prototype.eq=function(t){return 0===this.cmp(t)},o.red=function(t){return new x(t)},o.prototype.toRed=function(t){return n(!this.red,"Already a number in reduction context"),n(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},o.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},o.prototype._forceRed=function(t){return this.red=t,this},o.prototype.forceRed=function(t){return n(!this.red,"Already a number in reduction context"),this._forceRed(t)},o.prototype.redAdd=function(t){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},o.prototype.redIAdd=function(t){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},o.prototype.redSub=function(t){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},o.prototype.redISub=function(t){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},o.prototype.redShl=function(t){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},o.prototype.redMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},o.prototype.redIMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},o.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},o.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},o.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},o.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},o.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},o.prototype.redPow=function(t){return n(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var m={k256:null,p224:null,p192:null,p25519:null};function v(t,e){this.name=t,this.p=new o(e,16),this.n=this.p.bitLength(),this.k=new o(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function b(){v.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function y(){v.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function w(){v.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function C(){v.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function x(t){if("string"==typeof t){var e=o._prime(t);this.m=e.p,this.prime=e}else n(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function k(t){x.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new o(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}v.prototype._tmp=function(){var t=new o(null);return t.words=new Array(Math.ceil(this.n/13)),t},v.prototype.ireduce=function(t){var e,i=t;do{this.split(i,this.tmp),e=(i=(i=this.imulK(i)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e0?i.isub(this.p):void 0!==i.strip?i.strip():i._strip(),i},v.prototype.split=function(t,e){t.iushrn(this.n,0,e)},v.prototype.imulK=function(t){return t.imul(this.k)},r(b,v),b.prototype.split=function(t,e){for(var i=4194303,n=Math.min(t.length,9),r=0;r>>22,o=s}o>>>=22,t.words[r-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},b.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,i=0;i>>=26,t.words[i]=r,e=n}return 0!==e&&(t.words[t.length++]=e),t},o._prime=function(t){if(m[t])return m[t];var e;if("k256"===t)e=new b;else if("p224"===t)e=new y;else if("p192"===t)e=new w;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new C}return m[t]=e,e},x.prototype._verify1=function(t){n(0===t.negative,"red works only with positives"),n(t.red,"red works only with red numbers")},x.prototype._verify2=function(t,e){n(0===(t.negative|e.negative),"red works only with positives"),n(t.red&&t.red===e.red,"red works only with red numbers")},x.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},x.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},x.prototype.add=function(t,e){this._verify2(t,e);var i=t.add(e);return i.cmp(this.m)>=0&&i.isub(this.m),i._forceRed(this)},x.prototype.iadd=function(t,e){this._verify2(t,e);var i=t.iadd(e);return i.cmp(this.m)>=0&&i.isub(this.m),i},x.prototype.sub=function(t,e){this._verify2(t,e);var i=t.sub(e);return i.cmpn(0)<0&&i.iadd(this.m),i._forceRed(this)},x.prototype.isub=function(t,e){this._verify2(t,e);var i=t.isub(e);return i.cmpn(0)<0&&i.iadd(this.m),i},x.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},x.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},x.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},x.prototype.isqr=function(t){return this.imul(t,t.clone())},x.prototype.sqr=function(t){return this.mul(t,t)},x.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(n(e%2==1),3===e){var i=this.m.add(new o(1)).iushrn(2);return this.pow(t,i)}for(var r=this.m.subn(1),s=0;!r.isZero()&&0===r.andln(1);)s++,r.iushrn(1);n(!r.isZero());var a=new o(1).toRed(this),u=a.redNeg(),c=this.m.subn(1).iushrn(1),h=this.m.bitLength();for(h=new o(2*h*h).toRed(this);0!==this.pow(h,c).cmp(u);)h.redIAdd(u);for(var l=this.pow(h,r),d=this.pow(t,r.addn(1).iushrn(1)),f=this.pow(t,r),p=s;0!==f.cmp(a);){for(var g=f,A=0;0!==g.cmp(a);A++)g=g.redSqr();n(A=0;n--){for(var c=e.words[n],h=u-1;h>=0;h--){var l=c>>h&1;r!==i[0]&&(r=this.sqr(r)),0!==l||0!==s?(s<<=1,s|=l,(4===++a||0===n&&0===h)&&(r=this.mul(r,i[s]),a=0,s=0)):a=0}u=26}return r},x.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},x.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},o.mont=function(t){return new k(t)},r(k,x),k.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},k.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},k.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var i=t.imul(e),n=i.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),r=i.isub(n).iushrn(this.shift),o=r;return r.cmp(this.m)>=0?o=r.isub(this.m):r.cmpn(0)<0&&(o=r.iadd(this.m)),o._forceRed(this)},k.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new o(0)._forceRed(this);var i=t.mul(e),n=i.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),r=i.isub(n).iushrn(this.shift),s=r;return r.cmp(this.m)>=0?s=r.isub(this.m):r.cmpn(0)<0&&(s=r.iadd(this.m)),s._forceRed(this)},k.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(t=i.nmd(t),this)},77362(t,e,i){var n=i(78170),r=i(48206),o=i(52061),s=i(82509),a=i(67332),u=i(47108),c=i(99247),h=i(92861).Buffer;t.exports=function(t,e,i){var l;l=t.padding?t.padding:i?1:4;var d,f=n(t),p=f.modulus.byteLength();if(e.length>p||new s(e).cmp(f.modulus)>=0)throw new Error("decryption error");d=i?c(new s(e),f):a(e,f);var g=h.alloc(p-d.length);if(d=h.concat([g,d],p),4===l)return function(t,e){var i=t.modulus.byteLength(),n=u("sha1").update(h.alloc(0)).digest(),s=n.length;if(0!==e[0])throw new Error("decryption error");var a=e.slice(1,s+1),c=e.slice(s+1),l=o(a,r(c,s)),d=o(c,r(l,i-s-1));if(function(t,e){t=h.from(t),e=h.from(e);var i=0,n=t.length;t.length!==e.length&&(i++,n=Math.min(t.length,e.length));for(var r=-1;++r=e.length){o++;break}var s=e.slice(2,r-1);if(("0002"!==n.toString("hex")&&!i||"0001"!==n.toString("hex")&&i)&&o++,s.length<8&&o++,o)throw new Error("decryption error");return e.slice(r)}(0,d,i);if(3===l)return d;throw new Error("unknown padding")}},28902(t,e,i){var n=i(78170),r=i(53209),o=i(47108),s=i(48206),a=i(52061),u=i(82509),c=i(99247),h=i(67332),l=i(92861).Buffer;t.exports=function(t,e,i){var d;d=t.padding?t.padding:i?1:4;var f,p=n(t);if(4===d)f=function(t,e){var i=t.modulus.byteLength(),n=e.length,c=o("sha1").update(l.alloc(0)).digest(),h=c.length,d=2*h;if(n>i-d-2)throw new Error("message too long");var f=l.alloc(i-n-d-2),p=i-h-1,g=r(h),A=a(l.concat([c,f,l.alloc(1,1),e],p),s(g,p)),m=a(g,s(A,h));return new u(l.concat([l.alloc(1),m,A],i))}(p,e);else if(1===d)f=function(t,e,i){var n,o=e.length,s=t.modulus.byteLength();if(o>s-11)throw new Error("message too long");return n=i?l.alloc(s-o-3,255):function(t){for(var e,i=l.allocUnsafe(t),n=0,o=r(2*t),s=0;n=0)throw new Error("data too long for modulus")}return i?h(f,p):c(f,p)}},99247(t,e,i){var n=i(82509),r=i(92861).Buffer;t.exports=function(t,e){return r.from(t.toRed(n.mont(e.modulus)).redPow(new n(e.publicExponent)).fromRed().toArray())}},52061(t){t.exports=function(t,e){for(var i=t.length,n=-1;++n4294967295)throw new RangeError("requested too many random bytes");var i=o.allocUnsafe(t);if(t>0)if(t>r)for(var a=0;ah||t<0)throw new TypeError("offset must be a uint32");if(t>u||t>e)throw new RangeError("offset out of range")}function d(t,e,i){if("number"!=typeof t||t!=t)throw new TypeError("size must be a number");if(t>h||t<0)throw new TypeError("size must be a uint32");if(t+e>i||t>u)throw new RangeError("buffer too small")}function f(t,e,i,r){if(n.browser){var o=t.buffer,a=new Uint8Array(o,e,i);return c.getRandomValues(a),r?void n.nextTick(function(){r(null,t)}):t}if(!r)return s(i).copy(t,e),t;s(i,function(i,n){if(i)return r(i);n.copy(t,e),r(null,t)})}c&&c.getRandomValues||!n.browser?(e.randomFill=function(t,e,i,n){if(!(a.isBuffer(t)||t instanceof globalThis.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');if("function"==typeof e)n=e,e=0,i=t.length;else if("function"==typeof i)n=i,i=t.length-e;else if("function"!=typeof n)throw new TypeError('"cb" argument must be a function');return l(e,t.length),d(i,e,t.length),f(t,e,i,n)},e.randomFillSync=function(t,e,i){if(void 0===e&&(e=0),!(a.isBuffer(t)||t instanceof globalThis.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');return l(e,t.length),void 0===i&&(i=t.length-e),d(i,e,t.length),f(t,e,i)}):(e.randomFill=r,e.randomFillSync=r)},25382(t,e,i){"use strict";var n=i(33225),r=Object.keys||function(t){var e=[];for(var i in t)e.push(i);return e};t.exports=l;var o=Object.create(i(15622));o.inherits=i(56698);var s=i(45412),a=i(16708);o.inherits(l,s);for(var u=r(a.prototype),c=0;c0?("string"==typeof e||s.objectMode||Object.getPrototypeOf(e)===c.prototype||(e=function(t){return c.from(t)}(e)),n?s.endEmitted?t.emit("error",new Error("stream.unshift() after end event")):w(t,s,e,!0):s.ended?t.emit("error",new Error("stream.push() after EOF")):(s.reading=!1,s.decoder&&!i?(e=s.decoder.write(e),s.objectMode||0!==e.length?w(t,s,e,!1):M(t,s)):w(t,s,e,!1))):n||(s.reading=!1)),function(t){return!t.ended&&(t.needReadable||t.lengthe.highWaterMark&&(e.highWaterMark=function(t){return t>=C?t=C:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}function k(t){var e=t._readableState;e.needReadable=!1,e.emittedReadable||(f("emitReadable",e.flowing),e.emittedReadable=!0,e.sync?r.nextTick(_,t):_(t))}function _(t){f("emit readable"),t.emit("readable"),S(t)}function M(t,e){e.readingMore||(e.readingMore=!0,r.nextTick(B,t,e))}function B(t,e){for(var i=e.length;!e.reading&&!e.flowing&&!e.ended&&e.length=e.length?(i=e.decoder?e.buffer.join(""):1===e.buffer.length?e.buffer.head.data:e.buffer.concat(e.length),e.buffer.clear()):i=function(t,e,i){var n;return to.length?o.length:t;if(s===o.length?r+=o:r+=o.slice(0,t),0===(t-=s)){s===o.length?(++n,i.next?e.head=i.next:e.head=e.tail=null):(e.head=i,i.data=o.slice(s));break}++n}return e.length-=n,r}(t,e):function(t,e){var i=c.allocUnsafe(t),n=e.head,r=1;for(n.data.copy(i),t-=n.data.length;n=n.next;){var o=n.data,s=t>o.length?o.length:t;if(o.copy(i,i.length-t,0,s),0===(t-=s)){s===o.length?(++r,n.next?e.head=n.next:e.head=e.tail=null):(e.head=n,n.data=o.slice(s));break}++r}return e.length-=r,i}(t,e),n}(t,e.buffer,e.decoder),i);var i}function T(t){var e=t._readableState;if(e.length>0)throw new Error('"endReadable()" called on non-empty stream');e.endEmitted||(e.ended=!0,r.nextTick(O,e,t))}function O(t,e){t.endEmitted||0!==t.length||(t.endEmitted=!0,e.readable=!1,e.emit("end"))}function P(t,e){for(var i=0,n=t.length;i=e.highWaterMark||e.ended))return f("read: emitReadable",e.length,e.ended),0===e.length&&e.ended?T(this):k(this),null;if(0===(t=x(t,e))&&e.ended)return 0===e.length&&T(this),null;var n,r=e.needReadable;return f("need readable",r),(0===e.length||e.length-t0?D(t,e):null)?(e.needReadable=!0,t=0):e.length-=t,0===e.length&&(e.ended||(e.needReadable=!0),i!==t&&e.ended&&T(this)),null!==n&&this.emit("data",n),n},b.prototype._read=function(t){this.emit("error",new Error("_read() is not implemented"))},b.prototype.pipe=function(t,e){var i=this,o=this._readableState;switch(o.pipesCount){case 0:o.pipes=t;break;case 1:o.pipes=[o.pipes,t];break;default:o.pipes.push(t)}o.pipesCount+=1,f("pipe count=%d opts=%j",o.pipesCount,e);var u=e&&!1===e.end||t===n.stdout||t===n.stderr?v:c;function c(){f("onend"),t.end()}o.endEmitted?r.nextTick(u):i.once("end",u),t.on("unpipe",function e(n,r){f("onunpipe"),n===i&&r&&!1===r.hasUnpiped&&(r.hasUnpiped=!0,f("cleanup"),t.removeListener("close",A),t.removeListener("finish",m),t.removeListener("drain",h),t.removeListener("error",g),t.removeListener("unpipe",e),i.removeListener("end",c),i.removeListener("end",v),i.removeListener("data",p),l=!0,!o.awaitDrain||t._writableState&&!t._writableState.needDrain||h())});var h=function(t){return function(){var e=t._readableState;f("pipeOnDrain",e.awaitDrain),e.awaitDrain&&e.awaitDrain--,0===e.awaitDrain&&a(t,"data")&&(e.flowing=!0,S(t))}}(i);t.on("drain",h);var l=!1,d=!1;function p(e){f("ondata"),d=!1,!1!==t.write(e)||d||((1===o.pipesCount&&o.pipes===t||o.pipesCount>1&&-1!==P(o.pipes,t))&&!l&&(f("false write response, pause",o.awaitDrain),o.awaitDrain++,d=!0),i.pause())}function g(e){f("onerror",e),v(),t.removeListener("error",g),0===a(t,"error")&&t.emit("error",e)}function A(){t.removeListener("finish",m),v()}function m(){f("onfinish"),t.removeListener("close",A),v()}function v(){f("unpipe"),i.unpipe(t)}return i.on("data",p),function(t,e,i){if("function"==typeof t.prependListener)return t.prependListener(e,i);t._events&&t._events[e]?s(t._events[e])?t._events[e].unshift(i):t._events[e]=[i,t._events[e]]:t.on(e,i)}(t,"error",g),t.once("close",A),t.once("finish",m),t.emit("pipe",i),o.flowing||(f("pipe resume"),i.resume()),t},b.prototype.unpipe=function(t){var e=this._readableState,i={hasUnpiped:!1};if(0===e.pipesCount)return this;if(1===e.pipesCount)return t&&t!==e.pipes||(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,i)),this;if(!t){var n=e.pipes,r=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var o=0;o-1?setImmediate:r.nextTick;m.WritableState=A;var u=Object.create(i(15622));u.inherits=i(56698);var c,h={deprecate:i(94643)},l=i(40345),d=i(34106).Buffer,f=("undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof self?self:{}).Uint8Array||function(){},p=i(75896);function g(){}function A(t,e){s=s||i(25382),t=t||{};var n=e instanceof s;this.objectMode=!!t.objectMode,n&&(this.objectMode=this.objectMode||!!t.writableObjectMode);var u=t.highWaterMark,c=t.writableHighWaterMark,h=this.objectMode?16:16384;this.highWaterMark=u||0===u?u:n&&(c||0===c)?c:h,this.highWaterMark=Math.floor(this.highWaterMark),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var l=!1===t.decodeStrings;this.decodeStrings=!l,this.defaultEncoding=t.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(t){!function(t,e){var i=t._writableState,n=i.sync,o=i.writecb;if(function(t){t.writing=!1,t.writecb=null,t.length-=t.writelen,t.writelen=0}(i),e)!function(t,e,i,n,o){--e.pendingcb,i?(r.nextTick(o,n),r.nextTick(x,t,e),t._writableState.errorEmitted=!0,t.emit("error",n)):(o(n),t._writableState.errorEmitted=!0,t.emit("error",n),x(t,e))}(t,i,n,e,o);else{var s=w(i);s||i.corked||i.bufferProcessing||!i.bufferedRequest||y(t,i),n?a(b,t,i,s,o):b(t,i,s,o)}}(e,t)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new o(this)}function m(t){if(s=s||i(25382),!(c.call(m,this)||this instanceof s))return new m(t);this._writableState=new A(t,this),this.writable=!0,t&&("function"==typeof t.write&&(this._write=t.write),"function"==typeof t.writev&&(this._writev=t.writev),"function"==typeof t.destroy&&(this._destroy=t.destroy),"function"==typeof t.final&&(this._final=t.final)),l.call(this)}function v(t,e,i,n,r,o,s){e.writelen=n,e.writecb=s,e.writing=!0,e.sync=!0,i?t._writev(r,e.onwrite):t._write(r,o,e.onwrite),e.sync=!1}function b(t,e,i,n){i||function(t,e){0===e.length&&e.needDrain&&(e.needDrain=!1,t.emit("drain"))}(t,e),e.pendingcb--,n(),x(t,e)}function y(t,e){e.bufferProcessing=!0;var i=e.bufferedRequest;if(t._writev&&i&&i.next){var n=e.bufferedRequestCount,r=new Array(n),s=e.corkedRequestsFree;s.entry=i;for(var a=0,u=!0;i;)r[a]=i,i.isBuf||(u=!1),i=i.next,a+=1;r.allBuffers=u,v(t,e,!0,e.length,r,"",s.finish),e.pendingcb++,e.lastBufferedRequest=null,s.next?(e.corkedRequestsFree=s.next,s.next=null):e.corkedRequestsFree=new o(e),e.bufferedRequestCount=0}else{for(;i;){var c=i.chunk,h=i.encoding,l=i.callback;if(v(t,e,!1,e.objectMode?1:c.length,c,h,l),i=i.next,e.bufferedRequestCount--,e.writing)break}null===i&&(e.lastBufferedRequest=null)}e.bufferedRequest=i,e.bufferProcessing=!1}function w(t){return t.ending&&0===t.length&&null===t.bufferedRequest&&!t.finished&&!t.writing}function C(t,e){t._final(function(i){e.pendingcb--,i&&t.emit("error",i),e.prefinished=!0,t.emit("prefinish"),x(t,e)})}function x(t,e){var i=w(e);return i&&(function(t,e){e.prefinished||e.finalCalled||("function"==typeof t._final?(e.pendingcb++,e.finalCalled=!0,r.nextTick(C,t,e)):(e.prefinished=!0,t.emit("prefinish")))}(t,e),0===e.pendingcb&&(e.finished=!0,t.emit("finish"))),i}u.inherits(m,l),A.prototype.getBuffer=function(){for(var t=this.bufferedRequest,e=[];t;)e.push(t),t=t.next;return e},function(){try{Object.defineProperty(A.prototype,"buffer",{get:h.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(t){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(c=Function.prototype[Symbol.hasInstance],Object.defineProperty(m,Symbol.hasInstance,{value:function(t){return!!c.call(this,t)||this===m&&t&&t._writableState instanceof A}})):c=function(t){return t instanceof this},m.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))},m.prototype.write=function(t,e,i){var n,o=this._writableState,s=!1,a=!o.objectMode&&(n=t,d.isBuffer(n)||n instanceof f);return a&&!d.isBuffer(t)&&(t=function(t){return d.from(t)}(t)),"function"==typeof e&&(i=e,e=null),a?e="buffer":e||(e=o.defaultEncoding),"function"!=typeof i&&(i=g),o.ended?function(t,e){var i=new Error("write after end");t.emit("error",i),r.nextTick(e,i)}(this,i):(a||function(t,e,i,n){var o=!0,s=!1;return null===i?s=new TypeError("May not write null values to stream"):"string"==typeof i||void 0===i||e.objectMode||(s=new TypeError("Invalid non-string/buffer chunk")),s&&(t.emit("error",s),r.nextTick(n,s),o=!1),o}(this,o,t,i))&&(o.pendingcb++,s=function(t,e,i,n,r,o){if(!i){var s=function(t,e,i){return t.objectMode||!1===t.decodeStrings||"string"!=typeof e||(e=d.from(e,i)),e}(e,n,r);n!==s&&(i=!0,r="buffer",n=s)}var a=e.objectMode?1:n.length;e.length+=a;var u=e.length-1))throw new TypeError("Unknown encoding: "+t);return this._writableState.defaultEncoding=t,this},Object.defineProperty(m.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),m.prototype._write=function(t,e,i){i(new Error("_write() is not implemented"))},m.prototype._writev=null,m.prototype.end=function(t,e,i){var n=this._writableState;"function"==typeof t?(i=t,t=null,e=null):"function"==typeof e&&(i=e,e=null),null!=t&&this.write(t,e),n.corked&&(n.corked=1,this.uncork()),n.ending||function(t,e,i){e.ending=!0,x(t,e),i&&(e.finished?r.nextTick(i):t.once("finish",i)),e.ended=!0,t.writable=!1}(this,n,i)},Object.defineProperty(m.prototype,"destroyed",{get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(t){this._writableState&&(this._writableState.destroyed=t)}}),m.prototype.destroy=p.destroy,m.prototype._undestroy=p.undestroy,m.prototype._destroy=function(t,e){this.end(),e(t)}},83222(t,e,i){"use strict";var n=i(34106).Buffer,r=i(15340);function o(t,e,i){t.copy(e,i)}t.exports=function(){function t(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.head=null,this.tail=null,this.length=0}return t.prototype.push=function(t){var e={data:t,next:null};this.length>0?this.tail.next=e:this.head=e,this.tail=e,++this.length},t.prototype.unshift=function(t){var e={data:t,next:this.head};0===this.length&&(this.tail=e),this.head=e,++this.length},t.prototype.shift=function(){if(0!==this.length){var t=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,t}},t.prototype.clear=function(){this.head=this.tail=null,this.length=0},t.prototype.join=function(t){if(0===this.length)return"";for(var e=this.head,i=""+e.data;e=e.next;)i+=t+e.data;return i},t.prototype.concat=function(t){if(0===this.length)return n.alloc(0);for(var e=n.allocUnsafe(t>>>0),i=this.head,r=0;i;)o(i.data,e,r),r+=i.data.length,i=i.next;return e},t}(),r&&r.inspect&&r.inspect.custom&&(t.exports.prototype[r.inspect.custom]=function(){var t=r.inspect({length:this.length});return this.constructor.name+" "+t})},75896(t,e,i){"use strict";var n=i(33225);function r(t,e){t.emit("error",e)}t.exports={destroy:function(t,e){var i=this,o=this._readableState&&this._readableState.destroyed,s=this._writableState&&this._writableState.destroyed;return o||s?(e?e(t):t&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,n.nextTick(r,this,t)):n.nextTick(r,this,t)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(t||null,function(t){!e&&t?i._writableState?i._writableState.errorEmitted||(i._writableState.errorEmitted=!0,n.nextTick(r,i,t)):n.nextTick(r,i,t):e&&e(t)}),this)},undestroy:function(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}}},40345(t,e,i){t.exports=i(37007).EventEmitter},34106(t,e,i){var n=i(1048),r=n.Buffer;function o(t,e){for(var i in t)e[i]=t[i]}function s(t,e,i){return r(t,e,i)}r.from&&r.alloc&&r.allocUnsafe&&r.allocUnsafeSlow?t.exports=n:(o(n,e),e.Buffer=s),o(r,s),s.from=function(t,e,i){if("number"==typeof t)throw new TypeError("Argument must not be a number");return r(t,e,i)},s.alloc=function(t,e,i){if("number"!=typeof t)throw new TypeError("Argument must be a number");var n=r(t);return void 0!==e?"string"==typeof i?n.fill(e,i):n.fill(e):n.fill(0),n},s.allocUnsafe=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return r(t)},s.allocUnsafeSlow=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return n.SlowBuffer(t)}},79490(t,e,i){"use strict";var n=i(34106).Buffer,r=n.isEncoding||function(t){switch((t=""+t)&&t.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function o(t){var e;switch(this.encoding=function(t){var e=function(t){if(!t)return"utf8";for(var e;;)switch(t){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return t;default:if(e)return;t=(""+t).toLowerCase(),e=!0}}(t);if("string"!=typeof e&&(n.isEncoding===r||!r(t)))throw new Error("Unknown encoding: "+t);return e||t}(t),this.encoding){case"utf16le":this.text=u,this.end=c,e=4;break;case"utf8":this.fillLast=a,e=4;break;case"base64":this.text=h,this.end=l,e=3;break;default:return this.write=d,void(this.end=f)}this.lastNeed=0,this.lastTotal=0,this.lastChar=n.allocUnsafe(e)}function s(t){return t<=127?0:t>>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function a(t){var e=this.lastTotal-this.lastNeed,i=function(t,e){if(128!=(192&e[0]))return t.lastNeed=0,"�";if(t.lastNeed>1&&e.length>1){if(128!=(192&e[1]))return t.lastNeed=1,"�";if(t.lastNeed>2&&e.length>2&&128!=(192&e[2]))return t.lastNeed=2,"�"}}(this,t);return void 0!==i?i:this.lastNeed<=t.length?(t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(t.copy(this.lastChar,e,0,t.length),void(this.lastNeed-=t.length))}function u(t,e){if((t.length-e)%2==0){var i=t.toString("utf16le",e);if(i){var n=i.charCodeAt(i.length-1);if(n>=55296&&n<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],i.slice(0,-1)}return i}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function c(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var i=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,i)}return e}function h(t,e){var i=(t.length-e)%3;return 0===i?t.toString("base64",e):(this.lastNeed=3-i,this.lastTotal=3,1===i?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-i))}function l(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function d(t){return t.toString(this.encoding)}function f(t){return t&&t.length?this.write(t):""}e.I=o,o.prototype.write=function(t){if(0===t.length)return"";var e,i;if(this.lastNeed){if(void 0===(e=this.fillLast(t)))return"";i=this.lastNeed,this.lastNeed=0}else i=0;return i=0?(r>0&&(t.lastNeed=r-1),r):--n=0?(r>0&&(t.lastNeed=r-2),r):--n=0?(r>0&&(2===r?r=0:t.lastNeed=r-3),r):0}(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=i;var n=t.length-(i-this.lastNeed);return t.copy(this.lastChar,0,n),t.toString("utf8",e,n)},o.prototype.fillLast=function(t){if(this.lastNeed<=t.length)return t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,t.length),this.lastNeed-=t.length}},28399(t,e,i){(e=t.exports=i(45412)).Stream=e,e.Readable=e,e.Writable=i(16708),e.Duplex=i(25382),e.Transform=i(74610),e.PassThrough=i(63600)},7452(t){var e=function(t){"use strict";var e,i=Object.prototype,n=i.hasOwnProperty,r=Object.defineProperty||function(t,e,i){t[e]=i.value},o="function"==typeof Symbol?Symbol:{},s=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",u=o.toStringTag||"@@toStringTag";function c(t,e,i){return Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{c({},"")}catch(t){c=function(t,e,i){return t[e]=i}}function h(t,e,i,n){var o=e&&e.prototype instanceof m?e:m,s=Object.create(o.prototype),a=new S(n||[]);return r(s,"_invoke",{value:M(t,i,a)}),s}function l(t,e,i){try{return{type:"normal",arg:t.call(e,i)}}catch(t){return{type:"throw",arg:t}}}t.wrap=h;var d="suspendedStart",f="suspendedYield",p="executing",g="completed",A={};function m(){}function v(){}function b(){}var y={};c(y,s,function(){return this});var w=Object.getPrototypeOf,C=w&&w(w(D([])));C&&C!==i&&n.call(C,s)&&(y=C);var x=b.prototype=m.prototype=Object.create(y);function k(t){["next","throw","return"].forEach(function(e){c(t,e,function(t){return this._invoke(e,t)})})}function _(t,e){function i(r,o,s,a){var u=l(t[r],t,o);if("throw"!==u.type){var c=u.arg,h=c.value;return h&&"object"==typeof h&&n.call(h,"__await")?e.resolve(h.__await).then(function(t){i("next",t,s,a)},function(t){i("throw",t,s,a)}):e.resolve(h).then(function(t){c.value=t,s(c)},function(t){return i("throw",t,s,a)})}a(u.arg)}var o;r(this,"_invoke",{value:function(t,n){function r(){return new e(function(e,r){i(t,n,e,r)})}return o=o?o.then(r,r):r()}})}function M(t,i,n){var r=d;return function(o,s){if(r===p)throw new Error("Generator is already running");if(r===g){if("throw"===o)throw s;return{value:e,done:!0}}for(n.method=o,n.arg=s;;){var a=n.delegate;if(a){var u=B(a,n);if(u){if(u===A)continue;return u}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(r===d)throw r=g,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r=p;var c=l(t,i,n);if("normal"===c.type){if(r=n.done?g:f,c.arg===A)continue;return{value:c.arg,done:n.done}}"throw"===c.type&&(r=g,n.method="throw",n.arg=c.arg)}}}function B(t,i){var n=i.method,r=t.iterator[n];if(r===e)return i.delegate=null,"throw"===n&&t.iterator.return&&(i.method="return",i.arg=e,B(t,i),"throw"===i.method)||"return"!==n&&(i.method="throw",i.arg=new TypeError("The iterator does not provide a '"+n+"' method")),A;var o=l(r,t.iterator,i.arg);if("throw"===o.type)return i.method="throw",i.arg=o.arg,i.delegate=null,A;var s=o.arg;return s?s.done?(i[t.resultName]=s.value,i.next=t.nextLoc,"return"!==i.method&&(i.method="next",i.arg=e),i.delegate=null,A):s:(i.method="throw",i.arg=new TypeError("iterator result is not an object"),i.delegate=null,A)}function E(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function I(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function S(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(E,this),this.reset(!0)}function D(t){if(null!=t){var i=t[s];if(i)return i.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var r=-1,o=function i(){for(;++r=0;--o){var s=this.tryEntries[o],a=s.completion;if("root"===s.tryLoc)return r("end");if(s.tryLoc<=this.prev){var u=n.call(s,"catchLoc"),c=n.call(s,"finallyLoc");if(u&&c){if(this.prev=0;--i){var r=this.tryEntries[i];if(r.tryLoc<=this.prev&&n.call(r,"finallyLoc")&&this.prev=0;--e){var i=this.tryEntries[e];if(i.finallyLoc===t)return this.complete(i.completion,i.afterLoc),I(i),A}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var i=this.tryEntries[e];if(i.tryLoc===t){var n=i.completion;if("throw"===n.type){var r=n.arg;I(i)}return r}}throw new Error("illegal catch attempt")},delegateYield:function(t,i,n){return this.delegate={iterator:D(t),resultName:i,nextLoc:n},"next"===this.method&&(this.arg=e),A}},t}(t.exports);try{regeneratorRuntime=e}catch(t){"object"==typeof globalThis?globalThis.regeneratorRuntime=e:Function("r","regeneratorRuntime = r")(e)}},66011(t,e,i){"use strict";var n=i(1048).Buffer,r=i(56698),o=i(51147),s=new Array(16),a=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],u=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],c=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],h=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11],l=[0,1518500249,1859775393,2400959708,2840853838],d=[1352829926,1548603684,1836072691,2053994217,0];function f(t,e){return t<>>32-e}function p(t,e,i,n,r,o,s,a){return f(t+(e^i^n)+o+s|0,a)+r|0}function g(t,e,i,n,r,o,s,a){return f(t+(e&i|~e&n)+o+s|0,a)+r|0}function A(t,e,i,n,r,o,s,a){return f(t+((e|~i)^n)+o+s|0,a)+r|0}function m(t,e,i,n,r,o,s,a){return f(t+(e&n|i&~n)+o+s|0,a)+r|0}function v(t,e,i,n,r,o,s,a){return f(t+(e^(i|~n))+o+s|0,a)+r|0}function b(){o.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520}r(b,o),b.prototype._update=function(){for(var t=s,e=0;e<16;++e)t[e]=this._block.readInt32LE(4*e);for(var i=0|this._a,n=0|this._b,r=0|this._c,o=0|this._d,b=0|this._e,y=0|this._a,w=0|this._b,C=0|this._c,x=0|this._d,k=0|this._e,_=0;_<80;_+=1){var M,B;_<16?(M=p(i,n,r,o,b,t[a[_]],l[0],c[_]),B=v(y,w,C,x,k,t[u[_]],d[0],h[_])):_<32?(M=g(i,n,r,o,b,t[a[_]],l[1],c[_]),B=m(y,w,C,x,k,t[u[_]],d[1],h[_])):_<48?(M=A(i,n,r,o,b,t[a[_]],l[2],c[_]),B=A(y,w,C,x,k,t[u[_]],d[2],h[_])):_<64?(M=m(i,n,r,o,b,t[a[_]],l[3],c[_]),B=g(y,w,C,x,k,t[u[_]],d[3],h[_])):(M=v(i,n,r,o,b,t[a[_]],l[4],c[_]),B=p(y,w,C,x,k,t[u[_]],d[4],h[_])),i=b,b=o,o=f(r,10),r=n,n=M,y=k,k=x,x=f(C,10),C=w,w=B}var E=this._b+r+x|0;this._b=this._c+o+k|0,this._c=this._d+b+y|0,this._d=this._e+i+w|0,this._e=this._a+n+C|0,this._a=E},b.prototype._digest=function(){this._block[this._blockOffset]=128,this._blockOffset+=1,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var t=n.alloc?n.alloc(20):new n(20);return t.writeInt32LE(this._a,0),t.writeInt32LE(this._b,4),t.writeInt32LE(this._c,8),t.writeInt32LE(this._d,12),t.writeInt32LE(this._e,16),t},t.exports=b},51147(t,e,i){"use strict";var n=i(92861).Buffer,r=i(48537),o=i(28399).Transform;function s(t){o.call(this),this._block=n.allocUnsafe(t),this._blockSize=t,this._blockOffset=0,this._length=[0,0,0,0],this._finalized=!1}i(56698)(s,o),s.prototype._transform=function(t,e,i){var n=null;try{this.update(t,e)}catch(t){n=t}i(n)},s.prototype._flush=function(t){var e=null;try{this.push(this.digest())}catch(t){e=t}t(e)},s.prototype.update=function(t,e){if(this._finalized)throw new Error("Digest already called");for(var i=r(t,e),n=this._block,o=0;this._blockOffset+i.length-o>=this._blockSize;){for(var s=this._blockOffset;s0;++a)this._length[a]+=u,(u=this._length[a]/4294967296|0)>0&&(this._length[a]-=4294967296*u);return this},s.prototype._update=function(){throw new Error("_update is not implemented")},s.prototype.digest=function(t){if(this._finalized)throw new Error("Digest already called");this._finalized=!0;var e=this._digest();void 0!==t&&(e=e.toString(t)),this._block.fill(0),this._blockOffset=0;for(var i=0;i<4;++i)this._length[i]=0;return e},s.prototype._digest=function(){throw new Error("_digest is not implemented")},t.exports=s},48537(t,e,i){"use strict";var n=i(92861).Buffer,r=i(15377),o="undefined"!=typeof Uint8Array,s=o&&"undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView;t.exports=function(t,e){if("string"==typeof t||n.isBuffer(t)||o&&t instanceof Uint8Array||s&&s(t))return r(t,e);throw new TypeError('The "data" argument must be a string, a Buffer, a Uint8Array, or a DataView')}},44275(t,e,i){var n,r=i(74692);void 0===(n=r).fn.each2&&n.extend(n.fn,{each2:function(t){for(var e=n([0]),i=-1,r=this.length;++i=112&&t<=123}},d={"Ⓐ":"A",A:"A",À:"A",Á:"A",Â:"A",Ầ:"A",Ấ:"A",Ẫ:"A",Ẩ:"A",Ã:"A",Ā:"A",Ă:"A",Ằ:"A",Ắ:"A",Ẵ:"A",Ẳ:"A",Ȧ:"A",Ǡ:"A",Ä:"A",Ǟ:"A",Ả:"A",Å:"A",Ǻ:"A",Ǎ:"A",Ȁ:"A",Ȃ:"A",Ạ:"A",Ậ:"A",Ặ:"A",Ḁ:"A",Ą:"A",Ⱥ:"A",Ɐ:"A",Ꜳ:"AA",Æ:"AE",Ǽ:"AE",Ǣ:"AE",Ꜵ:"AO",Ꜷ:"AU",Ꜹ:"AV",Ꜻ:"AV",Ꜽ:"AY","Ⓑ":"B",B:"B",Ḃ:"B",Ḅ:"B",Ḇ:"B",Ƀ:"B",Ƃ:"B",Ɓ:"B","Ⓒ":"C",C:"C",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",Ç:"C",Ḉ:"C",Ƈ:"C",Ȼ:"C",Ꜿ:"C","Ⓓ":"D",D:"D",Ḋ:"D",Ď:"D",Ḍ:"D",Ḑ:"D",Ḓ:"D",Ḏ:"D",Đ:"D",Ƌ:"D",Ɗ:"D",Ɖ:"D",Ꝺ:"D",DZ:"DZ",DŽ:"DZ",Dz:"Dz",Dž:"Dz","Ⓔ":"E",E:"E",È:"E",É:"E",Ê:"E",Ề:"E",Ế:"E",Ễ:"E",Ể:"E",Ẽ:"E",Ē:"E",Ḕ:"E",Ḗ:"E",Ĕ:"E",Ė:"E",Ë:"E",Ẻ:"E",Ě:"E",Ȅ:"E",Ȇ:"E",Ẹ:"E",Ệ:"E",Ȩ:"E",Ḝ:"E",Ę:"E",Ḙ:"E",Ḛ:"E",Ɛ:"E",Ǝ:"E","Ⓕ":"F",F:"F",Ḟ:"F",Ƒ:"F",Ꝼ:"F","Ⓖ":"G",G:"G",Ǵ:"G",Ĝ:"G",Ḡ:"G",Ğ:"G",Ġ:"G",Ǧ:"G",Ģ:"G",Ǥ:"G",Ɠ:"G",Ꞡ:"G",Ᵹ:"G",Ꝿ:"G","Ⓗ":"H",H:"H",Ĥ:"H",Ḣ:"H",Ḧ:"H",Ȟ:"H",Ḥ:"H",Ḩ:"H",Ḫ:"H",Ħ:"H",Ⱨ:"H",Ⱶ:"H",Ɥ:"H","Ⓘ":"I",I:"I",Ì:"I",Í:"I",Î:"I",Ĩ:"I",Ī:"I",Ĭ:"I",İ:"I",Ï:"I",Ḯ:"I",Ỉ:"I",Ǐ:"I",Ȉ:"I",Ȋ:"I",Ị:"I",Į:"I",Ḭ:"I",Ɨ:"I","Ⓙ":"J",J:"J",Ĵ:"J",Ɉ:"J","Ⓚ":"K",K:"K",Ḱ:"K",Ǩ:"K",Ḳ:"K",Ķ:"K",Ḵ:"K",Ƙ:"K",Ⱪ:"K",Ꝁ:"K",Ꝃ:"K",Ꝅ:"K",Ꞣ:"K","Ⓛ":"L",L:"L",Ŀ:"L",Ĺ:"L",Ľ:"L",Ḷ:"L",Ḹ:"L",Ļ:"L",Ḽ:"L",Ḻ:"L",Ł:"L",Ƚ:"L",Ɫ:"L",Ⱡ:"L",Ꝉ:"L",Ꝇ:"L",Ꞁ:"L",LJ:"LJ",Lj:"Lj","Ⓜ":"M",M:"M",Ḿ:"M",Ṁ:"M",Ṃ:"M",Ɱ:"M",Ɯ:"M","Ⓝ":"N",N:"N",Ǹ:"N",Ń:"N",Ñ:"N",Ṅ:"N",Ň:"N",Ṇ:"N",Ņ:"N",Ṋ:"N",Ṉ:"N",Ƞ:"N",Ɲ:"N",Ꞑ:"N",Ꞥ:"N",NJ:"NJ",Nj:"Nj","Ⓞ":"O",O:"O",Ò:"O",Ó:"O",Ô:"O",Ồ:"O",Ố:"O",Ỗ:"O",Ổ:"O",Õ:"O",Ṍ:"O",Ȭ:"O",Ṏ:"O",Ō:"O",Ṑ:"O",Ṓ:"O",Ŏ:"O",Ȯ:"O",Ȱ:"O",Ö:"O",Ȫ:"O",Ỏ:"O",Ő:"O",Ǒ:"O",Ȍ:"O",Ȏ:"O",Ơ:"O",Ờ:"O",Ớ:"O",Ỡ:"O",Ở:"O",Ợ:"O",Ọ:"O",Ộ:"O",Ǫ:"O",Ǭ:"O",Ø:"O",Ǿ:"O",Ɔ:"O",Ɵ:"O",Ꝋ:"O",Ꝍ:"O",Ƣ:"OI",Ꝏ:"OO",Ȣ:"OU","Ⓟ":"P",P:"P",Ṕ:"P",Ṗ:"P",Ƥ:"P",Ᵽ:"P",Ꝑ:"P",Ꝓ:"P",Ꝕ:"P","Ⓠ":"Q",Q:"Q",Ꝗ:"Q",Ꝙ:"Q",Ɋ:"Q","Ⓡ":"R",R:"R",Ŕ:"R",Ṙ:"R",Ř:"R",Ȑ:"R",Ȓ:"R",Ṛ:"R",Ṝ:"R",Ŗ:"R",Ṟ:"R",Ɍ:"R",Ɽ:"R",Ꝛ:"R",Ꞧ:"R",Ꞃ:"R","Ⓢ":"S",S:"S",ẞ:"S",Ś:"S",Ṥ:"S",Ŝ:"S",Ṡ:"S",Š:"S",Ṧ:"S",Ṣ:"S",Ṩ:"S",Ș:"S",Ş:"S",Ȿ:"S",Ꞩ:"S",Ꞅ:"S","Ⓣ":"T",T:"T",Ṫ:"T",Ť:"T",Ṭ:"T",Ț:"T",Ţ:"T",Ṱ:"T",Ṯ:"T",Ŧ:"T",Ƭ:"T",Ʈ:"T",Ⱦ:"T",Ꞇ:"T",Ꜩ:"TZ","Ⓤ":"U",U:"U",Ù:"U",Ú:"U",Û:"U",Ũ:"U",Ṹ:"U",Ū:"U",Ṻ:"U",Ŭ:"U",Ü:"U",Ǜ:"U",Ǘ:"U",Ǖ:"U",Ǚ:"U",Ủ:"U",Ů:"U",Ű:"U",Ǔ:"U",Ȕ:"U",Ȗ:"U",Ư:"U",Ừ:"U",Ứ:"U",Ữ:"U",Ử:"U",Ự:"U",Ụ:"U",Ṳ:"U",Ų:"U",Ṷ:"U",Ṵ:"U",Ʉ:"U","Ⓥ":"V",V:"V",Ṽ:"V",Ṿ:"V",Ʋ:"V",Ꝟ:"V",Ʌ:"V",Ꝡ:"VY","Ⓦ":"W",W:"W",Ẁ:"W",Ẃ:"W",Ŵ:"W",Ẇ:"W",Ẅ:"W",Ẉ:"W",Ⱳ:"W","Ⓧ":"X",X:"X",Ẋ:"X",Ẍ:"X","Ⓨ":"Y",Y:"Y",Ỳ:"Y",Ý:"Y",Ŷ:"Y",Ỹ:"Y",Ȳ:"Y",Ẏ:"Y",Ÿ:"Y",Ỷ:"Y",Ỵ:"Y",Ƴ:"Y",Ɏ:"Y",Ỿ:"Y","Ⓩ":"Z",Z:"Z",Ź:"Z",Ẑ:"Z",Ż:"Z",Ž:"Z",Ẓ:"Z",Ẕ:"Z",Ƶ:"Z",Ȥ:"Z",Ɀ:"Z",Ⱬ:"Z",Ꝣ:"Z","ⓐ":"a",a:"a",ẚ:"a",à:"a",á:"a",â:"a",ầ:"a",ấ:"a",ẫ:"a",ẩ:"a",ã:"a",ā:"a",ă:"a",ằ:"a",ắ:"a",ẵ:"a",ẳ:"a",ȧ:"a",ǡ:"a",ä:"a",ǟ:"a",ả:"a",å:"a",ǻ:"a",ǎ:"a",ȁ:"a",ȃ:"a",ạ:"a",ậ:"a",ặ:"a",ḁ:"a",ą:"a",ⱥ:"a",ɐ:"a",ꜳ:"aa",æ:"ae",ǽ:"ae",ǣ:"ae",ꜵ:"ao",ꜷ:"au",ꜹ:"av",ꜻ:"av",ꜽ:"ay","ⓑ":"b",b:"b",ḃ:"b",ḅ:"b",ḇ:"b",ƀ:"b",ƃ:"b",ɓ:"b","ⓒ":"c",c:"c",ć:"c",ĉ:"c",ċ:"c",č:"c",ç:"c",ḉ:"c",ƈ:"c",ȼ:"c",ꜿ:"c",ↄ:"c","ⓓ":"d",d:"d",ḋ:"d",ď:"d",ḍ:"d",ḑ:"d",ḓ:"d",ḏ:"d",đ:"d",ƌ:"d",ɖ:"d",ɗ:"d",ꝺ:"d",dz:"dz",dž:"dz","ⓔ":"e",e:"e",è:"e",é:"e",ê:"e",ề:"e",ế:"e",ễ:"e",ể:"e",ẽ:"e",ē:"e",ḕ:"e",ḗ:"e",ĕ:"e",ė:"e",ë:"e",ẻ:"e",ě:"e",ȅ:"e",ȇ:"e",ẹ:"e",ệ:"e",ȩ:"e",ḝ:"e",ę:"e",ḙ:"e",ḛ:"e",ɇ:"e",ɛ:"e",ǝ:"e","ⓕ":"f",f:"f",ḟ:"f",ƒ:"f",ꝼ:"f","ⓖ":"g",g:"g",ǵ:"g",ĝ:"g",ḡ:"g",ğ:"g",ġ:"g",ǧ:"g",ģ:"g",ǥ:"g",ɠ:"g",ꞡ:"g",ᵹ:"g",ꝿ:"g","ⓗ":"h",h:"h",ĥ:"h",ḣ:"h",ḧ:"h",ȟ:"h",ḥ:"h",ḩ:"h",ḫ:"h",ẖ:"h",ħ:"h",ⱨ:"h",ⱶ:"h",ɥ:"h",ƕ:"hv","ⓘ":"i",i:"i",ì:"i",í:"i",î:"i",ĩ:"i",ī:"i",ĭ:"i",ï:"i",ḯ:"i",ỉ:"i",ǐ:"i",ȉ:"i",ȋ:"i",ị:"i",į:"i",ḭ:"i",ɨ:"i",ı:"i","ⓙ":"j",j:"j",ĵ:"j",ǰ:"j",ɉ:"j","ⓚ":"k",k:"k",ḱ:"k",ǩ:"k",ḳ:"k",ķ:"k",ḵ:"k",ƙ:"k",ⱪ:"k",ꝁ:"k",ꝃ:"k",ꝅ:"k",ꞣ:"k","ⓛ":"l",l:"l",ŀ:"l",ĺ:"l",ľ:"l",ḷ:"l",ḹ:"l",ļ:"l",ḽ:"l",ḻ:"l",ſ:"l",ł:"l",ƚ:"l",ɫ:"l",ⱡ:"l",ꝉ:"l",ꞁ:"l",ꝇ:"l",lj:"lj","ⓜ":"m",m:"m",ḿ:"m",ṁ:"m",ṃ:"m",ɱ:"m",ɯ:"m","ⓝ":"n",n:"n",ǹ:"n",ń:"n",ñ:"n",ṅ:"n",ň:"n",ṇ:"n",ņ:"n",ṋ:"n",ṉ:"n",ƞ:"n",ɲ:"n",ʼn:"n",ꞑ:"n",ꞥ:"n",nj:"nj","ⓞ":"o",o:"o",ò:"o",ó:"o",ô:"o",ồ:"o",ố:"o",ỗ:"o",ổ:"o",õ:"o",ṍ:"o",ȭ:"o",ṏ:"o",ō:"o",ṑ:"o",ṓ:"o",ŏ:"o",ȯ:"o",ȱ:"o",ö:"o",ȫ:"o",ỏ:"o",ő:"o",ǒ:"o",ȍ:"o",ȏ:"o",ơ:"o",ờ:"o",ớ:"o",ỡ:"o",ở:"o",ợ:"o",ọ:"o",ộ:"o",ǫ:"o",ǭ:"o",ø:"o",ǿ:"o",ɔ:"o",ꝋ:"o",ꝍ:"o",ɵ:"o",ƣ:"oi",ȣ:"ou",ꝏ:"oo","ⓟ":"p",p:"p",ṕ:"p",ṗ:"p",ƥ:"p",ᵽ:"p",ꝑ:"p",ꝓ:"p",ꝕ:"p","ⓠ":"q",q:"q",ɋ:"q",ꝗ:"q",ꝙ:"q","ⓡ":"r",r:"r",ŕ:"r",ṙ:"r",ř:"r",ȑ:"r",ȓ:"r",ṛ:"r",ṝ:"r",ŗ:"r",ṟ:"r",ɍ:"r",ɽ:"r",ꝛ:"r",ꞧ:"r",ꞃ:"r","ⓢ":"s",s:"s",ß:"s",ś:"s",ṥ:"s",ŝ:"s",ṡ:"s",š:"s",ṧ:"s",ṣ:"s",ṩ:"s",ș:"s",ş:"s",ȿ:"s",ꞩ:"s",ꞅ:"s",ẛ:"s","ⓣ":"t",t:"t",ṫ:"t",ẗ:"t",ť:"t",ṭ:"t",ț:"t",ţ:"t",ṱ:"t",ṯ:"t",ŧ:"t",ƭ:"t",ʈ:"t",ⱦ:"t",ꞇ:"t",ꜩ:"tz","ⓤ":"u",u:"u",ù:"u",ú:"u",û:"u",ũ:"u",ṹ:"u",ū:"u",ṻ:"u",ŭ:"u",ü:"u",ǜ:"u",ǘ:"u",ǖ:"u",ǚ:"u",ủ:"u",ů:"u",ű:"u",ǔ:"u",ȕ:"u",ȗ:"u",ư:"u",ừ:"u",ứ:"u",ữ:"u",ử:"u",ự:"u",ụ:"u",ṳ:"u",ų:"u",ṷ:"u",ṵ:"u",ʉ:"u","ⓥ":"v",v:"v",ṽ:"v",ṿ:"v",ʋ:"v",ꝟ:"v",ʌ:"v",ꝡ:"vy","ⓦ":"w",w:"w",ẁ:"w",ẃ:"w",ŵ:"w",ẇ:"w",ẅ:"w",ẘ:"w",ẉ:"w",ⱳ:"w","ⓧ":"x",x:"x",ẋ:"x",ẍ:"x","ⓨ":"y",y:"y",ỳ:"y",ý:"y",ŷ:"y",ỹ:"y",ȳ:"y",ẏ:"y",ÿ:"y",ỷ:"y",ẙ:"y",ỵ:"y",ƴ:"y",ɏ:"y",ỿ:"y","ⓩ":"z",z:"z",ź:"z",ẑ:"z",ż:"z",ž:"z",ẓ:"z",ẕ:"z",ƶ:"z",ȥ:"z",ɀ:"z",ⱬ:"z",ꝣ:"z",Ά:"Α",Έ:"Ε",Ή:"Η",Ί:"Ι",Ϊ:"Ι",Ό:"Ο",Ύ:"Υ",Ϋ:"Υ",Ώ:"Ω",ά:"α",έ:"ε",ή:"η",ί:"ι",ϊ:"ι",ΐ:"ι",ό:"ο",ύ:"υ",ϋ:"υ",ΰ:"υ",ω:"ω",ς:"σ"};a=t(document),c=1,o=function(){return c++},i=T(Object,{bind:function(t){var e=this;return function(){t.apply(e,arguments)}},init:function(i){var n,r,s,a,c=".select2-results";this.opts=i=this.prepareOpts(i),this.id=i.id,i.element.data("select2")!==e&&null!==i.element.data("select2")&&i.element.data("select2").destroy(),this.container=this.createContainer(),this.liveRegion=t("",{role:"status","aria-live":"polite"}).addClass("select2-hidden-accessible").appendTo(document.body),this.containerId="s2id_"+(i.element.attr("id")||"autogen"+o()),this.containerEventName=this.containerId.replace(/([.])/g,"_").replace(/([;&,\-\.\+\*\~':"\!\^#$%@\[\]\(\)=>\|])/g,"\\$1"),this.container.attr("id",this.containerId),this.container.attr("title",i.element.attr("title")),this.body=t("body"),C(this.container,this.opts.element,this.opts.adaptContainerCssClass),this.container.attr("style",i.element.attr("style")),this.container.css(I(i.containerCss,this.opts.element)),this.container.addClass(I(i.containerCssClass,this.opts.element)),this.elementTabIndex=this.opts.element.attr("tabindex"),this.opts.element.data("select2",this).attr("tabindex","-1").before(this.container).on("click.select2",w),this.container.data("select2",this),this.dropdown=this.container.find(".select2-drop"),C(this.dropdown,this.opts.element,this.opts.adaptDropdownCssClass),this.dropdown.addClass(I(i.dropdownCssClass,this.opts.element)),this.dropdown.data("select2",this),this.dropdown.on("click",w),this.results=n=this.container.find(c),this.search=r=this.container.find("input.select2-input"),this.queryCount=0,this.resultsPage=0,this.context=null,this.initContainer(),this.container.on("click",w),this.results.on("mousemove",function(i){var n=h;n!==e&&n.x===i.pageX&&n.y===i.pageY||t(i.target).trigger("mousemove-filtered",i)}),this.dropdown.on("mousemove-filtered",c,this.bind(this.highlightUnderEvent)),this.dropdown.on("touchstart touchmove touchend",c,this.bind(function(t){this._touchEvent=!0,this.highlightUnderEvent(t)})),this.dropdown.on("touchmove",c,this.bind(this.touchMoved)),this.dropdown.on("touchstart touchend",c,this.bind(this.clearTouchMoved)),this.dropdown.on("click",this.bind(function(t){this._touchEvent&&(this._touchEvent=!1,this.selectHighlighted())})),s=this.results,a=y(80,function(t){s.trigger("scroll-debounced",t)}),s.on("scroll",function(t){g(t.target,s.get())>=0&&a(t)}),this.dropdown.on("scroll-debounced",c,this.bind(this.loadMoreIfNeeded)),t(this.container).on("change",".select2-input",function(t){t.stopPropagation()}),t(this.dropdown).on("change",".select2-input",function(t){t.stopPropagation()}),t.fn.mousewheel&&n.mousewheel(function(t,e,i,r){var o=n.scrollTop();r>0&&o-r<=0?(n.scrollTop(0),w(t)):r<0&&n.get(0).scrollHeight-n.scrollTop()+r<=n.height()&&(n.scrollTop(n.get(0).scrollHeight-n.height()),w(t))}),b(r),r.on("keyup-change input paste",this.bind(this.updateResults)),r.on("focus",function(){r.addClass("select2-focused")}),r.on("blur",function(){r.removeClass("select2-focused")}),this.dropdown.on("mouseup",c,this.bind(function(e){t(e.target).closest(".select2-result-selectable").length>0&&(this.highlightUnderEvent(e),this.selectHighlighted(e))})),this.dropdown.on("click mouseup mousedown touchstart touchend focusin",function(t){t.stopPropagation()}),this.nextSearchTerm=e,t.isFunction(this.opts.initSelection)&&(this.initSelection(),this.monitorSource()),null!==i.maximumInputLength&&this.search.attr("maxlength",i.maximumInputLength);var l=i.element.prop("disabled");l===e&&(l=!1),this.enable(!l);var d=i.element.prop("readonly");d===e&&(d=!1),this.readonly(d),u=u||function(){var e=t("
          ");e.appendTo("body");var i={width:e.width()-e[0].clientWidth,height:e.height()-e[0].clientHeight};return e.remove(),i}(),this.autofocus=i.element.prop("autofocus"),i.element.prop("autofocus",!1),this.autofocus&&this.focus(),this.search.attr("placeholder",i.searchInputPlaceholder)},destroy:function(){var t=this.opts.element,i=t.data("select2"),n=this;this.close(),t.length&&t[0].detachEvent&&t.each(function(){this.detachEvent("onpropertychange",n._sync)}),this.propertyObserver&&(this.propertyObserver.disconnect(),this.propertyObserver=null),this._sync=null,i!==e&&(i.container.remove(),i.liveRegion.remove(),i.dropdown.remove(),t.removeClass("select2-offscreen").removeData("select2").off(".select2").prop("autofocus",this.autofocus||!1),this.elementTabIndex?t.attr({tabindex:this.elementTabIndex}):t.removeAttr("tabindex"),t.show()),D.call(this,"container","liveRegion","dropdown","results","search")},optionToData:function(t){return t.is("option")?{id:t.prop("value"),text:t.text(),element:t.get(),css:t.attr("class"),disabled:t.prop("disabled"),locked:A(t.attr("locked"),"locked")||A(t.data("locked"),!0)}:t.is("optgroup")?{text:t.attr("label"),children:[],element:t.get(),css:t.attr("class")}:void 0},prepareOpts:function(i){var n,r,s,a,u=this;if("select"===(n=i.element).get(0).tagName.toLowerCase()&&(this.select=r=i.element),r&&t.each(["id","multiple","ajax","query","createSearchChoice","initSelection","data","tags"],function(){if(this in i)throw new Error("Option '"+this+"' is not allowed for Select2 when attached to a ","
          "," ","
            ","
          ","
          "].join(""))},enableInterface:function(){this.parent.enableInterface.apply(this,arguments)&&this.focusser.prop("disabled",!this.isInterfaceEnabled())},opening:function(){var i,n,r;this.opts.minimumResultsForSearch>=0&&this.showSearch(!0),this.parent.opening.apply(this,arguments),!1!==this.showSearchInput&&this.search.val(this.focusser.val()),this.opts.shouldFocusInput(this)&&(this.search.focus(),(i=this.search.get(0)).createTextRange?((n=i.createTextRange()).collapse(!1),n.select()):i.setSelectionRange&&(r=this.search.val().length,i.setSelectionRange(r,r))),""===this.search.val()&&this.nextSearchTerm!=e&&(this.search.val(this.nextSearchTerm),this.search.select()),this.focusser.prop("disabled",!0).val(""),this.updateResults(!0),this.opts.element.trigger(t.Event("select2-open"))},close:function(){this.opened()&&(this.parent.close.apply(this,arguments),this.focusser.prop("disabled",!1),this.opts.shouldFocusInput(this)&&this.focusser.focus())},focus:function(){this.opened()?this.close():(this.focusser.prop("disabled",!1),this.opts.shouldFocusInput(this)&&this.focusser.focus())},isFocused:function(){return this.container.hasClass("select2-container-active")},cancel:function(){this.parent.cancel.apply(this,arguments),this.focusser.prop("disabled",!1),this.opts.shouldFocusInput(this)&&this.focusser.focus()},destroy:function(){t("label[for='"+this.focusser.attr("id")+"']").attr("for",this.opts.element.attr("id")),this.parent.destroy.apply(this,arguments),D.call(this,"selection","focusser")},initContainer:function(){var e,i,n=this.container,r=this.dropdown,s=o();this.opts.minimumResultsForSearch<0?this.showSearch(!1):this.showSearch(!0),this.selection=e=n.find(".select2-choice"),this.focusser=n.find(".select2-focusser"),e.find(".select2-chosen").attr("id","select2-chosen-"+s),this.focusser.attr("aria-labelledby","select2-chosen-"+s),this.results.attr("id","select2-results-"+s),this.search.attr("aria-owns","select2-results-"+s),this.focusser.attr("id","s2id_autogen"+s),i=t("label[for='"+this.opts.element.attr("id")+"']"),this.focusser.prev().text(i.text()).attr("for",this.focusser.attr("id"));var a=this.opts.element.attr("title");this.opts.element.attr("title",a||i.text()),this.focusser.attr("tabindex",this.elementTabIndex),this.search.attr("id",this.focusser.attr("id")+"_search"),this.search.prev().text(t("label[for='"+this.focusser.attr("id")+"']").text()).attr("for",this.search.attr("id")),this.search.on("keydown",this.bind(function(t){if(this.isInterfaceEnabled()&&229!=t.keyCode)if(t.which!==l.PAGE_UP&&t.which!==l.PAGE_DOWN)switch(t.which){case l.UP:case l.DOWN:return this.moveHighlight(t.which===l.UP?-1:1),void w(t);case l.ENTER:return this.selectHighlighted(),void w(t);case l.TAB:return void this.selectHighlighted({noFocus:!0});case l.ESC:return this.cancel(t),void w(t)}else w(t)})),this.search.on("blur",this.bind(function(t){document.activeElement===this.body.get(0)&&window.setTimeout(this.bind(function(){this.opened()&&this.search.focus()}),0)})),this.focusser.on("keydown",this.bind(function(t){if(this.isInterfaceEnabled()&&t.which!==l.TAB&&!l.isControl(t)&&!l.isFunctionKey(t)&&t.which!==l.ESC){if(!1!==this.opts.openOnEnter||t.which!==l.ENTER){if(t.which==l.DOWN||t.which==l.UP||t.which==l.ENTER&&this.opts.openOnEnter){if(t.altKey||t.ctrlKey||t.shiftKey||t.metaKey)return;return this.open(),void w(t)}return t.which==l.DELETE||t.which==l.BACKSPACE?(this.opts.allowClear&&this.clear(),void w(t)):void 0}w(t)}})),b(this.focusser),this.focusser.on("keyup-change input",this.bind(function(t){if(this.opts.minimumResultsForSearch>=0){if(t.stopPropagation(),this.opened())return;this.open()}})),e.on("mousedown touchstart","abbr",this.bind(function(t){var e;this.isInterfaceEnabled()&&(this.clear(),(e=t).preventDefault(),e.stopImmediatePropagation(),this.close(),this.selection.focus())})),e.on("mousedown touchstart",this.bind(function(i){f(e),this.container.hasClass("select2-container-active")||this.opts.element.trigger(t.Event("select2-focus")),this.opened()?this.close():this.isInterfaceEnabled()&&this.open(),w(i)})),r.on("mousedown touchstart",this.bind(function(){this.opts.shouldFocusInput(this)&&this.search.focus()})),e.on("focus",this.bind(function(t){w(t)})),this.focusser.on("focus",this.bind(function(){this.container.hasClass("select2-container-active")||this.opts.element.trigger(t.Event("select2-focus")),this.container.addClass("select2-container-active")})).on("blur",this.bind(function(){this.opened()||(this.container.removeClass("select2-container-active"),this.opts.element.trigger(t.Event("select2-blur")))})),this.search.on("focus",this.bind(function(){this.container.hasClass("select2-container-active")||this.opts.element.trigger(t.Event("select2-focus")),this.container.addClass("select2-container-active")})),this.initContainerWidth(),this.opts.element.addClass("select2-offscreen"),this.setPlaceholder()},clear:function(e){var i=this.selection.data("select2-data");if(i){var n=t.Event("select2-clearing");if(this.opts.element.trigger(n),n.isDefaultPrevented())return;var r=this.getPlaceholderOption();this.opts.element.val(r?r.val():""),this.selection.find(".select2-chosen").empty(),this.selection.removeData("select2-data"),this.setPlaceholder(),!1!==e&&(this.opts.element.trigger({type:"select2-removed",val:this.id(i),choice:i}),this.triggerChange({removed:i}))}},initSelection:function(){if(this.isPlaceholderOptionSelected())this.updateSelection(null),this.close(),this.setPlaceholder();else{var t=this;this.opts.initSelection.call(null,this.opts.element,function(i){i!==e&&null!==i&&(t.updateSelection(i),t.close(),t.setPlaceholder(),t.nextSearchTerm=t.opts.nextSearchTerm(i,t.search.val()))})}},isPlaceholderOptionSelected:function(){var t;return this.getPlaceholder()!==e&&((t=this.getPlaceholderOption())!==e&&t.prop("selected")||""===this.opts.element.val()||this.opts.element.val()===e||null===this.opts.element.val())},prepareOpts:function(){var e=this.parent.prepareOpts.apply(this,arguments),i=this;return"select"===e.element.get(0).tagName.toLowerCase()?e.initSelection=function(t,e){var n=t.find("option").filter(function(){return this.selected&&!this.disabled});e(i.optionToData(n))}:"data"in e&&(e.initSelection=e.initSelection||function(i,n){var r=i.val(),o=null;e.query({matcher:function(t,i,n){var s=A(r,e.id(n));return s&&(o=n),s},callback:t.isFunction(n)?function(){n(o)}:t.noop})}),e},getPlaceholder:function(){return this.select&&this.getPlaceholderOption()===e?e:this.parent.getPlaceholder.apply(this,arguments)},setPlaceholder:function(){var t=this.getPlaceholder();if(this.isPlaceholderOptionSelected()&&t!==e){if(this.select&&this.getPlaceholderOption()===e)return;this.selection.find(".select2-chosen").html(this.opts.escapeMarkup(t)),this.selection.addClass("select2-default"),this.container.removeClass("select2-allowclear")}},postprocessResults:function(t,e,i){var n=0,r=this;if(this.findHighlightableChoices().each2(function(t,e){if(A(r.id(e.data("select2-data")),r.opts.element.val()))return n=t,!1}),!1!==i&&(!0===e&&n>=0?this.highlight(n):this.highlight(0)),!0===e){var o=this.opts.minimumResultsForSearch;o>=0&&this.showSearch(S(t.results)>=o)}},showSearch:function(e){this.showSearchInput!==e&&(this.showSearchInput=e,this.dropdown.find(".select2-search").toggleClass("select2-search-hidden",!e),this.dropdown.find(".select2-search").toggleClass("select2-offscreen",!e),t(this.dropdown,this.container).toggleClass("select2-with-searchbox",e))},onSelect:function(t,e){if(this.triggerSelect(t)){var i=this.opts.element.val(),n=this.data();this.opts.element.val(this.id(t)),this.updateSelection(t),this.opts.element.trigger({type:"select2-selected",val:this.id(t),choice:t}),this.nextSearchTerm=this.opts.nextSearchTerm(t,this.search.val()),this.close(),e&&e.noFocus||!this.opts.shouldFocusInput(this)||this.focusser.focus(),A(i,this.id(t))||this.triggerChange({added:t,removed:n})}},updateSelection:function(t){var i,n,r=this.selection.find(".select2-chosen");this.selection.data("select2-data",t),r.empty(),null!==t&&(i=this.opts.formatSelection(t,r,this.opts.escapeMarkup)),i!==e&&r.append(i),(n=this.opts.formatSelectionCssClass(t,r))!==e&&r.addClass(n),this.selection.removeClass("select2-default"),this.opts.allowClear&&this.getPlaceholder()!==e&&this.container.addClass("select2-allowclear")},val:function(){var t,i=!1,n=null,r=this,o=this.data();if(0===arguments.length)return this.opts.element.val();if(t=arguments[0],arguments.length>1&&(i=arguments[1]),this.select)this.select.val(t).find("option").filter(function(){return this.selected}).each2(function(t,e){return n=r.optionToData(e),!1}),this.updateSelection(n),this.setPlaceholder(),i&&this.triggerChange({added:n,removed:o});else{if(!t&&0!==t)return void this.clear(i);if(this.opts.initSelection===e)throw new Error("cannot call val() if initSelection() is not defined");this.opts.element.val(t),this.opts.initSelection(this.opts.element,function(t){r.opts.element.val(t?r.id(t):""),r.updateSelection(t),r.setPlaceholder(),i&&r.triggerChange({added:t,removed:o})})}},clearSearch:function(){this.search.val(""),this.focusser.val("")},data:function(t){var i,n=!1;if(0===arguments.length)return(i=this.selection.data("select2-data"))==e&&(i=null),i;arguments.length>1&&(n=arguments[1]),t?(i=this.data(),this.opts.element.val(t?this.id(t):""),this.updateSelection(t),n&&this.triggerChange({added:t,removed:i})):this.clear(n)}}),r=T(i,{createContainer:function(){return t(document.createElement("div")).attr({class:"select2-container select2-container-multi"}).html(["
            ","
          • "," "," ","
          • ","
          ","
          ","
            ","
          ","
          "].join(""))},prepareOpts:function(){var e=this.parent.prepareOpts.apply(this,arguments),i=this;return"select"===e.element.get(0).tagName.toLowerCase()?e.initSelection=function(t,e){var n=[];t.find("option").filter(function(){return this.selected&&!this.disabled}).each2(function(t,e){n.push(i.optionToData(e))}),e(n)}:"data"in e&&(e.initSelection=e.initSelection||function(i,n){var r=m(i.val(),e.separator),o=[];e.query({matcher:function(i,n,s){var a=t.grep(r,function(t){return A(t,e.id(s))}).length;return a&&o.push(s),a},callback:t.isFunction(n)?function(){for(var t=[],i=0;i0||(this.selectChoice(null),this.clearPlaceholder(),this.container.hasClass("select2-container-active")||this.opts.element.trigger(t.Event("select2-focus")),this.open(),this.focusSearch(),e.preventDefault()))})),this.container.on("focus",i,this.bind(function(){this.isInterfaceEnabled()&&(this.container.hasClass("select2-container-active")||this.opts.element.trigger(t.Event("select2-focus")),this.container.addClass("select2-container-active"),this.dropdown.addClass("select2-drop-active"),this.clearPlaceholder())})),this.initContainerWidth(),this.opts.element.addClass("select2-offscreen"),this.clearSearch()},enableInterface:function(){this.parent.enableInterface.apply(this,arguments)&&this.search.prop("disabled",!this.isInterfaceEnabled())},initSelection:function(){if(""===this.opts.element.val()&&""===this.opts.element.text()&&(this.updateSelection([]),this.close(),this.clearSearch()),this.select||""!==this.opts.element.val()){var t=this;this.opts.initSelection.call(null,this.opts.element,function(i){i!==e&&null!==i&&(t.updateSelection(i),t.close(),t.clearSearch())})}},clearSearch:function(){var t=this.getPlaceholder(),i=this.getMaxSearchWidth();t!==e&&0===this.getVal().length&&!1===this.search.hasClass("select2-focused")?(this.search.val(t).addClass("select2-default"),this.search.width(i>0?i:this.container.css("width"))):this.search.val("").width(10)},clearPlaceholder:function(){this.search.hasClass("select2-default")&&this.search.val("").removeClass("select2-default")},opening:function(){this.clearPlaceholder(),this.resizeSearch(),this.parent.opening.apply(this,arguments),this.focusSearch(),""===this.search.val()&&this.nextSearchTerm!=e&&(this.search.val(this.nextSearchTerm),this.search.select()),this.updateResults(!0),this.opts.shouldFocusInput(this)&&this.search.focus(),this.opts.element.trigger(t.Event("select2-open"))},close:function(){this.opened()&&this.parent.close.apply(this,arguments)},focus:function(){this.close(),this.search.focus()},isFocused:function(){return this.search.hasClass("select2-focused")},updateSelection:function(e){var i=[],n=[],r=this;t(e).each(function(){g(r.id(this),i)<0&&(i.push(r.id(this)),n.push(this))}),e=n,this.selection.find(".select2-search-choice").remove(),t(e).each(function(){r.addSelectedChoice(this)}),r.postprocessResults()},tokenize:function(){var t=this.search.val();null!=(t=this.opts.tokenizer.call(this,t,this.data(),this.bind(this.onSelect),this.opts))&&t!=e&&(this.search.val(t),t.length>0&&this.open())},onSelect:function(t,i){this.triggerSelect(t)&&""!==t.text&&(this.addSelectedChoice(t),this.opts.element.trigger({type:"selected",val:this.id(t),choice:t}),this.nextSearchTerm=this.opts.nextSearchTerm(t,this.search.val()),this.clearSearch(),this.updateResults(),!this.select&&this.opts.closeOnSelect||this.postprocessResults(t,!1,!0===this.opts.closeOnSelect),this.opts.closeOnSelect?(this.close(),this.search.width(10)):this.countSelectableResults()>0?(this.search.width(10),this.resizeSearch(),this.getMaximumSelectionSize()>0&&this.val().length>=this.getMaximumSelectionSize()?this.updateResults(!0):this.nextSearchTerm!=e&&(this.search.val(this.nextSearchTerm),this.updateResults(),this.search.select()),this.positionDropdown()):(this.close(),this.search.width(10)),this.triggerChange({added:t}),i&&i.noFocus||this.focusSearch())},cancel:function(){this.close(),this.focusSearch()},addSelectedChoice:function(i){var n,r,o=!i.locked,s=t("
        • "),a=t("
        • "),u=o?s:a,c=this.id(i),h=this.getVal();(n=this.opts.formatSelection(i,u.find("div"),this.opts.escapeMarkup))!=e&&u.find("div").replaceWith("
          "+n+"
          "),(r=this.opts.formatSelectionCssClass(i,u.find("div")))!=e&&u.addClass(r),o&&u.find(".select2-search-choice-close").on("mousedown",w).on("click dblclick",this.bind(function(e){this.isInterfaceEnabled()&&(this.unselect(t(e.target)),this.selection.find(".select2-search-choice-focus").removeClass("select2-search-choice-focus"),w(e),this.close(),this.focusSearch())})).on("focus",this.bind(function(){this.isInterfaceEnabled()&&(this.container.addClass("select2-container-active"),this.dropdown.addClass("select2-drop-active"))})),u.data("select2-data",i),u.insertBefore(this.searchContainer),h.push(c),this.setVal(h)},unselect:function(e){var i,n,r=this.getVal();if(0===(e=e.closest(".select2-search-choice")).length)throw"Invalid argument: "+e+". Must be .select2-search-choice";if(i=e.data("select2-data")){var o=t.Event("select2-removing");if(o.val=this.id(i),o.choice=i,this.opts.element.trigger(o),o.isDefaultPrevented())return!1;for(;(n=g(this.id(i),r))>=0;)r.splice(n,1),this.setVal(r),this.select&&this.postprocessResults();return e.remove(),this.opts.element.trigger({type:"select2-removed",val:this.id(i),choice:i}),this.triggerChange({removed:i}),!0}},postprocessResults:function(t,e,i){var n=this.getVal(),r=this.results.find(".select2-result"),o=this.results.find(".select2-result-with-children"),s=this;r.each2(function(t,e){g(s.id(e.data("select2-data")),n)>=0&&(e.addClass("select2-selected"),e.find(".select2-result-selectable").addClass("select2-selected"))}),o.each2(function(t,e){e.is(".select2-result-selectable")||0!==e.find(".select2-result-selectable:not(.select2-selected)").length||e.addClass("select2-selected")}),-1==this.highlight()&&!1!==i&&s.highlight(0),!this.opts.createSearchChoice&&!r.filter(".select2-result:not(.select2-selected)").length>0&&(!t||t&&!t.more&&0===this.results.find(".select2-no-results").length)&&E(s.opts.formatNoMatches,"formatNoMatches")&&this.results.append("
        • "+I(s.opts.formatNoMatches,s.opts.element,s.search.val())+"
        • ")},getMaxSearchWidth:function(){return this.selection.width()-v(this.search)},resizeSearch:function(){var e,i,n,r,o=v(this.search);e=function(e){if(!s){var i=e[0].currentStyle||window.getComputedStyle(e[0],null);(s=t(document.createElement("div")).css({position:"absolute",left:"-10000px",top:"-10000px",display:"none",fontSize:i.fontSize,fontFamily:i.fontFamily,fontStyle:i.fontStyle,fontWeight:i.fontWeight,letterSpacing:i.letterSpacing,textTransform:i.textTransform,whiteSpace:"nowrap"})).attr("class","select2-sizer"),t("body").append(s)}return s.text(e.val()),s.width()}(this.search)+10,i=this.search.offset().left,(r=(n=this.selection.width())-(i-this.selection.offset().left)-o)0&&i--,t.splice(n,1),n--);return{added:e,removed:t}},val:function(i,n){var r,o=this;if(0===arguments.length)return this.getVal();if((r=this.data()).length||(r=[]),!i&&0!==i)return this.opts.element.val(""),this.updateSelection([]),this.clearSearch(),void(n&&this.triggerChange({added:this.data(),removed:r}));if(this.setVal(i),this.select)this.opts.initSelection(this.select,this.bind(this.updateSelection)),n&&this.triggerChange(this.buildChangeDetails(r,this.data()));else{if(this.opts.initSelection===e)throw new Error("val() cannot be called if initSelection() is not defined");this.opts.initSelection(this.opts.element,function(e){var i=t.map(e,o.id);o.setVal(i),o.updateSelection(e),o.clearSearch(),n&&o.triggerChange(o.buildChangeDetails(r,o.data()))})}this.clearSearch()},onSortStart:function(){if(this.select)throw new Error("Sorting of elements is not supported when attached to instead.");this.search.width(0),this.searchContainer.hide()},onSortEnd:function(){var e=[],i=this;this.searchContainer.show(),this.searchContainer.appendTo(this.searchContainer.parent()),this.resizeSearch(),this.selection.find(".select2-search-choice").each(function(){e.push(i.opts.id(t(this).data("select2-data")))}),this.setVal(e),this.triggerChange()},data:function(e,i){var n,r,o=this;if(0===arguments.length)return this.selection.children(".select2-search-choice").map(function(){return t(this).data("select2-data")}).get();r=this.data(),e||(e=[]),n=t.map(e,function(t){return o.opts.id(t)}),this.setVal(n),this.updateSelection(e),this.clearSearch(),i&&this.triggerChange(this.buildChangeDetails(r,this.data()))}}),t.fn.select2=function(){var i,n,r,o,s,a=Array.prototype.slice.call(arguments,0),u=["val","destroy","opened","open","close","focus","isFocused","container","dropdown","onSortStart","onSortEnd","enable","disable","readonly","positionDropdown","data","search"],c=["opened","isFocused","container","dropdown"],h=["val","data"],l={search:"externalSearch"};return this.each(function(){if(0===a.length||"object"==typeof a[0])(i=0===a.length?{}:t.extend({},a[0])).element=t(this),"select"===i.element.get(0).tagName.toLowerCase()?s=i.element.prop("multiple"):(s=i.multiple||!1,"tags"in i&&(i.multiple=s=!0)),(n=s?new window.Select2.class.multi:new window.Select2.class.single).init(i);else{if("string"!=typeof a[0])throw"Invalid arguments to select2 plugin: "+a;if(g(a[0],u)<0)throw"Unknown method: "+a[0];if(o=e,(n=t(this).data("select2"))===e)return;if("container"===(r=a[0])?o=n.container:"dropdown"===r?o=n.dropdown:(l[r]&&(r=l[r]),o=n[r].apply(n,a.slice(1))),g(a[0],c)>=0||g(a[0],h)>=0&&1==a.length)return!1}}),o===e?this:o},t.fn.select2.defaults={width:"copy",loadMorePadding:0,closeOnSelect:!0,openOnEnter:!0,containerCss:{},dropdownCss:{},containerCssClass:"",dropdownCssClass:"",formatResult:function(t,e,i,n){var r=[];return x(t.text,i.term,r,n),r.join("")},formatSelection:function(t,i,n){return t?n(t.text):e},sortResults:function(t,e,i){return t},formatResultCssClass:function(t){return t.css},formatSelectionCssClass:function(t,i){return e},minimumResultsForSearch:0,minimumInputLength:0,maximumInputLength:null,maximumSelectionSize:0,id:function(t){return t==e?null:t.id},matcher:function(t,e){return p(""+e).toUpperCase().indexOf(p(""+t).toUpperCase())>=0},separator:",",tokenSeparators:[],tokenizer:function(t,i,n,r){var o,s,a,u,c,h=t,l=!1;if(!r.createSearchChoice||!r.tokenSeparators||r.tokenSeparators.length<1)return e;for(;;){for(s=-1,a=0,u=r.tokenSeparators.length;a=0));a++);if(s<0)break;if(o=t.substring(0,s),t=t.substring(s+c.length),o.length>0&&(o=r.createSearchChoice.call(this,o,i))!==e&&null!==o&&r.id(o)!==e&&null!==r.id(o)){for(l=!1,a=0,u=i.length;a0)&&t.opts.minimumResultsForSearch<0)}},t.fn.select2.locales=[],t.fn.select2.locales.en={formatMatches:function(t){return 1===t?"One result is available, press enter to select it.":t+" results are available, use up and down arrow keys to navigate."},formatNoMatches:function(){return"No matches found"},formatAjaxError:function(t,e,i){return"Loading failed"},formatInputTooShort:function(t,e){var i=e-t.length;return"Please enter "+i+" or more character"+(1==i?"":"s")},formatInputTooLong:function(t,e){var i=t.length-e;return"Please delete "+i+" character"+(1==i?"":"s")},formatSelectionTooBig:function(t){return"You can only select "+t+" item"+(1==t?"":"s")},formatLoadMore:function(t){return"Loading more results…"},formatSearching:function(){return"Searching…"}},t.extend(t.fn.select2.defaults,t.fn.select2.locales.en),t.fn.select2.ajaxDefaults={transport:t.ajax,params:{type:"GET",cache:!1,dataType:"json"}},window.Select2={query:{ajax:_,local:M,tags:B},util:{debounce:y,markMatch:x,escapeMarkup:k,stripDiacritics:p},class:{abstract:i,single:n,multi:r}}}function f(e){var i=t(document.createTextNode(""));e.before(i),i.before(e),i.remove()}function p(t){return t.replace(/[^\u0000-\u007E]/g,function(t){return d[t]||t})}function g(t,e){for(var i=0,n=e.length;i"),i.push(n(t.substring(r,r+o))),i.push(""),i.push(n(t.substring(r+o,t.length))))}function k(t){var e={"\\":"\","&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};return String(t).replace(/[&<>"'\/\\]/g,function(t){return e[t]})}function _(i){var n,r=null,o=i.quietMillis||100,s=i.url,a=this;return function(u){window.clearTimeout(n),n=window.setTimeout(function(){var n=i.data,o=s,c=i.transport||t.fn.select2.ajaxDefaults.transport,h={type:i.type||"GET",cache:i.cache||!1,jsonpCallback:i.jsonpCallback||e,dataType:i.dataType||"json"},l=t.extend({},t.fn.select2.ajaxDefaults.params,h);n=n?n.call(a,u.term,u.page,u.context):null,o="function"==typeof o?o.call(a,u.term,u.page,u.context):o,r&&"function"==typeof r.abort&&r.abort(),i.params&&(t.isFunction(i.params)?t.extend(l,i.params.call(a)):t.extend(l,i.params)),t.extend(l,{url:o,dataType:i.dataType,data:n,success:function(t){var e=i.results(t,u.page,u);u.callback(e)},error:function(t,e,i){var n={hasError:!0,jqXHR:t,textStatus:e,errorThrown:i};u.callback(n)}}),r=c.call(a,l)},o)}}function M(e){var i,n,r=e,o=function(t){return""+t.text};t.isArray(r)&&(r={results:n=r}),!1===t.isFunction(r)&&(n=r,r=function(){return n});var s=r();return s.text&&(o=s.text,t.isFunction(o)||(i=s.text,o=function(t){return t[i]})),function(e){var i,n=e.term,s={results:[]};""!==n?(i=function(r,s){var a,u;if((r=r[0]).children){for(u in a={},r)r.hasOwnProperty(u)&&(a[u]=r[u]);a.children=[],t(r.children).each2(function(t,e){i(e,a.children)}),(a.children.length||e.matcher(n,o(a),r))&&s.push(a)}else e.matcher(n,o(r),r)&&s.push(r)},t(r().results).each2(function(t,e){i(e,s.results)}),e.callback(s)):e.callback(r())}}function B(i){var n=t.isFunction(i);return function(r){var o=r.term,s={results:[]},a=n?i(r):i;t.isArray(a)&&(t(a).each(function(){var t=this.text!==e,i=t?this.text:this;(""===o||r.matcher(o,i))&&s.results.push(t?this:{id:this,text:this})}),r.callback(s))}}function E(e,i){if(t.isFunction(e))return!0;if(!e)return!1;if("string"==typeof e)return!0;throw new Error(i+" must be a string, function, or falsy value")}function I(e,i){if(t.isFunction(e)){var n=Array.prototype.slice.call(arguments,2);return e.apply(i,n)}return e}function S(e){var i=0;return t.each(e,function(t,e){e.children?i+=S(e.children):i++}),i}function D(){var e=this;t.each(arguments,function(t,i){e[i].remove(),e[i]=null})}function T(e,i){var n=function(){};return(n.prototype=new e).constructor=n,n.prototype.parent=e.prototype,n.prototype=t.extend(n.prototype,i),n}}(r)},90392(t,e,i){"use strict";var n=i(92861).Buffer,r=i(15377);function o(t,e){this._block=n.alloc(t),this._finalSize=e,this._blockSize=t,this._len=0}o.prototype.update=function(t,e){t=r(t,e||"utf8");for(var i=this._block,n=this._blockSize,o=t.length,s=this._len,a=0;a=this._finalSize&&(this._update(this._block),this._block.fill(0));var i=8*this._len;if(i<=4294967295)this._block.writeUInt32BE(i,this._blockSize-4);else{var n=(4294967295&i)>>>0,r=(i-n)/4294967296;this._block.writeUInt32BE(r,this._blockSize-8),this._block.writeUInt32BE(n,this._blockSize-4)}this._update(this._block);var o=this._hash();return t?o.toString(t):o},o.prototype._update=function(){throw new Error("_update must be implemented by subclass")},t.exports=o},62802(t,e,i){"use strict";t.exports=function(e){var i=e.toLowerCase(),n=t.exports[i];if(!n)throw new Error(i+" is not supported (we accept pull requests)");return new n},t.exports.sha=i(27816),t.exports.sha1=i(63737),t.exports.sha224=i(26710),t.exports.sha256=i(24107),t.exports.sha384=i(32827),t.exports.sha512=i(82890)},27816(t,e,i){"use strict";var n=i(56698),r=i(90392),o=i(92861).Buffer,s=[1518500249,1859775393,-1894007588,-899497514],a=new Array(80);function u(){this.init(),this._w=a,r.call(this,64,56)}function c(t){return t<<5|t>>>27}function h(t){return t<<30|t>>>2}function l(t,e,i,n){return 0===t?e&i|~e&n:2===t?e&i|e&n|i&n:e^i^n}n(u,r),u.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},u.prototype._update=function(t){for(var e=this._w,i=0|this._a,n=0|this._b,r=0|this._c,o=0|this._d,a=0|this._e,u=0;u<16;++u)e[u]=t.readInt32BE(4*u);for(;u<80;++u)e[u]=e[u-3]^e[u-8]^e[u-14]^e[u-16];for(var d=0;d<80;++d){var f=~~(d/20),p=c(i)+l(f,n,r,o)+a+e[d]+s[f]|0;a=o,o=r,r=h(n),n=i,i=p}this._a=i+this._a|0,this._b=n+this._b|0,this._c=r+this._c|0,this._d=o+this._d|0,this._e=a+this._e|0},u.prototype._hash=function(){var t=o.allocUnsafe(20);return t.writeInt32BE(0|this._a,0),t.writeInt32BE(0|this._b,4),t.writeInt32BE(0|this._c,8),t.writeInt32BE(0|this._d,12),t.writeInt32BE(0|this._e,16),t},t.exports=u},63737(t,e,i){"use strict";var n=i(56698),r=i(90392),o=i(92861).Buffer,s=[1518500249,1859775393,-1894007588,-899497514],a=new Array(80);function u(){this.init(),this._w=a,r.call(this,64,56)}function c(t){return t<<1|t>>>31}function h(t){return t<<5|t>>>27}function l(t){return t<<30|t>>>2}function d(t,e,i,n){return 0===t?e&i|~e&n:2===t?e&i|e&n|i&n:e^i^n}n(u,r),u.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},u.prototype._update=function(t){for(var e=this._w,i=0|this._a,n=0|this._b,r=0|this._c,o=0|this._d,a=0|this._e,u=0;u<16;++u)e[u]=t.readInt32BE(4*u);for(;u<80;++u)e[u]=c(e[u-3]^e[u-8]^e[u-14]^e[u-16]);for(var f=0;f<80;++f){var p=~~(f/20),g=h(i)+d(p,n,r,o)+a+e[f]+s[p]|0;a=o,o=r,r=l(n),n=i,i=g}this._a=i+this._a|0,this._b=n+this._b|0,this._c=r+this._c|0,this._d=o+this._d|0,this._e=a+this._e|0},u.prototype._hash=function(){var t=o.allocUnsafe(20);return t.writeInt32BE(0|this._a,0),t.writeInt32BE(0|this._b,4),t.writeInt32BE(0|this._c,8),t.writeInt32BE(0|this._d,12),t.writeInt32BE(0|this._e,16),t},t.exports=u},26710(t,e,i){"use strict";var n=i(56698),r=i(24107),o=i(90392),s=i(92861).Buffer,a=new Array(64);function u(){this.init(),this._w=a,o.call(this,64,56)}n(u,r),u.prototype.init=function(){return this._a=3238371032,this._b=914150663,this._c=812702999,this._d=4144912697,this._e=4290775857,this._f=1750603025,this._g=1694076839,this._h=3204075428,this},u.prototype._hash=function(){var t=s.allocUnsafe(28);return t.writeInt32BE(this._a,0),t.writeInt32BE(this._b,4),t.writeInt32BE(this._c,8),t.writeInt32BE(this._d,12),t.writeInt32BE(this._e,16),t.writeInt32BE(this._f,20),t.writeInt32BE(this._g,24),t},t.exports=u},24107(t,e,i){"use strict";var n=i(56698),r=i(90392),o=i(92861).Buffer,s=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],a=new Array(64);function u(){this.init(),this._w=a,r.call(this,64,56)}function c(t,e,i){return i^t&(e^i)}function h(t,e,i){return t&e|i&(t|e)}function l(t){return(t>>>2|t<<30)^(t>>>13|t<<19)^(t>>>22|t<<10)}function d(t){return(t>>>6|t<<26)^(t>>>11|t<<21)^(t>>>25|t<<7)}function f(t){return(t>>>7|t<<25)^(t>>>18|t<<14)^t>>>3}function p(t){return(t>>>17|t<<15)^(t>>>19|t<<13)^t>>>10}n(u,r),u.prototype.init=function(){return this._a=1779033703,this._b=3144134277,this._c=1013904242,this._d=2773480762,this._e=1359893119,this._f=2600822924,this._g=528734635,this._h=1541459225,this},u.prototype._update=function(t){for(var e=this._w,i=0|this._a,n=0|this._b,r=0|this._c,o=0|this._d,a=0|this._e,u=0|this._f,g=0|this._g,A=0|this._h,m=0;m<16;++m)e[m]=t.readInt32BE(4*m);for(;m<64;++m)e[m]=p(e[m-2])+e[m-7]+f(e[m-15])+e[m-16]|0;for(var v=0;v<64;++v){var b=A+d(a)+c(a,u,g)+s[v]+e[v]|0,y=l(i)+h(i,n,r)|0;A=g,g=u,u=a,a=o+b|0,o=r,r=n,n=i,i=b+y|0}this._a=i+this._a|0,this._b=n+this._b|0,this._c=r+this._c|0,this._d=o+this._d|0,this._e=a+this._e|0,this._f=u+this._f|0,this._g=g+this._g|0,this._h=A+this._h|0},u.prototype._hash=function(){var t=o.allocUnsafe(32);return t.writeInt32BE(this._a,0),t.writeInt32BE(this._b,4),t.writeInt32BE(this._c,8),t.writeInt32BE(this._d,12),t.writeInt32BE(this._e,16),t.writeInt32BE(this._f,20),t.writeInt32BE(this._g,24),t.writeInt32BE(this._h,28),t},t.exports=u},32827(t,e,i){"use strict";var n=i(56698),r=i(82890),o=i(90392),s=i(92861).Buffer,a=new Array(160);function u(){this.init(),this._w=a,o.call(this,128,112)}n(u,r),u.prototype.init=function(){return this._ah=3418070365,this._bh=1654270250,this._ch=2438529370,this._dh=355462360,this._eh=1731405415,this._fh=2394180231,this._gh=3675008525,this._hh=1203062813,this._al=3238371032,this._bl=914150663,this._cl=812702999,this._dl=4144912697,this._el=4290775857,this._fl=1750603025,this._gl=1694076839,this._hl=3204075428,this},u.prototype._hash=function(){var t=s.allocUnsafe(48);function e(e,i,n){t.writeInt32BE(e,n),t.writeInt32BE(i,n+4)}return e(this._ah,this._al,0),e(this._bh,this._bl,8),e(this._ch,this._cl,16),e(this._dh,this._dl,24),e(this._eh,this._el,32),e(this._fh,this._fl,40),t},t.exports=u},82890(t,e,i){"use strict";var n=i(56698),r=i(90392),o=i(92861).Buffer,s=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591],a=new Array(160);function u(){this.init(),this._w=a,r.call(this,128,112)}function c(t,e,i){return i^t&(e^i)}function h(t,e,i){return t&e|i&(t|e)}function l(t,e){return(t>>>28|e<<4)^(e>>>2|t<<30)^(e>>>7|t<<25)}function d(t,e){return(t>>>14|e<<18)^(t>>>18|e<<14)^(e>>>9|t<<23)}function f(t,e){return(t>>>1|e<<31)^(t>>>8|e<<24)^t>>>7}function p(t,e){return(t>>>1|e<<31)^(t>>>8|e<<24)^(t>>>7|e<<25)}function g(t,e){return(t>>>19|e<<13)^(e>>>29|t<<3)^t>>>6}function A(t,e){return(t>>>19|e<<13)^(e>>>29|t<<3)^(t>>>6|e<<26)}function m(t,e){return t>>>0>>0?1:0}n(u,r),u.prototype.init=function(){return this._ah=1779033703,this._bh=3144134277,this._ch=1013904242,this._dh=2773480762,this._eh=1359893119,this._fh=2600822924,this._gh=528734635,this._hh=1541459225,this._al=4089235720,this._bl=2227873595,this._cl=4271175723,this._dl=1595750129,this._el=2917565137,this._fl=725511199,this._gl=4215389547,this._hl=327033209,this},u.prototype._update=function(t){for(var e=this._w,i=0|this._ah,n=0|this._bh,r=0|this._ch,o=0|this._dh,a=0|this._eh,u=0|this._fh,v=0|this._gh,b=0|this._hh,y=0|this._al,w=0|this._bl,C=0|this._cl,x=0|this._dl,k=0|this._el,_=0|this._fl,M=0|this._gl,B=0|this._hl,E=0;E<32;E+=2)e[E]=t.readInt32BE(4*E),e[E+1]=t.readInt32BE(4*E+4);for(;E<160;E+=2){var I=e[E-30],S=e[E-30+1],D=f(I,S),T=p(S,I),O=g(I=e[E-4],S=e[E-4+1]),P=A(S,I),R=e[E-14],z=e[E-14+1],N=e[E-32],H=e[E-32+1],j=T+z|0,L=D+R+m(j,T)|0;L=(L=L+O+m(j=j+P|0,P)|0)+N+m(j=j+H|0,H)|0,e[E]=L,e[E+1]=j}for(var U=0;U<160;U+=2){L=e[U],j=e[U+1];var q=h(i,n,r),F=h(y,w,C),W=l(i,y),Y=l(y,i),Q=d(a,k),G=d(k,a),V=s[U],K=s[U+1],X=c(a,u,v),Z=c(k,_,M),J=B+G|0,$=b+Q+m(J,B)|0;$=($=($=$+X+m(J=J+Z|0,Z)|0)+V+m(J=J+K|0,K)|0)+L+m(J=J+j|0,j)|0;var tt=Y+F|0,et=W+q+m(tt,Y)|0;b=v,B=M,v=u,M=_,u=a,_=k,a=o+$+m(k=x+J|0,x)|0,o=r,x=C,r=n,C=w,n=i,w=y,i=$+et+m(y=J+tt|0,J)|0}this._al=this._al+y|0,this._bl=this._bl+w|0,this._cl=this._cl+C|0,this._dl=this._dl+x|0,this._el=this._el+k|0,this._fl=this._fl+_|0,this._gl=this._gl+M|0,this._hl=this._hl+B|0,this._ah=this._ah+i+m(this._al,y)|0,this._bh=this._bh+n+m(this._bl,w)|0,this._ch=this._ch+r+m(this._cl,C)|0,this._dh=this._dh+o+m(this._dl,x)|0,this._eh=this._eh+a+m(this._el,k)|0,this._fh=this._fh+u+m(this._fl,_)|0,this._gh=this._gh+v+m(this._gl,M)|0,this._hh=this._hh+b+m(this._hl,B)|0},u.prototype._hash=function(){var t=o.allocUnsafe(64);function e(e,i,n){t.writeInt32BE(e,n),t.writeInt32BE(i,n+4)}return e(this._ah,this._al,0),e(this._bh,this._bl,8),e(this._ch,this._cl,16),e(this._dh,this._dl,24),e(this._eh,this._el,32),e(this._fh,this._fl,40),e(this._gh,this._gl,48),e(this._hh,this._hl,56),t},t.exports=u},57223(){"use strict";!function t(e,i,n){function r(s,a){if(!i[s]){if(!e[s]){if(o)return o(s,!0);throw new Error("Cannot find module '"+s+"'")}var u=i[s]={exports:{}};e[s][0].call(u.exports,function(t){return r(e[s][1][t]||t)},u,u.exports,t,e,i,n)}return i[s].exports}for(var o=void 0,s=0;s0?e.touches[0]["page"+t]:e.changedTouches[0]["page"+t]:e["page"+t]},klass:{has:function(t,e){return-1!==t.className.indexOf(e)},add:function(t,i){!r.klass.has(t,i)&&e.addBodyClasses&&(t.className+=" "+i)},remove:function(t,i){e.addBodyClasses&&(t.className=t.className.replace(i,"").replace(/^\s+|\s+$/g,""))}},dispatchEvent:function(t){if("function"==typeof n[t])return n[t].call()},vendor:function(){var t,e=document.createElement("div"),i="webkit Moz O ms".split(" ");for(t in i)if(void 0!==e.style[i[t]+"Transition"])return i[t]},transitionCallback:function(){return"Moz"===i.vendor||"ms"===i.vendor?"transitionend":i.vendor+"TransitionEnd"},deepExtend:function(t,e){var i;for(i in e)e[i]&&e[i].constructor&&e[i].constructor===Object?(t[i]=t[i]||{},r.deepExtend(t[i],e[i])):t[i]=e[i];return t},angleOfDrag:function(t,e){var n,r;return(r=Math.atan2(-(i.startDragY-e),i.startDragX-t))<0&&(r+=2*Math.PI),(n=Math.floor(r*(180/Math.PI)-180))<0&&n>-180&&(n=360-Math.abs(n)),Math.abs(n)},events:{addEvent:function(t,e,i){return t.addEventListener?t.addEventListener(e,i,!1):t.attachEvent?t.attachEvent("on"+e,i):void 0},removeEvent:function(t,e,i){return t.addEventListener?t.removeEventListener(e,i,!1):t.attachEvent?t.detachEvent("on"+e,i):void 0},prevent:function(t){t.preventDefault?t.preventDefault():t.returnValue=!1}},parentUntil:function(t,e){for(var i="string"==typeof e;t.parentNode;){if(i&&t.getAttribute&&t.getAttribute(e))return t;if(!i&&t===e)return t;t=t.parentNode}return null}},o={translate:{get:{matrix:function(t){var n=window.getComputedStyle(e.element)[i.vendor+"Transform"].match(/\((.*)\)/);return n?(16===(n=n[1].split(",")).length&&(t+=8),parseInt(n[t],10)):0}},easeCallback:function(){e.element.style[i.vendor+"Transition"]="",i.translation=o.translate.get.matrix(4),i.easing=!1,clearInterval(i.animatingInterval),0===i.easingTo&&(r.klass.remove(document.body,"snapjs-right"),r.klass.remove(document.body,"snapjs-left")),r.dispatchEvent("animated"),r.events.removeEvent(e.element,r.transitionCallback(),o.translate.easeCallback)},easeTo:function(t){i.easing=!0,i.easingTo=t,e.element.style[i.vendor+"Transition"]="all "+e.transitionSpeed+"s "+e.easing,i.animatingInterval=setInterval(function(){r.dispatchEvent("animating")},1),r.events.addEvent(e.element,r.transitionCallback(),o.translate.easeCallback),o.translate.x(t),0===t&&(e.element.style[i.vendor+"Transform"]="")},x:function(t){if(!("left"===e.disable&&t>0||"right"===e.disable&&t<0)){e.hyperextensible||(t===e.maxPosition||t>e.maxPosition?t=e.maxPosition:(t===e.minPosition||t0,l=c;if(i.intentChecked&&!i.hasIntent)return;if(e.addBodyClasses&&(u>0?(r.klass.add(document.body,"snapjs-left"),r.klass.remove(document.body,"snapjs-right")):u<0&&(r.klass.add(document.body,"snapjs-right"),r.klass.remove(document.body,"snapjs-left"))),!1===i.hasIntent||null===i.hasIntent){var d=r.angleOfDrag(n,s),f=d>=0&&d<=e.slideIntent||d<=360&&d>360-e.slideIntent;d>=180&&d<=180+e.slideIntent||d<=180&&d>=180-e.slideIntent||f?(i.hasIntent=!0,e.stopPropagation&&t.stopPropagation()):i.hasIntent=!1,i.intentChecked=!0}if(e.minDragDistance>=Math.abs(n-i.startDragX)||!1===i.hasIntent)return;r.events.prevent(t),r.dispatchEvent("drag"),i.dragWatchers.current=n,i.dragWatchers.last>n?("left"!==i.dragWatchers.state&&(i.dragWatchers.state="left",i.dragWatchers.hold=n),i.dragWatchers.last=n):i.dragWatchers.laste.maxPosition/2,flick:Math.abs(i.dragWatchers.current-i.dragWatchers.hold)>e.flickThreshold,translation:{absolute:u,relative:c,sinceDirectionChange:i.dragWatchers.current-i.dragWatchers.hold,percentage:u/e.maxPosition*100}}):(e.minPosition>u&&(l=c-(u-e.minPosition)*e.resistance),i.simpleStates={opening:"right",towards:i.dragWatchers.state,hyperExtending:e.minPosition>u,halfway:ue.flickThreshold,translation:{absolute:u,relative:c,sinceDirectionChange:i.dragWatchers.current-i.dragWatchers.hold,percentage:u/e.minPosition*100}}),o.translate.x(l+a)}},endDrag:function(t){if(i.isDragging){r.dispatchEvent("end");var n=o.translate.get.matrix(4);if(0===i.dragWatchers.current&&0!==n&&e.tapToClose)return r.dispatchEvent("close"),r.events.prevent(t),o.translate.easeTo(0),i.isDragging=!1,void(i.startDragX=0);"left"===i.simpleStates.opening?i.simpleStates.halfway||i.simpleStates.hyperExtending||i.simpleStates.flick?i.simpleStates.flick&&"left"===i.simpleStates.towards?o.translate.easeTo(0):(i.simpleStates.flick&&"right"===i.simpleStates.towards||i.simpleStates.halfway||i.simpleStates.hyperExtending)&&o.translate.easeTo(e.maxPosition):o.translate.easeTo(0):"right"===i.simpleStates.opening&&(i.simpleStates.halfway||i.simpleStates.hyperExtending||i.simpleStates.flick?i.simpleStates.flick&&"right"===i.simpleStates.towards?o.translate.easeTo(0):(i.simpleStates.flick&&"left"===i.simpleStates.towards||i.simpleStates.halfway||i.simpleStates.hyperExtending)&&o.translate.easeTo(e.minPosition):o.translate.easeTo(0)),i.isDragging=!1,i.startDragX=r.page("X",t)}}}},s=function(t){if(r.deepExtend(e,t),!e.element)throw"Snap's element argument does not exist.";e.element.setAttribute("touch-action","pan-y")};this.open=function(t){r.dispatchEvent("open"),r.klass.remove(document.body,"snapjs-expand-left"),r.klass.remove(document.body,"snapjs-expand-right"),"left"===t?(i.simpleStates.opening="left",i.simpleStates.towards="right",r.klass.add(document.body,"snapjs-left"),r.klass.remove(document.body,"snapjs-right"),o.translate.easeTo(e.maxPosition)):"right"===t&&(i.simpleStates.opening="right",i.simpleStates.towards="left",r.klass.remove(document.body,"snapjs-left"),r.klass.add(document.body,"snapjs-right"),o.translate.easeTo(e.minPosition))},this.close=function(){r.dispatchEvent("close"),o.translate.easeTo(0)},this.expand=function(t){var e=window.innerWidth||document.documentElement.clientWidth;"left"===t?(r.dispatchEvent("expandLeft"),r.klass.add(document.body,"snapjs-expand-left"),r.klass.remove(document.body,"snapjs-expand-right")):(r.dispatchEvent("expandRight"),r.klass.add(document.body,"snapjs-expand-right"),r.klass.remove(document.body,"snapjs-expand-left"),e*=-1),o.translate.easeTo(e)},this.on=function(t,e){return n[t]=e,this},this.off=function(t){n[t]&&(n[t]=!1)},this.enable=function(){r.dispatchEvent("enable"),o.drag.listen()},this.disable=function(){r.dispatchEvent("disable"),o.drag.stopListening()},this.settings=function(t){s(t)},this.state=function(){var t=o.translate.get.matrix(4);return{state:t===e.maxPosition?"left":t===e.minPosition?"right":"closed",info:i.simpleStates}},s(t),i.vendor=r.vendor(),o.drag.listen()}},{}]},{},[1])},53425(t,e,i){var n,r=i(74692);(n=r).fn.strengthify=function(t){"use strict";var e={zxcvbn:"zxcvbn/zxcvbn.js",userInputs:[],titles:["Weakest","Weak","So-so","Good","Perfect"],tilesOptions:{tooltip:!0,element:!1},drawTitles:!1,drawMessage:!1,drawBars:!0,$addAfter:null,nonce:null};return this.each(function(){var i=n.extend(e,t);function r(t){return n('div[data-strengthifyFor="'+t+'"]')}function o(){var t=n(this).val().substring(0,100),e=n(this).attr("id"),o=""===t?0:1,s=zxcvbn(t,i.userInputs),a="",u="",c="",h=r(e),l=h.find(".strengthify-container"),d=h.find("[data-strengthifyMessage]");switch(h.children().css("opacity",o).css("-ms-filter",'"progid:DXImageTransform.Microsoft.Alpha(Opacity='+100*o+')"'),i.onResult&&i.onResult(s),s.score){case 0:case 1:a="password-bad",u="danger",c=s.feedback?s.feedback.suggestions.join("
          "):"";break;case 2:u="warning",c=s.feedback?s.feedback.suggestions.join("
          "):"",a="password-medium";break;case 3:a="password-good",u="info",c="Getting better.";break;case 4:a="password-good",u="success",c="Looks good."}d&&(d.removeAttr("class"),d.addClass("bg-"+u),""===t&&(c=""),d.html(c)),l&&(l.attr("class",a+" strengthify-container").css("width",25*(0===s.score?1:s.score)+"%"),""===t&&l.css("width",0)),i.drawTitles&&(i.tilesOptions.tooltip&&(h.attr("title",i.titles[s.score]).tooltip({placement:"bottom",trigger:"manual"}).tooltip("fixTitle").tooltip("show"),0===o&&h.tooltip("hide")),i.tilesOptions.element&&h.find(".strengthify-tiles").text(i.titles[s.score]))}i.drawTitles||i.drawMessage||i.drawBars||console.warn("expect at least one of 'drawTitles', 'drawMessage', or 'drawBars' to be true"),function(){var t=n(this),e=t.attr("id"),s=o.bind(this),a=i.$addAfter;a||(a=t),a.after('
          '),i.drawBars&&r(e).append('
          ').append('
          ').append('
          ').append('
          ').append('
          '),i.drawMessage&&r(e).append("
          "),i.drawTitles&&i.tilesOptions&&r(e).append('
          ');var u=document.createElement("script");u.src=i.zxcvbn,null!==i.nonce&&u.setAttribute("nonce",i.nonce),u.onload=function(){t.parent().on("scroll",s),t.bind("keyup input change",s)},document.head.appendChild(u)}.call(this)})}},15377(t,e,i){"use strict";var n=i(92861).Buffer,r=i(92006),o=i(74372),s=ArrayBuffer.isView||function(t){try{return o(t),!0}catch(t){return!1}},a="undefined"!=typeof Uint8Array,u="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array,c=u&&(n.prototype instanceof Uint8Array||n.TYPED_ARRAY_SUPPORT);t.exports=function(t,e){if(n.isBuffer(t))return t.constructor&&!("isBuffer"in t)?n.from(t):t;if("string"==typeof t)return n.from(t,e);if(u&&s(t)){if(0===t.byteLength)return n.alloc(0);if(c){var i=n.from(t.buffer,t.byteOffset,t.byteLength);if(i.byteLength===t.byteLength)return i}var o=t instanceof Uint8Array?t:new Uint8Array(t.buffer,t.byteOffset,t.byteLength),h=n.from(o);if(h.length===t.byteLength)return h}if(a&&t instanceof Uint8Array)return n.from(t);var l=r(t);if(l)for(var d=0;d255||~~f!==f)throw new RangeError("Array items must be numbers in the range 0-255.")}if(l||n.isBuffer(t)&&t.constructor&&"function"==typeof t.constructor.isBuffer&&t.constructor.isBuffer(t))return n.from(t);throw new TypeError('The "data" argument must be a string, an Array, a Buffer, a Uint8Array, or a DataView.')}},92006(t){var e={}.toString;t.exports=Array.isArray||function(t){return"[object Array]"==e.call(t)}},74372(t,e,i){"use strict";var n=i(69675),r=i(36556)("TypedArray.prototype.buffer",!0),o=i(35680);t.exports=r||function(t){if(!o(t))throw new n("Not a Typed Array");return t.buffer}},68961(__unused_webpack_module,exports){var indexOf=function(t,e){if(t.indexOf)return t.indexOf(e);for(var i=0;i=o&&(!i||A))n=v(t,0,o);else{var m=i&&!A&&y?{maxByteLength:p(o,y(t))}:void 0;n=new d(o,m);for(var x=new f(t),k=new f(n),_=g(o,r),M=0;M<_;M++)C(k,M,w(x,M))}return h||c(t),n}},94644(t,e,i){"use strict";var n,r,o,s=i(77811),a=i(43724),u=i(44576),c=i(94901),h=i(20034),l=i(39297),d=i(36955),f=i(16823),p=i(66699),g=i(36840),A=i(62106),m=i(1625),v=i(42787),b=i(52967),y=i(608),w=i(33392),C=i(91181),x=C.enforce,k=C.get,_=u.Int8Array,M=_&&_.prototype,B=u.Uint8ClampedArray,E=B&&B.prototype,I=_&&v(_),S=M&&v(M),D=Object.prototype,T=u.TypeError,O=y("toStringTag"),P=w("TYPED_ARRAY_TAG"),R="TypedArrayConstructor",z=s&&!!b&&"Opera"!==d(u.opera),N=!1,H={Int8Array:1,Uint8Array:1,Uint8ClampedArray:1,Int16Array:2,Uint16Array:2,Int32Array:4,Uint32Array:4,Float32Array:4,Float64Array:8},j={BigInt64Array:8,BigUint64Array:8},L=function(t){var e=v(t);if(h(e)){var i=k(e);return i&&l(i,R)?i[R]:L(e)}},U=function(t){if(!h(t))return!1;var e=d(t);return l(H,e)||l(j,e)};for(n in H)(o=(r=u[n])&&r.prototype)?x(o)[R]=r:z=!1;for(n in j)(o=(r=u[n])&&r.prototype)&&(x(o)[R]=r);if((!z||!c(I)||I===Function.prototype)&&(I=function(){throw new T("Incorrect invocation")},z))for(n in H)u[n]&&b(u[n],I);if((!z||!S||S===D)&&(S=I.prototype,z))for(n in H)u[n]&&b(u[n].prototype,S);if(z&&v(E)!==S&&b(E,S),a&&!l(S,O))for(n in N=!0,A(S,O,{configurable:!0,get:function(){return h(this)?this[P]:void 0}}),H)u[n]&&p(u[n].prototype,P,n);t.exports={NATIVE_ARRAY_BUFFER_VIEWS:z,TYPED_ARRAY_TAG:N&&P,aTypedArray:function(t){if(U(t))return t;throw new T("Target is not a typed array")},aTypedArrayConstructor:function(t){if(c(t)&&(!b||m(I,t)))return t;throw new T(f(t)+" is not a typed array constructor")},exportTypedArrayMethod:function(t,e,i,n){if(a){if(i)for(var r in H){var o=u[r];if(o&&l(o.prototype,t))try{delete o.prototype[t]}catch(i){try{o.prototype[t]=e}catch(t){}}}S[t]&&!i||g(S,t,i?e:z&&M[t]||e,n)}},exportTypedArrayStaticMethod:function(t,e,i){var n,r;if(a){if(b){if(i)for(n in H)if((r=u[n])&&l(r,t))try{delete r[t]}catch(t){}if(I[t]&&!i)return;try{return g(I,t,i?e:z&&I[t]||e)}catch(t){}}for(n in H)!(r=u[n])||r[t]&&!i||g(r,t,e)}},getTypedArrayConstructor:L,isView:function(t){if(!h(t))return!1;var e=d(t);return"DataView"===e||l(H,e)||l(j,e)},isTypedArray:U,TypedArray:I,TypedArrayPrototype:S}},66346(t,e,i){"use strict";var n=i(44576),r=i(79504),o=i(43724),s=i(77811),a=i(10350),u=i(66699),c=i(62106),h=i(56279),l=i(79039),d=i(90679),f=i(91291),p=i(57696),g=i(15617),A=i(88490),m=i(42787),v=i(52967),b=i(84373),y=i(67680),w=i(23167),C=i(77740),x=i(10687),k=i(91181),_=a.PROPER,M=a.CONFIGURABLE,B="ArrayBuffer",E="DataView",I="prototype",S="Wrong index",D=k.getterFor(B),T=k.getterFor(E),O=k.set,P=n[B],R=P,z=R&&R[I],N=n[E],H=N&&N[I],j=Object.prototype,L=n.Array,U=n.RangeError,q=r(b),F=r([].reverse),W=A.pack,Y=A.unpack,Q=function(t){return[255&t]},G=function(t){return[255&t,t>>8&255]},V=function(t){return[255&t,t>>8&255,t>>16&255,t>>24&255]},K=function(t){return t[3]<<24|t[2]<<16|t[1]<<8|t[0]},X=function(t){return W(g(t),23,4)},Z=function(t){return W(t,52,8)},J=function(t,e,i){c(t[I],e,{configurable:!0,get:function(){return i(this)[e]}})},$=function(t,e,i,n){var r=T(t),o=p(i),s=!!n;if(o+e>r.byteLength)throw new U(S);var a=r.bytes,u=o+r.byteOffset,c=y(a,u,u+e);return s?c:F(c)},tt=function(t,e,i,n,r,o){var s=T(t),a=p(i),u=n(+r),c=!!o;if(a+e>s.byteLength)throw new U(S);for(var h=s.bytes,l=a+s.byteOffset,d=0;d>24)},setUint8:function(t,e){nt(this,t,e<<24>>24)}},{unsafe:!0})}else z=(R=function(t){d(this,z);var e=p(t);O(this,{type:B,bytes:q(L(e),0),byteLength:e}),o||(this.byteLength=e,this.detached=!1)})[I],H=(N=function(t,e,i){d(this,H),d(t,z);var n=D(t),r=n.byteLength,s=f(e);if(s<0||s>r)throw new U("Wrong offset");if(s+(i=void 0===i?r-s:p(i))>r)throw new U("Wrong length");O(this,{type:E,buffer:t,byteLength:i,byteOffset:s,bytes:n.bytes}),o||(this.buffer=t,this.byteLength=i,this.byteOffset=s)})[I],o&&(J(R,"byteLength",D),J(N,"buffer",T),J(N,"byteLength",T),J(N,"byteOffset",T)),h(H,{getInt8:function(t){return $(this,1,t)[0]<<24>>24},getUint8:function(t){return $(this,1,t)[0]},getInt16:function(t){var e=$(this,2,t,arguments.length>1&&arguments[1]);return(e[1]<<8|e[0])<<16>>16},getUint16:function(t){var e=$(this,2,t,arguments.length>1&&arguments[1]);return e[1]<<8|e[0]},getInt32:function(t){return K($(this,4,t,arguments.length>1&&arguments[1]))},getUint32:function(t){return K($(this,4,t,arguments.length>1&&arguments[1]))>>>0},getFloat32:function(t){return Y($(this,4,t,arguments.length>1&&arguments[1]),23)},getFloat64:function(t){return Y($(this,8,t,arguments.length>1&&arguments[1]),52)},setInt8:function(t,e){tt(this,1,t,Q,e)},setUint8:function(t,e){tt(this,1,t,Q,e)},setInt16:function(t,e){tt(this,2,t,G,e,arguments.length>2&&arguments[2])},setUint16:function(t,e){tt(this,2,t,G,e,arguments.length>2&&arguments[2])},setInt32:function(t,e){tt(this,4,t,V,e,arguments.length>2&&arguments[2])},setUint32:function(t,e){tt(this,4,t,V,e,arguments.length>2&&arguments[2])},setFloat32:function(t,e){tt(this,4,t,X,e,arguments.length>2&&arguments[2])},setFloat64:function(t,e){tt(this,8,t,Z,e,arguments.length>2&&arguments[2])}});x(R,B),x(N,E),t.exports={ArrayBuffer:R,DataView:N}},57029(t,e,i){"use strict";var n=i(48981),r=i(35610),o=i(26198),s=i(84606),a=Math.min;t.exports=[].copyWithin||function(t,e){var i=n(this),u=o(i),c=r(t,u),h=r(e,u),l=arguments.length>2?arguments[2]:void 0,d=a((void 0===l?u:r(l,u))-h,u-c),f=1;for(h0;)h in i?i[c]=i[h]:s(i,c),c+=f,h+=f;return i}},84373(t,e,i){"use strict";var n=i(48981),r=i(35610),o=i(26198);t.exports=function(t){for(var e=n(this),i=o(e),s=arguments.length,a=r(s>1?arguments[1]:void 0,i),u=s>2?arguments[2]:void 0,c=void 0===u?i:r(u,i);c>a;)e[a++]=t;return e}},90235(t,e,i){"use strict";var n=i(59213).forEach,r=i(34598)("forEach");t.exports=r?[].forEach:function(t){return n(this,t,arguments.length>1?arguments[1]:void 0)}},8045(t,e,i){"use strict";var n=i(76080),r=i(79504),o=i(33517),s=i(1886),a=i(70081),u=i(1767),c=i(50851),h=i(55966),l=i(97751),d=i(44124),f=i(608),p=i(24074),g=i(36639).toArray,A=f("asyncIterator"),m=r(d("Array","values")),v=r(m([]).next),b=function(){return new y(this)},y=function(t){this.iterator=m(t)};y.prototype.next=function(){return v(this.iterator)},t.exports=function(t){var e=this,i=arguments.length,r=i>1?arguments[1]:void 0,d=i>2?arguments[2]:void 0;return new(l("Promise"))(function(i){void 0!==r&&(r=n(r,d));var l=h(t,A),f=l?void 0:c(t)||b,m=o(e)?new e:[],v=l?s(t,l):new p(u(a(t,f)));i(g(v,r,m))})}},35370(t,e,i){"use strict";var n=i(26198);t.exports=function(t,e,i){for(var r=0,o=arguments.length>2?i:n(e),s=new t(o);o>r;)s[r]=e[r++];return s}},97916(t,e,i){"use strict";var n=i(76080),r=i(69565),o=i(48981),s=i(96319),a=i(44209),u=i(33517),c=i(26198),h=i(97040),l=i(34527),d=i(70081),f=i(50851),p=i(9539),g=Array;t.exports=function(t){var e=u(this),i=arguments.length,A=i>1?arguments[1]:void 0,m=void 0!==A;m&&(A=n(A,i>2?arguments[2]:void 0));var v,b,y,w,C,x,k=o(t),_=f(k),M=0;if(!_||this===g&&a(_))for(v=c(k),b=e?new this(v):g(v);v>M;M++)x=m?A(k[M],M):k[M],h(b,M,x);else for(b=e?new this:[],C=(w=d(k,_)).next;!(y=r(C,w)).done;M++){x=m?s(w,A,[y.value,M],!0):y.value;try{h(b,M,x)}catch(t){p(w,"throw",t)}}return l(b,M),b}},19617(t,e,i){"use strict";var n=i(25397),r=i(35610),o=i(26198),s=function(t){return function(e,i,s){var a=n(e),u=o(a);if(0===u)return!t&&-1;var c,h=r(s,u);if(t&&i!=i){for(;u>h;)if((c=a[h++])!=c)return!0}else for(;u>h;h++)if((t||h in a)&&a[h]===i)return t||h||0;return!t&&-1}};t.exports={includes:s(!0),indexOf:s(!1)}},43839(t,e,i){"use strict";var n=i(76080),r=i(47055),o=i(48981),s=i(26198),a=function(t){var e=1===t;return function(i,a,u){for(var c,h=o(i),l=r(h),d=s(l),f=n(a,u);d-- >0;)if(f(c=l[d],d,h))switch(t){case 0:return c;case 1:return d}return e?-1:void 0}};t.exports={findLast:a(0),findLastIndex:a(1)}},59213(t,e,i){"use strict";var n=i(76080),r=i(47055),o=i(48981),s=i(26198),a=i(1469),u=i(97040),c=function(t){var e=1===t,i=2===t,c=3===t,h=4===t,l=6===t,d=7===t,f=5===t||l;return function(p,g,A){for(var m,v,b=o(p),y=r(b),w=s(y),C=n(g,A),x=0,k=0,_=e?a(p,w):i||d?a(p,0):void 0;w>x;x++)if((f||x in y)&&(v=C(m=y[x],x,b),t))if(e)u(_,x,v);else if(v)switch(t){case 3:return!0;case 5:return m;case 6:return x;case 2:u(_,k++,m)}else switch(t){case 4:return!1;case 7:u(_,k++,m)}return l?-1:c||h?h:_}};t.exports={forEach:c(0),map:c(1),filter:c(2),some:c(3),every:c(4),find:c(5),findIndex:c(6),filterReject:c(7)}},8379(t,e,i){"use strict";var n=i(18745),r=i(25397),o=i(91291),s=i(26198),a=i(34598),u=Math.min,c=[].lastIndexOf,h=!!c&&1/[1].lastIndexOf(1,-0)<0,l=a("lastIndexOf"),d=h||!l;t.exports=d?function(t){if(h)return n(c,this,arguments)||0;var e=r(this),i=s(e);if(0===i)return-1;var a=i-1;for(arguments.length>1&&(a=u(a,o(arguments[1]))),a<0&&(a=i+a);a>=0;a--)if(a in e&&e[a]===t)return a||0;return-1}:c},70597(t,e,i){"use strict";var n=i(79039),r=i(608),o=i(39519),s=r("species");t.exports=function(t){return o>=51||!n(function(){var e=[];return(e.constructor={})[s]=function(){return{foo:1}},1!==e[t](Boolean).foo})}},34598(t,e,i){"use strict";var n=i(79039);t.exports=function(t,e){var i=[][t];return!!i&&n(function(){i.call(null,e||function(){return 1},1)})}},80926(t,e,i){"use strict";var n=i(79306),r=i(48981),o=i(47055),s=i(26198),a=TypeError,u="Reduce of empty array with no initial value",c=function(t){return function(e,i,c,h){var l=r(e),d=o(l),f=s(l);if(n(i),0===f&&c<2)throw new a(u);var p=t?f-1:0,g=t?-1:1;if(c<2)for(;;){if(p in d){h=d[p],p+=g;break}if(p+=g,t?p<0:f<=p)throw new a(u)}for(;t?p>=0:f>p;p+=g)p in d&&(h=i(h,d[p],p,l));return h}};t.exports={left:c(!1),right:c(!0)}},34527(t,e,i){"use strict";var n=i(43724),r=i(34376),o=TypeError,s=Object.getOwnPropertyDescriptor,a=n&&!function(){if(void 0!==this)return!0;try{Object.defineProperty([],"length",{writable:!1}).length=1}catch(t){return t instanceof TypeError}}();t.exports=a?function(t,e){if(r(t)&&!s(t,"length").writable)throw new o("Cannot set read only .length");return t.length=e}:function(t,e){return t.length=e}},67680(t,e,i){"use strict";var n=i(79504);t.exports=n([].slice)},74488(t,e,i){"use strict";var n=i(67680),r=Math.floor,o=function(t,e){var i=t.length;if(i<8)for(var s,a,u=1;u0;)t[a]=t[--a];a!==u++&&(t[a]=s)}else for(var c=r(i/2),h=o(n(t,0,c),e),l=o(n(t,c),e),d=h.length,f=l.length,p=0,g=0;p0,i=e?arguments[0]:void 0;return new f(function(o,s){var a=r(e?n(t.next,t.iterator,i):n(t.next,t.iterator));m(a,o,s,t.iterator,!0)})},return:function(){var t=A(this).iterator,e=arguments.length>0,i=e?arguments[0]:void 0;return new f(function(o,a){var u=s(t,"return");if(void 0===u)return o(d(i,!0));var c=r(e?n(u,t,i):n(u,t));m(c,o,a,t)})},throw:function(){var t=A(this).iterator,e=arguments.length>0,i=e?arguments[0]:void 0;return new f(function(o,a){var u=s(t,"throw");if(void 0===u){try{c(t,"normal")}catch(t){return a(t)}return a(new TypeError("The iterator does not provide a throw method"))}var h=r(e?n(u,t,i):n(u,t));m(h,o,a,t,!0)})}}),t.exports=v},20772(t,e,i){"use strict";var n=i(69565),r=i(28551),o=i(97751),s=i(55966);t.exports=function(t,e,i,a){try{var u=s(t,"return");if(u)return o("Promise").resolve(n(u,t)).then(function(t){try{e!==a&&r(t)}catch(t){return void a(t)}e(i)},function(t){e===a?e(i):a(t)})}catch(t){return a(e===a?i:t)}e(i)}},36639(t,e,i){"use strict";var n=i(69565),r=i(79306),o=i(28551),s=i(20034),a=i(96837),u=i(97751),c=i(97040),h=i(34527),l=i(1767),d=i(20772),f=function(t){var e=0===t,i=1===t,f=2===t,p=3===t;return function(t,g,A){o(t);var m=void 0!==g;!m&&e||r(g);var v=l(t),b=u("Promise"),y=v.iterator,w=v.next,C=0;return new b(function(t,r){var u=function(t){d(y,r,t,r)},l=function(){try{try{a(C)}catch(t){return u(t)}b.resolve(o(n(w,y))).then(function(n){try{if(o(n).done)e?(h(A,C),t(A)):t(!p&&(f||void 0));else{var a=n.value;try{if(m){var v=C++,w=g(a,v),x=function(n){if(i)l();else if(f)n?l():d(y,t,!1,r);else if(e)try{c(A,v,n),l()}catch(t){u(t)}else n?d(y,t,p||a,r):l()};s(w)?b.resolve(w).then(x,u):x(w)}else c(A,C++,a),l()}catch(t){u(t)}}}catch(t){r(t)}},r)}catch(t){r(t)}};l()})}};t.exports={toArray:f(0),forEach:f(1),every:f(2),some:f(3),find:f(4)}},53982(t,e,i){"use strict";var n,r,o=i(44576),s=i(77629),a=i(94901),u=i(2360),c=i(42787),h=i(36840),l=i(608),d=i(96395),f="USE_FUNCTION_CONSTRUCTOR",p=l("asyncIterator"),g=o.AsyncIterator,A=s.AsyncIteratorPrototype;if(A)n=A;else if(a(g))n=g.prototype;else if(s[f]||o[f])try{r=c(c(c(Function("return async function*(){}()")()))),c(r)===Object.prototype&&(n=r)}catch(t){}n?d&&(n=u(n)):n={},a(n[p])||h(n,p,function(){return this}),t.exports=n},92804(t){"use strict";var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",i=e+"+/",n=e+"-_",r=function(t){for(var e={},i=0;i<64;i++)e[t.charAt(i)]=i;return e};t.exports={i2c:i,c2i:r(i),i2cUrl:n,c2iUrl:r(n)}},96319(t,e,i){"use strict";var n=i(28551),r=i(9539);t.exports=function(t,e,i,o){try{return o?e(n(i)[0],i[1]):e(i)}catch(e){r(t,"throw",e)}}},84428(t,e,i){"use strict";var n=i(608)("iterator"),r=!1;try{var o=0,s={next:function(){return{done:!!o++}},return:function(){r=!0}};s[n]=function(){return this},Array.from(s,function(){throw 2})}catch(t){}t.exports=function(t,e){try{if(!e&&!r)return!1}catch(t){return!1}var i=!1;try{var o={};o[n]=function(){return{next:function(){return{done:i=!0}}}},t(o)}catch(t){}return i}},22195(t,e,i){"use strict";var n=i(79504),r=n({}.toString),o=n("".slice);t.exports=function(t){return o(r(t),8,-1)}},36955(t,e,i){"use strict";var n=i(92140),r=i(94901),o=i(22195),s=i(608)("toStringTag"),a=Object,u="Arguments"===o(function(){return arguments}());t.exports=n?o:function(t){var e,i,n;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(i=function(t,e){try{return t[e]}catch(t){}}(e=a(t),s))?i:u?o(e):"Object"===(n=o(e))&&r(e.callee)?"Arguments":n}},64557(t,e,i){"use strict";var n=i(2360),r=i(62106),o=i(56279),s=i(76080),a=i(90679),u=i(64117),c=i(72652),h=i(51088),l=i(62529),d=i(87633),f=i(43724),p=i(3451).fastKey,g=i(91181),A=g.set,m=g.getterFor;t.exports={getConstructor:function(t,e,i,h){var l=t(function(t,r){a(t,d),A(t,{type:e,index:n(null),first:null,last:null,size:0}),f||(t.size=0),u(r)||c(r,t[h],{that:t,AS_ENTRIES:i})}),d=l.prototype,g=m(e),v=function(t,e,i){var n,r,o=g(t),s=b(t,e);return s?s.value=i:(o.last=s={index:r=p(e,!0),key:e,value:i,previous:n=o.last,next:null,removed:!1},o.first||(o.first=s),n&&(n.next=s),f?o.size++:t.size++,"F"!==r&&(o.index[r]=s)),t},b=function(t,e){var i,n=g(t),r=p(e);if("F"!==r)return n.index[r];for(i=n.first;i;i=i.next)if(i.key===e)return i};return o(d,{clear:function(){for(var t=g(this),e=t.first;e;)e.removed=!0,e.previous&&(e.previous=e.previous.next=null),e=e.next;t.first=t.last=null,t.index=n(null),f?t.size=0:this.size=0},delete:function(t){var e=this,i=g(e),n=b(e,t);if(n){var r=n.next,o=n.previous;delete i.index[n.index],n.removed=!0,o&&(o.next=r),r&&(r.previous=o),i.first===n&&(i.first=r),i.last===n&&(i.last=o),f?i.size--:e.size--}return!!n},forEach:function(t){for(var e,i=g(this),n=s(t,arguments.length>1?arguments[1]:void 0);e=e?e.next:i.first;)for(n(e.value,e.key,this);e&&e.removed;)e=e.previous},has:function(t){return!!b(this,t)}}),o(d,i?{get:function(t){var e=b(this,t);return e&&e.value},set:function(t,e){return v(this,0===t?0:t,e)}}:{add:function(t){return v(this,t=0===t?0:t,t)}}),f&&r(d,"size",{configurable:!0,get:function(){return g(this).size}}),l},setStrong:function(t,e,i){var n=e+" Iterator",r=m(e),o=m(n);h(t,e,function(t,e){A(this,{type:n,target:t,state:r(t),kind:e,last:null})},function(){for(var t=o(this),e=t.kind,i=t.last;i&&i.removed;)i=i.previous;return t.target&&(t.last=i=i?i.next:t.state.first)?l("keys"===e?i.key:"values"===e?i.value:[i.key,i.value],!1):(t.target=null,l(void 0,!0))},i?"entries":"values",!i,!0),d(e)}}},91625(t,e,i){"use strict";var n=i(79504),r=i(56279),o=i(3451).getWeakData,s=i(90679),a=i(28551),u=i(64117),c=i(20034),h=i(72652),l=i(59213),d=i(39297),f=i(91181),p=f.set,g=f.getterFor,A=l.find,m=l.findIndex,v=n([].splice),b=0,y=function(t){return t.frozen||(t.frozen=new w)},w=function(){this.entries=[]},C=function(t,e){return A(t.entries,function(t){return t[0]===e})};w.prototype={get:function(t){var e=C(this,t);if(e)return e[1]},has:function(t){return!!C(this,t)},set:function(t,e){var i=C(this,t);i?i[1]=e:this.entries.push([t,e])},delete:function(t){var e=m(this.entries,function(e){return e[0]===t});return~e&&v(this.entries,e,1),!!~e}},t.exports={getConstructor:function(t,e,i,n){var l=t(function(t,r){s(t,f),p(t,{type:e,id:b++,frozen:null}),u(r)||h(r,t[n],{that:t,AS_ENTRIES:i})}),f=l.prototype,A=g(e),m=function(t,e,i){var n=A(t),r=o(a(e),!0);return!0===r?y(n).set(e,i):r[n.id]=i,t};return r(f,{delete:function(t){var e=A(this);if(!c(t))return!1;var i=o(t);return!0===i?y(e).delete(t):i&&d(i,e.id)&&delete i[e.id]},has:function(t){var e=A(this);if(!c(t))return!1;var i=o(t);return!0===i?y(e).has(t):i&&d(i,e.id)}}),r(f,i?{get:function(t){var e=A(this);if(c(t)){var i=o(t);if(!0===i)return y(e).get(t);if(i)return i[e.id]}},set:function(t,e){return m(this,t,e)}}:{add:function(t){return m(this,t,!0)}}),l}}},16468(t,e,i){"use strict";var n=i(46518),r=i(44576),o=i(79504),s=i(92796),a=i(36840),u=i(3451),c=i(72652),h=i(90679),l=i(94901),d=i(64117),f=i(20034),p=i(79039),g=i(84428),A=i(10687),m=i(23167);t.exports=function(t,e,i){var v=-1!==t.indexOf("Map"),b=-1!==t.indexOf("Weak"),y=v?"set":"add",w=r[t],C=w&&w.prototype,x=w,k={},_=function(t){var e=o(C[t]);a(C,t,"add"===t?function(t){return e(this,0===t?0:t),this}:"delete"===t?function(t){return!(b&&!f(t))&&e(this,0===t?0:t)}:"get"===t?function(t){return b&&!f(t)?void 0:e(this,0===t?0:t)}:"has"===t?function(t){return!(b&&!f(t))&&e(this,0===t?0:t)}:function(t,i){return e(this,0===t?0:t,i),this})};if(s(t,!l(w)||!(b||C.forEach&&!p(function(){(new w).entries().next()}))))x=i.getConstructor(e,t,v,y),u.enable();else if(s(t,!0)){var M=new x,B=M[y](b?{}:-0,1)!==M,E=p(function(){M.has(1)}),I=g(function(t){new w(t)}),S=!b&&p(function(){for(var t=new w,e=5;e--;)t[y](e,e);return!t.has(-0)});I||((x=e(function(t,e){h(t,C);var i=m(new w,t,x);return d(e)||c(e,i[y],{that:i,AS_ENTRIES:v}),i})).prototype=C,C.constructor=x),(E||S)&&(_("delete"),_("has"),v&&_("get")),(S||B)&&_(y),b&&C.clear&&delete C.clear}return k[t]=x,n({global:!0,constructor:!0,forced:x!==w},k),A(x,t),b||i.setStrong(x,t,v),x}},77740(t,e,i){"use strict";var n=i(39297),r=i(35031),o=i(77347),s=i(24913);t.exports=function(t,e,i){for(var a=r(e),u=s.f,c=o.f,h=0;h"+u+""}},62529(t){"use strict";t.exports=function(t,e){return{value:t,done:e}}},66699(t,e,i){"use strict";var n=i(43724),r=i(24913),o=i(6980);t.exports=n?function(t,e,i){return r.f(t,e,o(1,i))}:function(t,e,i){return t[e]=i,t}},6980(t){"use strict";t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},97040(t,e,i){"use strict";var n=i(43724),r=i(24913),o=i(6980);t.exports=function(t,e,i){n?r.f(t,e,o(0,i)):t[e]=i}},70380(t,e,i){"use strict";var n=i(79504),r=i(79039),o=i(60533).start,s=RangeError,a=isFinite,u=Math.abs,c=Date.prototype,h=c.toISOString,l=n(c.getTime),d=n(c.getUTCDate),f=n(c.getUTCFullYear),p=n(c.getUTCHours),g=n(c.getUTCMilliseconds),A=n(c.getUTCMinutes),m=n(c.getUTCMonth),v=n(c.getUTCSeconds);t.exports=r(function(){return"0385-07-25T07:06:39.999Z"!==h.call(new Date(-50000000000001))})||!r(function(){h.call(new Date(NaN))})?function(){if(!a(l(this)))throw new s("Invalid time value");var t=this,e=f(t),i=g(t),n=e<0?"-":e>9999?"+":"";return n+o(u(e),n?6:4,0)+"-"+o(m(t)+1,2,0)+"-"+o(d(t),2,0)+"T"+o(p(t),2,0)+":"+o(A(t),2,0)+":"+o(v(t),2,0)+"."+o(i,3,0)+"Z"}:h},53640(t,e,i){"use strict";var n=i(28551),r=i(84270),o=TypeError;t.exports=function(t){if(n(this),"string"===t||"default"===t)t="string";else if("number"!==t)throw new o("Incorrect hint");return r(this,t)}},62106(t,e,i){"use strict";var n=i(50283),r=i(24913);t.exports=function(t,e,i){return i.get&&n(i.get,e,{getter:!0}),i.set&&n(i.set,e,{setter:!0}),r.f(t,e,i)}},36840(t,e,i){"use strict";var n=i(94901),r=i(24913),o=i(50283),s=i(39433);t.exports=function(t,e,i,a){a||(a={});var u=a.enumerable,c=void 0!==a.name?a.name:e;if(n(i)&&o(i,c,a),a.global)u?t[e]=i:s(e,i);else{try{a.unsafe?t[e]&&(u=!0):delete t[e]}catch(t){}u?t[e]=i:r.f(t,e,{value:i,enumerable:!1,configurable:!a.nonConfigurable,writable:!a.nonWritable})}return t}},56279(t,e,i){"use strict";var n=i(36840);t.exports=function(t,e,i){for(var r in e)n(t,r,e[r],i);return t}},39433(t,e,i){"use strict";var n=i(44576),r=Object.defineProperty;t.exports=function(t,e){try{r(n,t,{value:e,configurable:!0,writable:!0})}catch(i){n[t]=e}return e}},84606(t,e,i){"use strict";var n=i(16823),r=TypeError;t.exports=function(t,e){if(!delete t[e])throw new r("Cannot delete property "+n(e)+" of "+n(t))}},43724(t,e,i){"use strict";var n=i(79039);t.exports=!n(function(){return 7!==Object.defineProperty({},1,{get:function(){return 7}})[1]})},94483(t,e,i){"use strict";var n,r,o,s,a=i(44576),u=i(89429),c=i(1548),h=a.structuredClone,l=a.ArrayBuffer,d=a.MessageChannel,f=!1;if(c)f=function(t){h(t,{transfer:[t]})};else if(l)try{d||(n=u("worker_threads"))&&(d=n.MessageChannel),d&&(r=new d,o=new l(2),s=function(t){r.port1.postMessage(null,[t])},2===o.byteLength&&(s(o),0===o.byteLength&&(f=s)))}catch(t){}t.exports=f},4055(t,e,i){"use strict";var n=i(44576),r=i(20034),o=n.document,s=r(o)&&r(o.createElement);t.exports=function(t){return s?o.createElement(t):{}}},96837(t){"use strict";var e=TypeError;t.exports=function(t){if(t>9007199254740991)throw new e("Maximum allowed index exceeded");return t}},55002(t){"use strict";t.exports={IndexSizeError:{s:"INDEX_SIZE_ERR",c:1,m:1},DOMStringSizeError:{s:"DOMSTRING_SIZE_ERR",c:2,m:0},HierarchyRequestError:{s:"HIERARCHY_REQUEST_ERR",c:3,m:1},WrongDocumentError:{s:"WRONG_DOCUMENT_ERR",c:4,m:1},InvalidCharacterError:{s:"INVALID_CHARACTER_ERR",c:5,m:1},NoDataAllowedError:{s:"NO_DATA_ALLOWED_ERR",c:6,m:0},NoModificationAllowedError:{s:"NO_MODIFICATION_ALLOWED_ERR",c:7,m:1},NotFoundError:{s:"NOT_FOUND_ERR",c:8,m:1},NotSupportedError:{s:"NOT_SUPPORTED_ERR",c:9,m:1},InUseAttributeError:{s:"INUSE_ATTRIBUTE_ERR",c:10,m:1},InvalidStateError:{s:"INVALID_STATE_ERR",c:11,m:1},SyntaxError:{s:"SYNTAX_ERR",c:12,m:1},InvalidModificationError:{s:"INVALID_MODIFICATION_ERR",c:13,m:1},NamespaceError:{s:"NAMESPACE_ERR",c:14,m:1},InvalidAccessError:{s:"INVALID_ACCESS_ERR",c:15,m:1},ValidationError:{s:"VALIDATION_ERR",c:16,m:0},TypeMismatchError:{s:"TYPE_MISMATCH_ERR",c:17,m:1},SecurityError:{s:"SECURITY_ERR",c:18,m:1},NetworkError:{s:"NETWORK_ERR",c:19,m:1},AbortError:{s:"ABORT_ERR",c:20,m:1},URLMismatchError:{s:"URL_MISMATCH_ERR",c:21,m:1},QuotaExceededError:{s:"QUOTA_EXCEEDED_ERR",c:22,m:1},TimeoutError:{s:"TIMEOUT_ERR",c:23,m:1},InvalidNodeTypeError:{s:"INVALID_NODE_TYPE_ERR",c:24,m:1},DataCloneError:{s:"DATA_CLONE_ERR",c:25,m:1}}},67400(t){"use strict";t.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}},79296(t,e,i){"use strict";var n=i(4055)("span").classList,r=n&&n.constructor&&n.constructor.prototype;t.exports=r===Object.prototype?void 0:r},88727(t){"use strict";t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},13709(t,e,i){"use strict";var n=i(82839).match(/firefox\/(\d+)/i);t.exports=!!n&&+n[1]},13763(t,e,i){"use strict";var n=i(82839);t.exports=/MSIE|Trident/.test(n)},44265(t,e,i){"use strict";var n=i(82839);t.exports=/ipad|iphone|ipod/i.test(n)&&"undefined"!=typeof Pebble},89544(t,e,i){"use strict";var n=i(82839);t.exports=/ipad|iphone|ipod/i.test(n)&&/applewebkit/i.test(n)},38574(t,e,i){"use strict";var n=i(84215);t.exports="NODE"===n},7860(t,e,i){"use strict";var n=i(82839);t.exports=/web0s(?!.*chrome)/i.test(n)},82839(t,e,i){"use strict";var n=i(44576).navigator,r=n&&n.userAgent;t.exports=r?String(r):""},39519(t,e,i){"use strict";var n,r,o=i(44576),s=i(82839),a=o.process,u=o.Deno,c=a&&a.versions||u&&u.version,h=c&&c.v8;h&&(r=(n=h.split("."))[0]>0&&n[0]<4?1:+(n[0]+n[1])),!r&&s&&(!(n=s.match(/Edge\/(\d+)/))||n[1]>=74)&&(n=s.match(/Chrome\/(\d+)/))&&(r=+n[1]),t.exports=r},3607(t,e,i){"use strict";var n=i(82839).match(/AppleWebKit\/(\d+)\./);t.exports=!!n&&+n[1]},84215(t,e,i){"use strict";var n=i(44576),r=i(82839),o=i(22195),s=function(t){return r.slice(0,t.length)===t};t.exports=s("Bun/")?"BUN":s("Cloudflare-Workers")?"CLOUDFLARE":s("Deno/")?"DENO":s("Node.js/")?"NODE":n.Bun&&"string"==typeof Bun.version?"BUN":n.Deno&&"object"==typeof Deno.version?"DENO":"process"===o(n.process)?"NODE":n.window&&n.document?"BROWSER":"REST"},16193(t,e,i){"use strict";var n=i(79504),r=Error,o=n("".replace),s=String(new r("zxcasd").stack),a=/\n\s*at [^:]*:[^\n]*/,u=a.test(s);t.exports=function(t,e){if(u&&"string"==typeof t&&!r.prepareStackTrace)for(;e--;)t=o(t,a,"");return t}},80747(t,e,i){"use strict";var n=i(66699),r=i(16193),o=i(24659),s=Error.captureStackTrace;t.exports=function(t,e,i,a){o&&(s?s(t,e):n(t,"stack",r(i,a)))}},24659(t,e,i){"use strict";var n=i(79039),r=i(6980);t.exports=!n(function(){var t=new Error("a");return!("stack"in t)||(Object.defineProperty(t,"stack",r(1,7)),7!==t.stack)})},77536(t,e,i){"use strict";var n=i(43724),r=i(79039),o=i(28551),s=i(32603),a=Error.prototype.toString,u=r(function(){if(n){var t=Object.create(Object.defineProperty({},"name",{get:function(){return this===t}}));if("true"!==a.call(t))return!0}return"2: 1"!==a.call({message:1,name:2})||"Error"!==a.call({})});t.exports=u?function(){var t=o(this),e=s(t.name,"Error"),i=s(t.message);return e?i?e+": "+i:e:i}:a},46518(t,e,i){"use strict";var n=i(44576),r=i(77347).f,o=i(66699),s=i(36840),a=i(39433),u=i(77740),c=i(92796);t.exports=function(t,e){var i,h,l,d,f,p=t.target,g=t.global,A=t.stat;if(i=g?n:A?n[p]||a(p,{}):n[p]&&n[p].prototype)for(h in e){if(d=e[h],l=t.dontCallGetSet?(f=r(i,h))&&f.value:i[h],!c(g?h:p+(A?".":"#")+h,t.forced)&&void 0!==l){if(typeof d==typeof l)continue;u(d,l)}(t.sham||l&&l.sham)&&o(d,"sham",!0),s(i,h,d,t)}}},79039(t){"use strict";t.exports=function(t){try{return!!t()}catch(t){return!0}}},89228(t,e,i){"use strict";i(27495);var n=i(69565),r=i(36840),o=i(57323),s=i(79039),a=i(608),u=i(66699),c=a("species"),h=RegExp.prototype;t.exports=function(t,e,i,l){var d=a(t),f=!s(function(){var e={};return e[d]=function(){return 7},7!==""[t](e)}),p=f&&!s(function(){var e=!1,i=/a/;if("split"===t){var n={};n[c]=function(){return i},(i={constructor:n,flags:""})[d]=/./[d]}return i.exec=function(){return e=!0,null},i[d](""),!e});if(!f||!p||i){var g=/./[d],A=e(d,""[t],function(t,e,i,r,s){var a=e.exec;return a===o||a===h.exec?f&&!s?{done:!0,value:n(g,e,i,r)}:{done:!0,value:n(t,i,e,r)}:{done:!1}});r(String.prototype,t,A[0]),r(h,d,A[1])}l&&u(h[d],"sham",!0)}},70259(t,e,i){"use strict";var n=i(34376),r=i(26198),o=i(96837),s=i(76080),a=i(97040),u=function(t,e,i,c,h,l,d,f){for(var p,g,A=h,m=0,v=!!d&&s(d,f);m0&&n(p)?(g=r(p),A=u(t,e,p,g,A,l-1)-1):(o(A+1),a(t,A,p)),A++),m++;return A};t.exports=u},92744(t,e,i){"use strict";var n=i(79039);t.exports=!n(function(){return Object.isExtensible(Object.preventExtensions({}))})},18745(t,e,i){"use strict";var n=i(40616),r=Function.prototype,o=r.apply,s=r.call;t.exports="object"==typeof Reflect&&Reflect.apply||(n?s.bind(o):function(){return s.apply(o,arguments)})},76080(t,e,i){"use strict";var n=i(27476),r=i(79306),o=i(40616),s=n(n.bind);t.exports=function(t,e){return r(t),void 0===e?t:o?s(t,e):function(){return t.apply(e,arguments)}}},40616(t,e,i){"use strict";var n=i(79039);t.exports=!n(function(){var t=function(){}.bind();return"function"!=typeof t||t.hasOwnProperty("prototype")})},30566(t,e,i){"use strict";var n=i(79504),r=i(79306),o=i(20034),s=i(39297),a=i(67680),u=i(40616),c=Function,h=n([].concat),l=n([].join),d={};t.exports=u?c.bind:function(t){var e=r(this),i=e.prototype,n=a(arguments,1),u=function(){var i=h(n,a(arguments));return this instanceof u?function(t,e,i){if(!s(d,e)){for(var n=[],r=0;r]*>)/g,h=/\$([$&'`]|\d{1,2})/g;t.exports=function(t,e,i,n,l,d){var f=i+t.length,p=n.length,g=h;return void 0!==l&&(l=r(l),g=c),a(d,g,function(r,a){var c;switch(s(a,0)){case"$":return"$";case"&":return t;case"`":return u(e,0,i);case"'":return u(e,f);case"<":c=l[u(a,1,-1)];break;default:var h=+a;if(0===h)return r;if(h>p){var d=o(h/10);return 0===d?r:d<=p?void 0===n[d-1]?s(a,1):n[d-1]+s(a,1):r}c=n[h-1]}return void 0===c?"":c})}},44576(t){"use strict";var e=function(t){return t&&t.Math===Math&&t};t.exports=e("object"==typeof globalThis&&globalThis)||e("object"==typeof window&&window)||e("object"==typeof self&&self)||e("object"==typeof globalThis&&globalThis)||e("object"==typeof this&&this)||function(){return this}()||Function("return this")()},39297(t,e,i){"use strict";var n=i(79504),r=i(48981),o=n({}.hasOwnProperty);t.exports=Object.hasOwn||function(t,e){return o(r(t),e)}},30421(t){"use strict";t.exports={}},90757(t){"use strict";t.exports=function(t,e){try{1===arguments.length?console.error(t):console.error(t,e)}catch(t){}}},20397(t,e,i){"use strict";var n=i(97751);t.exports=n("document","documentElement")},35917(t,e,i){"use strict";var n=i(43724),r=i(79039),o=i(4055);t.exports=!n&&!r(function(){return 7!==Object.defineProperty(o("div"),"a",{get:function(){return 7}}).a})},88490(t){"use strict";var e=Array,i=Math.abs,n=Math.pow,r=Math.floor,o=Math.log,s=Math.LN2;t.exports={pack:function(t,a,u){var c,h,l,d=e(u),f=8*u-a-1,p=(1<>1,A=23===a?n(2,-24)-n(2,-77):0,m=t<0||0===t&&1/t<0?1:0,v=0;for((t=i(t))!=t||t===1/0?(h=t!=t?1:0,c=p):(c=r(o(t)/s),t*(l=n(2,-c))<1&&(c--,l*=2),(t+=c+g>=1?A/l:A*n(2,1-g))*l>=2&&(c++,l/=2),c+g>=p?(h=0,c=p):c+g>=1?(h=(t*l-1)*n(2,a),c+=g):(h=t*n(2,g-1)*n(2,a),c=0));a>=8;)d[v++]=255&h,h/=256,a-=8;for(c=c<0;)d[v++]=255&c,c/=256,f-=8;return d[v-1]|=128*m,d},unpack:function(t,e){var i,r=t.length,o=8*r-e-1,s=(1<>1,u=o-7,c=r-1,h=t[c--],l=127&h;for(h>>=7;u>0;)l=256*l+t[c--],u-=8;for(i=l&(1<<-u)-1,l>>=-u,u+=e;u>0;)i=256*i+t[c--],u-=8;if(0===l)l=1-a;else{if(l===s)return i?NaN:h?-1/0:1/0;i+=n(2,e),l-=a}return(h?-1:1)*i*n(2,l-e)}}},47055(t,e,i){"use strict";var n=i(79504),r=i(79039),o=i(22195),s=Object,a=n("".split);t.exports=r(function(){return!s("z").propertyIsEnumerable(0)})?function(t){return"String"===o(t)?a(t,""):s(t)}:s},23167(t,e,i){"use strict";var n=i(94901),r=i(20034),o=i(52967);t.exports=function(t,e,i){var s,a;return o&&n(s=e.constructor)&&s!==i&&r(a=s.prototype)&&a!==i.prototype&&o(t,a),t}},33706(t,e,i){"use strict";var n=i(79504),r=i(94901),o=i(77629),s=n(Function.toString);r(o.inspectSource)||(o.inspectSource=function(t){return s(t)}),t.exports=o.inspectSource},77584(t,e,i){"use strict";var n=i(20034),r=i(66699);t.exports=function(t,e){n(e)&&"cause"in e&&r(t,"cause",e.cause)}},3451(t,e,i){"use strict";var n=i(46518),r=i(79504),o=i(30421),s=i(20034),a=i(39297),u=i(24913).f,c=i(38480),h=i(10298),l=i(34124),d=i(33392),f=i(92744),p=!1,g=d("meta"),A=0,m=function(t){u(t,g,{value:{objectID:"O"+A++,weakData:{}}})},v=t.exports={enable:function(){v.enable=function(){},p=!0;var t=c.f,e=r([].splice),i={};i[g]=1,t(i).length&&(c.f=function(i){for(var n=t(i),r=0,o=n.length;rv;v++)if((y=S(t[v]))&&c(g,y))return y;return new p(!1)}A=h(t,m)}for(w=_?t.next:A.next;!(C=r(w,A)).done;){var D=C.value;try{y=S(D)}catch(t){if(!A)throw t;d(A,"throw",t)}if("object"==typeof y&&y&&c(g,y))return y}return new p(!1)}},91385(t,e,i){"use strict";var n=i(9539);t.exports=function(t,e,i){for(var r=t.length-1;r>=0;r--)if(void 0!==t[r])try{i=n(t[r].iterator,e,i)}catch(t){e="throw",i=t}if("throw"===e)throw i;return i}},9539(t,e,i){"use strict";var n=i(69565),r=i(28551),o=i(55966);t.exports=function(t,e,i){var s,a;r(t);try{if(!(s=o(t,"return"))){if("throw"===e)throw i;return i}s=n(s,t)}catch(t){a=!0,s=t}if("throw"===e)throw i;if(a)throw s;return r(s),i}},33994(t,e,i){"use strict";var n=i(57657).IteratorPrototype,r=i(2360),o=i(6980),s=i(10687),a=i(26269),u=function(){return this};t.exports=function(t,e,i,c){var h=e+" Iterator";return t.prototype=r(n,{next:o(+!c,i)}),s(t,h,!1,!0),a[h]=u,t}},19462(t,e,i){"use strict";var n=i(69565),r=i(2360),o=i(66699),s=i(56279),a=i(608),u=i(91181),c=i(55966),h=i(57657).IteratorPrototype,l=i(62529),d=i(9539),f=i(91385),p=a("toStringTag"),g="IteratorHelper",A="WrapForValidIterator",m="normal",v="throw",b=u.set,y=function(t){var e=u.getterFor(t?A:g);return s(r(h),{next:function(){var i=e(this);if(t)return i.nextHandler();if(i.done)return l(void 0,!0);try{var n=i.nextHandler();return i.returnHandlerResult?n:l(n,i.done)}catch(t){throw i.done=!0,t}},return:function(){var i=e(this),r=i.iterator,o=i.done;if(i.done=!0,t){var s=c(r,"return");return s?n(s,r):l(void 0,!0)}if(o)return l(void 0,!0);if(i.inner)try{d(i.inner.iterator,m)}catch(t){return d(r,v,t)}if(i.openIters)try{f(i.openIters,m)}catch(t){if(r)return d(r,v,t);throw t}return r&&d(r,m),l(void 0,!0)}})},w=y(!0),C=y(!1);o(C,p,"Iterator Helper"),t.exports=function(t,e,i){var n=function(n,r){r?(r.iterator=n.iterator,r.next=n.next):r=n,r.type=e?A:g,r.returnHandlerResult=!!i,r.nextHandler=t,r.counter=0,r.done=!1,b(this,r)};return n.prototype=e?w:C,n}},51088(t,e,i){"use strict";var n=i(46518),r=i(69565),o=i(96395),s=i(10350),a=i(94901),u=i(33994),c=i(42787),h=i(52967),l=i(10687),d=i(66699),f=i(36840),p=i(608),g=i(26269),A=i(57657),m=s.PROPER,v=s.CONFIGURABLE,b=A.IteratorPrototype,y=A.BUGGY_SAFARI_ITERATORS,w=p("iterator"),C="keys",x="values",k="entries",_=function(){return this};t.exports=function(t,e,i,s,p,A,M){u(i,e,s);var B,E,I,S=function(t){if(t===p&&R)return R;if(!y&&t&&t in O)return O[t];switch(t){case C:case x:case k:return function(){return new i(this,t)}}return function(){return new i(this)}},D=e+" Iterator",T=!1,O=t.prototype,P=O[w]||O["@@iterator"]||p&&O[p],R=!y&&P||S(p),z="Array"===e&&O.entries||P;if(z&&(B=c(z.call(new t)))!==Object.prototype&&B.next&&(o||c(B)===b||(h?h(B,b):a(B[w])||f(B,w,_)),l(B,D,!0,!0),o&&(g[D]=_)),m&&p===x&&P&&P.name!==x&&(!o&&v?d(O,"name",x):(T=!0,R=function(){return r(P,this)})),p)if(E={values:S(x),keys:A?R:S(C),entries:S(k)},M)for(I in E)(y||T||!(I in O))&&f(O,I,E[I]);else n({target:e,proto:!0,forced:y||T},E);return o&&!M||O[w]===R||f(O,w,R,{name:p}),g[e]=R,E}},30684(t){"use strict";t.exports=function(t,e){var i="function"==typeof Iterator&&Iterator.prototype[t];if(i)try{i.call({next:null},e).next()}catch(t){return!0}}},84549(t,e,i){"use strict";var n=i(44576);t.exports=function(t,e){var i=n.Iterator,r=i&&i.prototype,o=r&&r[t],s=!1;if(o)try{o.call({next:function(){return{done:!0}},return:function(){s=!0}},-1)}catch(t){t instanceof e||(s=!1)}if(!s)return o}},57657(t,e,i){"use strict";var n,r,o,s=i(79039),a=i(94901),u=i(20034),c=i(2360),h=i(42787),l=i(36840),d=i(608),f=i(96395),p=d("iterator"),g=!1;[].keys&&("next"in(o=[].keys())?(r=h(h(o)))!==Object.prototype&&(n=r):g=!0),!u(n)||s(function(){var t={};return n[p].call(t)!==t})?n={}:f&&(n=c(n)),a(n[p])||l(n,p,function(){return this}),t.exports={IteratorPrototype:n,BUGGY_SAFARI_ITERATORS:g}},26269(t){"use strict";t.exports={}},26198(t,e,i){"use strict";var n=i(18014);t.exports=function(t){return n(t.length)}},50283(t,e,i){"use strict";var n=i(79504),r=i(79039),o=i(94901),s=i(39297),a=i(43724),u=i(10350).CONFIGURABLE,c=i(33706),h=i(91181),l=h.enforce,d=h.get,f=String,p=Object.defineProperty,g=n("".slice),A=n("".replace),m=n([].join),v=a&&!r(function(){return 8!==p(function(){},"length",{value:8}).length}),b=String(String).split("String"),y=t.exports=function(t,e,i){"Symbol("===g(f(e),0,7)&&(e="["+A(f(e),/^Symbol\(([^)]*)\).*$/,"$1")+"]"),i&&i.getter&&(e="get "+e),i&&i.setter&&(e="set "+e),(!s(t,"name")||u&&t.name!==e)&&(a?p(t,"name",{value:e,configurable:!0}):t.name=e),v&&i&&s(i,"arity")&&t.length!==i.arity&&p(t,"length",{value:i.arity});try{i&&s(i,"constructor")&&i.constructor?a&&p(t,"prototype",{writable:!1}):t.prototype&&(t.prototype=void 0)}catch(t){}var n=l(t);return s(n,"source")||(n.source=m(b,"string"==typeof e?e:"")),t};Function.prototype.toString=y(function(){return o(this)&&d(this).source||c(this)},"toString")},72248(t,e,i){"use strict";var n=i(79504),r=Map.prototype;t.exports={Map,set:n(r.set),get:n(r.get),has:n(r.has),remove:n(r.delete),proto:r}},53250(t){"use strict";var e=Math.expm1,i=Math.exp;t.exports=!e||e(10)>22025.465794806718||e(10)<22025.465794806718||-2e-17!==e(-2e-17)?function(t){var e=+t;return 0===e?e:e>-1e-6&&e<1e-6?e+e*e/2:i(e)-1}:e},33164(t,e,i){"use strict";var n=i(77782),r=i(53602),o=Math.abs;t.exports=function(t,e,i,s){var a=+t,u=o(a),c=n(a);if(ui||l!=l?c*(1/0):c*l}},15617(t,e,i){"use strict";var n=i(33164);t.exports=Math.fround||function(t){return n(t,1.1920928955078125e-7,34028234663852886e22,11754943508222875e-54)}},49340(t){"use strict";var e=Math.log,i=Math.LOG10E;t.exports=Math.log10||function(t){return e(t)*i}},7740(t){"use strict";var e=Math.log;t.exports=Math.log1p||function(t){var i=+t;return i>-1e-8&&i<1e-8?i-i*i/2:e(1+i)}},67787(t){"use strict";var e=Math.log,i=Math.LN2;t.exports=Math.log2||function(t){return e(t)/i}},53602(t){"use strict";var e=4503599627370496;t.exports=function(t){return t+e-e}},77782(t){"use strict";t.exports=Math.sign||function(t){var e=+t;return 0===e||e!=e?e:e<0?-1:1}},80741(t){"use strict";var e=Math.ceil,i=Math.floor;t.exports=Math.trunc||function(t){var n=+t;return(n>0?i:e)(n)}},91955(t,e,i){"use strict";var n,r,o,s,a,u=i(44576),c=i(93389),h=i(76080),l=i(59225).set,d=i(18265),f=i(89544),p=i(44265),g=i(7860),A=i(38574),m=u.MutationObserver||u.WebKitMutationObserver,v=u.document,b=u.process,y=u.Promise,w=c("queueMicrotask");if(!w){var C=new d,x=function(){var t,e;for(A&&(t=b.domain)&&t.exit();e=C.get();)try{e()}catch(t){throw C.head&&n(),t}t&&t.enter()};f||A||g||!m||!v?!p&&y&&y.resolve?((s=y.resolve(void 0)).constructor=y,a=h(s.then,s),n=function(){a(x)}):A?n=function(){b.nextTick(x)}:(l=h(l,u),n=function(){l(x)}):(r=!0,o=v.createTextNode(""),new m(x).observe(o,{characterData:!0}),n=function(){o.data=r=!r}),w=function(t){C.head||n(),C.add(t)}}t.exports=w},27819(t,e,i){"use strict";var n=i(79039);t.exports=!n(function(){var t="9007199254740993",e=JSON.rawJSON(t);return!JSON.isRawJSON(e)||JSON.stringify(e)!==t})},36043(t,e,i){"use strict";var n=i(79306),r=TypeError,o=function(t){var e,i;this.promise=new t(function(t,n){if(void 0!==e||void 0!==i)throw new r("Bad Promise constructor");e=t,i=n}),this.resolve=n(e),this.reject=n(i)};t.exports.f=function(t){return new o(t)}},32603(t,e,i){"use strict";var n=i(655);t.exports=function(t,e){return void 0===t?arguments.length<2?"":e:n(t)}},24149(t){"use strict";var e=RangeError;t.exports=function(t){if(t==t)return t;throw new e("NaN is not allowed")}},60511(t,e,i){"use strict";var n=i(60788),r=TypeError;t.exports=function(t){if(n(t))throw new r("The method doesn't accept regular expressions");return t}},50360(t,e,i){"use strict";var n=i(44576).isFinite;t.exports=Number.isFinite||function(t){return"number"==typeof t&&n(t)}},33904(t,e,i){"use strict";var n=i(44576),r=i(79039),o=i(79504),s=i(655),a=i(43802).trim,u=i(47452),c=o("".charAt),h=n.parseFloat,l=n.Symbol,d=l&&l.iterator,f=1/h(u+"-0")!=-1/0||d&&!r(function(){h(Object(d))});t.exports=f?function(t){var e=a(s(t)),i=h(e);return 0===i&&"-"===c(e,0)?-0:i}:h},52703(t,e,i){"use strict";var n=i(44576),r=i(79039),o=i(79504),s=i(655),a=i(43802).trim,u=i(47452),c=n.parseInt,h=n.Symbol,l=h&&h.iterator,d=/^[+-]?0x/i,f=o(d.exec),p=8!==c(u+"08")||22!==c(u+"0x16")||l&&!r(function(){c(Object(l))});t.exports=p?function(t,e){var i=a(s(t));return c(i,e>>>0||(f(d,i)?16:10))}:c},44213(t,e,i){"use strict";var n=i(43724),r=i(79504),o=i(69565),s=i(79039),a=i(71072),u=i(33717),c=i(48773),h=i(48981),l=i(47055),d=Object.assign,f=Object.defineProperty,p=r([].concat);t.exports=!d||s(function(){if(n&&1!==d({b:1},d(f({},"a",{enumerable:!0,get:function(){f(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var t={},e={},i=Symbol("assign detection"),r="abcdefghijklmnopqrst";return t[i]=7,r.split("").forEach(function(t){e[t]=t}),7!==d({},t)[i]||a(d({},e)).join("")!==r})?function(t,e){for(var i=h(t),r=arguments.length,s=1,d=u.f,f=c.f;r>s;)for(var g,A=l(arguments[s++]),m=d?p(a(A),d(A)):a(A),v=m.length,b=0;v>b;)g=m[b++],n&&!o(f,A,g)||(i[g]=A[g]);return i}:d},2360(t,e,i){"use strict";var n,r=i(28551),o=i(96801),s=i(88727),a=i(30421),u=i(20397),c=i(4055),h=i(66119),l="prototype",d="script",f=h("IE_PROTO"),p=function(){},g=function(t){return"<"+d+">"+t+""},A=function(t){t.write(g("")),t.close();var e=t.parentWindow.Object;return t=null,e},m=function(){try{n=new ActiveXObject("htmlfile")}catch(t){}var t,e,i;m="undefined"!=typeof document?document.domain&&n?A(n):(e=c("iframe"),i="java"+d+":",e.style.display="none",u.appendChild(e),e.src=String(i),(t=e.contentWindow.document).open(),t.write(g("document.F=Object")),t.close(),t.F):A(n);for(var r=s.length;r--;)delete m[l][s[r]];return m()};a[f]=!0,t.exports=Object.create||function(t,e){var i;return null!==t?(p[l]=r(t),i=new p,p[l]=null,i[f]=t):i=m(),void 0===e?i:o.f(i,e)}},96801(t,e,i){"use strict";var n=i(43724),r=i(48686),o=i(24913),s=i(28551),a=i(25397),u=i(71072);e.f=n&&!r?Object.defineProperties:function(t,e){s(t);for(var i,n=a(e),r=u(e),c=r.length,h=0;c>h;)o.f(t,i=r[h++],n[i]);return t}},24913(t,e,i){"use strict";var n=i(43724),r=i(35917),o=i(48686),s=i(28551),a=i(56969),u=TypeError,c=Object.defineProperty,h=Object.getOwnPropertyDescriptor,l="enumerable",d="configurable",f="writable";e.f=n?o?function(t,e,i){if(s(t),e=a(e),s(i),"function"==typeof t&&"prototype"===e&&"value"in i&&f in i&&!i[f]){var n=h(t,e);n&&n[f]&&(t[e]=i.value,i={configurable:d in i?i[d]:n[d],enumerable:l in i?i[l]:n[l],writable:!1})}return c(t,e,i)}:c:function(t,e,i){if(s(t),e=a(e),s(i),r)try{return c(t,e,i)}catch(t){}if("get"in i||"set"in i)throw new u("Accessors not supported");return"value"in i&&(t[e]=i.value),t}},77347(t,e,i){"use strict";var n=i(43724),r=i(69565),o=i(48773),s=i(6980),a=i(25397),u=i(56969),c=i(39297),h=i(35917),l=Object.getOwnPropertyDescriptor;e.f=n?l:function(t,e){if(t=a(t),e=u(e),h)try{return l(t,e)}catch(t){}if(c(t,e))return s(!r(o.f,t,e),t[e])}},10298(t,e,i){"use strict";var n=i(22195),r=i(25397),o=i(38480).f,s=i(67680),a="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];t.exports.f=function(t){return a&&"Window"===n(t)?function(t){try{return o(t)}catch(t){return s(a)}}(t):o(r(t))}},38480(t,e,i){"use strict";var n=i(61828),r=i(88727).concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return n(t,r)}},33717(t,e){"use strict";e.f=Object.getOwnPropertySymbols},42787(t,e,i){"use strict";var n=i(39297),r=i(94901),o=i(48981),s=i(66119),a=i(12211),u=s("IE_PROTO"),c=Object,h=c.prototype;t.exports=a?c.getPrototypeOf:function(t){var e=o(t);if(n(e,u))return e[u];var i=e.constructor;return r(i)&&e instanceof i?i.prototype:e instanceof c?h:null}},34124(t,e,i){"use strict";var n=i(79039),r=i(20034),o=i(22195),s=i(15652),a=Object.isExtensible,u=n(function(){a(1)});t.exports=u||s?function(t){return!!r(t)&&(!s||"ArrayBuffer"!==o(t))&&(!a||a(t))}:a},1625(t,e,i){"use strict";var n=i(79504);t.exports=n({}.isPrototypeOf)},61828(t,e,i){"use strict";var n=i(79504),r=i(39297),o=i(25397),s=i(19617).indexOf,a=i(30421),u=n([].push);t.exports=function(t,e){var i,n=o(t),c=0,h=[];for(i in n)!r(a,i)&&r(n,i)&&u(h,i);for(;e.length>c;)r(n,i=e[c++])&&(~s(h,i)||u(h,i));return h}},71072(t,e,i){"use strict";var n=i(61828),r=i(88727);t.exports=Object.keys||function(t){return n(t,r)}},48773(t,e){"use strict";var i={}.propertyIsEnumerable,n=Object.getOwnPropertyDescriptor,r=n&&!i.call({1:2},1);e.f=r?function(t){var e=n(this,t);return!!e&&e.enumerable}:i},42551(t,e,i){"use strict";var n=i(96395),r=i(44576),o=i(79039),s=i(3607);t.exports=n||!o(function(){if(!(s&&s<535)){var t=Math.random();__defineSetter__.call(null,t,function(){}),delete r[t]}})},52967(t,e,i){"use strict";var n=i(46706),r=i(20034),o=i(67750),s=i(73506);t.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var t,e=!1,i={};try{(t=n(Object.prototype,"__proto__","set"))(i,[]),e=i instanceof Array}catch(t){}return function(i,n){return o(i),s(n),r(i)?(e?t(i,n):i.__proto__=n,i):i}}():void 0)},32357(t,e,i){"use strict";var n=i(43724),r=i(79039),o=i(79504),s=i(42787),a=i(71072),u=i(25397),c=o(i(48773).f),h=o([].push),l=n&&r(function(){var t=Object.create(null);return t[2]=2,!c(t,2)}),d=function(t){return function(e){for(var i,r=u(e),o=a(r),d=l&&null===s(r),f=o.length,p=0,g=[];f>p;)i=o[p++],n&&!(d?i in r:c(r,i))||h(g,t?[i,r[i]]:r[i]);return g}};t.exports={entries:d(!0),values:d(!1)}},53179(t,e,i){"use strict";var n=i(92140),r=i(36955);t.exports=n?{}.toString:function(){return"[object "+r(this)+"]"}},84270(t,e,i){"use strict";var n=i(69565),r=i(94901),o=i(20034),s=TypeError;t.exports=function(t,e){var i,a;if("string"===e&&r(i=t.toString)&&!o(a=n(i,t)))return a;if(r(i=t.valueOf)&&!o(a=n(i,t)))return a;if("string"!==e&&r(i=t.toString)&&!o(a=n(i,t)))return a;throw new s("Can't convert object to primitive value")}},35031(t,e,i){"use strict";var n=i(97751),r=i(79504),o=i(38480),s=i(33717),a=i(28551),u=r([].concat);t.exports=n("Reflect","ownKeys")||function(t){var e=o.f(a(t)),i=s.f;return i?u(e,i(t)):e}},616(t,e,i){"use strict";var n=i(79504),r=i(39297),o=SyntaxError,s=parseInt,a=String.fromCharCode,u=n("".charAt),c=n("".slice),h=n(/./.exec),l={'\\"':'"',"\\\\":"\\","\\/":"/","\\b":"\b","\\f":"\f","\\n":"\n","\\r":"\r","\\t":"\t"},d=/^[\da-f]{4}$/i,f=/^[\u0000-\u001F]$/;t.exports=function(t,e){for(var i=!0,n="";e0&&v(c,r.lastIndex-1);r.lastIndex>0&&(!r.multiline||r.multiline&&"\n"!==I&&"\r"!==I&&"\u2028"!==I&&"\u2029"!==I)&&(M="(?: (?:"+M+"))",E=" "+E,B++),i=new RegExp("^(?:"+M+")",p)}k&&(i=new RegExp("^"+M+"$(?!\\s)",p)),C&&(n=r.lastIndex);var S=o(A,f?i:r,E);return f?S?(S.input=c,S[0]=w(S[0],B),S.index=r.lastIndex,r.lastIndex+=S[0].length):r.lastIndex=0:C&&S&&(r.lastIndex=r.global?S.index+S[0].length:n),k&&S&&S.length>1&&o(g,S[0],i,function(){for(var t=1;tb)","g");return"b"!==t.exec("b").groups.a||"bc"!=="b".replace(t,"$c")})},67750(t,e,i){"use strict";var n=i(64117),r=TypeError;t.exports=function(t){if(n(t))throw new r("Can't call method on "+t);return t}},93389(t,e,i){"use strict";var n=i(44576),r=i(43724),o=Object.getOwnPropertyDescriptor;t.exports=function(t){if(!r)return n[t];var e=o(n,t);return e&&e.value}},3470(t){"use strict";t.exports=Object.is||function(t,e){return t===e?0!==t||1/t==1/e:t!=t&&e!=e}},79472(t,e,i){"use strict";var n,r=i(44576),o=i(18745),s=i(94901),a=i(84215),u=i(82839),c=i(67680),h=i(22812),l=r.Function,d=/MSIE .\./.test(u)||"BUN"===a&&((n=r.Bun.version.split(".")).length<3||"0"===n[0]&&(n[1]<3||"3"===n[1]&&"0"===n[2]));t.exports=function(t,e){var i=e?2:1;return d?function(n,r){var a=h(arguments.length,1)>i,u=s(n)?n:l(n),d=a?c(arguments,i):[],f=a?function(){o(u,this,d)}:u;return e?t(f,r):t(f)}:t}},89286(t,e,i){"use strict";var n=i(94402),r=i(38469),o=n.Set,s=n.add;t.exports=function(t){var e=new o;return r(t,function(t){s(e,t)}),e}},83440(t,e,i){"use strict";var n=i(97080),r=i(94402),o=i(89286),s=i(25170),a=i(83789),u=i(38469),c=i(40507),h=r.has,l=r.remove;t.exports=function(t){var e=n(this),i=a(t),r=o(e);return s(r)<=i.size?u(r,function(t){i.includes(t)&&l(r,t)}):c(i.getIterator(),function(t){h(r,t)&&l(r,t)}),r}},94402(t,e,i){"use strict";var n=i(79504),r=Set.prototype;t.exports={Set,add:n(r.add),has:n(r.has),remove:n(r.delete),proto:r}},68750(t,e,i){"use strict";var n=i(97080),r=i(94402),o=i(25170),s=i(83789),a=i(38469),u=i(40507),c=r.Set,h=r.add,l=r.has;t.exports=function(t){var e=n(this),i=s(t),r=new c;return o(e)>i.size?u(i.getIterator(),function(t){l(e,t)&&h(r,t)}):a(e,function(t){i.includes(t)&&h(r,t)}),r}},64449(t,e,i){"use strict";var n=i(97080),r=i(94402).has,o=i(25170),s=i(83789),a=i(38469),u=i(40507),c=i(9539);t.exports=function(t){var e=n(this),i=s(t);if(o(e)<=i.size)return!1!==a(e,function(t){if(i.includes(t))return!1},!0);var h=i.getIterator();return!1!==u(h,function(t){if(r(e,t))return c(h.iterator,"normal",!1)})}},53838(t,e,i){"use strict";var n=i(97080),r=i(25170),o=i(38469),s=i(83789);t.exports=function(t){var e=n(this),i=s(t);return!(r(e)>i.size)&&!1!==o(e,function(t){if(!i.includes(t))return!1},!0)}},28527(t,e,i){"use strict";var n=i(97080),r=i(94402).has,o=i(25170),s=i(83789),a=i(40507),u=i(9539);t.exports=function(t){var e=n(this),i=s(t);if(o(e)3})}},68183(t,e,i){"use strict";var n=i(79504),r=i(91291),o=i(655),s=i(67750),a=n("".charAt),u=n("".charCodeAt),c=n("".slice),h=function(t){return function(e,i){var n,h,l=o(s(e)),d=r(i),f=l.length;return d<0||d>=f?t?"":void 0:(n=u(l,d))<55296||n>56319||d+1===f||(h=u(l,d+1))<56320||h>57343?t?a(l,d):n:t?c(l,d,d+2):h-56320+(n-55296<<10)+65536}};t.exports={codeAt:h(!1),charAt:h(!0)}},83063(t,e,i){"use strict";var n=i(82839);t.exports=/Version\/10(?:\.\d+){1,2}(?: [\w./]+)?(?: Mobile\/\w+)? Safari\//.test(n)},60533(t,e,i){"use strict";var n=i(79504),r=i(18014),o=i(655),s=i(72333),a=i(67750),u=n(s),c=n("".slice),h=Math.ceil,l=function(t){return function(e,i,n){var s=o(a(e)),l=r(i),d=s.length;if(l<=d)return s;var f,p,g=void 0===n?" ":o(n);return""===g?s:((p=u(g,h((f=l-d)/g.length))).length>f&&(p=c(p,0,f)),t?s+p:p+s)}};t.exports={start:l(!1),end:l(!0)}},3717(t,e,i){"use strict";var n=i(79504),r=2147483647,o=/[^\0-\u007E]/,s=/[.\u3002\uFF0E\uFF61]/g,a="Overflow: input needs wider integers to process",u=RangeError,c=n(s.exec),h=Math.floor,l=String.fromCharCode,d=n("".charCodeAt),f=n([].join),p=n([].push),g=n("".replace),A=n("".split),m=n("".toLowerCase),v=function(t){return t+22+75*(t<26)},b=function(t,e,i){var n=0;for(t=i?h(t/700):t>>1,t+=h(t/e);t>455;)t=h(t/35),n+=36;return h(n+36*t/(t+38))},y=function(t){var e=[];t=function(t){for(var e=[],i=0,n=t.length;i=55296&&r<=56319&&i=s&&nh((r-c)/w))throw new u(a);for(c+=(y-s)*w,s=y,i=0;ir)throw new u(a);if(n===s){for(var C=c,x=36;;){var k=x<=g?1:x>=g+26?26:x-g;if(C0;(u=a(u/2))&&(e+=e))u%2&&(i+=e);return i}},18866(t,e,i){"use strict";var n=i(43802).end,r=i(60706);t.exports=r("trimEnd")?function(){return n(this)}:"".trimEnd},60706(t,e,i){"use strict";var n=i(10350).PROPER,r=i(79039),o=i(47452);t.exports=function(t){return r(function(){return!!o[t]()||"​…᠎"!=="​…᠎"[t]()||n&&o[t].name!==t})}},53487(t,e,i){"use strict";var n=i(43802).start,r=i(60706);t.exports=r("trimStart")?function(){return n(this)}:"".trimStart},43802(t,e,i){"use strict";var n=i(79504),r=i(67750),o=i(655),s=i(47452),a=n("".replace),u=RegExp("^["+s+"]+"),c=RegExp("(^|[^"+s+"])["+s+"]+$"),h=function(t){return function(e){var i=o(r(e));return 1&t&&(i=a(i,u,"")),2&t&&(i=a(i,c,"$1")),i}};t.exports={start:h(1),end:h(2),trim:h(3)}},1548(t,e,i){"use strict";var n=i(44576),r=i(79039),o=i(39519),s=i(84215),a=n.structuredClone;t.exports=!!a&&!r(function(){if("DENO"===s&&o>92||"NODE"===s&&o>94||"BROWSER"===s&&o>97)return!1;var t=new ArrayBuffer(8),e=a(t,{transfer:[t]});return 0!==t.byteLength||8!==e.byteLength})},4495(t,e,i){"use strict";var n=i(39519),r=i(79039),o=i(44576).String;t.exports=!!Object.getOwnPropertySymbols&&!r(function(){var t=Symbol("symbol detection");return!o(t)||!(Object(t)instanceof Symbol)||!Symbol.sham&&n&&n<41})},58242(t,e,i){"use strict";var n=i(69565),r=i(97751),o=i(608),s=i(36840);t.exports=function(){var t=r("Symbol"),e=t&&t.prototype,i=e&&e.valueOf,a=o("toPrimitive");e&&!e[a]&&s(e,a,function(t){return n(i,this)},{arity:1})}},91296(t,e,i){"use strict";var n=i(4495);t.exports=n&&!!Symbol.for&&!!Symbol.keyFor},59225(t,e,i){"use strict";var n,r,o,s,a=i(44576),u=i(18745),c=i(76080),h=i(94901),l=i(39297),d=i(79039),f=i(20397),p=i(67680),g=i(4055),A=i(22812),m=i(89544),v=i(38574),b=a.setImmediate,y=a.clearImmediate,w=a.process,C=a.Dispatch,x=a.Function,k=a.MessageChannel,_=a.String,M=0,B={},E="onreadystatechange";d(function(){n=a.location});var I=function(t){if(l(B,t)){var e=B[t];delete B[t],e()}},S=function(t){return function(){I(t)}},D=function(t){I(t.data)},T=function(t){a.postMessage(_(t),n.protocol+"//"+n.host)};b&&y||(b=function(t){A(arguments.length,1);var e=h(t)?t:x(t),i=p(arguments,1);return B[++M]=function(){u(e,void 0,i)},r(M),M},y=function(t){delete B[t]},v?r=function(t){w.nextTick(S(t))}:C&&C.now?r=function(t){C.now(S(t))}:k&&!m?(s=(o=new k).port2,o.port1.onmessage=D,r=c(s.postMessage,s)):a.addEventListener&&h(a.postMessage)&&!a.importScripts&&n&&"file:"!==n.protocol&&!d(T)?(r=T,a.addEventListener("message",D,!1)):r=E in g("script")?function(t){f.appendChild(g("script"))[E]=function(){f.removeChild(this),I(t)}}:function(t){setTimeout(S(t),0)}),t.exports={set:b,clear:y}},31240(t,e,i){"use strict";var n=i(79504);t.exports=n(1.1.valueOf)},35610(t,e,i){"use strict";var n=i(91291),r=Math.max,o=Math.min;t.exports=function(t,e){var i=n(t);return i<0?r(i+e,0):o(i,e)}},75854(t,e,i){"use strict";var n=i(72777),r=TypeError;t.exports=function(t){var e=n(t,"number");if("number"==typeof e)throw new r("Can't convert number to bigint");return BigInt(e)}},57696(t,e,i){"use strict";var n=i(91291),r=i(18014),o=RangeError;t.exports=function(t){if(void 0===t)return 0;var e=n(t),i=r(e);if(e!==i)throw new o("Wrong length or index");return i}},25397(t,e,i){"use strict";var n=i(47055),r=i(67750);t.exports=function(t){return n(r(t))}},91291(t,e,i){"use strict";var n=i(80741);t.exports=function(t){var e=+t;return e!=e||0===e?0:n(e)}},18014(t,e,i){"use strict";var n=i(91291),r=Math.min;t.exports=function(t){var e=n(t);return e>0?r(e,9007199254740991):0}},48981(t,e,i){"use strict";var n=i(67750),r=Object;t.exports=function(t){return r(n(t))}},58229(t,e,i){"use strict";var n=i(99590),r=RangeError;t.exports=function(t,e){var i=n(t);if(i%e)throw new r("Wrong offset");return i}},99590(t,e,i){"use strict";var n=i(91291),r=RangeError;t.exports=function(t){var e=n(t);if(e<0)throw new r("The argument can't be less than 0");return e}},72777(t,e,i){"use strict";var n=i(69565),r=i(20034),o=i(10757),s=i(55966),a=i(84270),u=i(608),c=TypeError,h=u("toPrimitive");t.exports=function(t,e){if(!r(t)||o(t))return t;var i,u=s(t,h);if(u){if(void 0===e&&(e="default"),i=n(u,t,e),!r(i)||o(i))return i;throw new c("Can't convert object to primitive value")}return void 0===e&&(e="number"),a(t,e)}},56969(t,e,i){"use strict";var n=i(72777),r=i(10757);t.exports=function(t){var e=n(t,"string");return r(e)?e:e+""}},92140(t,e,i){"use strict";var n={};n[i(608)("toStringTag")]="z",t.exports="[object z]"===String(n)},655(t,e,i){"use strict";var n=i(36955),r=String;t.exports=function(t){if("Symbol"===n(t))throw new TypeError("Cannot convert a Symbol value to a string");return r(t)}},58319(t){"use strict";var e=Math.floor;t.exports=function(t){var i=+t;if(i!=i||i<=0)return 0;if(i>=255)return 255;var n=e(i);return n+.5=0},tt=function(t,e){return e=m(e),$(t,e)?l(2,t[e]):j(t,e)},et=function(t,e,i){return e=m(e),!($(t,e)&&y(i)&&v(i,"value"))||v(i,"get")||v(i,"set")||i.configurable||v(i,"writable")&&!i.writable||v(i,"enumerable")&&!i.enumerable?H(t,e,i):(t[e]=i.value,t)};s?(W||(D.f=tt,S.f=et,Z(G,"buffer"),Z(G,"byteOffset"),Z(G,"byteLength"),Z(G,"length")),n({target:"Object",stat:!0,forced:!W},{getOwnPropertyDescriptor:tt,defineProperty:et}),t.exports=function(t,e,i){var s=t.match(/\d+/)[0]/8,u=t+(i?"Clamped":"")+"Array",c="get"+t,l="set"+t,f=r[u],m=f,v=m&&m.prototype,b={},w=function(t,e){H(t,e,{get:function(){return function(t,e){var i=R(t);return i.view[c](e*s+i.byteOffset,!0)}(this,e)},set:function(t){return function(t,e,n){var r=R(t);r.view[l](e*s+r.byteOffset,i?A(n):n,!0)}(this,e,t)},enumerable:!0})};W?a&&(m=e(function(t,e,i,n){return h(t,v),P(y(e)?J(e)?void 0!==n?new f(e,g(i,s),n):void 0!==i?new f(e,g(i,s)):new f(e):V(e)?T(m,e):o(M,m,e):new f(p(e)),t,m)}),k&&k(m,Q),B(_(f),function(t){t in m||d(m,t,f[t])}),m.prototype=v):(m=e(function(t,e,i,n){h(t,v);var r,a,u,c=0,l=0;if(y(e)){if(!J(e))return V(e)?T(m,e):o(M,m,e);r=e,l=g(i,s);var d=e.byteLength;if(void 0===n){if(d%s)throw new L(X);if((a=d-l)<0)throw new L(X)}else if((a=p(n)*s)+l>d)throw new L(X);u=a/s}else u=p(e),r=new U(a=u*s);for(z(t,{buffer:r,byteOffset:l,byteLength:a,length:u,view:new F(r)});c1?arguments[1]:void 0,A=void 0!==g;A&&o(g);var m,v,b,y,w,C,x,k,_=a(t),M=h(_);if(M&&!l(M))for(k=(x=c(_,M)).next,_=[];!(C=r(k,x)).done;)_.push(C.value);for(A&&i>2&&(g=n(g,arguments[2])),v=u(_),b=new(f(e))(v),y=d(b),m=0;v>m;m++)w=A?g(_[m],m):_[m],b[m]=y?p(w):+w;return b}},33392(t,e,i){"use strict";var n=i(79504),r=0,o=Math.random(),s=n(1.1.toString);t.exports=function(t){return"Symbol("+(void 0===t?"":t)+")_"+s(++r+o,36)}},59143(t,e,i){"use strict";var n=i(44576),r=i(79504),o=i(83972),s=i(63463),a=i(39297),u=i(92804),c=i(944),h=i(55169),l=u.c2i,d=u.c2iUrl,f=n.SyntaxError,p=n.TypeError,g=r("".charAt),A=function(t,e){for(var i=t.length;e>16&255,r>>8&255,255&r];if(2===n){if(i&&0!==o[1])throw new f("Extra bits");return[o[0]]}if(3===n){if(i&&0!==o[2])throw new f("Extra bits");return[o[0],o[1]]}return o},v=function(t,e,i){for(var n=e.length,r=0;r0){if("stop-before-partial"===u)break;if("loose"!==u)throw new f("Missing padding");if(1===x.length)throw new f("Malformed padding: exactly one additional character");w=v(y,m(x,r,!1),w)}C=b;break}var _=g(t,k);if(++k,"="===_){if(x.length<2)throw new f("Padding is too early");if(k=A(t,k),2===x.length){if(k===b){if("stop-before-partial"===u)break;throw new f("Malformed padding: only one =")}"="===g(t,k)&&(++k,k=A(t,k))}if(k>4}return{bytes:r,read:h<<1}}},67416(t,e,i){"use strict";var n=i(79039),r=i(608),o=i(43724),s=i(96395),a=r("iterator");t.exports=!n(function(){var t=new URL("b?a=1&b=2&c=3","https://a"),e=t.searchParams,i=new URLSearchParams("a=1&a=2&b=3"),n="";return t.pathname="c%20d",e.forEach(function(t,i){e.delete("b"),n+=i+t}),i.delete("a",2),i.delete("b",void 0),s&&(!t.toJSON||!i.has("a",1)||i.has("a",2)||!i.has("a",void 0)||i.has("b"))||!e.size&&(s||!o)||!e.sort||"https://a/c%20d?a=1&c=3"!==t.href||"3"!==e.get("c")||"a=1"!==String(new URLSearchParams("?a=1"))||!e[a]||"a"!==new URL("https://a@b").username||"b"!==new URLSearchParams(new URLSearchParams("a=b")).get("a")||"xn--e1aybc"!==new URL("https://тест").host||"#%D0%B1"!==new URL("https://a#б").hash||"a1c3"!==n||"x"!==new URL("https://x",void 0).host})},7040(t,e,i){"use strict";var n=i(4495);t.exports=n&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},48686(t,e,i){"use strict";var n=i(43724),r=i(79039);t.exports=n&&r(function(){return 42!==Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype})},22812(t){"use strict";var e=TypeError;t.exports=function(t,i){if(tv&&d(n,arguments[v]),n});if(k.prototype=C,"Error"!==y?a?a(k,x):u(k,x,{name:!0}):p&&m in w&&(c(k,w,m),c(k,w,"prepareStackTrace")),u(k,w),!g)try{C.name!==y&&o(C,"name",y),C.constructor=k}catch(t){}return k}}},4294(t,e,i){"use strict";var n=i(46518),r=i(97751),o=i(18745),s=i(79039),a=i(14601),u="AggregateError",c=r(u),h=!s(function(){return 1!==c([1]).errors[0]})&&s(function(){return 7!==c([1],u,{cause:7}).cause});n({global:!0,constructor:!0,arity:2,forced:h},{AggregateError:a(u,function(t){return function(e,i){return o(t,this,arguments)}},h,!0)})},17145(t,e,i){"use strict";var n=i(46518),r=i(1625),o=i(42787),s=i(52967),a=i(77740),u=i(2360),c=i(66699),h=i(6980),l=i(77584),d=i(80747),f=i(72652),p=i(32603),g=i(608)("toStringTag"),A=Error,m=[].push,v=function(t,e){var i,n=r(b,this);s?i=s(new A,n?o(this):b):(i=n?this:u(b),c(i,g,"Error")),void 0!==e&&c(i,"message",p(e)),d(i,v,i.stack,1),arguments.length>2&&l(i,arguments[2]);var a=[];return f(t,m,{that:a}),c(i,"errors",a),i};s?s(v,A):a(v,A,{name:!0});var b=v.prototype=u(A.prototype,{constructor:h(1,v),message:h(1,""),name:h(1,"AggregateError")});n({global:!0,constructor:!0,arity:2},{AggregateError:v})},30067(t,e,i){"use strict";i(17145)},54743(t,e,i){"use strict";var n=i(46518),r=i(44576),o=i(66346),s=i(87633),a="ArrayBuffer",u=o[a];n({global:!0,constructor:!0,forced:r[a]!==u},{ArrayBuffer:u}),s(a)},16573(t,e,i){"use strict";var n=i(43724),r=i(62106),o=i(3238),s=ArrayBuffer.prototype;n&&!("detached"in s)&&r(s,"detached",{configurable:!0,get:function(){return o(this)}})},46761(t,e,i){"use strict";var n=i(46518),r=i(94644);n({target:"ArrayBuffer",stat:!0,forced:!r.NATIVE_ARRAY_BUFFER_VIEWS},{isView:r.isView})},11745(t,e,i){"use strict";var n=i(46518),r=i(27476),o=i(79039),s=i(66346),a=i(28551),u=i(35610),c=i(18014),h=s.ArrayBuffer,l=s.DataView,d=l.prototype,f=r(h.prototype.slice),p=r(d.getUint8),g=r(d.setUint8);n({target:"ArrayBuffer",proto:!0,unsafe:!0,forced:o(function(){return!new h(2).slice(1,void 0).byteLength})},{slice:function(t,e){if(f&&void 0===e)return f(a(this),t);for(var i=a(this).byteLength,n=u(t,i),r=u(void 0===e?i:e,i),o=new h(c(r-n)),s=new l(this),d=new l(o),A=0;n=0?n:i+n;return a<0||a>=i?void 0:e[a]}}),a("at")},28706(t,e,i){"use strict";var n=i(46518),r=i(79039),o=i(34376),s=i(20034),a=i(48981),u=i(26198),c=i(96837),h=i(97040),l=i(34527),d=i(1469),f=i(70597),p=i(608),g=i(39519),A=p("isConcatSpreadable"),m=g>=51||!r(function(){var t=[];return t[A]=!1,t.concat()[0]!==t}),v=function(t){if(!s(t))return!1;var e=t[A];return void 0!==e?!!e:o(t)};n({target:"Array",proto:!0,arity:1,forced:!m||!f("concat")},{concat:function(t){var e,i,n,r,o,s=a(this),f=d(s,0),p=0;for(e=-1,n=arguments.length;e1?arguments[1]:void 0)}})},33771(t,e,i){"use strict";var n=i(46518),r=i(84373),o=i(6469);n({target:"Array",proto:!0},{fill:r}),o("fill")},2008(t,e,i){"use strict";var n=i(46518),r=i(59213).filter;n({target:"Array",proto:!0,forced:!i(70597)("filter")},{filter:function(t){return r(this,t,arguments.length>1?arguments[1]:void 0)}})},48980(t,e,i){"use strict";var n=i(46518),r=i(59213).findIndex,o=i(6469),s="findIndex",a=!0;s in[]&&Array(1)[s](function(){a=!1}),n({target:"Array",proto:!0,forced:a},{findIndex:function(t){return r(this,t,arguments.length>1?arguments[1]:void 0)}}),o(s)},13451(t,e,i){"use strict";var n=i(46518),r=i(43839).findLastIndex,o=i(6469);n({target:"Array",proto:!0},{findLastIndex:function(t){return r(this,t,arguments.length>1?arguments[1]:void 0)}}),o("findLastIndex")},10838(t,e,i){"use strict";var n=i(46518),r=i(43839).findLast,o=i(6469);n({target:"Array",proto:!0},{findLast:function(t){return r(this,t,arguments.length>1?arguments[1]:void 0)}}),o("findLast")},50113(t,e,i){"use strict";var n=i(46518),r=i(59213).find,o=i(6469),s="find",a=!0;s in[]&&Array(1)[s](function(){a=!1}),n({target:"Array",proto:!0,forced:a},{find:function(t){return r(this,t,arguments.length>1?arguments[1]:void 0)}}),o(s)},78350(t,e,i){"use strict";var n=i(46518),r=i(70259),o=i(79306),s=i(48981),a=i(26198),u=i(1469);n({target:"Array",proto:!0},{flatMap:function(t){var e,i=s(this),n=a(i);return o(t),e=u(i,0),r(e,i,i,n,0,1,t,arguments.length>1?arguments[1]:void 0),e}})},46449(t,e,i){"use strict";var n=i(46518),r=i(70259),o=i(48981),s=i(26198),a=i(91291),u=i(1469);n({target:"Array",proto:!0},{flat:function(){var t=arguments.length?arguments[0]:void 0,e=o(this),i=s(e),n=void 0===t?1:a(t),c=u(e,0);return r(c,e,e,i,0,n),c}})},51629(t,e,i){"use strict";var n=i(46518),r=i(90235);n({target:"Array",proto:!0,forced:[].forEach!==r},{forEach:r})},52407(t,e,i){"use strict";var n=i(46518),r=i(8045),o=i(79039),s=Array.fromAsync;n({target:"Array",stat:!0,forced:!s||o(function(){var t=0;return s.call(function(){return t++,[]},{length:0}),1!==t})},{fromAsync:r})},23418(t,e,i){"use strict";var n=i(46518),r=i(97916);n({target:"Array",stat:!0,forced:!i(84428)(function(t){Array.from(t)})},{from:r})},74423(t,e,i){"use strict";var n=i(46518),r=i(19617).includes,o=i(79039),s=i(6469),a=o(function(){return!Array(1).includes()}),u=o(function(){return[,1].includes(void 0,1)});n({target:"Array",proto:!0,forced:a||u},{includes:function(t){return r(this,t,arguments.length>1?arguments[1]:void 0)}}),s("includes")},25276(t,e,i){"use strict";var n=i(46518),r=i(27476),o=i(19617).indexOf,s=i(34598),a=r([].indexOf),u=!!a&&1/a([1],1,-0)<0;n({target:"Array",proto:!0,forced:u||!s("indexOf")},{indexOf:function(t){var e=arguments.length>1?arguments[1]:void 0;return u?a(this,t,e)||0:o(this,t,e)}})},64346(t,e,i){"use strict";i(46518)({target:"Array",stat:!0},{isArray:i(34376)})},23792(t,e,i){"use strict";var n=i(25397),r=i(6469),o=i(26269),s=i(91181),a=i(24913).f,u=i(51088),c=i(62529),h=i(96395),l=i(43724),d="Array Iterator",f=s.set,p=s.getterFor(d);t.exports=u(Array,"Array",function(t,e){f(this,{type:d,target:n(t),index:0,kind:e})},function(){var t=p(this),e=t.target,i=t.index++;if(!e||i>=e.length)return t.target=null,c(void 0,!0);switch(t.kind){case"keys":return c(i,!1);case"values":return c(e[i],!1)}return c([i,e[i]],!1)},"values");var g=o.Arguments=o.Array;if(r("keys"),r("values"),r("entries"),!h&&l&&"values"!==g.name)try{a(g,"name",{value:"values"})}catch(t){}},48598(t,e,i){"use strict";var n=i(46518),r=i(79504),o=i(47055),s=i(25397),a=i(34598),u=r([].join);n({target:"Array",proto:!0,forced:o!==Object||!a("join",",")},{join:function(t){return u(s(this),void 0===t?",":t)}})},8921(t,e,i){"use strict";var n=i(46518),r=i(8379);n({target:"Array",proto:!0,forced:r!==[].lastIndexOf},{lastIndexOf:r})},62062(t,e,i){"use strict";var n=i(46518),r=i(59213).map;n({target:"Array",proto:!0,forced:!i(70597)("map")},{map:function(t){return r(this,t,arguments.length>1?arguments[1]:void 0)}})},31051(t,e,i){"use strict";var n=i(46518),r=i(79039),o=i(33517),s=i(97040),a=i(34527),u=Array;n({target:"Array",stat:!0,forced:r(function(){function t(){}return!(u.of.call(t)instanceof t)})},{of:function(){for(var t=0,e=arguments.length,i=new(o(this)?this:u)(e);e>t;)s(i,t,arguments[t++]);return a(i,e),i}})},44114(t,e,i){"use strict";var n=i(46518),r=i(48981),o=i(26198),s=i(34527),a=i(96837);n({target:"Array",proto:!0,arity:1,forced:i(79039)(function(){return 4294967297!==[].push.call({length:4294967296},1)})||!function(){try{Object.defineProperty([],"length",{writable:!1}).push()}catch(t){return t instanceof TypeError}}()},{push:function(t){var e=r(this),i=o(e),n=arguments.length;a(i+n);for(var u=0;u79&&s<83||!o("reduceRight")},{reduceRight:function(t){return r(this,t,arguments.length,arguments.length>1?arguments[1]:void 0)}})},72712(t,e,i){"use strict";var n=i(46518),r=i(80926).left,o=i(34598),s=i(39519);n({target:"Array",proto:!0,forced:!i(38574)&&s>79&&s<83||!o("reduce")},{reduce:function(t){var e=arguments.length;return r(this,t,e,e>1?arguments[1]:void 0)}})},94490(t,e,i){"use strict";var n=i(46518),r=i(79504),o=i(34376),s=r([].reverse),a=[1,2];n({target:"Array",proto:!0,forced:String(a)===String(a.reverse())},{reverse:function(){return o(this)&&(this.length=this.length),s(this)}})},34782(t,e,i){"use strict";var n=i(46518),r=i(34376),o=i(33517),s=i(20034),a=i(35610),u=i(26198),c=i(25397),h=i(97040),l=i(34527),d=i(608),f=i(70597),p=i(67680),g=f("slice"),A=d("species"),m=Array,v=Math.max;n({target:"Array",proto:!0,forced:!g},{slice:function(t,e){var i,n,d,f=c(this),g=u(f),b=a(t,g),y=a(void 0===e?g:e,g);if(r(f)&&(i=f.constructor,(o(i)&&(i===m||r(i.prototype))||s(i)&&null===(i=i[A]))&&(i=void 0),i===m||void 0===i))return p(f,b,y);for(n=new(void 0===i?m:i)(v(y-b,0)),d=0;b1?arguments[1]:void 0)}})},26910(t,e,i){"use strict";var n=i(46518),r=i(79504),o=i(79306),s=i(48981),a=i(26198),u=i(84606),c=i(655),h=i(79039),l=i(74488),d=i(34598),f=i(13709),p=i(13763),g=i(39519),A=i(3607),m=[],v=r(m.sort),b=r(m.push),y=h(function(){m.sort(void 0)}),w=h(function(){m.sort(null)}),C=d("sort"),x=!h(function(){if(g)return g<70;if(!(f&&f>3)){if(p)return!0;if(A)return A<603;var t,e,i,n,r="";for(t=65;t<76;t++){switch(e=String.fromCharCode(t),t){case 66:case 69:case 70:case 72:i=3;break;case 68:case 71:i=4;break;default:i=2}for(n=0;n<47;n++)m.push({k:e+n,v:i})}for(m.sort(function(t,e){return e.v-t.v}),n=0;nr?1:-1}}(t)),i=a(r),n=0;ny-n+i;A--)d(b,A-1)}else if(i>n)for(A=y-n;A>w;A--)v=A+i-1,(m=A+n-1)in b?b[v]=b[m]:d(b,v);for(A=0;A=n||l<0)throw new c("Incorrect index");for(var d=new u(n),f=0;f1&&arguments[1]))>>>15,r=1023&e,31==(n=e>>>10&31)?0===r?0===i?1/0:-1/0:NaN:0===n?r*(0===i?s:-s):o(2,n-15)*(0===i?1+r*a:-1-r*a);var e,i,n,r}})},60690(t,e,i){"use strict";i(24359)},3995(t,e,i){"use strict";var n=i(46518),r=i(79504),o=i(24194),s=i(57696),a=i(67787),u=i(53602),c=Math.floor,h=Math.pow,l=1024,d=r(DataView.prototype.setUint16);n({target:"DataView",proto:!0},{setFloat16:function(t,e){d(o(this),s(t),function(t){if(t!=t)return 32256;if(0===t)return(1/t==-1/0)<<15;var e=t<0;if(e&&(t=-t),t>=65520)return e<<15|31744;if(t<61005353927612305e-21)return e<<15|u(16777216*t);var i=c(a(t));if(-15===i)return e<<15|l;var n=u((t*h(2,-i)-1)*l);return n===l?e<<15|i+16<<10:e<<15|i+15<<10|n}(+e),arguments.length>2&&arguments[2])}})},61699(t,e,i){"use strict";var n=i(46518),r=i(79504),o=i(79039)(function(){return 120!==new Date(16e11).getYear()}),s=r(Date.prototype.getFullYear);n({target:"Date",proto:!0,forced:o},{getYear:function(){return s(this)-1900}})},59089(t,e,i){"use strict";var n=i(46518),r=i(79504),o=Date,s=r(o.prototype.getTime);n({target:"Date",stat:!0},{now:function(){return s(new o)}})},91191(t,e,i){"use strict";var n=i(46518),r=i(79504),o=i(91291),s=Date.prototype,a=r(s.getTime),u=r(s.setFullYear);n({target:"Date",proto:!0},{setYear:function(t){a(this);var e=+t;if(e!=e)return u(this,e);var i=o(e);return u(this,i>=0&&i<=99?i+1900:i)}})},93515(t,e,i){"use strict";i(46518)({target:"Date",proto:!0},{toGMTString:Date.prototype.toUTCString})},1688(t,e,i){"use strict";var n=i(46518),r=i(70380);n({target:"Date",proto:!0,forced:Date.prototype.toISOString!==r},{toISOString:r})},60739(t,e,i){"use strict";var n=i(46518),r=i(79039),o=i(48981),s=i(72777);n({target:"Date",proto:!0,arity:1,forced:r(function(){return null!==new Date(NaN).toJSON()||1!==Date.prototype.toJSON.call({toISOString:function(){return 1}})})},{toJSON:function(t){var e=o(this),i=s(e,"number");return"number"!=typeof i||isFinite(i)?e.toISOString():null}})},89572(t,e,i){"use strict";var n=i(39297),r=i(36840),o=i(53640),s=i(608)("toPrimitive"),a=Date.prototype;n(a,s)||r(a,s,o)},23288(t,e,i){"use strict";var n=i(79504),r=i(36840),o=Date.prototype,s="Invalid Date",a="toString",u=n(o[a]),c=n(o.getTime);String(new Date(NaN))!==s&&r(o,a,function(){var t=c(this);return t==t?u(this):s})},48922(t,e,i){"use strict";var n=i(46518),r=i(43724),o=i(97751),s=i(79306),a=i(90679),u=i(36840),c=i(56279),h=i(62106),l=i(608),d=i(91181),f=i(91021),p=o("SuppressedError"),g=ReferenceError,A=l("dispose"),m=l("toStringTag"),v="DisposableStack",b=d.set,y=d.getterFor(v),w="sync-dispose",C="disposed",x=function(t){var e=y(t);if(e.state===C)throw new g(v+" already disposed");return e},k=function(){b(a(this,_),{type:v,state:"pending",stack:[]}),r||(this.disposed=!1)},_=k.prototype;c(_,{dispose:function(){var t=y(this);if(t.state!==C){t.state=C,r||(this.disposed=!0);for(var e,i=t.stack,n=i.length,o=!1;n;){var s=i[--n];i[n]=null;try{s()}catch(t){o?e=new p(t,e):(o=!0,e=t)}}if(t.stack=null,o)throw e}},use:function(t){return f(x(this),t,w),t},adopt:function(t,e){var i=x(this);return s(e),f(i,void 0,w,function(){e(t)}),t},defer:function(t){var e=x(this);s(t),f(e,void 0,w,t)},move:function(){var t=x(this),e=new k;return y(e).stack=t.stack,t.stack=[],t.state=C,r||(this.disposed=!0),e}}),r&&h(_,"disposed",{configurable:!0,get:function(){return y(this).state===C}}),u(_,A,_.dispose,{name:"dispose"}),u(_,m,v,{nonWritable:!0}),n({global:!0,constructor:!0},{DisposableStack:k})},16280(t,e,i){"use strict";var n=i(46518),r=i(44576),o=i(18745),s=i(14601),a="WebAssembly",u=r[a],c=7!==new Error("e",{cause:7}).cause,h=function(t,e){var i={};i[t]=s(t,e,c),n({global:!0,constructor:!0,arity:1,forced:c},i)},l=function(t,e){if(u&&u[t]){var i={};i[t]=s(a+"."+t,e,c),n({target:a,stat:!0,constructor:!0,arity:1,forced:c},i)}};h("Error",function(t){return function(e){return o(t,this,arguments)}}),h("EvalError",function(t){return function(e){return o(t,this,arguments)}}),h("RangeError",function(t){return function(e){return o(t,this,arguments)}}),h("ReferenceError",function(t){return function(e){return o(t,this,arguments)}}),h("SyntaxError",function(t){return function(e){return o(t,this,arguments)}}),h("TypeError",function(t){return function(e){return o(t,this,arguments)}}),h("URIError",function(t){return function(e){return o(t,this,arguments)}}),l("CompileError",function(t){return function(e){return o(t,this,arguments)}}),l("LinkError",function(t){return function(e){return o(t,this,arguments)}}),l("RuntimeError",function(t){return function(e){return o(t,this,arguments)}})},6372(t,e,i){"use strict";var n=i(46518),r=i(97751),o=i(20034),s=i(36955),a=i(79039),u="Error",c="DOMException",h=Object.setPrototypeOf||{}.__proto__,l=r(c),d=Error,f=d.isError;n({target:"Error",stat:!0,sham:!0,forced:!f||!h||a(function(){return l&&!f(new l(c))||!f(new d(u,{cause:function(){}}))||f(r("Object","create")(d.prototype))})},{isError:function(t){if(!o(t))return!1;var e=s(t);return e===u||e===c}})},76918(t,e,i){"use strict";var n=i(36840),r=i(77536),o=Error.prototype;o.toString!==r&&n(o,"toString",r)},36456(t,e,i){"use strict";var n=i(46518),r=i(79504),o=i(655),s=r("".charAt),a=r("".charCodeAt),u=r(/./.exec),c=r(1.1.toString),h=r("".toUpperCase),l=/[\w*+\-./@]/,d=function(t,e){for(var i=c(t,16);i.length=i.length)return void(this.done=!0);var n=i[e];this.iterables[e]=null,t=this.iterator=s(r(n.method,n.iterable)),this.next=t.next}var o=s(r(this.next,t));if(!o.done)return o.value;this.iterator=null,this.next=null}});n({target:"Iterator",stat:!0,forced:c},{concat:function(){for(var t=arguments.length,e=h(t),i=0;i94906265.62425156?s(e)+u:r(e-1+a(e-1)*a(e+1))}})},82326(t,e,i){"use strict";var n=i(46518),r=Math.asinh,o=Math.log,s=Math.sqrt,a=Math.LN2;n({target:"Math",stat:!0,forced:!(r&&1/r(0)>0)},{asinh:function t(e){var i=+e;return isFinite(i)&&0!==i?i<0?-t(-i):i>94906265.62425156?o(i)+a:o(i+s(i*i+1)):i}})},36389(t,e,i){"use strict";var n=i(46518),r=i(7740),o=Math.atanh;n({target:"Math",stat:!0,forced:!(o&&1/o(-0)<0)},{atanh:function(t){var e=+t;return 0===e?e:r(2*e/(1-e))/2}})},64444(t,e,i){"use strict";var n=i(46518),r=i(77782),o=Math.abs,s=Math.pow;n({target:"Math",stat:!0},{cbrt:function(t){var e=+t;return r(e)*s(o(e),1/3)}})},8085(t,e,i){"use strict";var n=i(46518),r=Math.floor,o=Math.log,s=Math.LOG2E;n({target:"Math",stat:!0},{clz32:function(t){var e=t>>>0;return e?31-r(o(e+.5)*s):32}})},77762(t,e,i){"use strict";var n=i(46518),r=i(53250),o=Math.cosh,s=Math.abs,a=Math.E;n({target:"Math",stat:!0,forced:!o||o(710)===1/0},{cosh:function(t){var e=r(s(t)-1)+1;return(e+1/(e*a*a))*(a/2)}})},65070(t,e,i){"use strict";var n=i(46518),r=i(53250);n({target:"Math",stat:!0,forced:r!==Math.expm1},{expm1:r})},4360(t,e,i){"use strict";var n=i(46518),r=i(33164);n({target:"Math",stat:!0},{f16round:function(t){return r(t,.0009765625,65504,6103515625e-14)}})},60605(t,e,i){"use strict";i(46518)({target:"Math",stat:!0},{fround:i(15617)})},39469(t,e,i){"use strict";var n=i(46518),r=Math.hypot,o=Math.abs,s=Math.sqrt;n({target:"Math",stat:!0,arity:2,forced:!!r&&r(1/0,NaN)!==1/0},{hypot:function(t,e){for(var i,n,r=0,a=0,u=arguments.length,c=0;a0?(n=i/c)*n:i;return c===1/0?1/0:c*s(r)}})},72152(t,e,i){"use strict";var n=i(46518),r=i(79039),o=Math.imul;n({target:"Math",stat:!0,forced:r(function(){return-5!==o(4294967295,5)||2!==o.length})},{imul:function(t,e){var i=65535,n=+t,r=+e,o=i&n,s=i&r;return 0|o*s+((i&n>>>16)*s+o*(i&r>>>16)<<16>>>0)}})},75376(t,e,i){"use strict";i(46518)({target:"Math",stat:!0},{log10:i(49340)})},56624(t,e,i){"use strict";i(46518)({target:"Math",stat:!0},{log1p:i(7740)})},11367(t,e,i){"use strict";i(46518)({target:"Math",stat:!0},{log2:i(67787)})},5914(t,e,i){"use strict";i(46518)({target:"Math",stat:!0},{sign:i(77782)})},78553(t,e,i){"use strict";var n=i(46518),r=i(79039),o=i(53250),s=Math.abs,a=Math.exp,u=Math.E;n({target:"Math",stat:!0,forced:r(function(){return-2e-17!==Math.sinh(-2e-17)})},{sinh:function(t){var e=+t;return s(e)<1?(o(e)-o(-e))/2:(a(e-1)-a(-e-1))*(u/2)}})},23068(t,e,i){"use strict";var n=i(46518),r=i(79504),o=i(72652),s=RangeError,a=TypeError,u=1/0,c=Math.abs,h=Math.pow,l=r([].push),d=h(2,1023),f=h(2,53)-1,p=Number.MAX_VALUE,g=h(2,971),A={},m={},v={},b={},y={},w=function(t,e){var i=t+e;return{hi:i,lo:e-(i-t)}};n({target:"Math",stat:!0},{sumPrecise:function(t){var e=[],i=0,n=b;switch(o(t,function(t){if(++i>f)throw new s("Maximum allowed index exceeded");if("number"!=typeof t)throw new a("Value is not a number");n!==A&&(t!=t?n=A:t===u?n=n===m?A:v:t===-1/0?n=n===v?A:m:0===t&&1/t!==u||n!==b&&n!==y||(n=y,l(e,t)))}),n){case A:return NaN;case m:return-1/0;case v:return u;case b:return-0}for(var r,h,C,x,k,_,M=[],B=0,E=0;E=0?M[T]:0;if(T--,c(B)>1||B>0&&O>0||B<0&&O<0)return B>0?u:-1/0;if(x=(C=w(B*d,O/2)).hi,k=C.lo,k*=2,c(2*x)===u)return x>0?x===d&&k===-g/2&&T>=0&&M[T]<0?p:u:x===-d&&k===g/2&&T>=0&&M[T]>0?-p:-1/0;0!==k&&(M[++T]=k,k=0),x*=2}for(;T>=0&&(x=(C=w(x,M[T--])).hi,0===(k=C.lo)););return T>=0&&(k<0&&M[T]<0||k>0&&M[T]>0)&&(h=2*k)===(r=x+h)-x&&(x=r),x}})},98690(t,e,i){"use strict";var n=i(46518),r=i(53250),o=Math.exp;n({target:"Math",stat:!0},{tanh:function(t){var e=+t,i=r(e),n=r(-e);return i===1/0?1:n===1/0?-1:(i-n)/(o(e)+o(-e))}})},60479(t,e,i){"use strict";i(10687)(Math,"Math",!0)},70761(t,e,i){"use strict";i(46518)({target:"Math",stat:!0},{trunc:i(80741)})},2892(t,e,i){"use strict";var n=i(46518),r=i(96395),o=i(43724),s=i(44576),a=i(19167),u=i(79504),c=i(92796),h=i(39297),l=i(23167),d=i(1625),f=i(10757),p=i(72777),g=i(79039),A=i(38480).f,m=i(77347).f,v=i(24913).f,b=i(31240),y=i(43802).trim,w="Number",C=s[w],x=a[w],k=C.prototype,_=s.TypeError,M=u("".slice),B=u("".charCodeAt),E=c(w,!C(" 0o1")||!C("0b1")||C("+0x1")),I=function(t){var e,i=arguments.length<1?0:C(function(t){var e=p(t,"number");return"bigint"==typeof e?e:function(t){var e,i,n,r,o,s,a,u,c=p(t,"number");if(f(c))throw new _("Cannot convert a Symbol value to a number");if("string"==typeof c&&c.length>2)if(c=y(c),43===(e=B(c,0))||45===e){if(88===(i=B(c,2))||120===i)return NaN}else if(48===e){switch(B(c,1)){case 66:case 98:n=2,r=49;break;case 79:case 111:n=8,r=55;break;default:return+c}for(s=(o=M(c,2)).length,a=0;ar)return NaN;return parseInt(o,n)}return+c}(e)}(t));return d(k,e=this)&&g(function(){b(e)})?l(Object(i),this,I):i};I.prototype=k,E&&!r&&(k.constructor=I),n({global:!0,constructor:!0,wrap:!0,forced:E},{Number:I});var S=function(t,e){for(var i,n=o?A(e):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,isFinite,isInteger,isNaN,isSafeInteger,parseFloat,parseInt,fromString,range".split(","),r=0;n.length>r;r++)h(e,i=n[r])&&!h(t,i)&&v(t,i,m(e,i))};r&&x&&S(a[w],x),(E||r)&&S(a[w],C)},45374(t,e,i){"use strict";i(46518)({target:"Number",stat:!0,nonConfigurable:!0,nonWritable:!0},{EPSILON:Math.pow(2,-52)})},25428(t,e,i){"use strict";i(46518)({target:"Number",stat:!0},{isFinite:i(50360)})},32637(t,e,i){"use strict";i(46518)({target:"Number",stat:!0},{isInteger:i(2087)})},40150(t,e,i){"use strict";i(46518)({target:"Number",stat:!0},{isNaN:function(t){return t!=t}})},59149(t,e,i){"use strict";var n=i(46518),r=i(2087),o=Math.abs;n({target:"Number",stat:!0},{isSafeInteger:function(t){return r(t)&&o(t)<=9007199254740991}})},64601(t,e,i){"use strict";i(46518)({target:"Number",stat:!0,nonConfigurable:!0,nonWritable:!0},{MAX_SAFE_INTEGER:9007199254740991})},44435(t,e,i){"use strict";i(46518)({target:"Number",stat:!0,nonConfigurable:!0,nonWritable:!0},{MIN_SAFE_INTEGER:-9007199254740991})},87220(t,e,i){"use strict";var n=i(46518),r=i(33904);n({target:"Number",stat:!0,forced:Number.parseFloat!==r},{parseFloat:r})},25843(t,e,i){"use strict";var n=i(46518),r=i(52703);n({target:"Number",stat:!0,forced:Number.parseInt!==r},{parseInt:r})},62337(t,e,i){"use strict";var n=i(46518),r=i(79504),o=i(91291),s=i(31240),a=i(72333),u=i(49340),c=i(79039),h=RangeError,l=String,d=isFinite,f=Math.abs,p=Math.floor,g=Math.pow,A=Math.round,m=r(1.1.toExponential),v=r(a),b=r("".slice),y=g(10,308),w="-6.9000e-11"===m(-69e-12,4)&&"1.25e+0"===m(1.255,2)&&"1.235e+4"===m(12345,3)&&"3e+1"===m(25,0);n({target:"Number",proto:!0,forced:!w||!(c(function(){m(1,1/0)})&&c(function(){m(1,-1/0)}))||!!c(function(){m(1/0,1/0),m(NaN,1/0)})},{toExponential:function(t){var e=s(this);if(void 0===t)return m(e);var i=o(t);if(!d(e))return String(e);if(i<0||i>20)throw new h("Incorrect fraction digits");if(w)return m(e,i);var n,r,a,c,C,x,k,_="";return e<0&&(_="-",e=-e),0===e?(r=0,n=v("0",i+1)):(C=u(e),(k=i-(r=p(C))>=308?e*y*g(10,i-r-308):e/g(10,r-i))-(x=A(k))>=.5&&(x+=1),x>=g(10,i+1)&&(x/=10,r+=1),n=l(x)),0!==i&&(n=b(n,0,1)+"."+b(n,1)),0===r?(a="+",c="0"):(a=r>0?"+":"-",c=l(f(r))),_+(n+"e")+a+c}})},9868(t,e,i){"use strict";var n=i(46518),r=i(79504),o=i(91291),s=i(31240),a=i(72333),u=i(79039),c=RangeError,h=String,l=Math.floor,d=r(a),f=r("".slice),p=r(1.1.toFixed),g=function(t,e,i){return 0===e?i:e%2==1?g(t,e-1,i*t):g(t*t,e/2,i)},A=function(t,e,i){for(var n=-1,r=i;++n<6;)r+=e*t[n],t[n]=r%1e7,r=l(r/1e7)},m=function(t,e){for(var i=6,n=0;--i>=0;)n+=t[i],t[i]=l(n/e),n=n%e*1e7},v=function(t){for(var e=6,i="";--e>=0;)if(""!==i||0===e||0!==t[e]){var n=h(t[e]);i=""===i?n:i+d("0",7-n.length)+n}return i};n({target:"Number",proto:!0,forced:u(function(){return"0.000"!==p(8e-5,3)||"1"!==p(.9,0)||"1.25"!==p(1.255,2)||"1000000000000000128"!==p(0xde0b6b3a7640080,0)})||!u(function(){p({})})},{toFixed:function(t){var e,i,n,r,a=s(this),u=o(t),l=[0,0,0,0,0,0],p="",b="0";if(u<0||u>20)throw new c("Incorrect fraction digits");if(a!=a)return"NaN";if(a<=-1e21||a>=1e21)return h(a);if(a<0&&(p="-",a=-a),a>1e-21)if(i=(e=function(t){for(var e=0,i=t;i>=4096;)e+=12,i/=4096;for(;i>=2;)e+=1,i/=2;return e}(a*g(2,69,1))-69)<0?a*g(2,-e,1):a/g(2,e,1),i*=4503599627370496,(e=52-e)>0){for(A(l,0,i),n=u;n>=7;)A(l,1e7,0),n-=7;for(A(l,g(10,n,1),0),n=e-1;n>=23;)m(l,1<<23),n-=23;m(l,1<0?p+((r=b.length)<=u?"0."+d("0",u-r)+b:f(b,0,r-u)+"."+f(b,r-u)):p+b}})},80630(t,e,i){"use strict";var n=i(46518),r=i(79504),o=i(79039),s=i(31240),a=r(1.1.toPrecision);n({target:"Number",proto:!0,forced:o(function(){return"1"!==a(1,void 0)})||!o(function(){a({})})},{toPrecision:function(t){return void 0===t?a(s(this)):a(s(this),t)}})},69085(t,e,i){"use strict";var n=i(46518),r=i(44213);n({target:"Object",stat:!0,arity:2,forced:Object.assign!==r},{assign:r})},59904(t,e,i){"use strict";i(46518)({target:"Object",stat:!0,sham:!i(43724)},{create:i(2360)})},17427(t,e,i){"use strict";var n=i(46518),r=i(43724),o=i(42551),s=i(79306),a=i(48981),u=i(24913);r&&n({target:"Object",proto:!0,forced:o},{__defineGetter__:function(t,e){u.f(a(this),t,{get:s(e),enumerable:!0,configurable:!0})}})},67945(t,e,i){"use strict";var n=i(46518),r=i(43724),o=i(96801).f;n({target:"Object",stat:!0,forced:Object.defineProperties!==o,sham:!r},{defineProperties:o})},84185(t,e,i){"use strict";var n=i(46518),r=i(43724),o=i(24913).f;n({target:"Object",stat:!0,forced:Object.defineProperty!==o,sham:!r},{defineProperty:o})},87607(t,e,i){"use strict";var n=i(46518),r=i(43724),o=i(42551),s=i(79306),a=i(48981),u=i(24913);r&&n({target:"Object",proto:!0,forced:o},{__defineSetter__:function(t,e){u.f(a(this),t,{set:s(e),enumerable:!0,configurable:!0})}})},5506(t,e,i){"use strict";var n=i(46518),r=i(32357).entries;n({target:"Object",stat:!0},{entries:function(t){return r(t)}})},52811(t,e,i){"use strict";var n=i(46518),r=i(92744),o=i(79039),s=i(20034),a=i(3451).onFreeze,u=Object.freeze;n({target:"Object",stat:!0,forced:o(function(){u(1)}),sham:!r},{freeze:function(t){return u&&s(t)?u(a(t)):t}})},53921(t,e,i){"use strict";var n=i(46518),r=i(72652),o=i(97040);n({target:"Object",stat:!0},{fromEntries:function(t){var e={};return r(t,function(t,i){o(e,t,i)},{AS_ENTRIES:!0}),e}})},83851(t,e,i){"use strict";var n=i(46518),r=i(79039),o=i(25397),s=i(77347).f,a=i(43724);n({target:"Object",stat:!0,forced:!a||r(function(){s(1)}),sham:!a},{getOwnPropertyDescriptor:function(t,e){return s(o(t),e)}})},81278(t,e,i){"use strict";var n=i(46518),r=i(43724),o=i(35031),s=i(25397),a=i(77347),u=i(97040);n({target:"Object",stat:!0,sham:!r},{getOwnPropertyDescriptors:function(t){for(var e,i,n=s(t),r=a.f,c=o(n),h={},l=0;c.length>l;)void 0!==(i=r(n,e=c[l++]))&&u(h,e,i);return h}})},1480(t,e,i){"use strict";var n=i(46518),r=i(79039),o=i(10298).f;n({target:"Object",stat:!0,forced:r(function(){return!Object.getOwnPropertyNames(1)})},{getOwnPropertyNames:o})},49773(t,e,i){"use strict";var n=i(46518),r=i(4495),o=i(79039),s=i(33717),a=i(48981);n({target:"Object",stat:!0,forced:!r||o(function(){s.f(1)})},{getOwnPropertySymbols:function(t){var e=s.f;return e?e(a(t)):[]}})},40875(t,e,i){"use strict";var n=i(46518),r=i(79039),o=i(48981),s=i(42787),a=i(12211);n({target:"Object",stat:!0,forced:r(function(){s(1)}),sham:!a},{getPrototypeOf:function(t){return s(o(t))}})},77691(t,e,i){"use strict";var n=i(46518),r=i(97040),o=i(97751),s=i(79504),a=i(79306),u=i(67750),c=i(56969),h=i(72652),l=i(79039),d=Object.groupBy,f=o("Object","create"),p=s([].push);n({target:"Object",stat:!0,forced:!d||l(function(){return 1!==d("ab",function(t){return t}).a.length})},{groupBy:function(t,e){u(t),a(e);var i=f(null),n=0;return h(t,function(t){var o=c(e(t,n++));o in i?p(i[o],t):r(i,o,[t])}),i}})},78347(t,e,i){"use strict";i(46518)({target:"Object",stat:!0},{hasOwn:i(39297)})},94052(t,e,i){"use strict";var n=i(46518),r=i(34124);n({target:"Object",stat:!0,forced:Object.isExtensible!==r},{isExtensible:r})},94003(t,e,i){"use strict";var n=i(46518),r=i(79039),o=i(20034),s=i(22195),a=i(15652),u=Object.isFrozen;n({target:"Object",stat:!0,forced:a||r(function(){u(1)})},{isFrozen:function(t){return!o(t)||!(!a||"ArrayBuffer"!==s(t))||!!u&&u(t)}})},221(t,e,i){"use strict";var n=i(46518),r=i(79039),o=i(20034),s=i(22195),a=i(15652),u=Object.isSealed;n({target:"Object",stat:!0,forced:a||r(function(){u(1)})},{isSealed:function(t){return!o(t)||!(!a||"ArrayBuffer"!==s(t))||!!u&&u(t)}})},29908(t,e,i){"use strict";i(46518)({target:"Object",stat:!0},{is:i(3470)})},79432(t,e,i){"use strict";var n=i(46518),r=i(48981),o=i(71072);n({target:"Object",stat:!0,forced:i(79039)(function(){o(1)})},{keys:function(t){return o(r(t))}})},9220(t,e,i){"use strict";var n=i(46518),r=i(43724),o=i(42551),s=i(48981),a=i(56969),u=i(42787),c=i(77347).f;r&&n({target:"Object",proto:!0,forced:o},{__lookupGetter__:function(t){var e,i=s(this),n=a(t);do{if(e=c(i,n))return e.get}while(i=u(i))}})},7904(t,e,i){"use strict";var n=i(46518),r=i(43724),o=i(42551),s=i(48981),a=i(56969),u=i(42787),c=i(77347).f;r&&n({target:"Object",proto:!0,forced:o},{__lookupSetter__:function(t){var e,i=s(this),n=a(t);do{if(e=c(i,n))return e.set}while(i=u(i))}})},16348(t,e,i){"use strict";var n=i(46518),r=i(20034),o=i(3451).onFreeze,s=i(92744),a=i(79039),u=Object.preventExtensions;n({target:"Object",stat:!0,forced:a(function(){u(1)}),sham:!s},{preventExtensions:function(t){return u&&r(t)?u(o(t)):t}})},63548(t,e,i){"use strict";var n=i(43724),r=i(62106),o=i(20034),s=i(13925),a=i(48981),u=i(67750),c=Object.getPrototypeOf,h=Object.setPrototypeOf,l=Object.prototype,d="__proto__";if(n&&c&&h&&!(d in l))try{r(l,d,{configurable:!0,get:function(){return c(a(this))},set:function(t){var e=u(this);s(t)&&o(e)&&h(e,t)}})}catch(t){}},93941(t,e,i){"use strict";var n=i(46518),r=i(20034),o=i(3451).onFreeze,s=i(92744),a=i(79039),u=Object.seal;n({target:"Object",stat:!0,forced:a(function(){u(1)}),sham:!s},{seal:function(t){return u&&r(t)?u(o(t)):t}})},10287(t,e,i){"use strict";i(46518)({target:"Object",stat:!0},{setPrototypeOf:i(52967)})},26099(t,e,i){"use strict";var n=i(92140),r=i(36840),o=i(53179);n||r(Object.prototype,"toString",o,{unsafe:!0})},16034(t,e,i){"use strict";var n=i(46518),r=i(32357).values;n({target:"Object",stat:!0},{values:function(t){return r(t)}})},78459(t,e,i){"use strict";var n=i(46518),r=i(33904);n({global:!0,forced:parseFloat!==r},{parseFloat:r})},58940(t,e,i){"use strict";var n=i(46518),r=i(52703);n({global:!0,forced:parseInt!==r},{parseInt:r})},96167(t,e,i){"use strict";var n=i(46518),r=i(69565),o=i(79306),s=i(36043),a=i(1103),u=i(72652);n({target:"Promise",stat:!0,forced:i(90537)},{allSettled:function(t){var e=this,i=s.f(e),n=i.resolve,c=i.reject,h=a(function(){var i=o(e.resolve),s=[],a=0,c=1;u(t,function(t){var o=a++,u=!1;c++,r(i,e,t).then(function(t){u||(u=!0,s[o]={status:"fulfilled",value:t},--c||n(s))},function(t){u||(u=!0,s[o]={status:"rejected",reason:t},--c||n(s))})}),--c||n(s)});return h.error&&c(h.value),i.promise}})},16499(t,e,i){"use strict";var n=i(46518),r=i(69565),o=i(79306),s=i(36043),a=i(1103),u=i(72652);n({target:"Promise",stat:!0,forced:i(90537)},{all:function(t){var e=this,i=s.f(e),n=i.resolve,c=i.reject,h=a(function(){var i=o(e.resolve),s=[],a=0,h=1;u(t,function(t){var o=a++,u=!1;h++,r(i,e,t).then(function(t){u||(u=!0,s[o]=t,--h||n(s))},c)}),--h||n(s)});return h.error&&c(h.value),i.promise}})},93518(t,e,i){"use strict";var n=i(46518),r=i(69565),o=i(79306),s=i(97751),a=i(36043),u=i(1103),c=i(72652),h=i(90537),l="No one promise resolved";n({target:"Promise",stat:!0,forced:h},{any:function(t){var e=this,i=s("AggregateError"),n=a.f(e),h=n.resolve,d=n.reject,f=u(function(){var n=o(e.resolve),s=[],a=0,u=1,f=!1;c(t,function(t){var o=a++,c=!1;u++,r(n,e,t).then(function(t){c||f||(f=!0,h(t))},function(t){c||f||(c=!0,s[o]=t,--u||d(new i(s,l)))})}),--u||d(new i(s,l))});return f.error&&d(f.value),n.promise}})},82003(t,e,i){"use strict";var n=i(46518),r=i(96395),o=i(10916).CONSTRUCTOR,s=i(80550),a=i(97751),u=i(94901),c=i(36840),h=s&&s.prototype;if(n({target:"Promise",proto:!0,forced:o,real:!0},{catch:function(t){return this.then(void 0,t)}}),!r&&u(s)){var l=a("Promise").prototype.catch;h.catch!==l&&c(h,"catch",l,{unsafe:!0})}},10436(t,e,i){"use strict";var n,r,o,s,a=i(46518),u=i(96395),c=i(38574),h=i(44576),l=i(19167),d=i(69565),f=i(36840),p=i(52967),g=i(10687),A=i(87633),m=i(79306),v=i(94901),b=i(20034),y=i(90679),w=i(2293),C=i(59225).set,x=i(91955),k=i(90757),_=i(1103),M=i(18265),B=i(91181),E=i(80550),I=i(10916),S=i(36043),D="Promise",T=I.CONSTRUCTOR,O=I.REJECTION_EVENT,P=I.SUBCLASSING,R=B.getterFor(D),z=B.set,N=E&&E.prototype,H=E,j=N,L=h.TypeError,U=h.document,q=h.process,F=S.f,W=F,Y=!!(U&&U.createEvent&&h.dispatchEvent),Q="unhandledrejection",G=function(t){var e;return!(!b(t)||!v(e=t.then))&&e},V=function(t,e){var i,n,r,o=e.value,s=1===e.state,a=s?t.ok:t.fail,u=t.resolve,c=t.reject,h=t.domain;try{a?(s||(2===e.rejection&&$(e),e.rejection=1),!0===a?i=o:(h&&h.enter(),i=a(o),h&&(h.exit(),r=!0)),i===t.promise?c(new L("Promise-chain cycle")):(n=G(i))?d(n,i,u,c):u(i)):c(o)}catch(t){h&&!r&&h.exit(),c(t)}},K=function(t,e){t.notified||(t.notified=!0,x(function(){for(var i,n=t.reactions;i=n.get();)V(i,t);t.notified=!1,e&&!t.rejection&&Z(t)}))},X=function(t,e,i){var n,r;Y?((n=U.createEvent("Event")).promise=e,n.reason=i,n.initEvent(t,!1,!0),h.dispatchEvent(n)):n={promise:e,reason:i},!O&&(r=h["on"+t])?r(n):t===Q&&k("Unhandled promise rejection",i)},Z=function(t){d(C,h,function(){var e,i=t.facade,n=t.value;if(J(t)&&(e=_(function(){c?q.emit("unhandledRejection",n,i):X(Q,i,n)}),t.rejection=c||J(t)?2:1,e.error))throw e.value})},J=function(t){return 1!==t.rejection&&!t.parent},$=function(t){d(C,h,function(){var e=t.facade;c?q.emit("rejectionHandled",e):X("rejectionhandled",e,t.value)})},tt=function(t,e,i){return function(n){t(e,n,i)}},et=function(t,e,i){t.done||(t.done=!0,i&&(t=i),t.value=e,t.state=2,K(t,!0))},it=function(t,e,i){if(!t.done){t.done=!0,i&&(t=i);try{if(t.facade===e)throw new L("Promise can't be resolved itself");var n=G(e);n?x(function(){var i={done:!1};try{d(n,e,tt(it,i,t),tt(et,i,t))}catch(e){et(i,e,t)}}):(t.value=e,t.state=1,K(t,!1))}catch(e){et({done:!1},e,t)}}};if(T&&(j=(H=function(t){y(this,j),m(t),d(n,this);var e=R(this);try{t(tt(it,e),tt(et,e))}catch(t){et(e,t)}}).prototype,(n=function(t){z(this,{type:D,done:!1,notified:!1,parent:!1,reactions:new M,rejection:!1,state:0,value:null})}).prototype=f(j,"then",function(t,e){var i=R(this),n=F(w(this,H));return i.parent=!0,n.ok=!v(t)||t,n.fail=v(e)&&e,n.domain=c?q.domain:void 0,0===i.state?i.reactions.add(n):x(function(){V(n,i)}),n.promise}),r=function(){var t=new n,e=R(t);this.promise=t,this.resolve=tt(it,e),this.reject=tt(et,e)},S.f=F=function(t){return t===H||t===o?new r(t):W(t)},!u&&v(E)&&N!==Object.prototype)){s=N.then,P||f(N,"then",function(t,e){var i=this;return new H(function(t,e){d(s,i,t,e)}).then(t,e)},{unsafe:!0});try{delete N.constructor}catch(t){}p&&p(N,j)}a({global:!0,constructor:!0,wrap:!0,forced:T},{Promise:H}),o=l.Promise,g(H,D,!1,!0),A(D)},9391(t,e,i){"use strict";var n=i(46518),r=i(96395),o=i(80550),s=i(79039),a=i(97751),u=i(94901),c=i(2293),h=i(93438),l=i(36840),d=o&&o.prototype;if(n({target:"Promise",proto:!0,real:!0,forced:!!o&&s(function(){d.finally.call({then:function(){}},function(){})})},{finally:function(t){var e=c(this,a("Promise")),i=u(t);return this.then(i?function(i){return h(e,t()).then(function(){return i})}:t,i?function(i){return h(e,t()).then(function(){throw i})}:t)}}),!r&&u(o)){var f=a("Promise").prototype.finally;d.finally!==f&&l(d,"finally",f,{unsafe:!0})}},3362(t,e,i){"use strict";i(10436),i(16499),i(82003),i(7743),i(51481),i(40280)},7743(t,e,i){"use strict";var n=i(46518),r=i(69565),o=i(79306),s=i(36043),a=i(1103),u=i(72652);n({target:"Promise",stat:!0,forced:i(90537)},{race:function(t){var e=this,i=s.f(e),n=i.reject,c=a(function(){var s=o(e.resolve);u(t,function(t){r(s,e,t).then(i.resolve,n)})});return c.error&&n(c.value),i.promise}})},51481(t,e,i){"use strict";var n=i(46518),r=i(36043);n({target:"Promise",stat:!0,forced:i(10916).CONSTRUCTOR},{reject:function(t){var e=r.f(this);return(0,e.reject)(t),e.promise}})},40280(t,e,i){"use strict";var n=i(46518),r=i(97751),o=i(96395),s=i(80550),a=i(10916).CONSTRUCTOR,u=i(93438),c=r("Promise"),h=o&&!a;n({target:"Promise",stat:!0,forced:o||a},{resolve:function(t){return u(h&&this===c?s:this,t)}})},31689(t,e,i){"use strict";var n=i(46518),r=i(44576),o=i(18745),s=i(67680),a=i(36043),u=i(79306),c=i(1103),h=r.Promise,l=!1;n({target:"Promise",stat:!0,forced:!h||!h.try||c(function(){h.try(function(t){l=8===t},8)}).error||!l},{try:function(t){var e=arguments.length>1?s(arguments,1):[],i=a.f(this),n=c(function(){return o(u(t),void 0,e)});return(n.error?i.reject:i.resolve)(n.value),i.promise}})},14628(t,e,i){"use strict";var n=i(46518),r=i(36043);n({target:"Promise",stat:!0},{withResolvers:function(){var t=r.f(this);return{promise:t.promise,resolve:t.resolve,reject:t.reject}}})},39796(t,e,i){"use strict";var n=i(46518),r=i(18745),o=i(79306),s=i(28551);n({target:"Reflect",stat:!0,forced:!i(79039)(function(){Reflect.apply(function(){})})},{apply:function(t,e,i){return r(o(t),e,s(i))}})},60825(t,e,i){"use strict";var n=i(46518),r=i(97751),o=i(18745),s=i(30566),a=i(35548),u=i(28551),c=i(20034),h=i(2360),l=i(79039),d=r("Reflect","construct"),f=Object.prototype,p=[].push,g=l(function(){function t(){}return!(d(function(){},[],t)instanceof t)}),A=!l(function(){d(function(){})}),m=g||A;n({target:"Reflect",stat:!0,forced:m,sham:m},{construct:function(t,e){a(t);var i=arguments.length<3?t:a(arguments[2]);if(u(e),A&&!g)return d(t,e,i);if(t===i){switch(e.length){case 0:return new t;case 1:return new t(e[0]);case 2:return new t(e[0],e[1]);case 3:return new t(e[0],e[1],e[2]);case 4:return new t(e[0],e[1],e[2],e[3])}var n=[null];return o(p,n,e),new(o(s,t,n))}var r=i.prototype,l=h(c(r)?r:f),m=o(t,l,e);return c(m)?m:l}})},87411(t,e,i){"use strict";var n=i(46518),r=i(43724),o=i(28551),s=i(56969),a=i(24913),u=i(94901),c=i(79039),h=TypeError;n({target:"Reflect",stat:!0,forced:c(function(){Reflect.defineProperty(a.f({},1,{value:1}),1,{value:2})}),sham:!r},{defineProperty:function(t,e,i){o(t);var n,r,c=s(e);if(o(i),("get"in i||"set"in i)&&("get"in i&&!u(n=i.get)&&void 0!==n||"set"in i&&!u(r=i.set)&&void 0!==r||"value"in i||"writable"in i))throw new h("Invalid property descriptor");try{return a.f(t,c,i),!0}catch(t){return!1}}})},21211(t,e,i){"use strict";var n=i(46518),r=i(28551),o=i(77347).f,s=i(56969);n({target:"Reflect",stat:!0},{deleteProperty:function(t,e){r(t);var i=s(e),n=o(t,i);return!(n&&!n.configurable)&&delete t[i]}})},9065(t,e,i){"use strict";var n=i(46518),r=i(43724),o=i(28551),s=i(77347);n({target:"Reflect",stat:!0,sham:!r},{getOwnPropertyDescriptor:function(t,e){return s.f(o(t),e)}})},86565(t,e,i){"use strict";var n=i(46518),r=i(28551),o=i(42787);n({target:"Reflect",stat:!0,sham:!i(12211)},{getPrototypeOf:function(t){return o(r(t))}})},40888(t,e,i){"use strict";var n=i(46518),r=i(69565),o=i(20034),s=i(28551),a=i(16575),u=i(77347),c=i(42787),h=i(56969),l=function(t,e,i){if(s(t)===i)return t[e];var n=u.f(t,e);if(n)return a(n)?n.value:void 0===n.get?void 0:r(n.get,i);var h=c(t);return o(h)?l(h,e,i):void 0};n({target:"Reflect",stat:!0},{get:function(t,e){return l(s(t),h(e),arguments.length<3?t:arguments[2])}})},32812(t,e,i){"use strict";i(46518)({target:"Reflect",stat:!0},{has:function(t,e){return e in t}})},84634(t,e,i){"use strict";var n=i(46518),r=i(28551),o=i(34124);n({target:"Reflect",stat:!0},{isExtensible:function(t){return r(t),o(t)}})},71137(t,e,i){"use strict";i(46518)({target:"Reflect",stat:!0},{ownKeys:i(35031)})},30985(t,e,i){"use strict";var n=i(46518),r=i(97751),o=i(28551);n({target:"Reflect",stat:!0,sham:!i(92744)},{preventExtensions:function(t){o(t);try{var e=r("Object","preventExtensions");return e&&e(t),!0}catch(t){return!1}}})},34873(t,e,i){"use strict";var n=i(46518),r=i(28551),o=i(73506),s=i(52967);s&&n({target:"Reflect",stat:!0},{setPrototypeOf:function(t,e){r(t),o(e);try{return s(t,e),!0}catch(t){return!1}}})},34268(t,e,i){"use strict";var n=i(46518),r=i(69565),o=i(28551),s=i(20034),a=i(16575),u=i(79039),c=i(24913),h=i(77347),l=i(42787),d=i(6980),f=i(56969),p=function(t,e,i,n){var u,f,g,A=h.f(o(t),e);if(!A){if(s(f=l(t)))return p(f,e,i,n);A=d(0)}if(a(A)){if(!1===A.writable||!s(n))return!1;if(u=h.f(n,e)){if(!a(u)||!1===u.writable)return!1;c.f(n,e,{value:i})}else try{c.f(n,e,d(0,i))}catch(t){return!1}}else{if(void 0===(g=A.set))return!1;r(g,n,i)}return!0};n({target:"Reflect",stat:!0,forced:u(function(){var t=function(){},e=c.f(new t,"a",{configurable:!0});return!1!==Reflect.set(t.prototype,"a",1,e)})},{set:function(t,e,i){return p(o(t),f(e),i,arguments.length<4?t:arguments[3])}})},15472(t,e,i){"use strict";var n=i(46518),r=i(44576),o=i(10687);n({global:!0},{Reflect:{}}),o(r.Reflect,"Reflect",!0)},84864(t,e,i){"use strict";var n=i(43724),r=i(44576),o=i(79504),s=i(92796),a=i(23167),u=i(66699),c=i(2360),h=i(38480).f,l=i(1625),d=i(60788),f=i(655),p=i(61034),g=i(58429),A=i(11056),m=i(36840),v=i(79039),b=i(39297),y=i(91181).enforce,w=i(87633),C=i(608),x=i(83635),k=i(18814),_=C("match"),M=r.RegExp,B=M.prototype,E=r.SyntaxError,I=o(B.exec),S=o("".charAt),D=o("".replace),T=o("".indexOf),O=o("".slice),P=/^\?<[^\s\d!#%&*+<=>@^][^\s!#%&*+<=>@^]*>/,R=/a/g,z=/a/g,N=new M(R)!==R,H=g.MISSED_STICKY,j=g.UNSUPPORTED_Y;if(s("RegExp",n&&(!N||H||x||k||v(function(){return z[_]=!1,M(R)!==R||M(z)===z||"/a/i"!==String(M(R,"i"))})))){for(var L=function(t,e){var i,n,r,o,s,h,g=l(B,this),A=d(t),m=void 0===e,v=[],w=t;if(!g&&A&&m&&t.constructor===L)return t;if((A||l(B,t))&&(t=t.source,m&&(e=p(w))),t=void 0===t?"":f(t),e=void 0===e?"":f(e),w=t,x&&"dotAll"in R&&(n=!!e&&T(e,"s")>-1)&&(e=D(e,/s/g,"")),i=e,H&&"sticky"in R&&(r=!!e&&T(e,"y")>-1)&&j&&(e=D(e,/y/g,"")),k&&(o=function(t){for(var e,i=t.length,n=0,r="",o=[],s=c(null),a=!1,u=!1,h=0,l="";n"===e&&u:if(""===l||b(s,l))throw new E("Invalid capture group name");s[l]=!0,o[o.length]=[l,h],u=!1,l="";continue}u?l+=e:r+=e}for(var d=0;d",p="\\"+o[d][1];T(r,f)>-1;)r=D(r,f,p);return[r,o]}(t),t=o[0],v=o[1]),s=a(M(t,e),g?this:B,L),(n||r||v.length)&&(h=y(s),n&&(h.dotAll=!0,h.raw=L(function(t){for(var e,i=t.length,n=0,r="",o=!1;nq;)A(L,M,U[q++]);B.constructor=L,L.prototype=B,m(r,"RegExp",L,{constructor:!0})}w("RegExp")},57465(t,e,i){"use strict";var n=i(43724),r=i(83635),o=i(22195),s=i(62106),a=i(91181).get,u=RegExp.prototype,c=TypeError;n&&r&&s(u,"dotAll",{configurable:!0,get:function(){if(this!==u){if("RegExp"===o(this))return!!a(this).dotAll;throw new c("Incompatible receiver, RegExp required")}}})},96069(t,e,i){"use strict";var n=i(46518),r=i(79504),o=i(63463),s=i(39297),a=i(60533).start,u=i(47452),c=Array,h=RegExp.escape,l=r("".charAt),d=r("".charCodeAt),f=r(1.1.toString),p=r([].join),g=/^[0-9a-z]/i,A=/^[$()*+./?[\\\]^{|}]/,m=RegExp("^[!\"#%&',\\-:;<=>@`~"+u+"]"),v=r(g.exec),b={"\t":"t","\n":"n","\v":"v","\f":"f","\r":"r"},y=function(t){var e=f(d(t,0),16);return e.length<3?"\\x"+a(e,2,"0"):"\\u"+a(e,4,"0")};n({target:"RegExp",stat:!0,forced:!h||"\\x61b"!==h("ab")},{escape:function(t){o(t);for(var e=t.length,i=c(e),n=0;n=56320||n+1>=e||56320!=(64512&d(t,n+1))?i[n]=y(r):(i[n]=r,i[++n]=l(t,n))}}return p(i,"")}})},27495(t,e,i){"use strict";var n=i(46518),r=i(57323);n({target:"RegExp",proto:!0,forced:/./.exec!==r},{exec:r})},69479(t,e,i){"use strict";var n=i(43724),r=i(62106),o=i(65213),s=i(67979);n&&!o.correct&&(r(RegExp.prototype,"flags",{configurable:!0,get:s}),o.correct=!0)},87745(t,e,i){"use strict";var n=i(43724),r=i(58429).MISSED_STICKY,o=i(22195),s=i(62106),a=i(91181).get,u=RegExp.prototype,c=TypeError;n&&r&&s(u,"sticky",{configurable:!0,get:function(){if(this!==u){if("RegExp"===o(this))return!!a(this).sticky;throw new c("Incompatible receiver, RegExp required")}}})},90906(t,e,i){"use strict";i(27495);var n,r,o=i(46518),s=i(69565),a=i(94901),u=i(28551),c=i(655),h=(n=!1,(r=/[ac]/).exec=function(){return n=!0,/./.exec.apply(this,arguments)},!0===r.test("abc")&&n),l=/./.test;o({target:"RegExp",proto:!0,forced:!h},{test:function(t){var e=u(this),i=c(t),n=e.exec;if(!a(n))return s(l,e,i);var r=s(n,e,i);return null!==r&&(u(r),!0)}})},38781(t,e,i){"use strict";var n=i(10350).PROPER,r=i(36840),o=i(28551),s=i(655),a=i(79039),u=i(61034),c="toString",h=RegExp.prototype,l=h[c],d=a(function(){return"/a/b"!==l.call({source:"a",flags:"b"})}),f=n&&l.name!==c;(d||f)&&r(h,c,function(){var t=o(this);return"/"+s(t.source)+"/"+s(u(t))},{unsafe:!0})},92405(t,e,i){"use strict";i(16468)("Set",function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}},i(64557))},17642(t,e,i){"use strict";var n=i(46518),r=i(83440),o=i(79039);n({target:"Set",proto:!0,real:!0,forced:!i(84916)("difference",function(t){return 0===t.size})||o(function(){var t={size:1,has:function(){return!0},keys:function(){var t=0;return{next:function(){var i=t++>1;return e.has(1)&&e.clear(),{done:i,value:2}}}}},e=new Set([1,2,3,4]);return 3!==e.difference(t).size})},{difference:r})},58004(t,e,i){"use strict";var n=i(46518),r=i(79039),o=i(68750);n({target:"Set",proto:!0,real:!0,forced:!i(84916)("intersection",function(t){return 2===t.size&&t.has(1)&&t.has(2)})||r(function(){return"3,2"!==String(Array.from(new Set([1,2,3]).intersection(new Set([3,2]))))})},{intersection:o})},33853(t,e,i){"use strict";var n=i(46518),r=i(64449);n({target:"Set",proto:!0,real:!0,forced:!i(84916)("isDisjointFrom",function(t){return!t})},{isDisjointFrom:r})},45876(t,e,i){"use strict";var n=i(46518),r=i(53838);n({target:"Set",proto:!0,real:!0,forced:!i(84916)("isSubsetOf",function(t){return t})},{isSubsetOf:r})},32475(t,e,i){"use strict";var n=i(46518),r=i(28527);n({target:"Set",proto:!0,real:!0,forced:!i(84916)("isSupersetOf",function(t){return!t})},{isSupersetOf:r})},31415(t,e,i){"use strict";i(92405)},15024(t,e,i){"use strict";var n=i(46518),r=i(83650),o=i(39835);n({target:"Set",proto:!0,real:!0,forced:!i(84916)("symmetricDifference")||!o("symmetricDifference")},{symmetricDifference:r})},31698(t,e,i){"use strict";var n=i(46518),r=i(44204),o=i(39835);n({target:"Set",proto:!0,real:!0,forced:!i(84916)("union")||!o("union")},{union:r})},89907(t,e,i){"use strict";var n=i(46518),r=i(77240);n({target:"String",proto:!0,forced:i(23061)("anchor")},{anchor:function(t){return r(this,"a","name",t)}})},67357(t,e,i){"use strict";var n=i(46518),r=i(79504),o=i(67750),s=i(91291),a=i(655),u=i(79039),c=r("".charAt);n({target:"String",proto:!0,forced:u(function(){return"\ud842"!=="𠮷".at(-2)})},{at:function(t){var e=a(o(this)),i=e.length,n=s(t),r=n>=0?n:i+n;return r<0||r>=i?void 0:c(e,r)}})},11898(t,e,i){"use strict";var n=i(46518),r=i(77240);n({target:"String",proto:!0,forced:i(23061)("big")},{big:function(){return r(this,"big","","")}})},35490(t,e,i){"use strict";var n=i(46518),r=i(77240);n({target:"String",proto:!0,forced:i(23061)("blink")},{blink:function(){return r(this,"blink","","")}})},5745(t,e,i){"use strict";var n=i(46518),r=i(77240);n({target:"String",proto:!0,forced:i(23061)("bold")},{bold:function(){return r(this,"b","","")}})},23860(t,e,i){"use strict";var n=i(46518),r=i(68183).codeAt;n({target:"String",proto:!0},{codePointAt:function(t){return r(this,t)}})},99449(t,e,i){"use strict";var n,r=i(46518),o=i(27476),s=i(77347).f,a=i(18014),u=i(655),c=i(60511),h=i(67750),l=i(41436),d=i(96395),f=o("".slice),p=Math.min,g=l("endsWith");r({target:"String",proto:!0,forced:!(!d&&!g&&(n=s(String.prototype,"endsWith"),n&&!n.writable)||g)},{endsWith:function(t){var e=u(h(this));c(t);var i=u(t),n=arguments.length>1?arguments[1]:void 0,r=e.length,o=void 0===n?r:p(a(n),r);return f(e,o-i.length,o)===i}})},94298(t,e,i){"use strict";var n=i(46518),r=i(77240);n({target:"String",proto:!0,forced:i(23061)("fixed")},{fixed:function(){return r(this,"tt","","")}})},60268(t,e,i){"use strict";var n=i(46518),r=i(77240);n({target:"String",proto:!0,forced:i(23061)("fontcolor")},{fontcolor:function(t){return r(this,"font","color",t)}})},69546(t,e,i){"use strict";var n=i(46518),r=i(77240);n({target:"String",proto:!0,forced:i(23061)("fontsize")},{fontsize:function(t){return r(this,"font","size",t)}})},27337(t,e,i){"use strict";var n=i(46518),r=i(79504),o=i(35610),s=RangeError,a=String.fromCharCode,u=String.fromCodePoint,c=r([].join);n({target:"String",stat:!0,arity:1,forced:!!u&&1!==u.length},{fromCodePoint:function(t){for(var e,i=[],n=arguments.length,r=0;n>r;){if(o(e=+arguments[r],1114111)!==e)throw new s(e+" is not a valid code point");i[r++]=e<65536?a(e):a(55296+((e-=65536)>>10),e%1024+56320)}return c(i,"")}})},21699(t,e,i){"use strict";var n=i(46518),r=i(79504),o=i(60511),s=i(67750),a=i(655),u=i(41436),c=r("".indexOf);n({target:"String",proto:!0,forced:!u("includes")},{includes:function(t){return!!~c(a(s(this)),a(o(t)),arguments.length>1?arguments[1]:void 0)}})},42043(t,e,i){"use strict";var n=i(46518),r=i(79504),o=i(67750),s=i(655),a=r("".charCodeAt);n({target:"String",proto:!0},{isWellFormed:function(){for(var t=s(o(this)),e=t.length,i=0;i=56320||++i>=e||56320!=(64512&a(t,i))))return!1}return!0}})},20781(t,e,i){"use strict";var n=i(46518),r=i(77240);n({target:"String",proto:!0,forced:i(23061)("italics")},{italics:function(){return r(this,"i","","")}})},47764(t,e,i){"use strict";var n=i(68183).charAt,r=i(655),o=i(91181),s=i(51088),a=i(62529),u="String Iterator",c=o.set,h=o.getterFor(u);s(String,"String",function(t){c(this,{type:u,string:r(t),index:0})},function(){var t,e=h(this),i=e.string,r=e.index;return r>=i.length?a(void 0,!0):(t=n(i,r),e.index+=t.length,a(t,!1))})},50778(t,e,i){"use strict";var n=i(46518),r=i(77240);n({target:"String",proto:!0,forced:i(23061)("link")},{link:function(t){return r(this,"a","href",t)}})},28543(t,e,i){"use strict";var n=i(46518),r=i(69565),o=i(27476),s=i(33994),a=i(62529),u=i(67750),c=i(18014),h=i(655),l=i(28551),d=i(20034),f=i(22195),p=i(60788),g=i(61034),A=i(55966),m=i(36840),v=i(79039),b=i(608),y=i(2293),w=i(57829),C=i(56682),x=i(91181),k=i(96395),_=b("matchAll"),M="RegExp String",B=M+" Iterator",E=x.set,I=x.getterFor(B),S=RegExp.prototype,D=TypeError,T=o("".indexOf),O=o("".matchAll),P=!!O&&!v(function(){O("a",/./)}),R=s(function(t,e,i,n){E(this,{type:B,regexp:t,string:e,global:i,unicode:n,done:!1})},M,function(){var t=I(this);if(t.done)return a(void 0,!0);var e=t.regexp,i=t.string,n=C(e,i);return null===n?(t.done=!0,a(void 0,!0)):t.global?(""===h(n[0])&&(e.lastIndex=w(i,c(e.lastIndex),t.unicode)),a(n,!1)):(t.done=!0,a(n,!1))}),z=function(t){var e,i,n,r=l(this),o=h(t),s=y(r,RegExp),a=h(g(r));return e=new s(s===RegExp?r.source:r,a),i=!!~T(a,"g"),n=!!~T(a,"u")||!!~T(a,"v"),e.lastIndex=c(r.lastIndex),new R(e,o,i,n)};n({target:"String",proto:!0,forced:P},{matchAll:function(t){var e,i,n,o,s=u(this);if(d(t)){if(p(t)&&(e=h(u(g(t))),!~T(e,"g")))throw new D("`.matchAll` does not allow non-global regexes");if(P)return O(s,t);if(void 0===(n=A(t,_))&&k&&"RegExp"===f(t)&&(n=z),n)return r(n,t,s)}else if(P)return O(s,t);return i=h(s),o=new RegExp(t,"g"),k?r(z,o,i):o[_](i)}}),k||_ in S||m(S,_,z)},71761(t,e,i){"use strict";var n=i(69565),r=i(79504),o=i(89228),s=i(28551),a=i(20034),u=i(18014),c=i(655),h=i(67750),l=i(55966),d=i(57829),f=i(61034),p=i(56682),g=r("".indexOf);o("match",function(t,e,i){return[function(e){var i=h(this),r=a(e)?l(e,t):void 0;return r?n(r,e,i):new RegExp(e)[t](c(i))},function(t){var n=s(this),r=c(t),o=i(e,n,r);if(o.done)return o.value;var a=c(f(n));if(!~g(a,"g"))return p(n,r);var h=!!~g(a,"u")||!!~g(a,"v");n.lastIndex=0;for(var l,A=[],m=0;null!==(l=p(n,r));){var v=c(l[0]);A[m]=v,""===v&&(n.lastIndex=d(r,u(n.lastIndex),h)),m++}return 0===m?null:A}]})},35701(t,e,i){"use strict";var n=i(46518),r=i(60533).end;n({target:"String",proto:!0,forced:i(83063)},{padEnd:function(t){return r(this,t,arguments.length>1?arguments[1]:void 0)}})},68156(t,e,i){"use strict";var n=i(46518),r=i(60533).start;n({target:"String",proto:!0,forced:i(83063)},{padStart:function(t){return r(this,t,arguments.length>1?arguments[1]:void 0)}})},85906(t,e,i){"use strict";var n=i(46518),r=i(79504),o=i(25397),s=i(48981),a=i(655),u=i(26198),c=r([].push),h=r([].join);n({target:"String",stat:!0},{raw:function(t){var e=o(s(t).raw),i=u(e);if(!i)return"";for(var n=arguments.length,r=[],l=0;;){if(c(r,a(e[l++])),l===i)return h(r,"");lp.length?-1:v(p,C,M+_);return I=T&&(D+=M(a,T,z)+P,T=z+R.length)}return D+M(a,T)}]},!!a(function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$")})||!E||I)},5746(t,e,i){"use strict";var n=i(69565),r=i(89228),o=i(28551),s=i(20034),a=i(67750),u=i(3470),c=i(655),h=i(55966),l=i(56682);r("search",function(t,e,i){return[function(e){var i=a(this),r=s(e)?h(e,t):void 0;return r?n(r,e,i):new RegExp(e)[t](c(i))},function(t){var n=o(this),r=c(t),s=i(e,n,r);if(s.done)return s.value;var a=n.lastIndex;u(a,0)||(n.lastIndex=0);var h=l(n,r);return u(n.lastIndex,a)||(n.lastIndex=a),null===h?-1:h.index}]})},89195(t,e,i){"use strict";var n=i(46518),r=i(77240);n({target:"String",proto:!0,forced:i(23061)("small")},{small:function(){return r(this,"small","","")}})},90744(t,e,i){"use strict";var n=i(69565),r=i(79504),o=i(89228),s=i(28551),a=i(20034),u=i(67750),c=i(2293),h=i(57829),l=i(18014),d=i(655),f=i(55966),p=i(61034),g=i(56682),A=i(58429),m=i(79039),v=A.UNSUPPORTED_Y,b=Math.min,y=r([].push),w=r("".slice),C=r("".indexOf),x=!m(function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var i="ab".split(t);return 2!==i.length||"a"!==i[0]||"b"!==i[1]}),k="c"==="abbc".split(/(b)*/)[1]||4!=="test".split(/(?:)/,-1).length||2!=="ab".split(/(?:ab)*/).length||4!==".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length;o("split",function(t,e,i){var r="0".split(void 0,0).length?function(t,i){return void 0===t&&0===i?[]:n(e,this,t,i)}:e;return[function(e,i){var o=u(this),s=a(e)?f(e,t):void 0;return s?n(s,e,o,i):n(r,d(o),e,i)},function(t,n){var o=s(this),a=d(t);if(!k){var u=i(r,o,a,n,r!==e);if(u.done)return u.value}var f=c(o,RegExp),A=d(p(o)),m=!!~C(A,"u")||!!~C(A,"v");v?~C(A,"g")||(A+="g"):~C(A,"y")||(A+="y");var x=new f(v?"^(?:"+o.source+")":o,A),_=void 0===n?4294967295:n>>>0;if(0===_)return[];if(0===a.length)return null===g(x,a)?[a]:[];for(var M=0,B=0,E=[];B1?arguments[1]:void 0,e.length));return f(e,n,n+i.length)===i}})},46276(t,e,i){"use strict";var n=i(46518),r=i(77240);n({target:"String",proto:!0,forced:i(23061)("strike")},{strike:function(){return r(this,"strike","","")}})},48718(t,e,i){"use strict";var n=i(46518),r=i(77240);n({target:"String",proto:!0,forced:i(23061)("sub")},{sub:function(){return r(this,"sub","","")}})},50375(t,e,i){"use strict";var n=i(46518),r=i(79504),o=i(67750),s=i(91291),a=i(655),u=r("".slice),c=Math.max,h=Math.min;n({target:"String",proto:!0,forced:!"".substr||"b"!=="ab".substr(-1)},{substr:function(t,e){var i=a(o(this)),n=i.length,r=s(t),l=r<0?c(n+r,0):h(r,n),d=void 0===e?n:s(e);if(d<=0)return"";var f=h(l+d,n);return l>=f?"":u(i,l,f)}})},16308(t,e,i){"use strict";var n=i(46518),r=i(77240);n({target:"String",proto:!0,forced:i(23061)("sup")},{sup:function(){return r(this,"sup","","")}})},67438(t,e,i){"use strict";var n=i(46518),r=i(69565),o=i(79504),s=i(67750),a=i(655),u=i(79039),c=Array,h=o("".charAt),l=o("".charCodeAt),d=o([].join),f="".toWellFormed,p=f&&u(function(){return"1"!==r(f,1)});n({target:"String",proto:!0,forced:p},{toWellFormed:function(){var t=a(s(this));if(p)return r(f,t);for(var e=t.length,i=c(e),n=0;n=56320||n+1>=e||56320!=(64512&l(t,n+1))?i[n]="�":(i[n]=h(t,n),i[++n]=h(t,n))}return d(i,"")}})},39202(t,e,i){"use strict";i(33313);var n=i(46518),r=i(18866);n({target:"String",proto:!0,name:"trimEnd",forced:"".trimEnd!==r},{trimEnd:r})},58934(t,e,i){"use strict";var n=i(46518),r=i(53487);n({target:"String",proto:!0,name:"trimStart",forced:"".trimLeft!==r},{trimLeft:r})},33313(t,e,i){"use strict";var n=i(46518),r=i(18866);n({target:"String",proto:!0,name:"trimEnd",forced:"".trimRight!==r},{trimRight:r})},43359(t,e,i){"use strict";i(58934);var n=i(46518),r=i(53487);n({target:"String",proto:!0,name:"trimStart",forced:"".trimStart!==r},{trimStart:r})},42762(t,e,i){"use strict";var n=i(46518),r=i(43802).trim;n({target:"String",proto:!0,forced:i(60706)("trim")},{trim:function(){return r(this)}})},88940(t,e,i){"use strict";var n=i(46518),r=i(44576),o=i(1625),s=i(42787),a=i(52967),u=i(77740),c=i(2360),h=i(66699),l=i(6980),d=i(80747),f=i(32603),p=i(608),g=i(79039),A=i(96395),m=r.SuppressedError,v=p("toStringTag"),b=Error,y=!!m&&3!==m.length,w=!!m&&g(function(){return 4===new m(1,2,3,{cause:4}).cause}),C=y||w,x=function(t,e,i){var n,r=o(k,this);return a?n=!C||r&&s(this)!==k?a(new b,r?s(this):k):new m:(n=r?this:c(k),h(n,v,"Error")),void 0!==i&&h(n,"message",f(i)),d(n,x,n.stack,1),h(n,"error",t),h(n,"suppressed",e),n};a?a(x,b):u(x,b,{name:!0});var k=x.prototype=C?m.prototype:c(b.prototype,{constructor:l(1,x),message:l(1,""),name:l(1,"SuppressedError")});C&&!A&&(k.constructor=x),n({global:!0,constructor:!0,arity:3,forced:C},{SuppressedError:x})},34113(t,e,i){"use strict";var n=i(44576),r=i(70511),o=i(24913).f,s=i(77347).f,a=n.Symbol;if(r("asyncDispose"),a){var u=s(a,"asyncDispose");u.enumerable&&u.configurable&&u.writable&&o(a,"asyncDispose",{value:u.value,enumerable:!1,configurable:!1,writable:!1})}},66412(t,e,i){"use strict";i(70511)("asyncIterator")},6761(t,e,i){"use strict";var n=i(46518),r=i(44576),o=i(69565),s=i(79504),a=i(96395),u=i(43724),c=i(4495),h=i(79039),l=i(39297),d=i(1625),f=i(28551),p=i(25397),g=i(56969),A=i(655),m=i(6980),v=i(2360),b=i(71072),y=i(38480),w=i(10298),C=i(33717),x=i(77347),k=i(24913),_=i(96801),M=i(48773),B=i(36840),E=i(62106),I=i(25745),S=i(66119),D=i(30421),T=i(33392),O=i(608),P=i(1951),R=i(70511),z=i(58242),N=i(10687),H=i(91181),j=i(59213).forEach,L=S("hidden"),U="Symbol",q="prototype",F=H.set,W=H.getterFor(U),Y=Object[q],Q=r.Symbol,G=Q&&Q[q],V=r.RangeError,K=r.TypeError,X=r.QObject,Z=x.f,J=k.f,$=w.f,tt=M.f,et=s([].push),it=I("symbols"),nt=I("op-symbols"),rt=I("wks"),ot=!X||!X[q]||!X[q].findChild,st=function(t,e,i){var n=Z(Y,e);return n&&delete Y[e],J(t,e,i),n&&t!==Y&&J(Y,e,n),t},at=u&&h(function(){return 7!==v(J({},"a",{get:function(){return J(this,"a",{value:7}).a}})).a})?st:J,ut=function(t,e){var i=it[t]=v(G);return F(i,{type:U,tag:t,description:e}),u||(i.description=e),i},ct=function(t,e,i){t===Y&&ct(nt,e,i),f(t);var n=g(e);return f(i),l(it,n)?(("enumerable"in i?!i.enumerable:!l(t,n)||l(t,L)&&t[L][n])?(l(t,L)||J(t,L,m(1,v(null))),t[L][n]=!0):(l(t,L)&&t[L][n]&&(t[L][n]=!1),i=v(i,{enumerable:m(0,!1)})),at(t,n,i)):J(t,n,i)},ht=function(t,e){f(t);var i=p(e),n=b(i).concat(pt(i));return j(n,function(e){u&&!o(lt,i,e)||ct(t,e,i[e])}),t},lt=function(t){var e=g(t),i=o(tt,this,e);return!(this===Y&&l(it,e)&&!l(nt,e))&&(!(i||!l(this,e)||!l(it,e)||l(this,L)&&this[L][e])||i)},dt=function(t,e){var i=p(t),n=g(e);if(i!==Y||!l(it,n)||l(nt,n)){var r=Z(i,n);return!r||!l(it,n)||l(i,L)&&i[L][n]||(r.enumerable=!0),r}},ft=function(t){var e=$(p(t)),i=[];return j(e,function(t){l(it,t)||l(D,t)||et(i,t)}),i},pt=function(t){var e=t===Y,i=$(e?nt:p(t)),n=[];return j(i,function(t){!l(it,t)||e&&!l(Y,t)||et(n,it[t])}),n};c||(Q=function(){if(d(G,this))throw new K("Symbol is not a constructor");var t=arguments.length&&void 0!==arguments[0]?A(arguments[0]):void 0,e=T(t),i=function(t){var n=void 0===this?r:this;n===Y&&o(i,nt,t),l(n,L)&&l(n[L],e)&&(n[L][e]=!1);var s=m(1,t);try{at(n,e,s)}catch(t){if(!(t instanceof V))throw t;st(n,e,s)}};return u&&ot&&at(Y,e,{configurable:!0,set:i}),ut(e,t)},B(G=Q[q],"toString",function(){return W(this).tag}),B(Q,"withoutSetter",function(t){return ut(T(t),t)}),M.f=lt,k.f=ct,_.f=ht,x.f=dt,y.f=w.f=ft,C.f=pt,P.f=function(t){return ut(O(t),t)},u&&(E(G,"description",{configurable:!0,get:function(){return W(this).description}}),a||B(Y,"propertyIsEnumerable",lt,{unsafe:!0}))),n({global:!0,constructor:!0,wrap:!0,forced:!c,sham:!c},{Symbol:Q}),j(b(rt),function(t){R(t)}),n({target:U,stat:!0,forced:!c},{useSetter:function(){ot=!0},useSimple:function(){ot=!1}}),n({target:"Object",stat:!0,forced:!c,sham:!u},{create:function(t,e){return void 0===e?v(t):ht(v(t),e)},defineProperty:ct,defineProperties:ht,getOwnPropertyDescriptor:dt}),n({target:"Object",stat:!0,forced:!c},{getOwnPropertyNames:ft}),z(),N(Q,U),D[L]=!0},89463(t,e,i){"use strict";var n=i(46518),r=i(43724),o=i(44576),s=i(69565),a=i(79504),u=i(39297),c=i(94901),h=i(1625),l=i(655),d=i(62106),f=i(77740),p=o.Symbol,g=p&&p.prototype;if(r&&c(p)&&(!("description"in g)||void 0!==p().description)){var A={},m=function(){var t=arguments.length<1||void 0===arguments[0]?void 0:l(arguments[0]),e=h(g,this)?new p(t):void 0===t?p():p(t);return""===t&&(A[e]=!0),e};f(m,p);var v=m.for;m.for={for:function(t){var e=l(t),i=s(v,this,e);return""===e&&(A[i]=!0),i}}.for,m.prototype=g,g.constructor=m;var b="Symbol(description detection)"===String(p("description detection")),y=a(g.valueOf),w=a(g.toString),C=/^Symbol\((.*)\)[^)]+$/,x=a("".replace),k=a("".slice);d(g,"description",{configurable:!0,get:function(){var t=y(this);if(u(A,t))return"";var e=w(t),i=b?k(e,7,-1):x(e,C,"$1");return""===i?void 0:i}}),n({global:!0,constructor:!0,forced:!0},{Symbol:m})}},97324(t,e,i){"use strict";var n=i(44576),r=i(70511),o=i(24913).f,s=i(77347).f,a=n.Symbol;if(r("dispose"),a){var u=s(a,"dispose");u.enumerable&&u.configurable&&u.writable&&o(a,"dispose",{value:u.value,enumerable:!1,configurable:!1,writable:!1})}},81510(t,e,i){"use strict";var n=i(46518),r=i(97751),o=i(39297),s=i(655),a=i(25745),u=i(91296),c=a("string-to-symbol-registry"),h=a("symbol-to-string-registry");n({target:"Symbol",stat:!0,forced:!u},{for:function(t){var e=s(t);if(o(c,e))return c[e];var i=r("Symbol")(e);return c[e]=i,h[i]=e,i}})},60193(t,e,i){"use strict";i(70511)("hasInstance")},92168(t,e,i){"use strict";i(70511)("isConcatSpreadable")},2259(t,e,i){"use strict";i(70511)("iterator")},52675(t,e,i){"use strict";i(6761),i(81510),i(97812),i(33110),i(49773)},97812(t,e,i){"use strict";var n=i(46518),r=i(39297),o=i(10757),s=i(16823),a=i(25745),u=i(91296),c=a("symbol-to-string-registry");n({target:"Symbol",stat:!0,forced:!u},{keyFor:function(t){if(!o(t))throw new TypeError(s(t)+" is not a symbol");if(r(c,t))return c[t]}})},83142(t,e,i){"use strict";i(70511)("matchAll")},86964(t,e,i){"use strict";i(70511)("match")},83237(t,e,i){"use strict";i(70511)("replace")},61833(t,e,i){"use strict";i(70511)("search")},67947(t,e,i){"use strict";i(70511)("species")},31073(t,e,i){"use strict";i(70511)("split")},45700(t,e,i){"use strict";var n=i(70511),r=i(58242);n("toPrimitive"),r()},78125(t,e,i){"use strict";var n=i(97751),r=i(70511),o=i(10687);r("toStringTag"),o(n("Symbol"),"Symbol")},20326(t,e,i){"use strict";i(70511)("unscopables")},48140(t,e,i){"use strict";var n=i(94644),r=i(26198),o=i(91291),s=n.aTypedArray;(0,n.exportTypedArrayMethod)("at",function(t){var e=s(this),i=r(e),n=o(t),a=n>=0?n:i+n;return a<0||a>=i?void 0:e[a]})},81630(t,e,i){"use strict";var n=i(79504),r=i(94644),o=n(i(57029)),s=r.aTypedArray;(0,r.exportTypedArrayMethod)("copyWithin",function(t,e){return o(s(this),t,e,arguments.length>2?arguments[2]:void 0)})},72170(t,e,i){"use strict";var n=i(94644),r=i(59213).every,o=n.aTypedArray;(0,n.exportTypedArrayMethod)("every",function(t){return r(o(this),t,arguments.length>1?arguments[1]:void 0)})},75044(t,e,i){"use strict";var n=i(94644),r=i(84373),o=i(75854),s=i(36955),a=i(69565),u=i(79504),c=i(79039),h=n.aTypedArray,l=n.exportTypedArrayMethod,d=u("".slice);l("fill",function(t){var e=arguments.length;h(this);var i="Big"===d(s(this),0,3)?o(t):+t;return a(r,this,i,e>1?arguments[1]:void 0,e>2?arguments[2]:void 0)},c(function(){var t=0;return new Int8Array(2).fill({valueOf:function(){return t++}}),1!==t}))},69539(t,e,i){"use strict";var n=i(94644),r=i(59213).filter,o=i(29948),s=n.aTypedArray;(0,n.exportTypedArrayMethod)("filter",function(t){var e=r(s(this),t,arguments.length>1?arguments[1]:void 0);return o(this,e)})},89955(t,e,i){"use strict";var n=i(94644),r=i(59213).findIndex,o=n.aTypedArray;(0,n.exportTypedArrayMethod)("findIndex",function(t){return r(o(this),t,arguments.length>1?arguments[1]:void 0)})},91134(t,e,i){"use strict";var n=i(94644),r=i(43839).findLastIndex,o=n.aTypedArray;(0,n.exportTypedArrayMethod)("findLastIndex",function(t){return r(o(this),t,arguments.length>1?arguments[1]:void 0)})},21903(t,e,i){"use strict";var n=i(94644),r=i(43839).findLast,o=n.aTypedArray;(0,n.exportTypedArrayMethod)("findLast",function(t){return r(o(this),t,arguments.length>1?arguments[1]:void 0)})},31694(t,e,i){"use strict";var n=i(94644),r=i(59213).find,o=n.aTypedArray;(0,n.exportTypedArrayMethod)("find",function(t){return r(o(this),t,arguments.length>1?arguments[1]:void 0)})},34594(t,e,i){"use strict";i(15823)("Float32",function(t){return function(e,i,n){return t(this,e,i,n)}})},29833(t,e,i){"use strict";i(15823)("Float64",function(t){return function(e,i,n){return t(this,e,i,n)}})},33206(t,e,i){"use strict";var n=i(94644),r=i(59213).forEach,o=n.aTypedArray;(0,n.exportTypedArrayMethod)("forEach",function(t){r(o(this),t,arguments.length>1?arguments[1]:void 0)})},48345(t,e,i){"use strict";var n=i(72805);(0,i(94644).exportTypedArrayStaticMethod)("from",i(43251),n)},44496(t,e,i){"use strict";var n=i(94644),r=i(19617).includes,o=n.aTypedArray;(0,n.exportTypedArrayMethod)("includes",function(t){return r(o(this),t,arguments.length>1?arguments[1]:void 0)})},66651(t,e,i){"use strict";var n=i(94644),r=i(19617).indexOf,o=n.aTypedArray;(0,n.exportTypedArrayMethod)("indexOf",function(t){return r(o(this),t,arguments.length>1?arguments[1]:void 0)})},72107(t,e,i){"use strict";i(15823)("Int16",function(t){return function(e,i,n){return t(this,e,i,n)}})},95477(t,e,i){"use strict";i(15823)("Int32",function(t){return function(e,i,n){return t(this,e,i,n)}})},46594(t,e,i){"use strict";i(15823)("Int8",function(t){return function(e,i,n){return t(this,e,i,n)}})},12887(t,e,i){"use strict";var n=i(44576),r=i(79039),o=i(79504),s=i(94644),a=i(23792),u=i(608)("iterator"),c=n.Uint8Array,h=o(a.values),l=o(a.keys),d=o(a.entries),f=s.aTypedArray,p=s.exportTypedArrayMethod,g=c&&c.prototype,A=!r(function(){g[u].call([1])}),m=!!g&&g.values&&g[u]===g.values&&"values"===g.values.name,v=function(){return h(f(this))};p("entries",function(){return d(f(this))},A),p("keys",function(){return l(f(this))},A),p("values",v,A||!m,{name:"values"}),p(u,v,A||!m,{name:"values"})},19369(t,e,i){"use strict";var n=i(94644),r=i(79504),o=n.aTypedArray,s=n.exportTypedArrayMethod,a=r([].join);s("join",function(t){return a(o(this),t)})},66812(t,e,i){"use strict";var n=i(94644),r=i(18745),o=i(8379),s=n.aTypedArray;(0,n.exportTypedArrayMethod)("lastIndexOf",function(t){var e=arguments.length;return r(o,s(this),e>1?[t,arguments[1]]:[t])})},8995(t,e,i){"use strict";var n=i(94644),r=i(59213).map,o=i(29948),s=n.aTypedArray;(0,n.exportTypedArrayMethod)("map",function(t){var e=r(s(this),t,arguments.length>1?arguments[1]:void 0);return o(this,e)})},52568(t,e,i){"use strict";var n=i(94644),r=i(72805),o=n.aTypedArrayConstructor;(0,n.exportTypedArrayStaticMethod)("of",function(){for(var t=0,e=arguments.length,i=new(o(this))(e);e>t;)i[t]=arguments[t++];return i},r)},36072(t,e,i){"use strict";var n=i(94644),r=i(80926).right,o=n.aTypedArray;(0,n.exportTypedArrayMethod)("reduceRight",function(t){var e=arguments.length;return r(o(this),t,e,e>1?arguments[1]:void 0)})},31575(t,e,i){"use strict";var n=i(94644),r=i(80926).left,o=n.aTypedArray;(0,n.exportTypedArrayMethod)("reduce",function(t){var e=arguments.length;return r(o(this),t,e,e>1?arguments[1]:void 0)})},88747(t,e,i){"use strict";var n=i(94644),r=n.aTypedArray,o=n.exportTypedArrayMethod,s=Math.floor;o("reverse",function(){for(var t,e=this,i=r(e).length,n=s(i/2),o=0;o1?arguments[1]:void 0,1),i=u(t);if(A)return r(f,this,i,e);var n=this.length,o=s(i),c=0;if(o+e>n)throw new h("Wrong length");for(;cr;)c[r]=i[r++];return c},r(function(){new Int8Array(1).slice()}))},57301(t,e,i){"use strict";var n=i(94644),r=i(59213).some,o=n.aTypedArray;(0,n.exportTypedArrayMethod)("some",function(t){return r(o(this),t,arguments.length>1?arguments[1]:void 0)})},373(t,e,i){"use strict";var n=i(44576),r=i(27476),o=i(79039),s=i(79306),a=i(74488),u=i(94644),c=i(13709),h=i(13763),l=i(39519),d=i(3607),f=u.aTypedArray,p=u.exportTypedArrayMethod,g=n.Uint16Array,A=g&&r(g.prototype.sort),m=!(!A||o(function(){A(new g(2),null)})&&o(function(){A(new g(2),{})})),v=!!A&&!o(function(){if(l)return l<74;if(c)return c<67;if(h)return!0;if(d)return d<602;var t,e,i=new g(516),n=Array(516);for(t=0;t<516;t++)e=t%4,i[t]=515-t,n[t]=t-2*e+3;for(A(i,function(t,e){return(t/4|0)-(e/4|0)}),t=0;t<516;t++)if(i[t]!==n[t])return!0});p("sort",function(t){return void 0!==t&&s(t),v?A(this,t):a(f(this),function(t){return function(e,i){return void 0!==t?+t(e,i)||0:i!=i?e!=e?0:-1:e!=e?1:0===e&&0===i?1/e>0?1/i>0?0:1:1/i>0?-1:0:e>i?1:e=n||d<0)throw new l("Incorrect index");for(var p=new(c(i))(n),g=0;g1?arguments[1]:void 0,null,9007199254740991);return o(a,e.bytes)}})},91925(t,e,i){"use strict";var n=i(46518),r=i(44576),o=i(63463),s=i(42303);r.Uint8Array&&n({target:"Uint8Array",stat:!0},{fromHex:function(t){return s(o(t)).bytes}})},16632(t,e,i){"use strict";var n=i(46518),r=i(44576),o=i(59143),s=i(34154),a=r.Uint8Array,u=!a||!a.prototype.setFromBase64||!function(){var t=new a([255,255,255,255,255]);try{return void t.setFromBase64("",null)}catch(t){}try{return void t.setFromBase64("a")}catch(t){}try{t.setFromBase64("MjYyZg===")}catch(e){return 50===t[0]&&54===t[1]&&50===t[2]&&255===t[3]&&255===t[4]}}();a&&n({target:"Uint8Array",proto:!0,forced:u},{setFromBase64:function(t){s(this);var e=o(t,arguments.length>1?arguments[1]:void 0,this,this.length);return{read:e.read,written:e.written}}})},34226(t,e,i){"use strict";var n=i(46518),r=i(44576),o=i(63463),s=i(34154),a=i(55169),u=i(42303);r.Uint8Array&&n({target:"Uint8Array",proto:!0,forced:function(){try{var t=new ArrayBuffer(16,{maxByteLength:1024});new Uint8Array(t).setFromHex("cafed00d")}catch(t){return!0}}()},{setFromHex:function(t){s(this),o(t),a(this.buffer);var e=u(t,this).read;return{read:e,written:e/2}}})},9486(t,e,i){"use strict";var n=i(46518),r=i(44576),o=i(79504),s=i(83972),a=i(34154),u=i(55169),c=i(92804),h=i(944),l=c.i2c,d=c.i2cUrl,f=o("".charAt),p=r.Uint8Array,g=!p||!p.prototype.toBase64||!function(){try{(new p).toBase64(null)}catch(t){return!0}}();p&&n({target:"Uint8Array",proto:!0,forced:g},{toBase64:function(){var t=a(this),e=arguments.length?s(arguments[0]):void 0,i="base64"===h(e)?l:d,n=!!e&&!!e.omitPadding;u(this.buffer);for(var r,o="",c=0,p=t.length,g=function(t){return f(i,r>>6*t&63)};c+2>2)+(M?M-1:0)),E=0;u>(-2*_&6)));return y(B,"")}})},42207(t,e,i){"use strict";var n=i(46518),r=i(44576),o=i(97751),s=i(79504),a=i(69565),u=i(79039),c=i(655),h=i(22812),l=i(92804).i2c,d=o("btoa"),f=Array,p=s([].join),g=s("".charAt),A=s("".charCodeAt),m=!!d&&!u(function(){return"aGk="!==d("hi")}),v=m&&!u(function(){d()}),b=m&&u(function(){return"bnVsbA=="!==d(null)}),y=m&&1!==d.length;n({global:!0,bind:!0,enumerable:!0,forced:!m||v||b||y},{btoa:function(t){if(h(arguments.length,1),m)return a(d,r,c(t));for(var e,i,n=c(t),s=new f((n.length+2)/3<<2),u=0,v=0,b=l;g(n,v)||(b="=",v%1);){if((i=A(n,v+=3/4))>255)throw new(o("DOMException"))("The string contains characters outside of the Latin1 range","InvalidCharacterError");e=e<<8|i,s[u++]=g(b,63&e>>8-v%1*8)}return p(s,"")}})},86368(t,e,i){"use strict";var n=i(46518),r=i(44576),o=i(59225).clear;n({global:!0,bind:!0,enumerable:!0,forced:r.clearImmediate!==o},{clearImmediate:o})},23500(t,e,i){"use strict";var n=i(44576),r=i(67400),o=i(79296),s=i(90235),a=i(66699),u=function(t){if(t&&t.forEach!==s)try{a(t,"forEach",s)}catch(e){t.forEach=s}};for(var c in r)r[c]&&u(n[c]&&n[c].prototype);u(o)},62953(t,e,i){"use strict";var n=i(44576),r=i(67400),o=i(79296),s=i(23792),a=i(66699),u=i(10687),c=i(608)("iterator"),h=s.values,l=function(t,e){if(t){if(t[c]!==h)try{a(t,c,h)}catch(e){t[c]=h}if(u(t,e,!0),r[e])for(var i in s)if(t[i]!==s[i])try{a(t,i,s[i])}catch(e){t[i]=s[i]}}};for(var d in r)l(n[d]&&n[d].prototype,d);l(o,"DOMTokenList")},55815(t,e,i){"use strict";var n=i(46518),r=i(97751),o=i(89429),s=i(79039),a=i(2360),u=i(6980),c=i(24913).f,h=i(36840),l=i(62106),d=i(39297),f=i(90679),p=i(28551),g=i(77536),A=i(32603),m=i(55002),v=i(16193),b=i(91181),y=i(43724),w=i(96395),C="DOMException",x="DATA_CLONE_ERR",k=r("Error"),_=r(C)||function(){try{(new(r("MessageChannel")||o("worker_threads").MessageChannel)).port1.postMessage(new WeakMap)}catch(t){if(t.name===x&&25===t.code)return t.constructor}}(),M=_&&_.prototype,B=k.prototype,E=b.set,I=b.getterFor(C),S="stack"in new k(C),D=function(t){return d(m,t)&&m[t].m?m[t].c:0},T=function(){f(this,O);var t=arguments.length,e=A(t<1?void 0:arguments[0]),i=A(t<2?void 0:arguments[1],"Error"),n=D(i);if(E(this,{type:C,name:i,message:e,code:n}),y||(this.name=i,this.message=e,this.code=n),S){var r=new k(e);r.name=C,c(this,"stack",u(1,v(r.stack,1)))}},O=T.prototype=a(B),P=function(t){return{enumerable:!0,configurable:!0,get:t}},R=function(t){return P(function(){return I(this)[t]})};y&&(l(O,"code",R("code")),l(O,"message",R("message")),l(O,"name",R("name"))),c(O,"constructor",u(1,T));var z=s(function(){return!(new _ instanceof k)}),N=z||s(function(){return B.toString!==g||"2: 1"!==String(new _(1,2))}),H=z||s(function(){return 25!==new _(1,"DataCloneError").code}),j=z||25!==_[x]||25!==M[x],L=w?N||H||j:z;n({global:!0,constructor:!0,forced:L},{DOMException:L?T:_});var U=r(C),q=U.prototype;for(var F in N&&(w||_===U)&&h(q,"toString",g),H&&y&&_===U&&l(q,"code",P(function(){return D(p(this).name)})),m)if(d(m,F)){var W=m[F],Y=W.s,Q=u(6,W.c);d(U,Y)||c(U,Y,Q),d(q,Y)||c(q,Y,Q)}},64979(t,e,i){"use strict";var n=i(46518),r=i(44576),o=i(97751),s=i(6980),a=i(24913).f,u=i(39297),c=i(90679),h=i(23167),l=i(32603),d=i(55002),f=i(16193),p=i(43724),g=i(96395),A="DOMException",m=o("Error"),v=o(A),b=function(){c(this,y);var t=arguments.length,e=l(t<1?void 0:arguments[0]),i=l(t<2?void 0:arguments[1],"Error"),n=new v(e,i),r=new m(e);return r.name=A,a(n,"stack",s(1,f(r.stack,1))),h(n,this,b),n},y=b.prototype=v.prototype,w="stack"in new m(A),C="stack"in new v(1,2),x=v&&p&&Object.getOwnPropertyDescriptor(r,A),k=!(!x||x.writable&&x.configurable),_=w&&!k&&!C;n({global:!0,constructor:!0,forced:g||_},{DOMException:_?b:v});var M=o(A),B=M.prototype;if(B.constructor!==M)for(var E in g||a(B,"constructor",s(1,M)),d)if(u(d,E)){var I=d[E],S=I.s;u(M,S)||a(M,S,s(6,I.c))}},79739(t,e,i){"use strict";var n=i(97751),r="DOMException";i(10687)(n(r),r)},59848(t,e,i){"use strict";i(86368),i(29309)},122(t,e,i){"use strict";var n=i(46518),r=i(44576),o=i(91955),s=i(79306),a=i(22812),u=i(79039),c=i(43724);n({global:!0,enumerable:!0,dontCallGetSet:!0,forced:u(function(){return c&&1!==Object.getOwnPropertyDescriptor(r,"queueMicrotask").value.length})},{queueMicrotask:function(t){a(arguments.length,1),o(s(t))}})},13611(t,e,i){"use strict";var n=i(46518),r=i(44576),o=i(62106),s=i(43724),a=TypeError,u=Object.defineProperty,c=r.self!==r;try{if(s){var h=Object.getOwnPropertyDescriptor(r,"self");!c&&h&&h.get&&h.enumerable||o(r,"self",{get:function(){return r},set:function(t){if(this!==r)throw new a("Illegal invocation");u(r,"self",{value:t,writable:!0,configurable:!0,enumerable:!0})},configurable:!0,enumerable:!0})}else n({global:!0,simple:!0,forced:c},{self:r})}catch(t){}},29309(t,e,i){"use strict";var n=i(46518),r=i(44576),o=i(59225).set,s=i(79472),a=r.setImmediate?s(o,!1):o;n({global:!0,bind:!0,enumerable:!0,forced:r.setImmediate!==a},{setImmediate:a})},15575(t,e,i){"use strict";var n=i(46518),r=i(44576),o=i(79472)(r.setInterval,!0);n({global:!0,bind:!0,forced:r.setInterval!==o},{setInterval:o})},24599(t,e,i){"use strict";var n=i(46518),r=i(44576),o=i(79472)(r.setTimeout,!0);n({global:!0,bind:!0,forced:r.setTimeout!==o},{setTimeout:o})},71678(t,e,i){"use strict";var n,r=i(96395),o=i(46518),s=i(44576),a=i(97751),u=i(79504),c=i(79039),h=i(33392),l=i(94901),d=i(33517),f=i(64117),p=i(20034),g=i(10757),A=i(72652),m=i(28551),v=i(36955),b=i(39297),y=i(97040),w=i(66699),C=i(26198),x=i(22812),k=i(61034),_=i(72248),M=i(94402),B=i(38469),E=i(94483),I=i(24659),S=i(1548),D=s.Object,T=s.Array,O=s.Date,P=s.Error,R=s.TypeError,z=s.PerformanceMark,N=a("DOMException"),H=_.Map,j=_.has,L=_.get,U=_.set,q=M.Set,F=M.add,W=M.has,Y=a("Object","keys"),Q=u([].push),G=u((!0).valueOf),V=u(1.1.valueOf),K=u("".valueOf),X=u(O.prototype.getTime),Z=h("structuredClone"),J="DataCloneError",$="Transferring",tt=function(t){return!c(function(){var e=new s.Set([7]),i=t(e),n=t(D(7));return i===e||!i.has(7)||!p(n)||7!==+n})&&t},et=function(t,e){return!c(function(){var i=new e,n=t({a:i,b:i});return!(n&&n.a===n.b&&n.a instanceof e&&n.a.stack===i.stack)})},it=s.structuredClone,nt=r||!et(it,P)||!et(it,N)||(n=it,!!c(function(){var t=n(new s.AggregateError([1],Z,{cause:3}));return"AggregateError"!==t.name||1!==t.errors[0]||t.message!==Z||3!==t.cause})),rt=!it&&tt(function(t){return new z(Z,{detail:t}).detail}),ot=tt(it)||rt,st=function(t){throw new N("Uncloneable type: "+t,J)},at=function(t,e){throw new N((e||"Cloning")+" of "+t+" cannot be properly polyfilled in this engine",J)},ut=function(t,e){return ot||at(e),ot(t)},ct=function(t,e,i){if(j(e,t))return L(e,t);var n,r,o,a,u,c;if("SharedArrayBuffer"===(i||v(t)))n=ot?ot(t):t;else{var h=s.DataView;h||l(t.slice)||at("ArrayBuffer");try{if(l(t.slice)&&!t.resizable)n=t.slice(0);else{r=t.byteLength,o="maxByteLength"in t?{maxByteLength:t.maxByteLength}:void 0,n=new ArrayBuffer(r,o),a=new h(t),u=new h(n);for(c=0;c1&&!f(arguments[1])?m(arguments[1]):void 0,r=n?n.transfer:void 0;void 0!==r&&(i=function(t,e){if(!p(t))throw new R("Transfer option cannot be converted to a sequence");var i=[];A(t,function(t){Q(i,m(t))});for(var n,r,o,a,u,c=0,h=C(i),f=new q;c0&&0!==(t&i);i>>=1)e++;return e},ut=function(t){var e=null,i=t.length;switch(i){case 1:e=t[0];break;case 2:e=(31&t[0])<<6|63&t[1];break;case 3:e=(15&t[0])<<12|(63&t[1])<<6|63&t[2];break;case 4:e=(7&t[0])<<18|(63&t[1])<<12|(63&t[2])<<6|63&t[3]}return null===e||e>1114111||e>=55296&&e<=57343||e<(i>3?65536:i>2?2048:i>1?128:0)?null:e},ct=function(t){for(var e=(t=J(t,rt," ")).length,i="",n=0;ne){i+="%",n++;continue}var o=st(t,n+1);if(o!=o){i+=r,n++;continue}n+=2;var s=at(o);if(0===s)r=Q(o);else{if(1===s||s>4){i+="�",n++;continue}for(var a=[o],u=1;ue||"%"!==K(t,n));){var c=st(t,n+1);if(c!=c||c>191||c<128)break;if(1===u){if(224===o&&c<160)break;if(237===o&&c>159)break;if(240===o&&c<144)break;if(244===o&&c>143)break}Z(a,c),n+=2,u++}if(a.length!==s){i+="�";continue}var h=ut(a);if(null===h){for(var l=0;l=e.length)return t.target=null,I(void 0,!0);var n=e[i];switch(t.kind){case"keys":return I(n.key,!1);case"values":return I(n.value,!1)}return I([n.key,n.value],!1)},!0),gt=function(t){this.entries=[],this.url=null,void 0!==t&&(x(t)?this.parseObject(t):this.parseQuery("string"==typeof t?"?"===K(t,0)?it(t,1):t:k(t)))};gt.prototype={type:P,bindURL:function(t){this.url=t,this.update()},parseObject:function(t){var e,i,n,r,o,s,u,c=this.entries,h=E(t);if(h)for(i=(e=B(t,h)).next;!(n=a(i,e)).done;){if(o=(r=B(C(n.value))).next,(s=a(o,r)).done||(u=a(o,r)).done||!a(o,r).done)throw new W("Expected sequence with length 2");Z(c,{key:k(s.value),value:k(u.value)})}else for(var l in t)b(t,l)&&Z(c,{key:l,value:k(t[l])})},parseQuery:function(t){if(t)for(var e,i,n=this.entries,r=et(t,"&"),o=0;o0?arguments[0]:void 0));c||(this.size=t.entries.length)},mt=At.prototype;if(f(mt,{append:function(t,e){var i=N(this);S(arguments.length,2),Z(i.entries,{key:k(t),value:k(e)}),c||this.size++,i.updateURL()},delete:function(t){for(var e=N(this),i=S(arguments.length,1),n=e.entries,r=k(t),o=i<2?void 0:arguments[1],s=void 0===o?o:k(o),a=0;ae.key?1:-1}),t.updateURL()},forEach:function(t){for(var e,i=N(this).entries,n=y(t,arguments.length>1?arguments[1]:void 0),r=0;r1?yt(arguments[1]):{})}}),v(L)){var wt=function(t){return m(this,q),new L(t,arguments.length>1?yt(arguments[1]):{})};q.constructor=wt,wt.prototype=q,n({global:!0,constructor:!0,dontCallGetSet:!0,forced:!0},{Request:wt})}}t.exports={URLSearchParams:At,getState:N}},14603(t,e,i){"use strict";var n=i(36840),r=i(79504),o=i(655),s=i(22812),a=URLSearchParams,u=a.prototype,c=r(u.append),h=r(u.delete),l=r(u.forEach),d=r([].push),f=new a("a=1&a=2&b=3");f.delete("a",1),f.delete("b",void 0),f+""!="a=2"&&n(u,"delete",function(t){var e=arguments.length,i=e<2?void 0:arguments[1];if(e&&void 0===i)return h(this,t);var n=[];l(this,function(t,e){d(n,{key:e,value:t})}),s(e,1);for(var r,a=o(t),u=o(i),f=0,p=n.length;f?@[\\\]^|]/,nt=/[\0\t\n\r #/:<>?@[\\\]^|]/,rt=/^[\u0000-\u0020]+/,ot=/(^|[^\u0000-\u0020])[\u0000-\u0020]+$/,st=/[\t\n\r]/g,at=function(t){var e,i,n,r;if("number"==typeof t){for(e=[],i=0;i<4;i++)Y(e,t%256),t=T(t/256);return z(e,".")}if("object"==typeof t){for(e="",n=function(t){for(var e=null,i=1,n=null,r=0,o=0;o<8;o++)0!==t[o]?(r>i&&(e=n,i=r),n=null,r=0):(null===n&&(n=o),++r);return r>i?n:e}(t),i=0;i<8;i++)r&&0===t[i]||(r&&(r=!1),n===i?(e+=i?":":"::",r=!0):(e+=N(t[i],16),i<7&&(e+=":")));return"["+e+"]"}return t},ut={},ct=p({},ut,{" ":1,'"':1,"#":1,"<":1,">":1}),ht=p({},ct,{"'":1}),lt=p({},ut,{" ":1,'"':1,"<":1,">":1,"`":1}),dt=p({},lt,{"#":1,"?":1,"{":1,"}":1,"^":1}),ft=p({},dt,{"/":1,":":1,";":1,"=":1,"@":1,"[":1,"\\":1,"]":1,"^":1,"|":1}),pt=function(t,e){var i=m(t,0);return i>=32&&i<127&&!f(e,t)?t:"'"===t&&f(e,t)?"%27":S(t)},gt={ftp:21,file:null,http:80,https:443,ws:80,wss:443},At=function(t,e){var i;return 2===t.length&&R(K,P(t,0))&&(":"===(i=P(t,1))||!e&&"|"===i)},mt=function(t){var e;return t.length>1&&At(F(t,0,2))&&(2===t.length||"/"===(e=P(t,2))||"\\"===e||"?"===e||"#"===e)},vt=function(t){return"."===t||"%2e"===W(t)},bt=function(t){return".."===(t=W(t))||"%2e."===t||".%2e"===t||"%2e%2e"===t},yt={},wt={},Ct={},xt={},kt={},_t={},Mt={},Bt={},Et={},It={},St={},Dt={},Tt={},Ot={},Pt={},Rt={},zt={},Nt={},Ht={},jt={},Lt={},Ut=function(t,e,i){var n,r,o,s=b(t);if(e){if(r=this.parse(s))throw new I(r);this.searchParams=null}else{if(void 0!==i&&(n=new Ut(i,!0)),r=this.parse(s,null,n))throw new I(r);(o=B(new M)).bindURL(this),this.searchParams=o}};Ut.prototype={type:"URL",parse:function(t,e,i){var r,o,s,a,u=this,c=e||yt,h=0,l="",d=!1,p=!1,m=!1;for(t=b(t),e||(u.scheme="",u.username="",u.password="",u.host=null,u.port=null,u.path=[],u.query=null,u.fragment=null,u.cannotBeABaseURL=!1,t=L(t,rt,""),t=L(t,ot,"$1")),t=L(t,st,""),r=g(t);h<=r.length;){switch(o=r[h],c){case yt:if(!o||!R(K,o)){if(e)return Q;c=Ct;continue}l+=W(o),c=wt;break;case wt:if(o&&R(X,o))l+=W(o);else{if(":"!==o){if(e)return Q;l="",c=Ct,h=0;continue}if(e&&(u.isSpecial()!==f(gt,l)||"file"===l&&(u.includesCredentials()||null!==u.port)||"file"===u.scheme&&""===u.host))return;if(u.scheme=l,e)return void(u.isSpecial()&>[u.scheme]===u.port&&(u.port=null));l="","file"===u.scheme?c=Ot:u.isSpecial()&&i&&i.scheme===u.scheme?c=xt:u.isSpecial()?c=Bt:"/"===r[h+1]?(c=kt,h++):(u.cannotBeABaseURL=!0,j(u.path,""),c=Ht)}break;case Ct:if(!i||i.cannotBeABaseURL&&"#"!==o)return Q;if(i.cannotBeABaseURL&&"#"===o){u.scheme=i.scheme,u.path=A(i.path),u.query=i.query,u.fragment="",u.cannotBeABaseURL=!0,c=Lt;break}c="file"===i.scheme?Ot:_t;continue;case xt:if("/"!==o||"/"!==r[h+1]){c=_t;continue}c=Et,h++;break;case kt:if("/"===o){c=It;break}c=Nt;continue;case _t:if(u.scheme=i.scheme,o===n)u.username=i.username,u.password=i.password,u.host=i.host,u.port=i.port,u.path=A(i.path),u.query=i.query;else if("/"===o||"\\"===o&&u.isSpecial())c=Mt;else if("?"===o)u.username=i.username,u.password=i.password,u.host=i.host,u.port=i.port,u.path=A(i.path),u.query="",c=jt;else{if("#"!==o){u.username=i.username,u.password=i.password,u.host=i.host,u.port=i.port,u.path=A(i.path),u.path.length&&u.path.length--,c=Nt;continue}u.username=i.username,u.password=i.password,u.host=i.host,u.port=i.port,u.path=A(i.path),u.query=i.query,u.fragment="",c=Lt}break;case Mt:if(!u.isSpecial()||"/"!==o&&"\\"!==o){if("/"!==o){u.username=i.username,u.password=i.password,u.host=i.host,u.port=i.port,c=Nt;continue}c=It}else c=Et;break;case Bt:if(c=Et,"/"!==o||"/"!==r[h+1])continue;h++;break;case Et:if("/"!==o&&"\\"!==o){c=It;continue}break;case It:if("@"===o){d&&(l="%40"+l),d=!0,s=g(l);for(var v=0;v65535)return V;u.port=u.isSpecial()&&C===gt[u.scheme]?null:C,l=""}if(e)return;c=zt;continue}return V}l+=o;break;case Ot:if(u.scheme="file",u.host="","/"===o||"\\"===o)c=Pt;else{if(!i||"file"!==i.scheme){c=Nt;continue}switch(o){case n:u.host=i.host,u.path=A(i.path),u.query=i.query;break;case"?":u.host=i.host,u.path=A(i.path),u.query="",c=jt;break;case"#":u.host=i.host,u.path=A(i.path),u.query=i.query,u.fragment="",c=Lt;break;default:u.host=i.host,mt(z(A(r,h),""))||(u.path=A(i.path),u.shortenPath()),c=Nt;continue}}break;case Pt:if("/"===o||"\\"===o){c=Rt;break}i&&"file"===i.scheme&&(u.host=i.host,!mt(z(A(r,h),""))&&At(i.path[0],!0)&&j(u.path,i.path[0])),c=Nt;continue;case Rt:if(o===n||"/"===o||"\\"===o||"?"===o||"#"===o){if(!e&&At(l))c=Nt;else if(""===l){if(u.host="",e)return;c=zt}else{if(a=u.parseHost(l))return a;if("localhost"===u.host&&(u.host=""),e)return;l="",c=zt}continue}l+=o;break;case zt:if(u.isSpecial()){if(c=Nt,"/"!==o&&"\\"!==o)continue}else if(e||"?"!==o)if(e||"#"!==o){if(o!==n&&(c=Nt,"/"!==o))continue}else u.fragment="",c=Lt;else u.query="",c=jt;break;case Nt:if(o===n||"/"===o||"\\"===o&&u.isSpecial()||!e&&("?"===o||"#"===o)){if(bt(l)?(u.shortenPath(),"/"===o||"\\"===o&&u.isSpecial()||j(u.path,"")):vt(l)?"/"===o||"\\"===o&&u.isSpecial()||j(u.path,""):("file"===u.scheme&&!u.path.length&&At(l)&&(null!==u.host&&""!==u.host&&(u.host=""),l=P(l,0)+":"),j(u.path,l)),l="","file"===u.scheme&&(o===n||"?"===o||"#"===o))for(;u.path.length>1&&""===u.path[0];)U(u.path);"?"===o?(u.query="",c=jt):"#"===o&&(u.fragment="",c=Lt)}else l+=pt(o,dt);break;case Ht:"?"===o?(u.query="",c=jt):"#"===o?(u.fragment="",c=Lt):o!==n&&(u.path[0]+=pt(o,ut));break;case jt:e||"#"!==o?o!==n&&(u.query+=pt(o,u.isSpecial()?ht:ct)):(u.fragment="",c=Lt);break;case Lt:o!==n&&(u.fragment+=pt(o,lt))}h++}},parseHost:function(t){var e,i,n;if("["===P(t,0)){if("]"!==P(t,t.length-1))return G;if(e=function(t){var e,i,n,r,o,s,a,u=[0,0,0,0,0,0,0,0],c=0,h=null,l=0,d=function(){return P(t,l)};if(":"===d()){if(":"!==P(t,1))return;l+=2,h=++c}for(;d();){if(8===c)return;if(":"!==d()){for(e=i=0;i<4&&R(et,d());)e=16*e+D(d(),16),l++,i++;if("."===d()){if(0===i)return;if(l-=i,c>6)return;for(n=0;d();){if(r=null,n>0){if(!("."===d()&&n<4))return;l++}if(!R(Z,d()))return;for(;R(Z,d());){if(o=D(d(),10),null===r)r=o;else{if(0===r)return;r=10*r+o}if(r>255)return;l++}u[c]=256*u[c]+r,2!==++n&&4!==n||c++}if(4!==n)return;break}if(":"===d()){if(l++,!d())return}else if(d())return;u[c++]=e}else{if(null!==h)return;l++,h=++c}}if(null!==h)for(s=c-h,c=7;0!==c&&s>0;)a=u[c],u[c--]=u[h+s-1],u[h+--s]=a;else if(8!==c)return;return u}(F(t,1,-1)),!e)return G;this.host=e}else if(this.isSpecial()){if(t=v(t),R(it,t))return G;if(function(t){var e,i,n=q(t,".");if(""===n[n.length-1]){if(1===n.length)return!1;n.length--}return e=n[n.length-1],!!R(tt,e)||!!R(J,e)&&(""===(i=F(e,2))||!!R(et,i))}(t)){if(e=function(t){var e,i,n,r,o,s,a,u=q(t,".");if(u.length&&""===u[u.length-1]&&u.length--,(e=u.length)>4)return null;for(i=[],n=0;n1&&"0"===P(r,0)&&(o=R(J,r)?16:8,r=F(r,8===o?1:2)),""===r)s=0;else{if(!R(10===o?tt:8===o?$:et,r))return null;s=D(r,o)}j(i,s)}for(n=0;n=O(256,5-e))return null}else if(s>255)return null;for(a=H(i),n=0;n1&&""===s[0]&&(c+="/."),c+=t.cannotBeABaseURL?s[0]:s.length?"/"+z(s,"/"):"",null!==a&&(c+="?"+a),null!==u&&(c+="#"+u),c},setHref:function(t){var e=this.parse(t);if(e)throw new I(e);this.searchParams.update()},getOrigin:function(){var t=this.scheme,e=this.port;if("blob"===t)try{return new qt(this.path[0]).origin}catch(t){return"null"}return"file"!==t&&this.isSpecial()?t+"://"+at(this.host)+(null!==e?":"+e:""):"null"},getProtocol:function(){return this.scheme+":"},setProtocol:function(t){this.parse(b(t)+":",yt)},getUsername:function(){return this.username},setUsername:function(t){var e=g(b(t));if(!this.cannotHaveUsernamePasswordPort()){this.username="";for(var i=0;i1?arguments[1]:void 0,n=k(e,new Ut(t,!1,i));o||(e.href=n.serialize(),e.origin=n.getOrigin(),e.protocol=n.getProtocol(),e.username=n.getUsername(),e.password=n.getPassword(),e.host=n.getHost(),e.hostname=n.getHostname(),e.port=n.getPort(),e.pathname=n.getPathname(),e.search=n.getSearch(),e.searchParams=n.getSearchParams(),e.hash=n.getHash())},Ft=qt.prototype,Wt=function(t,e){return{get:function(){return _(this)[t]()},set:e&&function(t){return _(this)[e](t)},configurable:!0,enumerable:!0}};if(o&&(l(Ft,"href",Wt("serialize","setHref")),l(Ft,"origin",Wt("getOrigin")),l(Ft,"protocol",Wt("getProtocol","setProtocol")),l(Ft,"username",Wt("getUsername","setUsername")),l(Ft,"password",Wt("getPassword","setPassword")),l(Ft,"host",Wt("getHost","setHost")),l(Ft,"hostname",Wt("getHostname","setHostname")),l(Ft,"port",Wt("getPort","setPort")),l(Ft,"pathname",Wt("getPathname","setPathname")),l(Ft,"search",Wt("getSearch","setSearch")),l(Ft,"searchParams",Wt("getSearchParams")),l(Ft,"hash",Wt("getHash","setHash"))),h(Ft,"toJSON",function(){return _(this).serialize()},{enumerable:!0}),h(Ft,"toString",function(){return _(this).serialize()},{enumerable:!0}),E){var Yt=E.createObjectURL,Qt=E.revokeObjectURL;Yt&&h(qt,"createObjectURL",u(Yt,E)),Qt&&h(qt,"revokeObjectURL",u(Qt,E))}y(qt,"URL"),r({global:!0,constructor:!0,forced:!s,sham:!o},{URL:qt})},3296(t,e,i){"use strict";i(45806)},45781(t,e,i){"use strict";var n=i(46518),r=i(97751),o=i(22812),s=i(655),a=i(67416),u=r("URL");n({target:"URL",stat:!0,forced:!a},{parse:function(t){var e=o(arguments.length,1),i=s(t),n=e<2||void 0===arguments[1]?void 0:s(arguments[1]);try{return new u(i,n)}catch(t){return null}}})},27208(t,e,i){"use strict";var n=i(46518),r=i(69565);n({target:"URL",proto:!0,enumerable:!0},{toJSON:function(){return r(URL.prototype.toString,this)}})},84315(t,e,i){"use strict";i(52675),i(89463),i(34113),i(66412),i(97324),i(60193),i(92168),i(2259),i(86964),i(83142),i(83237),i(61833),i(67947),i(31073),i(45700),i(78125),i(20326),i(16280),i(6372),i(76918),i(30067),i(4294),i(88940),i(18107),i(28706),i(26835),i(88431),i(33771),i(2008),i(50113),i(48980),i(10838),i(13451),i(46449),i(78350),i(51629),i(23418),i(74423),i(25276),i(64346),i(23792),i(48598),i(8921),i(62062),i(31051),i(44114),i(72712),i(18863),i(94490),i(34782),i(15086),i(26910),i(87478),i(54554),i(9678),i(57145),i(71658),i(93514),i(30237),i(13609),i(11558),i(54743),i(46761),i(11745),i(60690),i(10255),i(3995),i(16573),i(78100),i(77936),i(61699),i(59089),i(91191),i(93515),i(1688),i(60739),i(89572),i(23288),i(48922),i(36456),i(94170),i(48957),i(62010),i(55081),i(18111),i(21979),i(76382),i(29314),i(81148),i(22489),i(20116),i(30531),i(7588),i(49603),i(61701),i(18237),i(13579),i(54972),i(61806),i(45595),i(69112),i(20344),i(33110),i(4731),i(36033),i(47072),i(45367),i(92731),i(93153),i(82326),i(36389),i(64444),i(8085),i(77762),i(65070),i(60605),i(4360),i(39469),i(72152),i(75376),i(56624),i(11367),i(5914),i(78553),i(23068),i(98690),i(60479),i(70761),i(2892),i(45374),i(25428),i(32637),i(40150),i(59149),i(64601),i(44435),i(87220),i(25843),i(62337),i(9868),i(80630),i(69085),i(59904),i(17427),i(67945),i(84185),i(87607),i(5506),i(52811),i(53921),i(83851),i(81278),i(1480),i(40875),i(77691),i(78347),i(29908),i(94052),i(94003),i(221),i(79432),i(9220),i(7904),i(16348),i(63548),i(93941),i(10287),i(26099),i(16034),i(78459),i(58940),i(3362),i(96167),i(93518),i(9391),i(31689),i(14628),i(52407),i(24793),i(50452),i(39796),i(60825),i(87411),i(21211),i(40888),i(9065),i(86565),i(32812),i(84634),i(71137),i(30985),i(34268),i(34873),i(15472),i(84864),i(96069),i(57465),i(27495),i(69479),i(87745),i(90906),i(38781),i(31415),i(17642),i(58004),i(33853),i(45876),i(32475),i(15024),i(31698),i(67357),i(23860),i(99449),i(27337),i(21699),i(42043),i(47764),i(71761),i(28543),i(35701),i(68156),i(85906),i(42781),i(25440),i(79978),i(5746),i(90744),i(11392),i(50375),i(67438),i(42762),i(39202),i(43359),i(89907),i(11898),i(35490),i(5745),i(94298),i(60268),i(69546),i(20781),i(50778),i(89195),i(46276),i(48718),i(16308),i(34594),i(29833),i(46594),i(72107),i(95477),i(21489),i(22134),i(3690),i(61740),i(48140),i(81630),i(72170),i(75044),i(69539),i(31694),i(89955),i(21903),i(91134),i(33206),i(48345),i(44496),i(66651),i(12887),i(19369),i(66812),i(8995),i(52568),i(31575),i(36072),i(88747),i(28845),i(29423),i(57301),i(373),i(86614),i(41405),i(37467),i(44732),i(33684),i(79577),i(45213),i(91925),i(16632),i(34226),i(9486),i(20456),i(88267),i(73772),i(88454),i(29452),i(30958),i(2945),i(42207),i(23500),i(62953),i(55815),i(64979),i(79739),i(59848),i(122),i(13611),i(71678),i(76031),i(3296),i(2222),i(45781),i(27208),i(48408),i(14603),i(47566),i(98721),i(19167)},86860(t,e,i){"use strict";i.r(e),i.d(e,{VERSION:()=>r.VERSION,after:()=>r.after,all:()=>r.all,allKeys:()=>r.allKeys,any:()=>r.any,assign:()=>r.assign,before:()=>r.before,bind:()=>r.bind,bindAll:()=>r.bindAll,chain:()=>r.chain,chunk:()=>r.chunk,clone:()=>r.clone,collect:()=>r.collect,compact:()=>r.compact,compose:()=>r.compose,constant:()=>r.constant,contains:()=>r.contains,countBy:()=>r.countBy,create:()=>r.create,debounce:()=>r.debounce,default:()=>n.A,defaults:()=>r.defaults,defer:()=>r.defer,delay:()=>r.delay,detect:()=>r.detect,difference:()=>r.difference,drop:()=>r.drop,each:()=>r.each,escape:()=>r.escape,every:()=>r.every,extend:()=>r.extend,extendOwn:()=>r.extendOwn,filter:()=>r.filter,find:()=>r.find,findIndex:()=>r.findIndex,findKey:()=>r.findKey,findLastIndex:()=>r.findLastIndex,findWhere:()=>r.findWhere,first:()=>r.first,flatten:()=>r.flatten,foldl:()=>r.foldl,foldr:()=>r.foldr,forEach:()=>r.forEach,functions:()=>r.functions,get:()=>r.get,groupBy:()=>r.groupBy,has:()=>r.has,head:()=>r.head,identity:()=>r.identity,include:()=>r.include,includes:()=>r.includes,indexBy:()=>r.indexBy,indexOf:()=>r.indexOf,initial:()=>r.initial,inject:()=>r.inject,intersection:()=>r.intersection,invert:()=>r.invert,invoke:()=>r.invoke,isArguments:()=>r.isArguments,isArray:()=>r.isArray,isArrayBuffer:()=>r.isArrayBuffer,isBoolean:()=>r.isBoolean,isDataView:()=>r.isDataView,isDate:()=>r.isDate,isElement:()=>r.isElement,isEmpty:()=>r.isEmpty,isEqual:()=>r.isEqual,isError:()=>r.isError,isFinite:()=>r.isFinite,isFunction:()=>r.isFunction,isMap:()=>r.isMap,isMatch:()=>r.isMatch,isNaN:()=>r.isNaN,isNull:()=>r.isNull,isNumber:()=>r.isNumber,isObject:()=>r.isObject,isRegExp:()=>r.isRegExp,isSet:()=>r.isSet,isString:()=>r.isString,isSymbol:()=>r.isSymbol,isTypedArray:()=>r.isTypedArray,isUndefined:()=>r.isUndefined,isWeakMap:()=>r.isWeakMap,isWeakSet:()=>r.isWeakSet,iteratee:()=>r.iteratee,keys:()=>r.keys,last:()=>r.last,lastIndexOf:()=>r.lastIndexOf,map:()=>r.map,mapObject:()=>r.mapObject,matcher:()=>r.matcher,matches:()=>r.matches,max:()=>r.max,memoize:()=>r.memoize,methods:()=>r.methods,min:()=>r.min,mixin:()=>r.mixin,negate:()=>r.negate,noop:()=>r.noop,now:()=>r.now,object:()=>r.object,omit:()=>r.omit,once:()=>r.once,pairs:()=>r.pairs,partial:()=>r.partial,partition:()=>r.partition,pick:()=>r.pick,pluck:()=>r.pluck,property:()=>r.property,propertyOf:()=>r.propertyOf,random:()=>r.random,range:()=>r.range,reduce:()=>r.reduce,reduceRight:()=>r.reduceRight,reject:()=>r.reject,rest:()=>r.rest,restArguments:()=>r.restArguments,result:()=>r.result,sample:()=>r.sample,select:()=>r.select,shuffle:()=>r.shuffle,size:()=>r.size,some:()=>r.some,sortBy:()=>r.sortBy,sortedIndex:()=>r.sortedIndex,tail:()=>r.tail,take:()=>r.take,tap:()=>r.tap,template:()=>r.template,templateSettings:()=>r.templateSettings,throttle:()=>r.throttle,times:()=>r.times,toArray:()=>r.toArray,toPath:()=>r.toPath,transpose:()=>r.transpose,unescape:()=>r.unescape,union:()=>r.union,uniq:()=>r.uniq,unique:()=>r.unique,uniqueId:()=>r.uniqueId,unzip:()=>r.unzip,values:()=>r.values,where:()=>r.where,without:()=>r.without,wrap:()=>r.wrap,zip:()=>r.zip});var n=i(36210),r=i(50082)},50082(t,e,i){"use strict";i.r(e),i.d(e,{VERSION:()=>n.xv,after:()=>wt.A,all:()=>Ht.A,allKeys:()=>T.A,any:()=>jt.A,assign:()=>H.A,before:()=>Ct.A,bind:()=>lt.A,bindAll:()=>dt.A,chain:()=>ut.A,chunk:()=>ve.A,clone:()=>U.A,collect:()=>Ot.A,compact:()=>ae.A,compose:()=>yt.A,constant:()=>G.A,contains:()=>Lt.A,countBy:()=>Zt.A,create:()=>L.A,debounce:()=>mt.A,default:()=>ye.A,defaults:()=>j.A,defer:()=>gt.A,delay:()=>pt.A,detect:()=>St.A,difference:()=>fe.A,drop:()=>se.A,each:()=>Tt.A,escape:()=>it.A,every:()=>Ht.A,extend:()=>N.A,extendOwn:()=>H.A,filter:()=>zt.A,find:()=>St.A,findIndex:()=>_t.A,findKey:()=>kt.A,findLastIndex:()=>Mt.A,findWhere:()=>Dt.A,first:()=>ne.A,flatten:()=>ue.A,foldl:()=>Pt.A,foldr:()=>Rt.A,forEach:()=>Tt.A,functions:()=>z.A,get:()=>F.A,groupBy:()=>Kt.A,has:()=>W.A,head:()=>ne.A,identity:()=>Q.A,include:()=>Lt.A,includes:()=>Lt.A,indexBy:()=>Xt.A,indexOf:()=>Et.A,initial:()=>re.A,inject:()=>Pt.A,intersection:()=>de.A,invert:()=>R.A,invoke:()=>Ut.A,isArguments:()=>y.A,isArray:()=>v.A,isArrayBuffer:()=>A.A,isBoolean:()=>u.A,isDataView:()=>m.A,isDate:()=>d.A,isElement:()=>c.A,isEmpty:()=>k.A,isEqual:()=>M.A,isError:()=>p.A,isFinite:()=>w.A,isFunction:()=>b.A,isMap:()=>B.A,isMatch:()=>_.A,isNaN:()=>C.A,isNull:()=>s.A,isNumber:()=>l.A,isObject:()=>o.A,isRegExp:()=>f.A,isSet:()=>I.A,isString:()=>h.A,isSymbol:()=>g.A,isTypedArray:()=>x.A,isUndefined:()=>a.A,isWeakMap:()=>E.A,isWeakSet:()=>S.A,iteratee:()=>ct.A,keys:()=>D.A,last:()=>oe.A,lastIndexOf:()=>It.A,map:()=>Ot.A,mapObject:()=>Y.A,matcher:()=>J.A,matches:()=>J.A,max:()=>Wt.A,memoize:()=>ft.A,methods:()=>z.A,min:()=>Yt.A,mixin:()=>be.A,negate:()=>bt.A,noop:()=>V.A,now:()=>et.A,object:()=>Ae.A,omit:()=>ie.A,once:()=>xt.A,pairs:()=>P.A,partial:()=>ht.A,partition:()=>Jt.A,pick:()=>ee.A,pluck:()=>qt.A,property:()=>X.A,propertyOf:()=>Z.A,random:()=>tt.A,range:()=>me.A,reduce:()=>Pt.A,reduceRight:()=>Rt.A,reject:()=>Nt.A,rest:()=>se.A,restArguments:()=>r.A,result:()=>st.A,sample:()=>Gt.A,select:()=>zt.A,shuffle:()=>Qt.A,size:()=>te.A,some:()=>jt.A,sortBy:()=>Vt.A,sortedIndex:()=>Bt.A,tail:()=>se.A,take:()=>ne.A,tap:()=>q.A,template:()=>ot.A,templateSettings:()=>rt.A,throttle:()=>At.A,times:()=>$.A,toArray:()=>$t.A,toPath:()=>K.A,transpose:()=>pe.A,unescape:()=>nt.A,union:()=>le.A,uniq:()=>he.A,unique:()=>he.A,uniqueId:()=>at.A,unzip:()=>pe.A,values:()=>O.A,where:()=>Ft.A,without:()=>ce.A,wrap:()=>vt.A,zip:()=>ge.A});var n=i(28794),r=i(11508),o=i(44099),s=i(21949),a=i(96734),u=i(85142),c=i(1138),h=i(90573),l=i(72897),d=i(88848),f=i(50093),p=i(82940),g=i(18628),A=i(38993),m=i(84933),v=i(15811),b=i(11380),y=i(66494),w=i(48215),C=i(58855),x=i(32271),k=i(31611),_=i(29143),M=i(71435),B=i(71940),E=i(30296),I=i(95094),S=i(9634),D=i(75144),T=i(88445),O=i(78850),P=i(55895),R=i(38024),z=i(66343),N=i(3080),H=i(19478),j=i(19318),L=i(50656),U=i(46463),q=i(73323),F=i(63854),W=i(7930),Y=i(42687),Q=i(69702),G=i(86524),V=i(964),K=i(18398),X=i(35957),Z=i(95048),J=i(70104),$=i(12672),tt=i(19291),et=i(52414),it=i(20235),nt=i(47868),rt=i(2155),ot=i(74394),st=i(60301),at=i(64230),ut=i(36503),ct=i(48557),ht=i(63015),lt=i(95619),dt=i(93964),ft=i(630),pt=i(52933),gt=i(26622),At=i(58448),mt=i(99527),vt=i(62112),bt=i(66058),yt=i(81734),wt=i(86800),Ct=i(73939),xt=i(55481),kt=i(72532),_t=i(80843),Mt=i(58699),Bt=i(43481),Et=i(30899),It=i(95379),St=i(9671),Dt=i(22888),Tt=i(79901),Ot=i(15928),Pt=i(68518),Rt=i(8606),zt=i(62478),Nt=i(37183),Ht=i(47601),jt=i(54580),Lt=i(38973),Ut=i(75112),qt=i(44339),Ft=i(17453),Wt=i(96624),Yt=i(3374),Qt=i(14875),Gt=i(86666),Vt=i(74849),Kt=i(30824),Xt=i(43639),Zt=i(72232),Jt=i(90268),$t=i(65228),te=i(39005),ee=i(88571),ie=i(54585),ne=i(42892),re=i(72826),oe=i(10328),se=i(59750),ae=i(78707),ue=i(72704),ce=i(63182),he=i(8037),le=i(25981),de=i(65665),fe=i(14299),pe=i(9176),ge=i(58877),Ae=i(85919),me=i(29271),ve=i(84327),be=i(23991),ye=i(37643)},3219(t){"use strict";t.exports=JSON.parse('{"aes-128-ecb":{"cipher":"AES","key":128,"iv":0,"mode":"ECB","type":"block"},"aes-192-ecb":{"cipher":"AES","key":192,"iv":0,"mode":"ECB","type":"block"},"aes-256-ecb":{"cipher":"AES","key":256,"iv":0,"mode":"ECB","type":"block"},"aes-128-cbc":{"cipher":"AES","key":128,"iv":16,"mode":"CBC","type":"block"},"aes-192-cbc":{"cipher":"AES","key":192,"iv":16,"mode":"CBC","type":"block"},"aes-256-cbc":{"cipher":"AES","key":256,"iv":16,"mode":"CBC","type":"block"},"aes128":{"cipher":"AES","key":128,"iv":16,"mode":"CBC","type":"block"},"aes192":{"cipher":"AES","key":192,"iv":16,"mode":"CBC","type":"block"},"aes256":{"cipher":"AES","key":256,"iv":16,"mode":"CBC","type":"block"},"aes-128-cfb":{"cipher":"AES","key":128,"iv":16,"mode":"CFB","type":"stream"},"aes-192-cfb":{"cipher":"AES","key":192,"iv":16,"mode":"CFB","type":"stream"},"aes-256-cfb":{"cipher":"AES","key":256,"iv":16,"mode":"CFB","type":"stream"},"aes-128-cfb8":{"cipher":"AES","key":128,"iv":16,"mode":"CFB8","type":"stream"},"aes-192-cfb8":{"cipher":"AES","key":192,"iv":16,"mode":"CFB8","type":"stream"},"aes-256-cfb8":{"cipher":"AES","key":256,"iv":16,"mode":"CFB8","type":"stream"},"aes-128-cfb1":{"cipher":"AES","key":128,"iv":16,"mode":"CFB1","type":"stream"},"aes-192-cfb1":{"cipher":"AES","key":192,"iv":16,"mode":"CFB1","type":"stream"},"aes-256-cfb1":{"cipher":"AES","key":256,"iv":16,"mode":"CFB1","type":"stream"},"aes-128-ofb":{"cipher":"AES","key":128,"iv":16,"mode":"OFB","type":"stream"},"aes-192-ofb":{"cipher":"AES","key":192,"iv":16,"mode":"OFB","type":"stream"},"aes-256-ofb":{"cipher":"AES","key":256,"iv":16,"mode":"OFB","type":"stream"},"aes-128-ctr":{"cipher":"AES","key":128,"iv":16,"mode":"CTR","type":"stream"},"aes-192-ctr":{"cipher":"AES","key":192,"iv":16,"mode":"CTR","type":"stream"},"aes-256-ctr":{"cipher":"AES","key":256,"iv":16,"mode":"CTR","type":"stream"},"aes-128-gcm":{"cipher":"AES","key":128,"iv":12,"mode":"GCM","type":"auth"},"aes-192-gcm":{"cipher":"AES","key":192,"iv":12,"mode":"GCM","type":"auth"},"aes-256-gcm":{"cipher":"AES","key":256,"iv":12,"mode":"GCM","type":"auth"}}')},62951(t){"use strict";t.exports=JSON.parse('{"sha224WithRSAEncryption":{"sign":"rsa","hash":"sha224","id":"302d300d06096086480165030402040500041c"},"RSA-SHA224":{"sign":"ecdsa/rsa","hash":"sha224","id":"302d300d06096086480165030402040500041c"},"sha256WithRSAEncryption":{"sign":"rsa","hash":"sha256","id":"3031300d060960864801650304020105000420"},"RSA-SHA256":{"sign":"ecdsa/rsa","hash":"sha256","id":"3031300d060960864801650304020105000420"},"sha384WithRSAEncryption":{"sign":"rsa","hash":"sha384","id":"3041300d060960864801650304020205000430"},"RSA-SHA384":{"sign":"ecdsa/rsa","hash":"sha384","id":"3041300d060960864801650304020205000430"},"sha512WithRSAEncryption":{"sign":"rsa","hash":"sha512","id":"3051300d060960864801650304020305000440"},"RSA-SHA512":{"sign":"ecdsa/rsa","hash":"sha512","id":"3051300d060960864801650304020305000440"},"RSA-SHA1":{"sign":"rsa","hash":"sha1","id":"3021300906052b0e03021a05000414"},"ecdsa-with-SHA1":{"sign":"ecdsa","hash":"sha1","id":""},"sha256":{"sign":"ecdsa","hash":"sha256","id":""},"sha224":{"sign":"ecdsa","hash":"sha224","id":""},"sha384":{"sign":"ecdsa","hash":"sha384","id":""},"sha512":{"sign":"ecdsa","hash":"sha512","id":""},"DSA-SHA":{"sign":"dsa","hash":"sha1","id":""},"DSA-SHA1":{"sign":"dsa","hash":"sha1","id":""},"DSA":{"sign":"dsa","hash":"sha1","id":""},"DSA-WITH-SHA224":{"sign":"dsa","hash":"sha224","id":""},"DSA-SHA224":{"sign":"dsa","hash":"sha224","id":""},"DSA-WITH-SHA256":{"sign":"dsa","hash":"sha256","id":""},"DSA-SHA256":{"sign":"dsa","hash":"sha256","id":""},"DSA-WITH-SHA384":{"sign":"dsa","hash":"sha384","id":""},"DSA-SHA384":{"sign":"dsa","hash":"sha384","id":""},"DSA-WITH-SHA512":{"sign":"dsa","hash":"sha512","id":""},"DSA-SHA512":{"sign":"dsa","hash":"sha512","id":""},"DSA-RIPEMD160":{"sign":"dsa","hash":"rmd160","id":""},"ripemd160WithRSA":{"sign":"rsa","hash":"rmd160","id":"3021300906052b2403020105000414"},"RSA-RIPEMD160":{"sign":"rsa","hash":"rmd160","id":"3021300906052b2403020105000414"},"md5WithRSAEncryption":{"sign":"rsa","hash":"md5","id":"3020300c06082a864886f70d020505000410"},"RSA-MD5":{"sign":"rsa","hash":"md5","id":"3020300c06082a864886f70d020505000410"}}')},64589(t){"use strict";t.exports=JSON.parse('{"1.3.132.0.10":"secp256k1","1.3.132.0.33":"p224","1.2.840.10045.3.1.1":"p192","1.2.840.10045.3.1.7":"p256","1.3.132.0.34":"p384","1.3.132.0.35":"p521"}')},23241(t){"use strict";t.exports=JSON.parse('{"modp1":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a63a3620ffffffffffffffff"},"modp2":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece65381ffffffffffffffff"},"modp5":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca237327ffffffffffffffff"},"modp14":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aacaa68ffffffffffffffff"},"modp15":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a93ad2caffffffffffffffff"},"modp16":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c934063199ffffffffffffffff"},"modp17":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dcc4024ffffffffffffffff"},"modp18":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dbe115974a3926f12fee5e438777cb6a932df8cd8bec4d073b931ba3bc832b68d9dd300741fa7bf8afc47ed2576f6936ba424663aab639c5ae4f5683423b4742bf1c978238f16cbe39d652de3fdb8befc848ad922222e04a4037c0713eb57a81a23f0c73473fc646cea306b4bcbc8862f8385ddfa9d4b7fa2c087e879683303ed5bdd3a062b3cf5b3a278a66d2a13f83f44f82ddf310ee074ab6a364597e899a0255dc164f31cc50846851df9ab48195ded7ea1b1d510bd7ee74d73faf36bc31ecfa268359046f4eb879f924009438b481c6cd7889a002ed5ee382bc9190da6fc026e479558e4475677e9aa9e3050e2765694dfc81f56e880b96e7160c980dd98edd3dfffffffffffffffff"}}')},1636(t){"use strict";t.exports={rE:"6.6.1"}},15579(t){"use strict";t.exports=JSON.parse('{"2.16.840.1.101.3.4.1.1":"aes-128-ecb","2.16.840.1.101.3.4.1.2":"aes-128-cbc","2.16.840.1.101.3.4.1.3":"aes-128-ofb","2.16.840.1.101.3.4.1.4":"aes-128-cfb","2.16.840.1.101.3.4.1.21":"aes-192-ecb","2.16.840.1.101.3.4.1.22":"aes-192-cbc","2.16.840.1.101.3.4.1.23":"aes-192-ofb","2.16.840.1.101.3.4.1.24":"aes-192-cfb","2.16.840.1.101.3.4.1.41":"aes-256-ecb","2.16.840.1.101.3.4.1.42":"aes-256-cbc","2.16.840.1.101.3.4.1.43":"aes-256-ofb","2.16.840.1.101.3.4.1.44":"aes-256-cfb"}')}},__webpack_module_cache__={},deferred,inProgress,dataWebpackPrefix;function __webpack_require__(t){var e=__webpack_module_cache__[t];if(void 0!==e)return e.exports;var i=__webpack_module_cache__[t]={id:t,loaded:!1,exports:{}};return __webpack_modules__[t].call(i.exports,i,i.exports,__webpack_require__),i.loaded=!0,i.exports}__webpack_require__.m=__webpack_modules__,deferred=[],__webpack_require__.O=(t,e,i,n)=>{if(!e){var r=1/0;for(u=0;u=n)&&Object.keys(__webpack_require__.O).every(t=>__webpack_require__.O[t](e[s]))?e.splice(s--,1):(o=!1,n0&&deferred[u-1][2]>n;u--)deferred[u]=deferred[u-1];deferred[u]=[e,i,n]},__webpack_require__.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return __webpack_require__.d(e,{a:e}),e},__webpack_require__.d=(t,e)=>{for(var i in e)__webpack_require__.o(e,i)&&!__webpack_require__.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},__webpack_require__.f={},__webpack_require__.e=t=>Promise.all(Object.keys(__webpack_require__.f).reduce((e,i)=>(__webpack_require__.f[i](t,e),e),[])),__webpack_require__.u=t=>t+"-"+t+".js?v="+{1140:"dd55e1cf2dab9870eea9",2221:"5cdd551ed83d9a12c3ed",5448:"71cfe268d6f1213c4735",6015:"8ac07126adf0759a3464",7859:"5bcb1bbacda3204063dd",7910:"de857920f8beb5205bbc",8815:"0f63c2eb085d7b08be1b",9553:"c8ce7bd4445f06a11ae6"}[t],__webpack_require__.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),inProgress={},dataWebpackPrefix="nextcloud-ui-legacy:",__webpack_require__.l=(t,e,i,n)=>{if(inProgress[t])inProgress[t].push(e);else{var r,o;if(void 0!==i)for(var s=document.getElementsByTagName("script"),a=0;a{r.onerror=r.onload=null,clearTimeout(h);var n=inProgress[t];if(delete inProgress[t],r.parentNode&&r.parentNode.removeChild(r),n&&n.forEach(t=>t(i)),e)return e(i)},h=setTimeout(c.bind(null,void 0,{type:"timeout",target:r}),12e4);r.onerror=c.bind(null,r.onerror),r.onload=c.bind(null,r.onload),o&&document.head.appendChild(r)}},__webpack_require__.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},__webpack_require__.nmd=t=>(t.paths=[],t.children||(t.children=[]),t),__webpack_require__.j=2228,(()=>{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(/\/[^\/]+$/,"/"),__webpack_require__.p=t})(),(()=>{__webpack_require__.b="undefined"!=typeof document&&document.baseURI||self.location.href;var t={2228:0};__webpack_require__.f.j=(e,i)=>{var n=__webpack_require__.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 o=__webpack_require__.p+__webpack_require__.u(e),s=new Error;__webpack_require__.l(o,i=>{if(__webpack_require__.o(t,e)&&(0!==(n=t[e])&&(t[e]=void 0),n)){var r=i&&("load"===i.type?"missing":i.type),o=i&&i.target&&i.target.src;s.message="Loading chunk "+e+" failed.\n("+r+": "+o+")",s.name="ChunkLoadError",s.type=r,s.request=o,n[1](s)}},"chunk-"+e,e)}},__webpack_require__.O.j=e=>0===t[e];var e=(e,i)=>{var n,r,[o,s,a]=i,u=0;if(o.some(e=>0!==t[e])){for(n in s)__webpack_require__.o(s,n)&&(__webpack_require__.m[n]=s[n]);if(a)var c=a(__webpack_require__)}for(e&&e(i);u__webpack_require__(9854));__webpack_exports__=__webpack_require__.O(__webpack_exports__)})(); +//# sourceMappingURL=core-main.js.map?v=2c61dc43325ea57ed14c \ No newline at end of file diff --git a/dist/core-main.js.map b/dist/core-main.js.map index 4355913505808..b3fcf631d5c8d 100644 --- a/dist/core-main.js.map +++ b/dist/core-main.js.map @@ -1 +1 @@ -{"version":3,"file":"core-main.js?v=27f38e611ee9f59b4a79","mappings":"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AY,WACpC,OAAOjpF,KAAK29E,MAAMyP,UAAUptF,KAAK4sF,IACnC,GAEA3D,EAAUhpF,UAAUguF,QAAU,WAC5B,OAAOjuF,KAAKwsF,WAAWrpF,OAAOnD,KAAKguF,WACrC,EAEA/E,EAAUhpF,UAAUiuF,MAAQ,WAC1B,OAAO9V,EAAMr3E,OAAOf,KAAKiuF,UAAW,OAAO5gF,aAC7C,EAEA/I,EAAOjF,QAAU4pF,C,WCjEjB3kF,EAAOjF,QAAU,CACf0/E,QAAS,CACPh2B,KAAM,EACNw2B,OAAQ,CACN,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,kEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,kEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,kEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,kEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,kEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,sEAINN,IAAK,CACHl4D,IAAK,EACLw4D,OAAQ,CACN,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,kEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,kEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,kEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,kEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,iEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,kEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,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,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,IAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,IAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,KAAK,EAAS,KAAK,EAAS,KAAK,EAAS,KAAK,IAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,IAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,IAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,IAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,IAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,IAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,IAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,IAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,KAAK,EAAS,KAAK,IAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,IAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,KAAK,EAAS,KAAK,IAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,KAAK,EAAS,KAAK,EAAS,KAAK,IAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,IAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,IAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,IAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,IAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,KAAK,IAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,IAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,KAAK,IAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,IAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,IAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,IAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,IAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,KAAK,EAAS,KAAK,EAAS,KAAK,EAAS,KAAK,EAAS,KAAK,EAAS,KAAK,EAAS,KAAK,EAAS,KAAK,EAAS,KAAK,IAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,IAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,IAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,KAAK,EAAS,KAAK,IAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,IAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,IAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,IAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,KAAK,IAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,IAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,IAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,IAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,KAAK,IAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,IAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,KAAK,IAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,KAAK,EAAS,KAAK,EAAS,KAAK,IAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,IAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,IAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,IAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,IAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,KAAK,IAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI,EAAS,IAAI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AAKxvK,KAAKgwK,IAAK,IAE1BnsI,CACR,EAEAv/B,EAAOjF,QAAU6vK,C,4BCxDjB,IAAItvK,EAAW,EAAQ,OACnB01E,EAAO,EAAQ,OACfp0E,EAAS,gBAETg9F,EAAI,CACP,WACA,WACA,WACA,UACA,WACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,UACA,WACA,UACA,WACA,WACA,WACA,WACA,WACA,WACA,UACA,WACA,UACA,WACA,WACA,WACA,WACA,WACA,UACA,UACA,WACA,UACA,WACA,UACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,UACA,WACA,UACA,UACA,UACA,WACA,UACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,WACA,WACA,WACA,UACA,UACA,UACA,WACA,UACA,WACA,UACA,WACA,UACA,WACA,UACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,UACA,WACA,UACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,WACA,UACA,WACA,UACA,WACA,UACA,WACA,UACA,UACA,UACA,UACA,UACA,WACA,WACA,UACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,UACA,WACA,YAGGt6D,EAAI,IAAIliC,MAAM,KAElB,SAAS0uK,IACRpwK,KAAKkoD,OACLloD,KAAKguK,GAAKpqI,EAEV0xC,EAAK/0E,KAAKP,KAAM,IAAK,IACtB,CA0BA,SAASs+F,EAAGviF,EAAGC,EAAG6K,GACjB,OAAOA,EAAK9K,GAAKC,EAAI6K,EACtB,CAEA,SAASgoJ,EAAI9yJ,EAAGC,EAAG6K,GAClB,OAAQ9K,EAAIC,EAAM6K,GAAK9K,EAAIC,EAC5B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OACR,EAAQ,MACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,MACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,MACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,MACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,MACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,MACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,MACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,MACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,MACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,MACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,MACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,MACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,KACR,EAAQ,OACR,EAAQ,MACR,EAAQ,MACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,MACR,EAAQ,OACR,EAAQ,OACR,EAAQ,MACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,MACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,MACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,MACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,MACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,MACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,KACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,OACR,EAAQ,MACR,EAAQ,OACR,EAAQ,OACR,EAAQ,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","sources":["webpack:///nextcloud/node_modules/asn1.js/lib/asn1.js","webpack:///nextcloud/node_modules/asn1.js/lib/asn1/api.js","webpack:///nextcloud/node_modules/asn1.js/lib/asn1/base/buffer.js","webpack:///nextcloud/node_modules/asn1.js/lib/asn1/base/index.js","webpack:///nextcloud/node_modules/asn1.js/lib/asn1/base/node.js","webpack:///nextcloud/node_modules/asn1.js/lib/asn1/base/reporter.js","webpack:///nextcloud/node_modules/asn1.js/lib/asn1/constants/der.js","webpack:///nextcloud/node_modules/asn1.js/lib/asn1/constants/index.js","webpack:///nextcloud/node_modules/asn1.js/lib/asn1/decoders/der.js","webpack:///nextcloud/node_modules/asn1.js/lib/asn1/decoders/index.js","webpack:///nextcloud/node_modules/asn1.js/lib/asn1/decoders/pem.js","webpack:///nextcloud/node_modules/asn1.js/lib/asn1/encoders/der.js","webpack:///nextcloud/node_modules/asn1.js/lib/asn1/encoders/index.js","webpack:///nextcloud/node_modules/asn1.js/lib/asn1/encoders/pem.js","webpack:///nextcloud/node_modules/asn1.js/node_modules/bn.js/lib/bn.js","webpack:///nextcloud/core/src/components/ContactsMenu/ContactMenuEntry.vue","webpack:///nextcloud/core/src/components/ContactsMenu/ContactMenuEntry.vue?vue&type=script&lang=js","webpack://nextcloud/./core/src/components/ContactsMenu/ContactMenuEntry.vue?c2c2","webpack://nextcloud/./core/src/components/ContactsMenu/ContactMenuEntry.vue?f2c1","webpack://nextcloud/./core/src/components/ContactsMenu/ContactMenuEntry.vue?646c","webpack:///nextcloud/core/src/logger.js","webpack:///nextcloud/core/src/views/ContactsMenu.vue","webpack:///nextcloud/core/src/views/ContactsMenu.vue?vue&type=script&setup=true&lang=ts","webpack://nextcloud/./core/src/views/ContactsMenu.vue?1bb7","webpack://nextcloud/./core/src/views/ContactsMenu.vue?1de5","webpack:///nextcloud/core/src/services/ContactsMenuService.ts","webpack:///nextcloud/core/src/components/AppMenu.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/CircleOutline.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/CircleOutline.vue?vue&type=script&lang=js","webpack://nextcloud/./node_modules/vue-material-design-icons/CircleOutline.vue?68bc","webpack:///nextcloud/node_modules/vue-material-design-icons/CircleOutline.vue?vue&type=template&id=c013567c","webpack:///nextcloud/core/src/components/AppMenuIcon.vue?vue&type=script&setup=true&lang=ts","webpack:///nextcloud/core/src/components/AppMenuIcon.vue","webpack://nextcloud/./core/src/components/AppMenuIcon.vue?88b0","webpack://nextcloud/./core/src/components/AppMenuIcon.vue?1caa","webpack:///nextcloud/core/src/components/AppMenuEntry.vue?vue&type=script&setup=true&lang=ts","webpack:///nextcloud/core/src/components/AppMenuEntry.vue","webpack://nextcloud/./core/src/components/AppMenuEntry.vue?7981","webpack://nextcloud/./core/src/components/AppMenuEntry.vue?f835","webpack://nextcloud/./core/src/components/AppMenuEntry.vue?d04a","webpack:///nextcloud/core/src/components/AppMenu.vue?vue&type=script&lang=ts","webpack://nextcloud/./core/src/components/AppMenu.vue?e08a","webpack://nextcloud/./core/src/components/AppMenu.vue?95cf","webpack:///nextcloud/core/src/views/AccountMenu.vue","webpack:///nextcloud/core/src/components/AccountMenu/AccountMenuEntry.vue","webpack:///nextcloud/core/src/components/AccountMenu/AccountMenuEntry.vue?vue&type=script&lang=ts","webpack://nextcloud/./core/src/components/AccountMenu/AccountMenuEntry.vue?a9ed","webpack://nextcloud/./core/src/components/AccountMenu/AccountMenuEntry.vue?d55f","webpack:///nextcloud/core/src/components/AccountMenu/AccountMenuProfileEntry.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/QrcodeScan.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/QrcodeScan.vue?vue&type=script&lang=js","webpack://nextcloud/./node_modules/vue-material-design-icons/QrcodeScan.vue?7573","webpack:///nextcloud/node_modules/vue-material-design-icons/QrcodeScan.vue?vue&type=template&id=7489e3c8","webpack:///nextcloud/core/src/components/AccountMenu/AccountQRLoginDialog.vue","webpack:///nextcloud/core/src/components/AccountMenu/AccountQRLoginDialog.vue?vue&type=script&setup=true&lang=ts","webpack://nextcloud/./core/src/components/AccountMenu/AccountQRLoginDialog.vue?9c28","webpack://nextcloud/./core/src/components/AccountMenu/AccountQRLoginDialog.vue?6a6f","webpack:///nextcloud/core/src/components/AccountMenu/AccountMenuProfileEntry.vue?vue&type=script&lang=ts","webpack://nextcloud/./core/src/components/AccountMenu/AccountMenuProfileEntry.vue?1cd5","webpack:///nextcloud/core/src/views/AccountMenu.vue?vue&type=script&lang=ts","webpack://nextcloud/./core/src/views/AccountMenu.vue?1f03","webpack://nextcloud/./core/src/views/AccountMenu.vue?8823","webpack:///nextcloud/core/src/OC/admin.js","webpack:///nextcloud/core/src/OC/appconfig.js","webpack:///nextcloud/core/src/OC/apps.js","webpack:///nextcloud/core/src/OC/appswebroots.js","webpack:///nextcloud/core/src/OC/backbone-webdav.js","webpack:///nextcloud/core/src/OC/backbone.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/menu.js","webpack:///nextcloud/core/src/OC/constants.js","webpack:///nextcloud/core/src/OC/mimeType.js","webpack:///nextcloud/core/src/OC/msg.ts","webpack:///nextcloud/core/src/OC/notification.js","webpack:///nextcloud/core/src/OC/password-confirmation.js","webpack:///nextcloud/core/src/OC/plugins.js","webpack:///nextcloud/core/src/OC/settings.js","webpack:///nextcloud/core/src/OC/theme.js","webpack:///nextcloud/core/src/OC/util.js","webpack:///nextcloud/core/src/OC/util-history.js","webpack:///nextcloud/core/src/OC/webroot.js","webpack:///nextcloud/core/src/OC/index.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/session-heartbeat.ts","webpack:///nextcloud/core/src/utils/ClipboardFallback.ts","webpack:///nextcloud/core/src/utils/xhr-request.js","webpack:///nextcloud/core/src/init.js","webpack:///nextcloud/core/src/components/MainMenu.js","webpack:///nextcloud/core/src/components/UserMenu.js","webpack:///nextcloud/core/src/components/ContactsMenu.js","webpack:///nextcloud/core/src/OCP/accessibility.js","webpack:///nextcloud/core/src/OCP/appconfig.ts","webpack:///nextcloud/core/src/OCP/collaboration.js","webpack:///nextcloud/core/src/OCP/comments.ts","webpack:///nextcloud/core/src/OCP/loader.js","webpack:///nextcloud/core/src/OCP/toast.js","webpack:///nextcloud/core/src/OCP/index.js","webpack://nextcloud/./node_modules/jquery-ui-dist/jquery-ui.css?17d5","webpack://nextcloud/./node_modules/jquery-ui-dist/jquery-ui.theme.css?4a7b","webpack://nextcloud/./node_modules/select2/select2.css?b214","webpack://nextcloud/./node_modules/strengthify/strengthify.css?eaf5","webpack:///nextcloud/core/src/globals.js","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/Functions/a11y.mjs","webpack:///nextcloud/core/src/OCA/index.js","webpack:///nextcloud/core/src/jquery/avatar.js","webpack:///nextcloud/core/src/jquery/exists.js","webpack:///nextcloud/core/src/jquery/filterattr.js","webpack:///nextcloud/core/src/jquery/ocdialog.js","webpack:///nextcloud/core/src/jquery/octemplate.js","webpack:///nextcloud/core/src/jquery/placeholder.js","webpack:///nextcloud/core/src/jquery/requesttoken.js","webpack:///nextcloud/core/src/jquery/selectrange.js","webpack:///nextcloud/core/src/jquery/showpassword.js","webpack:///nextcloud/core/src/jquery/ui-fixes.js","webpack://nextcloud/./core/src/jquery/css/jquery-ui-fixes.scss?a4c2","webpack://nextcloud/./core/src/jquery/css/jquery.ocdialog.scss?5718","webpack:///nextcloud/core/src/jquery/index.js","webpack:///nextcloud/core/src/main.js","webpack:///nextcloud/node_modules/backbone/backbone.js","webpack:///nextcloud/node_modules/bn.js/lib/bn.js","webpack:///nextcloud/node_modules/brorand/index.js","webpack:///nextcloud/node_modules/browserify-aes/aes.js","webpack:///nextcloud/node_modules/browserify-aes/authCipher.js","webpack:///nextcloud/node_modules/browserify-aes/browser.js","webpack:///nextcloud/node_modules/browserify-aes/decrypter.js","webpack:///nextcloud/node_modules/browserify-aes/encrypter.js","webpack:///nextcloud/node_modules/browserify-aes/ghash.js","webpack:///nextcloud/node_modules/browserify-aes/incr32.js","webpack:///nextcloud/node_modules/browserify-aes/modes/cbc.js","webpack:///nextcloud/node_modules/browserify-aes/modes/cfb.js","webpack:///nextcloud/node_modules/browserify-aes/modes/cfb1.js","webpack:///nextcloud/node_modules/browserify-aes/modes/cfb8.js","webpack:///nextcloud/node_modules/browserify-aes/modes/ctr.js","webpack:///nextcloud/node_modules/browserify-aes/modes/ecb.js","webpack:///nextcloud/node_modules/browserify-aes/modes/index.js","webpack:///nextcloud/node_modules/browserify-aes/modes/ofb.js","webpack:///nextcloud/node_modules/browserify-aes/streamCipher.js","webpack:///nextcloud/node_modules/browserify-cipher/browser.js","webpack:///nextcloud/node_modules/browserify-des/index.js","webpack:///nextcloud/node_modules/browserify-des/modes.js","webpack:///nextcloud/node_modules/browserify-rsa/index.js","webpack:///nextcloud/node_modules/browserify-sign/algos.js","webpack:///nextcloud/node_modules/browserify-sign/browser/index.js","webpack:///nextcloud/node_modules/browserify-sign/browser/sign.js","webpack:///nextcloud/node_modules/browserify-sign/browser/verify.js","webpack:///nextcloud/node_modules/buffer-xor/index.js","webpack:///nextcloud/node_modules/cipher-base/index.js","webpack:///nextcloud/node_modules/clipboard/dist/clipboard.js","webpack:///nextcloud/node_modules/core-util-is/lib/util.js","webpack:///nextcloud/node_modules/create-ecdh/browser.js","webpack:///nextcloud/node_modules/create-ecdh/node_modules/bn.js/lib/bn.js","webpack:///nextcloud/node_modules/create-hash/browser.js","webpack:///nextcloud/node_modules/create-hash/md5.js","webpack:///nextcloud/node_modules/create-hmac/browser.js","webpack:///nextcloud/node_modules/create-hmac/legacy.js","webpack:///nextcloud/node_modules/crypto-browserify/index.js","webpack:///nextcloud/node_modules/jquery-ui-dist/jquery-ui.css","webpack:///nextcloud/node_modules/jquery-ui-dist/jquery-ui.theme.css","webpack:///nextcloud/core/src/jquery/css/jquery-ui-fixes.scss","webpack:///nextcloud/core/src/jquery/css/jquery.ocdialog.scss","webpack:///nextcloud/node_modules/select2/select2.css","webpack:///nextcloud/node_modules/strengthify/strengthify.css","webpack:///nextcloud/core/src/components/AccountMenu/AccountMenuEntry.vue?vue&type=style&index=0&id=bdb908d2&prod&lang=scss&scoped=true","webpack:///nextcloud/core/src/components/AccountMenu/AccountQRLoginDialog.vue?vue&type=style&index=0&id=666075e8&prod&lang=scss","webpack:///nextcloud/core/src/components/AppMenu.vue?vue&type=style&index=0&id=141e7efc&prod&scoped=true&lang=scss","webpack:///nextcloud/core/src/components/AppMenuEntry.vue?vue&type=style&index=0&id=7faa0c46&prod&scoped=true&lang=scss","webpack:///nextcloud/core/src/components/AppMenuEntry.vue?vue&type=style&index=1&id=7faa0c46&prod&lang=scss","webpack:///nextcloud/core/src/components/AppMenuIcon.vue?vue&type=style&index=0&id=81f2fa84&prod&scoped=true&lang=scss","webpack:///nextcloud/core/src/components/ContactsMenu/ContactMenuEntry.vue?vue&type=style&index=0&id=56b7b257&prod&scoped=true&lang=scss","webpack:///nextcloud/core/src/views/AccountMenu.vue?vue&type=style&index=0&id=6c007912&prod&lang=scss&scoped=true","webpack:///nextcloud/core/src/views/ContactsMenu.vue?vue&type=style&index=0&id=253ecd69&prod&lang=scss&scoped=true","webpack:///nextcloud/node_modules/des.js/lib/des.js","webpack:///nextcloud/node_modules/des.js/lib/des/cbc.js","webpack:///nextcloud/node_modules/des.js/lib/des/cipher.js","webpack:///nextcloud/node_modules/des.js/lib/des/des.js","webpack:///nextcloud/node_modules/des.js/lib/des/ede.js","webpack:///nextcloud/node_modules/des.js/lib/des/utils.js","webpack:///nextcloud/node_modules/diffie-hellman/browser.js","webpack:///nextcloud/node_modules/diffie-hellman/lib/dh.js","webpack:///nextcloud/node_modules/diffie-hellman/lib/generatePrime.js","webpack:///nextcloud/node_modules/diffie-hellman/node_modules/bn.js/lib/bn.js","webpack:///nextcloud/node_modules/elliptic/lib/elliptic.js","webpack:///nextcloud/node_modules/elliptic/lib/elliptic/curve/base.js","webpack:///nextcloud/node_modules/elliptic/lib/elliptic/curve/edwards.js","webpack:///nextcloud/node_modules/elliptic/lib/elliptic/curve/index.js","webpack:///nextcloud/node_modules/elliptic/lib/elliptic/curve/mont.js","webpack:///nextcloud/node_modules/elliptic/lib/elliptic/curve/short.js","webpack:///nextcloud/node_modules/elliptic/lib/elliptic/curves.js","webpack:///nextcloud/node_modules/elliptic/lib/elliptic/ec/index.js","webpack:///nextcloud/node_modules/elliptic/lib/elliptic/ec/key.js","webpack:///nextcloud/node_modules/elliptic/lib/elliptic/ec/signature.js","webpack:///nextcloud/node_modules/elliptic/lib/elliptic/eddsa/index.js","webpack:///nextcloud/node_modules/elliptic/lib/elliptic/eddsa/key.js","webpack:///nextcloud/node_modules/elliptic/lib/elliptic/eddsa/signature.js","webpack:///nextcloud/node_modules/elliptic/lib/elliptic/precomputed/secp256k1.js","webpack:///nextcloud/node_modules/elliptic/lib/elliptic/utils.js","webpack:///nextcloud/node_modules/elliptic/node_modules/bn.js/lib/bn.js","webpack:///nextcloud/node_modules/evp_bytestokey/index.js","webpack:///nextcloud/node_modules/davclient.js/lib/client.js","webpack:///nextcloud/node_modules/handlebars/dist/cjs/handlebars.runtime.js","webpack:///nextcloud/node_modules/handlebars/dist/cjs/handlebars/base.js","webpack:///nextcloud/node_modules/handlebars/dist/cjs/handlebars/decorators.js","webpack:///nextcloud/node_modules/handlebars/dist/cjs/handlebars/decorators/inline.js","webpack:///nextcloud/node_modules/handlebars/dist/cjs/handlebars/exception.js","webpack:///nextcloud/node_modules/handlebars/dist/cjs/handlebars/helpers.js","webpack:///nextcloud/node_modules/handlebars/dist/cjs/handlebars/helpers/block-helper-missing.js","webpack:///nextcloud/node_modules/handlebars/dist/cjs/handlebars/helpers/each.js","webpack:///nextcloud/node_modules/handlebars/dist/cjs/handlebars/helpers/helper-missing.js","webpack:///nextcloud/node_modules/handlebars/dist/cjs/handlebars/helpers/if.js","webpack:///nextcloud/node_modules/handlebars/dist/cjs/handlebars/helpers/log.js","webpack:///nextcloud/node_modules/handlebars/dist/cjs/handlebars/helpers/lookup.js","webpack:///nextcloud/node_modules/handlebars/dist/cjs/handlebars/helpers/with.js","webpack:///nextcloud/node_modules/handlebars/dist/cjs/handlebars/internal/proto-access.js","webpack:///nextcloud/node_modules/handlebars/dist/cjs/handlebars/internal/wrapHelper.js","webpack:///nextcloud/node_modules/handlebars/dist/cjs/handlebars/logger.js","webpack:///nextcloud/node_modules/handlebars/dist/cjs/handlebars/no-conflict.js","webpack:///nextcloud/node_modules/handlebars/dist/cjs/handlebars/runtime.js","webpack:///nextcloud/node_modules/handlebars/dist/cjs/handlebars/safe-string.js","webpack:///nextcloud/node_modules/handlebars/dist/cjs/handlebars/utils.js","webpack:///nextcloud/node_modules/handlebars/runtime.js","webpack:///nextcloud/node_modules/hash-base/index.js","webpack:///nextcloud/node_modules/hash.js/lib/hash.js","webpack:///nextcloud/node_modules/hash.js/lib/hash/common.js","webpack:///nextcloud/node_modules/hash.js/lib/hash/hmac.js","webpack:///nextcloud/node_modules/hash.js/lib/hash/ripemd.js","webpack:///nextcloud/node_modules/hash.js/lib/hash/sha.js","webpack:///nextcloud/node_modules/hash.js/lib/hash/sha/1.js","webpack:///nextcloud/node_modules/hash.js/lib/hash/sha/224.js","webpack:///nextcloud/node_modules/hash.js/lib/hash/sha/256.js","webpack:///nextcloud/node_modules/hash.js/lib/hash/sha/384.js","webpack:///nextcloud/node_modules/hash.js/lib/hash/sha/512.js","webpack:///nextcloud/node_modules/hash.js/lib/hash/sha/common.js","webpack:///nextcloud/node_modules/hash.js/lib/hash/utils.js","webpack:///nextcloud/node_modules/hmac-drbg/lib/hmac-drbg.js","webpack:///nextcloud/node_modules/isarray/index.js","webpack:///nextcloud/node_modules/jquery-ui-dist/jquery-ui.js","webpack:///nextcloud/node_modules/md5.js/index.js","webpack:///nextcloud/node_modules/miller-rabin/lib/mr.js","webpack:///nextcloud/node_modules/miller-rabin/node_modules/bn.js/lib/bn.js","webpack:///nextcloud/node_modules/minimalistic-assert/index.js","webpack:///nextcloud/node_modules/minimalistic-crypto-utils/lib/utils.js","webpack:///nextcloud/node_modules/moment/locale|sync|/^\\.\\/.*$","webpack:///nextcloud/node_modules/parse-asn1/asn1.js","webpack:///nextcloud/node_modules/parse-asn1/certificate.js","webpack:///nextcloud/node_modules/parse-asn1/fixProc.js","webpack:///nextcloud/node_modules/parse-asn1/index.js","webpack:///nextcloud/node_modules/pbkdf2/browser.js","webpack:///nextcloud/node_modules/pbkdf2/lib/async.js","webpack:///nextcloud/node_modules/pbkdf2/lib/default-encoding.js","webpack:///nextcloud/node_modules/pbkdf2/lib/precondition.js","webpack:///nextcloud/node_modules/pbkdf2/lib/sync-browser.js","webpack:///nextcloud/node_modules/pbkdf2/lib/to-buffer.js","webpack:///nextcloud/node_modules/process-nextick-args/index.js","webpack:///nextcloud/node_modules/public-encrypt/browser.js","webpack:///nextcloud/node_modules/public-encrypt/mgf.js","webpack:///nextcloud/node_modules/public-encrypt/node_modules/bn.js/lib/bn.js","webpack:///nextcloud/node_modules/public-encrypt/privateDecrypt.js","webpack:///nextcloud/node_modules/public-encrypt/publicEncrypt.js","webpack:///nextcloud/node_modules/public-encrypt/withPublic.js","webpack:///nextcloud/node_modules/public-encrypt/xor.js","webpack:///nextcloud/node_modules/randombytes/browser.js","webpack:///nextcloud/node_modules/randomfill/browser.js","webpack:///nextcloud/node_modules/readable-stream/lib/_stream_duplex.js","webpack:///nextcloud/node_modules/readable-stream/lib/_stream_passthrough.js","webpack:///nextcloud/node_modules/readable-stream/lib/_stream_readable.js","webpack:///nextcloud/node_modules/readable-stream/lib/_stream_transform.js","webpack:///nextcloud/node_modules/readable-stream/lib/_stream_writable.js","webpack:///nextcloud/node_modules/readable-stream/lib/internal/streams/BufferList.js","webpack:///nextcloud/node_modules/readable-stream/lib/internal/streams/destroy.js","webpack:///nextcloud/node_modules/readable-stream/lib/internal/streams/stream-browser.js","webpack:///nextcloud/node_modules/readable-stream/node_modules/safe-buffer/index.js","webpack:///nextcloud/node_modules/readable-stream/node_modules/string_decoder/lib/string_decoder.js","webpack:///nextcloud/node_modules/readable-stream/readable-browser.js","webpack:///nextcloud/node_modules/regenerator-runtime/runtime.js","webpack:///nextcloud/node_modules/ripemd160/index.js","webpack:///nextcloud/node_modules/ripemd160/node_modules/hash-base/index.js","webpack:///nextcloud/node_modules/ripemd160/node_modules/hash-base/to-buffer.js","webpack:///nextcloud/node_modules/select2/select2.js","webpack:///nextcloud/node_modules/sha.js/hash.js","webpack:///nextcloud/node_modules/sha.js/index.js","webpack:///nextcloud/node_modules/sha.js/sha.js","webpack:///nextcloud/node_modules/sha.js/sha1.js","webpack:///nextcloud/node_modules/sha.js/sha224.js","webpack:///nextcloud/node_modules/sha.js/sha256.js","webpack:///nextcloud/node_modules/sha.js/sha384.js","webpack:///nextcloud/node_modules/sha.js/sha512.js","webpack:///nextcloud/node_modules/snap.js/dist/snap.js","webpack:///nextcloud/node_modules/strengthify/jquery.strengthify.js","webpack:///nextcloud/node_modules/to-buffer/index.js","webpack:///nextcloud/node_modules/to-buffer/node_modules/isarray/index.js","webpack:///nextcloud/node_modules/typed-array-buffer/index.js","webpack:///nextcloud/node_modules/vm-browserify/index.js","webpack:///nextcloud/node_modules/core-js/internals/a-callable.js","webpack:///nextcloud/node_modules/core-js/internals/a-constructor.js","webpack:///nextcloud/node_modules/core-js/internals/a-data-view.js","webpack:///nextcloud/node_modules/core-js/internals/a-possible-prototype.js","webpack:///nextcloud/node_modules/core-js/internals/a-set.js","webpack:///nextcloud/node_modules/core-js/internals/a-string.js","webpack:///nextcloud/node_modules/core-js/internals/a-weak-key.js","webpack:///nextcloud/node_modules/core-js/internals/a-weak-map.js","webpack:///nextcloud/node_modules/core-js/internals/add-disposable-resource.js","webpack:///nextcloud/node_modules/core-js/internals/add-to-unscopables.js","webpack:///nextcloud/node_modules/core-js/internals/advance-string-index.js","webpack:///nextcloud/node_modules/core-js/internals/an-instance.js","webpack:///nextcloud/node_modules/core-js/internals/an-object-or-undefined.js","webpack:///nextcloud/node_modules/core-js/internals/an-object.js","webpack:///nextcloud/node_modules/core-js/internals/an-uint8-array.js","webpack:///nextcloud/node_modules/core-js/internals/array-buffer-basic-detection.js","webpack:///nextcloud/node_modules/core-js/internals/array-buffer-byte-length.js","webpack:///nextcloud/node_modules/core-js/internals/array-buffer-is-detached.js","webpack:///nextcloud/node_modules/core-js/internals/array-buffer-non-extensible.js","webpack:///nextcloud/node_modules/core-js/internals/array-buffer-not-detached.js","webpack:///nextcloud/node_modules/core-js/internals/array-buffer-transfer.js","webpack:///nextcloud/node_modules/core-js/internals/array-buffer-view-core.js","webpack:///nextcloud/node_modules/core-js/internals/array-buffer.js","webpack:///nextcloud/node_modules/core-js/internals/array-copy-within.js","webpack:///nextcloud/node_modules/core-js/internals/array-fill.js","webpack:///nextcloud/node_modules/core-js/internals/array-for-each.js","webpack:///nextcloud/node_modules/core-js/internals/array-from-async.js","webpack:///nextcloud/node_modules/core-js/internals/array-from-constructor-and-list.js","webpack:///nextcloud/node_modules/core-js/internals/array-from.js","webpack:///nextcloud/node_modules/core-js/internals/array-includes.js","webpack:///nextcloud/node_modules/core-js/internals/array-iteration-from-last.js","webpack:///nextcloud/node_modules/core-js/internals/array-iteration.js","webpack:///nextcloud/node_modules/core-js/internals/array-last-index-of.js","webpack:///nextcloud/node_modules/core-js/internals/array-method-has-species-support.js","webpack:///nextcloud/node_modules/core-js/internals/array-method-is-strict.js","webpack:///nextcloud/node_modules/core-js/internals/array-reduce.js","webpack:///nextcloud/node_modules/core-js/internals/array-set-length.js","webpack:///nextcloud/node_modules/core-js/internals/array-slice.js","webpack:///nextcloud/node_modules/core-js/internals/array-sort.js","webpack:///nextcloud/node_modules/core-js/internals/array-species-constructor.js","webpack:///nextcloud/node_modules/core-js/internals/array-species-create.js","webpack:///nextcloud/node_modules/core-js/internals/async-from-sync-iterator.js","webpack:///nextcloud/node_modules/core-js/internals/async-iterator-close.js","webpack:///nextcloud/node_modules/core-js/internals/async-iterator-iteration.js","webpack:///nextcloud/node_modules/core-js/internals/async-iterator-prototype.js","webpack:///nextcloud/node_modules/core-js/internals/base64-map.js","webpack:///nextcloud/node_modules/core-js/internals/call-with-safe-iteration-closing.js","webpack:///nextcloud/node_modules/core-js/internals/check-correctness-of-iteration.js","webpack:///nextcloud/node_modules/core-js/internals/classof-raw.js","webpack:///nextcloud/node_modules/core-js/internals/classof.js","webpack:///nextcloud/node_modules/core-js/internals/collection-strong.js","webpack:///nextcloud/node_modules/core-js/internals/collection-weak.js","webpack:///nextcloud/node_modules/core-js/internals/collection.js","webpack:///nextcloud/node_modules/core-js/internals/copy-constructor-properties.js","webpack:///nextcloud/node_modules/core-js/internals/correct-is-regexp-logic.js","webpack:///nextcloud/node_modules/core-js/internals/correct-prototype-getter.js","webpack:///nextcloud/node_modules/core-js/internals/create-html.js","webpack:///nextcloud/node_modules/core-js/internals/create-iter-result-object.js","webpack:///nextcloud/node_modules/core-js/internals/create-non-enumerable-property.js","webpack:///nextcloud/node_modules/core-js/internals/create-property-descriptor.js","webpack:///nextcloud/node_modules/core-js/internals/create-property.js","webpack:///nextcloud/node_modules/core-js/internals/date-to-iso-string.js","webpack:///nextcloud/node_modules/core-js/internals/date-to-primitive.js","webpack:///nextcloud/node_modules/core-js/internals/define-built-in-accessor.js","webpack:///nextcloud/node_modules/core-js/internals/define-built-in.js","webpack:///nextcloud/node_modules/core-js/internals/define-built-ins.js","webpack:///nextcloud/node_modules/core-js/internals/define-global-property.js","webpack:///nextcloud/node_modules/core-js/internals/delete-property-or-throw.js","webpack:///nextcloud/node_modules/core-js/internals/descriptors.js","webpack:///nextcloud/node_modules/core-js/internals/detach-transferable.js","webpack:///nextcloud/node_modules/core-js/internals/document-create-element.js","webpack:///nextcloud/node_modules/core-js/internals/does-not-exceed-safe-integer.js","webpack:///nextcloud/node_modules/core-js/internals/dom-exception-constants.js","webpack:///nextcloud/node_modules/core-js/internals/dom-iterables.js","webpack:///nextcloud/node_modules/core-js/internals/dom-token-list-prototype.js","webpack:///nextcloud/node_modules/core-js/internals/enum-bug-keys.js","webpack:///nextcloud/node_modules/core-js/internals/environment-ff-version.js","webpack:///nextcloud/node_modules/core-js/internals/environment-is-ie-or-edge.js","webpack:///nextcloud/node_modules/core-js/internals/environment-is-ios-pebble.js","webpack:///nextcloud/node_modules/core-js/internals/environment-is-ios.js","webpack:///nextcloud/node_modules/core-js/internals/environment-is-node.js","webpack:///nextcloud/node_modules/core-js/internals/environment-is-webos-webkit.js","webpack:///nextcloud/node_modules/core-js/internals/environment-user-agent.js","webpack:///nextcloud/node_modules/core-js/internals/environment-v8-version.js","webpack:///nextcloud/node_modules/core-js/internals/environment-webkit-version.js","webpack:///nextcloud/node_modules/core-js/internals/environment.js","webpack:///nextcloud/node_modules/core-js/internals/error-stack-clear.js","webpack:///nextcloud/node_modules/core-js/internals/error-stack-install.js","webpack:///nextcloud/node_modules/core-js/internals/error-stack-installable.js","webpack:///nextcloud/node_modules/core-js/internals/error-to-string.js","webpack:///nextcloud/node_modules/core-js/internals/export.js","webpack:///nextcloud/node_modules/core-js/internals/fails.js","webpack:///nextcloud/node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js","webpack:///nextcloud/node_modules/core-js/internals/flatten-into-array.js","webpack:///nextcloud/node_modules/core-js/internals/freezing.js","webpack:///nextcloud/node_modules/core-js/internals/function-apply.js","webpack:///nextcloud/node_modules/core-js/internals/function-bind-context.js","webpack:///nextcloud/node_modules/core-js/internals/function-bind-native.js","webpack:///nextcloud/node_modules/core-js/internals/function-bind.js","webpack:///nextcloud/node_modules/core-js/internals/function-call.js","webpack:///nextcloud/node_modules/core-js/internals/function-name.js","webpack:///nextcloud/node_modules/core-js/internals/function-uncurry-this-accessor.js","webpack:///nextcloud/node_modules/core-js/internals/function-uncurry-this-clause.js","webpack:///nextcloud/node_modules/core-js/internals/function-uncurry-this.js","webpack:///nextcloud/node_modules/core-js/internals/get-alphabet-option.js","webpack:///nextcloud/node_modules/core-js/internals/get-async-iterator.js","webpack:///nextcloud/node_modules/core-js/internals/get-built-in-node-module.js","webpack:///nextcloud/node_modules/core-js/internals/get-built-in-prototype-method.js","webpack:///nextcloud/node_modules/core-js/internals/get-built-in.js","webpack:///nextcloud/node_modules/core-js/internals/get-iterator-direct.js","webpack:///nextcloud/node_modules/core-js/internals/get-iterator-flattenable.js","webpack:///nextcloud/node_modules/core-js/internals/get-iterator-method.js","webpack:///nextcloud/node_modules/core-js/internals/get-iterator.js","webpack:///nextcloud/node_modules/core-js/internals/get-method.js","webpack:///nextcloud/node_modules/core-js/internals/get-set-record.js","webpack:///nextcloud/node_modules/core-js/internals/get-substitution.js","webpack:///nextcloud/node_modules/core-js/internals/global-this.js","webpack:///nextcloud/node_modules/core-js/internals/has-own-property.js","webpack:///nextcloud/node_modules/core-js/internals/hidden-keys.js","webpack:///nextcloud/node_modules/core-js/internals/host-report-errors.js","webpack:///nextcloud/node_modules/core-js/internals/html.js","webpack:///nextcloud/node_modules/core-js/internals/ie8-dom-define.js","webpack:///nextcloud/node_modules/core-js/internals/ieee754.js","webpack:///nextcloud/node_modules/core-js/internals/indexed-object.js","webpack:///nextcloud/node_modules/core-js/internals/inherit-if-required.js","webpack:///nextcloud/node_modules/core-js/internals/inspect-source.js","webpack:///nextcloud/node_modules/core-js/internals/install-error-cause.js","webpack:///nextcloud/node_modules/core-js/internals/internal-metadata.js","webpack:///nextcloud/node_modules/core-js/internals/internal-state.js","webpack:///nextcloud/node_modules/core-js/internals/is-array-iterator-method.js","webpack:///nextcloud/node_modules/core-js/internals/is-array.js","webpack:///nextcloud/node_modules/core-js/internals/is-big-int-array.js","webpack:///nextcloud/node_modules/core-js/internals/is-callable.js","webpack:///nextcloud/node_modules/core-js/internals/is-constructor.js","webpack:///nextcloud/node_modules/core-js/internals/is-data-descriptor.js","webpack:///nextcloud/node_modules/core-js/internals/is-forced.js","webpack:///nextcloud/node_modules/core-js/internals/is-integral-number.js","webpack:///nextcloud/node_modules/core-js/internals/is-null-or-undefined.js","webpack:///nextcloud/node_modules/core-js/internals/is-object.js","webpack:///nextcloud/node_modules/core-js/internals/is-possible-prototype.js","webpack:///nextcloud/node_modules/core-js/internals/is-pure.js","webpack:///nextcloud/node_modules/core-js/internals/is-raw-json.js","webpack:///nextcloud/node_modules/core-js/internals/is-regexp.js","webpack:///nextcloud/node_modules/core-js/internals/is-symbol.js","webpack:///nextcloud/node_modules/core-js/internals/iterate-simple.js","webpack:///nextcloud/node_modules/core-js/internals/iterate.js","webpack:///nextcloud/node_modules/core-js/internals/iterator-close-all.js","webpack:///nextcloud/node_modules/core-js/internals/iterator-close.js","webpack:///nextcloud/node_modules/core-js/internals/iterator-create-constructor.js","webpack:///nextcloud/node_modules/core-js/internals/iterator-create-proxy.js","webpack:///nextcloud/node_modules/core-js/internals/iterator-define.js","webpack:///nextcloud/node_modules/core-js/internals/iterator-helper-throws-on-invalid-iterator.js","webpack:///nextcloud/node_modules/core-js/internals/iterator-helper-without-closing-on-early-error.js","webpack:///nextcloud/node_modules/core-js/internals/iterators-core.js","webpack:///nextcloud/node_modules/core-js/internals/iterators.js","webpack:///nextcloud/node_modules/core-js/internals/length-of-array-like.js","webpack:///nextcloud/node_modules/core-js/internals/make-built-in.js","webpack:///nextcloud/node_modules/core-js/internals/map-helpers.js","webpack:///nextcloud/node_modules/core-js/internals/math-expm1.js","webpack:///nextcloud/node_modules/core-js/internals/math-float-round.js","webpack:///nextcloud/node_modules/core-js/internals/math-fround.js","webpack:///nextcloud/node_modules/core-js/internals/math-log10.js","webpack:///nextcloud/node_modules/core-js/internals/math-log1p.js","webpack:///nextcloud/node_modules/core-js/internals/math-log2.js","webpack:///nextcloud/node_modules/core-js/internals/math-round-ties-to-even.js","webpack:///nextcloud/node_modules/core-js/internals/math-sign.js","webpack:///nextcloud/node_modules/core-js/internals/math-trunc.js","webpack:///nextcloud/node_modules/core-js/internals/microtask.js","webpack:///nextcloud/node_modules/core-js/internals/native-raw-json.js","webpack:///nextcloud/node_modules/core-js/internals/new-promise-capability.js","webpack:///nextcloud/node_modules/core-js/internals/normalize-string-argument.js","webpack:///nextcloud/node_modules/core-js/internals/not-a-nan.js","webpack:///nextcloud/node_modules/core-js/internals/not-a-regexp.js","webpack:///nextcloud/node_modules/core-js/internals/number-is-finite.js","webpack:///nextcloud/node_modules/core-js/internals/number-parse-float.js","webpack:///nextcloud/node_modules/core-js/internals/number-parse-int.js","webpack:///nextcloud/node_modules/core-js/internals/object-assign.js","webpack:///nextcloud/node_modules/core-js/internals/object-create.js","webpack:///nextcloud/node_modules/core-js/internals/object-define-properties.js","webpack:///nextcloud/node_modules/core-js/internals/object-define-property.js","webpack:///nextcloud/node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack:///nextcloud/node_modules/core-js/internals/object-get-own-property-names-external.js","webpack:///nextcloud/node_modules/core-js/internals/object-get-own-property-names.js","webpack:///nextcloud/node_modules/core-js/internals/object-get-own-property-symbols.js","webpack:///nextcloud/node_modules/core-js/internals/object-get-prototype-of.js","webpack:///nextcloud/node_modules/core-js/internals/object-is-extensible.js","webpack:///nextcloud/node_modules/core-js/internals/object-is-prototype-of.js","webpack:///nextcloud/node_modules/core-js/internals/object-keys-internal.js","webpack:///nextcloud/node_modules/core-js/internals/object-keys.js","webpack:///nextcloud/node_modules/core-js/internals/object-property-is-enumerable.js","webpack:///nextcloud/node_modules/core-js/internals/object-prototype-accessors-forced.js","webpack:///nextcloud/node_modules/core-js/internals/object-set-prototype-of.js","webpack:///nextcloud/node_modules/core-js/internals/object-to-array.js","webpack:///nextcloud/node_modules/core-js/internals/object-to-string.js","webpack:///nextcloud/node_modules/core-js/internals/ordinary-to-primitive.js","webpack:///nextcloud/node_modules/core-js/internals/own-keys.js","webpack:///nextcloud/node_modules/core-js/internals/parse-json-string.js","webpack:///nextcloud/node_modules/core-js/internals/path.js","webpack:///nextcloud/node_modules/core-js/internals/perform.js","webpack:///nextcloud/node_modules/core-js/internals/promise-constructor-detection.js","webpack:///nextcloud/node_modules/core-js/internals/promise-native-constructor.js","webpack:///nextcloud/node_modules/core-js/internals/promise-resolve.js","webpack:///nextcloud/node_modules/core-js/internals/promise-statics-incorrect-iteration.js","webpack:///nextcloud/node_modules/core-js/internals/proxy-accessor.js","webpack:///nextcloud/node_modules/core-js/internals/queue.js","webpack:///nextcloud/node_modules/core-js/internals/regexp-exec-abstract.js","webpack:///nextcloud/node_modules/core-js/internals/regexp-exec.js","webpack:///nextcloud/node_modules/core-js/internals/regexp-flags-detection.js","webpack:///nextcloud/node_modules/core-js/internals/regexp-flags.js","webpack:///nextcloud/node_modules/core-js/internals/regexp-get-flags.js","webpack:///nextcloud/node_modules/core-js/internals/regexp-sticky-helpers.js","webpack:///nextcloud/node_modules/core-js/internals/regexp-unsupported-dot-all.js","webpack:///nextcloud/node_modules/core-js/internals/regexp-unsupported-ncg.js","webpack:///nextcloud/node_modules/core-js/internals/require-object-coercible.js","webpack:///nextcloud/node_modules/core-js/internals/safe-get-built-in.js","webpack:///nextcloud/node_modules/core-js/internals/same-value.js","webpack:///nextcloud/node_modules/core-js/internals/schedulers-fix.js","webpack:///nextcloud/node_modules/core-js/internals/set-clone.js","webpack:///nextcloud/node_modules/core-js/internals/set-difference.js","webpack:///nextcloud/node_modules/core-js/internals/set-helpers.js","webpack:///nextcloud/node_modules/core-js/internals/set-intersection.js","webpack:///nextcloud/node_modules/core-js/internals/set-is-disjoint-from.js","webpack:///nextcloud/node_modules/core-js/internals/set-is-subset-of.js","webpack:///nextcloud/node_modules/core-js/internals/set-is-superset-of.js","webpack:///nextcloud/node_modules/core-js/internals/set-iterate.js","webpack:///nextcloud/node_modules/core-js/internals/set-method-accept-set-like.js","webpack:///nextcloud/node_modules/core-js/internals/set-method-get-keys-before-cloning-detection.js","webpack:///nextcloud/node_modules/core-js/internals/set-size.js","webpack:///nextcloud/node_modules/core-js/internals/set-species.js","webpack:///nextcloud/node_modules/core-js/internals/set-symmetric-difference.js","webpack:///nextcloud/node_modules/core-js/internals/set-to-string-tag.js","webpack:///nextcloud/node_modules/core-js/internals/set-union.js","webpack:///nextcloud/node_modules/core-js/internals/shared-key.js","webpack:///nextcloud/node_modules/core-js/internals/shared-store.js","webpack:///nextcloud/node_modules/core-js/internals/shared.js","webpack:///nextcloud/node_modules/core-js/internals/species-constructor.js","webpack:///nextcloud/node_modules/core-js/internals/string-html-forced.js","webpack:///nextcloud/node_modules/core-js/internals/string-multibyte.js","webpack:///nextcloud/node_modules/core-js/internals/string-pad-webkit-bug.js","webpack:///nextcloud/node_modules/core-js/internals/string-pad.js","webpack:///nextcloud/node_modules/core-js/internals/string-punycode-to-ascii.js","webpack:///nextcloud/node_modules/core-js/internals/string-repeat.js","webpack:///nextcloud/node_modules/core-js/internals/string-trim-end.js","webpack:///nextcloud/node_modules/core-js/internals/string-trim-forced.js","webpack:///nextcloud/node_modules/core-js/internals/string-trim-start.js","webpack:///nextcloud/node_modules/core-js/internals/string-trim.js","webpack:///nextcloud/node_modules/core-js/internals/structured-clone-proper-transfer.js","webpack:///nextcloud/node_modules/core-js/internals/symbol-constructor-detection.js","webpack:///nextcloud/node_modules/core-js/internals/symbol-define-to-primitive.js","webpack:///nextcloud/node_modules/core-js/internals/symbol-registry-detection.js","webpack:///nextcloud/node_modules/core-js/internals/task.js","webpack:///nextcloud/node_modules/core-js/internals/this-number-value.js","webpack:///nextcloud/node_modules/core-js/internals/to-absolute-index.js","webpack:///nextcloud/node_modules/core-js/internals/to-big-int.js","webpack:///nextcloud/node_modules/core-js/internals/to-index.js","webpack:///nextcloud/node_modules/core-js/internals/to-indexed-object.js","webpack:///nextcloud/node_modules/core-js/internals/to-integer-or-infinity.js","webpack:///nextcloud/node_modules/core-js/internals/to-length.js","webpack:///nextcloud/node_modules/core-js/internals/to-object.js","webpack:///nextcloud/node_modules/core-js/internals/to-offset.js","webpack:///nextcloud/node_modules/core-js/internals/to-positive-integer.js","webpack:///nextcloud/node_modules/core-js/internals/to-primitive.js","webpack:///nextcloud/node_modules/core-js/internals/to-property-key.js","webpack:///nextcloud/node_modules/core-js/internals/to-string-tag-support.js","webpack:///nextcloud/node_modules/core-js/internals/to-string.js","webpack:///nextcloud/node_modules/core-js/internals/to-uint8-clamped.js","webpack:///nextcloud/node_modules/core-js/internals/try-to-string.js","webpack:///nextcloud/node_modules/core-js/internals/typed-array-constructor.js","webpack:///nextcloud/node_modules/core-js/internals/typed-array-constructors-require-wrappers.js","webpack:///nextcloud/node_modules/core-js/internals/typed-array-from-same-type-and-list.js","webpack:///nextcloud/node_modules/core-js/internals/typed-array-from.js","webpack:///nextcloud/node_modules/core-js/internals/uid.js","webpack:///nextcloud/node_modules/core-js/internals/uint8-from-base64.js","webpack:///nextcloud/node_modules/core-js/internals/uint8-from-hex.js","webpack:///nextcloud/node_modules/core-js/internals/url-constructor-detection.js","webpack:///nextcloud/node_modules/core-js/internals/use-symbol-as-uid.js","webpack:///nextcloud/node_modules/core-js/internals/v8-prototype-define-bug.js","webpack:///nextcloud/node_modules/core-js/internals/validate-arguments-length.js","webpack:///nextcloud/node_modules/core-js/internals/weak-map-basic-detection.js","webpack:///nextcloud/node_modules/core-js/internals/weak-map-helpers.js","webpack:///nextcloud/node_modules/core-js/internals/well-known-symbol-define.js","webpack:///nextcloud/node_modules/core-js/internals/well-known-symbol-wrapped.js","webpack:///nextcloud/node_modules/core-js/internals/well-known-symbol.js","webpack:///nextcloud/node_modules/core-js/internals/whitespaces.js","webpack:///nextcloud/node_modules/core-js/internals/wrap-error-constructor-with-cause.js","webpack:///nextcloud/node_modules/core-js/modules/es.aggregate-error.cause.js","webpack:///nextcloud/node_modules/core-js/modules/es.aggregate-error.constructor.js","webpack:///nextcloud/node_modules/core-js/modules/es.aggregate-error.js","webpack:///nextcloud/node_modules/core-js/modules/es.array-buffer.constructor.js","webpack:///nextcloud/node_modules/core-js/modules/es.array-buffer.detached.js","webpack:///nextcloud/node_modules/core-js/modules/es.array-buffer.is-view.js","webpack:///nextcloud/node_modules/core-js/modules/es.array-buffer.slice.js","webpack:///nextcloud/node_modules/core-js/modules/es.array-buffer.transfer-to-fixed-length.js","webpack:///nextcloud/node_modules/core-js/modules/es.array-buffer.transfer.js","webpack:///nextcloud/node_modules/core-js/modules/es.array.at.js","webpack:///nextcloud/node_modules/core-js/modules/es.array.concat.js","webpack:///nextcloud/node_modules/core-js/modules/es.array.copy-within.js","webpack:///nextcloud/node_modules/core-js/modules/es.array.every.js","webpack:///nextcloud/node_modules/core-js/modules/es.array.fill.js","webpack:///nextcloud/node_modules/core-js/modules/es.array.filter.js","webpack:///nextcloud/node_modules/core-js/modules/es.array.find-index.js","webpack:///nextcloud/node_modules/core-js/modules/es.array.find-last-index.js","webpack:///nextcloud/node_modules/core-js/modules/es.array.find-last.js","webpack:///nextcloud/node_modules/core-js/modules/es.array.find.js","webpack:///nextcloud/node_modules/core-js/modules/es.array.flat-map.js","webpack:///nextcloud/node_modules/core-js/modules/es.array.flat.js","webpack:///nextcloud/node_modules/core-js/modules/es.array.for-each.js","webpack:///nextcloud/node_modules/core-js/modules/es.array.from-async.js","webpack:///nextcloud/node_modules/core-js/modules/es.array.from.js","webpack:///nextcloud/node_modules/core-js/modules/es.array.includes.js","webpack:///nextcloud/node_modules/core-js/modules/es.array.index-of.js","webpack:///nextcloud/node_modules/core-js/modules/es.array.is-array.js","webpack:///nextcloud/node_modules/core-js/modules/es.array.iterator.js","webpack:///nextcloud/node_modules/core-js/modules/es.array.join.js","webpack:///nextcloud/node_modules/core-js/modules/es.array.last-index-of.js","webpack:///nextcloud/node_modules/core-js/modules/es.array.map.js","webpack:///nextcloud/node_modules/core-js/modules/es.array.of.js","webpack:///nextcloud/node_modules/core-js/modules/es.array.push.js","webpack:///nextcloud/node_modules/core-js/modules/es.array.reduce-right.js","webpack:///nextcloud/node_modules/core-js/modules/es.array.reduce.js","webpack:///nextcloud/node_modules/core-js/modules/es.array.reverse.js","webpack:///nextcloud/node_modules/core-js/modules/es.array.slice.js","webpack:///nextcloud/node_modules/core-js/modules/es.array.some.js","webpack:///nextcloud/node_modules/core-js/modules/es.array.sort.js","webpack:///nextcloud/node_modules/core-js/modules/es.array.species.js","webpack:///nextcloud/node_modules/core-js/modules/es.array.splice.js","webpack:///nextcloud/node_modules/core-js/modules/es.array.to-reversed.js","webpack:///nextcloud/node_modules/core-js/modules/es.array.to-sorted.js","webpack:///nextcloud/node_modules/core-js/modules/es.array.to-spliced.js","webpack:///nextcloud/node_modules/core-js/modules/es.array.unscopables.flat-map.js","webpack:///nextcloud/node_modules/core-js/modules/es.array.unscopables.flat.js","webpack:///nextcloud/node_modules/core-js/modules/es.array.unshift.js","webpack:///nextcloud/node_modules/core-js/modules/es.array.with.js","webpack:///nextcloud/node_modules/core-js/modules/es.async-disposable-stack.constructor.js","webpack:///nextcloud/node_modules/core-js/modules/es.async-iterator.async-dispose.js","webpack:///nextcloud/node_modules/core-js/modules/es.data-view.constructor.js","webpack:///nextcloud/node_modules/core-js/modules/es.data-view.get-float16.js","webpack:///nextcloud/node_modules/core-js/modules/es.data-view.js","webpack:///nextcloud/node_modules/core-js/modules/es.data-view.set-float16.js","webpack:///nextcloud/node_modules/core-js/modules/es.date.get-year.js","webpack:///nextcloud/node_modules/core-js/modules/es.date.now.js","webpack:///nextcloud/node_modules/core-js/modules/es.date.set-year.js","webpack:///nextcloud/node_modules/core-js/modules/es.date.to-gmt-string.js","webpack:///nextcloud/node_modules/core-js/modules/es.date.to-iso-string.js","webpack:///nextcloud/node_modules/core-js/modules/es.date.to-json.js","webpack:///nextcloud/node_modules/core-js/modules/es.date.to-primitive.js","webpack:///nextcloud/node_modules/core-js/modules/es.date.to-string.js","webpack:///nextcloud/node_modules/core-js/modules/es.disposable-stack.constructor.js","webpack:///nextcloud/node_modules/core-js/modules/es.error.cause.js","webpack:///nextcloud/node_modules/core-js/modules/es.error.is-error.js","webpack:///nextcloud/node_modules/core-js/modules/es.error.to-string.js","webpack:///nextcloud/node_modules/core-js/modules/es.escape.js","webpack:///nextcloud/node_modules/core-js/modules/es.function.bind.js","webpack:///nextcloud/node_modules/core-js/modules/es.function.has-instance.js","webpack:///nextcloud/node_modules/core-js/modules/es.function.name.js","webpack:///nextcloud/node_modules/core-js/modules/es.global-this.js","webpack:///nextcloud/node_modules/core-js/modules/es.iterator.concat.js","webpack:///nextcloud/node_modules/core-js/modules/es.iterator.constructor.js","webpack:///nextcloud/node_modules/core-js/modules/es.iterator.dispose.js","webpack:///nextcloud/node_modules/core-js/modules/es.iterator.drop.js","webpack:///nextcloud/node_modules/core-js/modules/es.iterator.every.js","webpack:///nextcloud/node_modules/core-js/modules/es.iterator.filter.js","webpack:///nextcloud/node_modules/core-js/modules/es.iterator.find.js","webpack:///nextcloud/node_modules/core-js/modules/es.iterator.flat-map.js","webpack:///nextcloud/node_modules/core-js/modules/es.iterator.for-each.js","webpack:///nextcloud/node_modules/core-js/modules/es.iterator.from.js","webpack:///nextcloud/node_modules/core-js/modules/es.iterator.map.js","webpack:///nextcloud/node_modules/core-js/modules/es.iterator.reduce.js","webpack:///nextcloud/node_modules/core-js/modules/es.iterator.some.js","webpack:///nextcloud/node_modules/core-js/modules/es.iterator.take.js","webpack:///nextcloud/node_modules/core-js/modules/es.iterator.to-array.js","webpack:///nextcloud/node_modules/core-js/modules/es.json.is-raw-json.js","webpack:///nextcloud/node_modules/core-js/modules/es.json.parse.js","webpack:///nextcloud/node_modules/core-js/modules/es.json.raw-json.js","webpack:///nextcloud/node_modules/core-js/modules/es.json.stringify.js","webpack:///nextcloud/node_modules/core-js/modules/es.json.to-string-tag.js","webpack:///nextcloud/node_modules/core-js/modules/es.map.constructor.js","webpack:///nextcloud/node_modules/core-js/modules/es.map.get-or-insert-computed.js","webpack:///nextcloud/node_modules/core-js/modules/es.map.get-or-insert.js","webpack:///nextcloud/node_modules/core-js/modules/es.map.group-by.js","webpack:///nextcloud/node_modules/core-js/modules/es.map.js","webpack:///nextcloud/node_modules/core-js/modules/es.math.acosh.js","webpack:///nextcloud/node_modules/core-js/modules/es.math.asinh.js","webpack:///nextcloud/node_modules/core-js/modules/es.math.atanh.js","webpack:///nextcloud/node_modules/core-js/modules/es.math.cbrt.js","webpack:///nextcloud/node_modules/core-js/modules/es.math.clz32.js","webpack:///nextcloud/node_modules/core-js/modules/es.math.cosh.js","webpack:///nextcloud/node_modules/core-js/modules/es.math.expm1.js","webpack:///nextcloud/node_modules/core-js/modules/es.math.f16round.js","webpack:///nextcloud/node_modules/core-js/modules/es.math.fround.js","webpack:///nextcloud/node_modules/core-js/modules/es.math.hypot.js","webpack:///nextcloud/node_modules/core-js/modules/es.math.imul.js","webpack:///nextcloud/node_modules/core-js/modules/es.math.log10.js","webpack:///nextcloud/node_modules/core-js/modules/es.math.log1p.js","webpack:///nextcloud/node_modules/core-js/modules/es.math.log2.js","webpack:///nextcloud/node_modules/core-js/modules/es.math.sign.js","webpack:///nextcloud/node_modules/core-js/modules/es.math.sinh.js","webpack:///nextcloud/node_modules/core-js/modules/es.math.sum-precise.js","webpack:///nextcloud/node_modules/core-js/modules/es.math.tanh.js","webpack:///nextcloud/node_modules/core-js/modules/es.math.to-string-tag.js","webpack:///nextcloud/node_modules/core-js/modules/es.math.trunc.js","webpack:///nextcloud/node_modules/core-js/modules/es.number.constructor.js","webpack:///nextcloud/node_modules/core-js/modules/es.number.epsilon.js","webpack:///nextcloud/node_modules/core-js/modules/es.number.is-finite.js","webpack:///nextcloud/node_modules/core-js/modules/es.number.is-integer.js","webpack:///nextcloud/node_modules/core-js/modules/es.number.is-nan.js","webpack:///nextcloud/node_modules/core-js/modules/es.number.is-safe-integer.js","webpack:///nextcloud/node_modules/core-js/modules/es.number.max-safe-integer.js","webpack:///nextcloud/node_modules/core-js/modules/es.number.min-safe-integer.js","webpack:///nextcloud/node_modules/core-js/modules/es.number.parse-float.js","webpack:///nextcloud/node_modules/core-js/modules/es.number.parse-int.js","webpack:///nextcloud/node_modules/core-js/modules/es.number.to-exponential.js","webpack:///nextcloud/node_modules/core-js/modules/es.number.to-fixed.js","webpack:///nextcloud/node_modules/core-js/modules/es.number.to-precision.js","webpack:///nextcloud/node_modules/core-js/modules/es.object.assign.js","webpack:///nextcloud/node_modules/core-js/modules/es.object.create.js","webpack:///nextcloud/node_modules/core-js/modules/es.object.define-getter.js","webpack:///nextcloud/node_modules/core-js/modules/es.object.define-properties.js","webpack:///nextcloud/node_modules/core-js/modules/es.object.define-property.js","webpack:///nextcloud/node_modules/core-js/modules/es.object.define-setter.js","webpack:///nextcloud/node_modules/core-js/modules/es.object.entries.js","webpack:///nextcloud/node_modules/core-js/modules/es.object.freeze.js","webpack:///nextcloud/node_modules/core-js/modules/es.object.from-entries.js","webpack:///nextcloud/node_modules/core-js/modules/es.object.get-own-property-descriptor.js","webpack:///nextcloud/node_modules/core-js/modules/es.object.get-own-property-descriptors.js","webpack:///nextcloud/node_modules/core-js/modules/es.object.get-own-property-names.js","webpack:///nextcloud/node_modules/core-js/modules/es.object.get-own-property-symbols.js","webpack:///nextcloud/node_modules/core-js/modules/es.object.get-prototype-of.js","webpack:///nextcloud/node_modules/core-js/modules/es.object.group-by.js","webpack:///nextcloud/node_modules/core-js/modules/es.object.has-own.js","webpack:///nextcloud/node_modules/core-js/modules/es.object.is-extensible.js","webpack:///nextcloud/node_modules/core-js/modules/es.object.is-frozen.js","webpack:///nextcloud/node_modules/core-js/modules/es.object.is-sealed.js","webpack:///nextcloud/node_modules/core-js/modules/es.object.is.js","webpack:///nextcloud/node_modules/core-js/modules/es.object.keys.js","webpack:///nextcloud/node_modules/core-js/modules/es.object.lookup-getter.js","webpack:///nextcloud/node_modules/core-js/modules/es.object.lookup-setter.js","webpack:///nextcloud/node_modules/core-js/modules/es.object.prevent-extensions.js","webpack:///nextcloud/node_modules/core-js/modules/es.object.proto.js","webpack:///nextcloud/node_modules/core-js/modules/es.object.seal.js","webpack:///nextcloud/node_modules/core-js/modules/es.object.set-prototype-of.js","webpack:///nextcloud/node_modules/core-js/modules/es.object.to-string.js","webpack:///nextcloud/node_modules/core-js/modules/es.object.values.js","webpack:///nextcloud/node_modules/core-js/modules/es.parse-float.js","webpack:///nextcloud/node_modules/core-js/modules/es.parse-int.js","webpack:///nextcloud/node_modules/core-js/modules/es.promise.all-settled.js","webpack:///nextcloud/node_modules/core-js/modules/es.promise.all.js","webpack:///nextcloud/node_modules/core-js/modules/es.promise.any.js","webpack:///nextcloud/node_modules/core-js/modules/es.promise.catch.js","webpack:///nextcloud/node_modules/core-js/modules/es.promise.constructor.js","webpack:///nextcloud/node_modules/core-js/modules/es.promise.finally.js","webpack:///nextcloud/node_modules/core-js/modules/es.promise.js","webpack:///nextcloud/node_modules/core-js/modules/es.promise.race.js","webpack:///nextcloud/node_modules/core-js/modules/es.promise.reject.js","webpack:///nextcloud/node_modules/core-js/modules/es.promise.resolve.js","webpack:///nextcloud/node_modules/core-js/modules/es.promise.try.js","webpack:///nextcloud/node_modules/core-js/modules/es.promise.with-resolvers.js","webpack:///nextcloud/node_modules/core-js/modules/es.reflect.apply.js","webpack:///nextcloud/node_modules/core-js/modules/es.reflect.construct.js","webpack:///nextcloud/node_modules/core-js/modules/es.reflect.define-property.js","webpack:///nextcloud/node_modules/core-js/modules/es.reflect.delete-property.js","webpack:///nextcloud/node_modules/core-js/modules/es.reflect.get-own-property-descriptor.js","webpack:///nextcloud/node_modules/core-js/modules/es.reflect.get-prototype-of.js","webpack:///nextcloud/node_modules/core-js/modules/es.reflect.get.js","webpack:///nextcloud/node_modules/core-js/modules/es.reflect.has.js","webpack:///nextcloud/node_modules/core-js/modules/es.reflect.is-extensible.js","webpack:///nextcloud/node_modules/core-js/modules/es.reflect.own-keys.js","webpack:///nextcloud/node_modules/core-js/modules/es.reflect.prevent-extensions.js","webpack:///nextcloud/node_modules/core-js/modules/es.reflect.set-prototype-of.js","webpack:///nextcloud/node_modules/core-js/modules/es.reflect.set.js","webpack:///nextcloud/node_modules/core-js/modules/es.reflect.to-string-tag.js","webpack:///nextcloud/node_modules/core-js/modules/es.regexp.constructor.js","webpack:///nextcloud/node_modules/core-js/modules/es.regexp.dot-all.js","webpack:///nextcloud/node_modules/core-js/modules/es.regexp.escape.js","webpack:///nextcloud/node_modules/core-js/modules/es.regexp.exec.js","webpack:///nextcloud/node_modules/core-js/modules/es.regexp.flags.js","webpack:///nextcloud/node_modules/core-js/modules/es.regexp.sticky.js","webpack:///nextcloud/node_modules/core-js/modules/es.regexp.test.js","webpack:///nextcloud/node_modules/core-js/modules/es.regexp.to-string.js","webpack:///nextcloud/node_modules/core-js/modules/es.set.constructor.js","webpack:///nextcloud/node_modules/core-js/modules/es.set.difference.v2.js","webpack:///nextcloud/node_modules/core-js/modules/es.set.intersection.v2.js","webpack:///nextcloud/node_modules/core-js/modules/es.set.is-disjoint-from.v2.js","webpack:///nextcloud/node_modules/core-js/modules/es.set.is-subset-of.v2.js","webpack:///nextcloud/node_modules/core-js/modules/es.set.is-superset-of.v2.js","webpack:///nextcloud/node_modules/core-js/modules/es.set.js","webpack:///nextcloud/node_modules/core-js/modules/es.set.symmetric-difference.v2.js","webpack:///nextcloud/node_modules/core-js/modules/es.set.union.v2.js","webpack:///nextcloud/node_modules/core-js/modules/es.string.anchor.js","webpack:///nextcloud/node_modules/core-js/modules/es.string.at-alternative.js","webpack:///nextcloud/node_modules/core-js/modules/es.string.big.js","webpack:///nextcloud/node_modules/core-js/modules/es.string.blink.js","webpack:///nextcloud/node_modules/core-js/modules/es.string.bold.js","webpack:///nextcloud/node_modules/core-js/modules/es.string.code-point-at.js","webpack:///nextcloud/node_modules/core-js/modules/es.string.ends-with.js","webpack:///nextcloud/node_modules/core-js/modules/es.string.fixed.js","webpack:///nextcloud/node_modules/core-js/modules/es.string.fontcolor.js","webpack:///nextcloud/node_modules/core-js/modules/es.string.fontsize.js","webpack:///nextcloud/node_modules/core-js/modules/es.string.from-code-point.js","webpack:///nextcloud/node_modules/core-js/modules/es.string.includes.js","webpack:///nextcloud/node_modules/core-js/modules/es.string.is-well-formed.js","webpack:///nextcloud/node_modules/core-js/modules/es.string.italics.js","webpack:///nextcloud/node_modules/core-js/modules/es.string.iterator.js","webpack:///nextcloud/node_modules/core-js/modules/es.string.link.js","webpack:///nextcloud/node_modules/core-js/modules/es.string.match-all.js","webpack:///nextcloud/node_modules/core-js/modules/es.string.match.js","webpack:///nextcloud/node_modules/core-js/modules/es.string.pad-end.js","webpack:///nextcloud/node_modules/core-js/modules/es.string.pad-start.js","webpack:///nextcloud/node_modules/core-js/modules/es.string.raw.js","webpack:///nextcloud/node_modules/core-js/modules/es.string.repeat.js","webpack:///nextcloud/node_modules/core-js/modules/es.string.replace-all.js","webpack:///nextcloud/node_modules/core-js/modules/es.string.replace.js","webpack:///nextcloud/node_modules/core-js/modules/es.string.search.js","webpack:///nextcloud/node_modules/core-js/modules/es.string.small.js","webpack:///nextcloud/node_modules/core-js/modules/es.string.split.js","webpack:///nextcloud/node_modules/core-js/modules/es.string.starts-with.js","webpack:///nextcloud/node_modules/core-js/modules/es.string.strike.js","webpack:///nextcloud/node_modules/core-js/modules/es.string.sub.js","webpack:///nextcloud/node_modules/core-js/modules/es.string.substr.js","webpack:///nextcloud/node_modules/core-js/modules/es.string.sup.js","webpack:///nextcloud/node_modules/core-js/modules/es.string.to-well-formed.js","webpack:///nextcloud/node_modules/core-js/modules/es.string.trim-end.js","webpack:///nextcloud/node_modules/core-js/modules/es.string.trim-left.js","webpack:///nextcloud/node_modules/core-js/modules/es.string.trim-right.js","webpack:///nextcloud/node_modules/core-js/modules/es.string.trim-start.js","webpack:///nextcloud/node_modules/core-js/modules/es.string.trim.js","webpack:///nextcloud/node_modules/core-js/modules/es.suppressed-error.constructor.js","webpack:///nextcloud/node_modules/core-js/modules/es.symbol.async-dispose.js","webpack:///nextcloud/node_modules/core-js/modules/es.symbol.async-iterator.js","webpack:///nextcloud/node_modules/core-js/modules/es.symbol.constructor.js","webpack:///nextcloud/node_modules/core-js/modules/es.symbol.description.js","webpack:///nextcloud/node_modules/core-js/modules/es.symbol.dispose.js","webpack:///nextcloud/node_modules/core-js/modules/es.symbol.for.js","webpack:///nextcloud/node_modules/core-js/modules/es.symbol.has-instance.js","webpack:///nextcloud/node_modules/core-js/modules/es.symbol.is-concat-spreadable.js","webpack:///nextcloud/node_modules/core-js/modules/es.symbol.iterator.js","webpack:///nextcloud/node_modules/core-js/modules/es.symbol.js","webpack:///nextcloud/node_modules/core-js/modules/es.symbol.key-for.js","webpack:///nextcloud/node_modules/core-js/modules/es.symbol.match-all.js","webpack:///nextcloud/node_modules/core-js/modules/es.symbol.match.js","webpack:///nextcloud/node_modules/core-js/modules/es.symbol.replace.js","webpack:///nextcloud/node_modules/core-js/modules/es.symbol.search.js","webpack:///nextcloud/node_modules/core-js/modules/es.symbol.species.js","webpack:///nextcloud/node_modules/core-js/modules/es.symbol.split.js","webpack:///nextcloud/node_modules/core-js/modules/es.symbol.to-primitive.js","webpack:///nextcloud/node_modules/core-js/modules/es.symbol.to-string-tag.js","webpack:///nextcloud/node_modules/core-js/modules/es.symbol.unscopables.js","webpack:///nextcloud/node_modules/core-js/modules/es.typed-array.at.js","webpack:///nextcloud/node_modules/core-js/modules/es.typed-array.copy-within.js","webpack:///nextcloud/node_modules/core-js/modules/es.typed-array.every.js","webpack:///nextcloud/node_modules/core-js/modules/es.typed-array.fill.js","webpack:///nextcloud/node_modules/core-js/modules/es.typed-array.filter.js","webpack:///nextcloud/node_modules/core-js/modules/es.typed-array.find-index.js","webpack:///nextcloud/node_modules/core-js/modules/es.typed-array.find-last-index.js","webpack:///nextcloud/node_modules/core-js/modules/es.typed-array.find-last.js","webpack:///nextcloud/node_modules/core-js/modules/es.typed-array.find.js","webpack:///nextcloud/node_modules/core-js/modules/es.typed-array.float32-array.js","webpack:///nextcloud/node_modules/core-js/modules/es.typed-array.float64-array.js","webpack:///nextcloud/node_modules/core-js/modules/es.typed-array.for-each.js","webpack:///nextcloud/node_modules/core-js/modules/es.typed-array.from.js","webpack:///nextcloud/node_modules/core-js/modules/es.typed-array.includes.js","webpack:///nextcloud/node_modules/core-js/modules/es.typed-array.index-of.js","webpack:///nextcloud/node_modules/core-js/modules/es.typed-array.int16-array.js","webpack:///nextcloud/node_modules/core-js/modules/es.typed-array.int32-array.js","webpack:///nextcloud/node_modules/core-js/modules/es.typed-array.int8-array.js","webpack:///nextcloud/node_modules/core-js/modules/es.typed-array.iterator.js","webpack:///nextcloud/node_modules/core-js/modules/es.typed-array.join.js","webpack:///nextcloud/node_modules/core-js/modules/es.typed-array.last-index-of.js","webpack:///nextcloud/node_modules/core-js/modules/es.typed-array.map.js","webpack:///nextcloud/node_modules/core-js/modules/es.typed-array.of.js","webpack:///nextcloud/node_modules/core-js/modules/es.typed-array.reduce-right.js","webpack:///nextcloud/node_modules/core-js/modules/es.typed-array.reduce.js","webpack:///nextcloud/node_modules/core-js/modules/es.typed-array.reverse.js","webpack:///nextcloud/node_modules/core-js/modules/es.typed-array.set.js","webpack:///nextcloud/node_modules/core-js/modules/es.typed-array.slice.js","webpack:///nextcloud/node_modules/core-js/modules/es.typed-array.some.js","webpack:///nextcloud/node_modules/core-js/modules/es.typed-array.sort.js","webpack:///nextcloud/node_modules/core-js/modules/es.typed-array.subarray.js","webpack:///nextcloud/node_modules/core-js/modules/es.typed-array.to-locale-string.js","webpack:///nextcloud/node_modules/core-js/modules/es.typed-array.to-reversed.js","webpack:///nextcloud/node_modules/core-js/modules/es.typed-array.to-sorted.js","webpack:///nextcloud/node_modules/core-js/modules/es.typed-array.to-string.js","webpack:///nextcloud/node_modules/core-js/modules/es.typed-array.uint16-array.js","webpack:///nextcloud/node_modules/core-js/modules/es.typed-array.uint32-array.js","webpack:///nextcloud/node_modules/core-js/modules/es.typed-array.uint8-array.js","webpack:///nextcloud/node_modules/core-js/modules/es.typed-array.uint8-clamped-array.js","webpack:///nextcloud/node_modules/core-js/modules/es.typed-array.with.js","webpack:///nextcloud/node_modules/core-js/modules/es.uint8-array.from-base64.js","webpack:///nextcloud/node_modules/core-js/modules/es.uint8-array.from-hex.js","webpack:///nextcloud/node_modules/core-js/modules/es.uint8-array.set-from-base64.js","webpack:///nextcloud/node_modules/core-js/modules/es.uint8-array.set-from-hex.js","webpack:///nextcloud/node_modules/core-js/modules/es.uint8-array.to-base64.js","webpack:///nextcloud/node_modules/core-js/modules/es.uint8-array.to-hex.js","webpack:///nextcloud/node_modules/core-js/modules/es.unescape.js","webpack:///nextcloud/node_modules/core-js/modules/es.weak-map.constructor.js","webpack:///nextcloud/node_modules/core-js/modules/es.weak-map.get-or-insert-computed.js","webpack:///nextcloud/node_modules/core-js/modules/es.weak-map.get-or-insert.js","webpack:///nextcloud/node_modules/core-js/modules/es.weak-map.js","webpack:///nextcloud/node_modules/core-js/modules/es.weak-set.constructor.js","webpack:///nextcloud/node_modules/core-js/modules/es.weak-set.js","webpack:///nextcloud/node_modules/core-js/modules/web.atob.js","webpack:///nextcloud/node_modules/core-js/modules/web.btoa.js","webpack:///nextcloud/node_modules/core-js/modules/web.clear-immediate.js","webpack:///nextcloud/node_modules/core-js/modules/web.dom-collections.for-each.js","webpack:///nextcloud/node_modules/core-js/modules/web.dom-collections.iterator.js","webpack:///nextcloud/node_modules/core-js/modules/web.dom-exception.constructor.js","webpack:///nextcloud/node_modules/core-js/modules/web.dom-exception.stack.js","webpack:///nextcloud/node_modules/core-js/modules/web.dom-exception.to-string-tag.js","webpack:///nextcloud/node_modules/core-js/modules/web.immediate.js","webpack:///nextcloud/node_modules/core-js/modules/web.queue-microtask.js","webpack:///nextcloud/node_modules/core-js/modules/web.self.js","webpack:///nextcloud/node_modules/core-js/modules/web.set-immediate.js","webpack:///nextcloud/node_modules/core-js/modules/web.set-interval.js","webpack:///nextcloud/node_modules/core-js/modules/web.set-timeout.js","webpack:///nextcloud/node_modules/core-js/modules/web.structured-clone.js","webpack:///nextcloud/node_modules/core-js/modules/web.timers.js","webpack:///nextcloud/node_modules/core-js/modules/web.url-search-params.constructor.js","webpack:///nextcloud/node_modules/core-js/modules/web.url-search-params.delete.js","webpack:///nextcloud/node_modules/core-js/modules/web.url-search-params.has.js","webpack:///nextcloud/node_modules/core-js/modules/web.url-search-params.js","webpack:///nextcloud/node_modules/core-js/modules/web.url-search-params.size.js","webpack:///nextcloud/node_modules/core-js/modules/web.url.can-parse.js","webpack:///nextcloud/node_modules/core-js/modules/web.url.constructor.js","webpack:///nextcloud/node_modules/core-js/modules/web.url.js","webpack:///nextcloud/node_modules/core-js/modules/web.url.parse.js","webpack:///nextcloud/node_modules/core-js/modules/web.url.to-json.js","webpack:///nextcloud/node_modules/core-js/stable/index.js","webpack:///nextcloud/webpack/bootstrap","webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/webpack/runtime/load script","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 asn1 = exports;\n\nasn1.bignum = require('bn.js');\n\nasn1.define = require('./asn1/api').define;\nasn1.base = require('./asn1/base');\nasn1.constants = require('./asn1/constants');\nasn1.decoders = require('./asn1/decoders');\nasn1.encoders = require('./asn1/encoders');\n","var asn1 = require('../asn1');\nvar inherits = require('inherits');\n\nvar api = exports;\n\napi.define = function define(name, body) {\n return new Entity(name, body);\n};\n\nfunction Entity(name, body) {\n this.name = name;\n this.body = body;\n\n this.decoders = {};\n this.encoders = {};\n};\n\nEntity.prototype._createNamed = function createNamed(base) {\n var named;\n try {\n named = require('vm').runInThisContext(\n '(function ' + this.name + '(entity) {\\n' +\n ' this._initNamed(entity);\\n' +\n '})'\n );\n } catch (e) {\n named = function (entity) {\n this._initNamed(entity);\n };\n }\n inherits(named, base);\n named.prototype._initNamed = function initnamed(entity) {\n base.call(this, entity);\n };\n\n return new named(this);\n};\n\nEntity.prototype._getDecoder = function _getDecoder(enc) {\n enc = enc || 'der';\n // Lazily create decoder\n if (!this.decoders.hasOwnProperty(enc))\n this.decoders[enc] = this._createNamed(asn1.decoders[enc]);\n return this.decoders[enc];\n};\n\nEntity.prototype.decode = function decode(data, enc, options) {\n return this._getDecoder(enc).decode(data, options);\n};\n\nEntity.prototype._getEncoder = function _getEncoder(enc) {\n enc = enc || 'der';\n // Lazily create encoder\n if (!this.encoders.hasOwnProperty(enc))\n this.encoders[enc] = this._createNamed(asn1.encoders[enc]);\n return this.encoders[enc];\n};\n\nEntity.prototype.encode = function encode(data, enc, /* internal */ reporter) {\n return this._getEncoder(enc).encode(data, reporter);\n};\n","var inherits = require('inherits');\nvar Reporter = require('../base').Reporter;\nvar Buffer = require('buffer').Buffer;\n\nfunction DecoderBuffer(base, options) {\n Reporter.call(this, options);\n if (!Buffer.isBuffer(base)) {\n this.error('Input not Buffer');\n return;\n }\n\n this.base = base;\n this.offset = 0;\n this.length = base.length;\n}\ninherits(DecoderBuffer, Reporter);\nexports.DecoderBuffer = DecoderBuffer;\n\nDecoderBuffer.prototype.save = function save() {\n return { offset: this.offset, reporter: Reporter.prototype.save.call(this) };\n};\n\nDecoderBuffer.prototype.restore = function restore(save) {\n // Return skipped data\n var res = new DecoderBuffer(this.base);\n res.offset = save.offset;\n res.length = this.offset;\n\n this.offset = save.offset;\n Reporter.prototype.restore.call(this, save.reporter);\n\n return res;\n};\n\nDecoderBuffer.prototype.isEmpty = function isEmpty() {\n return this.offset === this.length;\n};\n\nDecoderBuffer.prototype.readUInt8 = function readUInt8(fail) {\n if (this.offset + 1 <= this.length)\n return this.base.readUInt8(this.offset++, true);\n else\n return this.error(fail || 'DecoderBuffer overrun');\n}\n\nDecoderBuffer.prototype.skip = function skip(bytes, fail) {\n if (!(this.offset + bytes <= this.length))\n return this.error(fail || 'DecoderBuffer overrun');\n\n var res = new DecoderBuffer(this.base);\n\n // Share reporter state\n res._reporterState = this._reporterState;\n\n res.offset = this.offset;\n res.length = this.offset + bytes;\n this.offset += bytes;\n return res;\n}\n\nDecoderBuffer.prototype.raw = function raw(save) {\n return this.base.slice(save ? save.offset : this.offset, this.length);\n}\n\nfunction EncoderBuffer(value, reporter) {\n if (Array.isArray(value)) {\n this.length = 0;\n this.value = value.map(function(item) {\n if (!(item instanceof EncoderBuffer))\n item = new EncoderBuffer(item, reporter);\n this.length += item.length;\n return item;\n }, this);\n } else if (typeof value === 'number') {\n if (!(0 <= value && value <= 0xff))\n return reporter.error('non-byte EncoderBuffer value');\n this.value = value;\n this.length = 1;\n } else if (typeof value === 'string') {\n this.value = value;\n this.length = Buffer.byteLength(value);\n } else if (Buffer.isBuffer(value)) {\n this.value = value;\n this.length = value.length;\n } else {\n return reporter.error('Unsupported type: ' + typeof value);\n }\n}\nexports.EncoderBuffer = EncoderBuffer;\n\nEncoderBuffer.prototype.join = function join(out, offset) {\n if (!out)\n out = new Buffer(this.length);\n if (!offset)\n offset = 0;\n\n if (this.length === 0)\n return out;\n\n if (Array.isArray(this.value)) {\n this.value.forEach(function(item) {\n item.join(out, offset);\n offset += item.length;\n });\n } else {\n if (typeof this.value === 'number')\n out[offset] = this.value;\n else if (typeof this.value === 'string')\n out.write(this.value, offset);\n else if (Buffer.isBuffer(this.value))\n this.value.copy(out, offset);\n offset += this.length;\n }\n\n return out;\n};\n","var base = exports;\n\nbase.Reporter = require('./reporter').Reporter;\nbase.DecoderBuffer = require('./buffer').DecoderBuffer;\nbase.EncoderBuffer = require('./buffer').EncoderBuffer;\nbase.Node = require('./node');\n","var Reporter = require('../base').Reporter;\nvar EncoderBuffer = require('../base').EncoderBuffer;\nvar DecoderBuffer = require('../base').DecoderBuffer;\nvar assert = require('minimalistic-assert');\n\n// Supported tags\nvar tags = [\n 'seq', 'seqof', 'set', 'setof', 'objid', 'bool',\n 'gentime', 'utctime', 'null_', 'enum', 'int', 'objDesc',\n 'bitstr', 'bmpstr', 'charstr', 'genstr', 'graphstr', 'ia5str', 'iso646str',\n 'numstr', 'octstr', 'printstr', 't61str', 'unistr', 'utf8str', 'videostr'\n];\n\n// Public methods list\nvar methods = [\n 'key', 'obj', 'use', 'optional', 'explicit', 'implicit', 'def', 'choice',\n 'any', 'contains'\n].concat(tags);\n\n// Overrided methods list\nvar overrided = [\n '_peekTag', '_decodeTag', '_use',\n '_decodeStr', '_decodeObjid', '_decodeTime',\n '_decodeNull', '_decodeInt', '_decodeBool', '_decodeList',\n\n '_encodeComposite', '_encodeStr', '_encodeObjid', '_encodeTime',\n '_encodeNull', '_encodeInt', '_encodeBool'\n];\n\nfunction Node(enc, parent) {\n var state = {};\n this._baseState = state;\n\n state.enc = enc;\n\n state.parent = parent || null;\n state.children = null;\n\n // State\n state.tag = null;\n state.args = null;\n state.reverseArgs = null;\n state.choice = null;\n state.optional = false;\n state.any = false;\n state.obj = false;\n state.use = null;\n state.useDecoder = null;\n state.key = null;\n state['default'] = null;\n state.explicit = null;\n state.implicit = null;\n state.contains = null;\n\n // Should create new instance on each method\n if (!state.parent) {\n state.children = [];\n this._wrap();\n }\n}\nmodule.exports = Node;\n\nvar stateProps = [\n 'enc', 'parent', 'children', 'tag', 'args', 'reverseArgs', 'choice',\n 'optional', 'any', 'obj', 'use', 'alteredUse', 'key', 'default', 'explicit',\n 'implicit', 'contains'\n];\n\nNode.prototype.clone = function clone() {\n var state = this._baseState;\n var cstate = {};\n stateProps.forEach(function(prop) {\n cstate[prop] = state[prop];\n });\n var res = new this.constructor(cstate.parent);\n res._baseState = cstate;\n return res;\n};\n\nNode.prototype._wrap = function wrap() {\n var state = this._baseState;\n methods.forEach(function(method) {\n this[method] = function _wrappedMethod() {\n var clone = new this.constructor(this);\n state.children.push(clone);\n return clone[method].apply(clone, arguments);\n };\n }, this);\n};\n\nNode.prototype._init = function init(body) {\n var state = this._baseState;\n\n assert(state.parent === null);\n body.call(this);\n\n // Filter children\n state.children = state.children.filter(function(child) {\n return child._baseState.parent === this;\n }, this);\n assert.equal(state.children.length, 1, 'Root node can have only one child');\n};\n\nNode.prototype._useArgs = function useArgs(args) {\n var state = this._baseState;\n\n // Filter children and args\n var children = args.filter(function(arg) {\n return arg instanceof this.constructor;\n }, this);\n args = args.filter(function(arg) {\n return !(arg instanceof this.constructor);\n }, this);\n\n if (children.length !== 0) {\n assert(state.children === null);\n state.children = children;\n\n // Replace parent to maintain backward link\n children.forEach(function(child) {\n child._baseState.parent = this;\n }, this);\n }\n if (args.length !== 0) {\n assert(state.args === null);\n state.args = args;\n state.reverseArgs = args.map(function(arg) {\n if (typeof arg !== 'object' || arg.constructor !== Object)\n return arg;\n\n var res = {};\n Object.keys(arg).forEach(function(key) {\n if (key == (key | 0))\n key |= 0;\n var value = arg[key];\n res[value] = key;\n });\n return res;\n });\n }\n};\n\n//\n// Overrided methods\n//\n\noverrided.forEach(function(method) {\n Node.prototype[method] = function _overrided() {\n var state = this._baseState;\n throw new Error(method + ' not implemented for encoding: ' + state.enc);\n };\n});\n\n//\n// Public methods\n//\n\ntags.forEach(function(tag) {\n Node.prototype[tag] = function _tagMethod() {\n var state = this._baseState;\n var args = Array.prototype.slice.call(arguments);\n\n assert(state.tag === null);\n state.tag = tag;\n\n this._useArgs(args);\n\n return this;\n };\n});\n\nNode.prototype.use = function use(item) {\n assert(item);\n var state = this._baseState;\n\n assert(state.use === null);\n state.use = item;\n\n return this;\n};\n\nNode.prototype.optional = function optional() {\n var state = this._baseState;\n\n state.optional = true;\n\n return this;\n};\n\nNode.prototype.def = function def(val) {\n var state = this._baseState;\n\n assert(state['default'] === null);\n state['default'] = val;\n state.optional = true;\n\n return this;\n};\n\nNode.prototype.explicit = function explicit(num) {\n var state = this._baseState;\n\n assert(state.explicit === null && state.implicit === null);\n state.explicit = num;\n\n return this;\n};\n\nNode.prototype.implicit = function implicit(num) {\n var state = this._baseState;\n\n assert(state.explicit === null && state.implicit === null);\n state.implicit = num;\n\n return this;\n};\n\nNode.prototype.obj = function obj() {\n var state = this._baseState;\n var args = Array.prototype.slice.call(arguments);\n\n state.obj = true;\n\n if (args.length !== 0)\n this._useArgs(args);\n\n return this;\n};\n\nNode.prototype.key = function key(newKey) {\n var state = this._baseState;\n\n assert(state.key === null);\n state.key = newKey;\n\n return this;\n};\n\nNode.prototype.any = function any() {\n var state = this._baseState;\n\n state.any = true;\n\n return this;\n};\n\nNode.prototype.choice = function choice(obj) {\n var state = this._baseState;\n\n assert(state.choice === null);\n state.choice = obj;\n this._useArgs(Object.keys(obj).map(function(key) {\n return obj[key];\n }));\n\n return this;\n};\n\nNode.prototype.contains = function contains(item) {\n var state = this._baseState;\n\n assert(state.use === null);\n state.contains = item;\n\n return this;\n};\n\n//\n// Decoding\n//\n\nNode.prototype._decode = function decode(input, options) {\n var state = this._baseState;\n\n // Decode root node\n if (state.parent === null)\n return input.wrapResult(state.children[0]._decode(input, options));\n\n var result = state['default'];\n var present = true;\n\n var prevKey = null;\n if (state.key !== null)\n prevKey = input.enterKey(state.key);\n\n // Check if tag is there\n if (state.optional) {\n var tag = null;\n if (state.explicit !== null)\n tag = state.explicit;\n else if (state.implicit !== null)\n tag = state.implicit;\n else if (state.tag !== null)\n tag = state.tag;\n\n if (tag === null && !state.any) {\n // Trial and Error\n var save = input.save();\n try {\n if (state.choice === null)\n this._decodeGeneric(state.tag, input, options);\n else\n this._decodeChoice(input, options);\n present = true;\n } catch (e) {\n present = false;\n }\n input.restore(save);\n } else {\n present = this._peekTag(input, tag, state.any);\n\n if (input.isError(present))\n return present;\n }\n }\n\n // Push object on stack\n var prevObj;\n if (state.obj && present)\n prevObj = input.enterObject();\n\n if (present) {\n // Unwrap explicit values\n if (state.explicit !== null) {\n var explicit = this._decodeTag(input, state.explicit);\n if (input.isError(explicit))\n return explicit;\n input = explicit;\n }\n\n var start = input.offset;\n\n // Unwrap implicit and normal values\n if (state.use === null && state.choice === null) {\n if (state.any)\n var save = input.save();\n var body = this._decodeTag(\n input,\n state.implicit !== null ? state.implicit : state.tag,\n state.any\n );\n if (input.isError(body))\n return body;\n\n if (state.any)\n result = input.raw(save);\n else\n input = body;\n }\n\n if (options && options.track && state.tag !== null)\n options.track(input.path(), start, input.length, 'tagged');\n\n if (options && options.track && state.tag !== null)\n options.track(input.path(), input.offset, input.length, 'content');\n\n // Select proper method for tag\n if (state.any)\n result = result;\n else if (state.choice === null)\n result = this._decodeGeneric(state.tag, input, options);\n else\n result = this._decodeChoice(input, options);\n\n if (input.isError(result))\n return result;\n\n // Decode children\n if (!state.any && state.choice === null && state.children !== null) {\n state.children.forEach(function decodeChildren(child) {\n // NOTE: We are ignoring errors here, to let parser continue with other\n // parts of encoded data\n child._decode(input, options);\n });\n }\n\n // Decode contained/encoded by schema, only in bit or octet strings\n if (state.contains && (state.tag === 'octstr' || state.tag === 'bitstr')) {\n var data = new DecoderBuffer(result);\n result = this._getUse(state.contains, input._reporterState.obj)\n ._decode(data, options);\n }\n }\n\n // Pop object\n if (state.obj && present)\n result = input.leaveObject(prevObj);\n\n // Set key\n if (state.key !== null && (result !== null || present === true))\n input.leaveKey(prevKey, state.key, result);\n else if (prevKey !== null)\n input.exitKey(prevKey);\n\n return result;\n};\n\nNode.prototype._decodeGeneric = function decodeGeneric(tag, input, options) {\n var state = this._baseState;\n\n if (tag === 'seq' || tag === 'set')\n return null;\n if (tag === 'seqof' || tag === 'setof')\n return this._decodeList(input, tag, state.args[0], options);\n else if (/str$/.test(tag))\n return this._decodeStr(input, tag, options);\n else if (tag === 'objid' && state.args)\n return this._decodeObjid(input, state.args[0], state.args[1], options);\n else if (tag === 'objid')\n return this._decodeObjid(input, null, null, options);\n else if (tag === 'gentime' || tag === 'utctime')\n return this._decodeTime(input, tag, options);\n else if (tag === 'null_')\n return this._decodeNull(input, options);\n else if (tag === 'bool')\n return this._decodeBool(input, options);\n else if (tag === 'objDesc')\n return this._decodeStr(input, tag, options);\n else if (tag === 'int' || tag === 'enum')\n return this._decodeInt(input, state.args && state.args[0], options);\n\n if (state.use !== null) {\n return this._getUse(state.use, input._reporterState.obj)\n ._decode(input, options);\n } else {\n return input.error('unknown tag: ' + tag);\n }\n};\n\nNode.prototype._getUse = function _getUse(entity, obj) {\n\n var state = this._baseState;\n // Create altered use decoder if implicit is set\n state.useDecoder = this._use(entity, obj);\n assert(state.useDecoder._baseState.parent === null);\n state.useDecoder = state.useDecoder._baseState.children[0];\n if (state.implicit !== state.useDecoder._baseState.implicit) {\n state.useDecoder = state.useDecoder.clone();\n state.useDecoder._baseState.implicit = state.implicit;\n }\n return state.useDecoder;\n};\n\nNode.prototype._decodeChoice = function decodeChoice(input, options) {\n var state = this._baseState;\n var result = null;\n var match = false;\n\n Object.keys(state.choice).some(function(key) {\n var save = input.save();\n var node = state.choice[key];\n try {\n var value = node._decode(input, options);\n if (input.isError(value))\n return false;\n\n result = { type: key, value: value };\n match = true;\n } catch (e) {\n input.restore(save);\n return false;\n }\n return true;\n }, this);\n\n if (!match)\n return input.error('Choice not matched');\n\n return result;\n};\n\n//\n// Encoding\n//\n\nNode.prototype._createEncoderBuffer = function createEncoderBuffer(data) {\n return new EncoderBuffer(data, this.reporter);\n};\n\nNode.prototype._encode = function encode(data, reporter, parent) {\n var state = this._baseState;\n if (state['default'] !== null && state['default'] === data)\n return;\n\n var result = this._encodeValue(data, reporter, parent);\n if (result === undefined)\n return;\n\n if (this._skipDefault(result, reporter, parent))\n return;\n\n return result;\n};\n\nNode.prototype._encodeValue = function encode(data, reporter, parent) {\n var state = this._baseState;\n\n // Decode root node\n if (state.parent === null)\n return state.children[0]._encode(data, reporter || new Reporter());\n\n var result = null;\n\n // Set reporter to share it with a child class\n this.reporter = reporter;\n\n // Check if data is there\n if (state.optional && data === undefined) {\n if (state['default'] !== null)\n data = state['default']\n else\n return;\n }\n\n // Encode children first\n var content = null;\n var primitive = false;\n if (state.any) {\n // Anything that was given is translated to buffer\n result = this._createEncoderBuffer(data);\n } else if (state.choice) {\n result = this._encodeChoice(data, reporter);\n } else if (state.contains) {\n content = this._getUse(state.contains, parent)._encode(data, reporter);\n primitive = true;\n } else if (state.children) {\n content = state.children.map(function(child) {\n if (child._baseState.tag === 'null_')\n return child._encode(null, reporter, data);\n\n if (child._baseState.key === null)\n return reporter.error('Child should have a key');\n var prevKey = reporter.enterKey(child._baseState.key);\n\n if (typeof data !== 'object')\n return reporter.error('Child expected, but input is not object');\n\n var res = child._encode(data[child._baseState.key], reporter, data);\n reporter.leaveKey(prevKey);\n\n return res;\n }, this).filter(function(child) {\n return child;\n });\n content = this._createEncoderBuffer(content);\n } else {\n if (state.tag === 'seqof' || state.tag === 'setof') {\n // TODO(indutny): this should be thrown on DSL level\n if (!(state.args && state.args.length === 1))\n return reporter.error('Too many args for : ' + state.tag);\n\n if (!Array.isArray(data))\n return reporter.error('seqof/setof, but data is not Array');\n\n var child = this.clone();\n child._baseState.implicit = null;\n content = this._createEncoderBuffer(data.map(function(item) {\n var state = this._baseState;\n\n return this._getUse(state.args[0], data)._encode(item, reporter);\n }, child));\n } else if (state.use !== null) {\n result = this._getUse(state.use, parent)._encode(data, reporter);\n } else {\n content = this._encodePrimitive(state.tag, data);\n primitive = true;\n }\n }\n\n // Encode data itself\n var result;\n if (!state.any && state.choice === null) {\n var tag = state.implicit !== null ? state.implicit : state.tag;\n var cls = state.implicit === null ? 'universal' : 'context';\n\n if (tag === null) {\n if (state.use === null)\n reporter.error('Tag could be omitted only for .use()');\n } else {\n if (state.use === null)\n result = this._encodeComposite(tag, primitive, cls, content);\n }\n }\n\n // Wrap in explicit\n if (state.explicit !== null)\n result = this._encodeComposite(state.explicit, false, 'context', result);\n\n return result;\n};\n\nNode.prototype._encodeChoice = function encodeChoice(data, reporter) {\n var state = this._baseState;\n\n var node = state.choice[data.type];\n if (!node) {\n assert(\n false,\n data.type + ' not found in ' +\n JSON.stringify(Object.keys(state.choice)));\n }\n return node._encode(data.value, reporter);\n};\n\nNode.prototype._encodePrimitive = function encodePrimitive(tag, data) {\n var state = this._baseState;\n\n if (/str$/.test(tag))\n return this._encodeStr(data, tag);\n else if (tag === 'objid' && state.args)\n return this._encodeObjid(data, state.reverseArgs[0], state.args[1]);\n else if (tag === 'objid')\n return this._encodeObjid(data, null, null);\n else if (tag === 'gentime' || tag === 'utctime')\n return this._encodeTime(data, tag);\n else if (tag === 'null_')\n return this._encodeNull();\n else if (tag === 'int' || tag === 'enum')\n return this._encodeInt(data, state.args && state.reverseArgs[0]);\n else if (tag === 'bool')\n return this._encodeBool(data);\n else if (tag === 'objDesc')\n return this._encodeStr(data, tag);\n else\n throw new Error('Unsupported tag: ' + tag);\n};\n\nNode.prototype._isNumstr = function isNumstr(str) {\n return /^[0-9 ]*$/.test(str);\n};\n\nNode.prototype._isPrintstr = function isPrintstr(str) {\n return /^[A-Za-z0-9 '\\(\\)\\+,\\-\\.\\/:=\\?]*$/.test(str);\n};\n","var inherits = require('inherits');\n\nfunction Reporter(options) {\n this._reporterState = {\n obj: null,\n path: [],\n options: options || {},\n errors: []\n };\n}\nexports.Reporter = Reporter;\n\nReporter.prototype.isError = function isError(obj) {\n return obj instanceof ReporterError;\n};\n\nReporter.prototype.save = function save() {\n var state = this._reporterState;\n\n return { obj: state.obj, pathLen: state.path.length };\n};\n\nReporter.prototype.restore = function restore(data) {\n var state = this._reporterState;\n\n state.obj = data.obj;\n state.path = state.path.slice(0, data.pathLen);\n};\n\nReporter.prototype.enterKey = function enterKey(key) {\n return this._reporterState.path.push(key);\n};\n\nReporter.prototype.exitKey = function exitKey(index) {\n var state = this._reporterState;\n\n state.path = state.path.slice(0, index - 1);\n};\n\nReporter.prototype.leaveKey = function leaveKey(index, key, value) {\n var state = this._reporterState;\n\n this.exitKey(index);\n if (state.obj !== null)\n state.obj[key] = value;\n};\n\nReporter.prototype.path = function path() {\n return this._reporterState.path.join('/');\n};\n\nReporter.prototype.enterObject = function enterObject() {\n var state = this._reporterState;\n\n var prev = state.obj;\n state.obj = {};\n return prev;\n};\n\nReporter.prototype.leaveObject = function leaveObject(prev) {\n var state = this._reporterState;\n\n var now = state.obj;\n state.obj = prev;\n return now;\n};\n\nReporter.prototype.error = function error(msg) {\n var err;\n var state = this._reporterState;\n\n var inherited = msg instanceof ReporterError;\n if (inherited) {\n err = msg;\n } else {\n err = new ReporterError(state.path.map(function(elem) {\n return '[' + JSON.stringify(elem) + ']';\n }).join(''), msg.message || msg, msg.stack);\n }\n\n if (!state.options.partial)\n throw err;\n\n if (!inherited)\n state.errors.push(err);\n\n return err;\n};\n\nReporter.prototype.wrapResult = function wrapResult(result) {\n var state = this._reporterState;\n if (!state.options.partial)\n return result;\n\n return {\n result: this.isError(result) ? null : result,\n errors: state.errors\n };\n};\n\nfunction ReporterError(path, msg) {\n this.path = path;\n this.rethrow(msg);\n};\ninherits(ReporterError, Error);\n\nReporterError.prototype.rethrow = function rethrow(msg) {\n this.message = msg + ' at: ' + (this.path || '(shallow)');\n if (Error.captureStackTrace)\n Error.captureStackTrace(this, ReporterError);\n\n if (!this.stack) {\n try {\n // IE only adds stack when thrown\n throw new Error(this.message);\n } catch (e) {\n this.stack = e.stack;\n }\n }\n return this;\n};\n","var constants = require('../constants');\n\nexports.tagClass = {\n 0: 'universal',\n 1: 'application',\n 2: 'context',\n 3: 'private'\n};\nexports.tagClassByName = constants._reverse(exports.tagClass);\n\nexports.tag = {\n 0x00: 'end',\n 0x01: 'bool',\n 0x02: 'int',\n 0x03: 'bitstr',\n 0x04: 'octstr',\n 0x05: 'null_',\n 0x06: 'objid',\n 0x07: 'objDesc',\n 0x08: 'external',\n 0x09: 'real',\n 0x0a: 'enum',\n 0x0b: 'embed',\n 0x0c: 'utf8str',\n 0x0d: 'relativeOid',\n 0x10: 'seq',\n 0x11: 'set',\n 0x12: 'numstr',\n 0x13: 'printstr',\n 0x14: 't61str',\n 0x15: 'videostr',\n 0x16: 'ia5str',\n 0x17: 'utctime',\n 0x18: 'gentime',\n 0x19: 'graphstr',\n 0x1a: 'iso646str',\n 0x1b: 'genstr',\n 0x1c: 'unistr',\n 0x1d: 'charstr',\n 0x1e: 'bmpstr'\n};\nexports.tagByName = constants._reverse(exports.tag);\n","var constants = exports;\n\n// Helper\nconstants._reverse = function reverse(map) {\n var res = {};\n\n Object.keys(map).forEach(function(key) {\n // Convert key to integer if it is stringified\n if ((key | 0) == key)\n key = key | 0;\n\n var value = map[key];\n res[value] = key;\n });\n\n return res;\n};\n\nconstants.der = require('./der');\n","var inherits = require('inherits');\n\nvar asn1 = require('../../asn1');\nvar base = asn1.base;\nvar bignum = asn1.bignum;\n\n// Import DER constants\nvar der = asn1.constants.der;\n\nfunction DERDecoder(entity) {\n this.enc = 'der';\n this.name = entity.name;\n this.entity = entity;\n\n // Construct base tree\n this.tree = new DERNode();\n this.tree._init(entity.body);\n};\nmodule.exports = DERDecoder;\n\nDERDecoder.prototype.decode = function decode(data, options) {\n if (!(data instanceof base.DecoderBuffer))\n data = new base.DecoderBuffer(data, options);\n\n return this.tree._decode(data, options);\n};\n\n// Tree methods\n\nfunction DERNode(parent) {\n base.Node.call(this, 'der', parent);\n}\ninherits(DERNode, base.Node);\n\nDERNode.prototype._peekTag = function peekTag(buffer, tag, any) {\n if (buffer.isEmpty())\n return false;\n\n var state = buffer.save();\n var decodedTag = derDecodeTag(buffer, 'Failed to peek tag: \"' + tag + '\"');\n if (buffer.isError(decodedTag))\n return decodedTag;\n\n buffer.restore(state);\n\n return decodedTag.tag === tag || decodedTag.tagStr === tag ||\n (decodedTag.tagStr + 'of') === tag || any;\n};\n\nDERNode.prototype._decodeTag = function decodeTag(buffer, tag, any) {\n var decodedTag = derDecodeTag(buffer,\n 'Failed to decode tag of \"' + tag + '\"');\n if (buffer.isError(decodedTag))\n return decodedTag;\n\n var len = derDecodeLen(buffer,\n decodedTag.primitive,\n 'Failed to get length of \"' + tag + '\"');\n\n // Failure\n if (buffer.isError(len))\n return len;\n\n if (!any &&\n decodedTag.tag !== tag &&\n decodedTag.tagStr !== tag &&\n decodedTag.tagStr + 'of' !== tag) {\n return buffer.error('Failed to match tag: \"' + tag + '\"');\n }\n\n if (decodedTag.primitive || len !== null)\n return buffer.skip(len, 'Failed to match body of: \"' + tag + '\"');\n\n // Indefinite length... find END tag\n var state = buffer.save();\n var res = this._skipUntilEnd(\n buffer,\n 'Failed to skip indefinite length body: \"' + this.tag + '\"');\n if (buffer.isError(res))\n return res;\n\n len = buffer.offset - state.offset;\n buffer.restore(state);\n return buffer.skip(len, 'Failed to match body of: \"' + tag + '\"');\n};\n\nDERNode.prototype._skipUntilEnd = function skipUntilEnd(buffer, fail) {\n while (true) {\n var tag = derDecodeTag(buffer, fail);\n if (buffer.isError(tag))\n return tag;\n var len = derDecodeLen(buffer, tag.primitive, fail);\n if (buffer.isError(len))\n return len;\n\n var res;\n if (tag.primitive || len !== null)\n res = buffer.skip(len)\n else\n res = this._skipUntilEnd(buffer, fail);\n\n // Failure\n if (buffer.isError(res))\n return res;\n\n if (tag.tagStr === 'end')\n break;\n }\n};\n\nDERNode.prototype._decodeList = function decodeList(buffer, tag, decoder,\n options) {\n var result = [];\n while (!buffer.isEmpty()) {\n var possibleEnd = this._peekTag(buffer, 'end');\n if (buffer.isError(possibleEnd))\n return possibleEnd;\n\n var res = decoder.decode(buffer, 'der', options);\n if (buffer.isError(res) && possibleEnd)\n break;\n result.push(res);\n }\n return result;\n};\n\nDERNode.prototype._decodeStr = function decodeStr(buffer, tag) {\n if (tag === 'bitstr') {\n var unused = buffer.readUInt8();\n if (buffer.isError(unused))\n return unused;\n return { unused: unused, data: buffer.raw() };\n } else if (tag === 'bmpstr') {\n var raw = buffer.raw();\n if (raw.length % 2 === 1)\n return buffer.error('Decoding of string type: bmpstr length mismatch');\n\n var str = '';\n for (var i = 0; i < raw.length / 2; i++) {\n str += String.fromCharCode(raw.readUInt16BE(i * 2));\n }\n return str;\n } else if (tag === 'numstr') {\n var numstr = buffer.raw().toString('ascii');\n if (!this._isNumstr(numstr)) {\n return buffer.error('Decoding of string type: ' +\n 'numstr unsupported characters');\n }\n return numstr;\n } else if (tag === 'octstr') {\n return buffer.raw();\n } else if (tag === 'objDesc') {\n return buffer.raw();\n } else if (tag === 'printstr') {\n var printstr = buffer.raw().toString('ascii');\n if (!this._isPrintstr(printstr)) {\n return buffer.error('Decoding of string type: ' +\n 'printstr unsupported characters');\n }\n return printstr;\n } else if (/str$/.test(tag)) {\n return buffer.raw().toString();\n } else {\n return buffer.error('Decoding of string type: ' + tag + ' unsupported');\n }\n};\n\nDERNode.prototype._decodeObjid = function decodeObjid(buffer, values, relative) {\n var result;\n var identifiers = [];\n var ident = 0;\n while (!buffer.isEmpty()) {\n var subident = buffer.readUInt8();\n ident <<= 7;\n ident |= subident & 0x7f;\n if ((subident & 0x80) === 0) {\n identifiers.push(ident);\n ident = 0;\n }\n }\n if (subident & 0x80)\n identifiers.push(ident);\n\n var first = (identifiers[0] / 40) | 0;\n var second = identifiers[0] % 40;\n\n if (relative)\n result = identifiers;\n else\n result = [first, second].concat(identifiers.slice(1));\n\n if (values) {\n var tmp = values[result.join(' ')];\n if (tmp === undefined)\n tmp = values[result.join('.')];\n if (tmp !== undefined)\n result = tmp;\n }\n\n return result;\n};\n\nDERNode.prototype._decodeTime = function decodeTime(buffer, tag) {\n var str = buffer.raw().toString();\n if (tag === 'gentime') {\n var year = str.slice(0, 4) | 0;\n var mon = str.slice(4, 6) | 0;\n var day = str.slice(6, 8) | 0;\n var hour = str.slice(8, 10) | 0;\n var min = str.slice(10, 12) | 0;\n var sec = str.slice(12, 14) | 0;\n } else if (tag === 'utctime') {\n var year = str.slice(0, 2) | 0;\n var mon = str.slice(2, 4) | 0;\n var day = str.slice(4, 6) | 0;\n var hour = str.slice(6, 8) | 0;\n var min = str.slice(8, 10) | 0;\n var sec = str.slice(10, 12) | 0;\n if (year < 70)\n year = 2000 + year;\n else\n year = 1900 + year;\n } else {\n return buffer.error('Decoding ' + tag + ' time is not supported yet');\n }\n\n return Date.UTC(year, mon - 1, day, hour, min, sec, 0);\n};\n\nDERNode.prototype._decodeNull = function decodeNull(buffer) {\n return null;\n};\n\nDERNode.prototype._decodeBool = function decodeBool(buffer) {\n var res = buffer.readUInt8();\n if (buffer.isError(res))\n return res;\n else\n return res !== 0;\n};\n\nDERNode.prototype._decodeInt = function decodeInt(buffer, values) {\n // Bigint, return as it is (assume big endian)\n var raw = buffer.raw();\n var res = new bignum(raw);\n\n if (values)\n res = values[res.toString(10)] || res;\n\n return res;\n};\n\nDERNode.prototype._use = function use(entity, obj) {\n if (typeof entity === 'function')\n entity = entity(obj);\n return entity._getDecoder('der').tree;\n};\n\n// Utility methods\n\nfunction derDecodeTag(buf, fail) {\n var tag = buf.readUInt8(fail);\n if (buf.isError(tag))\n return tag;\n\n var cls = der.tagClass[tag >> 6];\n var primitive = (tag & 0x20) === 0;\n\n // Multi-octet tag - load\n if ((tag & 0x1f) === 0x1f) {\n var oct = tag;\n tag = 0;\n while ((oct & 0x80) === 0x80) {\n oct = buf.readUInt8(fail);\n if (buf.isError(oct))\n return oct;\n\n tag <<= 7;\n tag |= oct & 0x7f;\n }\n } else {\n tag &= 0x1f;\n }\n var tagStr = der.tag[tag];\n\n return {\n cls: cls,\n primitive: primitive,\n tag: tag,\n tagStr: tagStr\n };\n}\n\nfunction derDecodeLen(buf, primitive, fail) {\n var len = buf.readUInt8(fail);\n if (buf.isError(len))\n return len;\n\n // Indefinite form\n if (!primitive && len === 0x80)\n return null;\n\n // Definite form\n if ((len & 0x80) === 0) {\n // Short form\n return len;\n }\n\n // Long form\n var num = len & 0x7f;\n if (num > 4)\n return buf.error('length octect is too long');\n\n len = 0;\n for (var i = 0; i < num; i++) {\n len <<= 8;\n var j = buf.readUInt8(fail);\n if (buf.isError(j))\n return j;\n len |= j;\n }\n\n return len;\n}\n","var decoders = exports;\n\ndecoders.der = require('./der');\ndecoders.pem = require('./pem');\n","var inherits = require('inherits');\nvar Buffer = require('buffer').Buffer;\n\nvar DERDecoder = require('./der');\n\nfunction PEMDecoder(entity) {\n DERDecoder.call(this, entity);\n this.enc = 'pem';\n};\ninherits(PEMDecoder, DERDecoder);\nmodule.exports = PEMDecoder;\n\nPEMDecoder.prototype.decode = function decode(data, options) {\n var lines = data.toString().split(/[\\r\\n]+/g);\n\n var label = options.label.toUpperCase();\n\n var re = /^-----(BEGIN|END) ([^-]+)-----$/;\n var start = -1;\n var end = -1;\n for (var i = 0; i < lines.length; i++) {\n var match = lines[i].match(re);\n if (match === null)\n continue;\n\n if (match[2] !== label)\n continue;\n\n if (start === -1) {\n if (match[1] !== 'BEGIN')\n break;\n start = i;\n } else {\n if (match[1] !== 'END')\n break;\n end = i;\n break;\n }\n }\n if (start === -1 || end === -1)\n throw new Error('PEM section not found for: ' + label);\n\n var base64 = lines.slice(start + 1, end).join('');\n // Remove excessive symbols\n base64.replace(/[^a-z0-9\\+\\/=]+/gi, '');\n\n var input = new Buffer(base64, 'base64');\n return DERDecoder.prototype.decode.call(this, input, options);\n};\n","var inherits = require('inherits');\nvar Buffer = require('buffer').Buffer;\n\nvar asn1 = require('../../asn1');\nvar base = asn1.base;\n\n// Import DER constants\nvar der = asn1.constants.der;\n\nfunction DEREncoder(entity) {\n this.enc = 'der';\n this.name = entity.name;\n this.entity = entity;\n\n // Construct base tree\n this.tree = new DERNode();\n this.tree._init(entity.body);\n};\nmodule.exports = DEREncoder;\n\nDEREncoder.prototype.encode = function encode(data, reporter) {\n return this.tree._encode(data, reporter).join();\n};\n\n// Tree methods\n\nfunction DERNode(parent) {\n base.Node.call(this, 'der', parent);\n}\ninherits(DERNode, base.Node);\n\nDERNode.prototype._encodeComposite = function encodeComposite(tag,\n primitive,\n cls,\n content) {\n var encodedTag = encodeTag(tag, primitive, cls, this.reporter);\n\n // Short form\n if (content.length < 0x80) {\n var header = new Buffer(2);\n header[0] = encodedTag;\n header[1] = content.length;\n return this._createEncoderBuffer([ header, content ]);\n }\n\n // Long form\n // Count octets required to store length\n var lenOctets = 1;\n for (var i = content.length; i >= 0x100; i >>= 8)\n lenOctets++;\n\n var header = new Buffer(1 + 1 + lenOctets);\n header[0] = encodedTag;\n header[1] = 0x80 | lenOctets;\n\n for (var i = 1 + lenOctets, j = content.length; j > 0; i--, j >>= 8)\n header[i] = j & 0xff;\n\n return this._createEncoderBuffer([ header, content ]);\n};\n\nDERNode.prototype._encodeStr = function encodeStr(str, tag) {\n if (tag === 'bitstr') {\n return this._createEncoderBuffer([ str.unused | 0, str.data ]);\n } else if (tag === 'bmpstr') {\n var buf = new Buffer(str.length * 2);\n for (var i = 0; i < str.length; i++) {\n buf.writeUInt16BE(str.charCodeAt(i), i * 2);\n }\n return this._createEncoderBuffer(buf);\n } else if (tag === 'numstr') {\n if (!this._isNumstr(str)) {\n return this.reporter.error('Encoding of string type: numstr supports ' +\n 'only digits and space');\n }\n return this._createEncoderBuffer(str);\n } else if (tag === 'printstr') {\n if (!this._isPrintstr(str)) {\n return this.reporter.error('Encoding of string type: printstr supports ' +\n 'only latin upper and lower case letters, ' +\n 'digits, space, apostrophe, left and rigth ' +\n 'parenthesis, plus sign, comma, hyphen, ' +\n 'dot, slash, colon, equal sign, ' +\n 'question mark');\n }\n return this._createEncoderBuffer(str);\n } else if (/str$/.test(tag)) {\n return this._createEncoderBuffer(str);\n } else if (tag === 'objDesc') {\n return this._createEncoderBuffer(str);\n } else {\n return this.reporter.error('Encoding of string type: ' + tag +\n ' unsupported');\n }\n};\n\nDERNode.prototype._encodeObjid = function encodeObjid(id, values, relative) {\n if (typeof id === 'string') {\n if (!values)\n return this.reporter.error('string objid given, but no values map found');\n if (!values.hasOwnProperty(id))\n return this.reporter.error('objid not found in values map');\n id = values[id].split(/[\\s\\.]+/g);\n for (var i = 0; i < id.length; i++)\n id[i] |= 0;\n } else if (Array.isArray(id)) {\n id = id.slice();\n for (var i = 0; i < id.length; i++)\n id[i] |= 0;\n }\n\n if (!Array.isArray(id)) {\n return this.reporter.error('objid() should be either array or string, ' +\n 'got: ' + JSON.stringify(id));\n }\n\n if (!relative) {\n if (id[1] >= 40)\n return this.reporter.error('Second objid identifier OOB');\n id.splice(0, 2, id[0] * 40 + id[1]);\n }\n\n // Count number of octets\n var size = 0;\n for (var i = 0; i < id.length; i++) {\n var ident = id[i];\n for (size++; ident >= 0x80; ident >>= 7)\n size++;\n }\n\n var objid = new Buffer(size);\n var offset = objid.length - 1;\n for (var i = id.length - 1; i >= 0; i--) {\n var ident = id[i];\n objid[offset--] = ident & 0x7f;\n while ((ident >>= 7) > 0)\n objid[offset--] = 0x80 | (ident & 0x7f);\n }\n\n return this._createEncoderBuffer(objid);\n};\n\nfunction two(num) {\n if (num < 10)\n return '0' + num;\n else\n return num;\n}\n\nDERNode.prototype._encodeTime = function encodeTime(time, tag) {\n var str;\n var date = new Date(time);\n\n if (tag === 'gentime') {\n str = [\n two(date.getFullYear()),\n two(date.getUTCMonth() + 1),\n two(date.getUTCDate()),\n two(date.getUTCHours()),\n two(date.getUTCMinutes()),\n two(date.getUTCSeconds()),\n 'Z'\n ].join('');\n } else if (tag === 'utctime') {\n str = [\n two(date.getFullYear() % 100),\n two(date.getUTCMonth() + 1),\n two(date.getUTCDate()),\n two(date.getUTCHours()),\n two(date.getUTCMinutes()),\n two(date.getUTCSeconds()),\n 'Z'\n ].join('');\n } else {\n this.reporter.error('Encoding ' + tag + ' time is not supported yet');\n }\n\n return this._encodeStr(str, 'octstr');\n};\n\nDERNode.prototype._encodeNull = function encodeNull() {\n return this._createEncoderBuffer('');\n};\n\nDERNode.prototype._encodeInt = function encodeInt(num, values) {\n if (typeof num === 'string') {\n if (!values)\n return this.reporter.error('String int or enum given, but no values map');\n if (!values.hasOwnProperty(num)) {\n return this.reporter.error('Values map doesn\\'t contain: ' +\n JSON.stringify(num));\n }\n num = values[num];\n }\n\n // Bignum, assume big endian\n if (typeof num !== 'number' && !Buffer.isBuffer(num)) {\n var numArray = num.toArray();\n if (!num.sign && numArray[0] & 0x80) {\n numArray.unshift(0);\n }\n num = new Buffer(numArray);\n }\n\n if (Buffer.isBuffer(num)) {\n var size = num.length;\n if (num.length === 0)\n size++;\n\n var out = new Buffer(size);\n num.copy(out);\n if (num.length === 0)\n out[0] = 0\n return this._createEncoderBuffer(out);\n }\n\n if (num < 0x80)\n return this._createEncoderBuffer(num);\n\n if (num < 0x100)\n return this._createEncoderBuffer([0, num]);\n\n var size = 1;\n for (var i = num; i >= 0x100; i >>= 8)\n size++;\n\n var out = new Array(size);\n for (var i = out.length - 1; i >= 0; i--) {\n out[i] = num & 0xff;\n num >>= 8;\n }\n if(out[0] & 0x80) {\n out.unshift(0);\n }\n\n return this._createEncoderBuffer(new Buffer(out));\n};\n\nDERNode.prototype._encodeBool = function encodeBool(value) {\n return this._createEncoderBuffer(value ? 0xff : 0);\n};\n\nDERNode.prototype._use = function use(entity, obj) {\n if (typeof entity === 'function')\n entity = entity(obj);\n return entity._getEncoder('der').tree;\n};\n\nDERNode.prototype._skipDefault = function skipDefault(dataBuffer, reporter, parent) {\n var state = this._baseState;\n var i;\n if (state['default'] === null)\n return false;\n\n var data = dataBuffer.join();\n if (state.defaultBuffer === undefined)\n state.defaultBuffer = this._encodeValue(state['default'], reporter, parent).join();\n\n if (data.length !== state.defaultBuffer.length)\n return false;\n\n for (i=0; i < data.length; i++)\n if (data[i] !== state.defaultBuffer[i])\n return false;\n\n return true;\n};\n\n// Utility methods\n\nfunction encodeTag(tag, primitive, cls, reporter) {\n var res;\n\n if (tag === 'seqof')\n tag = 'seq';\n else if (tag === 'setof')\n tag = 'set';\n\n if (der.tagByName.hasOwnProperty(tag))\n res = der.tagByName[tag];\n else if (typeof tag === 'number' && (tag | 0) === tag)\n res = tag;\n else\n return reporter.error('Unknown tag: ' + tag);\n\n if (res >= 0x1f)\n return reporter.error('Multi-octet tag encoding unsupported');\n\n if (!primitive)\n res |= 0x20;\n\n res |= (der.tagClassByName[cls || 'universal'] << 6);\n\n return res;\n}\n","var encoders = exports;\n\nencoders.der = require('./der');\nencoders.pem = require('./pem');\n","var inherits = require('inherits');\n\nvar DEREncoder = require('./der');\n\nfunction PEMEncoder(entity) {\n DEREncoder.call(this, entity);\n this.enc = 'pem';\n};\ninherits(PEMEncoder, DEREncoder);\nmodule.exports = PEMEncoder;\n\nPEMEncoder.prototype.encode = function encode(data, options) {\n var buf = DEREncoder.prototype.encode.call(this, data);\n\n var p = buf.toString('base64');\n var out = [ '-----BEGIN ' + options.label + '-----' ];\n for (var i = 0; i < p.length; i += 64)\n out.push(p.slice(i, i + 64));\n out.push('-----END ' + options.label + '-----');\n return out.join('\\n');\n};\n","(function (module, exports) {\n 'use strict';\n\n // Utils\n function assert (val, msg) {\n if (!val) throw new Error(msg || 'Assertion failed');\n }\n\n // Could use `inherits` module, but don't want to move from single file\n // architecture yet.\n function inherits (ctor, superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function () {};\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n }\n\n // BN\n\n function BN (number, base, endian) {\n if (BN.isBN(number)) {\n return number;\n }\n\n this.negative = 0;\n this.words = null;\n this.length = 0;\n\n // Reduction context\n this.red = null;\n\n if (number !== null) {\n if (base === 'le' || base === 'be') {\n endian = base;\n base = 10;\n }\n\n this._init(number || 0, base || 10, endian || 'be');\n }\n }\n if (typeof module === 'object') {\n module.exports = BN;\n } else {\n exports.BN = BN;\n }\n\n BN.BN = BN;\n BN.wordSize = 26;\n\n var Buffer;\n try {\n if (typeof window !== 'undefined' && typeof window.Buffer !== 'undefined') {\n Buffer = window.Buffer;\n } else {\n Buffer = require('buffer').Buffer;\n }\n } catch (e) {\n }\n\n BN.isBN = function isBN (num) {\n if (num instanceof BN) {\n return true;\n }\n\n return num !== null && typeof num === 'object' &&\n num.constructor.wordSize === BN.wordSize && Array.isArray(num.words);\n };\n\n BN.max = function max (left, right) {\n if (left.cmp(right) > 0) return left;\n return right;\n };\n\n BN.min = function min (left, right) {\n if (left.cmp(right) < 0) return left;\n return right;\n };\n\n BN.prototype._init = function init (number, base, endian) {\n if (typeof number === 'number') {\n return this._initNumber(number, base, endian);\n }\n\n if (typeof number === 'object') {\n return this._initArray(number, base, endian);\n }\n\n if (base === 'hex') {\n base = 16;\n }\n assert(base === (base | 0) && base >= 2 && base <= 36);\n\n number = number.toString().replace(/\\s+/g, '');\n var start = 0;\n if (number[0] === '-') {\n start++;\n this.negative = 1;\n }\n\n if (start < number.length) {\n if (base === 16) {\n this._parseHex(number, start, endian);\n } else {\n this._parseBase(number, base, start);\n if (endian === 'le') {\n this._initArray(this.toArray(), base, endian);\n }\n }\n }\n };\n\n BN.prototype._initNumber = function _initNumber (number, base, endian) {\n if (number < 0) {\n this.negative = 1;\n number = -number;\n }\n if (number < 0x4000000) {\n this.words = [ number & 0x3ffffff ];\n this.length = 1;\n } else if (number < 0x10000000000000) {\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff\n ];\n this.length = 2;\n } else {\n assert(number < 0x20000000000000); // 2 ^ 53 (unsafe)\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff,\n 1\n ];\n this.length = 3;\n }\n\n if (endian !== 'le') return;\n\n // Reverse the bytes\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initArray = function _initArray (number, base, endian) {\n // Perhaps a Uint8Array\n assert(typeof number.length === 'number');\n if (number.length <= 0) {\n this.words = [ 0 ];\n this.length = 1;\n return this;\n }\n\n this.length = Math.ceil(number.length / 3);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n var off = 0;\n if (endian === 'be') {\n for (i = number.length - 1, j = 0; i >= 0; i -= 3) {\n w = number[i] | (number[i - 1] << 8) | (number[i - 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n } else if (endian === 'le') {\n for (i = 0, j = 0; i < number.length; i += 3) {\n w = number[i] | (number[i + 1] << 8) | (number[i + 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n }\n return this.strip();\n };\n\n function parseHex4Bits (string, index) {\n var c = string.charCodeAt(index);\n // 'A' - 'F'\n if (c >= 65 && c <= 70) {\n return c - 55;\n // 'a' - 'f'\n } else if (c >= 97 && c <= 102) {\n return c - 87;\n // '0' - '9'\n } else {\n return (c - 48) & 0xf;\n }\n }\n\n function parseHexByte (string, lowerBound, index) {\n var r = parseHex4Bits(string, index);\n if (index - 1 >= lowerBound) {\n r |= parseHex4Bits(string, index - 1) << 4;\n }\n return r;\n }\n\n BN.prototype._parseHex = function _parseHex (number, start, endian) {\n // Create possibly bigger array to ensure that it fits the number\n this.length = Math.ceil((number.length - start) / 6);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n // 24-bits chunks\n var off = 0;\n var j = 0;\n\n var w;\n if (endian === 'be') {\n for (i = number.length - 1; i >= start; i -= 2) {\n w = parseHexByte(number, start, i) << off;\n this.words[j] |= w & 0x3ffffff;\n if (off >= 18) {\n off -= 18;\n j += 1;\n this.words[j] |= w >>> 26;\n } else {\n off += 8;\n }\n }\n } else {\n var parseLength = number.length - start;\n for (i = parseLength % 2 === 0 ? start + 1 : start; i < number.length; i += 2) {\n w = parseHexByte(number, start, i) << off;\n this.words[j] |= w & 0x3ffffff;\n if (off >= 18) {\n off -= 18;\n j += 1;\n this.words[j] |= w >>> 26;\n } else {\n off += 8;\n }\n }\n }\n\n this.strip();\n };\n\n function parseBase (str, start, end, mul) {\n var r = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r *= mul;\n\n // 'a'\n if (c >= 49) {\n r += c - 49 + 0xa;\n\n // 'A'\n } else if (c >= 17) {\n r += c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n r += c;\n }\n }\n return r;\n }\n\n BN.prototype._parseBase = function _parseBase (number, base, start) {\n // Initialize as zero\n this.words = [ 0 ];\n this.length = 1;\n\n // Find length of limb in base\n for (var limbLen = 0, limbPow = 1; limbPow <= 0x3ffffff; limbPow *= base) {\n limbLen++;\n }\n limbLen--;\n limbPow = (limbPow / base) | 0;\n\n var total = number.length - start;\n var mod = total % limbLen;\n var end = Math.min(total, total - mod) + start;\n\n var word = 0;\n for (var i = start; i < end; i += limbLen) {\n word = parseBase(number, i, i + limbLen, base);\n\n this.imuln(limbPow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n if (mod !== 0) {\n var pow = 1;\n word = parseBase(number, i, number.length, base);\n\n for (i = 0; i < mod; i++) {\n pow *= base;\n }\n\n this.imuln(pow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n this.strip();\n };\n\n BN.prototype.copy = function copy (dest) {\n dest.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n dest.words[i] = this.words[i];\n }\n dest.length = this.length;\n dest.negative = this.negative;\n dest.red = this.red;\n };\n\n BN.prototype.clone = function clone () {\n var r = new BN(null);\n this.copy(r);\n return r;\n };\n\n BN.prototype._expand = function _expand (size) {\n while (this.length < size) {\n this.words[this.length++] = 0;\n }\n return this;\n };\n\n // Remove leading `0` from `this`\n BN.prototype.strip = function strip () {\n while (this.length > 1 && this.words[this.length - 1] === 0) {\n this.length--;\n }\n return this._normSign();\n };\n\n BN.prototype._normSign = function _normSign () {\n // -0 = 0\n if (this.length === 1 && this.words[0] === 0) {\n this.negative = 0;\n }\n return this;\n };\n\n BN.prototype.inspect = function inspect () {\n return (this.red ? '';\n };\n\n /*\n\n var zeros = [];\n var groupSizes = [];\n var groupBases = [];\n\n var s = '';\n var i = -1;\n while (++i < BN.wordSize) {\n zeros[i] = s;\n s += '0';\n }\n groupSizes[0] = 0;\n groupSizes[1] = 0;\n groupBases[0] = 0;\n groupBases[1] = 0;\n var base = 2 - 1;\n while (++base < 36 + 1) {\n var groupSize = 0;\n var groupBase = 1;\n while (groupBase < (1 << BN.wordSize) / base) {\n groupBase *= base;\n groupSize += 1;\n }\n groupSizes[base] = groupSize;\n groupBases[base] = groupBase;\n }\n\n */\n\n var zeros = [\n '',\n '0',\n '00',\n '000',\n '0000',\n '00000',\n '000000',\n '0000000',\n '00000000',\n '000000000',\n '0000000000',\n '00000000000',\n '000000000000',\n '0000000000000',\n '00000000000000',\n '000000000000000',\n '0000000000000000',\n '00000000000000000',\n '000000000000000000',\n '0000000000000000000',\n '00000000000000000000',\n '000000000000000000000',\n '0000000000000000000000',\n '00000000000000000000000',\n '000000000000000000000000',\n '0000000000000000000000000'\n ];\n\n var groupSizes = [\n 0, 0,\n 25, 16, 12, 11, 10, 9, 8,\n 8, 7, 7, 7, 7, 6, 6,\n 6, 6, 6, 6, 6, 5, 5,\n 5, 5, 5, 5, 5, 5, 5,\n 5, 5, 5, 5, 5, 5, 5\n ];\n\n var groupBases = [\n 0, 0,\n 33554432, 43046721, 16777216, 48828125, 60466176, 40353607, 16777216,\n 43046721, 10000000, 19487171, 35831808, 62748517, 7529536, 11390625,\n 16777216, 24137569, 34012224, 47045881, 64000000, 4084101, 5153632,\n 6436343, 7962624, 9765625, 11881376, 14348907, 17210368, 20511149,\n 24300000, 28629151, 33554432, 39135393, 45435424, 52521875, 60466176\n ];\n\n BN.prototype.toString = function toString (base, padding) {\n base = base || 10;\n padding = padding | 0 || 1;\n\n var out;\n if (base === 16 || base === 'hex') {\n out = '';\n var off = 0;\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = this.words[i];\n var word = (((w << off) | carry) & 0xffffff).toString(16);\n carry = (w >>> (24 - off)) & 0xffffff;\n off += 2;\n if (off >= 26) {\n off -= 26;\n i--;\n }\n if (carry !== 0 || i !== this.length - 1) {\n out = zeros[6 - word.length] + word + out;\n } else {\n out = word + out;\n }\n }\n if (carry !== 0) {\n out = carry.toString(16) + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n if (base === (base | 0) && base >= 2 && base <= 36) {\n // var groupSize = Math.floor(BN.wordSize * Math.LN2 / Math.log(base));\n var groupSize = groupSizes[base];\n // var groupBase = Math.pow(base, groupSize);\n var groupBase = groupBases[base];\n out = '';\n var c = this.clone();\n c.negative = 0;\n while (!c.isZero()) {\n var r = c.modn(groupBase).toString(base);\n c = c.idivn(groupBase);\n\n if (!c.isZero()) {\n out = zeros[groupSize - r.length] + r + out;\n } else {\n out = r + out;\n }\n }\n if (this.isZero()) {\n out = '0' + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n assert(false, 'Base should be between 2 and 36');\n };\n\n BN.prototype.toNumber = function toNumber () {\n var ret = this.words[0];\n if (this.length === 2) {\n ret += this.words[1] * 0x4000000;\n } else if (this.length === 3 && this.words[2] === 0x01) {\n // NOTE: at this stage it is known that the top bit is set\n ret += 0x10000000000000 + (this.words[1] * 0x4000000);\n } else if (this.length > 2) {\n assert(false, 'Number can only safely store up to 53 bits');\n }\n return (this.negative !== 0) ? -ret : ret;\n };\n\n BN.prototype.toJSON = function toJSON () {\n return this.toString(16);\n };\n\n BN.prototype.toBuffer = function toBuffer (endian, length) {\n assert(typeof Buffer !== 'undefined');\n return this.toArrayLike(Buffer, endian, length);\n };\n\n BN.prototype.toArray = function toArray (endian, length) {\n return this.toArrayLike(Array, endian, length);\n };\n\n BN.prototype.toArrayLike = function toArrayLike (ArrayType, endian, length) {\n var byteLength = this.byteLength();\n var reqLength = length || Math.max(1, byteLength);\n assert(byteLength <= reqLength, 'byte array longer than desired length');\n assert(reqLength > 0, 'Requested array length <= 0');\n\n this.strip();\n var littleEndian = endian === 'le';\n var res = new ArrayType(reqLength);\n\n var b, i;\n var q = this.clone();\n if (!littleEndian) {\n // Assume big-endian\n for (i = 0; i < reqLength - byteLength; i++) {\n res[i] = 0;\n }\n\n for (i = 0; !q.isZero(); i++) {\n b = q.andln(0xff);\n q.iushrn(8);\n\n res[reqLength - i - 1] = b;\n }\n } else {\n for (i = 0; !q.isZero(); i++) {\n b = q.andln(0xff);\n q.iushrn(8);\n\n res[i] = b;\n }\n\n for (; i < reqLength; i++) {\n res[i] = 0;\n }\n }\n\n return res;\n };\n\n if (Math.clz32) {\n BN.prototype._countBits = function _countBits (w) {\n return 32 - Math.clz32(w);\n };\n } else {\n BN.prototype._countBits = function _countBits (w) {\n var t = w;\n var r = 0;\n if (t >= 0x1000) {\n r += 13;\n t >>>= 13;\n }\n if (t >= 0x40) {\n r += 7;\n t >>>= 7;\n }\n if (t >= 0x8) {\n r += 4;\n t >>>= 4;\n }\n if (t >= 0x02) {\n r += 2;\n t >>>= 2;\n }\n return r + t;\n };\n }\n\n BN.prototype._zeroBits = function _zeroBits (w) {\n // Short-cut\n if (w === 0) return 26;\n\n var t = w;\n var r = 0;\n if ((t & 0x1fff) === 0) {\n r += 13;\n t >>>= 13;\n }\n if ((t & 0x7f) === 0) {\n r += 7;\n t >>>= 7;\n }\n if ((t & 0xf) === 0) {\n r += 4;\n t >>>= 4;\n }\n if ((t & 0x3) === 0) {\n r += 2;\n t >>>= 2;\n }\n if ((t & 0x1) === 0) {\n r++;\n }\n return r;\n };\n\n // Return number of used bits in a BN\n BN.prototype.bitLength = function bitLength () {\n var w = this.words[this.length - 1];\n var hi = this._countBits(w);\n return (this.length - 1) * 26 + hi;\n };\n\n function toBitArray (num) {\n var w = new Array(num.bitLength());\n\n for (var bit = 0; bit < w.length; bit++) {\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n w[bit] = (num.words[off] & (1 << wbit)) >>> wbit;\n }\n\n return w;\n }\n\n // Number of trailing zero bits\n BN.prototype.zeroBits = function zeroBits () {\n if (this.isZero()) return 0;\n\n var r = 0;\n for (var i = 0; i < this.length; i++) {\n var b = this._zeroBits(this.words[i]);\n r += b;\n if (b !== 26) break;\n }\n return r;\n };\n\n BN.prototype.byteLength = function byteLength () {\n return Math.ceil(this.bitLength() / 8);\n };\n\n BN.prototype.toTwos = function toTwos (width) {\n if (this.negative !== 0) {\n return this.abs().inotn(width).iaddn(1);\n }\n return this.clone();\n };\n\n BN.prototype.fromTwos = function fromTwos (width) {\n if (this.testn(width - 1)) {\n return this.notn(width).iaddn(1).ineg();\n }\n return this.clone();\n };\n\n BN.prototype.isNeg = function isNeg () {\n return this.negative !== 0;\n };\n\n // Return negative clone of `this`\n BN.prototype.neg = function neg () {\n return this.clone().ineg();\n };\n\n BN.prototype.ineg = function ineg () {\n if (!this.isZero()) {\n this.negative ^= 1;\n }\n\n return this;\n };\n\n // Or `num` with `this` in-place\n BN.prototype.iuor = function iuor (num) {\n while (this.length < num.length) {\n this.words[this.length++] = 0;\n }\n\n for (var i = 0; i < num.length; i++) {\n this.words[i] = this.words[i] | num.words[i];\n }\n\n return this.strip();\n };\n\n BN.prototype.ior = function ior (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuor(num);\n };\n\n // Or `num` with `this`\n BN.prototype.or = function or (num) {\n if (this.length > num.length) return this.clone().ior(num);\n return num.clone().ior(this);\n };\n\n BN.prototype.uor = function uor (num) {\n if (this.length > num.length) return this.clone().iuor(num);\n return num.clone().iuor(this);\n };\n\n // And `num` with `this` in-place\n BN.prototype.iuand = function iuand (num) {\n // b = min-length(num, this)\n var b;\n if (this.length > num.length) {\n b = num;\n } else {\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = this.words[i] & num.words[i];\n }\n\n this.length = b.length;\n\n return this.strip();\n };\n\n BN.prototype.iand = function iand (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuand(num);\n };\n\n // And `num` with `this`\n BN.prototype.and = function and (num) {\n if (this.length > num.length) return this.clone().iand(num);\n return num.clone().iand(this);\n };\n\n BN.prototype.uand = function uand (num) {\n if (this.length > num.length) return this.clone().iuand(num);\n return num.clone().iuand(this);\n };\n\n // Xor `num` with `this` in-place\n BN.prototype.iuxor = function iuxor (num) {\n // a.length > b.length\n var a;\n var b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = a.words[i] ^ b.words[i];\n }\n\n if (this !== a) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = a.length;\n\n return this.strip();\n };\n\n BN.prototype.ixor = function ixor (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuxor(num);\n };\n\n // Xor `num` with `this`\n BN.prototype.xor = function xor (num) {\n if (this.length > num.length) return this.clone().ixor(num);\n return num.clone().ixor(this);\n };\n\n BN.prototype.uxor = function uxor (num) {\n if (this.length > num.length) return this.clone().iuxor(num);\n return num.clone().iuxor(this);\n };\n\n // Not ``this`` with ``width`` bitwidth\n BN.prototype.inotn = function inotn (width) {\n assert(typeof width === 'number' && width >= 0);\n\n var bytesNeeded = Math.ceil(width / 26) | 0;\n var bitsLeft = width % 26;\n\n // Extend the buffer with leading zeroes\n this._expand(bytesNeeded);\n\n if (bitsLeft > 0) {\n bytesNeeded--;\n }\n\n // Handle complete words\n for (var i = 0; i < bytesNeeded; i++) {\n this.words[i] = ~this.words[i] & 0x3ffffff;\n }\n\n // Handle the residue\n if (bitsLeft > 0) {\n this.words[i] = ~this.words[i] & (0x3ffffff >> (26 - bitsLeft));\n }\n\n // And remove leading zeroes\n return this.strip();\n };\n\n BN.prototype.notn = function notn (width) {\n return this.clone().inotn(width);\n };\n\n // Set `bit` of `this`\n BN.prototype.setn = function setn (bit, val) {\n assert(typeof bit === 'number' && bit >= 0);\n\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n this._expand(off + 1);\n\n if (val) {\n this.words[off] = this.words[off] | (1 << wbit);\n } else {\n this.words[off] = this.words[off] & ~(1 << wbit);\n }\n\n return this.strip();\n };\n\n // Add `num` to `this` in-place\n BN.prototype.iadd = function iadd (num) {\n var r;\n\n // negative + positive\n if (this.negative !== 0 && num.negative === 0) {\n this.negative = 0;\n r = this.isub(num);\n this.negative ^= 1;\n return this._normSign();\n\n // positive + negative\n } else if (this.negative === 0 && num.negative !== 0) {\n num.negative = 0;\n r = this.isub(num);\n num.negative = 1;\n return r._normSign();\n }\n\n // a.length > b.length\n var a, b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) + (b.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n\n this.length = a.length;\n if (carry !== 0) {\n this.words[this.length] = carry;\n this.length++;\n // Copy the rest of the words\n } else if (a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n return this;\n };\n\n // Add `num` to `this`\n BN.prototype.add = function add (num) {\n var res;\n if (num.negative !== 0 && this.negative === 0) {\n num.negative = 0;\n res = this.sub(num);\n num.negative ^= 1;\n return res;\n } else if (num.negative === 0 && this.negative !== 0) {\n this.negative = 0;\n res = num.sub(this);\n this.negative = 1;\n return res;\n }\n\n if (this.length > num.length) return this.clone().iadd(num);\n\n return num.clone().iadd(this);\n };\n\n // Subtract `num` from `this` in-place\n BN.prototype.isub = function isub (num) {\n // this - (-num) = this + num\n if (num.negative !== 0) {\n num.negative = 0;\n var r = this.iadd(num);\n num.negative = 1;\n return r._normSign();\n\n // -this - num = -(this + num)\n } else if (this.negative !== 0) {\n this.negative = 0;\n this.iadd(num);\n this.negative = 1;\n return this._normSign();\n }\n\n // At this point both numbers are positive\n var cmp = this.cmp(num);\n\n // Optimization - zeroify\n if (cmp === 0) {\n this.negative = 0;\n this.length = 1;\n this.words[0] = 0;\n return this;\n }\n\n // a > b\n var a, b;\n if (cmp > 0) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) - (b.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n\n // Copy rest of the words\n if (carry === 0 && i < a.length && a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = Math.max(this.length, i);\n\n if (a !== this) {\n this.negative = 1;\n }\n\n return this.strip();\n };\n\n // Subtract `num` from `this`\n BN.prototype.sub = function sub (num) {\n return this.clone().isub(num);\n };\n\n function smallMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n var len = (self.length + num.length) | 0;\n out.length = len;\n len = (len - 1) | 0;\n\n // Peel one iteration (compiler can't do it, because of code complexity)\n var a = self.words[0] | 0;\n var b = num.words[0] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n var carry = (r / 0x4000000) | 0;\n out.words[0] = lo;\n\n for (var k = 1; k < len; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = carry >>> 26;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = (k - j) | 0;\n a = self.words[i] | 0;\n b = num.words[j] | 0;\n r = a * b + rword;\n ncarry += (r / 0x4000000) | 0;\n rword = r & 0x3ffffff;\n }\n out.words[k] = rword | 0;\n carry = ncarry | 0;\n }\n if (carry !== 0) {\n out.words[k] = carry | 0;\n } else {\n out.length--;\n }\n\n return out.strip();\n }\n\n // TODO(indutny): it may be reasonable to omit it for users who don't need\n // to work with 256-bit numbers, otherwise it gives 20% improvement for 256-bit\n // multiplication (like elliptic secp256k1).\n var comb10MulTo = function comb10MulTo (self, num, out) {\n var a = self.words;\n var b = num.words;\n var o = out.words;\n var c = 0;\n var lo;\n var mid;\n var hi;\n var a0 = a[0] | 0;\n var al0 = a0 & 0x1fff;\n var ah0 = a0 >>> 13;\n var a1 = a[1] | 0;\n var al1 = a1 & 0x1fff;\n var ah1 = a1 >>> 13;\n var a2 = a[2] | 0;\n var al2 = a2 & 0x1fff;\n var ah2 = a2 >>> 13;\n var a3 = a[3] | 0;\n var al3 = a3 & 0x1fff;\n var ah3 = a3 >>> 13;\n var a4 = a[4] | 0;\n var al4 = a4 & 0x1fff;\n var ah4 = a4 >>> 13;\n var a5 = a[5] | 0;\n var al5 = a5 & 0x1fff;\n var ah5 = a5 >>> 13;\n var a6 = a[6] | 0;\n var al6 = a6 & 0x1fff;\n var ah6 = a6 >>> 13;\n var a7 = a[7] | 0;\n var al7 = a7 & 0x1fff;\n var ah7 = a7 >>> 13;\n var a8 = a[8] | 0;\n var al8 = a8 & 0x1fff;\n var ah8 = a8 >>> 13;\n var a9 = a[9] | 0;\n var al9 = a9 & 0x1fff;\n var ah9 = a9 >>> 13;\n var b0 = b[0] | 0;\n var bl0 = b0 & 0x1fff;\n var bh0 = b0 >>> 13;\n var b1 = b[1] | 0;\n var bl1 = b1 & 0x1fff;\n var bh1 = b1 >>> 13;\n var b2 = b[2] | 0;\n var bl2 = b2 & 0x1fff;\n var bh2 = b2 >>> 13;\n var b3 = b[3] | 0;\n var bl3 = b3 & 0x1fff;\n var bh3 = b3 >>> 13;\n var b4 = b[4] | 0;\n var bl4 = b4 & 0x1fff;\n var bh4 = b4 >>> 13;\n var b5 = b[5] | 0;\n var bl5 = b5 & 0x1fff;\n var bh5 = b5 >>> 13;\n var b6 = b[6] | 0;\n var bl6 = b6 & 0x1fff;\n var bh6 = b6 >>> 13;\n var b7 = b[7] | 0;\n var bl7 = b7 & 0x1fff;\n var bh7 = b7 >>> 13;\n var b8 = b[8] | 0;\n var bl8 = b8 & 0x1fff;\n var bh8 = b8 >>> 13;\n var b9 = b[9] | 0;\n var bl9 = b9 & 0x1fff;\n var bh9 = b9 >>> 13;\n\n out.negative = self.negative ^ num.negative;\n out.length = 19;\n /* k = 0 */\n lo = Math.imul(al0, bl0);\n mid = Math.imul(al0, bh0);\n mid = (mid + Math.imul(ah0, bl0)) | 0;\n hi = Math.imul(ah0, bh0);\n var w0 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w0 >>> 26)) | 0;\n w0 &= 0x3ffffff;\n /* k = 1 */\n lo = Math.imul(al1, bl0);\n mid = Math.imul(al1, bh0);\n mid = (mid + Math.imul(ah1, bl0)) | 0;\n hi = Math.imul(ah1, bh0);\n lo = (lo + Math.imul(al0, bl1)) | 0;\n mid = (mid + Math.imul(al0, bh1)) | 0;\n mid = (mid + Math.imul(ah0, bl1)) | 0;\n hi = (hi + Math.imul(ah0, bh1)) | 0;\n var w1 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w1 >>> 26)) | 0;\n w1 &= 0x3ffffff;\n /* k = 2 */\n lo = Math.imul(al2, bl0);\n mid = Math.imul(al2, bh0);\n mid = (mid + Math.imul(ah2, bl0)) | 0;\n hi = Math.imul(ah2, bh0);\n lo = (lo + Math.imul(al1, bl1)) | 0;\n mid = (mid + Math.imul(al1, bh1)) | 0;\n mid = (mid + Math.imul(ah1, bl1)) | 0;\n hi = (hi + Math.imul(ah1, bh1)) | 0;\n lo = (lo + Math.imul(al0, bl2)) | 0;\n mid = (mid + Math.imul(al0, bh2)) | 0;\n mid = (mid + Math.imul(ah0, bl2)) | 0;\n hi = (hi + Math.imul(ah0, bh2)) | 0;\n var w2 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w2 >>> 26)) | 0;\n w2 &= 0x3ffffff;\n /* k = 3 */\n lo = Math.imul(al3, bl0);\n mid = Math.imul(al3, bh0);\n mid = (mid + Math.imul(ah3, bl0)) | 0;\n hi = Math.imul(ah3, bh0);\n lo = (lo + Math.imul(al2, bl1)) | 0;\n mid = (mid + Math.imul(al2, bh1)) | 0;\n mid = (mid + Math.imul(ah2, bl1)) | 0;\n hi = (hi + Math.imul(ah2, bh1)) | 0;\n lo = (lo + Math.imul(al1, bl2)) | 0;\n mid = (mid + Math.imul(al1, bh2)) | 0;\n mid = (mid + Math.imul(ah1, bl2)) | 0;\n hi = (hi + Math.imul(ah1, bh2)) | 0;\n lo = (lo + Math.imul(al0, bl3)) | 0;\n mid = (mid + Math.imul(al0, bh3)) | 0;\n mid = (mid + Math.imul(ah0, bl3)) | 0;\n hi = (hi + Math.imul(ah0, bh3)) | 0;\n var w3 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w3 >>> 26)) | 0;\n w3 &= 0x3ffffff;\n /* k = 4 */\n lo = Math.imul(al4, bl0);\n mid = Math.imul(al4, bh0);\n mid = (mid + Math.imul(ah4, bl0)) | 0;\n hi = Math.imul(ah4, bh0);\n lo = (lo + Math.imul(al3, bl1)) | 0;\n mid = (mid + Math.imul(al3, bh1)) | 0;\n mid = (mid + Math.imul(ah3, bl1)) | 0;\n hi = (hi + Math.imul(ah3, bh1)) | 0;\n lo = (lo + Math.imul(al2, bl2)) | 0;\n mid = (mid + Math.imul(al2, bh2)) | 0;\n mid = (mid + Math.imul(ah2, bl2)) | 0;\n hi = (hi + Math.imul(ah2, bh2)) | 0;\n lo = (lo + Math.imul(al1, bl3)) | 0;\n mid = (mid + Math.imul(al1, bh3)) | 0;\n mid = (mid + Math.imul(ah1, bl3)) | 0;\n hi = (hi + Math.imul(ah1, bh3)) | 0;\n lo = (lo + Math.imul(al0, bl4)) | 0;\n mid = (mid + Math.imul(al0, bh4)) | 0;\n mid = (mid + Math.imul(ah0, bl4)) | 0;\n hi = (hi + Math.imul(ah0, bh4)) | 0;\n var w4 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w4 >>> 26)) | 0;\n w4 &= 0x3ffffff;\n /* k = 5 */\n lo = Math.imul(al5, bl0);\n mid = Math.imul(al5, bh0);\n mid = (mid + Math.imul(ah5, bl0)) | 0;\n hi = Math.imul(ah5, bh0);\n lo = (lo + Math.imul(al4, bl1)) | 0;\n mid = (mid + Math.imul(al4, bh1)) | 0;\n mid = (mid + Math.imul(ah4, bl1)) | 0;\n hi = (hi + Math.imul(ah4, bh1)) | 0;\n lo = (lo + Math.imul(al3, bl2)) | 0;\n mid = (mid + Math.imul(al3, bh2)) | 0;\n mid = (mid + Math.imul(ah3, bl2)) | 0;\n hi = (hi + Math.imul(ah3, bh2)) | 0;\n lo = (lo + Math.imul(al2, bl3)) | 0;\n mid = (mid + Math.imul(al2, bh3)) | 0;\n mid = (mid + Math.imul(ah2, bl3)) | 0;\n hi = (hi + Math.imul(ah2, bh3)) | 0;\n lo = (lo + Math.imul(al1, bl4)) | 0;\n mid = (mid + Math.imul(al1, bh4)) | 0;\n mid = (mid + Math.imul(ah1, bl4)) | 0;\n hi = (hi + Math.imul(ah1, bh4)) | 0;\n lo = (lo + Math.imul(al0, bl5)) | 0;\n mid = (mid + Math.imul(al0, bh5)) | 0;\n mid = (mid + Math.imul(ah0, bl5)) | 0;\n hi = (hi + Math.imul(ah0, bh5)) | 0;\n var w5 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w5 >>> 26)) | 0;\n w5 &= 0x3ffffff;\n /* k = 6 */\n lo = Math.imul(al6, bl0);\n mid = Math.imul(al6, bh0);\n mid = (mid + Math.imul(ah6, bl0)) | 0;\n hi = Math.imul(ah6, bh0);\n lo = (lo + Math.imul(al5, bl1)) | 0;\n mid = (mid + Math.imul(al5, bh1)) | 0;\n mid = (mid + Math.imul(ah5, bl1)) | 0;\n hi = (hi + Math.imul(ah5, bh1)) | 0;\n lo = (lo + Math.imul(al4, bl2)) | 0;\n mid = (mid + Math.imul(al4, bh2)) | 0;\n mid = (mid + Math.imul(ah4, bl2)) | 0;\n hi = (hi + Math.imul(ah4, bh2)) | 0;\n lo = (lo + Math.imul(al3, bl3)) | 0;\n mid = (mid + Math.imul(al3, bh3)) | 0;\n mid = (mid + Math.imul(ah3, bl3)) | 0;\n hi = (hi + Math.imul(ah3, bh3)) | 0;\n lo = (lo + Math.imul(al2, bl4)) | 0;\n mid = (mid + Math.imul(al2, bh4)) | 0;\n mid = (mid + Math.imul(ah2, bl4)) | 0;\n hi = (hi + Math.imul(ah2, bh4)) | 0;\n lo = (lo + Math.imul(al1, bl5)) | 0;\n mid = (mid + Math.imul(al1, bh5)) | 0;\n mid = (mid + Math.imul(ah1, bl5)) | 0;\n hi = (hi + Math.imul(ah1, bh5)) | 0;\n lo = (lo + Math.imul(al0, bl6)) | 0;\n mid = (mid + Math.imul(al0, bh6)) | 0;\n mid = (mid + Math.imul(ah0, bl6)) | 0;\n hi = (hi + Math.imul(ah0, bh6)) | 0;\n var w6 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w6 >>> 26)) | 0;\n w6 &= 0x3ffffff;\n /* k = 7 */\n lo = Math.imul(al7, bl0);\n mid = Math.imul(al7, bh0);\n mid = (mid + Math.imul(ah7, bl0)) | 0;\n hi = Math.imul(ah7, bh0);\n lo = (lo + Math.imul(al6, bl1)) | 0;\n mid = (mid + Math.imul(al6, bh1)) | 0;\n mid = (mid + Math.imul(ah6, bl1)) | 0;\n hi = (hi + Math.imul(ah6, bh1)) | 0;\n lo = (lo + Math.imul(al5, bl2)) | 0;\n mid = (mid + Math.imul(al5, bh2)) | 0;\n mid = (mid + Math.imul(ah5, bl2)) | 0;\n hi = (hi + Math.imul(ah5, bh2)) | 0;\n lo = (lo + Math.imul(al4, bl3)) | 0;\n mid = (mid + Math.imul(al4, bh3)) | 0;\n mid = (mid + Math.imul(ah4, bl3)) | 0;\n hi = (hi + Math.imul(ah4, bh3)) | 0;\n lo = (lo + Math.imul(al3, bl4)) | 0;\n mid = (mid + Math.imul(al3, bh4)) | 0;\n mid = (mid + Math.imul(ah3, bl4)) | 0;\n hi = (hi + Math.imul(ah3, bh4)) | 0;\n lo = (lo + Math.imul(al2, bl5)) | 0;\n mid = (mid + Math.imul(al2, bh5)) | 0;\n mid = (mid + Math.imul(ah2, bl5)) | 0;\n hi = (hi + Math.imul(ah2, bh5)) | 0;\n lo = (lo + Math.imul(al1, bl6)) | 0;\n mid = (mid + Math.imul(al1, bh6)) | 0;\n mid = (mid + Math.imul(ah1, bl6)) | 0;\n hi = (hi + Math.imul(ah1, bh6)) | 0;\n lo = (lo + Math.imul(al0, bl7)) | 0;\n mid = (mid + Math.imul(al0, bh7)) | 0;\n mid = (mid + Math.imul(ah0, bl7)) | 0;\n hi = (hi + Math.imul(ah0, bh7)) | 0;\n var w7 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w7 >>> 26)) | 0;\n w7 &= 0x3ffffff;\n /* k = 8 */\n lo = Math.imul(al8, bl0);\n mid = Math.imul(al8, bh0);\n mid = (mid + Math.imul(ah8, bl0)) | 0;\n hi = Math.imul(ah8, bh0);\n lo = (lo + Math.imul(al7, bl1)) | 0;\n mid = (mid + Math.imul(al7, bh1)) | 0;\n mid = (mid + Math.imul(ah7, bl1)) | 0;\n hi = (hi + Math.imul(ah7, bh1)) | 0;\n lo = (lo + Math.imul(al6, bl2)) | 0;\n mid = (mid + Math.imul(al6, bh2)) | 0;\n mid = (mid + Math.imul(ah6, bl2)) | 0;\n hi = (hi + Math.imul(ah6, bh2)) | 0;\n lo = (lo + Math.imul(al5, bl3)) | 0;\n mid = (mid + Math.imul(al5, bh3)) | 0;\n mid = (mid + Math.imul(ah5, bl3)) | 0;\n hi = (hi + Math.imul(ah5, bh3)) | 0;\n lo = (lo + Math.imul(al4, bl4)) | 0;\n mid = (mid + Math.imul(al4, bh4)) | 0;\n mid = (mid + Math.imul(ah4, bl4)) | 0;\n hi = (hi + Math.imul(ah4, bh4)) | 0;\n lo = (lo + Math.imul(al3, bl5)) | 0;\n mid = (mid + Math.imul(al3, bh5)) | 0;\n mid = (mid + Math.imul(ah3, bl5)) | 0;\n hi = (hi + Math.imul(ah3, bh5)) | 0;\n lo = (lo + Math.imul(al2, bl6)) | 0;\n mid = (mid + Math.imul(al2, bh6)) | 0;\n mid = (mid + Math.imul(ah2, bl6)) | 0;\n hi = (hi + Math.imul(ah2, bh6)) | 0;\n lo = (lo + Math.imul(al1, bl7)) | 0;\n mid = (mid + Math.imul(al1, bh7)) | 0;\n mid = (mid + Math.imul(ah1, bl7)) | 0;\n hi = (hi + Math.imul(ah1, bh7)) | 0;\n lo = (lo + Math.imul(al0, bl8)) | 0;\n mid = (mid + Math.imul(al0, bh8)) | 0;\n mid = (mid + Math.imul(ah0, bl8)) | 0;\n hi = (hi + Math.imul(ah0, bh8)) | 0;\n var w8 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w8 >>> 26)) | 0;\n w8 &= 0x3ffffff;\n /* k = 9 */\n lo = Math.imul(al9, bl0);\n mid = Math.imul(al9, bh0);\n mid = (mid + Math.imul(ah9, bl0)) | 0;\n hi = Math.imul(ah9, bh0);\n lo = (lo + Math.imul(al8, bl1)) | 0;\n mid = (mid + Math.imul(al8, bh1)) | 0;\n mid = (mid + Math.imul(ah8, bl1)) | 0;\n hi = (hi + Math.imul(ah8, bh1)) | 0;\n lo = (lo + Math.imul(al7, bl2)) | 0;\n mid = (mid + Math.imul(al7, bh2)) | 0;\n mid = (mid + Math.imul(ah7, bl2)) | 0;\n hi = (hi + Math.imul(ah7, bh2)) | 0;\n lo = (lo + Math.imul(al6, bl3)) | 0;\n mid = (mid + Math.imul(al6, bh3)) | 0;\n mid = (mid + Math.imul(ah6, bl3)) | 0;\n hi = (hi + Math.imul(ah6, bh3)) | 0;\n lo = (lo + Math.imul(al5, bl4)) | 0;\n mid = (mid + Math.imul(al5, bh4)) | 0;\n mid = (mid + Math.imul(ah5, bl4)) | 0;\n hi = (hi + Math.imul(ah5, bh4)) | 0;\n lo = (lo + Math.imul(al4, bl5)) | 0;\n mid = (mid + Math.imul(al4, bh5)) | 0;\n mid = (mid + Math.imul(ah4, bl5)) | 0;\n hi = (hi + Math.imul(ah4, bh5)) | 0;\n lo = (lo + Math.imul(al3, bl6)) | 0;\n mid = (mid + Math.imul(al3, bh6)) | 0;\n mid = (mid + Math.imul(ah3, bl6)) | 0;\n hi = (hi + Math.imul(ah3, bh6)) | 0;\n lo = (lo + Math.imul(al2, bl7)) | 0;\n mid = (mid + Math.imul(al2, bh7)) | 0;\n mid = (mid + Math.imul(ah2, bl7)) | 0;\n hi = (hi + Math.imul(ah2, bh7)) | 0;\n lo = (lo + Math.imul(al1, bl8)) | 0;\n mid = (mid + Math.imul(al1, bh8)) | 0;\n mid = (mid + Math.imul(ah1, bl8)) | 0;\n hi = (hi + Math.imul(ah1, bh8)) | 0;\n lo = (lo + Math.imul(al0, bl9)) | 0;\n mid = (mid + Math.imul(al0, bh9)) | 0;\n mid = (mid + Math.imul(ah0, bl9)) | 0;\n hi = (hi + Math.imul(ah0, bh9)) | 0;\n var w9 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w9 >>> 26)) | 0;\n w9 &= 0x3ffffff;\n /* k = 10 */\n lo = Math.imul(al9, bl1);\n mid = Math.imul(al9, bh1);\n mid = (mid + Math.imul(ah9, bl1)) | 0;\n hi = Math.imul(ah9, bh1);\n lo = (lo + Math.imul(al8, bl2)) | 0;\n mid = (mid + Math.imul(al8, bh2)) | 0;\n mid = (mid + Math.imul(ah8, bl2)) | 0;\n hi = (hi + Math.imul(ah8, bh2)) | 0;\n lo = (lo + Math.imul(al7, bl3)) | 0;\n mid = (mid + Math.imul(al7, bh3)) | 0;\n mid = (mid + Math.imul(ah7, bl3)) | 0;\n hi = (hi + Math.imul(ah7, bh3)) | 0;\n lo = (lo + Math.imul(al6, bl4)) | 0;\n mid = (mid + Math.imul(al6, bh4)) | 0;\n mid = (mid + Math.imul(ah6, bl4)) | 0;\n hi = (hi + Math.imul(ah6, bh4)) | 0;\n lo = (lo + Math.imul(al5, bl5)) | 0;\n mid = (mid + Math.imul(al5, bh5)) | 0;\n mid = (mid + Math.imul(ah5, bl5)) | 0;\n hi = (hi + Math.imul(ah5, bh5)) | 0;\n lo = (lo + Math.imul(al4, bl6)) | 0;\n mid = (mid + Math.imul(al4, bh6)) | 0;\n mid = (mid + Math.imul(ah4, bl6)) | 0;\n hi = (hi + Math.imul(ah4, bh6)) | 0;\n lo = (lo + Math.imul(al3, bl7)) | 0;\n mid = (mid + Math.imul(al3, bh7)) | 0;\n mid = (mid + Math.imul(ah3, bl7)) | 0;\n hi = (hi + Math.imul(ah3, bh7)) | 0;\n lo = (lo + Math.imul(al2, bl8)) | 0;\n mid = (mid + Math.imul(al2, bh8)) | 0;\n mid = (mid + Math.imul(ah2, bl8)) | 0;\n hi = (hi + Math.imul(ah2, bh8)) | 0;\n lo = (lo + Math.imul(al1, bl9)) | 0;\n mid = (mid + Math.imul(al1, bh9)) | 0;\n mid = (mid + Math.imul(ah1, bl9)) | 0;\n hi = (hi + Math.imul(ah1, bh9)) | 0;\n var w10 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w10 >>> 26)) | 0;\n w10 &= 0x3ffffff;\n /* k = 11 */\n lo = Math.imul(al9, bl2);\n mid = Math.imul(al9, bh2);\n mid = (mid + Math.imul(ah9, bl2)) | 0;\n hi = Math.imul(ah9, bh2);\n lo = (lo + Math.imul(al8, bl3)) | 0;\n mid = (mid + Math.imul(al8, bh3)) | 0;\n mid = (mid + Math.imul(ah8, bl3)) | 0;\n hi = (hi + Math.imul(ah8, bh3)) | 0;\n lo = (lo + Math.imul(al7, bl4)) | 0;\n mid = (mid + Math.imul(al7, bh4)) | 0;\n mid = (mid + Math.imul(ah7, bl4)) | 0;\n hi = (hi + Math.imul(ah7, bh4)) | 0;\n lo = (lo + Math.imul(al6, bl5)) | 0;\n mid = (mid + Math.imul(al6, bh5)) | 0;\n mid = (mid + Math.imul(ah6, bl5)) | 0;\n hi = (hi + Math.imul(ah6, bh5)) | 0;\n lo = (lo + Math.imul(al5, bl6)) | 0;\n mid = (mid + Math.imul(al5, bh6)) | 0;\n mid = (mid + Math.imul(ah5, bl6)) | 0;\n hi = (hi + Math.imul(ah5, bh6)) | 0;\n lo = (lo + Math.imul(al4, bl7)) | 0;\n mid = (mid + Math.imul(al4, bh7)) | 0;\n mid = (mid + Math.imul(ah4, bl7)) | 0;\n hi = (hi + Math.imul(ah4, bh7)) | 0;\n lo = (lo + Math.imul(al3, bl8)) | 0;\n mid = (mid + Math.imul(al3, bh8)) | 0;\n mid = (mid + Math.imul(ah3, bl8)) | 0;\n hi = (hi + Math.imul(ah3, bh8)) | 0;\n lo = (lo + Math.imul(al2, bl9)) | 0;\n mid = (mid + Math.imul(al2, bh9)) | 0;\n mid = (mid + Math.imul(ah2, bl9)) | 0;\n hi = (hi + Math.imul(ah2, bh9)) | 0;\n var w11 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w11 >>> 26)) | 0;\n w11 &= 0x3ffffff;\n /* k = 12 */\n lo = Math.imul(al9, bl3);\n mid = Math.imul(al9, bh3);\n mid = (mid + Math.imul(ah9, bl3)) | 0;\n hi = Math.imul(ah9, bh3);\n lo = (lo + Math.imul(al8, bl4)) | 0;\n mid = (mid + Math.imul(al8, bh4)) | 0;\n mid = (mid + Math.imul(ah8, bl4)) | 0;\n hi = (hi + Math.imul(ah8, bh4)) | 0;\n lo = (lo + Math.imul(al7, bl5)) | 0;\n mid = (mid + Math.imul(al7, bh5)) | 0;\n mid = (mid + Math.imul(ah7, bl5)) | 0;\n hi = (hi + Math.imul(ah7, bh5)) | 0;\n lo = (lo + Math.imul(al6, bl6)) | 0;\n mid = (mid + Math.imul(al6, bh6)) | 0;\n mid = (mid + Math.imul(ah6, bl6)) | 0;\n hi = (hi + Math.imul(ah6, bh6)) | 0;\n lo = (lo + Math.imul(al5, bl7)) | 0;\n mid = (mid + Math.imul(al5, bh7)) | 0;\n mid = (mid + Math.imul(ah5, bl7)) | 0;\n hi = (hi + Math.imul(ah5, bh7)) | 0;\n lo = (lo + Math.imul(al4, bl8)) | 0;\n mid = (mid + Math.imul(al4, bh8)) | 0;\n mid = (mid + Math.imul(ah4, bl8)) | 0;\n hi = (hi + Math.imul(ah4, bh8)) | 0;\n lo = (lo + Math.imul(al3, bl9)) | 0;\n mid = (mid + Math.imul(al3, bh9)) | 0;\n mid = (mid + Math.imul(ah3, bl9)) | 0;\n hi = (hi + Math.imul(ah3, bh9)) | 0;\n var w12 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w12 >>> 26)) | 0;\n w12 &= 0x3ffffff;\n /* k = 13 */\n lo = Math.imul(al9, bl4);\n mid = Math.imul(al9, bh4);\n mid = (mid + Math.imul(ah9, bl4)) | 0;\n hi = Math.imul(ah9, bh4);\n lo = (lo + Math.imul(al8, bl5)) | 0;\n mid = (mid + Math.imul(al8, bh5)) | 0;\n mid = (mid + Math.imul(ah8, bl5)) | 0;\n hi = (hi + Math.imul(ah8, bh5)) | 0;\n lo = (lo + Math.imul(al7, bl6)) | 0;\n mid = (mid + Math.imul(al7, bh6)) | 0;\n mid = (mid + Math.imul(ah7, bl6)) | 0;\n hi = (hi + Math.imul(ah7, bh6)) | 0;\n lo = (lo + Math.imul(al6, bl7)) | 0;\n mid = (mid + Math.imul(al6, bh7)) | 0;\n mid = (mid + Math.imul(ah6, bl7)) | 0;\n hi = (hi + Math.imul(ah6, bh7)) | 0;\n lo = (lo + Math.imul(al5, bl8)) | 0;\n mid = (mid + Math.imul(al5, bh8)) | 0;\n mid = (mid + Math.imul(ah5, bl8)) | 0;\n hi = (hi + Math.imul(ah5, bh8)) | 0;\n lo = (lo + Math.imul(al4, bl9)) | 0;\n mid = (mid + Math.imul(al4, bh9)) | 0;\n mid = (mid + Math.imul(ah4, bl9)) | 0;\n hi = (hi + Math.imul(ah4, bh9)) | 0;\n var w13 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w13 >>> 26)) | 0;\n w13 &= 0x3ffffff;\n /* k = 14 */\n lo = Math.imul(al9, bl5);\n mid = Math.imul(al9, bh5);\n mid = (mid + Math.imul(ah9, bl5)) | 0;\n hi = Math.imul(ah9, bh5);\n lo = (lo + Math.imul(al8, bl6)) | 0;\n mid = (mid + Math.imul(al8, bh6)) | 0;\n mid = (mid + Math.imul(ah8, bl6)) | 0;\n hi = (hi + Math.imul(ah8, bh6)) | 0;\n lo = (lo + Math.imul(al7, bl7)) | 0;\n mid = (mid + Math.imul(al7, bh7)) | 0;\n mid = (mid + Math.imul(ah7, bl7)) | 0;\n hi = (hi + Math.imul(ah7, bh7)) | 0;\n lo = (lo + Math.imul(al6, bl8)) | 0;\n mid = (mid + Math.imul(al6, bh8)) | 0;\n mid = (mid + Math.imul(ah6, bl8)) | 0;\n hi = (hi + Math.imul(ah6, bh8)) | 0;\n lo = (lo + Math.imul(al5, bl9)) | 0;\n mid = (mid + Math.imul(al5, bh9)) | 0;\n mid = (mid + Math.imul(ah5, bl9)) | 0;\n hi = (hi + Math.imul(ah5, bh9)) | 0;\n var w14 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w14 >>> 26)) | 0;\n w14 &= 0x3ffffff;\n /* k = 15 */\n lo = Math.imul(al9, bl6);\n mid = Math.imul(al9, bh6);\n mid = (mid + Math.imul(ah9, bl6)) | 0;\n hi = Math.imul(ah9, bh6);\n lo = (lo + Math.imul(al8, bl7)) | 0;\n mid = (mid + Math.imul(al8, bh7)) | 0;\n mid = (mid + Math.imul(ah8, bl7)) | 0;\n hi = (hi + Math.imul(ah8, bh7)) | 0;\n lo = (lo + Math.imul(al7, bl8)) | 0;\n mid = (mid + Math.imul(al7, bh8)) | 0;\n mid = (mid + Math.imul(ah7, bl8)) | 0;\n hi = (hi + Math.imul(ah7, bh8)) | 0;\n lo = (lo + Math.imul(al6, bl9)) | 0;\n mid = (mid + Math.imul(al6, bh9)) | 0;\n mid = (mid + Math.imul(ah6, bl9)) | 0;\n hi = (hi + Math.imul(ah6, bh9)) | 0;\n var w15 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w15 >>> 26)) | 0;\n w15 &= 0x3ffffff;\n /* k = 16 */\n lo = Math.imul(al9, bl7);\n mid = Math.imul(al9, bh7);\n mid = (mid + Math.imul(ah9, bl7)) | 0;\n hi = Math.imul(ah9, bh7);\n lo = (lo + Math.imul(al8, bl8)) | 0;\n mid = (mid + Math.imul(al8, bh8)) | 0;\n mid = (mid + Math.imul(ah8, bl8)) | 0;\n hi = (hi + Math.imul(ah8, bh8)) | 0;\n lo = (lo + Math.imul(al7, bl9)) | 0;\n mid = (mid + Math.imul(al7, bh9)) | 0;\n mid = (mid + Math.imul(ah7, bl9)) | 0;\n hi = (hi + Math.imul(ah7, bh9)) | 0;\n var w16 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w16 >>> 26)) | 0;\n w16 &= 0x3ffffff;\n /* k = 17 */\n lo = Math.imul(al9, bl8);\n mid = Math.imul(al9, bh8);\n mid = (mid + Math.imul(ah9, bl8)) | 0;\n hi = Math.imul(ah9, bh8);\n lo = (lo + Math.imul(al8, bl9)) | 0;\n mid = (mid + Math.imul(al8, bh9)) | 0;\n mid = (mid + Math.imul(ah8, bl9)) | 0;\n hi = (hi + Math.imul(ah8, bh9)) | 0;\n var w17 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w17 >>> 26)) | 0;\n w17 &= 0x3ffffff;\n /* k = 18 */\n lo = Math.imul(al9, bl9);\n mid = Math.imul(al9, bh9);\n mid = (mid + Math.imul(ah9, bl9)) | 0;\n hi = Math.imul(ah9, bh9);\n var w18 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w18 >>> 26)) | 0;\n w18 &= 0x3ffffff;\n o[0] = w0;\n o[1] = w1;\n o[2] = w2;\n o[3] = w3;\n o[4] = w4;\n o[5] = w5;\n o[6] = w6;\n o[7] = w7;\n o[8] = w8;\n o[9] = w9;\n o[10] = w10;\n o[11] = w11;\n o[12] = w12;\n o[13] = w13;\n o[14] = w14;\n o[15] = w15;\n o[16] = w16;\n o[17] = w17;\n o[18] = w18;\n if (c !== 0) {\n o[19] = c;\n out.length++;\n }\n return out;\n };\n\n // Polyfill comb\n if (!Math.imul) {\n comb10MulTo = smallMulTo;\n }\n\n function bigMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n out.length = self.length + num.length;\n\n var carry = 0;\n var hncarry = 0;\n for (var k = 0; k < out.length - 1; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = hncarry;\n hncarry = 0;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = k - j;\n var a = self.words[i] | 0;\n var b = num.words[j] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n ncarry = (ncarry + ((r / 0x4000000) | 0)) | 0;\n lo = (lo + rword) | 0;\n rword = lo & 0x3ffffff;\n ncarry = (ncarry + (lo >>> 26)) | 0;\n\n hncarry += ncarry >>> 26;\n ncarry &= 0x3ffffff;\n }\n out.words[k] = rword;\n carry = ncarry;\n ncarry = hncarry;\n }\n if (carry !== 0) {\n out.words[k] = carry;\n } else {\n out.length--;\n }\n\n return out.strip();\n }\n\n function jumboMulTo (self, num, out) {\n var fftm = new FFTM();\n return fftm.mulp(self, num, out);\n }\n\n BN.prototype.mulTo = function mulTo (num, out) {\n var res;\n var len = this.length + num.length;\n if (this.length === 10 && num.length === 10) {\n res = comb10MulTo(this, num, out);\n } else if (len < 63) {\n res = smallMulTo(this, num, out);\n } else if (len < 1024) {\n res = bigMulTo(this, num, out);\n } else {\n res = jumboMulTo(this, num, out);\n }\n\n return res;\n };\n\n // Cooley-Tukey algorithm for FFT\n // slightly revisited to rely on looping instead of recursion\n\n function FFTM (x, y) {\n this.x = x;\n this.y = y;\n }\n\n FFTM.prototype.makeRBT = function makeRBT (N) {\n var t = new Array(N);\n var l = BN.prototype._countBits(N) - 1;\n for (var i = 0; i < N; i++) {\n t[i] = this.revBin(i, l, N);\n }\n\n return t;\n };\n\n // Returns binary-reversed representation of `x`\n FFTM.prototype.revBin = function revBin (x, l, N) {\n if (x === 0 || x === N - 1) return x;\n\n var rb = 0;\n for (var i = 0; i < l; i++) {\n rb |= (x & 1) << (l - i - 1);\n x >>= 1;\n }\n\n return rb;\n };\n\n // Performs \"tweedling\" phase, therefore 'emulating'\n // behaviour of the recursive algorithm\n FFTM.prototype.permute = function permute (rbt, rws, iws, rtws, itws, N) {\n for (var i = 0; i < N; i++) {\n rtws[i] = rws[rbt[i]];\n itws[i] = iws[rbt[i]];\n }\n };\n\n FFTM.prototype.transform = function transform (rws, iws, rtws, itws, N, rbt) {\n this.permute(rbt, rws, iws, rtws, itws, N);\n\n for (var s = 1; s < N; s <<= 1) {\n var l = s << 1;\n\n var rtwdf = Math.cos(2 * Math.PI / l);\n var itwdf = Math.sin(2 * Math.PI / l);\n\n for (var p = 0; p < N; p += l) {\n var rtwdf_ = rtwdf;\n var itwdf_ = itwdf;\n\n for (var j = 0; j < s; j++) {\n var re = rtws[p + j];\n var ie = itws[p + j];\n\n var ro = rtws[p + j + s];\n var io = itws[p + j + s];\n\n var rx = rtwdf_ * ro - itwdf_ * io;\n\n io = rtwdf_ * io + itwdf_ * ro;\n ro = rx;\n\n rtws[p + j] = re + ro;\n itws[p + j] = ie + io;\n\n rtws[p + j + s] = re - ro;\n itws[p + j + s] = ie - io;\n\n /* jshint maxdepth : false */\n if (j !== l) {\n rx = rtwdf * rtwdf_ - itwdf * itwdf_;\n\n itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_;\n rtwdf_ = rx;\n }\n }\n }\n }\n };\n\n FFTM.prototype.guessLen13b = function guessLen13b (n, m) {\n var N = Math.max(m, n) | 1;\n var odd = N & 1;\n var i = 0;\n for (N = N / 2 | 0; N; N = N >>> 1) {\n i++;\n }\n\n return 1 << i + 1 + odd;\n };\n\n FFTM.prototype.conjugate = function conjugate (rws, iws, N) {\n if (N <= 1) return;\n\n for (var i = 0; i < N / 2; i++) {\n var t = rws[i];\n\n rws[i] = rws[N - i - 1];\n rws[N - i - 1] = t;\n\n t = iws[i];\n\n iws[i] = -iws[N - i - 1];\n iws[N - i - 1] = -t;\n }\n };\n\n FFTM.prototype.normalize13b = function normalize13b (ws, N) {\n var carry = 0;\n for (var i = 0; i < N / 2; i++) {\n var w = Math.round(ws[2 * i + 1] / N) * 0x2000 +\n Math.round(ws[2 * i] / N) +\n carry;\n\n ws[i] = w & 0x3ffffff;\n\n if (w < 0x4000000) {\n carry = 0;\n } else {\n carry = w / 0x4000000 | 0;\n }\n }\n\n return ws;\n };\n\n FFTM.prototype.convert13b = function convert13b (ws, len, rws, N) {\n var carry = 0;\n for (var i = 0; i < len; i++) {\n carry = carry + (ws[i] | 0);\n\n rws[2 * i] = carry & 0x1fff; carry = carry >>> 13;\n rws[2 * i + 1] = carry & 0x1fff; carry = carry >>> 13;\n }\n\n // Pad with zeroes\n for (i = 2 * len; i < N; ++i) {\n rws[i] = 0;\n }\n\n assert(carry === 0);\n assert((carry & ~0x1fff) === 0);\n };\n\n FFTM.prototype.stub = function stub (N) {\n var ph = new Array(N);\n for (var i = 0; i < N; i++) {\n ph[i] = 0;\n }\n\n return ph;\n };\n\n FFTM.prototype.mulp = function mulp (x, y, out) {\n var N = 2 * this.guessLen13b(x.length, y.length);\n\n var rbt = this.makeRBT(N);\n\n var _ = this.stub(N);\n\n var rws = new Array(N);\n var rwst = new Array(N);\n var iwst = new Array(N);\n\n var nrws = new Array(N);\n var nrwst = new Array(N);\n var niwst = new Array(N);\n\n var rmws = out.words;\n rmws.length = N;\n\n this.convert13b(x.words, x.length, rws, N);\n this.convert13b(y.words, y.length, nrws, N);\n\n this.transform(rws, _, rwst, iwst, N, rbt);\n this.transform(nrws, _, nrwst, niwst, N, rbt);\n\n for (var i = 0; i < N; i++) {\n var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i];\n iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i];\n rwst[i] = rx;\n }\n\n this.conjugate(rwst, iwst, N);\n this.transform(rwst, iwst, rmws, _, N, rbt);\n this.conjugate(rmws, _, N);\n this.normalize13b(rmws, N);\n\n out.negative = x.negative ^ y.negative;\n out.length = x.length + y.length;\n return out.strip();\n };\n\n // Multiply `this` by `num`\n BN.prototype.mul = function mul (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return this.mulTo(num, out);\n };\n\n // Multiply employing FFT\n BN.prototype.mulf = function mulf (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return jumboMulTo(this, num, out);\n };\n\n // In-place Multiplication\n BN.prototype.imul = function imul (num) {\n return this.clone().mulTo(num, this);\n };\n\n BN.prototype.imuln = function imuln (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n\n // Carry\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = (this.words[i] | 0) * num;\n var lo = (w & 0x3ffffff) + (carry & 0x3ffffff);\n carry >>= 26;\n carry += (w / 0x4000000) | 0;\n // NOTE: lo is 27bit maximum\n carry += lo >>> 26;\n this.words[i] = lo & 0x3ffffff;\n }\n\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n this.length = num === 0 ? 1 : this.length;\n\n return this;\n };\n\n BN.prototype.muln = function muln (num) {\n return this.clone().imuln(num);\n };\n\n // `this` * `this`\n BN.prototype.sqr = function sqr () {\n return this.mul(this);\n };\n\n // `this` * `this` in-place\n BN.prototype.isqr = function isqr () {\n return this.imul(this.clone());\n };\n\n // Math.pow(`this`, `num`)\n BN.prototype.pow = function pow (num) {\n var w = toBitArray(num);\n if (w.length === 0) return new BN(1);\n\n // Skip leading zeroes\n var res = this;\n for (var i = 0; i < w.length; i++, res = res.sqr()) {\n if (w[i] !== 0) break;\n }\n\n if (++i < w.length) {\n for (var q = res.sqr(); i < w.length; i++, q = q.sqr()) {\n if (w[i] === 0) continue;\n\n res = res.mul(q);\n }\n }\n\n return res;\n };\n\n // Shift-left in-place\n BN.prototype.iushln = function iushln (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n var carryMask = (0x3ffffff >>> (26 - r)) << (26 - r);\n var i;\n\n if (r !== 0) {\n var carry = 0;\n\n for (i = 0; i < this.length; i++) {\n var newCarry = this.words[i] & carryMask;\n var c = ((this.words[i] | 0) - newCarry) << r;\n this.words[i] = c | carry;\n carry = newCarry >>> (26 - r);\n }\n\n if (carry) {\n this.words[i] = carry;\n this.length++;\n }\n }\n\n if (s !== 0) {\n for (i = this.length - 1; i >= 0; i--) {\n this.words[i + s] = this.words[i];\n }\n\n for (i = 0; i < s; i++) {\n this.words[i] = 0;\n }\n\n this.length += s;\n }\n\n return this.strip();\n };\n\n BN.prototype.ishln = function ishln (bits) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushln(bits);\n };\n\n // Shift-right in-place\n // NOTE: `hint` is a lowest bit before trailing zeroes\n // NOTE: if `extended` is present - it will be filled with destroyed bits\n BN.prototype.iushrn = function iushrn (bits, hint, extended) {\n assert(typeof bits === 'number' && bits >= 0);\n var h;\n if (hint) {\n h = (hint - (hint % 26)) / 26;\n } else {\n h = 0;\n }\n\n var r = bits % 26;\n var s = Math.min((bits - r) / 26, this.length);\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n var maskedWords = extended;\n\n h -= s;\n h = Math.max(0, h);\n\n // Extended mode, copy masked part\n if (maskedWords) {\n for (var i = 0; i < s; i++) {\n maskedWords.words[i] = this.words[i];\n }\n maskedWords.length = s;\n }\n\n if (s === 0) {\n // No-op, we should not move anything at all\n } else if (this.length > s) {\n this.length -= s;\n for (i = 0; i < this.length; i++) {\n this.words[i] = this.words[i + s];\n }\n } else {\n this.words[0] = 0;\n this.length = 1;\n }\n\n var carry = 0;\n for (i = this.length - 1; i >= 0 && (carry !== 0 || i >= h); i--) {\n var word = this.words[i] | 0;\n this.words[i] = (carry << (26 - r)) | (word >>> r);\n carry = word & mask;\n }\n\n // Push carried bits as a mask\n if (maskedWords && carry !== 0) {\n maskedWords.words[maskedWords.length++] = carry;\n }\n\n if (this.length === 0) {\n this.words[0] = 0;\n this.length = 1;\n }\n\n return this.strip();\n };\n\n BN.prototype.ishrn = function ishrn (bits, hint, extended) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushrn(bits, hint, extended);\n };\n\n // Shift-left\n BN.prototype.shln = function shln (bits) {\n return this.clone().ishln(bits);\n };\n\n BN.prototype.ushln = function ushln (bits) {\n return this.clone().iushln(bits);\n };\n\n // Shift-right\n BN.prototype.shrn = function shrn (bits) {\n return this.clone().ishrn(bits);\n };\n\n BN.prototype.ushrn = function ushrn (bits) {\n return this.clone().iushrn(bits);\n };\n\n // Test if n bit is set\n BN.prototype.testn = function testn (bit) {\n assert(typeof bit === 'number' && bit >= 0);\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) return false;\n\n // Check bit and return\n var w = this.words[s];\n\n return !!(w & q);\n };\n\n // Return only lowers bits of number (in-place)\n BN.prototype.imaskn = function imaskn (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n\n assert(this.negative === 0, 'imaskn works only with positive numbers');\n\n if (this.length <= s) {\n return this;\n }\n\n if (r !== 0) {\n s++;\n }\n this.length = Math.min(s, this.length);\n\n if (r !== 0) {\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n this.words[this.length - 1] &= mask;\n }\n\n return this.strip();\n };\n\n // Return only lowers bits of number\n BN.prototype.maskn = function maskn (bits) {\n return this.clone().imaskn(bits);\n };\n\n // Add plain number `num` to `this`\n BN.prototype.iaddn = function iaddn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.isubn(-num);\n\n // Possible sign change\n if (this.negative !== 0) {\n if (this.length === 1 && (this.words[0] | 0) < num) {\n this.words[0] = num - (this.words[0] | 0);\n this.negative = 0;\n return this;\n }\n\n this.negative = 0;\n this.isubn(num);\n this.negative = 1;\n return this;\n }\n\n // Add without checks\n return this._iaddn(num);\n };\n\n BN.prototype._iaddn = function _iaddn (num) {\n this.words[0] += num;\n\n // Carry\n for (var i = 0; i < this.length && this.words[i] >= 0x4000000; i++) {\n this.words[i] -= 0x4000000;\n if (i === this.length - 1) {\n this.words[i + 1] = 1;\n } else {\n this.words[i + 1]++;\n }\n }\n this.length = Math.max(this.length, i + 1);\n\n return this;\n };\n\n // Subtract plain number `num` from `this`\n BN.prototype.isubn = function isubn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.iaddn(-num);\n\n if (this.negative !== 0) {\n this.negative = 0;\n this.iaddn(num);\n this.negative = 1;\n return this;\n }\n\n this.words[0] -= num;\n\n if (this.length === 1 && this.words[0] < 0) {\n this.words[0] = -this.words[0];\n this.negative = 1;\n } else {\n // Carry\n for (var i = 0; i < this.length && this.words[i] < 0; i++) {\n this.words[i] += 0x4000000;\n this.words[i + 1] -= 1;\n }\n }\n\n return this.strip();\n };\n\n BN.prototype.addn = function addn (num) {\n return this.clone().iaddn(num);\n };\n\n BN.prototype.subn = function subn (num) {\n return this.clone().isubn(num);\n };\n\n BN.prototype.iabs = function iabs () {\n this.negative = 0;\n\n return this;\n };\n\n BN.prototype.abs = function abs () {\n return this.clone().iabs();\n };\n\n BN.prototype._ishlnsubmul = function _ishlnsubmul (num, mul, shift) {\n var len = num.length + shift;\n var i;\n\n this._expand(len);\n\n var w;\n var carry = 0;\n for (i = 0; i < num.length; i++) {\n w = (this.words[i + shift] | 0) + carry;\n var right = (num.words[i] | 0) * mul;\n w -= right & 0x3ffffff;\n carry = (w >> 26) - ((right / 0x4000000) | 0);\n this.words[i + shift] = w & 0x3ffffff;\n }\n for (; i < this.length - shift; i++) {\n w = (this.words[i + shift] | 0) + carry;\n carry = w >> 26;\n this.words[i + shift] = w & 0x3ffffff;\n }\n\n if (carry === 0) return this.strip();\n\n // Subtraction overflow\n assert(carry === -1);\n carry = 0;\n for (i = 0; i < this.length; i++) {\n w = -(this.words[i] | 0) + carry;\n carry = w >> 26;\n this.words[i] = w & 0x3ffffff;\n }\n this.negative = 1;\n\n return this.strip();\n };\n\n BN.prototype._wordDiv = function _wordDiv (num, mode) {\n var shift = this.length - num.length;\n\n var a = this.clone();\n var b = num;\n\n // Normalize\n var bhi = b.words[b.length - 1] | 0;\n var bhiBits = this._countBits(bhi);\n shift = 26 - bhiBits;\n if (shift !== 0) {\n b = b.ushln(shift);\n a.iushln(shift);\n bhi = b.words[b.length - 1] | 0;\n }\n\n // Initialize quotient\n var m = a.length - b.length;\n var q;\n\n if (mode !== 'mod') {\n q = new BN(null);\n q.length = m + 1;\n q.words = new Array(q.length);\n for (var i = 0; i < q.length; i++) {\n q.words[i] = 0;\n }\n }\n\n var diff = a.clone()._ishlnsubmul(b, 1, m);\n if (diff.negative === 0) {\n a = diff;\n if (q) {\n q.words[m] = 1;\n }\n }\n\n for (var j = m - 1; j >= 0; j--) {\n var qj = (a.words[b.length + j] | 0) * 0x4000000 +\n (a.words[b.length + j - 1] | 0);\n\n // NOTE: (qj / bhi) is (0x3ffffff * 0x4000000 + 0x3ffffff) / 0x2000000 max\n // (0x7ffffff)\n qj = Math.min((qj / bhi) | 0, 0x3ffffff);\n\n a._ishlnsubmul(b, qj, j);\n while (a.negative !== 0) {\n qj--;\n a.negative = 0;\n a._ishlnsubmul(b, 1, j);\n if (!a.isZero()) {\n a.negative ^= 1;\n }\n }\n if (q) {\n q.words[j] = qj;\n }\n }\n if (q) {\n q.strip();\n }\n a.strip();\n\n // Denormalize\n if (mode !== 'div' && shift !== 0) {\n a.iushrn(shift);\n }\n\n return {\n div: q || null,\n mod: a\n };\n };\n\n // NOTE: 1) `mode` can be set to `mod` to request mod only,\n // to `div` to request div only, or be absent to\n // request both div & mod\n // 2) `positive` is true if unsigned mod is requested\n BN.prototype.divmod = function divmod (num, mode, positive) {\n assert(!num.isZero());\n\n if (this.isZero()) {\n return {\n div: new BN(0),\n mod: new BN(0)\n };\n }\n\n var div, mod, res;\n if (this.negative !== 0 && num.negative === 0) {\n res = this.neg().divmod(num, mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.iadd(num);\n }\n }\n\n return {\n div: div,\n mod: mod\n };\n }\n\n if (this.negative === 0 && num.negative !== 0) {\n res = this.divmod(num.neg(), mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n return {\n div: div,\n mod: res.mod\n };\n }\n\n if ((this.negative & num.negative) !== 0) {\n res = this.neg().divmod(num.neg(), mode);\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.isub(num);\n }\n }\n\n return {\n div: res.div,\n mod: mod\n };\n }\n\n // Both numbers are positive at this point\n\n // Strip both numbers to approximate shift value\n if (num.length > this.length || this.cmp(num) < 0) {\n return {\n div: new BN(0),\n mod: this\n };\n }\n\n // Very short reduction\n if (num.length === 1) {\n if (mode === 'div') {\n return {\n div: this.divn(num.words[0]),\n mod: null\n };\n }\n\n if (mode === 'mod') {\n return {\n div: null,\n mod: new BN(this.modn(num.words[0]))\n };\n }\n\n return {\n div: this.divn(num.words[0]),\n mod: new BN(this.modn(num.words[0]))\n };\n }\n\n return this._wordDiv(num, mode);\n };\n\n // Find `this` / `num`\n BN.prototype.div = function div (num) {\n return this.divmod(num, 'div', false).div;\n };\n\n // Find `this` % `num`\n BN.prototype.mod = function mod (num) {\n return this.divmod(num, 'mod', false).mod;\n };\n\n BN.prototype.umod = function umod (num) {\n return this.divmod(num, 'mod', true).mod;\n };\n\n // Find Round(`this` / `num`)\n BN.prototype.divRound = function divRound (num) {\n var dm = this.divmod(num);\n\n // Fast case - exact division\n if (dm.mod.isZero()) return dm.div;\n\n var mod = dm.div.negative !== 0 ? dm.mod.isub(num) : dm.mod;\n\n var half = num.ushrn(1);\n var r2 = num.andln(1);\n var cmp = mod.cmp(half);\n\n // Round down\n if (cmp < 0 || r2 === 1 && cmp === 0) return dm.div;\n\n // Round up\n return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1);\n };\n\n BN.prototype.modn = function modn (num) {\n assert(num <= 0x3ffffff);\n var p = (1 << 26) % num;\n\n var acc = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n acc = (p * acc + (this.words[i] | 0)) % num;\n }\n\n return acc;\n };\n\n // In-place division by number\n BN.prototype.idivn = function idivn (num) {\n assert(num <= 0x3ffffff);\n\n var carry = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var w = (this.words[i] | 0) + carry * 0x4000000;\n this.words[i] = (w / num) | 0;\n carry = w % num;\n }\n\n return this.strip();\n };\n\n BN.prototype.divn = function divn (num) {\n return this.clone().idivn(num);\n };\n\n BN.prototype.egcd = function egcd (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var x = this;\n var y = p.clone();\n\n if (x.negative !== 0) {\n x = x.umod(p);\n } else {\n x = x.clone();\n }\n\n // A * x + B * y = x\n var A = new BN(1);\n var B = new BN(0);\n\n // C * x + D * y = y\n var C = new BN(0);\n var D = new BN(1);\n\n var g = 0;\n\n while (x.isEven() && y.isEven()) {\n x.iushrn(1);\n y.iushrn(1);\n ++g;\n }\n\n var yp = y.clone();\n var xp = x.clone();\n\n while (!x.isZero()) {\n for (var i = 0, im = 1; (x.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n x.iushrn(i);\n while (i-- > 0) {\n if (A.isOdd() || B.isOdd()) {\n A.iadd(yp);\n B.isub(xp);\n }\n\n A.iushrn(1);\n B.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n y.iushrn(j);\n while (j-- > 0) {\n if (C.isOdd() || D.isOdd()) {\n C.iadd(yp);\n D.isub(xp);\n }\n\n C.iushrn(1);\n D.iushrn(1);\n }\n }\n\n if (x.cmp(y) >= 0) {\n x.isub(y);\n A.isub(C);\n B.isub(D);\n } else {\n y.isub(x);\n C.isub(A);\n D.isub(B);\n }\n }\n\n return {\n a: C,\n b: D,\n gcd: y.iushln(g)\n };\n };\n\n // This is reduced incarnation of the binary EEA\n // above, designated to invert members of the\n // _prime_ fields F(p) at a maximal speed\n BN.prototype._invmp = function _invmp (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var a = this;\n var b = p.clone();\n\n if (a.negative !== 0) {\n a = a.umod(p);\n } else {\n a = a.clone();\n }\n\n var x1 = new BN(1);\n var x2 = new BN(0);\n\n var delta = b.clone();\n\n while (a.cmpn(1) > 0 && b.cmpn(1) > 0) {\n for (var i = 0, im = 1; (a.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n a.iushrn(i);\n while (i-- > 0) {\n if (x1.isOdd()) {\n x1.iadd(delta);\n }\n\n x1.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n b.iushrn(j);\n while (j-- > 0) {\n if (x2.isOdd()) {\n x2.iadd(delta);\n }\n\n x2.iushrn(1);\n }\n }\n\n if (a.cmp(b) >= 0) {\n a.isub(b);\n x1.isub(x2);\n } else {\n b.isub(a);\n x2.isub(x1);\n }\n }\n\n var res;\n if (a.cmpn(1) === 0) {\n res = x1;\n } else {\n res = x2;\n }\n\n if (res.cmpn(0) < 0) {\n res.iadd(p);\n }\n\n return res;\n };\n\n BN.prototype.gcd = function gcd (num) {\n if (this.isZero()) return num.abs();\n if (num.isZero()) return this.abs();\n\n var a = this.clone();\n var b = num.clone();\n a.negative = 0;\n b.negative = 0;\n\n // Remove common factor of two\n for (var shift = 0; a.isEven() && b.isEven(); shift++) {\n a.iushrn(1);\n b.iushrn(1);\n }\n\n do {\n while (a.isEven()) {\n a.iushrn(1);\n }\n while (b.isEven()) {\n b.iushrn(1);\n }\n\n var r = a.cmp(b);\n if (r < 0) {\n // Swap `a` and `b` to make `a` always bigger than `b`\n var t = a;\n a = b;\n b = t;\n } else if (r === 0 || b.cmpn(1) === 0) {\n break;\n }\n\n a.isub(b);\n } while (true);\n\n return b.iushln(shift);\n };\n\n // Invert number in the field F(num)\n BN.prototype.invm = function invm (num) {\n return this.egcd(num).a.umod(num);\n };\n\n BN.prototype.isEven = function isEven () {\n return (this.words[0] & 1) === 0;\n };\n\n BN.prototype.isOdd = function isOdd () {\n return (this.words[0] & 1) === 1;\n };\n\n // And first word and num\n BN.prototype.andln = function andln (num) {\n return this.words[0] & num;\n };\n\n // Increment at the bit position in-line\n BN.prototype.bincn = function bincn (bit) {\n assert(typeof bit === 'number');\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) {\n this._expand(s + 1);\n this.words[s] |= q;\n return this;\n }\n\n // Add bit and propagate, if needed\n var carry = q;\n for (var i = s; carry !== 0 && i < this.length; i++) {\n var w = this.words[i] | 0;\n w += carry;\n carry = w >>> 26;\n w &= 0x3ffffff;\n this.words[i] = w;\n }\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n return this;\n };\n\n BN.prototype.isZero = function isZero () {\n return this.length === 1 && this.words[0] === 0;\n };\n\n BN.prototype.cmpn = function cmpn (num) {\n var negative = num < 0;\n\n if (this.negative !== 0 && !negative) return -1;\n if (this.negative === 0 && negative) return 1;\n\n this.strip();\n\n var res;\n if (this.length > 1) {\n res = 1;\n } else {\n if (negative) {\n num = -num;\n }\n\n assert(num <= 0x3ffffff, 'Number is too big');\n\n var w = this.words[0] | 0;\n res = w === num ? 0 : w < num ? -1 : 1;\n }\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Compare two numbers and return:\n // 1 - if `this` > `num`\n // 0 - if `this` == `num`\n // -1 - if `this` < `num`\n BN.prototype.cmp = function cmp (num) {\n if (this.negative !== 0 && num.negative === 0) return -1;\n if (this.negative === 0 && num.negative !== 0) return 1;\n\n var res = this.ucmp(num);\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Unsigned comparison\n BN.prototype.ucmp = function ucmp (num) {\n // At this point both numbers have the same sign\n if (this.length > num.length) return 1;\n if (this.length < num.length) return -1;\n\n var res = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var a = this.words[i] | 0;\n var b = num.words[i] | 0;\n\n if (a === b) continue;\n if (a < b) {\n res = -1;\n } else if (a > b) {\n res = 1;\n }\n break;\n }\n return res;\n };\n\n BN.prototype.gtn = function gtn (num) {\n return this.cmpn(num) === 1;\n };\n\n BN.prototype.gt = function gt (num) {\n return this.cmp(num) === 1;\n };\n\n BN.prototype.gten = function gten (num) {\n return this.cmpn(num) >= 0;\n };\n\n BN.prototype.gte = function gte (num) {\n return this.cmp(num) >= 0;\n };\n\n BN.prototype.ltn = function ltn (num) {\n return this.cmpn(num) === -1;\n };\n\n BN.prototype.lt = function lt (num) {\n return this.cmp(num) === -1;\n };\n\n BN.prototype.lten = function lten (num) {\n return this.cmpn(num) <= 0;\n };\n\n BN.prototype.lte = function lte (num) {\n return this.cmp(num) <= 0;\n };\n\n BN.prototype.eqn = function eqn (num) {\n return this.cmpn(num) === 0;\n };\n\n BN.prototype.eq = function eq (num) {\n return this.cmp(num) === 0;\n };\n\n //\n // A reduce context, could be using montgomery or something better, depending\n // on the `m` itself.\n //\n BN.red = function red (num) {\n return new Red(num);\n };\n\n BN.prototype.toRed = function toRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n assert(this.negative === 0, 'red works only with positives');\n return ctx.convertTo(this)._forceRed(ctx);\n };\n\n BN.prototype.fromRed = function fromRed () {\n assert(this.red, 'fromRed works only with numbers in reduction context');\n return this.red.convertFrom(this);\n };\n\n BN.prototype._forceRed = function _forceRed (ctx) {\n this.red = ctx;\n return this;\n };\n\n BN.prototype.forceRed = function forceRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n return this._forceRed(ctx);\n };\n\n BN.prototype.redAdd = function redAdd (num) {\n assert(this.red, 'redAdd works only with red numbers');\n return this.red.add(this, num);\n };\n\n BN.prototype.redIAdd = function redIAdd (num) {\n assert(this.red, 'redIAdd works only with red numbers');\n return this.red.iadd(this, num);\n };\n\n BN.prototype.redSub = function redSub (num) {\n assert(this.red, 'redSub works only with red numbers');\n return this.red.sub(this, num);\n };\n\n BN.prototype.redISub = function redISub (num) {\n assert(this.red, 'redISub works only with red numbers');\n return this.red.isub(this, num);\n };\n\n BN.prototype.redShl = function redShl (num) {\n assert(this.red, 'redShl works only with red numbers');\n return this.red.shl(this, num);\n };\n\n BN.prototype.redMul = function redMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.mul(this, num);\n };\n\n BN.prototype.redIMul = function redIMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.imul(this, num);\n };\n\n BN.prototype.redSqr = function redSqr () {\n assert(this.red, 'redSqr works only with red numbers');\n this.red._verify1(this);\n return this.red.sqr(this);\n };\n\n BN.prototype.redISqr = function redISqr () {\n assert(this.red, 'redISqr works only with red numbers');\n this.red._verify1(this);\n return this.red.isqr(this);\n };\n\n // Square root over p\n BN.prototype.redSqrt = function redSqrt () {\n assert(this.red, 'redSqrt works only with red numbers');\n this.red._verify1(this);\n return this.red.sqrt(this);\n };\n\n BN.prototype.redInvm = function redInvm () {\n assert(this.red, 'redInvm works only with red numbers');\n this.red._verify1(this);\n return this.red.invm(this);\n };\n\n // Return negative clone of `this` % `red modulo`\n BN.prototype.redNeg = function redNeg () {\n assert(this.red, 'redNeg works only with red numbers');\n this.red._verify1(this);\n return this.red.neg(this);\n };\n\n BN.prototype.redPow = function redPow (num) {\n assert(this.red && !num.red, 'redPow(normalNum)');\n this.red._verify1(this);\n return this.red.pow(this, num);\n };\n\n // Prime numbers with efficient reduction\n var primes = {\n k256: null,\n p224: null,\n p192: null,\n p25519: null\n };\n\n // Pseudo-Mersenne prime\n function MPrime (name, p) {\n // P = 2 ^ N - K\n this.name = name;\n this.p = new BN(p, 16);\n this.n = this.p.bitLength();\n this.k = new BN(1).iushln(this.n).isub(this.p);\n\n this.tmp = this._tmp();\n }\n\n MPrime.prototype._tmp = function _tmp () {\n var tmp = new BN(null);\n tmp.words = new Array(Math.ceil(this.n / 13));\n return tmp;\n };\n\n MPrime.prototype.ireduce = function ireduce (num) {\n // Assumes that `num` is less than `P^2`\n // num = HI * (2 ^ N - K) + HI * K + LO = HI * K + LO (mod P)\n var r = num;\n var rlen;\n\n do {\n this.split(r, this.tmp);\n r = this.imulK(r);\n r = r.iadd(this.tmp);\n rlen = r.bitLength();\n } while (rlen > this.n);\n\n var cmp = rlen < this.n ? -1 : r.ucmp(this.p);\n if (cmp === 0) {\n r.words[0] = 0;\n r.length = 1;\n } else if (cmp > 0) {\n r.isub(this.p);\n } else {\n if (r.strip !== undefined) {\n // r is BN v4 instance\n r.strip();\n } else {\n // r is BN v5 instance\n r._strip();\n }\n }\n\n return r;\n };\n\n MPrime.prototype.split = function split (input, out) {\n input.iushrn(this.n, 0, out);\n };\n\n MPrime.prototype.imulK = function imulK (num) {\n return num.imul(this.k);\n };\n\n function K256 () {\n MPrime.call(\n this,\n 'k256',\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f');\n }\n inherits(K256, MPrime);\n\n K256.prototype.split = function split (input, output) {\n // 256 = 9 * 26 + 22\n var mask = 0x3fffff;\n\n var outLen = Math.min(input.length, 9);\n for (var i = 0; i < outLen; i++) {\n output.words[i] = input.words[i];\n }\n output.length = outLen;\n\n if (input.length <= 9) {\n input.words[0] = 0;\n input.length = 1;\n return;\n }\n\n // Shift by 9 limbs\n var prev = input.words[9];\n output.words[output.length++] = prev & mask;\n\n for (i = 10; i < input.length; i++) {\n var next = input.words[i] | 0;\n input.words[i - 10] = ((next & mask) << 4) | (prev >>> 22);\n prev = next;\n }\n prev >>>= 22;\n input.words[i - 10] = prev;\n if (prev === 0 && input.length > 10) {\n input.length -= 10;\n } else {\n input.length -= 9;\n }\n };\n\n K256.prototype.imulK = function imulK (num) {\n // K = 0x1000003d1 = [ 0x40, 0x3d1 ]\n num.words[num.length] = 0;\n num.words[num.length + 1] = 0;\n num.length += 2;\n\n // bounded at: 0x40 * 0x3ffffff + 0x3d0 = 0x100000390\n var lo = 0;\n for (var i = 0; i < num.length; i++) {\n var w = num.words[i] | 0;\n lo += w * 0x3d1;\n num.words[i] = lo & 0x3ffffff;\n lo = w * 0x40 + ((lo / 0x4000000) | 0);\n }\n\n // Fast length reduction\n if (num.words[num.length - 1] === 0) {\n num.length--;\n if (num.words[num.length - 1] === 0) {\n num.length--;\n }\n }\n return num;\n };\n\n function P224 () {\n MPrime.call(\n this,\n 'p224',\n 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001');\n }\n inherits(P224, MPrime);\n\n function P192 () {\n MPrime.call(\n this,\n 'p192',\n 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff');\n }\n inherits(P192, MPrime);\n\n function P25519 () {\n // 2 ^ 255 - 19\n MPrime.call(\n this,\n '25519',\n '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed');\n }\n inherits(P25519, MPrime);\n\n P25519.prototype.imulK = function imulK (num) {\n // K = 0x13\n var carry = 0;\n for (var i = 0; i < num.length; i++) {\n var hi = (num.words[i] | 0) * 0x13 + carry;\n var lo = hi & 0x3ffffff;\n hi >>>= 26;\n\n num.words[i] = lo;\n carry = hi;\n }\n if (carry !== 0) {\n num.words[num.length++] = carry;\n }\n return num;\n };\n\n // Exported mostly for testing purposes, use plain name instead\n BN._prime = function prime (name) {\n // Cached version of prime\n if (primes[name]) return primes[name];\n\n var prime;\n if (name === 'k256') {\n prime = new K256();\n } else if (name === 'p224') {\n prime = new P224();\n } else if (name === 'p192') {\n prime = new P192();\n } else if (name === 'p25519') {\n prime = new P25519();\n } else {\n throw new Error('Unknown prime ' + name);\n }\n primes[name] = prime;\n\n return prime;\n };\n\n //\n // Base reduction engine\n //\n function Red (m) {\n if (typeof m === 'string') {\n var prime = BN._prime(m);\n this.m = prime.p;\n this.prime = prime;\n } else {\n assert(m.gtn(1), 'modulus must be greater than 1');\n this.m = m;\n this.prime = null;\n }\n }\n\n Red.prototype._verify1 = function _verify1 (a) {\n assert(a.negative === 0, 'red works only with positives');\n assert(a.red, 'red works only with red numbers');\n };\n\n Red.prototype._verify2 = function _verify2 (a, b) {\n assert((a.negative | b.negative) === 0, 'red works only with positives');\n assert(a.red && a.red === b.red,\n 'red works only with red numbers');\n };\n\n Red.prototype.imod = function imod (a) {\n if (this.prime) return this.prime.ireduce(a)._forceRed(this);\n return a.umod(this.m)._forceRed(this);\n };\n\n Red.prototype.neg = function neg (a) {\n if (a.isZero()) {\n return a.clone();\n }\n\n return this.m.sub(a)._forceRed(this);\n };\n\n Red.prototype.add = function add (a, b) {\n this._verify2(a, b);\n\n var res = a.add(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.iadd = function iadd (a, b) {\n this._verify2(a, b);\n\n var res = a.iadd(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res;\n };\n\n Red.prototype.sub = function sub (a, b) {\n this._verify2(a, b);\n\n var res = a.sub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.isub = function isub (a, b) {\n this._verify2(a, b);\n\n var res = a.isub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res;\n };\n\n Red.prototype.shl = function shl (a, num) {\n this._verify1(a);\n return this.imod(a.ushln(num));\n };\n\n Red.prototype.imul = function imul (a, b) {\n this._verify2(a, b);\n return this.imod(a.imul(b));\n };\n\n Red.prototype.mul = function mul (a, b) {\n this._verify2(a, b);\n return this.imod(a.mul(b));\n };\n\n Red.prototype.isqr = function isqr (a) {\n return this.imul(a, a.clone());\n };\n\n Red.prototype.sqr = function sqr (a) {\n return this.mul(a, a);\n };\n\n Red.prototype.sqrt = function sqrt (a) {\n if (a.isZero()) return a.clone();\n\n var mod3 = this.m.andln(3);\n assert(mod3 % 2 === 1);\n\n // Fast case\n if (mod3 === 3) {\n var pow = this.m.add(new BN(1)).iushrn(2);\n return this.pow(a, pow);\n }\n\n // Tonelli-Shanks algorithm (Totally unoptimized and slow)\n //\n // Find Q and S, that Q * 2 ^ S = (P - 1)\n var q = this.m.subn(1);\n var s = 0;\n while (!q.isZero() && q.andln(1) === 0) {\n s++;\n q.iushrn(1);\n }\n assert(!q.isZero());\n\n var one = new BN(1).toRed(this);\n var nOne = one.redNeg();\n\n // Find quadratic non-residue\n // NOTE: Max is such because of generalized Riemann hypothesis.\n var lpow = this.m.subn(1).iushrn(1);\n var z = this.m.bitLength();\n z = new BN(2 * z * z).toRed(this);\n\n while (this.pow(z, lpow).cmp(nOne) !== 0) {\n z.redIAdd(nOne);\n }\n\n var c = this.pow(z, q);\n var r = this.pow(a, q.addn(1).iushrn(1));\n var t = this.pow(a, q);\n var m = s;\n while (t.cmp(one) !== 0) {\n var tmp = t;\n for (var i = 0; tmp.cmp(one) !== 0; i++) {\n tmp = tmp.redSqr();\n }\n assert(i < m);\n var b = this.pow(c, new BN(1).iushln(m - i - 1));\n\n r = r.redMul(b);\n c = b.redSqr();\n t = t.redMul(c);\n m = i;\n }\n\n return r;\n };\n\n Red.prototype.invm = function invm (a) {\n var inv = a._invmp(this.m);\n if (inv.negative !== 0) {\n inv.negative = 0;\n return this.imod(inv).redNeg();\n } else {\n return this.imod(inv);\n }\n };\n\n Red.prototype.pow = function pow (a, num) {\n if (num.isZero()) return new BN(1).toRed(this);\n if (num.cmpn(1) === 0) return a.clone();\n\n var windowSize = 4;\n var wnd = new Array(1 << windowSize);\n wnd[0] = new BN(1).toRed(this);\n wnd[1] = a;\n for (var i = 2; i < wnd.length; i++) {\n wnd[i] = this.mul(wnd[i - 1], a);\n }\n\n var res = wnd[0];\n var current = 0;\n var currentLen = 0;\n var start = num.bitLength() % 26;\n if (start === 0) {\n start = 26;\n }\n\n for (i = num.length - 1; i >= 0; i--) {\n var word = num.words[i];\n for (var j = start - 1; j >= 0; j--) {\n var bit = (word >> j) & 1;\n if (res !== wnd[0]) {\n res = this.sqr(res);\n }\n\n if (bit === 0 && current === 0) {\n currentLen = 0;\n continue;\n }\n\n current <<= 1;\n current |= bit;\n currentLen++;\n if (currentLen !== windowSize && (i !== 0 || j !== 0)) continue;\n\n res = this.mul(res, wnd[current]);\n currentLen = 0;\n current = 0;\n }\n start = 26;\n }\n\n return res;\n };\n\n Red.prototype.convertTo = function convertTo (num) {\n var r = num.umod(this.m);\n\n return r === num ? r.clone() : r;\n };\n\n Red.prototype.convertFrom = function convertFrom (num) {\n var res = num.clone();\n res.red = null;\n return res;\n };\n\n //\n // Montgomery method engine\n //\n\n BN.mont = function mont (num) {\n return new Mont(num);\n };\n\n function Mont (m) {\n Red.call(this, m);\n\n this.shift = this.m.bitLength();\n if (this.shift % 26 !== 0) {\n this.shift += 26 - (this.shift % 26);\n }\n\n this.r = new BN(1).iushln(this.shift);\n this.r2 = this.imod(this.r.sqr());\n this.rinv = this.r._invmp(this.m);\n\n this.minv = this.rinv.mul(this.r).isubn(1).div(this.m);\n this.minv = this.minv.umod(this.r);\n this.minv = this.r.sub(this.minv);\n }\n inherits(Mont, Red);\n\n Mont.prototype.convertTo = function convertTo (num) {\n return this.imod(num.ushln(this.shift));\n };\n\n Mont.prototype.convertFrom = function convertFrom (num) {\n var r = this.imod(num.mul(this.rinv));\n r.red = null;\n return r;\n };\n\n Mont.prototype.imul = function imul (a, b) {\n if (a.isZero() || b.isZero()) {\n a.words[0] = 0;\n a.length = 1;\n return a;\n }\n\n var t = a.imul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.mul = function mul (a, b) {\n if (a.isZero() || b.isZero()) return new BN(0)._forceRed(this);\n\n var t = a.mul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.invm = function invm (a) {\n // (AR)^-1 * R^2 = (A^-1 * R^-1) * R^2 = A^-1 * R\n var res = this.imod(a._invmp(this.m).mul(this.r2));\n return res._forceRed(this);\n };\n})(typeof module === 'undefined' || module, this);\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!./ContactMenuEntry.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!./ContactMenuEntry.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!./ContactMenuEntry.vue?vue&type=style&index=0&id=56b7b257&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!./ContactMenuEntry.vue?vue&type=style&index=0&id=56b7b257&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./ContactMenuEntry.vue?vue&type=template&id=56b7b257&scoped=true\"\nimport script from \"./ContactMenuEntry.vue?vue&type=script&lang=js\"\nexport * from \"./ContactMenuEntry.vue?vue&type=script&lang=js\"\nimport style0 from \"./ContactMenuEntry.vue?vue&type=style&index=0&id=56b7b257&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 \"56b7b257\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('li',{staticClass:\"contact\"},[_c('NcAvatar',{staticClass:\"contact__avatar\",attrs:{\"user\":_vm.contact.isUser ? _vm.contact.uid : undefined,\"is-no-user\":!_vm.contact.isUser,\"disable-menu\":true,\"display-name\":_vm.contact.avatarLabel,\"preloaded-user-status\":_vm.preloadedUserStatus}}),_vm._v(\" \"),_c('a',{staticClass:\"contact__body\",attrs:{\"href\":_vm.contact.profileUrl || _vm.contact.topAction?.hyperlink}},[_c('div',{staticClass:\"contact__body__full-name\"},[_vm._v(_vm._s(_vm.contact.fullName))]),_vm._v(\" \"),(_vm.contact.lastMessage)?_c('div',{staticClass:\"contact__body__last-message\"},[_vm._v(_vm._s(_vm.contact.lastMessage))]):_vm._e(),_vm._v(\" \"),(_vm.contact.statusMessage)?_c('div',{staticClass:\"contact__body__status-message\"},[_vm._v(_vm._s(_vm.contact.statusMessage))]):_c('div',{staticClass:\"contact__body__email-address\"},[_vm._v(_vm._s(_vm.contact.emailAddresses[0]))])]),_vm._v(\" \"),(_vm.actions.length)?_c('NcActions',{attrs:{\"inline\":_vm.contact.topAction ? 1 : 0}},[_vm._l((_vm.actions),function(action,idx){return [(action.hyperlink !== '#')?_c('NcActionLink',{key:`${idx}-link`,staticClass:\"other-actions\",attrs:{\"href\":action.hyperlink},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('img',{staticClass:\"contact__action__icon\",attrs:{\"aria-hidden\":\"true\",\"src\":action.icon}})]},proxy:true}],null,true)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(action.title)+\"\\n\\t\\t\\t\")]):_c('NcActionText',{key:`${idx}-text`,staticClass:\"other-actions\",scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('img',{staticClass:\"contact__action__icon\",attrs:{\"aria-hidden\":\"true\",\"src\":action.icon}})]},proxy:true}],null,true)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(action.title)+\"\\n\\t\\t\\t\")])]}),_vm._v(\" \"),_vm._l((_vm.jsActions),function(action){return _c('NcActionButton',{key:action.id,staticClass:\"other-actions\",attrs:{\"close-after-click\":true},on:{\"click\":function($event){return action.callback(_vm.contact)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{attrs:{\"svg\":action.iconSvg(_vm.contact)}})]},proxy:true}],null,true)},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(action.displayName(_vm.contact))+\"\\n\\t\\t\")])})],2):_vm._e()],1)\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","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c(_setup.NcHeaderMenu,{staticClass:\"contactsmenu\",attrs:{\"id\":\"contactsmenu\",\"aria-label\":_setup.t('core', 'Search contacts'),\"exclude-click-outside-selectors\":\".v-popper__popper\"},on:{\"open\":_setup.onOpened},scopedSlots:_vm._u([{key:\"trigger\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{staticClass:\"contactsmenu__trigger-icon\",attrs:{\"path\":_setup.mdiContacts}})]},proxy:true}])},[_vm._v(\" \"),_c('div',{staticClass:\"contactsmenu__menu\"},[_c('div',{staticClass:\"contactsmenu__menu__search-container\"},[_c('div',{staticClass:\"contactsmenu__menu__input-wrapper\"},[_c(_setup.NcActions,{attrs:{\"force-menu\":\"\",\"aria-label\":_setup.t('core', 'Filter by team'),\"variant\":\"tertiary\"},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.mdiAccountGroupOutline}})]},proxy:true},{key:\"default\",fn:function(){return [_c(_setup.NcActionButton,{attrs:{\"modelValue\":_setup.selectedTeam,\"value\":\"$_all_$\",\"type\":\"radio\"},on:{\"update:modelValue\":function($event){_setup.selectedTeam=$event},\"update:model-value\":function($event){_setup.selectedTeam=$event}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\"+_vm._s(_setup.t('core', 'All teams'))+\"\\n\\t\\t\\t\\t\\t\\t\")]),_vm._v(\" \"),_vm._l((_setup.teams),function(team){return _c(_setup.NcActionButton,{key:team.teamId,attrs:{\"modelValue\":_setup.selectedTeam,\"value\":team.teamId,\"type\":\"radio\"},on:{\"update:modelValue\":function($event){_setup.selectedTeam=$event},\"update:model-value\":function($event){_setup.selectedTeam=$event}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\"+_vm._s(team.displayName)+\"\\n\\t\\t\\t\\t\\t\\t\")])})]},proxy:true}])}),_vm._v(\" \"),_c(_setup.NcTextField,{ref:\"contactsMenuInput\",staticClass:\"contactsmenu__menu__search\",attrs:{\"id\":\"contactsmenu__menu__search\",\"trailing-button-icon\":\"close\",\"label\":_setup.selectedTeamName\n\t\t\t\t\t\t? _setup.t('core', 'Search contacts in team {team}', { team: _setup.selectedTeamName })\n\t\t\t\t\t\t: _setup.t('core', 'Search contacts …'),\"trailing-button-label\":_setup.t('core', 'Reset search'),\"show-trailing-button\":_setup.searchTerm !== '',\"type\":\"search\"},on:{\"input\":_setup.onInputDebounced,\"trailing-button-click\":_setup.onReset},model:{value:(_setup.searchTerm),callback:function ($$v) {_setup.searchTerm=$$v},expression:\"searchTerm\"}})],1),_vm._v(\" \"),_vm._l((_setup.actions),function(action){return _c(_setup.NcButton,{key:action.id,staticClass:\"contactsmenu__menu__action\",attrs:{\"aria-label\":action.label,\"title\":action.label,\"variant\":\"tertiary-no-background\"},on:{\"click\":action.onClick},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"svg\":action.icon}})]},proxy:true}],null,true)})})],2),_vm._v(\" \"),(_setup.hasError)?_c(_setup.NcEmptyContent,{attrs:{\"name\":_setup.t('core', 'Could not load your contacts')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.mdiMagnify}})]},proxy:true}],null,false,1853740774)}):(_setup.loadingText)?_c(_setup.NcEmptyContent,{attrs:{\"name\":_setup.loadingText},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcLoadingIcon)]},proxy:true}])}):(_setup.contacts.length === 0)?_c(_setup.NcEmptyContent,{attrs:{\"name\":_setup.t('core', 'No contacts found')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.mdiMagnify}})]},proxy:true}])}):_c('div',{staticClass:\"contactsmenu__menu__content\"},[_c('div',{attrs:{\"id\":\"contactsmenu-contacts\"}},[_c('ul',{attrs:{\"aria-label\":_setup.t('core', 'Contacts list')}},_vm._l((_setup.contacts),function(contact){return _c(_setup.ContactMenuEntry,{key:contact.id,attrs:{\"contact\":contact}})}),1)]),_vm._v(\" \"),(_setup.contactsAppEnabled)?_c('div',{staticClass:\"contactsmenu__menu__content__footer\"},[_c(_setup.NcButton,{attrs:{\"variant\":\"tertiary\",\"href\":_setup.contactsAppURL}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_setup.t('core', 'Show all contacts'))+\"\\n\\t\\t\\t\\t\")])],1):(_setup.user.isAdmin)?_c('div',{staticClass:\"contactsmenu__menu__content__footer\"},[_c(_setup.NcButton,{attrs:{\"variant\":\"tertiary\",\"href\":_setup.contactsAppMgmtURL}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_setup.t('core', 'Install the Contacts app'))+\"\\n\\t\\t\\t\\t\")])],1):_vm._e()])],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??clonedRuleSet-6.use[1]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContactsMenu.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??clonedRuleSet-6.use[1]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContactsMenu.vue?vue&type=script&setup=true&lang=ts\"","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/sass-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContactsMenu.vue?vue&type=style&index=0&id=253ecd69&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!./ContactsMenu.vue?vue&type=style&index=0&id=253ecd69&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./ContactsMenu.vue?vue&type=template&id=253ecd69&scoped=true\"\nimport script from \"./ContactsMenu.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./ContactsMenu.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./ContactsMenu.vue?vue&type=style&index=0&id=253ecd69&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 \"253ecd69\",\n null\n \n)\n\nexport default component.exports","/**\n * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nexport default class ContactsMenuService {\n _actions;\n constructor() {\n this._actions = [];\n }\n get actions() {\n return this._actions;\n }\n /*\n * Register an action for the contacts menu\n * Actions use NcButton\n */\n addAction(action) {\n this._actions.push(action);\n }\n}\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('nav',{ref:\"appMenu\",staticClass:\"app-menu\",attrs:{\"aria-label\":_vm.t('core', 'Applications menu')}},[_c('ul',{staticClass:\"app-menu__list\",attrs:{\"aria-label\":_vm.t('core', 'Apps')}},_vm._l((_vm.mainAppList),function(app){return _c('AppMenuEntry',{key:app.id,attrs:{\"app\":app}})}),1),_vm._v(\" \"),_c('NcActions',{staticClass:\"app-menu__overflow\",attrs:{\"aria-label\":_vm.t('core', 'More apps')}},_vm._l((_vm.popoverAppList),function(app){return _c('NcActionLink',{key:app.id,staticClass:\"app-menu__overflow-entry\",attrs:{\"aria-current\":app.active ? 'page' : false,\"href\":app.href,\"icon\":app.icon}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(app.name)+\"\\n\\t\\t\")])}),1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./CircleOutline.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./CircleOutline.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./CircleOutline.vue?vue&type=template&id=c013567c\"\nimport script from \"./CircleOutline.vue?vue&type=script&lang=js\"\nexport * from \"./CircleOutline.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 circle-outline-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\":\"M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\"}},[(_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/ts-loader/index.js??clonedRuleSet-6.use[1]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppMenuIcon.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??clonedRuleSet-6.use[1]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppMenuIcon.vue?vue&type=script&setup=true&lang=ts\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('span',{staticClass:\"app-menu-icon\",attrs:{\"role\":\"img\",\"aria-hidden\":_setup.ariaHidden,\"aria-label\":_setup.ariaLabel}},[_c('img',{staticClass:\"app-menu-icon__icon\",attrs:{\"src\":_vm.app.icon,\"alt\":\"\"}}),_vm._v(\" \"),(_vm.app.unread)?_c(_setup.IconDot,{staticClass:\"app-menu-icon__unread\",attrs:{\"size\":10}}):_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!./AppMenuIcon.vue?vue&type=style&index=0&id=81f2fa84&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!./AppMenuIcon.vue?vue&type=style&index=0&id=81f2fa84&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppMenuIcon.vue?vue&type=template&id=81f2fa84&scoped=true\"\nimport script from \"./AppMenuIcon.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AppMenuIcon.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./AppMenuIcon.vue?vue&type=style&index=0&id=81f2fa84&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 \"81f2fa84\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??clonedRuleSet-6.use[1]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppMenuEntry.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??clonedRuleSet-6.use[1]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppMenuEntry.vue?vue&type=script&setup=true&lang=ts\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('li',{ref:\"containerElement\",staticClass:\"app-menu-entry\",class:{\n\t\t'app-menu-entry--active': _vm.app.active,\n\t\t'app-menu-entry--truncated': _setup.needsSpace,\n\t}},[_c('a',{staticClass:\"app-menu-entry__link\",attrs:{\"href\":_vm.app.href,\"title\":_vm.app.name,\"aria-current\":_vm.app.active ? 'page' : false,\"target\":_vm.app.target ? '_blank' : undefined,\"rel\":_vm.app.target ? 'noopener noreferrer' : undefined}},[_c(_setup.AppMenuIcon,{staticClass:\"app-menu-entry__icon\",attrs:{\"app\":_vm.app}}),_vm._v(\" \"),_c('span',{ref:\"labelElement\",staticClass:\"app-menu-entry__label\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.app.name)+\"\\n\\t\\t\")])],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!./AppMenuEntry.vue?vue&type=style&index=0&id=7faa0c46&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!./AppMenuEntry.vue?vue&type=style&index=0&id=7faa0c46&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\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!./AppMenuEntry.vue?vue&type=style&index=1&id=7faa0c46&prod&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!./AppMenuEntry.vue?vue&type=style&index=1&id=7faa0c46&prod&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppMenuEntry.vue?vue&type=template&id=7faa0c46&scoped=true\"\nimport script from \"./AppMenuEntry.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AppMenuEntry.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./AppMenuEntry.vue?vue&type=style&index=0&id=7faa0c46&prod&scoped=true&lang=scss\"\nimport style1 from \"./AppMenuEntry.vue?vue&type=style&index=1&id=7faa0c46&prod&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 \"7faa0c46\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??clonedRuleSet-6.use[1]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppMenu.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!./AppMenu.vue?vue&type=script&lang=ts\"","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/sass-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppMenu.vue?vue&type=style&index=0&id=141e7efc&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!./AppMenu.vue?vue&type=style&index=0&id=141e7efc&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppMenu.vue?vue&type=template&id=141e7efc&scoped=true\"\nimport script from \"./AppMenu.vue?vue&type=script&lang=ts\"\nexport * from \"./AppMenu.vue?vue&type=script&lang=ts\"\nimport style0 from \"./AppMenu.vue?vue&type=style&index=0&id=141e7efc&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 \"141e7efc\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('NcHeaderMenu',{staticClass:\"account-menu\",attrs:{\"id\":\"user-menu\",\"is-nav\":\"\",\"aria-label\":_vm.t('core', 'Settings menu'),\"description\":_vm.avatarDescription},scopedSlots:_vm._u([{key:\"trigger\",fn:function(){return [_c('NcAvatar',{key:String(_vm.showUserStatus),staticClass:\"account-menu__avatar\",attrs:{\"disable-menu\":\"\",\"disable-tooltip\":\"\",\"hide-user-status\":!_vm.showUserStatus,\"user\":_vm.currentUserId,\"preloaded-user-status\":_vm.userStatus}})]},proxy:true}])},[_vm._v(\" \"),_c('ul',{staticClass:\"account-menu__list\"},[_c('AccountMenuProfileEntry',{attrs:{\"id\":_vm.profileEntry.id,\"name\":_vm.profileEntry.name,\"href\":_vm.profileEntry.href,\"active\":_vm.profileEntry.active}}),_vm._v(\" \"),_vm._l((_vm.otherEntries),function(entry){return _c('AccountMenuEntry',{key:entry.id,attrs:{\"id\":entry.id,\"name\":entry.name,\"href\":entry.href,\"active\":entry.active,\"icon\":entry.icon}})})],2)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('NcListItem',{staticClass:\"account-menu-entry\",attrs:{\"id\":_vm.href ? undefined : _vm.id,\"anchor-id\":_vm.id,\"active\":_vm.active,\"compact\":\"\",\"href\":_vm.href,\"name\":_vm.name,\"target\":\"_self\"},on:{\"click\":_vm.onClick},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [(_vm.loading)?_c('NcLoadingIcon',{staticClass:\"account-menu-entry__loading\",attrs:{\"size\":20}}):(_vm.$scopedSlots.icon)?_vm._t(\"icon\"):_c('img',{staticClass:\"account-menu-entry__icon\",class:{ 'account-menu-entry__icon--active': _vm.active },attrs:{\"src\":_vm.iconSource,\"alt\":\"\"}})]},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!./AccountMenuEntry.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!./AccountMenuEntry.vue?vue&type=script&lang=ts\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccountMenuEntry.vue?vue&type=style&index=0&id=bdb908d2&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!./AccountMenuEntry.vue?vue&type=style&index=0&id=bdb908d2&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AccountMenuEntry.vue?vue&type=template&id=bdb908d2&scoped=true\"\nimport script from \"./AccountMenuEntry.vue?vue&type=script&lang=ts\"\nexport * from \"./AccountMenuEntry.vue?vue&type=script&lang=ts\"\nimport style0 from \"./AccountMenuEntry.vue?vue&type=style&index=0&id=bdb908d2&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 \"bdb908d2\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('NcListItem',{attrs:{\"id\":_vm.profileEnabled ? undefined : _vm.id,\"anchor-id\":_vm.id,\"active\":_vm.active,\"compact\":\"\",\"href\":_vm.profileEnabled ? _vm.href : undefined,\"name\":_vm.displayName,\"target\":\"_self\"},scopedSlots:_vm._u([(_vm.profileEnabled)?{key:\"subname\",fn:function(){return [_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.name)+\"\\n\\t\")]},proxy:true}:null,(_vm.canCreateAppToken)?{key:\"extra-actions\",fn:function(){return [_c('NcButton',{attrs:{\"variant\":\"secondary\"},on:{\"click\":_vm.handleQrCodeClick},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('IconQrcodeScan',{attrs:{\"size\":20}})]},proxy:true}],null,false,3784924786)})]},proxy:true}:null,(_vm.loading)?{key:\"indicator\",fn:function(){return [_c('NcLoadingIcon')]},proxy:true}:null],null,true)})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./QrcodeScan.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./QrcodeScan.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./QrcodeScan.vue?vue&type=template&id=7489e3c8\"\nimport script from \"./QrcodeScan.vue?vue&type=script&lang=js\"\nexport * from \"./QrcodeScan.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 qrcode-scan-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\":\"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\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c(_setup.NcDialog,{attrs:{\"name\":_setup.t('core', 'Scan QR code to log in'),\"buttons\":_setup.buttons},on:{\"closing\":_setup.onClosing}},[_c('div',{staticClass:\"qr-login__content\"},[_c('p',{staticClass:\"qr-login__description\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_setup.t('core', 'Use {productName} mobile client you want to connect to scan the code', { productName: _setup.productName }))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c(_setup.QR,{attrs:{\"value\":_setup.qrUrl}}),_vm._v(\" \"),(_setup.isOneTimeToken)?[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_setup.t('core', 'Code will expire {timeCountdown} or after use', { timeCountdown: _setup.timeCountdown }))+\"\\n\\t\\t\")]:_vm._e()],2)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-6.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccountQRLoginDialog.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-6.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccountQRLoginDialog.vue?vue&type=script&setup=true&lang=ts\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccountQRLoginDialog.vue?vue&type=style&index=0&id=666075e8&prod&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!./AccountQRLoginDialog.vue?vue&type=style&index=0&id=666075e8&prod&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AccountQRLoginDialog.vue?vue&type=template&id=666075e8\"\nimport script from \"./AccountQRLoginDialog.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AccountQRLoginDialog.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./AccountQRLoginDialog.vue?vue&type=style&index=0&id=666075e8&prod&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 null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-6.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccountMenuProfileEntry.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!./AccountMenuProfileEntry.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./AccountMenuProfileEntry.vue?vue&type=template&id=93cf338e\"\nimport script from \"./AccountMenuProfileEntry.vue?vue&type=script&lang=ts\"\nexport * from \"./AccountMenuProfileEntry.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import 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!./AccountMenu.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!./AccountMenu.vue?vue&type=script&lang=ts\"","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/sass-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccountMenu.vue?vue&type=style&index=0&id=6c007912&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!./AccountMenu.vue?vue&type=style&index=0&id=6c007912&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AccountMenu.vue?vue&type=template&id=6c007912&scoped=true\"\nimport script from \"./AccountMenu.vue?vue&type=script&lang=ts\"\nexport * from \"./AccountMenu.vue?vue&type=script&lang=ts\"\nimport style0 from \"./AccountMenu.vue?vue&type=style&index=0&id=6c007912&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 \"6c007912\",\n null\n \n)\n\nexport default component.exports","/**\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-FileCopyrightText: 2014 ownCloud, Inc.\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport $ from 'jquery'\n\nlet dynamicSlideToggleEnabled = false\n\nconst Apps = {\n\tenableDynamicSlideToggle() {\n\t\tdynamicSlideToggleEnabled = true\n\t},\n}\n\n/**\n * Shows the #app-sidebar and add .with-app-sidebar to subsequent siblings\n *\n * @param {object} [$el] sidebar element to show, defaults to $('#app-sidebar')\n */\nApps.showAppSidebar = function($el) {\n\tconst $appSidebar = $el || $('#app-sidebar')\n\t$appSidebar.removeClass('disappear').show()\n\t$('#app-content').trigger(new $.Event('appresized'))\n}\n\n/**\n * Shows the #app-sidebar and removes .with-app-sidebar from subsequent\n * siblings\n *\n * @param {object} [$el] sidebar element to hide, defaults to $('#app-sidebar')\n */\nApps.hideAppSidebar = function($el) {\n\tconst $appSidebar = $el || $('#app-sidebar')\n\t$appSidebar.hide().addClass('disappear')\n\t$('#app-content').trigger(new $.Event('appresized'))\n}\n\n/**\n * Provides a way to slide down a target area through a button and slide it\n * up if the user clicks somewhere else. Used for the news app settings and\n * add new field.\n *\n * Usage:\n * \n *
          I'm sliding up
          \n */\nexport function registerAppsSlideToggle() {\n\tlet buttons = $('[data-apps-slide-toggle]')\n\n\tif (buttons.length === 0) {\n\t\t$('#app-navigation').addClass('without-app-settings')\n\t}\n\n\t$(document).click(function(event) {\n\t\tif (dynamicSlideToggleEnabled) {\n\t\t\tbuttons = $('[data-apps-slide-toggle]')\n\t\t}\n\n\t\tbuttons.each(function(index, button) {\n\t\t\tconst areaSelector = $(button).data('apps-slide-toggle')\n\t\t\tconst area = $(areaSelector)\n\n\t\t\t/**\n\t\t\t *\n\t\t\t */\n\t\t\tfunction hideArea() {\n\t\t\t\tarea.slideUp(OC.menuSpeed * 4, function() {\n\t\t\t\t\tarea.trigger(new $.Event('hide'))\n\t\t\t\t})\n\t\t\t\tarea.removeClass('opened')\n\t\t\t\t$(button).removeClass('opened')\n\t\t\t\t$(button).attr('aria-expanded', 'false')\n\t\t\t}\n\n\t\t\t/**\n\t\t\t *\n\t\t\t */\n\t\t\tfunction showArea() {\n\t\t\t\tarea.slideDown(OC.menuSpeed * 4, function() {\n\t\t\t\t\tarea.trigger(new $.Event('show'))\n\t\t\t\t})\n\t\t\t\tarea.addClass('opened')\n\t\t\t\t$(button).addClass('opened')\n\t\t\t\t$(button).attr('aria-expanded', 'true')\n\t\t\t\tconst input = $(areaSelector + ' [autofocus]')\n\t\t\t\tif (input.length === 1) {\n\t\t\t\t\tinput.focus()\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// do nothing if the area is animated\n\t\t\tif (!area.is(':animated')) {\n\t\t\t\t// button toggles the area\n\t\t\t\tif ($(button).is($(event.target).closest('[data-apps-slide-toggle]'))) {\n\t\t\t\t\tif (area.is(':visible')) {\n\t\t\t\t\t\thideArea()\n\t\t\t\t\t} else {\n\t\t\t\t\t\tshowArea()\n\t\t\t\t\t}\n\n\t\t\t\t\t// all other areas that have not been clicked but are open\n\t\t\t\t\t// should be slid up\n\t\t\t\t} else {\n\t\t\t\t\tconst closest = $(event.target).closest(areaSelector)\n\t\t\t\t\tif (area.is(':visible') && closest[0] !== area[0]) {\n\t\t\t\t\t\thideArea()\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\t})\n}\n\nexport default Apps\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\nimport { dav } from 'davclient.js'\nimport _ from 'underscore'\nimport logger from '../logger.js'\n\nconst methodMap = {\n\tcreate: 'POST',\n\tupdate: 'PROPPATCH',\n\tpatch: 'PROPPATCH',\n\tdelete: 'DELETE',\n\tread: 'PROPFIND',\n}\n\n/**\n * Throw an error when a URL is needed, and none is supplied.\n */\nfunction urlError() {\n\tthrow new Error('A \"url\" property or function must be specified')\n}\n\n/**\n * Convert a single propfind result to JSON\n *\n * @param {object} result\n * @param {object} davProperties properties mapping\n */\nfunction parsePropFindResult(result, davProperties) {\n\tif (_.isArray(result)) {\n\t\treturn _.map(result, function(subResult) {\n\t\t\treturn parsePropFindResult(subResult, davProperties)\n\t\t})\n\t}\n\tconst props = {\n\t\thref: result.href,\n\t}\n\n\t_.each(result.propStat, function(propStat) {\n\t\tif (propStat.status !== 'HTTP/1.1 200 OK') {\n\t\t\treturn\n\t\t}\n\n\t\tfor (const key in propStat.properties) {\n\t\t\tlet propKey = key\n\t\t\tif (key in davProperties) {\n\t\t\t\tpropKey = davProperties[key]\n\t\t\t}\n\t\t\tprops[propKey] = propStat.properties[key]\n\t\t}\n\t})\n\n\tif (!props.id) {\n\t\t// parse id from href\n\t\tprops.id = parseIdFromLocation(props.href)\n\t}\n\n\treturn props\n}\n\n/**\n * Parse ID from location\n *\n * @param {string} url url\n * @return {string} id\n */\nfunction parseIdFromLocation(url) {\n\tconst queryPos = url.indexOf('?')\n\tif (queryPos > 0) {\n\t\turl = url.substr(0, queryPos)\n\t}\n\n\tconst parts = url.split('/')\n\tlet result\n\tdo {\n\t\tresult = parts[parts.length - 1]\n\t\tparts.pop()\n\t\t// note: first result can be empty when there is a trailing slash,\n\t\t// so we take the part before that\n\t} while (!result && parts.length > 0)\n\n\treturn result\n}\n\n/**\n *\n * @param {number} status\n */\nfunction isSuccessStatus(status) {\n\treturn status >= 200 && status <= 299\n}\n\n/**\n *\n * @param attrs\n * @param davProperties\n */\nfunction convertModelAttributesToDavProperties(attrs, davProperties) {\n\tconst props = {}\n\tlet key\n\tfor (key in attrs) {\n\t\tlet changedProp = davProperties[key]\n\t\tlet value = attrs[key]\n\t\tif (!changedProp) {\n\t\t\tlogger.warn('No matching DAV property for property \"' + key)\n\t\t\tchangedProp = key\n\t\t}\n\t\tif (_.isBoolean(value) || _.isNumber(value)) {\n\t\t\t// convert to string\n\t\t\tvalue = '' + value\n\t\t}\n\t\tprops[changedProp] = value\n\t}\n\treturn props\n}\n\n/**\n *\n * @param client\n * @param options\n * @param model\n * @param headers\n */\nfunction callPropFind(client, options, model, headers) {\n\treturn client.propFind(\n\t\toptions.url,\n\t\t_.values(options.davProperties) || [],\n\t\toptions.depth,\n\t\theaders,\n\t).then(function(response) {\n\t\tif (isSuccessStatus(response.status)) {\n\t\t\tif (_.isFunction(options.success)) {\n\t\t\t\tconst propsMapping = _.invert(options.davProperties)\n\t\t\t\tconst results = parsePropFindResult(response.body, propsMapping)\n\t\t\t\tif (options.depth > 0) {\n\t\t\t\t\t// discard root entry\n\t\t\t\t\tresults.shift()\n\t\t\t\t}\n\n\t\t\t\toptions.success(results)\n\t\t\t}\n\t\t} else if (_.isFunction(options.error)) {\n\t\t\toptions.error(response)\n\t\t}\n\t})\n}\n\n/**\n *\n * @param client\n * @param options\n * @param model\n * @param headers\n */\nfunction callPropPatch(client, options, model, headers) {\n\treturn client.propPatch(\n\t\toptions.url,\n\t\tconvertModelAttributesToDavProperties(model.changed, options.davProperties),\n\t\theaders,\n\t).then(function(result) {\n\t\tif (isSuccessStatus(result.status)) {\n\t\t\tif (_.isFunction(options.success)) {\n\t\t\t\t// pass the object's own values because the server\n\t\t\t\t// does not return the updated model\n\t\t\t\toptions.success(model.toJSON())\n\t\t\t}\n\t\t} else if (_.isFunction(options.error)) {\n\t\t\toptions.error(result)\n\t\t}\n\t})\n}\n\n/**\n *\n * @param client\n * @param options\n * @param model\n * @param headers\n */\nfunction callMkCol(client, options, model, headers) {\n\t// call MKCOL without data, followed by PROPPATCH\n\treturn client.request(\n\t\toptions.type,\n\t\toptions.url,\n\t\theaders,\n\t\tnull,\n\t).then(function(result) {\n\t\tif (!isSuccessStatus(result.status)) {\n\t\t\tif (_.isFunction(options.error)) {\n\t\t\t\toptions.error(result)\n\t\t\t}\n\t\t\treturn\n\t\t}\n\n\t\tcallPropPatch(client, options, model, headers)\n\t})\n}\n\n/**\n *\n * @param client\n * @param options\n * @param model\n * @param headers\n */\nfunction callMethod(client, options, model, headers) {\n\theaders['Content-Type'] = 'application/json'\n\treturn client.request(\n\t\toptions.type,\n\t\toptions.url,\n\t\theaders,\n\t\toptions.data,\n\t).then(function(result) {\n\t\tif (!isSuccessStatus(result.status)) {\n\t\t\tif (_.isFunction(options.error)) {\n\t\t\t\toptions.error(result)\n\t\t\t}\n\t\t\treturn\n\t\t}\n\n\t\tif (_.isFunction(options.success)) {\n\t\t\tif (options.type === 'PUT' || options.type === 'POST' || options.type === 'MKCOL') {\n\t\t\t\t// pass the object's own values because the server\n\t\t\t\t// does not return anything\n\t\t\t\tconst responseJson = result.body || model.toJSON()\n\t\t\t\tconst locationHeader = result.xhr.getResponseHeader('Content-Location')\n\t\t\t\tif (options.type === 'POST' && locationHeader) {\n\t\t\t\t\tresponseJson.id = parseIdFromLocation(locationHeader)\n\t\t\t\t}\n\t\t\t\toptions.success(responseJson)\n\t\t\t\treturn\n\t\t\t}\n\t\t\t// if multi-status, parse\n\t\t\tif (result.status === 207) {\n\t\t\t\tconst propsMapping = _.invert(options.davProperties)\n\t\t\t\toptions.success(parsePropFindResult(result.body, propsMapping))\n\t\t\t} else {\n\t\t\t\toptions.success(result.body)\n\t\t\t}\n\t\t}\n\t})\n}\n\n/**\n *\n * @param options\n * @param model\n */\nexport function davCall(options, model) {\n\tconst client = new dav.Client({\n\t\tbaseUrl: options.url,\n\t\txmlNamespaces: _.extend({\n\t\t\t'DAV:': 'd',\n\t\t\t'http://owncloud.org/ns': 'oc',\n\t\t}, options.xmlNamespaces || {}),\n\t})\n\tclient.resolveUrl = function() {\n\t\treturn options.url\n\t}\n\tconst headers = _.extend({\n\t\t'X-Requested-With': 'XMLHttpRequest',\n\t\trequesttoken: OC.requestToken,\n\t}, options.headers)\n\tif (options.type === 'PROPFIND') {\n\t\treturn callPropFind(client, options, model, headers)\n\t} else if (options.type === 'PROPPATCH') {\n\t\treturn callPropPatch(client, options, model, headers)\n\t} else if (options.type === 'MKCOL') {\n\t\treturn callMkCol(client, options, model, headers)\n\t} else {\n\t\treturn callMethod(client, options, model, headers)\n\t}\n}\n\n/**\n * DAV transport\n *\n * @param Backbone\n */\nexport function davSync(Backbone) {\n\treturn (method, model, options) => {\n\t\tconst params = { type: methodMap[method] || method }\n\t\tconst isCollection = (model instanceof Backbone.Collection)\n\n\t\tif (method === 'update') {\n\t\t// if a model has an inner collection, it must define an\n\t\t// attribute \"hasInnerCollection\" that evaluates to true\n\t\t\tif (model.hasInnerCollection) {\n\t\t\t// if the model itself is a Webdav collection, use MKCOL\n\t\t\t\tparams.type = 'MKCOL'\n\t\t\t} else if (model.usePUT || (model.collection && model.collection.usePUT)) {\n\t\t\t// use PUT instead of PROPPATCH\n\t\t\t\tparams.type = 'PUT'\n\t\t\t}\n\t\t}\n\n\t\t// Ensure that we have a URL.\n\t\tif (!options.url) {\n\t\t\tparams.url = _.result(model, 'url') || urlError()\n\t\t}\n\n\t\t// Ensure that we have the appropriate request data.\n\t\t// eslint-disable-next-line eqeqeq\n\t\tif (options.data == null && model && (method === 'create' || method === 'update' || method === 'patch')) {\n\t\t\tparams.data = JSON.stringify(options.attrs || model.toJSON(options))\n\t\t}\n\n\t\t// Don't process data on a non-GET request.\n\t\tif (params.type !== 'PROPFIND') {\n\t\t\tparams.processData = false\n\t\t}\n\n\t\tif (params.type === 'PROPFIND' || params.type === 'PROPPATCH') {\n\t\t\tlet davProperties = model.davProperties\n\t\t\tif (!davProperties && model.model) {\n\t\t\t// use dav properties from model in case of collection\n\t\t\t\tdavProperties = model.model.prototype.davProperties\n\t\t\t}\n\t\t\tif (davProperties) {\n\t\t\t\tif (_.isFunction(davProperties)) {\n\t\t\t\t\tparams.davProperties = davProperties.call(model)\n\t\t\t\t} else {\n\t\t\t\t\tparams.davProperties = davProperties\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tparams.davProperties = _.extend(params.davProperties || {}, options.davProperties)\n\n\t\t\tif (_.isUndefined(options.depth)) {\n\t\t\t\tif (isCollection) {\n\t\t\t\t\toptions.depth = 1\n\t\t\t\t} else {\n\t\t\t\t\toptions.depth = 0\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Pass along `textStatus` and `errorThrown` from jQuery.\n\t\tconst error = options.error\n\t\toptions.error = function(xhr, textStatus, errorThrown) {\n\t\t\toptions.textStatus = textStatus\n\t\t\toptions.errorThrown = errorThrown\n\t\t\tif (error) {\n\t\t\t\terror.call(options.context, xhr, textStatus, errorThrown)\n\t\t\t}\n\t\t}\n\n\t\t// Make the request, allowing the user to override any Ajax options.\n\t\tconst xhr = options.xhr = Backbone.davCall(_.extend(params, options), model)\n\t\tmodel.trigger('request', model, xhr, options)\n\t\treturn xhr\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 VendorBackbone from 'backbone'\nimport { davCall, davSync } from './backbone-webdav.js'\n\nconst Backbone = VendorBackbone.noConflict()\n\n// Patch Backbone for DAV\nObject.assign(Backbone, {\n\tdavCall,\n\tdavSync: davSync(Backbone),\n})\n\nexport default Backbone\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 $ from 'jquery'\nimport { basename } from 'path'\nimport { defineAsyncComponent } from 'vue'\nimport logger from '../logger.js'\nimport OC from './index.js'\n\n/**\n * this class to ease the usage of jquery 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\t_fileexistsshown: false,\n\t/**\n\t * Displays file exists dialog\n\t *\n\t * @param {object} data upload object\n\t * @param {object} original file with name, size and mtime\n\t * @param {object} replacement file with name, size and mtime\n\t * @param {object} controller with onCancel, onSkip, onReplace and onRename methods\n\t * @return {Promise} jquery promise that resolves after the dialog template was loaded\n\t *\n\t * @deprecated 29.0.0 Use openConflictPicker from the @nextcloud/upload package instead\n\t */\n\tfileexists: function(data, original, replacement, controller) {\n\t\tconst self = this\n\t\tconst dialogDeferred = new $.Deferred()\n\n\t\tconst getCroppedPreview = function(file) {\n\t\t\tconst deferred = new $.Deferred()\n\t\t\t// Only process image files.\n\t\t\tconst type = file.type && file.type.split('/').shift()\n\t\t\tif (window.FileReader && type === 'image') {\n\t\t\t\tconst reader = new FileReader()\n\t\t\t\treader.onload = function(e) {\n\t\t\t\t\tconst blob = new Blob([e.target.result])\n\t\t\t\t\twindow.URL = window.URL || window.webkitURL\n\t\t\t\t\tconst originalUrl = window.URL.createObjectURL(blob)\n\t\t\t\t\tconst image = new Image()\n\t\t\t\t\timage.src = originalUrl\n\t\t\t\t\timage.onload = function() {\n\t\t\t\t\t\tconst url = crop(image)\n\t\t\t\t\t\tdeferred.resolve(url)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treader.readAsArrayBuffer(file)\n\t\t\t} else {\n\t\t\t\tdeferred.reject()\n\t\t\t}\n\t\t\treturn deferred\n\t\t}\n\n\t\t/**\n\t\t * @param img\n\t\t */\n\t\tfunction crop(img) {\n\t\t\tconst canvas = document.createElement('canvas')\n\t\t\tconst targetSize = 96\n\t\t\tconst width = img.width\n\t\t\tconst height = img.height\n\t\t\tlet x\n\t\t\tlet y\n\n\t\t\t// Calculate the width and height, constraining the proportions\n\t\t\tif (width > height) {\n\t\t\t\ty = 0\n\t\t\t\tx = (width - height) / 2\n\t\t\t} else {\n\t\t\t\ty = (height - width) / 2\n\t\t\t\tx = 0\n\t\t\t}\n\t\t\tconst size = Math.min(width, height)\n\n\t\t\t// Set canvas size to the cropped area\n\t\t\tcanvas.width = size\n\t\t\tcanvas.height = size\n\t\t\tconst ctx = canvas.getContext('2d')\n\t\t\tctx.drawImage(img, x, y, size, size, 0, 0, size, size)\n\n\t\t\t// Resize the canvas to match the destination (right size uses 96px)\n\t\t\tresampleHermite(canvas, size, size, targetSize, targetSize)\n\n\t\t\treturn canvas.toDataURL('image/png', 0.7)\n\t\t}\n\n\t\t/**\n\t\t * Fast image resize/resample using Hermite filter with JavaScript.\n\t\t *\n\t\t * @author ViliusL\n\t\t *\n\t\t * @param {*} canvas\n\t\t * @param {number} W\n\t\t * @param {number} H\n\t\t * @param {number} W2\n\t\t * @param {number} H2\n\t\t */\n\t\tfunction resampleHermite(canvas, W, H, W2, H2) {\n\t\t\tW2 = Math.round(W2)\n\t\t\tH2 = Math.round(H2)\n\t\t\tconst img = canvas.getContext('2d').getImageData(0, 0, W, H)\n\t\t\tconst img2 = canvas.getContext('2d').getImageData(0, 0, W2, H2)\n\t\t\tconst data = img.data\n\t\t\tconst data2 = img2.data\n\t\t\tconst ratio_w = W / W2\n\t\t\tconst ratio_h = H / H2\n\t\t\tconst ratio_w_half = Math.ceil(ratio_w / 2)\n\t\t\tconst ratio_h_half = Math.ceil(ratio_h / 2)\n\n\t\t\tfor (let j = 0; j < H2; j++) {\n\t\t\t\tfor (let i = 0; i < W2; i++) {\n\t\t\t\t\tconst x2 = (i + j * W2) * 4\n\t\t\t\t\tlet weight = 0\n\t\t\t\t\tlet weights = 0\n\t\t\t\t\tlet weights_alpha = 0\n\t\t\t\t\tlet gx_r = 0\n\t\t\t\t\tlet gx_g = 0\n\t\t\t\t\tlet gx_b = 0\n\t\t\t\t\tlet gx_a = 0\n\t\t\t\t\tconst center_y = (j + 0.5) * ratio_h\n\t\t\t\t\tfor (let yy = Math.floor(j * ratio_h); yy < (j + 1) * ratio_h; yy++) {\n\t\t\t\t\t\tconst dy = Math.abs(center_y - (yy + 0.5)) / ratio_h_half\n\t\t\t\t\t\tconst center_x = (i + 0.5) * ratio_w\n\t\t\t\t\t\tconst w0 = dy * dy // pre-calc part of w\n\t\t\t\t\t\tfor (let xx = Math.floor(i * ratio_w); xx < (i + 1) * ratio_w; xx++) {\n\t\t\t\t\t\t\tlet dx = Math.abs(center_x - (xx + 0.5)) / ratio_w_half\n\t\t\t\t\t\t\tconst w = Math.sqrt(w0 + dx * dx)\n\t\t\t\t\t\t\tif (w >= -1 && w <= 1) {\n\t\t\t\t\t\t\t\t// hermite filter\n\t\t\t\t\t\t\t\tweight = 2 * w * w * w - 3 * w * w + 1\n\t\t\t\t\t\t\t\tif (weight > 0) {\n\t\t\t\t\t\t\t\t\tdx = 4 * (xx + yy * W)\n\t\t\t\t\t\t\t\t\t// alpha\n\t\t\t\t\t\t\t\t\tgx_a += weight * data[dx + 3]\n\t\t\t\t\t\t\t\t\tweights_alpha += weight\n\t\t\t\t\t\t\t\t\t// colors\n\t\t\t\t\t\t\t\t\tif (data[dx + 3] < 255) {\n\t\t\t\t\t\t\t\t\t\tweight = weight * data[dx + 3] / 250\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tgx_r += weight * data[dx]\n\t\t\t\t\t\t\t\t\tgx_g += weight * data[dx + 1]\n\t\t\t\t\t\t\t\t\tgx_b += weight * data[dx + 2]\n\t\t\t\t\t\t\t\t\tweights += weight\n\t\t\t\t\t\t\t\t}\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\tdata2[x2] = gx_r / weights\n\t\t\t\t\tdata2[x2 + 1] = gx_g / weights\n\t\t\t\t\tdata2[x2 + 2] = gx_b / weights\n\t\t\t\t\tdata2[x2 + 3] = gx_a / weights_alpha\n\t\t\t\t}\n\t\t\t}\n\t\t\tcanvas.getContext('2d').clearRect(0, 0, Math.max(W, W2), Math.max(H, H2))\n\t\t\tcanvas.width = W2\n\t\t\tcanvas.height = H2\n\t\t\tcanvas.getContext('2d').putImageData(img2, 0, 0)\n\t\t}\n\n\t\tconst addConflict = function($conflicts, original, replacement) {\n\t\t\tconst $conflict = $conflicts.find('.template').clone().removeClass('template').addClass('conflict')\n\t\t\tconst $originalDiv = $conflict.find('.original')\n\t\t\tconst $replacementDiv = $conflict.find('.replacement')\n\n\t\t\t$conflict.data('data', data)\n\n\t\t\t$conflict.find('.filename').text(original.name)\n\t\t\t$originalDiv.find('.size').text(OC.Util.humanFileSize(original.size))\n\t\t\t$originalDiv.find('.mtime').text(OC.Util.formatDate(original.mtime))\n\t\t\t// ie sucks\n\t\t\tif (replacement.size && replacement.lastModified) {\n\t\t\t\t$replacementDiv.find('.size').text(OC.Util.humanFileSize(replacement.size))\n\t\t\t\t$replacementDiv.find('.mtime').text(OC.Util.formatDate(replacement.lastModified))\n\t\t\t}\n\t\t\tlet path = original.directory + '/' + original.name\n\t\t\tconst urlSpec = {\n\t\t\t\tfile: path,\n\t\t\t\tx: 96,\n\t\t\t\ty: 96,\n\t\t\t\tc: original.etag,\n\t\t\t\tforceIcon: 0,\n\t\t\t}\n\t\t\tlet previewpath = Files.generatePreviewUrl(urlSpec)\n\t\t\t// Escaping single quotes\n\t\t\tpreviewpath = previewpath.replace(/'/g, '%27')\n\t\t\t$originalDiv.find('.icon').css({ 'background-image': \"url('\" + previewpath + \"')\" })\n\t\t\tgetCroppedPreview(replacement).then(function(path) {\n\t\t\t\t$replacementDiv.find('.icon').css('background-image', 'url(' + path + ')')\n\t\t\t}, function() {\n\t\t\t\tpath = OC.MimeType.getIconUrl(replacement.type)\n\t\t\t\t$replacementDiv.find('.icon').css('background-image', 'url(' + path + ')')\n\t\t\t})\n\t\t\t// connect checkboxes with labels\n\t\t\tconst checkboxId = $conflicts.find('.conflict').length\n\t\t\t$originalDiv.find('input:checkbox').attr('id', 'checkbox_original_' + checkboxId)\n\t\t\t$replacementDiv.find('input:checkbox').attr('id', 'checkbox_replacement_' + checkboxId)\n\n\t\t\t$conflicts.append($conflict)\n\n\t\t\t// set more recent mtime bold\n\t\t\t// ie sucks\n\t\t\tif (replacement.lastModified > original.mtime) {\n\t\t\t\t$replacementDiv.find('.mtime').css('font-weight', 'bold')\n\t\t\t} else if (replacement.lastModified < original.mtime) {\n\t\t\t\t$originalDiv.find('.mtime').css('font-weight', 'bold')\n\t\t\t} else {\n\t\t\t\t// TODO add to same mtime collection?\n\t\t\t}\n\n\t\t\t// set bigger size bold\n\t\t\tif (replacement.size && replacement.size > original.size) {\n\t\t\t\t$replacementDiv.find('.size').css('font-weight', 'bold')\n\t\t\t} else if (replacement.size && replacement.size < original.size) {\n\t\t\t\t$originalDiv.find('.size').css('font-weight', 'bold')\n\t\t\t} else {\n\t\t\t\t// TODO add to same size collection?\n\t\t\t}\n\n\t\t\t// TODO show skip action for files with same size and mtime in bottom row\n\n\t\t\t// always keep readonly files\n\n\t\t\tif (original.status === 'readonly') {\n\t\t\t\t$originalDiv\n\t\t\t\t\t.addClass('readonly')\n\t\t\t\t\t.find('input[type=\"checkbox\"]')\n\t\t\t\t\t.prop('checked', true)\n\t\t\t\t\t.prop('disabled', true)\n\t\t\t\t$originalDiv.find('.message')\n\t\t\t\t\t.text(t('core', 'read-only'))\n\t\t\t}\n\t\t}\n\n\t\tconst dialogName = 'oc-dialog-fileexists-content'\n\t\tconst dialogId = '#' + dialogName\n\t\tif (this._fileexistsshown) {\n\t\t\t// add conflict\n\n\t\t\tconst $conflicts = $(dialogId + ' .conflicts')\n\t\t\taddConflict($conflicts, original, replacement)\n\n\t\t\tconst count = $(dialogId + ' .conflict').length\n\t\t\tconst title = n(\n\t\t\t\t'core',\n\t\t\t\t'{count} file conflict',\n\t\t\t\t'{count} file conflicts',\n\t\t\t\tcount,\n\t\t\t\t{ count },\n\t\t\t)\n\t\t\t$(dialogId).parent().children('.oc-dialog-title').text(title)\n\n\t\t\t// recalculate dimensions\n\t\t\t$(window).trigger('resize')\n\t\t\tdialogDeferred.resolve()\n\t\t} else {\n\t\t\t// create dialog\n\t\t\tthis._fileexistsshown = true\n\t\t\t$.when(this._getFileExistsTemplate()).then(function($tmpl) {\n\t\t\t\tconst title = t('core', 'One file conflict')\n\t\t\t\tconst $dlg = $tmpl.octemplate({\n\t\t\t\t\tdialog_name: dialogName,\n\t\t\t\t\ttitle,\n\t\t\t\t\ttype: 'fileexists',\n\n\t\t\t\t\tallnewfiles: t('core', 'New Files'),\n\t\t\t\t\tallexistingfiles: t('core', 'Already existing files'),\n\n\t\t\t\t\twhy: t('core', 'Which files do you want to keep?'),\n\t\t\t\t\twhat: t('core', 'If you select both versions, the copied file will have a number added to its name.'),\n\t\t\t\t})\n\t\t\t\t$('body').append($dlg)\n\n\t\t\t\tif (original && replacement) {\n\t\t\t\t\tconst $conflicts = $dlg.find('.conflicts')\n\t\t\t\t\taddConflict($conflicts, original, replacement)\n\t\t\t\t}\n\n\t\t\t\tconst buttonlist = [{\n\t\t\t\t\ttext: t('core', 'Cancel'),\n\t\t\t\t\tclasses: 'cancel',\n\t\t\t\t\tclick: function() {\n\t\t\t\t\t\tif (typeof controller.onCancel !== 'undefined') {\n\t\t\t\t\t\t\tcontroller.onCancel(data)\n\t\t\t\t\t\t}\n\t\t\t\t\t\t$(dialogId).ocdialog('close')\n\t\t\t\t\t},\n\t\t\t\t}, {\n\t\t\t\t\ttext: t('core', 'Continue'),\n\t\t\t\t\tclasses: 'continue',\n\t\t\t\t\tclick: function() {\n\t\t\t\t\t\tif (typeof controller.onContinue !== 'undefined') {\n\t\t\t\t\t\t\tcontroller.onContinue($(dialogId + ' .conflict'))\n\t\t\t\t\t\t}\n\t\t\t\t\t\t$(dialogId).ocdialog('close')\n\t\t\t\t\t},\n\t\t\t\t}]\n\n\t\t\t\t$(dialogId).ocdialog({\n\t\t\t\t\twidth: 500,\n\t\t\t\t\tcloseOnEscape: true,\n\t\t\t\t\tmodal: true,\n\t\t\t\t\tbuttons: buttonlist,\n\t\t\t\t\tcloseButton: null,\n\t\t\t\t\tclose: function() {\n\t\t\t\t\t\tself._fileexistsshown = false\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t$(this).ocdialog('destroy').remove()\n\t\t\t\t\t\t} catch {\n\t\t\t\t\t\t\t// ignore\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t})\n\n\t\t\t\t$(dialogId).css('height', 'auto')\n\n\t\t\t\tconst $primaryButton = $dlg.closest('.oc-dialog').find('button.continue')\n\t\t\t\t$primaryButton.prop('disabled', true)\n\n\t\t\t\t/**\n\t\t\t\t *\n\t\t\t\t */\n\t\t\t\tfunction updatePrimaryButton() {\n\t\t\t\t\tconst checkedCount = $dlg.find('.conflicts .checkbox:checked').length\n\t\t\t\t\t$primaryButton.prop('disabled', checkedCount === 0)\n\t\t\t\t}\n\n\t\t\t\t// add checkbox toggling actions\n\t\t\t\t$(dialogId).find('.allnewfiles').on('click', function() {\n\t\t\t\t\tconst $checkboxes = $(dialogId).find('.conflict .replacement input[type=\"checkbox\"]')\n\t\t\t\t\t$checkboxes.prop('checked', $(this).prop('checked'))\n\t\t\t\t})\n\t\t\t\t$(dialogId).find('.allexistingfiles').on('click', function() {\n\t\t\t\t\tconst $checkboxes = $(dialogId).find('.conflict .original:not(.readonly) input[type=\"checkbox\"]')\n\t\t\t\t\t$checkboxes.prop('checked', $(this).prop('checked'))\n\t\t\t\t})\n\t\t\t\t$(dialogId).find('.conflicts').on('click', '.replacement,.original:not(.readonly)', function() {\n\t\t\t\t\tconst $checkbox = $(this).find('input[type=\"checkbox\"]')\n\t\t\t\t\t$checkbox.prop('checked', !$checkbox.prop('checked'))\n\t\t\t\t})\n\t\t\t\t$(dialogId).find('.conflicts').on('click', '.replacement input[type=\"checkbox\"],.original:not(.readonly) input[type=\"checkbox\"]', function() {\n\t\t\t\t\tconst $checkbox = $(this)\n\t\t\t\t\t$checkbox.prop('checked', !$checkbox.prop('checked'))\n\t\t\t\t})\n\n\t\t\t\t// update counters\n\t\t\t\t$(dialogId).on('click', '.replacement,.allnewfiles', function() {\n\t\t\t\t\tconst count = $(dialogId).find('.conflict .replacement input[type=\"checkbox\"]:checked').length\n\t\t\t\t\tif (count === $(dialogId + ' .conflict').length) {\n\t\t\t\t\t\t$(dialogId).find('.allnewfiles').prop('checked', true)\n\t\t\t\t\t\t$(dialogId).find('.allnewfiles + .count').text(t('core', '(all selected)'))\n\t\t\t\t\t} else if (count > 0) {\n\t\t\t\t\t\t$(dialogId).find('.allnewfiles').prop('checked', false)\n\t\t\t\t\t\t$(dialogId).find('.allnewfiles + .count').text(t('core', '({count} selected)', { count }))\n\t\t\t\t\t} else {\n\t\t\t\t\t\t$(dialogId).find('.allnewfiles').prop('checked', false)\n\t\t\t\t\t\t$(dialogId).find('.allnewfiles + .count').text('')\n\t\t\t\t\t}\n\t\t\t\t\tupdatePrimaryButton()\n\t\t\t\t})\n\t\t\t\t$(dialogId).on('click', '.original,.allexistingfiles', function() {\n\t\t\t\t\tconst count = $(dialogId).find('.conflict .original input[type=\"checkbox\"]:checked').length\n\t\t\t\t\tif (count === $(dialogId + ' .conflict').length) {\n\t\t\t\t\t\t$(dialogId).find('.allexistingfiles').prop('checked', true)\n\t\t\t\t\t\t$(dialogId).find('.allexistingfiles + .count').text(t('core', '(all selected)'))\n\t\t\t\t\t} else if (count > 0) {\n\t\t\t\t\t\t$(dialogId).find('.allexistingfiles').prop('checked', false)\n\t\t\t\t\t\t$(dialogId).find('.allexistingfiles + .count')\n\t\t\t\t\t\t\t.text(t('core', '({count} selected)', { count }))\n\t\t\t\t\t} else {\n\t\t\t\t\t\t$(dialogId).find('.allexistingfiles').prop('checked', false)\n\t\t\t\t\t\t$(dialogId).find('.allexistingfiles + .count').text('')\n\t\t\t\t\t}\n\t\t\t\t\tupdatePrimaryButton()\n\t\t\t\t})\n\n\t\t\t\tdialogDeferred.resolve()\n\t\t\t})\n\t\t\t\t.fail(function() {\n\t\t\t\t\tdialogDeferred.reject()\n\t\t\t\t\talert(t('core', 'Error loading file exists template'))\n\t\t\t\t})\n\t\t}\n\t\t// }\n\t\treturn dialogDeferred.promise()\n\t},\n\n\t_getFileExistsTemplate: function() {\n\t\tconst defer = $.Deferred()\n\t\tif (!this.$fileexistsTemplate) {\n\t\t\tconst self = this\n\t\t\t$.get(OC.filePath('core', 'templates/legacy', 'fileexists.html'), function(tmpl) {\n\t\t\t\tself.$fileexistsTemplate = $(tmpl)\n\t\t\t\tdefer.resolve(self.$fileexistsTemplate)\n\t\t\t})\n\t\t\t\t.fail(function() {\n\t\t\t\t\tdefer.reject()\n\t\t\t\t})\n\t\t} else {\n\t\t\tdefer.resolve(this.$fileexistsTemplate)\n\t\t}\n\t\treturn defer.promise()\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\tthis.listeners = {}\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\tif (!this.useFallBack && typeof EventSource !== 'undefined') {\n\t\tjoinChar = '&'\n\t\tif (src.indexOf('?') === -1) {\n\t\t\tjoinChar = '?'\n\t\t}\n\t\tthis.source = new EventSource(src + joinChar + dataStr)\n\t\tthis.source.onmessage = function(e) {\n\t\t\tfor (let i = 0; i < this.typelessListeners.length; i++) {\n\t\t\t\tthis.typelessListeners[i](JSON.parse(e.data))\n\t\t\t}\n\t\t}.bind(this)\n\t} else {\n\t\tconst iframeId = 'oc_eventsource_iframe_' + OCEventSource.iframeCount\n\t\tOCEventSource.fallBackSources[OCEventSource.iframeCount] = this\n\t\tconst iframe = document.createElement('iframe')\n\t\tiframe.id = iframeId\n\t\tiframe.style.display = 'none'\n\n\t\tjoinChar = '&'\n\t\tif (src.indexOf('?') === -1) {\n\t\t\tjoinChar = '?'\n\t\t}\n\t\tiframe.src = src + joinChar + 'fallback=true&fallback_id=' + OCEventSource.iframeCount + '&' + dataStr\n\n\t\tthis.iframe = iframe\n\t\tdocument.body.appendChild(this.iframe)\n\t\tthis.useFallBack = true\n\t\tOCEventSource.iframeCount++\n\t}\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.fallBackSources = []\nOCEventSource.iframeCount = 0// number of fallback iframes\nOCEventSource.fallBackCallBack = function(id, type, data) {\n\tOCEventSource.fallBackSources[id].fallBackCallBack(type, data)\n}\nOCEventSource.prototype = {\n\ttypelessListeners: [],\n\tiframe: null,\n\tlisteners: {}, // only for fallback\n\tuseFallBack: false,\n\t/**\n\t * Fallback callback for browsers that don't have the\n\t * native EventSource object.\n\t *\n\t * Calls the registered listeners.\n\t *\n\t * @private\n\t * @param {string} type event type\n\t * @param {object} data received data\n\t */\n\tfallBackCallBack: function(type, data) {\n\t\tlet i\n\t\t// ignore messages that might appear after closing\n\t\tif (this.closed) {\n\t\t\treturn\n\t\t}\n\t\tif (type) {\n\t\t\tif (typeof this.listeners.done !== 'undefined') {\n\t\t\t\tfor (i = 0; i < this.listeners[type].length; i++) {\n\t\t\t\t\tthis.listeners[type][i](data)\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tfor (i = 0; i < this.typelessListeners.length; i++) {\n\t\t\t\tthis.typelessListeners[i](data)\n\t\t\t}\n\t\t}\n\t},\n\tlastLength: 0, // for fallback\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\tif (this.useFallBack) {\n\t\t\t\t\tif (!this.listeners[type]) {\n\t\t\t\t\t\tthis.listeners[type] = []\n\t\t\t\t\t}\n\t\t\t\t\tthis.listeners[type].push(callback)\n\t\t\t\t} else {\n\t\t\t\t\tthis.source.addEventListener(type, function(e) {\n\t\t\t\t\t\tif (typeof e.data !== 'undefined') {\n\t\t\t\t\t\t\tcallback(JSON.parse(e.data))\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcallback('')\n\t\t\t\t\t\t}\n\t\t\t\t\t}, false)\n\t\t\t\t}\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\tif (typeof this.source !== 'undefined') {\n\t\t\tthis.source.close()\n\t\t}\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'\nimport Handlebars from 'handlebars'\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\nHandlebars.registerHelper('t', function(app, text) {\n\treturn translate(app, text)\n})\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\n/** @typedef {import('jquery')} jQuery */\nimport $ from 'jquery'\nimport _ from 'underscore'\nimport { menuSpeed } from './constants.js'\n\nexport let currentMenu = null\nexport let currentMenuToggle = null\n\n/**\n * For menu toggling\n *\n * @param {jQuery} $toggle the toggle element\n * @param {jQuery} $menuEl the menu container element\n * @param {Function | undefined} toggle callback invoked everytime the menu is opened\n * @param {boolean} headerMenu is this a top right header menu?\n * @return {void}\n */\nexport function registerMenu($toggle, $menuEl, toggle, headerMenu) {\n\t$menuEl.addClass('menu')\n\tconst isClickableElement = $toggle.prop('tagName') === 'A' || $toggle.prop('tagName') === 'BUTTON'\n\n\t// On link and button, the enter key trigger a click event\n\t// Only use the click to avoid two fired events\n\t$toggle.on(isClickableElement ? 'click.menu' : 'click.menu keyup.menu', function(event) {\n\t\t// prevent the link event (append anchor to URL)\n\t\tevent.preventDefault()\n\n\t\t// allow enter key as a trigger\n\t\tif (event.key && event.key !== 'Enter') {\n\t\t\treturn\n\t\t}\n\n\t\tif ($menuEl.is(currentMenu)) {\n\t\t\thideMenus()\n\t\t\treturn\n\t\t} else if (currentMenu) {\n\t\t\t// another menu was open?\n\t\t\t// close it\n\t\t\thideMenus()\n\t\t}\n\n\t\tif (headerMenu === true) {\n\t\t\t$menuEl.parent().addClass('openedMenu')\n\t\t}\n\n\t\t// Set menu to expanded\n\t\t$toggle.attr('aria-expanded', true)\n\n\t\t$menuEl.slideToggle(menuSpeed, toggle)\n\t\tcurrentMenu = $menuEl\n\t\tcurrentMenuToggle = $toggle\n\t})\n}\n\n/**\n * Unregister a previously registered menu\n *\n * @param {jQuery} $toggle the toggle element\n * @param {jQuery} $menuEl the menu container element\n */\nexport function unregisterMenu($toggle, $menuEl) {\n\t// close menu if opened\n\tif ($menuEl.is(currentMenu)) {\n\t\thideMenus()\n\t}\n\t$toggle.off('click.menu').removeClass('menutoggle')\n\t$menuEl.removeClass('menu')\n}\n\n/**\n * Hides any open menus\n *\n * @param {Function} complete callback when the hiding animation is done\n */\nexport function hideMenus(complete) {\n\tif (currentMenu) {\n\t\tconst lastMenu = currentMenu\n\t\tcurrentMenu.trigger(new $.Event('beforeHide'))\n\t\tcurrentMenu.slideUp(menuSpeed, function() {\n\t\t\tlastMenu.trigger(new $.Event('afterHide'))\n\t\t\tif (complete) {\n\t\t\t\tcomplete.apply(this, arguments)\n\t\t\t}\n\t\t})\n\t}\n\n\t// Set menu to closed\n\t$('.menutoggle').attr('aria-expanded', false)\n\tif (currentMenuToggle) {\n\t\tcurrentMenuToggle.attr('aria-expanded', false)\n\t}\n\n\t$('.openedMenu').removeClass('openedMenu')\n\tcurrentMenu = null\n\tcurrentMenuToggle = null\n}\n\n/**\n * Shows a given element as menu\n *\n * @param {object} [$toggle] menu toggle\n * @param {object} $menuEl menu element\n * @param {Function} complete callback when the showing animation is done\n */\nexport function showMenu($toggle, $menuEl, complete) {\n\tif ($menuEl.is(currentMenu)) {\n\t\treturn\n\t}\n\thideMenus()\n\tcurrentMenu = $menuEl\n\tcurrentMenuToggle = $toggle\n\t$menuEl.trigger(new $.Event('beforeShow'))\n\t$menuEl.show()\n\t$menuEl.trigger(new $.Event('afterShow'))\n\t// no animation\n\tif (_.isFunction(complete)) {\n\t\tcomplete()\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 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: 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 // eslint-disable-next-line @stylistic/exp-list-style\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 { showMessage, TOAST_DEFAULT_TIMEOUT, TOAST_PERMANENT_TIMEOUT } from '@nextcloud/dialogs'\nimport $ from 'jquery'\nimport _ from 'underscore'\nimport logger from '../logger.js'\n\n/** @typedef {import('jquery')} jQuery */\n\n/**\n * @todo Write documentation\n * @deprecated 17.0.0 use the `@nextcloud/dialogs` package instead\n * @namespace OC.Notification\n */\nexport default {\n\n\tupdatableNotification: null,\n\n\tgetDefaultNotificationFunction: null,\n\n\t/**\n\t * @param {Function} callback callback function\n\t * @deprecated 17.0.0 use the `@nextcloud/dialogs` package\n\t */\n\tsetDefault(callback) {\n\t\tthis.getDefaultNotificationFunction = callback\n\t},\n\n\t/**\n\t * Hides a notification.\n\t *\n\t * If a row is given, only hide that one.\n\t * If no row is given, hide all notifications.\n\t *\n\t * @param {jQuery} [$row] notification row\n\t * @param {Function} [callback] callback\n\t * @deprecated 17.0.0 use the `@nextcloud/dialogs` package\n\t */\n\thide($row, callback) {\n\t\tif (_.isFunction($row)) {\n\t\t\t// first arg is the callback\n\t\t\tcallback = $row\n\t\t\t$row = undefined\n\t\t}\n\n\t\tif (!$row) {\n\t\t\tlogger.error('Missing argument $row in OC.Notification.hide() call, caller needs to be adjusted to only dismiss its own notification')\n\t\t\treturn\n\t\t}\n\n\t\t// remove the row directly\n\t\t$row.each(function() {\n\t\t\tif ($(this)[0].toastify) {\n\t\t\t\t$(this)[0].toastify.hideToast()\n\t\t\t} else {\n\t\t\t\tlogger.error('cannot hide toast because object is not set')\n\t\t\t}\n\t\t\tif (this === this.updatableNotification) {\n\t\t\t\tthis.updatableNotification = null\n\t\t\t}\n\t\t})\n\t\tif (callback) {\n\t\t\tcallback.call()\n\t\t}\n\t\tif (this.getDefaultNotificationFunction) {\n\t\t\tthis.getDefaultNotificationFunction()\n\t\t}\n\t},\n\n\t/**\n\t * Shows a notification as HTML without being sanitized before.\n\t * If you pass unsanitized user input this may lead to a XSS vulnerability.\n\t * Consider using show() instead of showHTML()\n\t *\n\t * @param {string} html Message to display\n\t * @param {object} [options] options\n\t * @param {string} [options.type] notification type\n\t * @param {number} [options.timeout] timeout value, defaults to 0 (permanent)\n\t * @return {jQuery} jQuery element for notification row\n\t * @deprecated 17.0.0 use the `@nextcloud/dialogs` package\n\t */\n\tshowHtml(html, options) {\n\t\toptions = options || {}\n\t\toptions.isHTML = true\n\t\toptions.timeout = (!options.timeout) ? TOAST_PERMANENT_TIMEOUT : options.timeout\n\t\tconst toast = showMessage(html, options)\n\t\ttoast.toastElement.toastify = toast\n\t\treturn $(toast.toastElement)\n\t},\n\n\t/**\n\t * Shows a sanitized notification\n\t *\n\t * @param {string} text Message to display\n\t * @param {object} [options] options\n\t * @param {string} [options.type] notification type\n\t * @param {number} [options.timeout] timeout value, defaults to 0 (permanent)\n\t * @return {jQuery} jQuery element for notification row\n\t * @deprecated 17.0.0 use the `@nextcloud/dialogs` package\n\t */\n\tshow(text, options) {\n\t\tconst escapeHTML = function(text) {\n\t\t\treturn text.toString()\n\t\t\t\t.split('&').join('&')\n\t\t\t\t.split('<').join('<')\n\t\t\t\t.split('>').join('>')\n\t\t\t\t.split('\"').join('"')\n\t\t\t\t.split('\\'').join(''')\n\t\t}\n\n\t\toptions = options || {}\n\t\toptions.timeout = (!options.timeout) ? TOAST_PERMANENT_TIMEOUT : options.timeout\n\t\tconst toast = showMessage(escapeHTML(text), options)\n\t\ttoast.toastElement.toastify = toast\n\t\treturn $(toast.toastElement)\n\t},\n\n\t/**\n\t * Updates (replaces) a sanitized notification.\n\t *\n\t * @param {string} text Message to display\n\t * @return {jQuery} JQuery element for notification row\n\t * @deprecated 17.0.0 use the `@nextcloud/dialogs` package\n\t */\n\tshowUpdate(text) {\n\t\tif (this.updatableNotification) {\n\t\t\tthis.updatableNotification.hideToast()\n\t\t}\n\t\tthis.updatableNotification = showMessage(text, { timeout: TOAST_PERMANENT_TIMEOUT })\n\t\tthis.updatableNotification.toastElement.toastify = this.updatableNotification\n\t\treturn $(this.updatableNotification.toastElement)\n\t},\n\n\t/**\n\t * Shows a notification that disappears after x seconds, default is\n\t * 7 seconds\n\t *\n\t * @param {string} text Message to show\n\t * @param {Array} [options] options array\n\t * @param {number} [options.timeout] timeout in seconds, if this is 0 it will show the message permanently\n\t * @param {boolean} [options.isHTML] an indicator for HTML notifications (true) or text (false)\n\t * @param {string} [options.type] notification type\n\t * @return {jQuery} the toast element\n\t * @deprecated 17.0.0 use the `@nextcloud/dialogs` package\n\t */\n\tshowTemporary(text, options) {\n\t\toptions = options || {}\n\t\toptions.timeout = options.timeout || TOAST_DEFAULT_TIMEOUT\n\t\tconst toast = showMessage(text, options)\n\t\ttoast.toastElement.toastify = toast\n\t\treturn $(toast.toastElement)\n\t},\n\n\t/**\n\t * Returns whether a notification is hidden.\n\t *\n\t * @return {boolean}\n\t * @deprecated 17.0.0 use the `@nextcloud/dialogs` package\n\t */\n\tisHidden() {\n\t\treturn !$('#content').find('.toastify').length\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 { 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: 2016-2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-FileCopyrightText: 2016 ownCloud, Inc.\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport axios from '@nextcloud/axios'\nimport { emit } from '@nextcloud/event-bus'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport $ from 'jquery'\nimport _ from 'underscore'\nimport logger from '../logger.js'\n\n/**\n * @deprecated 25.0.0 Use Vue based (`@nextcloud/vue`) settings components instead\n */\nexport default {\n\t_cachedGroups: null,\n\n\tescapeHTML: function(text) {\n\t\treturn text.toString()\n\t\t\t.split('&').join('&')\n\t\t\t.split('<').join('<')\n\t\t\t.split('>').join('>')\n\t\t\t.split('\"').join('"')\n\t\t\t.split('\\'').join(''')\n\t},\n\n\tasync rebuildNavigation() {\n\t\tconst { data } = await axios.get(generateOcsUrl('core/navigation', 2) + '/apps?format=json')\n\t\tif (data.ocs.meta.statuscode !== 200) {\n\t\t\treturn\n\t\t}\n\n\t\temit('nextcloud:app-menu.refresh', { apps: data.ocs.data })\n\t\twindow.dispatchEvent(new Event('resize'))\n\t},\n\n\t/**\n\t * Setup selection box for group selection.\n\t *\n\t * Values need to be separated by a pipe \"|\" character.\n\t * (mostly because a comma is more likely to be used\n\t * for groups)\n\t *\n\t * @param $elements jQuery element (hidden input) to setup select2 on\n\t * @param {Array} [extraOptions] extra options hash to pass to select2\n\t * @param {Array} [options] extra options\n\t * @param {Array} [options.excludeAdmins] flag whether to exclude admin groups\n\t */\n\tsetupGroupsSelect: function($elements, extraOptions, options) {\n\t\tconst self = this\n\t\toptions = options || {}\n\t\tif ($elements.length > 0) {\n\t\t\t// Let's load the data and THEN init our select\n\t\t\t$.ajax({\n\t\t\t\turl: generateOcsUrl('cloud/groups/details'),\n\t\t\t\tdataType: 'json',\n\t\t\t\tsuccess: function(data) {\n\t\t\t\t\tconst results = []\n\n\t\t\t\t\tif (data.ocs.data.groups && data.ocs.data.groups.length > 0) {\n\t\t\t\t\t\tdata.ocs.data.groups.forEach(function(group) {\n\t\t\t\t\t\t\tif (!options.excludeAdmins || group.id !== 'admin') {\n\t\t\t\t\t\t\t\tresults.push({ id: group.id, displayname: group.displayname })\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\n\t\t\t\t\t\t// note: settings are saved through a \"change\" event registered\n\t\t\t\t\t\t// on all input fields\n\t\t\t\t\t\t$elements.select2(_.extend({\n\t\t\t\t\t\t\tplaceholder: t('core', 'Groups'),\n\t\t\t\t\t\t\tallowClear: true,\n\t\t\t\t\t\t\tmultiple: true,\n\t\t\t\t\t\t\ttoggleSelect: true,\n\t\t\t\t\t\t\tseparator: '|',\n\t\t\t\t\t\t\tdata: { results, text: 'displayname' },\n\t\t\t\t\t\t\tinitSelection: function(element, callback) {\n\t\t\t\t\t\t\t\tconst groups = $(element).val()\n\t\t\t\t\t\t\t\tlet selection\n\t\t\t\t\t\t\t\tif (groups && results.length > 0) {\n\t\t\t\t\t\t\t\t\tselection = _.map(_.filter((groups || []).split('|').sort(), function(groupId) {\n\t\t\t\t\t\t\t\t\t\treturn results.find(function(group) {\n\t\t\t\t\t\t\t\t\t\t\treturn group.id === groupId\n\t\t\t\t\t\t\t\t\t\t}) !== undefined\n\t\t\t\t\t\t\t\t\t}), function(groupId) {\n\t\t\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t\t\tid: groupId,\n\t\t\t\t\t\t\t\t\t\t\tdisplayname: results.find(function(group) {\n\t\t\t\t\t\t\t\t\t\t\t\treturn group.id === groupId\n\t\t\t\t\t\t\t\t\t\t\t}).displayname,\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t} else if (groups) {\n\t\t\t\t\t\t\t\t\tselection = _.map((groups || []).split('|').sort(), function(groupId) {\n\t\t\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t\t\tid: groupId,\n\t\t\t\t\t\t\t\t\t\t\tdisplayname: groupId,\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcallback(selection)\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tformatResult: function(element) {\n\t\t\t\t\t\t\t\treturn self.escapeHTML(element.displayname)\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tformatSelection: function(element) {\n\t\t\t\t\t\t\t\treturn self.escapeHTML(element.displayname)\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tescapeMarkup: function(m) {\n\t\t\t\t\t\t\t\t// prevent double markup escape\n\t\t\t\t\t\t\t\treturn m\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t}, extraOptions || {}))\n\t\t\t\t\t} else {\n\t\t\t\t\t\tOC.Notification.show(t('core', 'Group list is empty'), { type: 'error' })\n\t\t\t\t\t\tlogger.debug(data)\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\terror: function(data) {\n\t\t\t\t\tOC.Notification.show(t('core', 'Unable to retrieve the group list'), { type: 'error' })\n\t\t\t\t\tlogger.debug(data)\n\t\t\t\t},\n\t\t\t})\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\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 { 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\tlet bytes = null\n\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\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\nimport _ from 'underscore'\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\tparams = _.extend(params || {}, OC.parseQueryString(this._decodeQuery(location.search)))\n\t\treturn params || {}\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 (_.isString(params)) {\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\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 Apps from './apps.js'\nimport appswebroots from './appswebroots.js'\nimport Backbone from './backbone.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 {\n\thideMenus,\n\tregisterMenu,\n\tshowMenu,\n\tunregisterMenu,\n} from './menu.js'\nimport * as MimeType from './mimeType.js'\nimport msg from './msg.js'\nimport Notification from './notification.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 Settings from './settings.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\tApps,\n\tappConfig,\n\tappswebroots,\n\tBackbone,\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 * Legacy menu helpers\n\t */\n\thideMenus,\n\tregisterMenu,\n\tshowMenu,\n\tunregisterMenu,\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\tNotification,\n\t/**\n\t * @deprecated 28.0.0 use methods from '@nextcloud/password-confirmation'\n\t */\n\tPasswordConfirmation,\n\tPlugins,\n\t/**\n\t * @deprecated 25.0.0 Use Vue based (`@nextcloud/vue`) settings components instead\n\t */\n\tSettings,\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\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 */\nimport { getCurrentUser } from '@nextcloud/auth';\nimport { emit } from '@nextcloud/event-bus';\nimport { loadState } from '@nextcloud/initial-state';\nimport { generateUrl } from '@nextcloud/router';\nimport logger from './logger.js';\nimport { fetchRequestToken, getRequestToken, } from './OC/requesttoken.ts';\n// This is always set, exception would be e.g. error pages where this is undefined\nconst { auto_logout: autoLogout, session_keepalive: keepSessionAlive, session_lifetime: sessionLifetime, } = loadState('core', 'config', {});\n/**\n * Calls the server periodically to ensure that session and CSRF\n * token doesn't expire\n */\nexport function initSessionHeartBeat() {\n registerAutoLogout();\n if (!keepSessionAlive) {\n logger.info('Session heartbeat disabled');\n return;\n }\n let interval = startPolling();\n window.addEventListener('online', async () => {\n logger.info('Browser is online again, resuming heartbeat');\n interval = startPolling();\n try {\n await poll();\n logger.info('Session token successfully updated after resuming network');\n // Let apps know we're online and requests will have the new token\n emit('networkOnline', {\n success: true,\n });\n }\n catch (error) {\n logger.error('could not update session token after resuming network', { error });\n // Let apps know we're online but requests might have an outdated token\n emit('networkOnline', {\n success: false,\n });\n }\n });\n window.addEventListener('offline', () => {\n logger.info('Browser is offline, stopping heartbeat');\n // Let apps know we're offline\n emit('networkOffline', {});\n clearInterval(interval);\n logger.info('Session heartbeat polling stopped');\n });\n}\n/**\n * Get interval in seconds\n */\nfunction getInterval() {\n const interval = sessionLifetime\n ? Math.floor(sessionLifetime / 2)\n : 900;\n // minimum one minute, max 24 hours, default 15 minutes\n return Math.min(24 * 3600, Math.max(60, interval));\n}\n/**\n * Poll the CSRF token for changes.\n * This will also extend the current session if needed.\n */\nasync function poll() {\n try {\n await fetchRequestToken();\n }\n catch (error) {\n logger.error('session heartbeat failed', { error });\n }\n}\n/**\n * Start an window interval with the polling as the callback.\n *\n * @return The interval id\n */\nfunction startPolling() {\n const interval = window.setInterval(poll, getInterval() * 1000);\n logger.info('session heartbeat polling started');\n return interval;\n}\n/**\n * If enabled this will register event listeners to track if a user is active.\n * If not the user will be automatically logged out after the configured IDLE time.\n */\nfunction registerAutoLogout() {\n if (!autoLogout || !getCurrentUser()) {\n return;\n }\n let lastActive = Date.now();\n window.addEventListener('mousemove', () => {\n lastActive = Date.now();\n localStorage.setItem('lastActive', JSON.stringify(lastActive));\n });\n window.addEventListener('touchstart', () => {\n lastActive = Date.now();\n localStorage.setItem('lastActive', JSON.stringify(lastActive));\n });\n window.addEventListener('storage', (event) => {\n if (event.key !== 'lastActive') {\n return;\n }\n if (event.newValue === null) {\n return;\n }\n lastActive = JSON.parse(event.newValue);\n });\n let intervalId = 0;\n const logoutCheck = () => {\n const timeout = Date.now() - (sessionLifetime ?? 86400) * 1000;\n if (lastActive < timeout) {\n clearTimeout(intervalId);\n logger.info('Inactivity timout reached, logging out');\n const logoutUrl = generateUrl('/logout') + '?requesttoken=' + encodeURIComponent(getRequestToken());\n window.location.href = logoutUrl;\n }\n };\n intervalId = window.setInterval(logoutCheck, 1000);\n}\n","/**\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { t } from '@nextcloud/l10n';\nimport logger from '../logger.js';\n/**\n *\n * @param text\n */\nfunction unsecuredCopyToClipboard(text) {\n const textArea = document.createElement('textarea');\n const textAreaContent = document.createTextNode(text);\n textArea.appendChild(textAreaContent);\n document.body.appendChild(textArea);\n textArea.focus({ preventScroll: true });\n textArea.select();\n try {\n // This is a fallback for browsers that do not support the Clipboard API\n // execCommand is deprecated, but it is the only way to copy text to the clipboard in some browsers\n document.execCommand('copy');\n }\n catch (error) {\n window.prompt(t('core', 'Clipboard not available, please copy manually'), text);\n logger.error('files Unable to copy to clipboard', { error });\n }\n document.body.removeChild(textArea);\n}\n/**\n *\n */\nfunction initFallbackClipboardAPI() {\n if (!window.navigator?.clipboard?.writeText) {\n logger.info('Clipboard API not available, using fallback');\n Object.defineProperty(window.navigator, 'clipboard', {\n value: {\n writeText: unsecuredCopyToClipboard,\n },\n writable: false,\n });\n }\n}\nexport { initFallbackClipboardAPI };\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","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { isRTL } from '@nextcloud/l10n'\nimport $ from 'jquery'\nimport moment from 'moment'\n/* globals Snap */\nimport _ from 'underscore'\nimport { setUp as setUpContactsMenu } from './components/ContactsMenu.js'\nimport { setUp as setUpMainMenu } from './components/MainMenu.js'\nimport { setUp as setUpUserMenu } from './components/UserMenu.js'\nimport OC from './OC/index.js'\nimport { initSessionHeartBeat } from './session-heartbeat.ts'\nimport { initFallbackClipboardAPI } from './utils/ClipboardFallback.ts'\nimport { interceptRequests } from './utils/xhr-request.js'\n\n// keep in sync with core/css/variables.scss\nconst breakpointMobileWidth = 1024\n\n/**\n *\n */\nfunction initLiveTimestamps() {\n\t// Update live timestamps every 30 seconds\n\tsetInterval(() => {\n\t\t$('.live-relative-timestamp').each(function() {\n\t\t\tconst timestamp = parseInt($(this).attr('data-timestamp'), 10)\n\t\t\t$(this).text(moment(timestamp).fromNow())\n\t\t})\n\t}, 30 * 1000)\n}\n\n/**\n * Moment doesn't have aliases for every locale and doesn't parse some locale IDs correctly so we need to alias them\n */\nconst localeAliases = {\n\tzh: 'zh-cn',\n\tzh_Hans: 'zh-cn',\n\tzh_Hans_CN: 'zh-cn',\n\tzh_Hans_HK: 'zh-cn',\n\tzh_Hans_MO: 'zh-cn',\n\tzh_Hans_SG: 'zh-cn',\n\tzh_Hant: 'zh-hk',\n\tzh_Hant_HK: 'zh-hk',\n\tzh_Hant_MO: 'zh-mo',\n\tzh_Hant_TW: 'zh-tw',\n}\nlet locale = OC.getLocale()\nif (Object.hasOwn(localeAliases, locale)) {\n\tlocale = localeAliases[locale]\n}\n\n/**\n * Set users locale to moment.js as soon as possible\n */\nmoment.locale(locale)\n\n/**\n * Initializes core\n */\nexport function initCore() {\n\tconst SNAPPER_OPEN = isRTL() ? 'right' : 'left'\n\tconst SNAPPER_CLOSE = isRTL() ? 'left' : 'right'\n\n\tinterceptRequests()\n\tinitFallbackClipboardAPI()\n\n\tinitSessionHeartBeat()\n\n\tOC.registerMenu($('#expand'), $('#expanddiv'), false, true)\n\n\t// toggle for menus\n\t$(document).on('mouseup.closemenus', (event) => {\n\t\tconst $el = $(event.target)\n\t\tif ($el.closest('.menu').length || $el.closest('.menutoggle').length) {\n\t\t\t// don't close when clicking on the menu directly or a menu toggle\n\t\t\treturn false\n\t\t}\n\n\t\tOC.hideMenus()\n\t})\n\n\tsetUpMainMenu()\n\tsetUpUserMenu()\n\tsetUpContactsMenu()\n\n\t// just add snapper for logged in users\n\t// and if the app doesn't handle the nav slider itself\n\tif ($('#app-navigation').length && !$('html').hasClass('lte9')\n\t\t&& !$('#app-content').hasClass('no-snapper')) {\n\t\t// App sidebar on mobile\n\t\tconst snapper = new Snap({\n\t\t\telement: document.getElementById('app-content'),\n\t\t\tdisable: SNAPPER_CLOSE,\n\t\t\tmaxPosition: 300, // $navigation-width\n\t\t\tminPosition: -300, // $navigation-width for RTL\n\t\t\tminDragDistance: 100,\n\t\t})\n\n\t\t$('#app-content').prepend('
          ')\n\n\t\t// keep track whether snapper is currently animating, and\n\t\t// prevent to call open or close while that is the case\n\t\t// to avoid duplicating events (snap.js doesn't check this)\n\t\tlet animating = false\n\t\tsnapper.on('animating', () => {\n\t\t\t// we need this because the trigger button\n\t\t\t// is also implicitly wired to close by snapper\n\t\t\tanimating = true\n\t\t})\n\t\tsnapper.on('animated', () => {\n\t\t\tanimating = false\n\t\t})\n\t\tsnapper.on('start', () => {\n\t\t\t// we need this because dragging triggers that\n\t\t\tanimating = true\n\t\t})\n\t\tsnapper.on('end', () => {\n\t\t\t// we need this because dragging stop triggers that\n\t\t\tanimating = false\n\t\t})\n\t\tsnapper.on('open', () => {\n\t\t\t// eslint-disable-next-line no-use-before-define\n\t\t\t$appNavigation.attr('aria-hidden', 'false')\n\t\t})\n\t\tsnapper.on('close', () => {\n\t\t\t// eslint-disable-next-line no-use-before-define\n\t\t\t$appNavigation.attr('aria-hidden', 'true')\n\t\t})\n\n\t\t// These are necessary because calling open or close\n\t\t// on snapper during an animation makes it trigger an\n\t\t// unfinishable animation, which itself will continue\n\t\t// triggering animating events and cause high CPU load,\n\t\t//\n\t\t// Ref https://github.com/jakiestfu/Snap.js/issues/216\n\t\tconst oldSnapperOpen = snapper.open\n\t\tconst oldSnapperClose = snapper.close\n\t\tconst _snapperOpen = () => {\n\t\t\tif (animating || snapper.state().state !== 'closed') {\n\t\t\t\treturn\n\t\t\t}\n\t\t\toldSnapperOpen(SNAPPER_OPEN)\n\t\t}\n\n\t\tconst _snapperClose = () => {\n\t\t\tif (animating || snapper.state().state === 'closed') {\n\t\t\t\treturn\n\t\t\t}\n\t\t\toldSnapperClose()\n\t\t}\n\n\t\t// Needs to be deferred to properly catch in-between\n\t\t// events that snap.js is triggering after dragging.\n\t\t//\n\t\t// Skipped when running unit tests as we are not testing\n\t\t// the snap.js workarounds...\n\t\tif (!window.TESTING) {\n\t\t\tsnapper.open = () => {\n\t\t\t\t_.defer(_snapperOpen)\n\t\t\t}\n\t\t\tsnapper.close = () => {\n\t\t\t\t_.defer(_snapperClose)\n\t\t\t}\n\t\t}\n\n\t\t$('#app-navigation-toggle').click(() => {\n\t\t\t// close is implicit in the button by snap.js\n\t\t\tif (snapper.state().state !== SNAPPER_OPEN) {\n\t\t\t\tsnapper.open(SNAPPER_OPEN)\n\t\t\t}\n\t\t})\n\t\t$('#app-navigation-toggle').keypress(() => {\n\t\t\tif (snapper.state().state === SNAPPER_OPEN) {\n\t\t\t\tsnapper.close()\n\t\t\t} else {\n\t\t\t\tsnapper.open(SNAPPER_OPEN)\n\t\t\t}\n\t\t})\n\n\t\t// close sidebar when switching navigation entry\n\t\tconst $appNavigation = $('#app-navigation')\n\t\t$appNavigation.attr('aria-hidden', 'true')\n\t\t$appNavigation.delegate('a, :button', 'click', (event) => {\n\t\t\tconst $target = $(event.target)\n\t\t\t// don't hide navigation when changing settings or adding things\n\t\t\tif ($target.is('.app-navigation-noclose')\n\t\t\t\t|| $target.closest('.app-navigation-noclose').length) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tif ($target.is('.app-navigation-entry-utils-menu-button')\n\t\t\t\t|| $target.closest('.app-navigation-entry-utils-menu-button').length) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tif ($target.is('.add-new')\n\t\t\t\t|| $target.closest('.add-new').length) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tif ($target.is('#app-settings')\n\t\t\t\t|| $target.closest('#app-settings').length) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tsnapper.close()\n\t\t})\n\n\t\tlet navigationBarSlideGestureEnabled = false\n\t\tlet navigationBarSlideGestureAllowed = true\n\t\tlet navigationBarSlideGestureEnablePending = false\n\n\t\tOC.allowNavigationBarSlideGesture = () => {\n\t\t\tnavigationBarSlideGestureAllowed = true\n\n\t\t\tif (navigationBarSlideGestureEnablePending) {\n\t\t\t\tsnapper.enable()\n\n\t\t\t\tnavigationBarSlideGestureEnabled = true\n\t\t\t\tnavigationBarSlideGestureEnablePending = false\n\t\t\t}\n\t\t}\n\n\t\tOC.disallowNavigationBarSlideGesture = () => {\n\t\t\tnavigationBarSlideGestureAllowed = false\n\n\t\t\tif (navigationBarSlideGestureEnabled) {\n\t\t\t\tconst endCurrentDrag = true\n\t\t\t\tsnapper.disable(endCurrentDrag)\n\n\t\t\t\tnavigationBarSlideGestureEnabled = false\n\t\t\t\tnavigationBarSlideGestureEnablePending = true\n\t\t\t}\n\t\t}\n\n\t\tconst toggleSnapperOnSize = () => {\n\t\t\tif ($(window).width() > breakpointMobileWidth) {\n\t\t\t\t$appNavigation.attr('aria-hidden', 'false')\n\t\t\t\tsnapper.close()\n\t\t\t\tsnapper.disable()\n\n\t\t\t\tnavigationBarSlideGestureEnabled = false\n\t\t\t\tnavigationBarSlideGestureEnablePending = false\n\t\t\t} else if (navigationBarSlideGestureAllowed) {\n\t\t\t\tsnapper.enable()\n\n\t\t\t\tnavigationBarSlideGestureEnabled = true\n\t\t\t\tnavigationBarSlideGestureEnablePending = false\n\t\t\t} else {\n\t\t\t\tnavigationBarSlideGestureEnablePending = true\n\t\t\t}\n\t\t}\n\n\t\t$(window).resize(_.debounce(toggleSnapperOnSize, 250))\n\n\t\t// initial call\n\t\ttoggleSnapperOnSize()\n\t}\n\n\tinitLiveTimestamps()\n}\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { translatePlural as n, translate as t } from '@nextcloud/l10n'\nimport Vue from 'vue'\nimport AppMenu from './AppMenu.vue'\n\n/**\n *\n */\nexport function setUp() {\n\tVue.mixin({\n\t\tmethods: {\n\t\t\tt,\n\t\t\tn,\n\t\t},\n\t})\n\n\tconst container = document.getElementById('header-start__appmenu')\n\tif (!container) {\n\t\t// no container, possibly we're on a public page\n\t\treturn\n\t}\n\tconst AppMenuApp = Vue.extend(AppMenu)\n\tconst appMenu = new AppMenuApp({}).$mount(container)\n\n\tObject.assign(OC, {\n\t\tsetNavigationCounter(id, counter) {\n\t\t\tappMenu.setNavigationCounter(id, counter)\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 Vue from 'vue'\nimport AccountMenu from '../views/AccountMenu.vue'\n\n/**\n *\n */\nexport function setUp() {\n\tconst mountPoint = document.getElementById('user-menu')\n\tif (mountPoint) {\n\t\tnew Vue({\n\t\t\tname: 'AccountMenuRoot',\n\t\t\tel: mountPoint,\n\t\t\trender: (h) => h(AccountMenu),\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 Vue from 'vue'\nimport ContactsMenu from '../views/ContactsMenu.vue'\nimport ContactsMenuService from '../services/ContactsMenuService.ts'\n\n/**\n * @todo move to contacts menu code https://github.com/orgs/nextcloud/projects/31#card-21213129\n */\nexport function setUp() {\n\tconst mountPoint = document.getElementById('contactsmenu')\n\n\tif (mountPoint) {\n\t\twindow.OC.ContactsMenu = new ContactsMenuService()\n\n\t\tnew Vue({\n\t\t\tname: 'ContactsMenuRoot',\n\t\t\tel: mountPoint,\n\t\t\trender: (h) => h(ContactsMenu),\n\t\t})\n\t}\n}\n","/**\n * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { loadState } from '@nextcloud/initial-state'\n\n/**\n * Set the page heading\n *\n * @param {string} heading page title from the history api\n * @since 27.0.0\n */\nexport function setPageHeading(heading) {\n\tconst headingEl = document.getElementById('page-heading-level-1')\n\tif (headingEl) {\n\t\theadingEl.textContent = heading\n\t}\n}\nexport default {\n\t/**\n\t * @return {boolean} Whether the user opted-out of shortcuts so that they should not be registered\n\t */\n\tdisableKeyboardShortcuts() {\n\t\treturn loadState('theming', 'shortcutsDisabled', false)\n\t},\n\tsetPageHeading,\n}\n","/**\n * SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors\n * SPDX-FileCopyrightText: 2016 ownCloud, Inc.\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport axios from '@nextcloud/axios';\nimport { confirmPassword, isPasswordConfirmationRequired, PwdConfirmationMode } from '@nextcloud/password-confirmation';\nimport { generateOcsUrl } from '@nextcloud/router';\n/**\n * @param method - 'post' or 'delete'\n * @param endpoint - endpoint endpoint\n * @param options - destructuring object\n * @param options.data - option data\n * @param options.success - success callback\n * @param options.error - error callback\n */\nasync function call(method, endpoint, options = {}) {\n if ((method === 'post' || method === 'delete') && isPasswordConfirmationRequired(PwdConfirmationMode.Lax)) {\n await confirmPassword();\n }\n try {\n const { data } = await axios.request({\n method: method.toLowerCase(),\n url: generateOcsUrl('apps/provisioning_api/api/v1/config/apps') + endpoint,\n data: options.data || {},\n });\n options.success?.(data.ocs.data);\n }\n catch (error) {\n options.error?.(error);\n }\n}\n/**\n * @param [options] destructuring object\n * @param [options.success] success callback\n * @since 11.0.0\n */\nexport function getApps(options) {\n call('get', '', options);\n}\n/**\n * @param app app id\n * @param [options] destructuring object\n * @param [options.success] success callback\n * @param [options.error] error callback\n * @since 11.0.0\n */\nexport function getKeys(app, options) {\n call('get', '/' + app, options);\n}\n/**\n * @param app app id\n * @param key key\n * @param defaultValue default value\n * @param [options] destructuring object\n * @param [options.success] success callback\n * @param [options.error] error callback\n * @since 11.0.0\n */\nexport function getValue(app, key, defaultValue, options) {\n options = options || {};\n options.data = {\n defaultValue,\n };\n call('get', '/' + app + '/' + key, options);\n}\n/**\n * @param app app id\n * @param key key\n * @param value value\n * @param [options] destructuring object\n * @param [options.success] success callback\n * @param [options.error] error callback\n * @since 11.0.0\n */\nexport function setValue(app, key, value, options) {\n options = options || {};\n options.data = {\n value,\n };\n call('post', '/' + app + '/' + key, options);\n}\n/**\n * @param app app id\n * @param key key\n * @param [options] destructuring object\n * @param [options.success] success callback\n * @param [options.error] error callback\n * @since 11.0.0\n */\nexport function deleteKey(app, key, options) {\n call('delete', '/' + app + '/' + key, options);\n}\n","/**\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport escapeHTML from 'escape-html'\n\n/**\n * @typedef TypeDefinition\n * @function action This action is executed to let the user select a resource\n * @param {string} icon Contains the icon css class for the type\n * @function Object() { [native code] }\n */\n\n/**\n * @type {TypeDefinition[]}\n */\nconst types = {}\n\n/**\n * Those translations will be used by the vue component but they should be shipped with the server\n * FIXME: Those translations should be added to the library\n *\n * @return {Array}\n */\nexport function l10nProjects() {\n\treturn [\n\t\tt('core', 'Add to a project'),\n\t\tt('core', 'Show details'),\n\t\tt('core', 'Hide details'),\n\t\tt('core', 'Rename project'),\n\t\tt('core', 'Failed to rename the project'),\n\t\tt('core', 'Failed to create a project'),\n\t\tt('core', 'Failed to add the item to the project'),\n\t\tt('core', 'Connect items to a project to make them easier to find'),\n\t\tt('core', 'Type to search for existing projects'),\n\t]\n}\n\nexport default {\n\t/**\n\t *\n\t * @param {string} type type\n\t * @param {TypeDefinition} typeDefinition typeDefinition\n\t */\n\tregisterType(type, typeDefinition) {\n\t\ttypes[type] = typeDefinition\n\t},\n\ttrigger(type) {\n\t\treturn types[type].action()\n\t},\n\tgetTypes() {\n\t\treturn Object.keys(types)\n\t},\n\tgetIcon(type) {\n\t\treturn types[type].typeIconClass || ''\n\t},\n\tgetLabel(type) {\n\t\treturn escapeHTML(types[type].typeString || type)\n\t},\n\tgetLink(type, id) {\n\t\t/* TODO: Allow action to be executed instead of href as well */\n\t\treturn typeof types[type] !== 'undefined' ? types[type].link(id) : ''\n\t},\n}\n","/**\n * SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n * Detects links:\n * Either the http(s) protocol is given or two strings, basically limited to ascii with the last\n * word being at least one digit long,\n * followed by at least another character\n *\n * The downside: anything not ascii is excluded. Not sure how common it is in areas using different\n * alphabets… the upside: fake domains with similar looking characters won't be formatted as links\n *\n * This is a copy of the backend regex in IURLGenerator, make sure to adjust both when changing\n */\nconst urlRegex = /(\\s|^)(https?:\\/\\/)([-A-Z0-9+_.]+(?::[0-9]+)?(?:\\/[-A-Z0-9+&@#%?=~_|!:,.;()]*)*)(\\s|$)/ig;\n/**\n * Converts plain text to rich text\n *\n * @param content - The plain text content\n */\nexport function plainToRich(content) {\n return formatLinksRich(content);\n}\n/**\n * Converts rich text to plain text\n *\n * @param content - The rich text content\n */\nexport function richToPlain(content) {\n return formatLinksPlain(content);\n}\n/**\n * Format links in the given content to rich text links\n *\n * @param content - The content containing plain text URLs\n */\nexport function formatLinksRich(content) {\n return content.replace(urlRegex, function (_, leadingSpace, protocol, url, trailingSpace) {\n let linkText = url;\n if (!protocol) {\n protocol = 'https://';\n }\n else if (protocol === 'http://') {\n linkText = protocol + url;\n }\n return leadingSpace + '
          ' + linkText + '' + trailingSpace;\n });\n}\n/**\n * Format links in the given content to plain text links\n *\n * @param content - The content containing rich text URLs\n */\nexport function formatLinksPlain(content) {\n const el = document.createElement('div');\n el.innerHTML = content;\n el.querySelectorAll('a').forEach((anchor) => {\n anchor.replaceWith(document.createTextNode(anchor.getAttribute('href') || ''));\n });\n return el.innerHTML;\n}\n","/**\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { generateFilePath } from '@nextcloud/router'\n\nconst loadedScripts = {}\nconst loadedStylesheets = {}\n/**\n * @namespace OCP\n * @class Loader\n */\nexport default {\n\n\t/**\n\t * Load a script asynchronously\n\t *\n\t * @param {string} app the app name\n\t * @param {string} file the script file name\n\t * @return {Promise}\n\t */\n\tloadScript(app, file) {\n\t\tconst key = app + file\n\t\tif (Object.hasOwn(loadedScripts, key)) {\n\t\t\treturn Promise.resolve()\n\t\t}\n\t\tloadedScripts[key] = true\n\t\treturn new Promise(function(resolve, reject) {\n\t\t\tconst scriptPath = generateFilePath(app, 'js', file)\n\t\t\tconst script = document.createElement('script')\n\t\t\tscript.src = scriptPath\n\t\t\tscript.setAttribute('nonce', btoa(OC.requestToken))\n\t\t\tscript.onload = () => resolve()\n\t\t\tscript.onerror = () => reject(new Error(`Failed to load script from ${scriptPath}`))\n\t\t\tdocument.head.appendChild(script)\n\t\t})\n\t},\n\n\t/**\n\t * Load a stylesheet file asynchronously\n\t *\n\t * @param {string} app the app name\n\t * @param {string} file the script file name\n\t * @return {Promise}\n\t */\n\tloadStylesheet(app, file) {\n\t\tconst key = app + file\n\t\tif (Object.hasOwn(loadedStylesheets, key)) {\n\t\t\treturn Promise.resolve()\n\t\t}\n\t\tloadedStylesheets[key] = true\n\t\treturn new Promise(function(resolve, reject) {\n\t\t\tconst stylePath = generateFilePath(app, 'css', file)\n\t\t\tconst link = document.createElement('link')\n\t\t\tlink.href = stylePath\n\t\t\tlink.type = 'text/css'\n\t\t\tlink.rel = 'stylesheet'\n\t\t\tlink.onload = () => resolve()\n\t\t\tlink.onerror = () => reject(new Error(`Failed to load stylesheet from ${stylePath}`))\n\t\t\tdocument.head.appendChild(link)\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 {\n\tshowError,\n\tshowInfo,\n\tshowMessage,\n\tshowSuccess,\n\tshowWarning,\n} from '@nextcloud/dialogs'\n\n/** @typedef {import('toastify-js')} Toast */\n\nexport default {\n\t/**\n\t * @deprecated 19.0.0 use `showSuccess` from the `@nextcloud/dialogs` package instead\n\t *\n\t * @param {string} text the toast text\n\t * @param {object} options options\n\t * @return {Toast}\n\t */\n\tsuccess(text, options) {\n\t\treturn showSuccess(text, options)\n\t},\n\t/**\n\t * @deprecated 19.0.0 use `showWarning` from the `@nextcloud/dialogs` package instead\n\t *\n\t * @param {string} text the toast text\n\t * @param {object} options options\n\t * @return {Toast}\n\t */\n\twarning(text, options) {\n\t\treturn showWarning(text, options)\n\t},\n\t/**\n\t * @deprecated 19.0.0 use `showError` from the `@nextcloud/dialogs` package instead\n\t *\n\t * @param {string} text the toast text\n\t * @param {object} options options\n\t * @return {Toast}\n\t */\n\terror(text, options) {\n\t\treturn showError(text, options)\n\t},\n\t/**\n\t * @deprecated 19.0.0 use `showInfo` from the `@nextcloud/dialogs` package instead\n\t *\n\t * @param {string} text the toast text\n\t * @param {object} options options\n\t * @return {Toast}\n\t */\n\tinfo(text, options) {\n\t\treturn showInfo(text, options)\n\t},\n\t/**\n\t * @deprecated 19.0.0 use `showMessage` from the `@nextcloud/dialogs` package instead\n\t *\n\t * @param {string} text the toast text\n\t * @param {object} options options\n\t * @return {Toast}\n\t */\n\tmessage(text, options) {\n\t\treturn showMessage(text, options)\n\t},\n\n}\n","/**\n * SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { loadState } from '@nextcloud/initial-state'\nimport Accessibility from './accessibility.js'\nimport * as AppConfig from './appconfig.ts'\nimport Collaboration from './collaboration.js'\nimport * as Comments from './comments.ts'\nimport Loader from './loader.js'\nimport Toast from './toast.js'\n\n/** @namespace OCP */\nexport default {\n\tAccessibility,\n\tAppConfig,\n\tCollaboration,\n\t/**\n\t * @deprecated 33.0.0\n\t */\n\tComments,\n\tInitialState: {\n\t\t/**\n\t\t * @deprecated 18.0.0 add https://www.npmjs.com/package/@nextcloud/initial-state to your app\n\t\t */\n\t\tloadState,\n\t},\n\tLoader,\n\t/**\n\t * @deprecated 19.0.0 use the `@nextcloud/dialogs` package instead\n\t */\n\tToast,\n}\n","\n import API from \"!../style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../css-loader/dist/cjs.js!./jquery-ui.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 \"!!../css-loader/dist/cjs.js!./jquery-ui.css\";\n export default content && content.locals ? content.locals : undefined;\n","\n import API from \"!../style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../css-loader/dist/cjs.js!./jquery-ui.theme.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 \"!!../css-loader/dist/cjs.js!./jquery-ui.theme.css\";\n export default content && content.locals ? content.locals : undefined;\n","\n import API from \"!../style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../css-loader/dist/cjs.js!./select2.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 \"!!../css-loader/dist/cjs.js!./select2.css\";\n export default content && content.locals ? content.locals : undefined;\n","\n import API from \"!../style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../css-loader/dist/cjs.js!./strengthify.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 \"!!../css-loader/dist/cjs.js!./strengthify.css\";\n export default content && content.locals ? content.locals : undefined;\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\n/* eslint-disable @nextcloud/no-deprecations */\n// END TODO\nimport Backbone from 'backbone'\nimport ClipboardJS from 'clipboard'\nimport { dav } from 'davclient.js'\nimport Handlebars from 'handlebars'\nimport $ from 'jquery'\nimport moment from 'moment'\nimport _ from 'underscore'\nimport { initCore } from './init.js'\nimport OC from './OC/index.js'\nimport { getRequestToken } from './OC/requesttoken.ts'\nimport OCA from './OCA/index.js'\nimport OCP from './OCP/index.js'\n\n// TODO: switch to `jquery-ui` package and import widgets and effects individually\n// `jquery-ui-dist` is used as a workaround for the issue of missing effects\nimport 'jquery-ui-dist/jquery-ui.js'\nimport 'jquery-ui-dist/jquery-ui.css'\nimport 'jquery-ui-dist/jquery-ui.theme.css'\nimport 'select2'\nimport 'select2/select2.css'\nimport 'snap.js/dist/snap.js'\nimport 'strengthify'\nimport 'strengthify/strengthify.css'\n\n/**\n *\n */\nfunction warnIfNotTesting() {\n\tif (window.TESTING === undefined) {\n\t\t// eslint-disable-next-line no-console\n\t\tOC.debug && console.warn.apply(console, arguments)\n\t}\n}\n\n/**\n * Mark a function as deprecated and automatically\n * warn if used!\n *\n * @param {Function} func the library to deprecate\n * @param {string} funcName the name of the library\n * @param {number} version the version this gets removed\n * @return {Function}\n */\nfunction deprecate(func, funcName, version) {\n\tconst oldFunc = func\n\tconst newFunc = function() {\n\t\twarnIfNotTesting(`The ${funcName} library is deprecated! It will be removed in nextcloud ${version}.`)\n\t\treturn oldFunc.apply(this, arguments)\n\t}\n\tObject.assign(newFunc, oldFunc)\n\treturn newFunc\n}\n\n/**\n *\n * @param global\n * @param cb\n * @param msg\n */\nfunction setDeprecatedProp(global, cb, msg) {\n\t(Array.isArray(global) ? global : [global]).forEach((global) => {\n\t\tif (window[global] !== undefined) {\n\t\t\tdelete window[global]\n\t\t}\n\t\tObject.defineProperty(window, global, {\n\t\t\tget: () => {\n\t\t\t\tif (msg) {\n\t\t\t\t\twarnIfNotTesting(`${global} is deprecated: ${msg}`)\n\t\t\t\t} else {\n\t\t\t\t\twarnIfNotTesting(`${global} is deprecated`)\n\t\t\t\t}\n\n\t\t\t\treturn cb()\n\t\t\t},\n\t\t})\n\t})\n}\n\nwindow._ = _\nsetDeprecatedProp(['$', 'jQuery'], () => $, 'The global jQuery is deprecated. It will be removed in a later versions without another warning. Please ship your own.')\nsetDeprecatedProp('Backbone', () => Backbone, 'please ship your own, this will be removed in Nextcloud 20')\nsetDeprecatedProp(['Clipboard', 'ClipboardJS'], () => ClipboardJS, 'please ship your own, this will be removed in Nextcloud 20')\nwindow.dav = dav\nsetDeprecatedProp('Handlebars', () => Handlebars, 'please ship your own, this will be removed in Nextcloud 20')\nsetDeprecatedProp('moment', () => moment, 'please ship your own, this will be removed in Nextcloud 20')\n\nwindow.OC = OC\nsetDeprecatedProp('initCore', () => initCore, 'this is an internal function')\nsetDeprecatedProp('oc_appswebroots', () => OC.appswebroots, 'use OC.appswebroots instead, this will be removed in Nextcloud 20')\nsetDeprecatedProp('oc_config', () => OC.config, 'use OC.config instead, this will be removed in Nextcloud 20')\nsetDeprecatedProp('oc_current_user', () => OC.getCurrentUser().uid, 'use OC.getCurrentUser().uid instead, this will be removed in Nextcloud 20')\nsetDeprecatedProp('oc_debug', () => OC.debug, 'use OC.debug instead, this will be removed in Nextcloud 20')\nsetDeprecatedProp('oc_defaults', () => OC.theme, 'use OC.theme instead, this will be removed in Nextcloud 20')\nsetDeprecatedProp('oc_isadmin', OC.isUserAdmin, 'use OC.isUserAdmin() instead, this will be removed in Nextcloud 20')\nsetDeprecatedProp('oc_requesttoken', () => getRequestToken(), 'use OC.requestToken instead, this will be removed in Nextcloud 20')\nsetDeprecatedProp('oc_webroot', () => OC.webroot, 'use OC.getRootPath() instead, this will be removed in Nextcloud 20')\nsetDeprecatedProp('OCDialogs', () => OC.dialogs, 'use OC.dialogs instead, this will be removed in Nextcloud 20')\nwindow.OCP = OCP\nwindow.OCA = OCA\n$.fn.select2 = deprecate($.fn.select2, 'select2', 19)\n\n/**\n * translate a string\n *\n * @param {string} app the id of the app for which to translate the string\n * @param {string} text the string to translate\n * @param [vars] map of placeholder key to value\n * @param {number} [count] number to replace %n with\n * @return {string}\n */\nwindow.t = _.bind(OC.L10N.translate, OC.L10N)\n\n/**\n * translate a string\n *\n * @param {string} app the id of the app for which to translate the string\n * @param {string} text_singular the string to translate for exactly one object\n * @param {string} text_plural the string to translate for n objects\n * @param {number} count number to determine whether to use singular or plural\n * @param [vars] map of placeholder key to value\n * @return {string} Translated string\n */\nwindow.n = _.bind(OC.L10N.translatePlural, OC.L10N)\n","function isA11yActivation(event) {\n if (event.type === \"click\") {\n return true;\n }\n if (event.type === \"keydown\" && event.key === \"Enter\") {\n return true;\n }\n return false;\n}\nexport {\n isA11yActivation\n};\n//# sourceMappingURL=a11y.mjs.map\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\n/**\n * Namespace for apps\n *\n * @namespace OCA\n */\nexport default { }\n","/**\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { getCurrentUser } from '@nextcloud/auth'\nimport { generateUrl } from '@nextcloud/router'\nimport $ from 'jquery'\n\n/**\n * This plugin inserts the right avatar for the user, depending on, whether a\n * custom avatar is uploaded - which it uses then - or not, and display a\n * placeholder with the first letter of the users name instead.\n * For this it queries the core_avatar_get route, thus this plugin is fit very\n * tightly for owncloud, and it may not work anywhere else.\n *\n * You may use this on any
          \n * Here I'm using
          as an example.\n *\n * There are 5 ways to call this:\n *\n * 1. $('.avatardiv').avatar('jdoe', 128);\n * This will make the div to jdoe's fitting avatar, with a size of 128px.\n *\n * 2. $('.avatardiv').avatar('jdoe');\n * This will make the div to jdoe's fitting avatar. If the div already has a\n * height, it will be used for the avatars size. Otherwise this plugin will\n * search for 'size' DOM data, to use for avatar size. If neither are available\n * it will default to 64px.\n *\n * 3. $('.avatardiv').avatar();\n * This will search the DOM for 'user' data, to use as the username. If there\n * is no username available it will default to a placeholder with the value of\n * \"?\". The size will be determined the same way, as the second example.\n *\n * 4. $('.avatardiv').avatar('jdoe', 128, true);\n * This will behave like the first example, except it will also append random\n * hashes to the custom avatar images, to force image reloading in IE8.\n *\n * 5. $('.avatardiv').avatar('jdoe', 128, undefined, true);\n * This will behave like the first example, but it will hide the avatardiv, if\n * it will display the default placeholder. undefined is the ie8fix from\n * example 4 and can be either true, or false/undefined, to be ignored.\n *\n * 6. $('.avatardiv').avatar('jdoe', 128, undefined, true, callback);\n * This will behave like the above example, but it will call the function\n * defined in callback after the avatar is placed into the DOM.\n *\n */\n\n$.fn.avatar = function(user, size, ie8fix, hidedefault, callback, displayname) {\n\tconst setAvatarForUnknownUser = function(target) {\n\t\ttarget.imageplaceholder('?')\n\t\ttarget.css('background-color', '#b9b9b9')\n\t}\n\n\tif (typeof (user) !== 'undefined') {\n\t\tuser = String(user)\n\t}\n\tif (typeof (displayname) !== 'undefined') {\n\t\tdisplayname = String(displayname)\n\t}\n\n\tif (typeof (size) === 'undefined') {\n\t\tif (this.height() > 0) {\n\t\t\tsize = this.height()\n\t\t} else if (this.data('size') > 0) {\n\t\t\tsize = this.data('size')\n\t\t} else {\n\t\t\tsize = 64\n\t\t}\n\t}\n\n\tthis.height(size)\n\tthis.width(size)\n\n\tif (typeof (user) === 'undefined') {\n\t\tif (typeof (this.data('user')) !== 'undefined') {\n\t\t\tuser = this.data('user')\n\t\t} else {\n\t\t\tsetAvatarForUnknownUser(this)\n\t\t\treturn\n\t\t}\n\t}\n\n\t// sanitize\n\tuser = String(user).replace(/\\//g, '')\n\n\tconst $div = this\n\tlet url\n\n\t// If this is our own avatar we have to use the version attribute\n\tif (user === getCurrentUser()?.uid) {\n\t\turl = generateUrl(\n\t\t\t'/avatar/{user}/{size}?v={version}',\n\t\t\t{\n\t\t\t\tuser,\n\t\t\t\tsize: Math.ceil(size * window.devicePixelRatio),\n\t\t\t\tversion: window.oc_userconfig.avatar.version,\n\t\t\t},\n\t\t)\n\t} else {\n\t\turl = generateUrl(\n\t\t\t'/avatar/{user}/{size}',\n\t\t\t{\n\t\t\t\tuser,\n\t\t\t\tsize: Math.ceil(size * window.devicePixelRatio),\n\t\t\t},\n\t\t)\n\t}\n\n\tconst img = new Image()\n\n\t// If the new image loads successfully set it.\n\timg.onload = function() {\n\t\t$div.clearimageplaceholder()\n\t\t$div.append(img)\n\n\t\tif (typeof callback === 'function') {\n\t\t\tcallback()\n\t\t}\n\t}\n\t// Fallback when avatar loading fails:\n\t// Use old placeholder when a displayname attribute is defined,\n\t// otherwise show the unknown user placeholder.\n\timg.onerror = function() {\n\t\t$div.clearimageplaceholder()\n\t\tif (typeof (displayname) !== 'undefined') {\n\t\t\t$div.imageplaceholder(user, displayname)\n\t\t} else {\n\t\t\tsetAvatarForUnknownUser($div)\n\t\t}\n\n\t\tif (typeof callback === 'function') {\n\t\t\tcallback()\n\t\t}\n\t}\n\n\tif (size < 32) {\n\t\t$div.addClass('icon-loading-small')\n\t} else {\n\t\t$div.addClass('icon-loading')\n\t}\n\timg.width = size\n\timg.height = size\n\timg.src = url\n\timg.alt = ''\n}\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport $ from 'jquery'\n\n/**\n * check if an element exists.\n * allows you to write if ($('#myid').exists()) to increase readability\n *\n * @see {@link http://stackoverflow.com/questions/31044/is-there-an-exists-function-for-jquery}\n * @return {boolean}\n */\n$.fn.exists = function() {\n\treturn this.length > 0\n}\n","/**\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport $ from 'jquery'\n\n/**\n * Filter jQuery selector by attribute value\n *\n * @param {string} attrName attribute name\n * @param {string} attrValue attribute value\n * @return {void}\n */\n$.fn.filterAttr = function(attrName, attrValue) {\n\treturn this.filter(function() {\n\t\treturn $(this).attr(attrName) === attrValue\n\t})\n}\n","/**\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { isA11yActivation } from '@nextcloud/vue/functions/a11y'\nimport { createFocusTrap } from 'focus-trap'\nimport $ from 'jquery'\n\n$.widget('oc.ocdialog', {\n\toptions: {\n\t\twidth: 'auto',\n\t\theight: 'auto',\n\t\tcloseButton: true,\n\t\tcloseOnEscape: true,\n\t\tcloseCallback: null,\n\t\tmodal: false,\n\t},\n\t_create() {\n\t\tconst self = this\n\n\t\tthis.originalCss = {\n\t\t\tdisplay: this.element[0].style.display,\n\t\t\twidth: this.element[0].style.width,\n\t\t\theight: this.element[0].style.height,\n\t\t}\n\n\t\tthis.originalTitle = this.element.attr('title')\n\t\tthis.options.title = this.options.title || this.originalTitle\n\n\t\tthis.$dialog = $('
          ')\n\t\t\t.attr({\n\t\t\t\t// Setting tabIndex makes the div focusable\n\t\t\t\ttabIndex: -1,\n\t\t\t\trole: 'dialog',\n\t\t\t\t'aria-modal': true,\n\t\t\t})\n\t\t\t.insertBefore(this.element)\n\t\tthis.$dialog.append(this.element.detach())\n\t\tthis.element.removeAttr('title').addClass('oc-dialog-content').appendTo(this.$dialog)\n\n\t\t// Activate the primary button on enter if there is a single input\n\t\tif (self.element.find('input').length === 1) {\n\t\t\tconst $input = self.element.find('input')\n\t\t\t$input.on('keydown', function(event) {\n\t\t\t\tif (isA11yActivation(event)) {\n\t\t\t\t\tif (self.$buttonrow) {\n\t\t\t\t\t\tconst $button = self.$buttonrow.find('button.primary')\n\t\t\t\t\t\tif ($button && !$button.prop('disabled')) {\n\t\t\t\t\t\t\t$button.click()\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\n\t\tthis.$dialog.css({\n\t\t\tdisplay: 'inline-block',\n\t\t\tposition: 'fixed',\n\t\t})\n\n\t\tthis.enterCallback = null\n\n\t\t$(document).on('keydown keyup', function(event) {\n\t\t\tif (\n\t\t\t\tevent.target !== self.$dialog.get(0)\n\t\t\t\t&& self.$dialog.find($(event.target)).length === 0\n\t\t\t) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\t// Escape\n\t\t\tif (\n\t\t\t\tevent.keyCode === 27\n\t\t\t\t&& event.type === 'keydown'\n\t\t\t\t&& self.options.closeOnEscape\n\t\t\t) {\n\t\t\t\tevent.stopImmediatePropagation()\n\t\t\t\tself.close()\n\t\t\t\treturn false\n\t\t\t}\n\t\t\t// Enter\n\t\t\tif (event.keyCode === 13) {\n\t\t\t\tevent.stopImmediatePropagation()\n\t\t\t\tif (self.enterCallback !== null) {\n\t\t\t\t\tself.enterCallback()\n\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t\tif (event.type === 'keyup') {\n\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t\treturn false\n\t\t\t}\n\t\t})\n\n\t\tthis._setOptions(this.options)\n\t\tthis._createOverlay()\n\t\tthis._useFocusTrap()\n\t},\n\t_init() {\n\t\tthis._trigger('open')\n\t},\n\t_setOption(key, value) {\n\t\tconst self = this\n\t\tswitch (key) {\n\t\t\tcase 'title':\n\t\t\t\tif (this.$title) {\n\t\t\t\t\tthis.$title.text(value)\n\t\t\t\t} else {\n\t\t\t\t\tconst $title = $('

          '\n\t\t\t\t\t\t+ value\n\t\t\t\t\t\t+ '

          ')\n\t\t\t\t\tthis.$title = $title.prependTo(this.$dialog)\n\t\t\t\t}\n\t\t\t\tthis._setSizes()\n\t\t\t\tbreak\n\t\t\tcase 'buttons':\n\t\t\t\tif (this.$buttonrow) {\n\t\t\t\t\tthis.$buttonrow.empty()\n\t\t\t\t} else {\n\t\t\t\t\tconst $buttonrow = $('
          ')\n\t\t\t\t\tthis.$buttonrow = $buttonrow.appendTo(this.$dialog)\n\t\t\t\t}\n\t\t\t\tif (value.length === 1) {\n\t\t\t\t\tthis.$buttonrow.addClass('onebutton')\n\t\t\t\t} else if (value.length === 2) {\n\t\t\t\t\tthis.$buttonrow.addClass('twobuttons')\n\t\t\t\t} else if (value.length === 3) {\n\t\t\t\t\tthis.$buttonrow.addClass('threebuttons')\n\t\t\t\t}\n\t\t\t\t$.each(value, function(idx, val) {\n\t\t\t\t\tconst $button = $('')\n\t\t\t\t\t$closeButton.attr('aria-label', t('core', 'Close \"{dialogTitle}\" dialog', { dialogTitle: this.$title || this.options.title }))\n\t\t\t\t\tthis.$dialog.prepend($closeButton)\n\t\t\t\t\t$closeButton.on('click keydown', function(event) {\n\t\t\t\t\t\tif (isA11yActivation(event)) {\n\t\t\t\t\t\t\tself.options.closeCallback && self.options.closeCallback()\n\t\t\t\t\t\t\tself.close()\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t} else {\n\t\t\t\t\tthis.$dialog.find('.oc-dialog-close').remove()\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\tcase 'width':\n\t\t\t\tthis.$dialog.css('width', value)\n\t\t\t\tbreak\n\t\t\tcase 'height':\n\t\t\t\tthis.$dialog.css('height', value)\n\t\t\t\tbreak\n\t\t\tcase 'close':\n\t\t\t\tthis.closeCB = value\n\t\t\t\tbreak\n\t\t}\n\t\t// this._super(key, value);\n\t\t$.Widget.prototype._setOption.apply(this, arguments)\n\t},\n\t_setOptions() {\n\t\t// this._super(options);\n\t\t$.Widget.prototype._setOptions.apply(this, arguments)\n\t},\n\t_setSizes() {\n\t\tlet lessHeight = 0\n\t\tif (this.$title) {\n\t\t\tlessHeight += this.$title.outerHeight(true)\n\t\t}\n\t\tif (this.$buttonrow) {\n\t\t\tlessHeight += this.$buttonrow.outerHeight(true)\n\t\t}\n\t\tthis.element.css({\n\t\t\theight: 'calc(100% - ' + lessHeight + 'px)',\n\t\t})\n\t},\n\t_createOverlay() {\n\t\tif (!this.options.modal) {\n\t\t\treturn\n\t\t}\n\n\t\tconst self = this\n\t\tlet contentDiv = $('#content')\n\t\tif (contentDiv.length === 0) {\n\t\t\t// nextcloud-vue compatibility\n\t\t\tcontentDiv = $('.content')\n\t\t}\n\t\tthis.overlay = $('
          ')\n\t\t\t.addClass('oc-dialog-dim')\n\t\t\t.insertBefore(this.$dialog)\n\t\tthis.overlay.on('click keydown keyup', function(event) {\n\t\t\tif (event.target !== self.$dialog.get(0) && self.$dialog.find($(event.target)).length === 0) {\n\t\t\t\tevent.preventDefault()\n\t\t\t\tevent.stopPropagation()\n\t\t\t}\n\t\t})\n\t},\n\t_destroyOverlay() {\n\t\tif (!this.options.modal) {\n\t\t\treturn\n\t\t}\n\n\t\tif (this.overlay) {\n\t\t\tthis.overlay.off('click keydown keyup')\n\t\t\tthis.overlay.remove()\n\t\t\tthis.overlay = null\n\t\t}\n\t},\n\t_useFocusTrap() {\n\t\t// Create global stack if undefined\n\t\tObject.assign(window, { _nc_focus_trap: window._nc_focus_trap || [] })\n\n\t\tconst dialogElement = this.$dialog[0]\n\t\tthis.focusTrap = createFocusTrap(dialogElement, {\n\t\t\tallowOutsideClick: true,\n\t\t\ttrapStack: window._nc_focus_trap,\n\t\t\tfallbackFocus: dialogElement,\n\t\t})\n\n\t\tthis.focusTrap.activate()\n\t},\n\t_clearFocusTrap() {\n\t\tthis.focusTrap?.deactivate()\n\t\tthis.focusTrap = null\n\t},\n\twidget() {\n\t\treturn this.$dialog\n\t},\n\tsetEnterCallback(callback) {\n\t\tthis.enterCallback = callback\n\t},\n\tunsetEnterCallback() {\n\t\tthis.enterCallback = null\n\t},\n\tclose() {\n\t\tthis._clearFocusTrap()\n\t\tthis._destroyOverlay()\n\t\tconst self = this\n\t\t// Ugly hack to catch remaining keyup events.\n\t\tsetTimeout(function() {\n\t\t\tself._trigger('close', self)\n\t\t}, 200)\n\n\t\tself.$dialog.remove()\n\t\tthis.destroy()\n\t},\n\tdestroy() {\n\t\tif (this.$title) {\n\t\t\tthis.$title.remove()\n\t\t}\n\t\tif (this.$buttonrow) {\n\t\t\tthis.$buttonrow.remove()\n\t\t}\n\n\t\tif (this.originalTitle) {\n\t\t\tthis.element.attr('title', this.originalTitle)\n\t\t}\n\t\tthis.element.removeClass('oc-dialog-content')\n\t\t\t.css(this.originalCss).detach().insertBefore(this.$dialog)\n\t\tthis.$dialog.remove()\n\t},\n})\n","/**\n * SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport escapeHTML from 'escape-html'\nimport $ from 'jquery'\nimport logger from '../logger.js'\n\n/**\n * jQuery plugin for micro templates\n *\n * Strings are automatically escaped, but that can be disabled by setting\n * escapeFunction to null.\n *\n * Usage examples:\n *\n * var htmlStr = '

          Bake, uncovered, until the {greasystuff} is melted and the {pasta} is heated through, about {min} minutes.

          '\n * $(htmlStr).octemplate({greasystuff: 'cheese', pasta: 'macaroni', min: 10});\n *\n * var htmlStr = '

          Welcome back {user}

          ';\n * $(htmlStr).octemplate({user: 'John Q. Public'}, {escapeFunction: null});\n *\n * Be aware that the target string must be wrapped in an HTML element for the\n * plugin to work. The following won't work:\n *\n * var textStr = 'Welcome back {user}';\n * $(textStr).octemplate({user: 'John Q. Public'});\n *\n * For anything larger than one-liners, you can use a simple $.get() ajax\n * request to get the template, or you can embed them it the page using the\n * text/template type:\n *\n * \n *\n * var $tmpl = $('#contactListItemTemplate');\n * var contacts = // fetched in some ajax call\n *\n * $.each(contacts, function(idx, contact) {\n * $contactList.append(\n * $tmpl.octemplate({\n * id: contact.getId(),\n * name: contact.getDisplayName(),\n * email: contact.getPreferredEmail(),\n * phone: contact.getPreferredPhone(),\n * });\n * );\n * });\n */\n/**\n * Object Template\n * Inspired by micro templating done by e.g. underscore.js\n */\nconst Template = {\n\tinit(vars, options, elem) {\n\t\t// Mix in the passed in options with the default options\n\t\tthis.vars = vars\n\t\tthis.options = $.extend({}, this.options, options)\n\n\t\tthis.elem = elem\n\t\tconst self = this\n\n\t\tif (typeof this.options.escapeFunction === 'function') {\n\t\t\tconst keys = Object.keys(this.vars)\n\t\t\tfor (let key = 0; key < keys.length; key++) {\n\t\t\t\tif (typeof this.vars[keys[key]] === 'string') {\n\t\t\t\t\tthis.vars[keys[key]] = self.options.escapeFunction(this.vars[keys[key]])\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tconst _html = this._build(this.vars)\n\t\treturn $(_html)\n\t},\n\t// From stackoverflow.com/questions/1408289/best-way-to-do-variable-interpolation-in-javascript\n\t_build(o) {\n\t\tconst data = this.elem.attr('type') === 'text/template' ? this.elem.html() : this.elem.get(0).outerHTML\n\t\ttry {\n\t\t\treturn data.replace(\n\t\t\t\t/{([^{}]*)}/g,\n\t\t\t\tfunction(a, b) {\n\t\t\t\t\tconst r = o[b]\n\t\t\t\t\treturn typeof r === 'string' || typeof r === 'number' ? r : a\n\t\t\t\t},\n\t\t\t)\n\t\t} catch (error) {\n\t\t\tlogger.error('failed to build octemplate', { data, error })\n\t\t}\n\t},\n\toptions: {\n\t\tescapeFunction: escapeHTML,\n\t},\n}\n\n$.fn.octemplate = function(vars, options) {\n\tvars = vars || {}\n\tif (this.length) {\n\t\tconst _template = Object.create(Template)\n\t\treturn _template.init(vars, options, this)\n\t}\n}\n","/* eslint-disable jsdoc/require-jsdoc */\n\n/**\n * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-FileCopyrightText: 2013-2016 ownCloud, Inc.\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { createHash } from 'crypto-browserify'\nimport $ from 'jquery'\nimport logger from '../logger.js'\n\n/*\n * Adds a background color to the element called on and adds the first character\n * of the passed in string. This string is also the seed for the generation of\n * the background color.\n *\n * You have following HTML:\n *\n *
          \n *\n * And call this from Javascript:\n *\n * $('#albumart').imageplaceholder('The Album Title');\n *\n * Which will result in:\n *\n *
          T
          \n *\n * You may also call it like this, to have a different background, than the seed:\n *\n * $('#albumart').imageplaceholder('The Album Title', 'Album Title');\n *\n * Resulting in:\n *\n *
          A
          \n *\n */\n\n/*\n* Alternatively, you can use the prototype function to convert your string to rgb colors:\n*\n* \"a6741a86aded5611a8e46ce16f2ad646\".toRgb()\n*\n* Will return the rgb parameters within the following object:\n*\n* Color {r: 208, g: 158, b: 109}\n*\n*/\n\nfunction toRgb(s) {\n\t// Normalize hash\n\tlet hash = s.toLowerCase()\n\n\t// Already a md5 hash?\n\tif (hash.match(/^([0-9a-f]{4}-?){8}$/) === null) {\n\t\tcreateHash('md5')\n\t\t\t.update(hash)\n\t\t\t.digest('hex')\n\t}\n\n\thash = hash.replace(/[^0-9a-f]/g, '')\n\n\tfunction Color(r, g, b) {\n\t\tthis.r = r\n\t\tthis.g = g\n\t\tthis.b = b\n\t}\n\n\tfunction stepCalc(steps, ends) {\n\t\tconst step = new Array(3)\n\t\tstep[0] = (ends[1].r - ends[0].r) / steps\n\t\tstep[1] = (ends[1].g - ends[0].g) / steps\n\t\tstep[2] = (ends[1].b - ends[0].b) / steps\n\t\treturn step\n\t}\n\n\tfunction mixPalette(steps, color1, color2) {\n\t\tconst palette = []\n\t\tpalette.push(color1)\n\t\tconst step = stepCalc(steps, [color1, color2])\n\t\tfor (let i = 1; i < steps; i++) {\n\t\t\tconst r = parseInt(color1.r + (step[0] * i))\n\t\t\tconst g = parseInt(color1.g + (step[1] * i))\n\t\t\tconst b = parseInt(color1.b + (step[2] * i))\n\t\t\tpalette.push(new Color(r, g, b))\n\t\t}\n\t\treturn palette\n\t}\n\n\tconst red = new Color(182, 70, 157)\n\tconst yellow = new Color(221, 203, 85)\n\tconst blue = new Color(0, 130, 201) // Nextcloud blue\n\t// Number of steps to go from a color to another\n\t// 3 colors * 6 will result in 18 generated colors\n\tconst steps = 6\n\n\tconst palette1 = mixPalette(steps, red, yellow)\n\tconst palette2 = mixPalette(steps, yellow, blue)\n\tconst palette3 = mixPalette(steps, blue, red)\n\n\tconst finalPalette = palette1.concat(palette2).concat(palette3)\n\n\t// Convert a string to an integer evenly\n\tfunction hashToInt(hash, maximum) {\n\t\tlet finalInt = 0\n\t\tconst result = []\n\n\t\t// Splitting evenly the string\n\t\tfor (let i = 0; i < hash.length; i++) {\n\t\t\t// chars in md5 goes up to f, hex:16\n\t\t\tresult.push(parseInt(hash.charAt(i), 16) % 16)\n\t\t}\n\t\t// Adds up all results\n\t\tfor (const j in result) {\n\t\t\tfinalInt += result[j]\n\t\t}\n\t\t// chars in md5 goes up to f, hex:16\n\t\t// make sure we're always using int in our operation\n\t\treturn parseInt(parseInt(finalInt) % maximum)\n\t}\n\n\treturn finalPalette[hashToInt(hash, steps * 3)]\n}\n\nString.prototype.toRgb = function() {\n\tlogger.warn('String.prototype.toRgb is deprecated! It will be removed in Nextcloud 22.')\n\n\treturn toRgb(this)\n}\n\n$.fn.imageplaceholder = function(seed, text, size) {\n\ttext = text || seed\n\n\t// Compute the hash\n\tconst rgb = toRgb(seed)\n\tthis.css('background-color', 'rgb(' + rgb.r + ', ' + rgb.g + ', ' + rgb.b + ')')\n\n\t// Placeholders are square\n\tconst height = this.height() || size || 32\n\tthis.height(height)\n\tthis.width(height)\n\n\t// CSS rules\n\tthis.css('color', '#fff')\n\tthis.css('font-weight', 'normal')\n\tthis.css('text-align', 'center')\n\n\t// calculate the height\n\tthis.css('line-height', height + 'px')\n\tthis.css('font-size', (height * 0.55) + 'px')\n\n\tif (seed !== null && seed.length) {\n\t\tconst placeholderText = text.replace(/\\s+/g, ' ').trim().split(' ', 2).map((word) => word[0].toUpperCase()).join('')\n\t\tthis.html(placeholderText)\n\t}\n}\n\n$.fn.clearimageplaceholder = function() {\n\tthis.css('background-color', '')\n\tthis.css('color', '')\n\tthis.css('font-weight', '')\n\tthis.css('text-align', '')\n\tthis.css('line-height', '')\n\tthis.css('font-size', '')\n\tthis.html('')\n\tthis.removeClass('icon-loading')\n\tthis.removeClass('icon-loading-small')\n}\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport $ from 'jquery'\nimport { getRequestToken } from '../OC/requesttoken.ts'\n\n$(document).on('ajaxSend', function(elm, xhr, settings) {\n\tif (settings.crossDomain === false) {\n\t\txhr.setRequestHeader('requesttoken', getRequestToken())\n\t\txhr.setRequestHeader('OCS-APIREQUEST', 'true')\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 $ from 'jquery'\n\n/**\n * select a range in an input field\n *\n * @see {@link http://stackoverflow.com/questions/499126/jquery-set-cursor-position-in-text-area}\n * @param {number} start start selection from\n * @param {number} end number of char from start\n * @return {void}\n */\n$.fn.selectRange = function(start, end) {\n\treturn this.each(function() {\n\t\tif (this.setSelectionRange) {\n\t\t\tthis.focus()\n\t\t\tthis.setSelectionRange(start, end)\n\t\t} else if (this.createTextRange) {\n\t\t\tconst range = this.createTextRange()\n\t\t\trange.collapse(true)\n\t\t\trange.moveEnd('character', end)\n\t\t\trange.moveStart('character', start)\n\t\t\trange.select()\n\t\t}\n\t})\n}\n","/**\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\n/** @typedef {import('jquery')} jQuery */\nimport $ from 'jquery'\n\n/**\n * @name Show Password\n * @description\n * @version 1.3.0\n * @requires jQuery 1.5\n *\n * @author Jan Jarfalk \n * author-website http://www.unwrongest.com\n *\n * special-thanks Michel Gratton\n *\n * @license MIT\n */\n$.fn.extend({\n\tshowPassword(c) {\n\t\t// Setup callback object\n\t\tconst callback = { fn: null, args: {} }\n\t\tcallback.fn = c\n\n\t\t// Clones passwords and turn the clones into text inputs\n\t\tconst cloneElement = function(element) {\n\t\t\tconst $element = $(element)\n\n\t\t\tconst $clone = $('')\n\n\t\t\t// Name added for JQuery Validation compatibility\n\t\t\t// Element name is required to avoid script warning.\n\t\t\t$clone.attr({\n\t\t\t\ttype: 'text',\n\t\t\t\tclass: $element.attr('class'),\n\t\t\t\tstyle: $element.attr('style'),\n\t\t\t\tsize: $element.attr('size'),\n\t\t\t\tname: $element.attr('name') + '-clone',\n\t\t\t\ttabindex: $element.attr('tabindex'),\n\t\t\t\tautocomplete: 'off',\n\t\t\t})\n\n\t\t\tif ($element.attr('placeholder') !== undefined) {\n\t\t\t\t$clone.attr('placeholder', $element.attr('placeholder'))\n\t\t\t}\n\n\t\t\treturn $clone\n\t\t}\n\n\t\t// Transfers values between two elements\n\t\tconst update = function(a, b) {\n\t\t\tb.val(a.val())\n\t\t}\n\n\t\t// Shows a or b depending on checkbox\n\t\tconst setState = function(checkbox, a, b) {\n\t\t\tif (checkbox.is(':checked')) {\n\t\t\t\tupdate(a, b)\n\t\t\t\tb.show()\n\t\t\t\ta.hide()\n\t\t\t} else {\n\t\t\t\tupdate(b, a)\n\t\t\t\tb.hide()\n\t\t\t\ta.show()\n\t\t\t}\n\t\t}\n\n\t\treturn this.each(function() {\n\t\t\tconst $input = $(this)\n\t\t\tconst $checkbox = $($input.data('typetoggle'))\n\n\t\t\t// Create clone\n\t\t\tconst $clone = cloneElement($input)\n\t\t\t$clone.insertAfter($input)\n\n\t\t\t// Set callback arguments\n\t\t\tif (callback.fn) {\n\t\t\t\tcallback.args.input = $input\n\t\t\t\tcallback.args.checkbox = $checkbox\n\t\t\t\tcallback.args.clone = $clone\n\t\t\t}\n\n\t\t\t$checkbox.bind('click', function() {\n\t\t\t\tsetState($checkbox, $input, $clone)\n\t\t\t})\n\n\t\t\t$input.bind('keyup', function() {\n\t\t\t\tupdate($input, $clone)\n\t\t\t})\n\n\t\t\t$clone.bind('keyup', function() {\n\t\t\t\tupdate($clone, $input)\n\n\t\t\t\t// Added for JQuery Validation compatibility\n\t\t\t\t// This will trigger validation if it's ON for keyup event\n\t\t\t\t$input.trigger('keyup')\n\t\t\t})\n\n\t\t\t// Added for JQuery Validation compatibility\n\t\t\t// This will trigger validation if it's ON for blur event\n\t\t\t$clone.bind('blur', function() {\n\t\t\t\t$input.trigger('focusout')\n\t\t\t})\n\n\t\t\tsetState($checkbox, $input, $clone)\n\n\t\t\t// set type of password field clone (type=text) to password right on submit\n\t\t\t// to prevent browser save the value of this field\n\t\t\t$clone.closest('form').submit(function() {\n\t\t\t\t// .prop has to be used, because .attr throws\n\t\t\t\t// an error while changing a type of an input\n\t\t\t\t// element\n\t\t\t\t$clone.prop('type', 'password')\n\t\t\t})\n\n\t\t\tif (callback.fn) {\n\t\t\t\tcallback.fn(callback.args)\n\t\t\t}\n\t\t})\n\t},\n})\n","/**\n * SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport $ from 'jquery'\n\n// Set autocomplete width the same as the related input\n// See http://stackoverflow.com/a/11845718\n$.ui.autocomplete.prototype._resizeMenu = function() {\n\tconst ul = this.menu.element\n\tul.outerWidth(this.element.outerWidth())\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/sass-loader/dist/cjs.js!./jquery-ui-fixes.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/sass-loader/dist/cjs.js!./jquery-ui-fixes.scss\";\n export default content && content.locals ? content.locals : undefined;\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/sass-loader/dist/cjs.js!./jquery.ocdialog.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/sass-loader/dist/cjs.js!./jquery.ocdialog.scss\";\n export default content && content.locals ? content.locals : undefined;\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport $ from 'jquery'\n\nimport './avatar.js'\nimport './exists.js'\nimport './filterattr.js'\nimport './ocdialog.js'\nimport './octemplate.js'\nimport './placeholder.js'\nimport './requesttoken.js'\nimport './selectrange.js'\nimport './showpassword.js'\nimport './ui-fixes.js'\nimport './css/jquery-ui-fixes.scss'\nimport './css/jquery.ocdialog.scss'\n\n/**\n * Disable automatic evaluation of responses for $.ajax() functions (and its\n * higher-level alternatives like $.get() and $.post()).\n *\n * If a response to a $.ajax() request returns a content type of \"application/javascript\"\n * JQuery would previously execute the response body. This is a pretty unexpected\n * behaviour and can result in a bypass of our Content-Security-Policy as well as\n * multiple unexpected XSS vectors.\n */\n$.ajaxSetup({\n\tcontents: {\n\t\tscript: false,\n\t},\n})\n\n/**\n * Disable execution of eval in jQuery. We do require an allowed eval CSP\n * configuration at the moment for handlebars et al. But for jQuery there is\n * not much of a reason to execute JavaScript directly via eval.\n *\n * This thus mitigates some unexpected XSS vectors.\n */\n$.globalEval = function() {\n}\n","/**\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { getCSPNonce } from '@nextcloud/auth'\nimport Axios from '@nextcloud/axios'\nimport { generateUrl } from '@nextcloud/router'\nimport _ from 'underscore'\nimport { initCore } from './init.js'\nimport { registerAppsSlideToggle } from './OC/apps.js'\nimport OC from './OC/index.js'\n\nimport 'core-js/stable/index.js'\nimport 'regenerator-runtime/runtime.js'\nimport './globals.js'\nimport './jquery/index.js'\n\n__webpack_nonce__ = getCSPNonce()\n\nwindow.addEventListener('DOMContentLoaded', function() {\n\tinitCore()\n\tregisterAppsSlideToggle()\n\n\t// fallback to hashchange when no history support\n\tif (window.history.pushState) {\n\t\twindow.onpopstate = _.bind(OC.Util.History._onPopState, OC.Util.History)\n\t} else {\n\t\twindow.onhashchange = _.bind(OC.Util.History._onPopState, OC.Util.History)\n\t}\n})\n\n// Fix error \"CSRF check failed\"\ndocument.addEventListener('DOMContentLoaded', function() {\n\tconst form = document.getElementById('password-input-form')\n\tif (form) {\n\t\tform.addEventListener('submit', async function(event) {\n\t\t\tevent.preventDefault()\n\t\t\tconst requestToken = document.getElementById('requesttoken')\n\t\t\tif (requestToken) {\n\t\t\t\tconst url = generateUrl('/csrftoken')\n\t\t\t\tconst resp = await Axios.get(url)\n\t\t\t\trequestToken.value = resp.data.token\n\t\t\t}\n\t\t\tform.submit()\n\t\t})\n\t}\n})\n","// Backbone.js 1.6.1\n\n// (c) 2010-2024 Jeremy Ashkenas and DocumentCloud\n// Backbone may be freely distributed under the MIT license.\n// For all details and documentation:\n// http://backbonejs.org\n\n(function(factory) {\n\n // Establish the root object, `window` (`self`) in the browser, or `global` on the server.\n // We use `self` instead of `window` for `WebWorker` support.\n var root = typeof self == 'object' && self.self === self && self ||\n typeof global == 'object' && global.global === global && global;\n\n // Set up Backbone appropriately for the environment. Start with AMD.\n if (typeof define === 'function' && define.amd) {\n define(['underscore', 'jquery', 'exports'], function(_, $, exports) {\n // Export global even in AMD case in case this script is loaded with\n // others that may still expect a global Backbone.\n root.Backbone = factory(root, exports, _, $);\n });\n\n // Next for Node.js or CommonJS. jQuery may not be needed as a module.\n } else if (typeof exports !== 'undefined') {\n var _ = require('underscore'), $;\n try { $ = require('jquery'); } catch (e) {}\n factory(root, exports, _, $);\n\n // Finally, as a browser global.\n } else {\n root.Backbone = factory(root, {}, root._, root.jQuery || root.Zepto || root.ender || root.$);\n }\n\n})(function(root, Backbone, _, $) {\n\n // Initial Setup\n // -------------\n\n // Save the previous value of the `Backbone` variable, so that it can be\n // restored later on, if `noConflict` is used.\n var previousBackbone = root.Backbone;\n\n // Create a local reference to a common array method we'll want to use later.\n var slice = Array.prototype.slice;\n\n // Current version of the library. Keep in sync with `package.json`.\n Backbone.VERSION = '1.6.1';\n\n // For Backbone's purposes, jQuery, Zepto, Ender, or My Library (kidding) owns\n // the `$` variable.\n Backbone.$ = $;\n\n // Runs Backbone.js in *noConflict* mode, returning the `Backbone` variable\n // to its previous owner. Returns a reference to this Backbone object.\n Backbone.noConflict = function() {\n root.Backbone = previousBackbone;\n return this;\n };\n\n // Turn on `emulateHTTP` to support legacy HTTP servers. Setting this option\n // will fake `\"PATCH\"`, `\"PUT\"` and `\"DELETE\"` requests via the `_method` parameter and\n // set a `X-Http-Method-Override` header.\n Backbone.emulateHTTP = false;\n\n // Turn on `emulateJSON` to support legacy servers that can't deal with direct\n // `application/json` requests ... this will encode the body as\n // `application/x-www-form-urlencoded` instead and will send the model in a\n // form param named `model`.\n Backbone.emulateJSON = false;\n\n // Backbone.Events\n // ---------------\n\n // A module that can be mixed in to *any object* in order to provide it with\n // a custom event channel. You may bind a callback to an event with `on` or\n // remove with `off`; `trigger`-ing an event fires all callbacks in\n // succession.\n //\n // var object = {};\n // _.extend(object, Backbone.Events);\n // object.on('expand', function(){ alert('expanded'); });\n // object.trigger('expand');\n //\n var Events = Backbone.Events = {};\n\n // Regular expression used to split event strings.\n var eventSplitter = /\\s+/;\n\n // A private global variable to share between listeners and listenees.\n var _listening;\n\n // Iterates over the standard `event, callback` (as well as the fancy multiple\n // space-separated events `\"change blur\", callback` and jQuery-style event\n // maps `{event: callback}`).\n var eventsApi = function(iteratee, events, name, callback, opts) {\n var i = 0, names;\n if (name && typeof name === 'object') {\n // Handle event maps.\n if (callback !== void 0 && 'context' in opts && opts.context === void 0) opts.context = callback;\n for (names = _.keys(name); i < names.length ; i++) {\n events = eventsApi(iteratee, events, names[i], name[names[i]], opts);\n }\n } else if (name && eventSplitter.test(name)) {\n // Handle space-separated event names by delegating them individually.\n for (names = name.split(eventSplitter); i < names.length; i++) {\n events = iteratee(events, names[i], callback, opts);\n }\n } else {\n // Finally, standard events.\n events = iteratee(events, name, callback, opts);\n }\n return events;\n };\n\n // Bind an event to a `callback` function. Passing `\"all\"` will bind\n // the callback to all events fired.\n Events.on = function(name, callback, context) {\n this._events = eventsApi(onApi, this._events || {}, name, callback, {\n context: context,\n ctx: this,\n listening: _listening\n });\n\n if (_listening) {\n var listeners = this._listeners || (this._listeners = {});\n listeners[_listening.id] = _listening;\n // Allow the listening to use a counter, instead of tracking\n // callbacks for library interop\n _listening.interop = false;\n }\n\n return this;\n };\n\n // Inversion-of-control versions of `on`. Tell *this* object to listen to\n // an event in another object... keeping track of what it's listening to\n // for easier unbinding later.\n Events.listenTo = function(obj, name, callback) {\n if (!obj) return this;\n var id = obj._listenId || (obj._listenId = _.uniqueId('l'));\n var listeningTo = this._listeningTo || (this._listeningTo = {});\n var listening = _listening = listeningTo[id];\n\n // This object is not listening to any other events on `obj` yet.\n // Setup the necessary references to track the listening callbacks.\n if (!listening) {\n this._listenId || (this._listenId = _.uniqueId('l'));\n listening = _listening = listeningTo[id] = new Listening(this, obj);\n }\n\n // Bind callbacks on obj.\n var error = tryCatchOn(obj, name, callback, this);\n _listening = void 0;\n\n if (error) throw error;\n // If the target obj is not Backbone.Events, track events manually.\n if (listening.interop) listening.on(name, callback);\n\n return this;\n };\n\n // The reducing API that adds a callback to the `events` object.\n var onApi = function(events, name, callback, options) {\n if (callback) {\n var handlers = events[name] || (events[name] = []);\n var context = options.context, ctx = options.ctx, listening = options.listening;\n if (listening) listening.count++;\n\n handlers.push({callback: callback, context: context, ctx: context || ctx, listening: listening});\n }\n return events;\n };\n\n // An try-catch guarded #on function, to prevent poisoning the global\n // `_listening` variable.\n var tryCatchOn = function(obj, name, callback, context) {\n try {\n obj.on(name, callback, context);\n } catch (e) {\n return e;\n }\n };\n\n // Remove one or many callbacks. If `context` is null, removes all\n // callbacks with that function. If `callback` is null, removes all\n // callbacks for the event. If `name` is null, removes all bound\n // callbacks for all events.\n Events.off = function(name, callback, context) {\n if (!this._events) return this;\n this._events = eventsApi(offApi, this._events, name, callback, {\n context: context,\n listeners: this._listeners\n });\n\n return this;\n };\n\n // Tell this object to stop listening to either specific events ... or\n // to every object it's currently listening to.\n Events.stopListening = function(obj, name, callback) {\n var listeningTo = this._listeningTo;\n if (!listeningTo) return this;\n\n var ids = obj ? [obj._listenId] : _.keys(listeningTo);\n for (var i = 0; i < ids.length; i++) {\n var listening = listeningTo[ids[i]];\n\n // If listening doesn't exist, this object is not currently\n // listening to obj. Break out early.\n if (!listening) break;\n\n listening.obj.off(name, callback, this);\n if (listening.interop) listening.off(name, callback);\n }\n if (_.isEmpty(listeningTo)) this._listeningTo = void 0;\n\n return this;\n };\n\n // The reducing API that removes a callback from the `events` object.\n var offApi = function(events, name, callback, options) {\n if (!events) return;\n\n var context = options.context, listeners = options.listeners;\n var i = 0, names;\n\n // Delete all event listeners and \"drop\" events.\n if (!name && !context && !callback) {\n for (names = _.keys(listeners); i < names.length; i++) {\n listeners[names[i]].cleanup();\n }\n return;\n }\n\n names = name ? [name] : _.keys(events);\n for (; i < names.length; i++) {\n name = names[i];\n var handlers = events[name];\n\n // Bail out if there are no events stored.\n if (!handlers) break;\n\n // Find any remaining events.\n var remaining = [];\n for (var j = 0; j < handlers.length; j++) {\n var handler = handlers[j];\n if (\n callback && callback !== handler.callback &&\n callback !== handler.callback._callback ||\n context && context !== handler.context\n ) {\n remaining.push(handler);\n } else {\n var listening = handler.listening;\n if (listening) listening.off(name, callback);\n }\n }\n\n // Replace events if there are any remaining. Otherwise, clean up.\n if (remaining.length) {\n events[name] = remaining;\n } else {\n delete events[name];\n }\n }\n\n return events;\n };\n\n // Bind an event to only be triggered a single time. After the first time\n // the callback is invoked, its listener will be removed. If multiple events\n // are passed in using the space-separated syntax, the handler will fire\n // once for each event, not once for a combination of all events.\n Events.once = function(name, callback, context) {\n // Map the event into a `{event: once}` object.\n var events = eventsApi(onceMap, {}, name, callback, this.off.bind(this));\n if (typeof name === 'string' && context == null) callback = void 0;\n return this.on(events, callback, context);\n };\n\n // Inversion-of-control versions of `once`.\n Events.listenToOnce = function(obj, name, callback) {\n // Map the event into a `{event: once}` object.\n var events = eventsApi(onceMap, {}, name, callback, this.stopListening.bind(this, obj));\n return this.listenTo(obj, events);\n };\n\n // Reduces the event callbacks into a map of `{event: onceWrapper}`.\n // `offer` unbinds the `onceWrapper` after it has been called.\n var onceMap = function(map, name, callback, offer) {\n if (callback) {\n var once = map[name] = _.once(function() {\n offer(name, once);\n callback.apply(this, arguments);\n });\n once._callback = callback;\n }\n return map;\n };\n\n // Trigger one or many events, firing all bound callbacks. Callbacks are\n // passed the same arguments as `trigger` is, apart from the event name\n // (unless you're listening on `\"all\"`, which will cause your callback to\n // receive the true name of the event as the first argument).\n Events.trigger = function(name) {\n if (!this._events) return this;\n\n var length = Math.max(0, arguments.length - 1);\n var args = Array(length);\n for (var i = 0; i < length; i++) args[i] = arguments[i + 1];\n\n eventsApi(triggerApi, this._events, name, void 0, args);\n return this;\n };\n\n // Handles triggering the appropriate event callbacks.\n var triggerApi = function(objEvents, name, callback, args) {\n if (objEvents) {\n var events = objEvents[name];\n var allEvents = objEvents.all;\n if (events && allEvents) allEvents = allEvents.slice();\n if (events) triggerEvents(events, args);\n if (allEvents) triggerEvents(allEvents, [name].concat(args));\n }\n return objEvents;\n };\n\n // A difficult-to-believe, but optimized internal dispatch function for\n // triggering events. Tries to keep the usual cases speedy (most internal\n // Backbone events have 3 arguments).\n var triggerEvents = function(events, args) {\n var ev, i = -1, l = events.length, a1 = args[0], a2 = args[1], a3 = args[2];\n switch (args.length) {\n case 0: while (++i < l) (ev = events[i]).callback.call(ev.ctx); return;\n case 1: while (++i < l) (ev = events[i]).callback.call(ev.ctx, a1); return;\n case 2: while (++i < l) (ev = events[i]).callback.call(ev.ctx, a1, a2); return;\n case 3: while (++i < l) (ev = events[i]).callback.call(ev.ctx, a1, a2, a3); return;\n default: while (++i < l) (ev = events[i]).callback.apply(ev.ctx, args); return;\n }\n };\n\n // A listening class that tracks and cleans up memory bindings\n // when all callbacks have been offed.\n var Listening = function(listener, obj) {\n this.id = listener._listenId;\n this.listener = listener;\n this.obj = obj;\n this.interop = true;\n this.count = 0;\n this._events = void 0;\n };\n\n Listening.prototype.on = Events.on;\n\n // Offs a callback (or several).\n // Uses an optimized counter if the listenee uses Backbone.Events.\n // Otherwise, falls back to manual tracking to support events\n // library interop.\n Listening.prototype.off = function(name, callback) {\n var cleanup;\n if (this.interop) {\n this._events = eventsApi(offApi, this._events, name, callback, {\n context: void 0,\n listeners: void 0\n });\n cleanup = !this._events;\n } else {\n this.count--;\n cleanup = this.count === 0;\n }\n if (cleanup) this.cleanup();\n };\n\n // Cleans up memory bindings between the listener and the listenee.\n Listening.prototype.cleanup = function() {\n delete this.listener._listeningTo[this.obj._listenId];\n if (!this.interop) delete this.obj._listeners[this.id];\n };\n\n // Aliases for backwards compatibility.\n Events.bind = Events.on;\n Events.unbind = Events.off;\n\n // Allow the `Backbone` object to serve as a global event bus, for folks who\n // want global \"pubsub\" in a convenient place.\n _.extend(Backbone, Events);\n\n // Backbone.Model\n // --------------\n\n // Backbone **Models** are the basic data object in the framework --\n // frequently representing a row in a table in a database on your server.\n // A discrete chunk of data and a bunch of useful, related methods for\n // performing computations and transformations on that data.\n\n // Create a new model with the specified attributes. A client id (`cid`)\n // is automatically generated and assigned for you.\n var Model = Backbone.Model = function(attributes, options) {\n var attrs = attributes || {};\n options || (options = {});\n this.preinitialize.apply(this, arguments);\n this.cid = _.uniqueId(this.cidPrefix);\n this.attributes = {};\n if (options.collection) this.collection = options.collection;\n if (options.parse) attrs = this.parse(attrs, options) || {};\n var defaults = _.result(this, 'defaults');\n\n // Just _.defaults would work fine, but the additional _.extends\n // is in there for historical reasons. See #3843.\n attrs = _.defaults(_.extend({}, defaults, attrs), defaults);\n\n this.set(attrs, options);\n this.changed = {};\n this.initialize.apply(this, arguments);\n };\n\n // Attach all inheritable methods to the Model prototype.\n _.extend(Model.prototype, Events, {\n\n // A hash of attributes whose current and previous value differ.\n changed: null,\n\n // The value returned during the last failed validation.\n validationError: null,\n\n // The default name for the JSON `id` attribute is `\"id\"`. MongoDB and\n // CouchDB users may want to set this to `\"_id\"`.\n idAttribute: 'id',\n\n // The prefix is used to create the client id which is used to identify models locally.\n // You may want to override this if you're experiencing name clashes with model ids.\n cidPrefix: 'c',\n\n // preinitialize is an empty function by default. You can override it with a function\n // or object. preinitialize will run before any instantiation logic is run in the Model.\n preinitialize: function(){},\n\n // Initialize is an empty function by default. Override it with your own\n // initialization logic.\n initialize: function(){},\n\n // Return a copy of the model's `attributes` object.\n toJSON: function(options) {\n return _.clone(this.attributes);\n },\n\n // Proxy `Backbone.sync` by default -- but override this if you need\n // custom syncing semantics for *this* particular model.\n sync: function() {\n return Backbone.sync.apply(this, arguments);\n },\n\n // Get the value of an attribute.\n get: function(attr) {\n return this.attributes[attr];\n },\n\n // Get the HTML-escaped value of an attribute.\n escape: function(attr) {\n return _.escape(this.get(attr));\n },\n\n // Returns `true` if the attribute contains a value that is not null\n // or undefined.\n has: function(attr) {\n return this.get(attr) != null;\n },\n\n // Special-cased proxy to underscore's `_.matches` method.\n matches: function(attrs) {\n return !!_.iteratee(attrs, this)(this.attributes);\n },\n\n // Set a hash of model attributes on the object, firing `\"change\"`. This is\n // the core primitive operation of a model, updating the data and notifying\n // anyone who needs to know about the change in state. The heart of the beast.\n set: function(key, val, options) {\n if (key == null) return this;\n\n // Handle both `\"key\", value` and `{key: value}` -style arguments.\n var attrs;\n if (typeof key === 'object') {\n attrs = key;\n options = val;\n } else {\n (attrs = {})[key] = val;\n }\n\n options || (options = {});\n\n // Run validation.\n if (!this._validate(attrs, options)) return false;\n\n // Extract attributes and options.\n var unset = options.unset;\n var silent = options.silent;\n var changes = [];\n var changing = this._changing;\n this._changing = true;\n\n if (!changing) {\n this._previousAttributes = _.clone(this.attributes);\n this.changed = {};\n }\n\n var current = this.attributes;\n var changed = this.changed;\n var prev = this._previousAttributes;\n\n // For each `set` attribute, update or delete the current value.\n for (var attr in attrs) {\n val = attrs[attr];\n if (!_.isEqual(current[attr], val)) changes.push(attr);\n if (!_.isEqual(prev[attr], val)) {\n changed[attr] = val;\n } else {\n delete changed[attr];\n }\n unset ? delete current[attr] : current[attr] = val;\n }\n\n // Update the `id`.\n if (this.idAttribute in attrs) {\n var prevId = this.id;\n this.id = this.get(this.idAttribute);\n if (this.id !== prevId) {\n this.trigger('changeId', this, prevId, options);\n }\n }\n\n // Trigger all relevant attribute changes.\n if (!silent) {\n if (changes.length) this._pending = options;\n for (var i = 0; i < changes.length; i++) {\n this.trigger('change:' + changes[i], this, current[changes[i]], options);\n }\n }\n\n // You might be wondering why there's a `while` loop here. Changes can\n // be recursively nested within `\"change\"` events.\n if (changing) return this;\n if (!silent) {\n while (this._pending) {\n options = this._pending;\n this._pending = false;\n this.trigger('change', this, options);\n }\n }\n this._pending = false;\n this._changing = false;\n return this;\n },\n\n // Remove an attribute from the model, firing `\"change\"`. `unset` is a noop\n // if the attribute doesn't exist.\n unset: function(attr, options) {\n return this.set(attr, void 0, _.extend({}, options, {unset: true}));\n },\n\n // Clear all attributes on the model, firing `\"change\"`.\n clear: function(options) {\n var attrs = {};\n for (var key in this.attributes) attrs[key] = void 0;\n return this.set(attrs, _.extend({}, options, {unset: true}));\n },\n\n // Determine if the model has changed since the last `\"change\"` event.\n // If you specify an attribute name, determine if that attribute has changed.\n hasChanged: function(attr) {\n if (attr == null) return !_.isEmpty(this.changed);\n return _.has(this.changed, attr);\n },\n\n // Return an object containing all the attributes that have changed, or\n // false if there are no changed attributes. Useful for determining what\n // parts of a view need to be updated and/or what attributes need to be\n // persisted to the server. Unset attributes will be set to undefined.\n // You can also pass an attributes object to diff against the model,\n // determining if there *would be* a change.\n changedAttributes: function(diff) {\n if (!diff) return this.hasChanged() ? _.clone(this.changed) : false;\n var old = this._changing ? this._previousAttributes : this.attributes;\n var changed = {};\n var hasChanged;\n for (var attr in diff) {\n var val = diff[attr];\n if (_.isEqual(old[attr], val)) continue;\n changed[attr] = val;\n hasChanged = true;\n }\n return hasChanged ? changed : false;\n },\n\n // Get the previous value of an attribute, recorded at the time the last\n // `\"change\"` event was fired.\n previous: function(attr) {\n if (attr == null || !this._previousAttributes) return null;\n return this._previousAttributes[attr];\n },\n\n // Get all of the attributes of the model at the time of the previous\n // `\"change\"` event.\n previousAttributes: function() {\n return _.clone(this._previousAttributes);\n },\n\n // Fetch the model from the server, merging the response with the model's\n // local attributes. Any changed attributes will trigger a \"change\" event.\n fetch: function(options) {\n options = _.extend({parse: true}, options);\n var model = this;\n var success = options.success;\n options.success = function(resp) {\n var serverAttrs = options.parse ? model.parse(resp, options) : resp;\n if (!model.set(serverAttrs, options)) return false;\n if (success) success.call(options.context, model, resp, options);\n model.trigger('sync', model, resp, options);\n };\n wrapError(this, options);\n return this.sync('read', this, options);\n },\n\n // Set a hash of model attributes, and sync the model to the server.\n // If the server returns an attributes hash that differs, the model's\n // state will be `set` again.\n save: function(key, val, options) {\n // Handle both `\"key\", value` and `{key: value}` -style arguments.\n var attrs;\n if (key == null || typeof key === 'object') {\n attrs = key;\n options = val;\n } else {\n (attrs = {})[key] = val;\n }\n\n options = _.extend({validate: true, parse: true}, options);\n var wait = options.wait;\n\n // If we're not waiting and attributes exist, save acts as\n // `set(attr).save(null, opts)` with validation. Otherwise, check if\n // the model will be valid when the attributes, if any, are set.\n if (attrs && !wait) {\n if (!this.set(attrs, options)) return false;\n } else if (!this._validate(attrs, options)) {\n return false;\n }\n\n // After a successful server-side save, the client is (optionally)\n // updated with the server-side state.\n var model = this;\n var success = options.success;\n var attributes = this.attributes;\n options.success = function(resp) {\n // Ensure attributes are restored during synchronous saves.\n model.attributes = attributes;\n var serverAttrs = options.parse ? model.parse(resp, options) : resp;\n if (wait) serverAttrs = _.extend({}, attrs, serverAttrs);\n if (serverAttrs && !model.set(serverAttrs, options)) return false;\n if (success) success.call(options.context, model, resp, options);\n model.trigger('sync', model, resp, options);\n };\n wrapError(this, options);\n\n // Set temporary attributes if `{wait: true}` to properly find new ids.\n if (attrs && wait) this.attributes = _.extend({}, attributes, attrs);\n\n var method = this.isNew() ? 'create' : options.patch ? 'patch' : 'update';\n if (method === 'patch' && !options.attrs) options.attrs = attrs;\n var xhr = this.sync(method, this, options);\n\n // Restore attributes.\n this.attributes = attributes;\n\n return xhr;\n },\n\n // Destroy this model on the server if it was already persisted.\n // Optimistically removes the model from its collection, if it has one.\n // If `wait: true` is passed, waits for the server to respond before removal.\n destroy: function(options) {\n options = options ? _.clone(options) : {};\n var model = this;\n var success = options.success;\n var wait = options.wait;\n\n var destroy = function() {\n model.stopListening();\n model.trigger('destroy', model, model.collection, options);\n };\n\n options.success = function(resp) {\n if (wait) destroy();\n if (success) success.call(options.context, model, resp, options);\n if (!model.isNew()) model.trigger('sync', model, resp, options);\n };\n\n var xhr = false;\n if (this.isNew()) {\n _.defer(options.success);\n } else {\n wrapError(this, options);\n xhr = this.sync('delete', this, options);\n }\n if (!wait) destroy();\n return xhr;\n },\n\n // Default URL for the model's representation on the server -- if you're\n // using Backbone's restful methods, override this to change the endpoint\n // that will be called.\n url: function() {\n var base =\n _.result(this, 'urlRoot') ||\n _.result(this.collection, 'url') ||\n urlError();\n if (this.isNew()) return base;\n var id = this.get(this.idAttribute);\n return base.replace(/[^\\/]$/, '$&/') + encodeURIComponent(id);\n },\n\n // **parse** converts a response into the hash of attributes to be `set` on\n // the model. The default implementation is just to pass the response along.\n parse: function(resp, options) {\n return resp;\n },\n\n // Create a new model with identical attributes to this one.\n clone: function() {\n return new this.constructor(this.attributes);\n },\n\n // A model is new if it has never been saved to the server, and lacks an id.\n isNew: function() {\n return !this.has(this.idAttribute);\n },\n\n // Check if the model is currently in a valid state.\n isValid: function(options) {\n return this._validate({}, _.extend({}, options, {validate: true}));\n },\n\n // Run validation against the next complete set of model attributes,\n // returning `true` if all is well. Otherwise, fire an `\"invalid\"` event.\n _validate: function(attrs, options) {\n if (!options.validate || !this.validate) return true;\n attrs = _.extend({}, this.attributes, attrs);\n var error = this.validationError = this.validate(attrs, options) || null;\n if (!error) return true;\n this.trigger('invalid', this, error, _.extend(options, {validationError: error}));\n return false;\n }\n\n });\n\n // Backbone.Collection\n // -------------------\n\n // If models tend to represent a single row of data, a Backbone Collection is\n // more analogous to a table full of data ... or a small slice or page of that\n // table, or a collection of rows that belong together for a particular reason\n // -- all of the messages in this particular folder, all of the documents\n // belonging to this particular author, and so on. Collections maintain\n // indexes of their models, both in order, and for lookup by `id`.\n\n // Create a new **Collection**, perhaps to contain a specific type of `model`.\n // If a `comparator` is specified, the Collection will maintain\n // its models in sort order, as they're added and removed.\n var Collection = Backbone.Collection = function(models, options) {\n options || (options = {});\n this.preinitialize.apply(this, arguments);\n if (options.model) this.model = options.model;\n if (options.comparator !== void 0) this.comparator = options.comparator;\n this._reset();\n this.initialize.apply(this, arguments);\n if (models) this.reset(models, _.extend({silent: true}, options));\n };\n\n // Default options for `Collection#set`.\n var setOptions = {add: true, remove: true, merge: true};\n var addOptions = {add: true, remove: false};\n\n // Splices `insert` into `array` at index `at`.\n var splice = function(array, insert, at) {\n at = Math.min(Math.max(at, 0), array.length);\n var tail = Array(array.length - at);\n var length = insert.length;\n var i;\n for (i = 0; i < tail.length; i++) tail[i] = array[i + at];\n for (i = 0; i < length; i++) array[i + at] = insert[i];\n for (i = 0; i < tail.length; i++) array[i + length + at] = tail[i];\n };\n\n // Define the Collection's inheritable methods.\n _.extend(Collection.prototype, Events, {\n\n // The default model for a collection is just a **Backbone.Model**.\n // This should be overridden in most cases.\n model: Model,\n\n\n // preinitialize is an empty function by default. You can override it with a function\n // or object. preinitialize will run before any instantiation logic is run in the Collection.\n preinitialize: function(){},\n\n // Initialize is an empty function by default. Override it with your own\n // initialization logic.\n initialize: function(){},\n\n // The JSON representation of a Collection is an array of the\n // models' attributes.\n toJSON: function(options) {\n return this.map(function(model) { return model.toJSON(options); });\n },\n\n // Proxy `Backbone.sync` by default.\n sync: function() {\n return Backbone.sync.apply(this, arguments);\n },\n\n // Add a model, or list of models to the set. `models` may be Backbone\n // Models or raw JavaScript objects to be converted to Models, or any\n // combination of the two.\n add: function(models, options) {\n return this.set(models, _.extend({merge: false}, options, addOptions));\n },\n\n // Remove a model, or a list of models from the set.\n remove: function(models, options) {\n options = _.extend({}, options);\n var singular = !_.isArray(models);\n models = singular ? [models] : models.slice();\n var removed = this._removeModels(models, options);\n if (!options.silent && removed.length) {\n options.changes = {added: [], merged: [], removed: removed};\n this.trigger('update', this, options);\n }\n return singular ? removed[0] : removed;\n },\n\n // Update a collection by `set`-ing a new list of models, adding new ones,\n // removing models that are no longer present, and merging models that\n // already exist in the collection, as necessary. Similar to **Model#set**,\n // the core operation for updating the data contained by the collection.\n set: function(models, options) {\n if (models == null) return;\n\n options = _.extend({}, setOptions, options);\n if (options.parse && !this._isModel(models)) {\n models = this.parse(models, options) || [];\n }\n\n var singular = !_.isArray(models);\n models = singular ? [models] : models.slice();\n\n var at = options.at;\n if (at != null) at = +at;\n if (at > this.length) at = this.length;\n if (at < 0) at += this.length + 1;\n\n var set = [];\n var toAdd = [];\n var toMerge = [];\n var toRemove = [];\n var modelMap = {};\n\n var add = options.add;\n var merge = options.merge;\n var remove = options.remove;\n\n var sort = false;\n var sortable = this.comparator && at == null && options.sort !== false;\n var sortAttr = _.isString(this.comparator) ? this.comparator : null;\n\n // Turn bare objects into model references, and prevent invalid models\n // from being added.\n var model, i;\n for (i = 0; i < models.length; i++) {\n model = models[i];\n\n // If a duplicate is found, prevent it from being added and\n // optionally merge it into the existing model.\n var existing = this.get(model);\n if (existing) {\n if (merge && model !== existing) {\n var attrs = this._isModel(model) ? model.attributes : model;\n if (options.parse) attrs = existing.parse(attrs, options);\n existing.set(attrs, options);\n toMerge.push(existing);\n if (sortable && !sort) sort = existing.hasChanged(sortAttr);\n }\n if (!modelMap[existing.cid]) {\n modelMap[existing.cid] = true;\n set.push(existing);\n }\n models[i] = existing;\n\n // If this is a new, valid model, push it to the `toAdd` list.\n } else if (add) {\n model = models[i] = this._prepareModel(model, options);\n if (model) {\n toAdd.push(model);\n this._addReference(model, options);\n modelMap[model.cid] = true;\n set.push(model);\n }\n }\n }\n\n // Remove stale models.\n if (remove) {\n for (i = 0; i < this.length; i++) {\n model = this.models[i];\n if (!modelMap[model.cid]) toRemove.push(model);\n }\n if (toRemove.length) this._removeModels(toRemove, options);\n }\n\n // See if sorting is needed, update `length` and splice in new models.\n var orderChanged = false;\n var replace = !sortable && add && remove;\n if (set.length && replace) {\n orderChanged = this.length !== set.length || _.some(this.models, function(m, index) {\n return m !== set[index];\n });\n this.models.length = 0;\n splice(this.models, set, 0);\n this.length = this.models.length;\n } else if (toAdd.length) {\n if (sortable) sort = true;\n splice(this.models, toAdd, at == null ? this.length : at);\n this.length = this.models.length;\n }\n\n // Silently sort the collection if appropriate.\n if (sort) this.sort({silent: true});\n\n // Unless silenced, it's time to fire all appropriate add/sort/update events.\n if (!options.silent) {\n for (i = 0; i < toAdd.length; i++) {\n if (at != null) options.index = at + i;\n model = toAdd[i];\n model.trigger('add', model, this, options);\n }\n if (sort || orderChanged) this.trigger('sort', this, options);\n if (toAdd.length || toRemove.length || toMerge.length) {\n options.changes = {\n added: toAdd,\n removed: toRemove,\n merged: toMerge\n };\n this.trigger('update', this, options);\n }\n }\n\n // Return the added (or merged) model (or models).\n return singular ? models[0] : models;\n },\n\n // When you have more items than you want to add or remove individually,\n // you can reset the entire set with a new list of models, without firing\n // any granular `add` or `remove` events. Fires `reset` when finished.\n // Useful for bulk operations and optimizations.\n reset: function(models, options) {\n options = options ? _.clone(options) : {};\n for (var i = 0; i < this.models.length; i++) {\n this._removeReference(this.models[i], options);\n }\n options.previousModels = this.models;\n this._reset();\n models = this.add(models, _.extend({silent: true}, options));\n if (!options.silent) this.trigger('reset', this, options);\n return models;\n },\n\n // Add a model to the end of the collection.\n push: function(model, options) {\n return this.add(model, _.extend({at: this.length}, options));\n },\n\n // Remove a model from the end of the collection.\n pop: function(options) {\n var model = this.at(this.length - 1);\n return this.remove(model, options);\n },\n\n // Add a model to the beginning of the collection.\n unshift: function(model, options) {\n return this.add(model, _.extend({at: 0}, options));\n },\n\n // Remove a model from the beginning of the collection.\n shift: function(options) {\n var model = this.at(0);\n return this.remove(model, options);\n },\n\n // Slice out a sub-array of models from the collection.\n slice: function() {\n return slice.apply(this.models, arguments);\n },\n\n // Get a model from the set by id, cid, model object with id or cid\n // properties, or an attributes object that is transformed through modelId.\n get: function(obj) {\n if (obj == null) return void 0;\n return this._byId[obj] ||\n this._byId[this.modelId(this._isModel(obj) ? obj.attributes : obj, obj.idAttribute)] ||\n obj.cid && this._byId[obj.cid];\n },\n\n // Returns `true` if the model is in the collection.\n has: function(obj) {\n return this.get(obj) != null;\n },\n\n // Get the model at the given index.\n at: function(index) {\n if (index < 0) index += this.length;\n return this.models[index];\n },\n\n // Return models with matching attributes. Useful for simple cases of\n // `filter`.\n where: function(attrs, first) {\n return this[first ? 'find' : 'filter'](attrs);\n },\n\n // Return the first model with matching attributes. Useful for simple cases\n // of `find`.\n findWhere: function(attrs) {\n return this.where(attrs, true);\n },\n\n // Force the collection to re-sort itself. You don't need to call this under\n // normal circumstances, as the set will maintain sort order as each item\n // is added.\n sort: function(options) {\n var comparator = this.comparator;\n if (!comparator) throw new Error('Cannot sort a set without a comparator');\n options || (options = {});\n\n var length = comparator.length;\n if (_.isFunction(comparator)) comparator = comparator.bind(this);\n\n // Run sort based on type of `comparator`.\n if (length === 1 || _.isString(comparator)) {\n this.models = this.sortBy(comparator);\n } else {\n this.models.sort(comparator);\n }\n if (!options.silent) this.trigger('sort', this, options);\n return this;\n },\n\n // Pluck an attribute from each model in the collection.\n pluck: function(attr) {\n return this.map(attr + '');\n },\n\n // Fetch the default set of models for this collection, resetting the\n // collection when they arrive. If `reset: true` is passed, the response\n // data will be passed through the `reset` method instead of `set`.\n fetch: function(options) {\n options = _.extend({parse: true}, options);\n var success = options.success;\n var collection = this;\n options.success = function(resp) {\n var method = options.reset ? 'reset' : 'set';\n collection[method](resp, options);\n if (success) success.call(options.context, collection, resp, options);\n collection.trigger('sync', collection, resp, options);\n };\n wrapError(this, options);\n return this.sync('read', this, options);\n },\n\n // Create a new instance of a model in this collection. Add the model to the\n // collection immediately, unless `wait: true` is passed, in which case we\n // wait for the server to agree.\n create: function(model, options) {\n options = options ? _.clone(options) : {};\n var wait = options.wait;\n model = this._prepareModel(model, options);\n if (!model) return false;\n if (!wait) this.add(model, options);\n var collection = this;\n var success = options.success;\n options.success = function(m, resp, callbackOpts) {\n if (wait) {\n m.off('error', collection._forwardPristineError, collection);\n collection.add(m, callbackOpts);\n }\n if (success) success.call(callbackOpts.context, m, resp, callbackOpts);\n };\n // In case of wait:true, our collection is not listening to any\n // of the model's events yet, so it will not forward the error\n // event. In this special case, we need to listen for it\n // separately and handle the event just once.\n // (The reason we don't need to do this for the sync event is\n // in the success handler above: we add the model first, which\n // causes the collection to listen, and then invoke the callback\n // that triggers the event.)\n if (wait) {\n model.once('error', this._forwardPristineError, this);\n }\n model.save(null, options);\n return model;\n },\n\n // **parse** converts a response into a list of models to be added to the\n // collection. The default implementation is just to pass it through.\n parse: function(resp, options) {\n return resp;\n },\n\n // Create a new collection with an identical list of models as this one.\n clone: function() {\n return new this.constructor(this.models, {\n model: this.model,\n comparator: this.comparator\n });\n },\n\n // Define how to uniquely identify models in the collection.\n modelId: function(attrs, idAttribute) {\n return attrs[idAttribute || this.model.prototype.idAttribute || 'id'];\n },\n\n // Get an iterator of all models in this collection.\n values: function() {\n return new CollectionIterator(this, ITERATOR_VALUES);\n },\n\n // Get an iterator of all model IDs in this collection.\n keys: function() {\n return new CollectionIterator(this, ITERATOR_KEYS);\n },\n\n // Get an iterator of all [ID, model] tuples in this collection.\n entries: function() {\n return new CollectionIterator(this, ITERATOR_KEYSVALUES);\n },\n\n // Private method to reset all internal state. Called when the collection\n // is first initialized or reset.\n _reset: function() {\n this.length = 0;\n this.models = [];\n this._byId = {};\n },\n\n // Prepare a hash of attributes (or other model) to be added to this\n // collection.\n _prepareModel: function(attrs, options) {\n if (this._isModel(attrs)) {\n if (!attrs.collection) attrs.collection = this;\n return attrs;\n }\n options = options ? _.clone(options) : {};\n options.collection = this;\n\n var model;\n if (this.model.prototype) {\n model = new this.model(attrs, options);\n } else {\n // ES class methods didn't have prototype\n model = this.model(attrs, options);\n }\n\n if (!model.validationError) return model;\n this.trigger('invalid', this, model.validationError, options);\n return false;\n },\n\n // Internal method called by both remove and set.\n _removeModels: function(models, options) {\n var removed = [];\n for (var i = 0; i < models.length; i++) {\n var model = this.get(models[i]);\n if (!model) continue;\n\n var index = this.indexOf(model);\n this.models.splice(index, 1);\n this.length--;\n\n // Remove references before triggering 'remove' event to prevent an\n // infinite loop. #3693\n delete this._byId[model.cid];\n var id = this.modelId(model.attributes, model.idAttribute);\n if (id != null) delete this._byId[id];\n\n if (!options.silent) {\n options.index = index;\n model.trigger('remove', model, this, options);\n }\n\n removed.push(model);\n this._removeReference(model, options);\n }\n if (models.length > 0 && !options.silent) delete options.index;\n return removed;\n },\n\n // Method for checking whether an object should be considered a model for\n // the purposes of adding to the collection.\n _isModel: function(model) {\n return model instanceof Model;\n },\n\n // Internal method to create a model's ties to a collection.\n _addReference: function(model, options) {\n this._byId[model.cid] = model;\n var id = this.modelId(model.attributes, model.idAttribute);\n if (id != null) this._byId[id] = model;\n model.on('all', this._onModelEvent, this);\n },\n\n // Internal method to sever a model's ties to a collection.\n _removeReference: function(model, options) {\n delete this._byId[model.cid];\n var id = this.modelId(model.attributes, model.idAttribute);\n if (id != null) delete this._byId[id];\n if (this === model.collection) delete model.collection;\n model.off('all', this._onModelEvent, this);\n },\n\n // Internal method called every time a model in the set fires an event.\n // Sets need to update their indexes when models change ids. All other\n // events simply proxy through. \"add\" and \"remove\" events that originate\n // in other collections are ignored.\n _onModelEvent: function(event, model, collection, options) {\n if (model) {\n if ((event === 'add' || event === 'remove') && collection !== this) return;\n if (event === 'destroy') this.remove(model, options);\n if (event === 'changeId') {\n var prevId = this.modelId(model.previousAttributes(), model.idAttribute);\n var id = this.modelId(model.attributes, model.idAttribute);\n if (prevId != null) delete this._byId[prevId];\n if (id != null) this._byId[id] = model;\n }\n }\n this.trigger.apply(this, arguments);\n },\n\n // Internal callback method used in `create`. It serves as a\n // stand-in for the `_onModelEvent` method, which is not yet bound\n // during the `wait` period of the `create` call. We still want to\n // forward any `'error'` event at the end of the `wait` period,\n // hence a customized callback.\n _forwardPristineError: function(model, collection, options) {\n // Prevent double forward if the model was already in the\n // collection before the call to `create`.\n if (this.has(model)) return;\n this._onModelEvent('error', model, collection, options);\n }\n });\n\n // Defining an @@iterator method implements JavaScript's Iterable protocol.\n // In modern ES2015 browsers, this value is found at Symbol.iterator.\n /* global Symbol */\n var $$iterator = typeof Symbol === 'function' && Symbol.iterator;\n if ($$iterator) {\n Collection.prototype[$$iterator] = Collection.prototype.values;\n }\n\n // CollectionIterator\n // ------------------\n\n // A CollectionIterator implements JavaScript's Iterator protocol, allowing the\n // use of `for of` loops in modern browsers and interoperation between\n // Backbone.Collection and other JavaScript functions and third-party libraries\n // which can operate on Iterables.\n var CollectionIterator = function(collection, kind) {\n this._collection = collection;\n this._kind = kind;\n this._index = 0;\n };\n\n // This \"enum\" defines the three possible kinds of values which can be emitted\n // by a CollectionIterator that correspond to the values(), keys() and entries()\n // methods on Collection, respectively.\n var ITERATOR_VALUES = 1;\n var ITERATOR_KEYS = 2;\n var ITERATOR_KEYSVALUES = 3;\n\n // All Iterators should themselves be Iterable.\n if ($$iterator) {\n CollectionIterator.prototype[$$iterator] = function() {\n return this;\n };\n }\n\n CollectionIterator.prototype.next = function() {\n if (this._collection) {\n\n // Only continue iterating if the iterated collection is long enough.\n if (this._index < this._collection.length) {\n var model = this._collection.at(this._index);\n this._index++;\n\n // Construct a value depending on what kind of values should be iterated.\n var value;\n if (this._kind === ITERATOR_VALUES) {\n value = model;\n } else {\n var id = this._collection.modelId(model.attributes, model.idAttribute);\n if (this._kind === ITERATOR_KEYS) {\n value = id;\n } else { // ITERATOR_KEYSVALUES\n value = [id, model];\n }\n }\n return {value: value, done: false};\n }\n\n // Once exhausted, remove the reference to the collection so future\n // calls to the next method always return done.\n this._collection = void 0;\n }\n\n return {value: void 0, done: true};\n };\n\n // Backbone.View\n // -------------\n\n // Backbone Views are almost more convention than they are actual code. A View\n // is simply a JavaScript object that represents a logical chunk of UI in the\n // DOM. This might be a single item, an entire list, a sidebar or panel, or\n // even the surrounding frame which wraps your whole app. Defining a chunk of\n // UI as a **View** allows you to define your DOM events declaratively, without\n // having to worry about render order ... and makes it easy for the view to\n // react to specific changes in the state of your models.\n\n // Creating a Backbone.View creates its initial element outside of the DOM,\n // if an existing element is not provided...\n var View = Backbone.View = function(options) {\n this.cid = _.uniqueId('view');\n this.preinitialize.apply(this, arguments);\n _.extend(this, _.pick(options, viewOptions));\n this._ensureElement();\n this.initialize.apply(this, arguments);\n };\n\n // Cached regex to split keys for `delegate`.\n var delegateEventSplitter = /^(\\S+)\\s*(.*)$/;\n\n // List of view options to be set as properties.\n var viewOptions = ['model', 'collection', 'el', 'id', 'attributes', 'className', 'tagName', 'events'];\n\n // Set up all inheritable **Backbone.View** properties and methods.\n _.extend(View.prototype, Events, {\n\n // The default `tagName` of a View's element is `\"div\"`.\n tagName: 'div',\n\n // jQuery delegate for element lookup, scoped to DOM elements within the\n // current view. This should be preferred to global lookups where possible.\n $: function(selector) {\n return this.$el.find(selector);\n },\n\n // preinitialize is an empty function by default. You can override it with a function\n // or object. preinitialize will run before any instantiation logic is run in the View\n preinitialize: function(){},\n\n // Initialize is an empty function by default. Override it with your own\n // initialization logic.\n initialize: function(){},\n\n // **render** is the core function that your view should override, in order\n // to populate its element (`this.el`), with the appropriate HTML. The\n // convention is for **render** to always return `this`.\n render: function() {\n return this;\n },\n\n // Remove this view by taking the element out of the DOM, and removing any\n // applicable Backbone.Events listeners.\n remove: function() {\n this._removeElement();\n this.stopListening();\n return this;\n },\n\n // Remove this view's element from the document and all event listeners\n // attached to it. Exposed for subclasses using an alternative DOM\n // manipulation API.\n _removeElement: function() {\n this.$el.remove();\n },\n\n // Change the view's element (`this.el` property) and re-delegate the\n // view's events on the new element.\n setElement: function(element) {\n this.undelegateEvents();\n this._setElement(element);\n this.delegateEvents();\n return this;\n },\n\n // Creates the `this.el` and `this.$el` references for this view using the\n // given `el`. `el` can be a CSS selector or an HTML string, a jQuery\n // context or an element. Subclasses can override this to utilize an\n // alternative DOM manipulation API and are only required to set the\n // `this.el` property.\n _setElement: function(el) {\n this.$el = el instanceof Backbone.$ ? el : Backbone.$(el);\n this.el = this.$el[0];\n },\n\n // Set callbacks, where `this.events` is a hash of\n //\n // *{\"event selector\": \"callback\"}*\n //\n // {\n // 'mousedown .title': 'edit',\n // 'click .button': 'save',\n // 'click .open': function(e) { ... }\n // }\n //\n // pairs. Callbacks will be bound to the view, with `this` set properly.\n // Uses event delegation for efficiency.\n // Omitting the selector binds the event to `this.el`.\n delegateEvents: function(events) {\n events || (events = _.result(this, 'events'));\n if (!events) return this;\n this.undelegateEvents();\n for (var key in events) {\n var method = events[key];\n if (!_.isFunction(method)) method = this[method];\n if (!method) continue;\n var match = key.match(delegateEventSplitter);\n this.delegate(match[1], match[2], method.bind(this));\n }\n return this;\n },\n\n // Add a single event listener to the view's element (or a child element\n // using `selector`). This only works for delegate-able events: not `focus`,\n // `blur`, and not `change`, `submit`, and `reset` in Internet Explorer.\n delegate: function(eventName, selector, listener) {\n this.$el.on(eventName + '.delegateEvents' + this.cid, selector, listener);\n return this;\n },\n\n // Clears all callbacks previously bound to the view by `delegateEvents`.\n // You usually don't need to use this, but may wish to if you have multiple\n // Backbone views attached to the same DOM element.\n undelegateEvents: function() {\n if (this.$el) this.$el.off('.delegateEvents' + this.cid);\n return this;\n },\n\n // A finer-grained `undelegateEvents` for removing a single delegated event.\n // `selector` and `listener` are both optional.\n undelegate: function(eventName, selector, listener) {\n this.$el.off(eventName + '.delegateEvents' + this.cid, selector, listener);\n return this;\n },\n\n // Produces a DOM element to be assigned to your view. Exposed for\n // subclasses using an alternative DOM manipulation API.\n _createElement: function(tagName) {\n return document.createElement(tagName);\n },\n\n // Ensure that the View has a DOM element to render into.\n // If `this.el` is a string, pass it through `$()`, take the first\n // matching element, and re-assign it to `el`. Otherwise, create\n // an element from the `id`, `className` and `tagName` properties.\n _ensureElement: function() {\n if (!this.el) {\n var attrs = _.extend({}, _.result(this, 'attributes'));\n if (this.id) attrs.id = _.result(this, 'id');\n if (this.className) attrs['class'] = _.result(this, 'className');\n this.setElement(this._createElement(_.result(this, 'tagName')));\n this._setAttributes(attrs);\n } else {\n this.setElement(_.result(this, 'el'));\n }\n },\n\n // Set attributes from a hash on this view's element. Exposed for\n // subclasses using an alternative DOM manipulation API.\n _setAttributes: function(attributes) {\n this.$el.attr(attributes);\n }\n\n });\n\n // Proxy Backbone class methods to Underscore functions, wrapping the model's\n // `attributes` object or collection's `models` array behind the scenes.\n //\n // collection.filter(function(model) { return model.get('age') > 10 });\n // collection.each(this.addView);\n //\n // `Function#apply` can be slow so we use the method's arg count, if we know it.\n var addMethod = function(base, length, method, attribute) {\n switch (length) {\n case 1: return function() {\n return base[method](this[attribute]);\n };\n case 2: return function(value) {\n return base[method](this[attribute], value);\n };\n case 3: return function(iteratee, context) {\n return base[method](this[attribute], cb(iteratee, this), context);\n };\n case 4: return function(iteratee, defaultVal, context) {\n return base[method](this[attribute], cb(iteratee, this), defaultVal, context);\n };\n default: return function() {\n var args = slice.call(arguments);\n args.unshift(this[attribute]);\n return base[method].apply(base, args);\n };\n }\n };\n\n var addUnderscoreMethods = function(Class, base, methods, attribute) {\n _.each(methods, function(length, method) {\n if (base[method]) Class.prototype[method] = addMethod(base, length, method, attribute);\n });\n };\n\n // Support `collection.sortBy('attr')` and `collection.findWhere({id: 1})`.\n var cb = function(iteratee, instance) {\n if (_.isFunction(iteratee)) return iteratee;\n if (_.isObject(iteratee) && !instance._isModel(iteratee)) return modelMatcher(iteratee);\n if (_.isString(iteratee)) return function(model) { return model.get(iteratee); };\n return iteratee;\n };\n var modelMatcher = function(attrs) {\n var matcher = _.matches(attrs);\n return function(model) {\n return matcher(model.attributes);\n };\n };\n\n // Underscore methods that we want to implement on the Collection.\n // 90% of the core usefulness of Backbone Collections is actually implemented\n // right here:\n var collectionMethods = {forEach: 3, each: 3, map: 3, collect: 3, reduce: 0,\n foldl: 0, inject: 0, reduceRight: 0, foldr: 0, find: 3, detect: 3, filter: 3,\n select: 3, reject: 3, every: 3, all: 3, some: 3, any: 3, include: 3, includes: 3,\n contains: 3, invoke: 0, max: 3, min: 3, toArray: 1, size: 1, first: 3,\n head: 3, take: 3, initial: 3, rest: 3, tail: 3, drop: 3, last: 3,\n without: 0, difference: 0, indexOf: 3, shuffle: 1, lastIndexOf: 3,\n isEmpty: 1, chain: 1, sample: 3, partition: 3, groupBy: 3, countBy: 3,\n sortBy: 3, indexBy: 3, findIndex: 3, findLastIndex: 3};\n\n\n // Underscore methods that we want to implement on the Model, mapped to the\n // number of arguments they take.\n var modelMethods = {keys: 1, values: 1, pairs: 1, invert: 1, pick: 0,\n omit: 0, chain: 1, isEmpty: 1};\n\n // Mix in each Underscore method as a proxy to `Collection#models`.\n\n _.each([\n [Collection, collectionMethods, 'models'],\n [Model, modelMethods, 'attributes']\n ], function(config) {\n var Base = config[0],\n methods = config[1],\n attribute = config[2];\n\n Base.mixin = function(obj) {\n var mappings = _.reduce(_.functions(obj), function(memo, name) {\n memo[name] = 0;\n return memo;\n }, {});\n addUnderscoreMethods(Base, obj, mappings, attribute);\n };\n\n addUnderscoreMethods(Base, _, methods, attribute);\n });\n\n // Backbone.sync\n // -------------\n\n // Override this function to change the manner in which Backbone persists\n // models to the server. You will be passed the type of request, and the\n // model in question. By default, makes a RESTful Ajax request\n // to the model's `url()`. Some possible customizations could be:\n //\n // * Use `setTimeout` to batch rapid-fire updates into a single request.\n // * Send up the models as XML instead of JSON.\n // * Persist models via WebSockets instead of Ajax.\n //\n // Turn on `Backbone.emulateHTTP` in order to send `PUT` and `DELETE` requests\n // as `POST`, with a `_method` parameter containing the true HTTP method,\n // as well as all requests with the body as `application/x-www-form-urlencoded`\n // instead of `application/json` with the model in a param named `model`.\n // Useful when interfacing with server-side languages like **PHP** that make\n // it difficult to read the body of `PUT` requests.\n Backbone.sync = function(method, model, options) {\n var type = methodMap[method];\n\n // Default options, unless specified.\n _.defaults(options || (options = {}), {\n emulateHTTP: Backbone.emulateHTTP,\n emulateJSON: Backbone.emulateJSON\n });\n\n // Default JSON-request options.\n var params = {type: type, dataType: 'json'};\n\n // Ensure that we have a URL.\n if (!options.url) {\n params.url = _.result(model, 'url') || urlError();\n }\n\n // Ensure that we have the appropriate request data.\n if (options.data == null && model && (method === 'create' || method === 'update' || method === 'patch')) {\n params.contentType = 'application/json';\n params.data = JSON.stringify(options.attrs || model.toJSON(options));\n }\n\n // For older servers, emulate JSON by encoding the request into an HTML-form.\n if (options.emulateJSON) {\n params.contentType = 'application/x-www-form-urlencoded';\n params.data = params.data ? {model: params.data} : {};\n }\n\n // For older servers, emulate HTTP by mimicking the HTTP method with `_method`\n // And an `X-HTTP-Method-Override` header.\n if (options.emulateHTTP && (type === 'PUT' || type === 'DELETE' || type === 'PATCH')) {\n params.type = 'POST';\n if (options.emulateJSON) params.data._method = type;\n var beforeSend = options.beforeSend;\n options.beforeSend = function(xhr) {\n xhr.setRequestHeader('X-HTTP-Method-Override', type);\n if (beforeSend) return beforeSend.apply(this, arguments);\n };\n }\n\n // Don't process data on a non-GET request.\n if (params.type !== 'GET' && !options.emulateJSON) {\n params.processData = false;\n }\n\n // Pass along `textStatus` and `errorThrown` from jQuery.\n var error = options.error;\n options.error = function(xhr, textStatus, errorThrown) {\n options.textStatus = textStatus;\n options.errorThrown = errorThrown;\n if (error) error.call(options.context, xhr, textStatus, errorThrown);\n };\n\n // Make the request, allowing the user to override any Ajax options.\n var xhr = options.xhr = Backbone.ajax(_.extend(params, options));\n model.trigger('request', model, xhr, options);\n return xhr;\n };\n\n // Map from CRUD to HTTP for our default `Backbone.sync` implementation.\n var methodMap = {\n 'create': 'POST',\n 'update': 'PUT',\n 'patch': 'PATCH',\n 'delete': 'DELETE',\n 'read': 'GET'\n };\n\n // Set the default implementation of `Backbone.ajax` to proxy through to `$`.\n // Override this if you'd like to use a different library.\n Backbone.ajax = function() {\n return Backbone.$.ajax.apply(Backbone.$, arguments);\n };\n\n // Backbone.Router\n // ---------------\n\n // Routers map faux-URLs to actions, and fire events when routes are\n // matched. Creating a new one sets its `routes` hash, if not set statically.\n var Router = Backbone.Router = function(options) {\n options || (options = {});\n this.preinitialize.apply(this, arguments);\n if (options.routes) this.routes = options.routes;\n this._bindRoutes();\n this.initialize.apply(this, arguments);\n };\n\n // Cached regular expressions for matching named param parts and splatted\n // parts of route strings.\n var optionalParam = /\\((.*?)\\)/g;\n var namedParam = /(\\(\\?)?:\\w+/g;\n var splatParam = /\\*\\w+/g;\n var escapeRegExp = /[\\-{}\\[\\]+?.,\\\\\\^$|#\\s]/g;\n\n // Set up all inheritable **Backbone.Router** properties and methods.\n _.extend(Router.prototype, Events, {\n\n // preinitialize is an empty function by default. You can override it with a function\n // or object. preinitialize will run before any instantiation logic is run in the Router.\n preinitialize: function(){},\n\n // Initialize is an empty function by default. Override it with your own\n // initialization logic.\n initialize: function(){},\n\n // Manually bind a single named route to a callback. For example:\n //\n // this.route('search/:query/p:num', 'search', function(query, num) {\n // ...\n // });\n //\n route: function(route, name, callback) {\n if (!_.isRegExp(route)) route = this._routeToRegExp(route);\n if (_.isFunction(name)) {\n callback = name;\n name = '';\n }\n if (!callback) callback = this[name];\n var router = this;\n Backbone.history.route(route, function(fragment) {\n var args = router._extractParameters(route, fragment);\n if (router.execute(callback, args, name) !== false) {\n router.trigger.apply(router, ['route:' + name].concat(args));\n router.trigger('route', name, args);\n Backbone.history.trigger('route', router, name, args);\n }\n });\n return this;\n },\n\n // Execute a route handler with the provided parameters. This is an\n // excellent place to do pre-route setup or post-route cleanup.\n execute: function(callback, args, name) {\n if (callback) callback.apply(this, args);\n },\n\n // Simple proxy to `Backbone.history` to save a fragment into the history.\n navigate: function(fragment, options) {\n Backbone.history.navigate(fragment, options);\n return this;\n },\n\n // Bind all defined routes to `Backbone.history`. We have to reverse the\n // order of the routes here to support behavior where the most general\n // routes can be defined at the bottom of the route map.\n _bindRoutes: function() {\n if (!this.routes) return;\n this.routes = _.result(this, 'routes');\n var route, routes = _.keys(this.routes);\n while ((route = routes.pop()) != null) {\n this.route(route, this.routes[route]);\n }\n },\n\n // Convert a route string into a regular expression, suitable for matching\n // against the current location hash.\n _routeToRegExp: function(route) {\n route = route.replace(escapeRegExp, '\\\\$&')\n .replace(optionalParam, '(?:$1)?')\n .replace(namedParam, function(match, optional) {\n return optional ? match : '([^/?]+)';\n })\n .replace(splatParam, '([^?]*?)');\n return new RegExp('^' + route + '(?:\\\\?([\\\\s\\\\S]*))?$');\n },\n\n // Given a route, and a URL fragment that it matches, return the array of\n // extracted decoded parameters. Empty or unmatched parameters will be\n // treated as `null` to normalize cross-browser behavior.\n _extractParameters: function(route, fragment) {\n var params = route.exec(fragment).slice(1);\n return _.map(params, function(param, i) {\n // Don't decode the search params.\n if (i === params.length - 1) return param || null;\n return param ? decodeURIComponent(param) : null;\n });\n }\n\n });\n\n // Backbone.History\n // ----------------\n\n // Handles cross-browser history management, based on either\n // [pushState](http://diveintohtml5.info/history.html) and real URLs, or\n // [onhashchange](https://developer.mozilla.org/en-US/docs/DOM/window.onhashchange)\n // and URL fragments. If the browser supports neither (old IE, natch),\n // falls back to polling.\n var History = Backbone.History = function() {\n this.handlers = [];\n this.checkUrl = this.checkUrl.bind(this);\n\n // Ensure that `History` can be used outside of the browser.\n if (typeof window !== 'undefined') {\n this.location = window.location;\n this.history = window.history;\n }\n };\n\n // Cached regex for stripping a leading hash/slash and trailing space.\n var routeStripper = /^[#\\/]|\\s+$/g;\n\n // Cached regex for stripping leading and trailing slashes.\n var rootStripper = /^\\/+|\\/+$/g;\n\n // Cached regex for stripping urls of hash.\n var pathStripper = /#.*$/;\n\n // Has the history handling already been started?\n History.started = false;\n\n // Set up all inheritable **Backbone.History** properties and methods.\n _.extend(History.prototype, Events, {\n\n // The default interval to poll for hash changes, if necessary, is\n // twenty times a second.\n interval: 50,\n\n // Are we at the app root?\n atRoot: function() {\n var path = this.location.pathname.replace(/[^\\/]$/, '$&/');\n return path === this.root && !this.getSearch();\n },\n\n // Does the pathname match the root?\n matchRoot: function() {\n var path = this.decodeFragment(this.location.pathname);\n var rootPath = path.slice(0, this.root.length - 1) + '/';\n return rootPath === this.root;\n },\n\n // Unicode characters in `location.pathname` are percent encoded so they're\n // decoded for comparison. `%25` should not be decoded since it may be part\n // of an encoded parameter.\n decodeFragment: function(fragment) {\n return decodeURI(fragment.replace(/%25/g, '%2525'));\n },\n\n // In IE6, the hash fragment and search params are incorrect if the\n // fragment contains `?`.\n getSearch: function() {\n var match = this.location.href.replace(/#.*/, '').match(/\\?.+/);\n return match ? match[0] : '';\n },\n\n // Gets the true hash value. Cannot use location.hash directly due to bug\n // in Firefox where location.hash will always be decoded.\n getHash: function(window) {\n var match = (window || this).location.href.match(/#(.*)$/);\n return match ? match[1] : '';\n },\n\n // Get the pathname and search params, without the root.\n getPath: function() {\n var path = this.decodeFragment(\n this.location.pathname + this.getSearch()\n ).slice(this.root.length - 1);\n return path.charAt(0) === '/' ? path.slice(1) : path;\n },\n\n // Get the cross-browser normalized URL fragment from the path or hash.\n getFragment: function(fragment) {\n if (fragment == null) {\n if (this._usePushState || !this._wantsHashChange) {\n fragment = this.getPath();\n } else {\n fragment = this.getHash();\n }\n }\n return fragment.replace(routeStripper, '');\n },\n\n // Start the hash change handling, returning `true` if the current URL matches\n // an existing route, and `false` otherwise.\n start: function(options) {\n if (History.started) throw new Error('Backbone.history has already been started');\n History.started = true;\n\n // Figure out the initial configuration. Do we need an iframe?\n // Is pushState desired ... is it available?\n this.options = _.extend({root: '/'}, this.options, options);\n this.root = this.options.root;\n this._trailingSlash = this.options.trailingSlash;\n this._wantsHashChange = this.options.hashChange !== false;\n this._hasHashChange = 'onhashchange' in window && (document.documentMode === void 0 || document.documentMode > 7);\n this._useHashChange = this._wantsHashChange && this._hasHashChange;\n this._wantsPushState = !!this.options.pushState;\n this._hasPushState = !!(this.history && this.history.pushState);\n this._usePushState = this._wantsPushState && this._hasPushState;\n this.fragment = this.getFragment();\n\n // Normalize root to always include a leading and trailing slash.\n this.root = ('/' + this.root + '/').replace(rootStripper, '/');\n\n // Transition from hashChange to pushState or vice versa if both are\n // requested.\n if (this._wantsHashChange && this._wantsPushState) {\n\n // If we've started off with a route from a `pushState`-enabled\n // browser, but we're currently in a browser that doesn't support it...\n if (!this._hasPushState && !this.atRoot()) {\n var rootPath = this.root.slice(0, -1) || '/';\n this.location.replace(rootPath + '#' + this.getPath());\n // Return immediately as browser will do redirect to new url\n return true;\n\n // Or if we've started out with a hash-based route, but we're currently\n // in a browser where it could be `pushState`-based instead...\n } else if (this._hasPushState && this.atRoot()) {\n this.navigate(this.getHash(), {replace: true});\n }\n\n }\n\n // Proxy an iframe to handle location events if the browser doesn't\n // support the `hashchange` event, HTML5 history, or the user wants\n // `hashChange` but not `pushState`.\n if (!this._hasHashChange && this._wantsHashChange && !this._usePushState) {\n this.iframe = document.createElement('iframe');\n this.iframe.src = 'javascript:0';\n this.iframe.style.display = 'none';\n this.iframe.tabIndex = -1;\n var body = document.body;\n // Using `appendChild` will throw on IE < 9 if the document is not ready.\n var iWindow = body.insertBefore(this.iframe, body.firstChild).contentWindow;\n iWindow.document.open();\n iWindow.document.close();\n iWindow.location.hash = '#' + this.fragment;\n }\n\n // Add a cross-platform `addEventListener` shim for older browsers.\n var addEventListener = window.addEventListener || function(eventName, listener) {\n return attachEvent('on' + eventName, listener);\n };\n\n // Depending on whether we're using pushState or hashes, and whether\n // 'onhashchange' is supported, determine how we check the URL state.\n if (this._usePushState) {\n addEventListener('popstate', this.checkUrl, false);\n } else if (this._useHashChange && !this.iframe) {\n addEventListener('hashchange', this.checkUrl, false);\n } else if (this._wantsHashChange) {\n this._checkUrlInterval = setInterval(this.checkUrl, this.interval);\n }\n\n if (!this.options.silent) return this.loadUrl();\n },\n\n // Disable Backbone.history, perhaps temporarily. Not useful in a real app,\n // but possibly useful for unit testing Routers.\n stop: function() {\n // Add a cross-platform `removeEventListener` shim for older browsers.\n var removeEventListener = window.removeEventListener || function(eventName, listener) {\n return detachEvent('on' + eventName, listener);\n };\n\n // Remove window listeners.\n if (this._usePushState) {\n removeEventListener('popstate', this.checkUrl, false);\n } else if (this._useHashChange && !this.iframe) {\n removeEventListener('hashchange', this.checkUrl, false);\n }\n\n // Clean up the iframe if necessary.\n if (this.iframe) {\n document.body.removeChild(this.iframe);\n this.iframe = null;\n }\n\n // Some environments will throw when clearing an undefined interval.\n if (this._checkUrlInterval) clearInterval(this._checkUrlInterval);\n History.started = false;\n },\n\n // Add a route to be tested when the fragment changes. Routes added later\n // may override previous routes.\n route: function(route, callback) {\n this.handlers.unshift({route: route, callback: callback});\n },\n\n // Checks the current URL to see if it has changed, and if it has,\n // calls `loadUrl`, normalizing across the hidden iframe.\n checkUrl: function(e) {\n var current = this.getFragment();\n\n // If the user pressed the back button, the iframe's hash will have\n // changed and we should use that for comparison.\n if (current === this.fragment && this.iframe) {\n current = this.getHash(this.iframe.contentWindow);\n }\n\n if (current === this.fragment) {\n if (!this.matchRoot()) return this.notfound();\n return false;\n }\n if (this.iframe) this.navigate(current);\n this.loadUrl();\n },\n\n // Attempt to load the current URL fragment. If a route succeeds with a\n // match, returns `true`. If no defined routes matches the fragment,\n // returns `false`.\n loadUrl: function(fragment) {\n // If the root doesn't match, no routes can match either.\n if (!this.matchRoot()) return this.notfound();\n fragment = this.fragment = this.getFragment(fragment);\n return _.some(this.handlers, function(handler) {\n if (handler.route.test(fragment)) {\n handler.callback(fragment);\n return true;\n }\n }) || this.notfound();\n },\n\n // When no route could be matched, this method is called internally to\n // trigger the `'notfound'` event. It returns `false` so that it can be used\n // in tail position.\n notfound: function() {\n this.trigger('notfound');\n return false;\n },\n\n // Save a fragment into the hash history, or replace the URL state if the\n // 'replace' option is passed. You are responsible for properly URL-encoding\n // the fragment in advance.\n //\n // The options object can contain `trigger: true` if you wish to have the\n // route callback be fired (not usually desirable), or `replace: true`, if\n // you wish to modify the current URL without adding an entry to the history.\n navigate: function(fragment, options) {\n if (!History.started) return false;\n if (!options || options === true) options = {trigger: !!options};\n\n // Normalize the fragment.\n fragment = this.getFragment(fragment || '');\n\n // Strip trailing slash on the root unless _trailingSlash is true\n var rootPath = this.root;\n if (!this._trailingSlash && (fragment === '' || fragment.charAt(0) === '?')) {\n rootPath = rootPath.slice(0, -1) || '/';\n }\n var url = rootPath + fragment;\n\n // Strip the fragment of the query and hash for matching.\n fragment = fragment.replace(pathStripper, '');\n\n // Decode for matching.\n var decodedFragment = this.decodeFragment(fragment);\n\n if (this.fragment === decodedFragment) return;\n this.fragment = decodedFragment;\n\n // If pushState is available, we use it to set the fragment as a real URL.\n if (this._usePushState) {\n this.history[options.replace ? 'replaceState' : 'pushState']({}, document.title, url);\n\n // If hash changes haven't been explicitly disabled, update the hash\n // fragment to store history.\n } else if (this._wantsHashChange) {\n this._updateHash(this.location, fragment, options.replace);\n if (this.iframe && fragment !== this.getHash(this.iframe.contentWindow)) {\n var iWindow = this.iframe.contentWindow;\n\n // Opening and closing the iframe tricks IE7 and earlier to push a\n // history entry on hash-tag change. When replace is true, we don't\n // want this.\n if (!options.replace) {\n iWindow.document.open();\n iWindow.document.close();\n }\n\n this._updateHash(iWindow.location, fragment, options.replace);\n }\n\n // If you've told us that you explicitly don't want fallback hashchange-\n // based history, then `navigate` becomes a page refresh.\n } else {\n return this.location.assign(url);\n }\n if (options.trigger) return this.loadUrl(fragment);\n },\n\n // Update the hash location, either replacing the current entry, or adding\n // a new one to the browser history.\n _updateHash: function(location, fragment, replace) {\n if (replace) {\n var href = location.href.replace(/(javascript:|#).*$/, '');\n location.replace(href + '#' + fragment);\n } else {\n // Some browsers require that `hash` contains a leading #.\n location.hash = '#' + fragment;\n }\n }\n\n });\n\n // Create the default Backbone.history.\n Backbone.history = new History;\n\n // Helpers\n // -------\n\n // Helper function to correctly set up the prototype chain for subclasses.\n // Similar to `goog.inherits`, but uses a hash of prototype properties and\n // class properties to be extended.\n var extend = function(protoProps, staticProps) {\n var parent = this;\n var child;\n\n // The constructor function for the new subclass is either defined by you\n // (the \"constructor\" property in your `extend` definition), or defaulted\n // by us to simply call the parent constructor.\n if (protoProps && _.has(protoProps, 'constructor')) {\n child = protoProps.constructor;\n } else {\n child = function(){ return parent.apply(this, arguments); };\n }\n\n // Add static properties to the constructor function, if supplied.\n _.extend(child, parent, staticProps);\n\n // Set the prototype chain to inherit from `parent`, without calling\n // `parent`'s constructor function and add the prototype properties.\n child.prototype = _.create(parent.prototype, protoProps);\n child.prototype.constructor = child;\n\n // Set a convenience property in case the parent's prototype is needed\n // later.\n child.__super__ = parent.prototype;\n\n return child;\n };\n\n // Set up inheritance for the model, collection, router, view and history.\n Model.extend = Collection.extend = Router.extend = View.extend = History.extend = extend;\n\n // Throw an error when a URL is needed, and none is supplied.\n var urlError = function() {\n throw new Error('A \"url\" property or function must be specified');\n };\n\n // Wrap an optional error callback with a fallback error event.\n var wrapError = function(model, options) {\n var error = options.error;\n options.error = function(resp) {\n if (error) error.call(options.context, model, resp, options);\n model.trigger('error', model, resp, options);\n };\n };\n\n // Provide useful information when things go wrong. This method is not meant\n // to be used directly; it merely provides the necessary introspection for the\n // external `debugInfo` function.\n Backbone._debug = function() {\n return {root: root, _: _};\n };\n\n return Backbone;\n});\n","(function (module, exports) {\n 'use strict';\n\n // Utils\n function assert (val, msg) {\n if (!val) throw new Error(msg || 'Assertion failed');\n }\n\n // Could use `inherits` module, but don't want to move from single file\n // architecture yet.\n function inherits (ctor, superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function () {};\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n }\n\n // BN\n\n function BN (number, base, endian) {\n if (BN.isBN(number)) {\n return number;\n }\n\n this.negative = 0;\n this.words = null;\n this.length = 0;\n\n // Reduction context\n this.red = null;\n\n if (number !== null) {\n if (base === 'le' || base === 'be') {\n endian = base;\n base = 10;\n }\n\n this._init(number || 0, base || 10, endian || 'be');\n }\n }\n if (typeof module === 'object') {\n module.exports = BN;\n } else {\n exports.BN = BN;\n }\n\n BN.BN = BN;\n BN.wordSize = 26;\n\n var Buffer;\n try {\n if (typeof window !== 'undefined' && typeof window.Buffer !== 'undefined') {\n Buffer = window.Buffer;\n } else {\n Buffer = require('buffer').Buffer;\n }\n } catch (e) {\n }\n\n BN.isBN = function isBN (num) {\n if (num instanceof BN) {\n return true;\n }\n\n return num !== null && typeof num === 'object' &&\n num.constructor.wordSize === BN.wordSize && Array.isArray(num.words);\n };\n\n BN.max = function max (left, right) {\n if (left.cmp(right) > 0) return left;\n return right;\n };\n\n BN.min = function min (left, right) {\n if (left.cmp(right) < 0) return left;\n return right;\n };\n\n BN.prototype._init = function init (number, base, endian) {\n if (typeof number === 'number') {\n return this._initNumber(number, base, endian);\n }\n\n if (typeof number === 'object') {\n return this._initArray(number, base, endian);\n }\n\n if (base === 'hex') {\n base = 16;\n }\n assert(base === (base | 0) && base >= 2 && base <= 36);\n\n number = number.toString().replace(/\\s+/g, '');\n var start = 0;\n if (number[0] === '-') {\n start++;\n this.negative = 1;\n }\n\n if (start < number.length) {\n if (base === 16) {\n this._parseHex(number, start, endian);\n } else {\n this._parseBase(number, base, start);\n if (endian === 'le') {\n this._initArray(this.toArray(), base, endian);\n }\n }\n }\n };\n\n BN.prototype._initNumber = function _initNumber (number, base, endian) {\n if (number < 0) {\n this.negative = 1;\n number = -number;\n }\n if (number < 0x4000000) {\n this.words = [number & 0x3ffffff];\n this.length = 1;\n } else if (number < 0x10000000000000) {\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff\n ];\n this.length = 2;\n } else {\n assert(number < 0x20000000000000); // 2 ^ 53 (unsafe)\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff,\n 1\n ];\n this.length = 3;\n }\n\n if (endian !== 'le') return;\n\n // Reverse the bytes\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initArray = function _initArray (number, base, endian) {\n // Perhaps a Uint8Array\n assert(typeof number.length === 'number');\n if (number.length <= 0) {\n this.words = [0];\n this.length = 1;\n return this;\n }\n\n this.length = Math.ceil(number.length / 3);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n var off = 0;\n if (endian === 'be') {\n for (i = number.length - 1, j = 0; i >= 0; i -= 3) {\n w = number[i] | (number[i - 1] << 8) | (number[i - 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n } else if (endian === 'le') {\n for (i = 0, j = 0; i < number.length; i += 3) {\n w = number[i] | (number[i + 1] << 8) | (number[i + 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n }\n return this._strip();\n };\n\n function parseHex4Bits (string, index) {\n var c = string.charCodeAt(index);\n // '0' - '9'\n if (c >= 48 && c <= 57) {\n return c - 48;\n // 'A' - 'F'\n } else if (c >= 65 && c <= 70) {\n return c - 55;\n // 'a' - 'f'\n } else if (c >= 97 && c <= 102) {\n return c - 87;\n } else {\n assert(false, 'Invalid character in ' + string);\n }\n }\n\n function parseHexByte (string, lowerBound, index) {\n var r = parseHex4Bits(string, index);\n if (index - 1 >= lowerBound) {\n r |= parseHex4Bits(string, index - 1) << 4;\n }\n return r;\n }\n\n BN.prototype._parseHex = function _parseHex (number, start, endian) {\n // Create possibly bigger array to ensure that it fits the number\n this.length = Math.ceil((number.length - start) / 6);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n // 24-bits chunks\n var off = 0;\n var j = 0;\n\n var w;\n if (endian === 'be') {\n for (i = number.length - 1; i >= start; i -= 2) {\n w = parseHexByte(number, start, i) << off;\n this.words[j] |= w & 0x3ffffff;\n if (off >= 18) {\n off -= 18;\n j += 1;\n this.words[j] |= w >>> 26;\n } else {\n off += 8;\n }\n }\n } else {\n var parseLength = number.length - start;\n for (i = parseLength % 2 === 0 ? start + 1 : start; i < number.length; i += 2) {\n w = parseHexByte(number, start, i) << off;\n this.words[j] |= w & 0x3ffffff;\n if (off >= 18) {\n off -= 18;\n j += 1;\n this.words[j] |= w >>> 26;\n } else {\n off += 8;\n }\n }\n }\n\n this._strip();\n };\n\n function parseBase (str, start, end, mul) {\n var r = 0;\n var b = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r *= mul;\n\n // 'a'\n if (c >= 49) {\n b = c - 49 + 0xa;\n\n // 'A'\n } else if (c >= 17) {\n b = c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n b = c;\n }\n assert(c >= 0 && b < mul, 'Invalid character');\n r += b;\n }\n return r;\n }\n\n BN.prototype._parseBase = function _parseBase (number, base, start) {\n // Initialize as zero\n this.words = [0];\n this.length = 1;\n\n // Find length of limb in base\n for (var limbLen = 0, limbPow = 1; limbPow <= 0x3ffffff; limbPow *= base) {\n limbLen++;\n }\n limbLen--;\n limbPow = (limbPow / base) | 0;\n\n var total = number.length - start;\n var mod = total % limbLen;\n var end = Math.min(total, total - mod) + start;\n\n var word = 0;\n for (var i = start; i < end; i += limbLen) {\n word = parseBase(number, i, i + limbLen, base);\n\n this.imuln(limbPow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n if (mod !== 0) {\n var pow = 1;\n word = parseBase(number, i, number.length, base);\n\n for (i = 0; i < mod; i++) {\n pow *= base;\n }\n\n this.imuln(pow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n this._strip();\n };\n\n BN.prototype.copy = function copy (dest) {\n dest.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n dest.words[i] = this.words[i];\n }\n dest.length = this.length;\n dest.negative = this.negative;\n dest.red = this.red;\n };\n\n function move (dest, src) {\n dest.words = src.words;\n dest.length = src.length;\n dest.negative = src.negative;\n dest.red = src.red;\n }\n\n BN.prototype._move = function _move (dest) {\n move(dest, this);\n };\n\n BN.prototype.clone = function clone () {\n var r = new BN(null);\n this.copy(r);\n return r;\n };\n\n BN.prototype._expand = function _expand (size) {\n while (this.length < size) {\n this.words[this.length++] = 0;\n }\n return this;\n };\n\n // Remove leading `0` from `this`\n BN.prototype._strip = function strip () {\n while (this.length > 1 && this.words[this.length - 1] === 0) {\n this.length--;\n }\n return this._normSign();\n };\n\n BN.prototype._normSign = function _normSign () {\n // -0 = 0\n if (this.length === 1 && this.words[0] === 0) {\n this.negative = 0;\n }\n return this;\n };\n\n // Check Symbol.for because not everywhere where Symbol defined\n // See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol#Browser_compatibility\n if (typeof Symbol !== 'undefined' && typeof Symbol.for === 'function') {\n try {\n BN.prototype[Symbol.for('nodejs.util.inspect.custom')] = inspect;\n } catch (e) {\n BN.prototype.inspect = inspect;\n }\n } else {\n BN.prototype.inspect = inspect;\n }\n\n function inspect () {\n return (this.red ? '';\n }\n\n /*\n\n var zeros = [];\n var groupSizes = [];\n var groupBases = [];\n\n var s = '';\n var i = -1;\n while (++i < BN.wordSize) {\n zeros[i] = s;\n s += '0';\n }\n groupSizes[0] = 0;\n groupSizes[1] = 0;\n groupBases[0] = 0;\n groupBases[1] = 0;\n var base = 2 - 1;\n while (++base < 36 + 1) {\n var groupSize = 0;\n var groupBase = 1;\n while (groupBase < (1 << BN.wordSize) / base) {\n groupBase *= base;\n groupSize += 1;\n }\n groupSizes[base] = groupSize;\n groupBases[base] = groupBase;\n }\n\n */\n\n var zeros = [\n '',\n '0',\n '00',\n '000',\n '0000',\n '00000',\n '000000',\n '0000000',\n '00000000',\n '000000000',\n '0000000000',\n '00000000000',\n '000000000000',\n '0000000000000',\n '00000000000000',\n '000000000000000',\n '0000000000000000',\n '00000000000000000',\n '000000000000000000',\n '0000000000000000000',\n '00000000000000000000',\n '000000000000000000000',\n '0000000000000000000000',\n '00000000000000000000000',\n '000000000000000000000000',\n '0000000000000000000000000'\n ];\n\n var groupSizes = [\n 0, 0,\n 25, 16, 12, 11, 10, 9, 8,\n 8, 7, 7, 7, 7, 6, 6,\n 6, 6, 6, 6, 6, 5, 5,\n 5, 5, 5, 5, 5, 5, 5,\n 5, 5, 5, 5, 5, 5, 5\n ];\n\n var groupBases = [\n 0, 0,\n 33554432, 43046721, 16777216, 48828125, 60466176, 40353607, 16777216,\n 43046721, 10000000, 19487171, 35831808, 62748517, 7529536, 11390625,\n 16777216, 24137569, 34012224, 47045881, 64000000, 4084101, 5153632,\n 6436343, 7962624, 9765625, 11881376, 14348907, 17210368, 20511149,\n 24300000, 28629151, 33554432, 39135393, 45435424, 52521875, 60466176\n ];\n\n BN.prototype.toString = function toString (base, padding) {\n base = base || 10;\n padding = padding | 0 || 1;\n\n var out;\n if (base === 16 || base === 'hex') {\n out = '';\n var off = 0;\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = this.words[i];\n var word = (((w << off) | carry) & 0xffffff).toString(16);\n carry = (w >>> (24 - off)) & 0xffffff;\n off += 2;\n if (off >= 26) {\n off -= 26;\n i--;\n }\n if (carry !== 0 || i !== this.length - 1) {\n out = zeros[6 - word.length] + word + out;\n } else {\n out = word + out;\n }\n }\n if (carry !== 0) {\n out = carry.toString(16) + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n if (base === (base | 0) && base >= 2 && base <= 36) {\n // var groupSize = Math.floor(BN.wordSize * Math.LN2 / Math.log(base));\n var groupSize = groupSizes[base];\n // var groupBase = Math.pow(base, groupSize);\n var groupBase = groupBases[base];\n out = '';\n var c = this.clone();\n c.negative = 0;\n while (!c.isZero()) {\n var r = c.modrn(groupBase).toString(base);\n c = c.idivn(groupBase);\n\n if (!c.isZero()) {\n out = zeros[groupSize - r.length] + r + out;\n } else {\n out = r + out;\n }\n }\n if (this.isZero()) {\n out = '0' + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n assert(false, 'Base should be between 2 and 36');\n };\n\n BN.prototype.toNumber = function toNumber () {\n var ret = this.words[0];\n if (this.length === 2) {\n ret += this.words[1] * 0x4000000;\n } else if (this.length === 3 && this.words[2] === 0x01) {\n // NOTE: at this stage it is known that the top bit is set\n ret += 0x10000000000000 + (this.words[1] * 0x4000000);\n } else if (this.length > 2) {\n assert(false, 'Number can only safely store up to 53 bits');\n }\n return (this.negative !== 0) ? -ret : ret;\n };\n\n BN.prototype.toJSON = function toJSON () {\n return this.toString(16, 2);\n };\n\n if (Buffer) {\n BN.prototype.toBuffer = function toBuffer (endian, length) {\n return this.toArrayLike(Buffer, endian, length);\n };\n }\n\n BN.prototype.toArray = function toArray (endian, length) {\n return this.toArrayLike(Array, endian, length);\n };\n\n var allocate = function allocate (ArrayType, size) {\n if (ArrayType.allocUnsafe) {\n return ArrayType.allocUnsafe(size);\n }\n return new ArrayType(size);\n };\n\n BN.prototype.toArrayLike = function toArrayLike (ArrayType, endian, length) {\n this._strip();\n\n var byteLength = this.byteLength();\n var reqLength = length || Math.max(1, byteLength);\n assert(byteLength <= reqLength, 'byte array longer than desired length');\n assert(reqLength > 0, 'Requested array length <= 0');\n\n var res = allocate(ArrayType, reqLength);\n var postfix = endian === 'le' ? 'LE' : 'BE';\n this['_toArrayLike' + postfix](res, byteLength);\n return res;\n };\n\n BN.prototype._toArrayLikeLE = function _toArrayLikeLE (res, byteLength) {\n var position = 0;\n var carry = 0;\n\n for (var i = 0, shift = 0; i < this.length; i++) {\n var word = (this.words[i] << shift) | carry;\n\n res[position++] = word & 0xff;\n if (position < res.length) {\n res[position++] = (word >> 8) & 0xff;\n }\n if (position < res.length) {\n res[position++] = (word >> 16) & 0xff;\n }\n\n if (shift === 6) {\n if (position < res.length) {\n res[position++] = (word >> 24) & 0xff;\n }\n carry = 0;\n shift = 0;\n } else {\n carry = word >>> 24;\n shift += 2;\n }\n }\n\n if (position < res.length) {\n res[position++] = carry;\n\n while (position < res.length) {\n res[position++] = 0;\n }\n }\n };\n\n BN.prototype._toArrayLikeBE = function _toArrayLikeBE (res, byteLength) {\n var position = res.length - 1;\n var carry = 0;\n\n for (var i = 0, shift = 0; i < this.length; i++) {\n var word = (this.words[i] << shift) | carry;\n\n res[position--] = word & 0xff;\n if (position >= 0) {\n res[position--] = (word >> 8) & 0xff;\n }\n if (position >= 0) {\n res[position--] = (word >> 16) & 0xff;\n }\n\n if (shift === 6) {\n if (position >= 0) {\n res[position--] = (word >> 24) & 0xff;\n }\n carry = 0;\n shift = 0;\n } else {\n carry = word >>> 24;\n shift += 2;\n }\n }\n\n if (position >= 0) {\n res[position--] = carry;\n\n while (position >= 0) {\n res[position--] = 0;\n }\n }\n };\n\n if (Math.clz32) {\n BN.prototype._countBits = function _countBits (w) {\n return 32 - Math.clz32(w);\n };\n } else {\n BN.prototype._countBits = function _countBits (w) {\n var t = w;\n var r = 0;\n if (t >= 0x1000) {\n r += 13;\n t >>>= 13;\n }\n if (t >= 0x40) {\n r += 7;\n t >>>= 7;\n }\n if (t >= 0x8) {\n r += 4;\n t >>>= 4;\n }\n if (t >= 0x02) {\n r += 2;\n t >>>= 2;\n }\n return r + t;\n };\n }\n\n BN.prototype._zeroBits = function _zeroBits (w) {\n // Short-cut\n if (w === 0) return 26;\n\n var t = w;\n var r = 0;\n if ((t & 0x1fff) === 0) {\n r += 13;\n t >>>= 13;\n }\n if ((t & 0x7f) === 0) {\n r += 7;\n t >>>= 7;\n }\n if ((t & 0xf) === 0) {\n r += 4;\n t >>>= 4;\n }\n if ((t & 0x3) === 0) {\n r += 2;\n t >>>= 2;\n }\n if ((t & 0x1) === 0) {\n r++;\n }\n return r;\n };\n\n // Return number of used bits in a BN\n BN.prototype.bitLength = function bitLength () {\n var w = this.words[this.length - 1];\n var hi = this._countBits(w);\n return (this.length - 1) * 26 + hi;\n };\n\n function toBitArray (num) {\n var w = new Array(num.bitLength());\n\n for (var bit = 0; bit < w.length; bit++) {\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n w[bit] = (num.words[off] >>> wbit) & 0x01;\n }\n\n return w;\n }\n\n // Number of trailing zero bits\n BN.prototype.zeroBits = function zeroBits () {\n if (this.isZero()) return 0;\n\n var r = 0;\n for (var i = 0; i < this.length; i++) {\n var b = this._zeroBits(this.words[i]);\n r += b;\n if (b !== 26) break;\n }\n return r;\n };\n\n BN.prototype.byteLength = function byteLength () {\n return Math.ceil(this.bitLength() / 8);\n };\n\n BN.prototype.toTwos = function toTwos (width) {\n if (this.negative !== 0) {\n return this.abs().inotn(width).iaddn(1);\n }\n return this.clone();\n };\n\n BN.prototype.fromTwos = function fromTwos (width) {\n if (this.testn(width - 1)) {\n return this.notn(width).iaddn(1).ineg();\n }\n return this.clone();\n };\n\n BN.prototype.isNeg = function isNeg () {\n return this.negative !== 0;\n };\n\n // Return negative clone of `this`\n BN.prototype.neg = function neg () {\n return this.clone().ineg();\n };\n\n BN.prototype.ineg = function ineg () {\n if (!this.isZero()) {\n this.negative ^= 1;\n }\n\n return this;\n };\n\n // Or `num` with `this` in-place\n BN.prototype.iuor = function iuor (num) {\n while (this.length < num.length) {\n this.words[this.length++] = 0;\n }\n\n for (var i = 0; i < num.length; i++) {\n this.words[i] = this.words[i] | num.words[i];\n }\n\n return this._strip();\n };\n\n BN.prototype.ior = function ior (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuor(num);\n };\n\n // Or `num` with `this`\n BN.prototype.or = function or (num) {\n if (this.length > num.length) return this.clone().ior(num);\n return num.clone().ior(this);\n };\n\n BN.prototype.uor = function uor (num) {\n if (this.length > num.length) return this.clone().iuor(num);\n return num.clone().iuor(this);\n };\n\n // And `num` with `this` in-place\n BN.prototype.iuand = function iuand (num) {\n // b = min-length(num, this)\n var b;\n if (this.length > num.length) {\n b = num;\n } else {\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = this.words[i] & num.words[i];\n }\n\n this.length = b.length;\n\n return this._strip();\n };\n\n BN.prototype.iand = function iand (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuand(num);\n };\n\n // And `num` with `this`\n BN.prototype.and = function and (num) {\n if (this.length > num.length) return this.clone().iand(num);\n return num.clone().iand(this);\n };\n\n BN.prototype.uand = function uand (num) {\n if (this.length > num.length) return this.clone().iuand(num);\n return num.clone().iuand(this);\n };\n\n // Xor `num` with `this` in-place\n BN.prototype.iuxor = function iuxor (num) {\n // a.length > b.length\n var a;\n var b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = a.words[i] ^ b.words[i];\n }\n\n if (this !== a) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = a.length;\n\n return this._strip();\n };\n\n BN.prototype.ixor = function ixor (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuxor(num);\n };\n\n // Xor `num` with `this`\n BN.prototype.xor = function xor (num) {\n if (this.length > num.length) return this.clone().ixor(num);\n return num.clone().ixor(this);\n };\n\n BN.prototype.uxor = function uxor (num) {\n if (this.length > num.length) return this.clone().iuxor(num);\n return num.clone().iuxor(this);\n };\n\n // Not ``this`` with ``width`` bitwidth\n BN.prototype.inotn = function inotn (width) {\n assert(typeof width === 'number' && width >= 0);\n\n var bytesNeeded = Math.ceil(width / 26) | 0;\n var bitsLeft = width % 26;\n\n // Extend the buffer with leading zeroes\n this._expand(bytesNeeded);\n\n if (bitsLeft > 0) {\n bytesNeeded--;\n }\n\n // Handle complete words\n for (var i = 0; i < bytesNeeded; i++) {\n this.words[i] = ~this.words[i] & 0x3ffffff;\n }\n\n // Handle the residue\n if (bitsLeft > 0) {\n this.words[i] = ~this.words[i] & (0x3ffffff >> (26 - bitsLeft));\n }\n\n // And remove leading zeroes\n return this._strip();\n };\n\n BN.prototype.notn = function notn (width) {\n return this.clone().inotn(width);\n };\n\n // Set `bit` of `this`\n BN.prototype.setn = function setn (bit, val) {\n assert(typeof bit === 'number' && bit >= 0);\n\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n this._expand(off + 1);\n\n if (val) {\n this.words[off] = this.words[off] | (1 << wbit);\n } else {\n this.words[off] = this.words[off] & ~(1 << wbit);\n }\n\n return this._strip();\n };\n\n // Add `num` to `this` in-place\n BN.prototype.iadd = function iadd (num) {\n var r;\n\n // negative + positive\n if (this.negative !== 0 && num.negative === 0) {\n this.negative = 0;\n r = this.isub(num);\n this.negative ^= 1;\n return this._normSign();\n\n // positive + negative\n } else if (this.negative === 0 && num.negative !== 0) {\n num.negative = 0;\n r = this.isub(num);\n num.negative = 1;\n return r._normSign();\n }\n\n // a.length > b.length\n var a, b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) + (b.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n\n this.length = a.length;\n if (carry !== 0) {\n this.words[this.length] = carry;\n this.length++;\n // Copy the rest of the words\n } else if (a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n return this;\n };\n\n // Add `num` to `this`\n BN.prototype.add = function add (num) {\n var res;\n if (num.negative !== 0 && this.negative === 0) {\n num.negative = 0;\n res = this.sub(num);\n num.negative ^= 1;\n return res;\n } else if (num.negative === 0 && this.negative !== 0) {\n this.negative = 0;\n res = num.sub(this);\n this.negative = 1;\n return res;\n }\n\n if (this.length > num.length) return this.clone().iadd(num);\n\n return num.clone().iadd(this);\n };\n\n // Subtract `num` from `this` in-place\n BN.prototype.isub = function isub (num) {\n // this - (-num) = this + num\n if (num.negative !== 0) {\n num.negative = 0;\n var r = this.iadd(num);\n num.negative = 1;\n return r._normSign();\n\n // -this - num = -(this + num)\n } else if (this.negative !== 0) {\n this.negative = 0;\n this.iadd(num);\n this.negative = 1;\n return this._normSign();\n }\n\n // At this point both numbers are positive\n var cmp = this.cmp(num);\n\n // Optimization - zeroify\n if (cmp === 0) {\n this.negative = 0;\n this.length = 1;\n this.words[0] = 0;\n return this;\n }\n\n // a > b\n var a, b;\n if (cmp > 0) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) - (b.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n\n // Copy rest of the words\n if (carry === 0 && i < a.length && a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = Math.max(this.length, i);\n\n if (a !== this) {\n this.negative = 1;\n }\n\n return this._strip();\n };\n\n // Subtract `num` from `this`\n BN.prototype.sub = function sub (num) {\n return this.clone().isub(num);\n };\n\n function smallMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n var len = (self.length + num.length) | 0;\n out.length = len;\n len = (len - 1) | 0;\n\n // Peel one iteration (compiler can't do it, because of code complexity)\n var a = self.words[0] | 0;\n var b = num.words[0] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n var carry = (r / 0x4000000) | 0;\n out.words[0] = lo;\n\n for (var k = 1; k < len; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = carry >>> 26;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = (k - j) | 0;\n a = self.words[i] | 0;\n b = num.words[j] | 0;\n r = a * b + rword;\n ncarry += (r / 0x4000000) | 0;\n rword = r & 0x3ffffff;\n }\n out.words[k] = rword | 0;\n carry = ncarry | 0;\n }\n if (carry !== 0) {\n out.words[k] = carry | 0;\n } else {\n out.length--;\n }\n\n return out._strip();\n }\n\n // TODO(indutny): it may be reasonable to omit it for users who don't need\n // to work with 256-bit numbers, otherwise it gives 20% improvement for 256-bit\n // multiplication (like elliptic secp256k1).\n var comb10MulTo = function comb10MulTo (self, num, out) {\n var a = self.words;\n var b = num.words;\n var o = out.words;\n var c = 0;\n var lo;\n var mid;\n var hi;\n var a0 = a[0] | 0;\n var al0 = a0 & 0x1fff;\n var ah0 = a0 >>> 13;\n var a1 = a[1] | 0;\n var al1 = a1 & 0x1fff;\n var ah1 = a1 >>> 13;\n var a2 = a[2] | 0;\n var al2 = a2 & 0x1fff;\n var ah2 = a2 >>> 13;\n var a3 = a[3] | 0;\n var al3 = a3 & 0x1fff;\n var ah3 = a3 >>> 13;\n var a4 = a[4] | 0;\n var al4 = a4 & 0x1fff;\n var ah4 = a4 >>> 13;\n var a5 = a[5] | 0;\n var al5 = a5 & 0x1fff;\n var ah5 = a5 >>> 13;\n var a6 = a[6] | 0;\n var al6 = a6 & 0x1fff;\n var ah6 = a6 >>> 13;\n var a7 = a[7] | 0;\n var al7 = a7 & 0x1fff;\n var ah7 = a7 >>> 13;\n var a8 = a[8] | 0;\n var al8 = a8 & 0x1fff;\n var ah8 = a8 >>> 13;\n var a9 = a[9] | 0;\n var al9 = a9 & 0x1fff;\n var ah9 = a9 >>> 13;\n var b0 = b[0] | 0;\n var bl0 = b0 & 0x1fff;\n var bh0 = b0 >>> 13;\n var b1 = b[1] | 0;\n var bl1 = b1 & 0x1fff;\n var bh1 = b1 >>> 13;\n var b2 = b[2] | 0;\n var bl2 = b2 & 0x1fff;\n var bh2 = b2 >>> 13;\n var b3 = b[3] | 0;\n var bl3 = b3 & 0x1fff;\n var bh3 = b3 >>> 13;\n var b4 = b[4] | 0;\n var bl4 = b4 & 0x1fff;\n var bh4 = b4 >>> 13;\n var b5 = b[5] | 0;\n var bl5 = b5 & 0x1fff;\n var bh5 = b5 >>> 13;\n var b6 = b[6] | 0;\n var bl6 = b6 & 0x1fff;\n var bh6 = b6 >>> 13;\n var b7 = b[7] | 0;\n var bl7 = b7 & 0x1fff;\n var bh7 = b7 >>> 13;\n var b8 = b[8] | 0;\n var bl8 = b8 & 0x1fff;\n var bh8 = b8 >>> 13;\n var b9 = b[9] | 0;\n var bl9 = b9 & 0x1fff;\n var bh9 = b9 >>> 13;\n\n out.negative = self.negative ^ num.negative;\n out.length = 19;\n /* k = 0 */\n lo = Math.imul(al0, bl0);\n mid = Math.imul(al0, bh0);\n mid = (mid + Math.imul(ah0, bl0)) | 0;\n hi = Math.imul(ah0, bh0);\n var w0 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w0 >>> 26)) | 0;\n w0 &= 0x3ffffff;\n /* k = 1 */\n lo = Math.imul(al1, bl0);\n mid = Math.imul(al1, bh0);\n mid = (mid + Math.imul(ah1, bl0)) | 0;\n hi = Math.imul(ah1, bh0);\n lo = (lo + Math.imul(al0, bl1)) | 0;\n mid = (mid + Math.imul(al0, bh1)) | 0;\n mid = (mid + Math.imul(ah0, bl1)) | 0;\n hi = (hi + Math.imul(ah0, bh1)) | 0;\n var w1 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w1 >>> 26)) | 0;\n w1 &= 0x3ffffff;\n /* k = 2 */\n lo = Math.imul(al2, bl0);\n mid = Math.imul(al2, bh0);\n mid = (mid + Math.imul(ah2, bl0)) | 0;\n hi = Math.imul(ah2, bh0);\n lo = (lo + Math.imul(al1, bl1)) | 0;\n mid = (mid + Math.imul(al1, bh1)) | 0;\n mid = (mid + Math.imul(ah1, bl1)) | 0;\n hi = (hi + Math.imul(ah1, bh1)) | 0;\n lo = (lo + Math.imul(al0, bl2)) | 0;\n mid = (mid + Math.imul(al0, bh2)) | 0;\n mid = (mid + Math.imul(ah0, bl2)) | 0;\n hi = (hi + Math.imul(ah0, bh2)) | 0;\n var w2 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w2 >>> 26)) | 0;\n w2 &= 0x3ffffff;\n /* k = 3 */\n lo = Math.imul(al3, bl0);\n mid = Math.imul(al3, bh0);\n mid = (mid + Math.imul(ah3, bl0)) | 0;\n hi = Math.imul(ah3, bh0);\n lo = (lo + Math.imul(al2, bl1)) | 0;\n mid = (mid + Math.imul(al2, bh1)) | 0;\n mid = (mid + Math.imul(ah2, bl1)) | 0;\n hi = (hi + Math.imul(ah2, bh1)) | 0;\n lo = (lo + Math.imul(al1, bl2)) | 0;\n mid = (mid + Math.imul(al1, bh2)) | 0;\n mid = (mid + Math.imul(ah1, bl2)) | 0;\n hi = (hi + Math.imul(ah1, bh2)) | 0;\n lo = (lo + Math.imul(al0, bl3)) | 0;\n mid = (mid + Math.imul(al0, bh3)) | 0;\n mid = (mid + Math.imul(ah0, bl3)) | 0;\n hi = (hi + Math.imul(ah0, bh3)) | 0;\n var w3 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w3 >>> 26)) | 0;\n w3 &= 0x3ffffff;\n /* k = 4 */\n lo = Math.imul(al4, bl0);\n mid = Math.imul(al4, bh0);\n mid = (mid + Math.imul(ah4, bl0)) | 0;\n hi = Math.imul(ah4, bh0);\n lo = (lo + Math.imul(al3, bl1)) | 0;\n mid = (mid + Math.imul(al3, bh1)) | 0;\n mid = (mid + Math.imul(ah3, bl1)) | 0;\n hi = (hi + Math.imul(ah3, bh1)) | 0;\n lo = (lo + Math.imul(al2, bl2)) | 0;\n mid = (mid + Math.imul(al2, bh2)) | 0;\n mid = (mid + Math.imul(ah2, bl2)) | 0;\n hi = (hi + Math.imul(ah2, bh2)) | 0;\n lo = (lo + Math.imul(al1, bl3)) | 0;\n mid = (mid + Math.imul(al1, bh3)) | 0;\n mid = (mid + Math.imul(ah1, bl3)) | 0;\n hi = (hi + Math.imul(ah1, bh3)) | 0;\n lo = (lo + Math.imul(al0, bl4)) | 0;\n mid = (mid + Math.imul(al0, bh4)) | 0;\n mid = (mid + Math.imul(ah0, bl4)) | 0;\n hi = (hi + Math.imul(ah0, bh4)) | 0;\n var w4 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w4 >>> 26)) | 0;\n w4 &= 0x3ffffff;\n /* k = 5 */\n lo = Math.imul(al5, bl0);\n mid = Math.imul(al5, bh0);\n mid = (mid + Math.imul(ah5, bl0)) | 0;\n hi = Math.imul(ah5, bh0);\n lo = (lo + Math.imul(al4, bl1)) | 0;\n mid = (mid + Math.imul(al4, bh1)) | 0;\n mid = (mid + Math.imul(ah4, bl1)) | 0;\n hi = (hi + Math.imul(ah4, bh1)) | 0;\n lo = (lo + Math.imul(al3, bl2)) | 0;\n mid = (mid + Math.imul(al3, bh2)) | 0;\n mid = (mid + Math.imul(ah3, bl2)) | 0;\n hi = (hi + Math.imul(ah3, bh2)) | 0;\n lo = (lo + Math.imul(al2, bl3)) | 0;\n mid = (mid + Math.imul(al2, bh3)) | 0;\n mid = (mid + Math.imul(ah2, bl3)) | 0;\n hi = (hi + Math.imul(ah2, bh3)) | 0;\n lo = (lo + Math.imul(al1, bl4)) | 0;\n mid = (mid + Math.imul(al1, bh4)) | 0;\n mid = (mid + Math.imul(ah1, bl4)) | 0;\n hi = (hi + Math.imul(ah1, bh4)) | 0;\n lo = (lo + Math.imul(al0, bl5)) | 0;\n mid = (mid + Math.imul(al0, bh5)) | 0;\n mid = (mid + Math.imul(ah0, bl5)) | 0;\n hi = (hi + Math.imul(ah0, bh5)) | 0;\n var w5 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w5 >>> 26)) | 0;\n w5 &= 0x3ffffff;\n /* k = 6 */\n lo = Math.imul(al6, bl0);\n mid = Math.imul(al6, bh0);\n mid = (mid + Math.imul(ah6, bl0)) | 0;\n hi = Math.imul(ah6, bh0);\n lo = (lo + Math.imul(al5, bl1)) | 0;\n mid = (mid + Math.imul(al5, bh1)) | 0;\n mid = (mid + Math.imul(ah5, bl1)) | 0;\n hi = (hi + Math.imul(ah5, bh1)) | 0;\n lo = (lo + Math.imul(al4, bl2)) | 0;\n mid = (mid + Math.imul(al4, bh2)) | 0;\n mid = (mid + Math.imul(ah4, bl2)) | 0;\n hi = (hi + Math.imul(ah4, bh2)) | 0;\n lo = (lo + Math.imul(al3, bl3)) | 0;\n mid = (mid + Math.imul(al3, bh3)) | 0;\n mid = (mid + Math.imul(ah3, bl3)) | 0;\n hi = (hi + Math.imul(ah3, bh3)) | 0;\n lo = (lo + Math.imul(al2, bl4)) | 0;\n mid = (mid + Math.imul(al2, bh4)) | 0;\n mid = (mid + Math.imul(ah2, bl4)) | 0;\n hi = (hi + Math.imul(ah2, bh4)) | 0;\n lo = (lo + Math.imul(al1, bl5)) | 0;\n mid = (mid + Math.imul(al1, bh5)) | 0;\n mid = (mid + Math.imul(ah1, bl5)) | 0;\n hi = (hi + Math.imul(ah1, bh5)) | 0;\n lo = (lo + Math.imul(al0, bl6)) | 0;\n mid = (mid + Math.imul(al0, bh6)) | 0;\n mid = (mid + Math.imul(ah0, bl6)) | 0;\n hi = (hi + Math.imul(ah0, bh6)) | 0;\n var w6 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w6 >>> 26)) | 0;\n w6 &= 0x3ffffff;\n /* k = 7 */\n lo = Math.imul(al7, bl0);\n mid = Math.imul(al7, bh0);\n mid = (mid + Math.imul(ah7, bl0)) | 0;\n hi = Math.imul(ah7, bh0);\n lo = (lo + Math.imul(al6, bl1)) | 0;\n mid = (mid + Math.imul(al6, bh1)) | 0;\n mid = (mid + Math.imul(ah6, bl1)) | 0;\n hi = (hi + Math.imul(ah6, bh1)) | 0;\n lo = (lo + Math.imul(al5, bl2)) | 0;\n mid = (mid + Math.imul(al5, bh2)) | 0;\n mid = (mid + Math.imul(ah5, bl2)) | 0;\n hi = (hi + Math.imul(ah5, bh2)) | 0;\n lo = (lo + Math.imul(al4, bl3)) | 0;\n mid = (mid + Math.imul(al4, bh3)) | 0;\n mid = (mid + Math.imul(ah4, bl3)) | 0;\n hi = (hi + Math.imul(ah4, bh3)) | 0;\n lo = (lo + Math.imul(al3, bl4)) | 0;\n mid = (mid + Math.imul(al3, bh4)) | 0;\n mid = (mid + Math.imul(ah3, bl4)) | 0;\n hi = (hi + Math.imul(ah3, bh4)) | 0;\n lo = (lo + Math.imul(al2, bl5)) | 0;\n mid = (mid + Math.imul(al2, bh5)) | 0;\n mid = (mid + Math.imul(ah2, bl5)) | 0;\n hi = (hi + Math.imul(ah2, bh5)) | 0;\n lo = (lo + Math.imul(al1, bl6)) | 0;\n mid = (mid + Math.imul(al1, bh6)) | 0;\n mid = (mid + Math.imul(ah1, bl6)) | 0;\n hi = (hi + Math.imul(ah1, bh6)) | 0;\n lo = (lo + Math.imul(al0, bl7)) | 0;\n mid = (mid + Math.imul(al0, bh7)) | 0;\n mid = (mid + Math.imul(ah0, bl7)) | 0;\n hi = (hi + Math.imul(ah0, bh7)) | 0;\n var w7 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w7 >>> 26)) | 0;\n w7 &= 0x3ffffff;\n /* k = 8 */\n lo = Math.imul(al8, bl0);\n mid = Math.imul(al8, bh0);\n mid = (mid + Math.imul(ah8, bl0)) | 0;\n hi = Math.imul(ah8, bh0);\n lo = (lo + Math.imul(al7, bl1)) | 0;\n mid = (mid + Math.imul(al7, bh1)) | 0;\n mid = (mid + Math.imul(ah7, bl1)) | 0;\n hi = (hi + Math.imul(ah7, bh1)) | 0;\n lo = (lo + Math.imul(al6, bl2)) | 0;\n mid = (mid + Math.imul(al6, bh2)) | 0;\n mid = (mid + Math.imul(ah6, bl2)) | 0;\n hi = (hi + Math.imul(ah6, bh2)) | 0;\n lo = (lo + Math.imul(al5, bl3)) | 0;\n mid = (mid + Math.imul(al5, bh3)) | 0;\n mid = (mid + Math.imul(ah5, bl3)) | 0;\n hi = (hi + Math.imul(ah5, bh3)) | 0;\n lo = (lo + Math.imul(al4, bl4)) | 0;\n mid = (mid + Math.imul(al4, bh4)) | 0;\n mid = (mid + Math.imul(ah4, bl4)) | 0;\n hi = (hi + Math.imul(ah4, bh4)) | 0;\n lo = (lo + Math.imul(al3, bl5)) | 0;\n mid = (mid + Math.imul(al3, bh5)) | 0;\n mid = (mid + Math.imul(ah3, bl5)) | 0;\n hi = (hi + Math.imul(ah3, bh5)) | 0;\n lo = (lo + Math.imul(al2, bl6)) | 0;\n mid = (mid + Math.imul(al2, bh6)) | 0;\n mid = (mid + Math.imul(ah2, bl6)) | 0;\n hi = (hi + Math.imul(ah2, bh6)) | 0;\n lo = (lo + Math.imul(al1, bl7)) | 0;\n mid = (mid + Math.imul(al1, bh7)) | 0;\n mid = (mid + Math.imul(ah1, bl7)) | 0;\n hi = (hi + Math.imul(ah1, bh7)) | 0;\n lo = (lo + Math.imul(al0, bl8)) | 0;\n mid = (mid + Math.imul(al0, bh8)) | 0;\n mid = (mid + Math.imul(ah0, bl8)) | 0;\n hi = (hi + Math.imul(ah0, bh8)) | 0;\n var w8 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w8 >>> 26)) | 0;\n w8 &= 0x3ffffff;\n /* k = 9 */\n lo = Math.imul(al9, bl0);\n mid = Math.imul(al9, bh0);\n mid = (mid + Math.imul(ah9, bl0)) | 0;\n hi = Math.imul(ah9, bh0);\n lo = (lo + Math.imul(al8, bl1)) | 0;\n mid = (mid + Math.imul(al8, bh1)) | 0;\n mid = (mid + Math.imul(ah8, bl1)) | 0;\n hi = (hi + Math.imul(ah8, bh1)) | 0;\n lo = (lo + Math.imul(al7, bl2)) | 0;\n mid = (mid + Math.imul(al7, bh2)) | 0;\n mid = (mid + Math.imul(ah7, bl2)) | 0;\n hi = (hi + Math.imul(ah7, bh2)) | 0;\n lo = (lo + Math.imul(al6, bl3)) | 0;\n mid = (mid + Math.imul(al6, bh3)) | 0;\n mid = (mid + Math.imul(ah6, bl3)) | 0;\n hi = (hi + Math.imul(ah6, bh3)) | 0;\n lo = (lo + Math.imul(al5, bl4)) | 0;\n mid = (mid + Math.imul(al5, bh4)) | 0;\n mid = (mid + Math.imul(ah5, bl4)) | 0;\n hi = (hi + Math.imul(ah5, bh4)) | 0;\n lo = (lo + Math.imul(al4, bl5)) | 0;\n mid = (mid + Math.imul(al4, bh5)) | 0;\n mid = (mid + Math.imul(ah4, bl5)) | 0;\n hi = (hi + Math.imul(ah4, bh5)) | 0;\n lo = (lo + Math.imul(al3, bl6)) | 0;\n mid = (mid + Math.imul(al3, bh6)) | 0;\n mid = (mid + Math.imul(ah3, bl6)) | 0;\n hi = (hi + Math.imul(ah3, bh6)) | 0;\n lo = (lo + Math.imul(al2, bl7)) | 0;\n mid = (mid + Math.imul(al2, bh7)) | 0;\n mid = (mid + Math.imul(ah2, bl7)) | 0;\n hi = (hi + Math.imul(ah2, bh7)) | 0;\n lo = (lo + Math.imul(al1, bl8)) | 0;\n mid = (mid + Math.imul(al1, bh8)) | 0;\n mid = (mid + Math.imul(ah1, bl8)) | 0;\n hi = (hi + Math.imul(ah1, bh8)) | 0;\n lo = (lo + Math.imul(al0, bl9)) | 0;\n mid = (mid + Math.imul(al0, bh9)) | 0;\n mid = (mid + Math.imul(ah0, bl9)) | 0;\n hi = (hi + Math.imul(ah0, bh9)) | 0;\n var w9 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w9 >>> 26)) | 0;\n w9 &= 0x3ffffff;\n /* k = 10 */\n lo = Math.imul(al9, bl1);\n mid = Math.imul(al9, bh1);\n mid = (mid + Math.imul(ah9, bl1)) | 0;\n hi = Math.imul(ah9, bh1);\n lo = (lo + Math.imul(al8, bl2)) | 0;\n mid = (mid + Math.imul(al8, bh2)) | 0;\n mid = (mid + Math.imul(ah8, bl2)) | 0;\n hi = (hi + Math.imul(ah8, bh2)) | 0;\n lo = (lo + Math.imul(al7, bl3)) | 0;\n mid = (mid + Math.imul(al7, bh3)) | 0;\n mid = (mid + Math.imul(ah7, bl3)) | 0;\n hi = (hi + Math.imul(ah7, bh3)) | 0;\n lo = (lo + Math.imul(al6, bl4)) | 0;\n mid = (mid + Math.imul(al6, bh4)) | 0;\n mid = (mid + Math.imul(ah6, bl4)) | 0;\n hi = (hi + Math.imul(ah6, bh4)) | 0;\n lo = (lo + Math.imul(al5, bl5)) | 0;\n mid = (mid + Math.imul(al5, bh5)) | 0;\n mid = (mid + Math.imul(ah5, bl5)) | 0;\n hi = (hi + Math.imul(ah5, bh5)) | 0;\n lo = (lo + Math.imul(al4, bl6)) | 0;\n mid = (mid + Math.imul(al4, bh6)) | 0;\n mid = (mid + Math.imul(ah4, bl6)) | 0;\n hi = (hi + Math.imul(ah4, bh6)) | 0;\n lo = (lo + Math.imul(al3, bl7)) | 0;\n mid = (mid + Math.imul(al3, bh7)) | 0;\n mid = (mid + Math.imul(ah3, bl7)) | 0;\n hi = (hi + Math.imul(ah3, bh7)) | 0;\n lo = (lo + Math.imul(al2, bl8)) | 0;\n mid = (mid + Math.imul(al2, bh8)) | 0;\n mid = (mid + Math.imul(ah2, bl8)) | 0;\n hi = (hi + Math.imul(ah2, bh8)) | 0;\n lo = (lo + Math.imul(al1, bl9)) | 0;\n mid = (mid + Math.imul(al1, bh9)) | 0;\n mid = (mid + Math.imul(ah1, bl9)) | 0;\n hi = (hi + Math.imul(ah1, bh9)) | 0;\n var w10 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w10 >>> 26)) | 0;\n w10 &= 0x3ffffff;\n /* k = 11 */\n lo = Math.imul(al9, bl2);\n mid = Math.imul(al9, bh2);\n mid = (mid + Math.imul(ah9, bl2)) | 0;\n hi = Math.imul(ah9, bh2);\n lo = (lo + Math.imul(al8, bl3)) | 0;\n mid = (mid + Math.imul(al8, bh3)) | 0;\n mid = (mid + Math.imul(ah8, bl3)) | 0;\n hi = (hi + Math.imul(ah8, bh3)) | 0;\n lo = (lo + Math.imul(al7, bl4)) | 0;\n mid = (mid + Math.imul(al7, bh4)) | 0;\n mid = (mid + Math.imul(ah7, bl4)) | 0;\n hi = (hi + Math.imul(ah7, bh4)) | 0;\n lo = (lo + Math.imul(al6, bl5)) | 0;\n mid = (mid + Math.imul(al6, bh5)) | 0;\n mid = (mid + Math.imul(ah6, bl5)) | 0;\n hi = (hi + Math.imul(ah6, bh5)) | 0;\n lo = (lo + Math.imul(al5, bl6)) | 0;\n mid = (mid + Math.imul(al5, bh6)) | 0;\n mid = (mid + Math.imul(ah5, bl6)) | 0;\n hi = (hi + Math.imul(ah5, bh6)) | 0;\n lo = (lo + Math.imul(al4, bl7)) | 0;\n mid = (mid + Math.imul(al4, bh7)) | 0;\n mid = (mid + Math.imul(ah4, bl7)) | 0;\n hi = (hi + Math.imul(ah4, bh7)) | 0;\n lo = (lo + Math.imul(al3, bl8)) | 0;\n mid = (mid + Math.imul(al3, bh8)) | 0;\n mid = (mid + Math.imul(ah3, bl8)) | 0;\n hi = (hi + Math.imul(ah3, bh8)) | 0;\n lo = (lo + Math.imul(al2, bl9)) | 0;\n mid = (mid + Math.imul(al2, bh9)) | 0;\n mid = (mid + Math.imul(ah2, bl9)) | 0;\n hi = (hi + Math.imul(ah2, bh9)) | 0;\n var w11 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w11 >>> 26)) | 0;\n w11 &= 0x3ffffff;\n /* k = 12 */\n lo = Math.imul(al9, bl3);\n mid = Math.imul(al9, bh3);\n mid = (mid + Math.imul(ah9, bl3)) | 0;\n hi = Math.imul(ah9, bh3);\n lo = (lo + Math.imul(al8, bl4)) | 0;\n mid = (mid + Math.imul(al8, bh4)) | 0;\n mid = (mid + Math.imul(ah8, bl4)) | 0;\n hi = (hi + Math.imul(ah8, bh4)) | 0;\n lo = (lo + Math.imul(al7, bl5)) | 0;\n mid = (mid + Math.imul(al7, bh5)) | 0;\n mid = (mid + Math.imul(ah7, bl5)) | 0;\n hi = (hi + Math.imul(ah7, bh5)) | 0;\n lo = (lo + Math.imul(al6, bl6)) | 0;\n mid = (mid + Math.imul(al6, bh6)) | 0;\n mid = (mid + Math.imul(ah6, bl6)) | 0;\n hi = (hi + Math.imul(ah6, bh6)) | 0;\n lo = (lo + Math.imul(al5, bl7)) | 0;\n mid = (mid + Math.imul(al5, bh7)) | 0;\n mid = (mid + Math.imul(ah5, bl7)) | 0;\n hi = (hi + Math.imul(ah5, bh7)) | 0;\n lo = (lo + Math.imul(al4, bl8)) | 0;\n mid = (mid + Math.imul(al4, bh8)) | 0;\n mid = (mid + Math.imul(ah4, bl8)) | 0;\n hi = (hi + Math.imul(ah4, bh8)) | 0;\n lo = (lo + Math.imul(al3, bl9)) | 0;\n mid = (mid + Math.imul(al3, bh9)) | 0;\n mid = (mid + Math.imul(ah3, bl9)) | 0;\n hi = (hi + Math.imul(ah3, bh9)) | 0;\n var w12 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w12 >>> 26)) | 0;\n w12 &= 0x3ffffff;\n /* k = 13 */\n lo = Math.imul(al9, bl4);\n mid = Math.imul(al9, bh4);\n mid = (mid + Math.imul(ah9, bl4)) | 0;\n hi = Math.imul(ah9, bh4);\n lo = (lo + Math.imul(al8, bl5)) | 0;\n mid = (mid + Math.imul(al8, bh5)) | 0;\n mid = (mid + Math.imul(ah8, bl5)) | 0;\n hi = (hi + Math.imul(ah8, bh5)) | 0;\n lo = (lo + Math.imul(al7, bl6)) | 0;\n mid = (mid + Math.imul(al7, bh6)) | 0;\n mid = (mid + Math.imul(ah7, bl6)) | 0;\n hi = (hi + Math.imul(ah7, bh6)) | 0;\n lo = (lo + Math.imul(al6, bl7)) | 0;\n mid = (mid + Math.imul(al6, bh7)) | 0;\n mid = (mid + Math.imul(ah6, bl7)) | 0;\n hi = (hi + Math.imul(ah6, bh7)) | 0;\n lo = (lo + Math.imul(al5, bl8)) | 0;\n mid = (mid + Math.imul(al5, bh8)) | 0;\n mid = (mid + Math.imul(ah5, bl8)) | 0;\n hi = (hi + Math.imul(ah5, bh8)) | 0;\n lo = (lo + Math.imul(al4, bl9)) | 0;\n mid = (mid + Math.imul(al4, bh9)) | 0;\n mid = (mid + Math.imul(ah4, bl9)) | 0;\n hi = (hi + Math.imul(ah4, bh9)) | 0;\n var w13 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w13 >>> 26)) | 0;\n w13 &= 0x3ffffff;\n /* k = 14 */\n lo = Math.imul(al9, bl5);\n mid = Math.imul(al9, bh5);\n mid = (mid + Math.imul(ah9, bl5)) | 0;\n hi = Math.imul(ah9, bh5);\n lo = (lo + Math.imul(al8, bl6)) | 0;\n mid = (mid + Math.imul(al8, bh6)) | 0;\n mid = (mid + Math.imul(ah8, bl6)) | 0;\n hi = (hi + Math.imul(ah8, bh6)) | 0;\n lo = (lo + Math.imul(al7, bl7)) | 0;\n mid = (mid + Math.imul(al7, bh7)) | 0;\n mid = (mid + Math.imul(ah7, bl7)) | 0;\n hi = (hi + Math.imul(ah7, bh7)) | 0;\n lo = (lo + Math.imul(al6, bl8)) | 0;\n mid = (mid + Math.imul(al6, bh8)) | 0;\n mid = (mid + Math.imul(ah6, bl8)) | 0;\n hi = (hi + Math.imul(ah6, bh8)) | 0;\n lo = (lo + Math.imul(al5, bl9)) | 0;\n mid = (mid + Math.imul(al5, bh9)) | 0;\n mid = (mid + Math.imul(ah5, bl9)) | 0;\n hi = (hi + Math.imul(ah5, bh9)) | 0;\n var w14 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w14 >>> 26)) | 0;\n w14 &= 0x3ffffff;\n /* k = 15 */\n lo = Math.imul(al9, bl6);\n mid = Math.imul(al9, bh6);\n mid = (mid + Math.imul(ah9, bl6)) | 0;\n hi = Math.imul(ah9, bh6);\n lo = (lo + Math.imul(al8, bl7)) | 0;\n mid = (mid + Math.imul(al8, bh7)) | 0;\n mid = (mid + Math.imul(ah8, bl7)) | 0;\n hi = (hi + Math.imul(ah8, bh7)) | 0;\n lo = (lo + Math.imul(al7, bl8)) | 0;\n mid = (mid + Math.imul(al7, bh8)) | 0;\n mid = (mid + Math.imul(ah7, bl8)) | 0;\n hi = (hi + Math.imul(ah7, bh8)) | 0;\n lo = (lo + Math.imul(al6, bl9)) | 0;\n mid = (mid + Math.imul(al6, bh9)) | 0;\n mid = (mid + Math.imul(ah6, bl9)) | 0;\n hi = (hi + Math.imul(ah6, bh9)) | 0;\n var w15 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w15 >>> 26)) | 0;\n w15 &= 0x3ffffff;\n /* k = 16 */\n lo = Math.imul(al9, bl7);\n mid = Math.imul(al9, bh7);\n mid = (mid + Math.imul(ah9, bl7)) | 0;\n hi = Math.imul(ah9, bh7);\n lo = (lo + Math.imul(al8, bl8)) | 0;\n mid = (mid + Math.imul(al8, bh8)) | 0;\n mid = (mid + Math.imul(ah8, bl8)) | 0;\n hi = (hi + Math.imul(ah8, bh8)) | 0;\n lo = (lo + Math.imul(al7, bl9)) | 0;\n mid = (mid + Math.imul(al7, bh9)) | 0;\n mid = (mid + Math.imul(ah7, bl9)) | 0;\n hi = (hi + Math.imul(ah7, bh9)) | 0;\n var w16 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w16 >>> 26)) | 0;\n w16 &= 0x3ffffff;\n /* k = 17 */\n lo = Math.imul(al9, bl8);\n mid = Math.imul(al9, bh8);\n mid = (mid + Math.imul(ah9, bl8)) | 0;\n hi = Math.imul(ah9, bh8);\n lo = (lo + Math.imul(al8, bl9)) | 0;\n mid = (mid + Math.imul(al8, bh9)) | 0;\n mid = (mid + Math.imul(ah8, bl9)) | 0;\n hi = (hi + Math.imul(ah8, bh9)) | 0;\n var w17 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w17 >>> 26)) | 0;\n w17 &= 0x3ffffff;\n /* k = 18 */\n lo = Math.imul(al9, bl9);\n mid = Math.imul(al9, bh9);\n mid = (mid + Math.imul(ah9, bl9)) | 0;\n hi = Math.imul(ah9, bh9);\n var w18 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w18 >>> 26)) | 0;\n w18 &= 0x3ffffff;\n o[0] = w0;\n o[1] = w1;\n o[2] = w2;\n o[3] = w3;\n o[4] = w4;\n o[5] = w5;\n o[6] = w6;\n o[7] = w7;\n o[8] = w8;\n o[9] = w9;\n o[10] = w10;\n o[11] = w11;\n o[12] = w12;\n o[13] = w13;\n o[14] = w14;\n o[15] = w15;\n o[16] = w16;\n o[17] = w17;\n o[18] = w18;\n if (c !== 0) {\n o[19] = c;\n out.length++;\n }\n return out;\n };\n\n // Polyfill comb\n if (!Math.imul) {\n comb10MulTo = smallMulTo;\n }\n\n function bigMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n out.length = self.length + num.length;\n\n var carry = 0;\n var hncarry = 0;\n for (var k = 0; k < out.length - 1; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = hncarry;\n hncarry = 0;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = k - j;\n var a = self.words[i] | 0;\n var b = num.words[j] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n ncarry = (ncarry + ((r / 0x4000000) | 0)) | 0;\n lo = (lo + rword) | 0;\n rword = lo & 0x3ffffff;\n ncarry = (ncarry + (lo >>> 26)) | 0;\n\n hncarry += ncarry >>> 26;\n ncarry &= 0x3ffffff;\n }\n out.words[k] = rword;\n carry = ncarry;\n ncarry = hncarry;\n }\n if (carry !== 0) {\n out.words[k] = carry;\n } else {\n out.length--;\n }\n\n return out._strip();\n }\n\n function jumboMulTo (self, num, out) {\n // Temporary disable, see https://github.com/indutny/bn.js/issues/211\n // var fftm = new FFTM();\n // return fftm.mulp(self, num, out);\n return bigMulTo(self, num, out);\n }\n\n BN.prototype.mulTo = function mulTo (num, out) {\n var res;\n var len = this.length + num.length;\n if (this.length === 10 && num.length === 10) {\n res = comb10MulTo(this, num, out);\n } else if (len < 63) {\n res = smallMulTo(this, num, out);\n } else if (len < 1024) {\n res = bigMulTo(this, num, out);\n } else {\n res = jumboMulTo(this, num, out);\n }\n\n return res;\n };\n\n // Cooley-Tukey algorithm for FFT\n // slightly revisited to rely on looping instead of recursion\n\n function FFTM (x, y) {\n this.x = x;\n this.y = y;\n }\n\n FFTM.prototype.makeRBT = function makeRBT (N) {\n var t = new Array(N);\n var l = BN.prototype._countBits(N) - 1;\n for (var i = 0; i < N; i++) {\n t[i] = this.revBin(i, l, N);\n }\n\n return t;\n };\n\n // Returns binary-reversed representation of `x`\n FFTM.prototype.revBin = function revBin (x, l, N) {\n if (x === 0 || x === N - 1) return x;\n\n var rb = 0;\n for (var i = 0; i < l; i++) {\n rb |= (x & 1) << (l - i - 1);\n x >>= 1;\n }\n\n return rb;\n };\n\n // Performs \"tweedling\" phase, therefore 'emulating'\n // behaviour of the recursive algorithm\n FFTM.prototype.permute = function permute (rbt, rws, iws, rtws, itws, N) {\n for (var i = 0; i < N; i++) {\n rtws[i] = rws[rbt[i]];\n itws[i] = iws[rbt[i]];\n }\n };\n\n FFTM.prototype.transform = function transform (rws, iws, rtws, itws, N, rbt) {\n this.permute(rbt, rws, iws, rtws, itws, N);\n\n for (var s = 1; s < N; s <<= 1) {\n var l = s << 1;\n\n var rtwdf = Math.cos(2 * Math.PI / l);\n var itwdf = Math.sin(2 * Math.PI / l);\n\n for (var p = 0; p < N; p += l) {\n var rtwdf_ = rtwdf;\n var itwdf_ = itwdf;\n\n for (var j = 0; j < s; j++) {\n var re = rtws[p + j];\n var ie = itws[p + j];\n\n var ro = rtws[p + j + s];\n var io = itws[p + j + s];\n\n var rx = rtwdf_ * ro - itwdf_ * io;\n\n io = rtwdf_ * io + itwdf_ * ro;\n ro = rx;\n\n rtws[p + j] = re + ro;\n itws[p + j] = ie + io;\n\n rtws[p + j + s] = re - ro;\n itws[p + j + s] = ie - io;\n\n /* jshint maxdepth : false */\n if (j !== l) {\n rx = rtwdf * rtwdf_ - itwdf * itwdf_;\n\n itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_;\n rtwdf_ = rx;\n }\n }\n }\n }\n };\n\n FFTM.prototype.guessLen13b = function guessLen13b (n, m) {\n var N = Math.max(m, n) | 1;\n var odd = N & 1;\n var i = 0;\n for (N = N / 2 | 0; N; N = N >>> 1) {\n i++;\n }\n\n return 1 << i + 1 + odd;\n };\n\n FFTM.prototype.conjugate = function conjugate (rws, iws, N) {\n if (N <= 1) return;\n\n for (var i = 0; i < N / 2; i++) {\n var t = rws[i];\n\n rws[i] = rws[N - i - 1];\n rws[N - i - 1] = t;\n\n t = iws[i];\n\n iws[i] = -iws[N - i - 1];\n iws[N - i - 1] = -t;\n }\n };\n\n FFTM.prototype.normalize13b = function normalize13b (ws, N) {\n var carry = 0;\n for (var i = 0; i < N / 2; i++) {\n var w = Math.round(ws[2 * i + 1] / N) * 0x2000 +\n Math.round(ws[2 * i] / N) +\n carry;\n\n ws[i] = w & 0x3ffffff;\n\n if (w < 0x4000000) {\n carry = 0;\n } else {\n carry = w / 0x4000000 | 0;\n }\n }\n\n return ws;\n };\n\n FFTM.prototype.convert13b = function convert13b (ws, len, rws, N) {\n var carry = 0;\n for (var i = 0; i < len; i++) {\n carry = carry + (ws[i] | 0);\n\n rws[2 * i] = carry & 0x1fff; carry = carry >>> 13;\n rws[2 * i + 1] = carry & 0x1fff; carry = carry >>> 13;\n }\n\n // Pad with zeroes\n for (i = 2 * len; i < N; ++i) {\n rws[i] = 0;\n }\n\n assert(carry === 0);\n assert((carry & ~0x1fff) === 0);\n };\n\n FFTM.prototype.stub = function stub (N) {\n var ph = new Array(N);\n for (var i = 0; i < N; i++) {\n ph[i] = 0;\n }\n\n return ph;\n };\n\n FFTM.prototype.mulp = function mulp (x, y, out) {\n var N = 2 * this.guessLen13b(x.length, y.length);\n\n var rbt = this.makeRBT(N);\n\n var _ = this.stub(N);\n\n var rws = new Array(N);\n var rwst = new Array(N);\n var iwst = new Array(N);\n\n var nrws = new Array(N);\n var nrwst = new Array(N);\n var niwst = new Array(N);\n\n var rmws = out.words;\n rmws.length = N;\n\n this.convert13b(x.words, x.length, rws, N);\n this.convert13b(y.words, y.length, nrws, N);\n\n this.transform(rws, _, rwst, iwst, N, rbt);\n this.transform(nrws, _, nrwst, niwst, N, rbt);\n\n for (var i = 0; i < N; i++) {\n var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i];\n iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i];\n rwst[i] = rx;\n }\n\n this.conjugate(rwst, iwst, N);\n this.transform(rwst, iwst, rmws, _, N, rbt);\n this.conjugate(rmws, _, N);\n this.normalize13b(rmws, N);\n\n out.negative = x.negative ^ y.negative;\n out.length = x.length + y.length;\n return out._strip();\n };\n\n // Multiply `this` by `num`\n BN.prototype.mul = function mul (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return this.mulTo(num, out);\n };\n\n // Multiply employing FFT\n BN.prototype.mulf = function mulf (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return jumboMulTo(this, num, out);\n };\n\n // In-place Multiplication\n BN.prototype.imul = function imul (num) {\n return this.clone().mulTo(num, this);\n };\n\n BN.prototype.imuln = function imuln (num) {\n var isNegNum = num < 0;\n if (isNegNum) num = -num;\n\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n\n // Carry\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = (this.words[i] | 0) * num;\n var lo = (w & 0x3ffffff) + (carry & 0x3ffffff);\n carry >>= 26;\n carry += (w / 0x4000000) | 0;\n // NOTE: lo is 27bit maximum\n carry += lo >>> 26;\n this.words[i] = lo & 0x3ffffff;\n }\n\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n this.length = num === 0 ? 1 : this.length;\n\n return isNegNum ? this.ineg() : this;\n };\n\n BN.prototype.muln = function muln (num) {\n return this.clone().imuln(num);\n };\n\n // `this` * `this`\n BN.prototype.sqr = function sqr () {\n return this.mul(this);\n };\n\n // `this` * `this` in-place\n BN.prototype.isqr = function isqr () {\n return this.imul(this.clone());\n };\n\n // Math.pow(`this`, `num`)\n BN.prototype.pow = function pow (num) {\n var w = toBitArray(num);\n if (w.length === 0) return new BN(1);\n\n // Skip leading zeroes\n var res = this;\n for (var i = 0; i < w.length; i++, res = res.sqr()) {\n if (w[i] !== 0) break;\n }\n\n if (++i < w.length) {\n for (var q = res.sqr(); i < w.length; i++, q = q.sqr()) {\n if (w[i] === 0) continue;\n\n res = res.mul(q);\n }\n }\n\n return res;\n };\n\n // Shift-left in-place\n BN.prototype.iushln = function iushln (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n var carryMask = (0x3ffffff >>> (26 - r)) << (26 - r);\n var i;\n\n if (r !== 0) {\n var carry = 0;\n\n for (i = 0; i < this.length; i++) {\n var newCarry = this.words[i] & carryMask;\n var c = ((this.words[i] | 0) - newCarry) << r;\n this.words[i] = c | carry;\n carry = newCarry >>> (26 - r);\n }\n\n if (carry) {\n this.words[i] = carry;\n this.length++;\n }\n }\n\n if (s !== 0) {\n for (i = this.length - 1; i >= 0; i--) {\n this.words[i + s] = this.words[i];\n }\n\n for (i = 0; i < s; i++) {\n this.words[i] = 0;\n }\n\n this.length += s;\n }\n\n return this._strip();\n };\n\n BN.prototype.ishln = function ishln (bits) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushln(bits);\n };\n\n // Shift-right in-place\n // NOTE: `hint` is a lowest bit before trailing zeroes\n // NOTE: if `extended` is present - it will be filled with destroyed bits\n BN.prototype.iushrn = function iushrn (bits, hint, extended) {\n assert(typeof bits === 'number' && bits >= 0);\n var h;\n if (hint) {\n h = (hint - (hint % 26)) / 26;\n } else {\n h = 0;\n }\n\n var r = bits % 26;\n var s = Math.min((bits - r) / 26, this.length);\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n var maskedWords = extended;\n\n h -= s;\n h = Math.max(0, h);\n\n // Extended mode, copy masked part\n if (maskedWords) {\n for (var i = 0; i < s; i++) {\n maskedWords.words[i] = this.words[i];\n }\n maskedWords.length = s;\n }\n\n if (s === 0) {\n // No-op, we should not move anything at all\n } else if (this.length > s) {\n this.length -= s;\n for (i = 0; i < this.length; i++) {\n this.words[i] = this.words[i + s];\n }\n } else {\n this.words[0] = 0;\n this.length = 1;\n }\n\n var carry = 0;\n for (i = this.length - 1; i >= 0 && (carry !== 0 || i >= h); i--) {\n var word = this.words[i] | 0;\n this.words[i] = (carry << (26 - r)) | (word >>> r);\n carry = word & mask;\n }\n\n // Push carried bits as a mask\n if (maskedWords && carry !== 0) {\n maskedWords.words[maskedWords.length++] = carry;\n }\n\n if (this.length === 0) {\n this.words[0] = 0;\n this.length = 1;\n }\n\n return this._strip();\n };\n\n BN.prototype.ishrn = function ishrn (bits, hint, extended) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushrn(bits, hint, extended);\n };\n\n // Shift-left\n BN.prototype.shln = function shln (bits) {\n return this.clone().ishln(bits);\n };\n\n BN.prototype.ushln = function ushln (bits) {\n return this.clone().iushln(bits);\n };\n\n // Shift-right\n BN.prototype.shrn = function shrn (bits) {\n return this.clone().ishrn(bits);\n };\n\n BN.prototype.ushrn = function ushrn (bits) {\n return this.clone().iushrn(bits);\n };\n\n // Test if n bit is set\n BN.prototype.testn = function testn (bit) {\n assert(typeof bit === 'number' && bit >= 0);\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) return false;\n\n // Check bit and return\n var w = this.words[s];\n\n return !!(w & q);\n };\n\n // Return only lowers bits of number (in-place)\n BN.prototype.imaskn = function imaskn (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n\n assert(this.negative === 0, 'imaskn works only with positive numbers');\n\n if (this.length <= s) {\n return this;\n }\n\n if (r !== 0) {\n s++;\n }\n this.length = Math.min(s, this.length);\n\n if (r !== 0) {\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n this.words[this.length - 1] &= mask;\n }\n\n return this._strip();\n };\n\n // Return only lowers bits of number\n BN.prototype.maskn = function maskn (bits) {\n return this.clone().imaskn(bits);\n };\n\n // Add plain number `num` to `this`\n BN.prototype.iaddn = function iaddn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.isubn(-num);\n\n // Possible sign change\n if (this.negative !== 0) {\n if (this.length === 1 && (this.words[0] | 0) <= num) {\n this.words[0] = num - (this.words[0] | 0);\n this.negative = 0;\n return this;\n }\n\n this.negative = 0;\n this.isubn(num);\n this.negative = 1;\n return this;\n }\n\n // Add without checks\n return this._iaddn(num);\n };\n\n BN.prototype._iaddn = function _iaddn (num) {\n this.words[0] += num;\n\n // Carry\n for (var i = 0; i < this.length && this.words[i] >= 0x4000000; i++) {\n this.words[i] -= 0x4000000;\n if (i === this.length - 1) {\n this.words[i + 1] = 1;\n } else {\n this.words[i + 1]++;\n }\n }\n this.length = Math.max(this.length, i + 1);\n\n return this;\n };\n\n // Subtract plain number `num` from `this`\n BN.prototype.isubn = function isubn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.iaddn(-num);\n\n if (this.negative !== 0) {\n this.negative = 0;\n this.iaddn(num);\n this.negative = 1;\n return this;\n }\n\n this.words[0] -= num;\n\n if (this.length === 1 && this.words[0] < 0) {\n this.words[0] = -this.words[0];\n this.negative = 1;\n } else {\n // Carry\n for (var i = 0; i < this.length && this.words[i] < 0; i++) {\n this.words[i] += 0x4000000;\n this.words[i + 1] -= 1;\n }\n }\n\n return this._strip();\n };\n\n BN.prototype.addn = function addn (num) {\n return this.clone().iaddn(num);\n };\n\n BN.prototype.subn = function subn (num) {\n return this.clone().isubn(num);\n };\n\n BN.prototype.iabs = function iabs () {\n this.negative = 0;\n\n return this;\n };\n\n BN.prototype.abs = function abs () {\n return this.clone().iabs();\n };\n\n BN.prototype._ishlnsubmul = function _ishlnsubmul (num, mul, shift) {\n var len = num.length + shift;\n var i;\n\n this._expand(len);\n\n var w;\n var carry = 0;\n for (i = 0; i < num.length; i++) {\n w = (this.words[i + shift] | 0) + carry;\n var right = (num.words[i] | 0) * mul;\n w -= right & 0x3ffffff;\n carry = (w >> 26) - ((right / 0x4000000) | 0);\n this.words[i + shift] = w & 0x3ffffff;\n }\n for (; i < this.length - shift; i++) {\n w = (this.words[i + shift] | 0) + carry;\n carry = w >> 26;\n this.words[i + shift] = w & 0x3ffffff;\n }\n\n if (carry === 0) return this._strip();\n\n // Subtraction overflow\n assert(carry === -1);\n carry = 0;\n for (i = 0; i < this.length; i++) {\n w = -(this.words[i] | 0) + carry;\n carry = w >> 26;\n this.words[i] = w & 0x3ffffff;\n }\n this.negative = 1;\n\n return this._strip();\n };\n\n BN.prototype._wordDiv = function _wordDiv (num, mode) {\n var shift = this.length - num.length;\n\n var a = this.clone();\n var b = num;\n\n // Normalize\n var bhi = b.words[b.length - 1] | 0;\n var bhiBits = this._countBits(bhi);\n shift = 26 - bhiBits;\n if (shift !== 0) {\n b = b.ushln(shift);\n a.iushln(shift);\n bhi = b.words[b.length - 1] | 0;\n }\n\n // Initialize quotient\n var m = a.length - b.length;\n var q;\n\n if (mode !== 'mod') {\n q = new BN(null);\n q.length = m + 1;\n q.words = new Array(q.length);\n for (var i = 0; i < q.length; i++) {\n q.words[i] = 0;\n }\n }\n\n var diff = a.clone()._ishlnsubmul(b, 1, m);\n if (diff.negative === 0) {\n a = diff;\n if (q) {\n q.words[m] = 1;\n }\n }\n\n for (var j = m - 1; j >= 0; j--) {\n var qj = (a.words[b.length + j] | 0) * 0x4000000 +\n (a.words[b.length + j - 1] | 0);\n\n // NOTE: (qj / bhi) is (0x3ffffff * 0x4000000 + 0x3ffffff) / 0x2000000 max\n // (0x7ffffff)\n qj = Math.min((qj / bhi) | 0, 0x3ffffff);\n\n a._ishlnsubmul(b, qj, j);\n while (a.negative !== 0) {\n qj--;\n a.negative = 0;\n a._ishlnsubmul(b, 1, j);\n if (!a.isZero()) {\n a.negative ^= 1;\n }\n }\n if (q) {\n q.words[j] = qj;\n }\n }\n if (q) {\n q._strip();\n }\n a._strip();\n\n // Denormalize\n if (mode !== 'div' && shift !== 0) {\n a.iushrn(shift);\n }\n\n return {\n div: q || null,\n mod: a\n };\n };\n\n // NOTE: 1) `mode` can be set to `mod` to request mod only,\n // to `div` to request div only, or be absent to\n // request both div & mod\n // 2) `positive` is true if unsigned mod is requested\n BN.prototype.divmod = function divmod (num, mode, positive) {\n assert(!num.isZero());\n\n if (this.isZero()) {\n return {\n div: new BN(0),\n mod: new BN(0)\n };\n }\n\n var div, mod, res;\n if (this.negative !== 0 && num.negative === 0) {\n res = this.neg().divmod(num, mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.iadd(num);\n }\n }\n\n return {\n div: div,\n mod: mod\n };\n }\n\n if (this.negative === 0 && num.negative !== 0) {\n res = this.divmod(num.neg(), mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n return {\n div: div,\n mod: res.mod\n };\n }\n\n if ((this.negative & num.negative) !== 0) {\n res = this.neg().divmod(num.neg(), mode);\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.isub(num);\n }\n }\n\n return {\n div: res.div,\n mod: mod\n };\n }\n\n // Both numbers are positive at this point\n\n // Strip both numbers to approximate shift value\n if (num.length > this.length || this.cmp(num) < 0) {\n return {\n div: new BN(0),\n mod: this\n };\n }\n\n // Very short reduction\n if (num.length === 1) {\n if (mode === 'div') {\n return {\n div: this.divn(num.words[0]),\n mod: null\n };\n }\n\n if (mode === 'mod') {\n return {\n div: null,\n mod: new BN(this.modrn(num.words[0]))\n };\n }\n\n return {\n div: this.divn(num.words[0]),\n mod: new BN(this.modrn(num.words[0]))\n };\n }\n\n return this._wordDiv(num, mode);\n };\n\n // Find `this` / `num`\n BN.prototype.div = function div (num) {\n return this.divmod(num, 'div', false).div;\n };\n\n // Find `this` % `num`\n BN.prototype.mod = function mod (num) {\n return this.divmod(num, 'mod', false).mod;\n };\n\n BN.prototype.umod = function umod (num) {\n return this.divmod(num, 'mod', true).mod;\n };\n\n // Find Round(`this` / `num`)\n BN.prototype.divRound = function divRound (num) {\n var dm = this.divmod(num);\n\n // Fast case - exact division\n if (dm.mod.isZero()) return dm.div;\n\n var mod = dm.div.negative !== 0 ? dm.mod.isub(num) : dm.mod;\n\n var half = num.ushrn(1);\n var r2 = num.andln(1);\n var cmp = mod.cmp(half);\n\n // Round down\n if (cmp < 0 || (r2 === 1 && cmp === 0)) return dm.div;\n\n // Round up\n return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1);\n };\n\n BN.prototype.modrn = function modrn (num) {\n var isNegNum = num < 0;\n if (isNegNum) num = -num;\n\n assert(num <= 0x3ffffff);\n var p = (1 << 26) % num;\n\n var acc = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n acc = (p * acc + (this.words[i] | 0)) % num;\n }\n\n return isNegNum ? -acc : acc;\n };\n\n // WARNING: DEPRECATED\n BN.prototype.modn = function modn (num) {\n return this.modrn(num);\n };\n\n // In-place division by number\n BN.prototype.idivn = function idivn (num) {\n var isNegNum = num < 0;\n if (isNegNum) num = -num;\n\n assert(num <= 0x3ffffff);\n\n var carry = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var w = (this.words[i] | 0) + carry * 0x4000000;\n this.words[i] = (w / num) | 0;\n carry = w % num;\n }\n\n this._strip();\n return isNegNum ? this.ineg() : this;\n };\n\n BN.prototype.divn = function divn (num) {\n return this.clone().idivn(num);\n };\n\n BN.prototype.egcd = function egcd (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var x = this;\n var y = p.clone();\n\n if (x.negative !== 0) {\n x = x.umod(p);\n } else {\n x = x.clone();\n }\n\n // A * x + B * y = x\n var A = new BN(1);\n var B = new BN(0);\n\n // C * x + D * y = y\n var C = new BN(0);\n var D = new BN(1);\n\n var g = 0;\n\n while (x.isEven() && y.isEven()) {\n x.iushrn(1);\n y.iushrn(1);\n ++g;\n }\n\n var yp = y.clone();\n var xp = x.clone();\n\n while (!x.isZero()) {\n for (var i = 0, im = 1; (x.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n x.iushrn(i);\n while (i-- > 0) {\n if (A.isOdd() || B.isOdd()) {\n A.iadd(yp);\n B.isub(xp);\n }\n\n A.iushrn(1);\n B.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n y.iushrn(j);\n while (j-- > 0) {\n if (C.isOdd() || D.isOdd()) {\n C.iadd(yp);\n D.isub(xp);\n }\n\n C.iushrn(1);\n D.iushrn(1);\n }\n }\n\n if (x.cmp(y) >= 0) {\n x.isub(y);\n A.isub(C);\n B.isub(D);\n } else {\n y.isub(x);\n C.isub(A);\n D.isub(B);\n }\n }\n\n return {\n a: C,\n b: D,\n gcd: y.iushln(g)\n };\n };\n\n // This is reduced incarnation of the binary EEA\n // above, designated to invert members of the\n // _prime_ fields F(p) at a maximal speed\n BN.prototype._invmp = function _invmp (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var a = this;\n var b = p.clone();\n\n if (a.negative !== 0) {\n a = a.umod(p);\n } else {\n a = a.clone();\n }\n\n var x1 = new BN(1);\n var x2 = new BN(0);\n\n var delta = b.clone();\n\n while (a.cmpn(1) > 0 && b.cmpn(1) > 0) {\n for (var i = 0, im = 1; (a.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n a.iushrn(i);\n while (i-- > 0) {\n if (x1.isOdd()) {\n x1.iadd(delta);\n }\n\n x1.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n b.iushrn(j);\n while (j-- > 0) {\n if (x2.isOdd()) {\n x2.iadd(delta);\n }\n\n x2.iushrn(1);\n }\n }\n\n if (a.cmp(b) >= 0) {\n a.isub(b);\n x1.isub(x2);\n } else {\n b.isub(a);\n x2.isub(x1);\n }\n }\n\n var res;\n if (a.cmpn(1) === 0) {\n res = x1;\n } else {\n res = x2;\n }\n\n if (res.cmpn(0) < 0) {\n res.iadd(p);\n }\n\n return res;\n };\n\n BN.prototype.gcd = function gcd (num) {\n if (this.isZero()) return num.abs();\n if (num.isZero()) return this.abs();\n\n var a = this.clone();\n var b = num.clone();\n a.negative = 0;\n b.negative = 0;\n\n // Remove common factor of two\n for (var shift = 0; a.isEven() && b.isEven(); shift++) {\n a.iushrn(1);\n b.iushrn(1);\n }\n\n do {\n while (a.isEven()) {\n a.iushrn(1);\n }\n while (b.isEven()) {\n b.iushrn(1);\n }\n\n var r = a.cmp(b);\n if (r < 0) {\n // Swap `a` and `b` to make `a` always bigger than `b`\n var t = a;\n a = b;\n b = t;\n } else if (r === 0 || b.cmpn(1) === 0) {\n break;\n }\n\n a.isub(b);\n } while (true);\n\n return b.iushln(shift);\n };\n\n // Invert number in the field F(num)\n BN.prototype.invm = function invm (num) {\n return this.egcd(num).a.umod(num);\n };\n\n BN.prototype.isEven = function isEven () {\n return (this.words[0] & 1) === 0;\n };\n\n BN.prototype.isOdd = function isOdd () {\n return (this.words[0] & 1) === 1;\n };\n\n // And first word and num\n BN.prototype.andln = function andln (num) {\n return this.words[0] & num;\n };\n\n // Increment at the bit position in-line\n BN.prototype.bincn = function bincn (bit) {\n assert(typeof bit === 'number');\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) {\n this._expand(s + 1);\n this.words[s] |= q;\n return this;\n }\n\n // Add bit and propagate, if needed\n var carry = q;\n for (var i = s; carry !== 0 && i < this.length; i++) {\n var w = this.words[i] | 0;\n w += carry;\n carry = w >>> 26;\n w &= 0x3ffffff;\n this.words[i] = w;\n }\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n return this;\n };\n\n BN.prototype.isZero = function isZero () {\n return this.length === 1 && this.words[0] === 0;\n };\n\n BN.prototype.cmpn = function cmpn (num) {\n var negative = num < 0;\n\n if (this.negative !== 0 && !negative) return -1;\n if (this.negative === 0 && negative) return 1;\n\n this._strip();\n\n var res;\n if (this.length > 1) {\n res = 1;\n } else {\n if (negative) {\n num = -num;\n }\n\n assert(num <= 0x3ffffff, 'Number is too big');\n\n var w = this.words[0] | 0;\n res = w === num ? 0 : w < num ? -1 : 1;\n }\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Compare two numbers and return:\n // 1 - if `this` > `num`\n // 0 - if `this` == `num`\n // -1 - if `this` < `num`\n BN.prototype.cmp = function cmp (num) {\n if (this.negative !== 0 && num.negative === 0) return -1;\n if (this.negative === 0 && num.negative !== 0) return 1;\n\n var res = this.ucmp(num);\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Unsigned comparison\n BN.prototype.ucmp = function ucmp (num) {\n // At this point both numbers have the same sign\n if (this.length > num.length) return 1;\n if (this.length < num.length) return -1;\n\n var res = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var a = this.words[i] | 0;\n var b = num.words[i] | 0;\n\n if (a === b) continue;\n if (a < b) {\n res = -1;\n } else if (a > b) {\n res = 1;\n }\n break;\n }\n return res;\n };\n\n BN.prototype.gtn = function gtn (num) {\n return this.cmpn(num) === 1;\n };\n\n BN.prototype.gt = function gt (num) {\n return this.cmp(num) === 1;\n };\n\n BN.prototype.gten = function gten (num) {\n return this.cmpn(num) >= 0;\n };\n\n BN.prototype.gte = function gte (num) {\n return this.cmp(num) >= 0;\n };\n\n BN.prototype.ltn = function ltn (num) {\n return this.cmpn(num) === -1;\n };\n\n BN.prototype.lt = function lt (num) {\n return this.cmp(num) === -1;\n };\n\n BN.prototype.lten = function lten (num) {\n return this.cmpn(num) <= 0;\n };\n\n BN.prototype.lte = function lte (num) {\n return this.cmp(num) <= 0;\n };\n\n BN.prototype.eqn = function eqn (num) {\n return this.cmpn(num) === 0;\n };\n\n BN.prototype.eq = function eq (num) {\n return this.cmp(num) === 0;\n };\n\n //\n // A reduce context, could be using montgomery or something better, depending\n // on the `m` itself.\n //\n BN.red = function red (num) {\n return new Red(num);\n };\n\n BN.prototype.toRed = function toRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n assert(this.negative === 0, 'red works only with positives');\n return ctx.convertTo(this)._forceRed(ctx);\n };\n\n BN.prototype.fromRed = function fromRed () {\n assert(this.red, 'fromRed works only with numbers in reduction context');\n return this.red.convertFrom(this);\n };\n\n BN.prototype._forceRed = function _forceRed (ctx) {\n this.red = ctx;\n return this;\n };\n\n BN.prototype.forceRed = function forceRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n return this._forceRed(ctx);\n };\n\n BN.prototype.redAdd = function redAdd (num) {\n assert(this.red, 'redAdd works only with red numbers');\n return this.red.add(this, num);\n };\n\n BN.prototype.redIAdd = function redIAdd (num) {\n assert(this.red, 'redIAdd works only with red numbers');\n return this.red.iadd(this, num);\n };\n\n BN.prototype.redSub = function redSub (num) {\n assert(this.red, 'redSub works only with red numbers');\n return this.red.sub(this, num);\n };\n\n BN.prototype.redISub = function redISub (num) {\n assert(this.red, 'redISub works only with red numbers');\n return this.red.isub(this, num);\n };\n\n BN.prototype.redShl = function redShl (num) {\n assert(this.red, 'redShl works only with red numbers');\n return this.red.shl(this, num);\n };\n\n BN.prototype.redMul = function redMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.mul(this, num);\n };\n\n BN.prototype.redIMul = function redIMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.imul(this, num);\n };\n\n BN.prototype.redSqr = function redSqr () {\n assert(this.red, 'redSqr works only with red numbers');\n this.red._verify1(this);\n return this.red.sqr(this);\n };\n\n BN.prototype.redISqr = function redISqr () {\n assert(this.red, 'redISqr works only with red numbers');\n this.red._verify1(this);\n return this.red.isqr(this);\n };\n\n // Square root over p\n BN.prototype.redSqrt = function redSqrt () {\n assert(this.red, 'redSqrt works only with red numbers');\n this.red._verify1(this);\n return this.red.sqrt(this);\n };\n\n BN.prototype.redInvm = function redInvm () {\n assert(this.red, 'redInvm works only with red numbers');\n this.red._verify1(this);\n return this.red.invm(this);\n };\n\n // Return negative clone of `this` % `red modulo`\n BN.prototype.redNeg = function redNeg () {\n assert(this.red, 'redNeg works only with red numbers');\n this.red._verify1(this);\n return this.red.neg(this);\n };\n\n BN.prototype.redPow = function redPow (num) {\n assert(this.red && !num.red, 'redPow(normalNum)');\n this.red._verify1(this);\n return this.red.pow(this, num);\n };\n\n // Prime numbers with efficient reduction\n var primes = {\n k256: null,\n p224: null,\n p192: null,\n p25519: null\n };\n\n // Pseudo-Mersenne prime\n function MPrime (name, p) {\n // P = 2 ^ N - K\n this.name = name;\n this.p = new BN(p, 16);\n this.n = this.p.bitLength();\n this.k = new BN(1).iushln(this.n).isub(this.p);\n\n this.tmp = this._tmp();\n }\n\n MPrime.prototype._tmp = function _tmp () {\n var tmp = new BN(null);\n tmp.words = new Array(Math.ceil(this.n / 13));\n return tmp;\n };\n\n MPrime.prototype.ireduce = function ireduce (num) {\n // Assumes that `num` is less than `P^2`\n // num = HI * (2 ^ N - K) + HI * K + LO = HI * K + LO (mod P)\n var r = num;\n var rlen;\n\n do {\n this.split(r, this.tmp);\n r = this.imulK(r);\n r = r.iadd(this.tmp);\n rlen = r.bitLength();\n } while (rlen > this.n);\n\n var cmp = rlen < this.n ? -1 : r.ucmp(this.p);\n if (cmp === 0) {\n r.words[0] = 0;\n r.length = 1;\n } else if (cmp > 0) {\n r.isub(this.p);\n } else {\n if (r.strip !== undefined) {\n // r is a BN v4 instance\n r.strip();\n } else {\n // r is a BN v5 instance\n r._strip();\n }\n }\n\n return r;\n };\n\n MPrime.prototype.split = function split (input, out) {\n input.iushrn(this.n, 0, out);\n };\n\n MPrime.prototype.imulK = function imulK (num) {\n return num.imul(this.k);\n };\n\n function K256 () {\n MPrime.call(\n this,\n 'k256',\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f');\n }\n inherits(K256, MPrime);\n\n K256.prototype.split = function split (input, output) {\n // 256 = 9 * 26 + 22\n var mask = 0x3fffff;\n\n var outLen = Math.min(input.length, 9);\n for (var i = 0; i < outLen; i++) {\n output.words[i] = input.words[i];\n }\n output.length = outLen;\n\n if (input.length <= 9) {\n input.words[0] = 0;\n input.length = 1;\n return;\n }\n\n // Shift by 9 limbs\n var prev = input.words[9];\n output.words[output.length++] = prev & mask;\n\n for (i = 10; i < input.length; i++) {\n var next = input.words[i] | 0;\n input.words[i - 10] = ((next & mask) << 4) | (prev >>> 22);\n prev = next;\n }\n prev >>>= 22;\n input.words[i - 10] = prev;\n if (prev === 0 && input.length > 10) {\n input.length -= 10;\n } else {\n input.length -= 9;\n }\n };\n\n K256.prototype.imulK = function imulK (num) {\n // K = 0x1000003d1 = [ 0x40, 0x3d1 ]\n num.words[num.length] = 0;\n num.words[num.length + 1] = 0;\n num.length += 2;\n\n // bounded at: 0x40 * 0x3ffffff + 0x3d0 = 0x100000390\n var lo = 0;\n for (var i = 0; i < num.length; i++) {\n var w = num.words[i] | 0;\n lo += w * 0x3d1;\n num.words[i] = lo & 0x3ffffff;\n lo = w * 0x40 + ((lo / 0x4000000) | 0);\n }\n\n // Fast length reduction\n if (num.words[num.length - 1] === 0) {\n num.length--;\n if (num.words[num.length - 1] === 0) {\n num.length--;\n }\n }\n return num;\n };\n\n function P224 () {\n MPrime.call(\n this,\n 'p224',\n 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001');\n }\n inherits(P224, MPrime);\n\n function P192 () {\n MPrime.call(\n this,\n 'p192',\n 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff');\n }\n inherits(P192, MPrime);\n\n function P25519 () {\n // 2 ^ 255 - 19\n MPrime.call(\n this,\n '25519',\n '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed');\n }\n inherits(P25519, MPrime);\n\n P25519.prototype.imulK = function imulK (num) {\n // K = 0x13\n var carry = 0;\n for (var i = 0; i < num.length; i++) {\n var hi = (num.words[i] | 0) * 0x13 + carry;\n var lo = hi & 0x3ffffff;\n hi >>>= 26;\n\n num.words[i] = lo;\n carry = hi;\n }\n if (carry !== 0) {\n num.words[num.length++] = carry;\n }\n return num;\n };\n\n // Exported mostly for testing purposes, use plain name instead\n BN._prime = function prime (name) {\n // Cached version of prime\n if (primes[name]) return primes[name];\n\n var prime;\n if (name === 'k256') {\n prime = new K256();\n } else if (name === 'p224') {\n prime = new P224();\n } else if (name === 'p192') {\n prime = new P192();\n } else if (name === 'p25519') {\n prime = new P25519();\n } else {\n throw new Error('Unknown prime ' + name);\n }\n primes[name] = prime;\n\n return prime;\n };\n\n //\n // Base reduction engine\n //\n function Red (m) {\n if (typeof m === 'string') {\n var prime = BN._prime(m);\n this.m = prime.p;\n this.prime = prime;\n } else {\n assert(m.gtn(1), 'modulus must be greater than 1');\n this.m = m;\n this.prime = null;\n }\n }\n\n Red.prototype._verify1 = function _verify1 (a) {\n assert(a.negative === 0, 'red works only with positives');\n assert(a.red, 'red works only with red numbers');\n };\n\n Red.prototype._verify2 = function _verify2 (a, b) {\n assert((a.negative | b.negative) === 0, 'red works only with positives');\n assert(a.red && a.red === b.red,\n 'red works only with red numbers');\n };\n\n Red.prototype.imod = function imod (a) {\n if (this.prime) return this.prime.ireduce(a)._forceRed(this);\n\n move(a, a.umod(this.m)._forceRed(this));\n return a;\n };\n\n Red.prototype.neg = function neg (a) {\n if (a.isZero()) {\n return a.clone();\n }\n\n return this.m.sub(a)._forceRed(this);\n };\n\n Red.prototype.add = function add (a, b) {\n this._verify2(a, b);\n\n var res = a.add(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.iadd = function iadd (a, b) {\n this._verify2(a, b);\n\n var res = a.iadd(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res;\n };\n\n Red.prototype.sub = function sub (a, b) {\n this._verify2(a, b);\n\n var res = a.sub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.isub = function isub (a, b) {\n this._verify2(a, b);\n\n var res = a.isub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res;\n };\n\n Red.prototype.shl = function shl (a, num) {\n this._verify1(a);\n return this.imod(a.ushln(num));\n };\n\n Red.prototype.imul = function imul (a, b) {\n this._verify2(a, b);\n return this.imod(a.imul(b));\n };\n\n Red.prototype.mul = function mul (a, b) {\n this._verify2(a, b);\n return this.imod(a.mul(b));\n };\n\n Red.prototype.isqr = function isqr (a) {\n return this.imul(a, a.clone());\n };\n\n Red.prototype.sqr = function sqr (a) {\n return this.mul(a, a);\n };\n\n Red.prototype.sqrt = function sqrt (a) {\n if (a.isZero()) return a.clone();\n\n var mod3 = this.m.andln(3);\n assert(mod3 % 2 === 1);\n\n // Fast case\n if (mod3 === 3) {\n var pow = this.m.add(new BN(1)).iushrn(2);\n return this.pow(a, pow);\n }\n\n // Tonelli-Shanks algorithm (Totally unoptimized and slow)\n //\n // Find Q and S, that Q * 2 ^ S = (P - 1)\n var q = this.m.subn(1);\n var s = 0;\n while (!q.isZero() && q.andln(1) === 0) {\n s++;\n q.iushrn(1);\n }\n assert(!q.isZero());\n\n var one = new BN(1).toRed(this);\n var nOne = one.redNeg();\n\n // Find quadratic non-residue\n // NOTE: Max is such because of generalized Riemann hypothesis.\n var lpow = this.m.subn(1).iushrn(1);\n var z = this.m.bitLength();\n z = new BN(2 * z * z).toRed(this);\n\n while (this.pow(z, lpow).cmp(nOne) !== 0) {\n z.redIAdd(nOne);\n }\n\n var c = this.pow(z, q);\n var r = this.pow(a, q.addn(1).iushrn(1));\n var t = this.pow(a, q);\n var m = s;\n while (t.cmp(one) !== 0) {\n var tmp = t;\n for (var i = 0; tmp.cmp(one) !== 0; i++) {\n tmp = tmp.redSqr();\n }\n assert(i < m);\n var b = this.pow(c, new BN(1).iushln(m - i - 1));\n\n r = r.redMul(b);\n c = b.redSqr();\n t = t.redMul(c);\n m = i;\n }\n\n return r;\n };\n\n Red.prototype.invm = function invm (a) {\n var inv = a._invmp(this.m);\n if (inv.negative !== 0) {\n inv.negative = 0;\n return this.imod(inv).redNeg();\n } else {\n return this.imod(inv);\n }\n };\n\n Red.prototype.pow = function pow (a, num) {\n if (num.isZero()) return new BN(1).toRed(this);\n if (num.cmpn(1) === 0) return a.clone();\n\n var windowSize = 4;\n var wnd = new Array(1 << windowSize);\n wnd[0] = new BN(1).toRed(this);\n wnd[1] = a;\n for (var i = 2; i < wnd.length; i++) {\n wnd[i] = this.mul(wnd[i - 1], a);\n }\n\n var res = wnd[0];\n var current = 0;\n var currentLen = 0;\n var start = num.bitLength() % 26;\n if (start === 0) {\n start = 26;\n }\n\n for (i = num.length - 1; i >= 0; i--) {\n var word = num.words[i];\n for (var j = start - 1; j >= 0; j--) {\n var bit = (word >> j) & 1;\n if (res !== wnd[0]) {\n res = this.sqr(res);\n }\n\n if (bit === 0 && current === 0) {\n currentLen = 0;\n continue;\n }\n\n current <<= 1;\n current |= bit;\n currentLen++;\n if (currentLen !== windowSize && (i !== 0 || j !== 0)) continue;\n\n res = this.mul(res, wnd[current]);\n currentLen = 0;\n current = 0;\n }\n start = 26;\n }\n\n return res;\n };\n\n Red.prototype.convertTo = function convertTo (num) {\n var r = num.umod(this.m);\n\n return r === num ? r.clone() : r;\n };\n\n Red.prototype.convertFrom = function convertFrom (num) {\n var res = num.clone();\n res.red = null;\n return res;\n };\n\n //\n // Montgomery method engine\n //\n\n BN.mont = function mont (num) {\n return new Mont(num);\n };\n\n function Mont (m) {\n Red.call(this, m);\n\n this.shift = this.m.bitLength();\n if (this.shift % 26 !== 0) {\n this.shift += 26 - (this.shift % 26);\n }\n\n this.r = new BN(1).iushln(this.shift);\n this.r2 = this.imod(this.r.sqr());\n this.rinv = this.r._invmp(this.m);\n\n this.minv = this.rinv.mul(this.r).isubn(1).div(this.m);\n this.minv = this.minv.umod(this.r);\n this.minv = this.r.sub(this.minv);\n }\n inherits(Mont, Red);\n\n Mont.prototype.convertTo = function convertTo (num) {\n return this.imod(num.ushln(this.shift));\n };\n\n Mont.prototype.convertFrom = function convertFrom (num) {\n var r = this.imod(num.mul(this.rinv));\n r.red = null;\n return r;\n };\n\n Mont.prototype.imul = function imul (a, b) {\n if (a.isZero() || b.isZero()) {\n a.words[0] = 0;\n a.length = 1;\n return a;\n }\n\n var t = a.imul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.mul = function mul (a, b) {\n if (a.isZero() || b.isZero()) return new BN(0)._forceRed(this);\n\n var t = a.mul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.invm = function invm (a) {\n // (AR)^-1 * R^2 = (A^-1 * R^-1) * R^2 = A^-1 * R\n var res = this.imod(a._invmp(this.m).mul(this.r2));\n return res._forceRed(this);\n };\n})(typeof module === 'undefined' || module, this);\n","var r;\n\nmodule.exports = function rand(len) {\n if (!r)\n r = new Rand(null);\n\n return r.generate(len);\n};\n\nfunction Rand(rand) {\n this.rand = rand;\n}\nmodule.exports.Rand = Rand;\n\nRand.prototype.generate = function generate(len) {\n return this._rand(len);\n};\n\n// Emulate crypto API using randy\nRand.prototype._rand = function _rand(n) {\n if (this.rand.getBytes)\n return this.rand.getBytes(n);\n\n var res = new Uint8Array(n);\n for (var i = 0; i < res.length; i++)\n res[i] = this.rand.getByte();\n return res;\n};\n\nif (typeof self === 'object') {\n if (self.crypto && self.crypto.getRandomValues) {\n // Modern browsers\n Rand.prototype._rand = function _rand(n) {\n var arr = new Uint8Array(n);\n self.crypto.getRandomValues(arr);\n return arr;\n };\n } else if (self.msCrypto && self.msCrypto.getRandomValues) {\n // IE\n Rand.prototype._rand = function _rand(n) {\n var arr = new Uint8Array(n);\n self.msCrypto.getRandomValues(arr);\n return arr;\n };\n\n // Safari's WebWorkers do not have `crypto`\n } else if (typeof window === 'object') {\n // Old junk\n Rand.prototype._rand = function() {\n throw new Error('Not implemented yet');\n };\n }\n} else {\n // Node.js or Web worker with no crypto support\n try {\n var crypto = require('crypto');\n if (typeof crypto.randomBytes !== 'function')\n throw new Error('Not supported');\n\n Rand.prototype._rand = function _rand(n) {\n return crypto.randomBytes(n);\n };\n } catch (e) {\n }\n}\n","// based on the aes implimentation in triple sec\n// https://github.com/keybase/triplesec\n// which is in turn based on the one from crypto-js\n// https://code.google.com/p/crypto-js/\n\nvar Buffer = require('safe-buffer').Buffer\n\nfunction asUInt32Array (buf) {\n if (!Buffer.isBuffer(buf)) buf = Buffer.from(buf)\n\n var len = (buf.length / 4) | 0\n var out = new Array(len)\n\n for (var i = 0; i < len; i++) {\n out[i] = buf.readUInt32BE(i * 4)\n }\n\n return out\n}\n\nfunction scrubVec (v) {\n for (var i = 0; i < v.length; v++) {\n v[i] = 0\n }\n}\n\nfunction cryptBlock (M, keySchedule, SUB_MIX, SBOX, nRounds) {\n var SUB_MIX0 = SUB_MIX[0]\n var SUB_MIX1 = SUB_MIX[1]\n var SUB_MIX2 = SUB_MIX[2]\n var SUB_MIX3 = SUB_MIX[3]\n\n var s0 = M[0] ^ keySchedule[0]\n var s1 = M[1] ^ keySchedule[1]\n var s2 = M[2] ^ keySchedule[2]\n var s3 = M[3] ^ keySchedule[3]\n var t0, t1, t2, t3\n var ksRow = 4\n\n for (var round = 1; round < nRounds; round++) {\n t0 = SUB_MIX0[s0 >>> 24] ^ SUB_MIX1[(s1 >>> 16) & 0xff] ^ SUB_MIX2[(s2 >>> 8) & 0xff] ^ SUB_MIX3[s3 & 0xff] ^ keySchedule[ksRow++]\n t1 = SUB_MIX0[s1 >>> 24] ^ SUB_MIX1[(s2 >>> 16) & 0xff] ^ SUB_MIX2[(s3 >>> 8) & 0xff] ^ SUB_MIX3[s0 & 0xff] ^ keySchedule[ksRow++]\n t2 = SUB_MIX0[s2 >>> 24] ^ SUB_MIX1[(s3 >>> 16) & 0xff] ^ SUB_MIX2[(s0 >>> 8) & 0xff] ^ SUB_MIX3[s1 & 0xff] ^ keySchedule[ksRow++]\n t3 = SUB_MIX0[s3 >>> 24] ^ SUB_MIX1[(s0 >>> 16) & 0xff] ^ SUB_MIX2[(s1 >>> 8) & 0xff] ^ SUB_MIX3[s2 & 0xff] ^ keySchedule[ksRow++]\n s0 = t0\n s1 = t1\n s2 = t2\n s3 = t3\n }\n\n t0 = ((SBOX[s0 >>> 24] << 24) | (SBOX[(s1 >>> 16) & 0xff] << 16) | (SBOX[(s2 >>> 8) & 0xff] << 8) | SBOX[s3 & 0xff]) ^ keySchedule[ksRow++]\n t1 = ((SBOX[s1 >>> 24] << 24) | (SBOX[(s2 >>> 16) & 0xff] << 16) | (SBOX[(s3 >>> 8) & 0xff] << 8) | SBOX[s0 & 0xff]) ^ keySchedule[ksRow++]\n t2 = ((SBOX[s2 >>> 24] << 24) | (SBOX[(s3 >>> 16) & 0xff] << 16) | (SBOX[(s0 >>> 8) & 0xff] << 8) | SBOX[s1 & 0xff]) ^ keySchedule[ksRow++]\n t3 = ((SBOX[s3 >>> 24] << 24) | (SBOX[(s0 >>> 16) & 0xff] << 16) | (SBOX[(s1 >>> 8) & 0xff] << 8) | SBOX[s2 & 0xff]) ^ keySchedule[ksRow++]\n t0 = t0 >>> 0\n t1 = t1 >>> 0\n t2 = t2 >>> 0\n t3 = t3 >>> 0\n\n return [t0, t1, t2, t3]\n}\n\n// AES constants\nvar RCON = [0x00, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36]\nvar G = (function () {\n // Compute double table\n var d = new Array(256)\n for (var j = 0; j < 256; j++) {\n if (j < 128) {\n d[j] = j << 1\n } else {\n d[j] = (j << 1) ^ 0x11b\n }\n }\n\n var SBOX = []\n var INV_SBOX = []\n var SUB_MIX = [[], [], [], []]\n var INV_SUB_MIX = [[], [], [], []]\n\n // Walk GF(2^8)\n var x = 0\n var xi = 0\n for (var i = 0; i < 256; ++i) {\n // Compute sbox\n var sx = xi ^ (xi << 1) ^ (xi << 2) ^ (xi << 3) ^ (xi << 4)\n sx = (sx >>> 8) ^ (sx & 0xff) ^ 0x63\n SBOX[x] = sx\n INV_SBOX[sx] = x\n\n // Compute multiplication\n var x2 = d[x]\n var x4 = d[x2]\n var x8 = d[x4]\n\n // Compute sub bytes, mix columns tables\n var t = (d[sx] * 0x101) ^ (sx * 0x1010100)\n SUB_MIX[0][x] = (t << 24) | (t >>> 8)\n SUB_MIX[1][x] = (t << 16) | (t >>> 16)\n SUB_MIX[2][x] = (t << 8) | (t >>> 24)\n SUB_MIX[3][x] = t\n\n // Compute inv sub bytes, inv mix columns tables\n t = (x8 * 0x1010101) ^ (x4 * 0x10001) ^ (x2 * 0x101) ^ (x * 0x1010100)\n INV_SUB_MIX[0][sx] = (t << 24) | (t >>> 8)\n INV_SUB_MIX[1][sx] = (t << 16) | (t >>> 16)\n INV_SUB_MIX[2][sx] = (t << 8) | (t >>> 24)\n INV_SUB_MIX[3][sx] = t\n\n if (x === 0) {\n x = xi = 1\n } else {\n x = x2 ^ d[d[d[x8 ^ x2]]]\n xi ^= d[d[xi]]\n }\n }\n\n return {\n SBOX: SBOX,\n INV_SBOX: INV_SBOX,\n SUB_MIX: SUB_MIX,\n INV_SUB_MIX: INV_SUB_MIX\n }\n})()\n\nfunction AES (key) {\n this._key = asUInt32Array(key)\n this._reset()\n}\n\nAES.blockSize = 4 * 4\nAES.keySize = 256 / 8\nAES.prototype.blockSize = AES.blockSize\nAES.prototype.keySize = AES.keySize\nAES.prototype._reset = function () {\n var keyWords = this._key\n var keySize = keyWords.length\n var nRounds = keySize + 6\n var ksRows = (nRounds + 1) * 4\n\n var keySchedule = []\n for (var k = 0; k < keySize; k++) {\n keySchedule[k] = keyWords[k]\n }\n\n for (k = keySize; k < ksRows; k++) {\n var t = keySchedule[k - 1]\n\n if (k % keySize === 0) {\n t = (t << 8) | (t >>> 24)\n t =\n (G.SBOX[t >>> 24] << 24) |\n (G.SBOX[(t >>> 16) & 0xff] << 16) |\n (G.SBOX[(t >>> 8) & 0xff] << 8) |\n (G.SBOX[t & 0xff])\n\n t ^= RCON[(k / keySize) | 0] << 24\n } else if (keySize > 6 && k % keySize === 4) {\n t =\n (G.SBOX[t >>> 24] << 24) |\n (G.SBOX[(t >>> 16) & 0xff] << 16) |\n (G.SBOX[(t >>> 8) & 0xff] << 8) |\n (G.SBOX[t & 0xff])\n }\n\n keySchedule[k] = keySchedule[k - keySize] ^ t\n }\n\n var invKeySchedule = []\n for (var ik = 0; ik < ksRows; ik++) {\n var ksR = ksRows - ik\n var tt = keySchedule[ksR - (ik % 4 ? 0 : 4)]\n\n if (ik < 4 || ksR <= 4) {\n invKeySchedule[ik] = tt\n } else {\n invKeySchedule[ik] =\n G.INV_SUB_MIX[0][G.SBOX[tt >>> 24]] ^\n G.INV_SUB_MIX[1][G.SBOX[(tt >>> 16) & 0xff]] ^\n G.INV_SUB_MIX[2][G.SBOX[(tt >>> 8) & 0xff]] ^\n G.INV_SUB_MIX[3][G.SBOX[tt & 0xff]]\n }\n }\n\n this._nRounds = nRounds\n this._keySchedule = keySchedule\n this._invKeySchedule = invKeySchedule\n}\n\nAES.prototype.encryptBlockRaw = function (M) {\n M = asUInt32Array(M)\n return cryptBlock(M, this._keySchedule, G.SUB_MIX, G.SBOX, this._nRounds)\n}\n\nAES.prototype.encryptBlock = function (M) {\n var out = this.encryptBlockRaw(M)\n var buf = Buffer.allocUnsafe(16)\n buf.writeUInt32BE(out[0], 0)\n buf.writeUInt32BE(out[1], 4)\n buf.writeUInt32BE(out[2], 8)\n buf.writeUInt32BE(out[3], 12)\n return buf\n}\n\nAES.prototype.decryptBlock = function (M) {\n M = asUInt32Array(M)\n\n // swap\n var m1 = M[1]\n M[1] = M[3]\n M[3] = m1\n\n var out = cryptBlock(M, this._invKeySchedule, G.INV_SUB_MIX, G.INV_SBOX, this._nRounds)\n var buf = Buffer.allocUnsafe(16)\n buf.writeUInt32BE(out[0], 0)\n buf.writeUInt32BE(out[3], 4)\n buf.writeUInt32BE(out[2], 8)\n buf.writeUInt32BE(out[1], 12)\n return buf\n}\n\nAES.prototype.scrub = function () {\n scrubVec(this._keySchedule)\n scrubVec(this._invKeySchedule)\n scrubVec(this._key)\n}\n\nmodule.exports.AES = AES\n","var aes = require('./aes')\nvar Buffer = require('safe-buffer').Buffer\nvar Transform = require('cipher-base')\nvar inherits = require('inherits')\nvar GHASH = require('./ghash')\nvar xor = require('buffer-xor')\nvar incr32 = require('./incr32')\n\nfunction xorTest (a, b) {\n var out = 0\n if (a.length !== b.length) out++\n\n var len = Math.min(a.length, b.length)\n for (var i = 0; i < len; ++i) {\n out += (a[i] ^ b[i])\n }\n\n return out\n}\n\nfunction calcIv (self, iv, ck) {\n if (iv.length === 12) {\n self._finID = Buffer.concat([iv, Buffer.from([0, 0, 0, 1])])\n return Buffer.concat([iv, Buffer.from([0, 0, 0, 2])])\n }\n var ghash = new GHASH(ck)\n var len = iv.length\n var toPad = len % 16\n ghash.update(iv)\n if (toPad) {\n toPad = 16 - toPad\n ghash.update(Buffer.alloc(toPad, 0))\n }\n ghash.update(Buffer.alloc(8, 0))\n var ivBits = len * 8\n var tail = Buffer.alloc(8)\n tail.writeUIntBE(ivBits, 0, 8)\n ghash.update(tail)\n self._finID = ghash.state\n var out = Buffer.from(self._finID)\n incr32(out)\n return out\n}\nfunction StreamCipher (mode, key, iv, decrypt) {\n Transform.call(this)\n\n var h = Buffer.alloc(4, 0)\n\n this._cipher = new aes.AES(key)\n var ck = this._cipher.encryptBlock(h)\n this._ghash = new GHASH(ck)\n iv = calcIv(this, iv, ck)\n\n this._prev = Buffer.from(iv)\n this._cache = Buffer.allocUnsafe(0)\n this._secCache = Buffer.allocUnsafe(0)\n this._decrypt = decrypt\n this._alen = 0\n this._len = 0\n this._mode = mode\n\n this._authTag = null\n this._called = false\n}\n\ninherits(StreamCipher, Transform)\n\nStreamCipher.prototype._update = function (chunk) {\n if (!this._called && this._alen) {\n var rump = 16 - (this._alen % 16)\n if (rump < 16) {\n rump = Buffer.alloc(rump, 0)\n this._ghash.update(rump)\n }\n }\n\n this._called = true\n var out = this._mode.encrypt(this, chunk)\n if (this._decrypt) {\n this._ghash.update(chunk)\n } else {\n this._ghash.update(out)\n }\n this._len += chunk.length\n return out\n}\n\nStreamCipher.prototype._final = function () {\n if (this._decrypt && !this._authTag) throw new Error('Unsupported state or unable to authenticate data')\n\n var tag = xor(this._ghash.final(this._alen * 8, this._len * 8), this._cipher.encryptBlock(this._finID))\n if (this._decrypt && xorTest(tag, this._authTag)) throw new Error('Unsupported state or unable to authenticate data')\n\n this._authTag = tag\n this._cipher.scrub()\n}\n\nStreamCipher.prototype.getAuthTag = function getAuthTag () {\n if (this._decrypt || !Buffer.isBuffer(this._authTag)) throw new Error('Attempting to get auth tag in unsupported state')\n\n return this._authTag\n}\n\nStreamCipher.prototype.setAuthTag = function setAuthTag (tag) {\n if (!this._decrypt) throw new Error('Attempting to set auth tag in unsupported state')\n\n this._authTag = tag\n}\n\nStreamCipher.prototype.setAAD = function setAAD (buf) {\n if (this._called) throw new Error('Attempting to set AAD in unsupported state')\n\n this._ghash.update(buf)\n this._alen += buf.length\n}\n\nmodule.exports = StreamCipher\n","var ciphers = require('./encrypter')\nvar deciphers = require('./decrypter')\nvar modes = require('./modes/list.json')\n\nfunction getCiphers () {\n return Object.keys(modes)\n}\n\nexports.createCipher = exports.Cipher = ciphers.createCipher\nexports.createCipheriv = exports.Cipheriv = ciphers.createCipheriv\nexports.createDecipher = exports.Decipher = deciphers.createDecipher\nexports.createDecipheriv = exports.Decipheriv = deciphers.createDecipheriv\nexports.listCiphers = exports.getCiphers = getCiphers\n","var AuthCipher = require('./authCipher')\nvar Buffer = require('safe-buffer').Buffer\nvar MODES = require('./modes')\nvar StreamCipher = require('./streamCipher')\nvar Transform = require('cipher-base')\nvar aes = require('./aes')\nvar ebtk = require('evp_bytestokey')\nvar inherits = require('inherits')\n\nfunction Decipher (mode, key, iv) {\n Transform.call(this)\n\n this._cache = new Splitter()\n this._last = void 0\n this._cipher = new aes.AES(key)\n this._prev = Buffer.from(iv)\n this._mode = mode\n this._autopadding = true\n}\n\ninherits(Decipher, Transform)\n\nDecipher.prototype._update = function (data) {\n this._cache.add(data)\n var chunk\n var thing\n var out = []\n while ((chunk = this._cache.get(this._autopadding))) {\n thing = this._mode.decrypt(this, chunk)\n out.push(thing)\n }\n return Buffer.concat(out)\n}\n\nDecipher.prototype._final = function () {\n var chunk = this._cache.flush()\n if (this._autopadding) {\n return unpad(this._mode.decrypt(this, chunk))\n } else if (chunk) {\n throw new Error('data not multiple of block length')\n }\n}\n\nDecipher.prototype.setAutoPadding = function (setTo) {\n this._autopadding = !!setTo\n return this\n}\n\nfunction Splitter () {\n this.cache = Buffer.allocUnsafe(0)\n}\n\nSplitter.prototype.add = function (data) {\n this.cache = Buffer.concat([this.cache, data])\n}\n\nSplitter.prototype.get = function (autoPadding) {\n var out\n if (autoPadding) {\n if (this.cache.length > 16) {\n out = this.cache.slice(0, 16)\n this.cache = this.cache.slice(16)\n return out\n }\n } else {\n if (this.cache.length >= 16) {\n out = this.cache.slice(0, 16)\n this.cache = this.cache.slice(16)\n return out\n }\n }\n\n return null\n}\n\nSplitter.prototype.flush = function () {\n if (this.cache.length) return this.cache\n}\n\nfunction unpad (last) {\n var padded = last[15]\n if (padded < 1 || padded > 16) {\n throw new Error('unable to decrypt data')\n }\n var i = -1\n while (++i < padded) {\n if (last[(i + (16 - padded))] !== padded) {\n throw new Error('unable to decrypt data')\n }\n }\n if (padded === 16) return\n\n return last.slice(0, 16 - padded)\n}\n\nfunction createDecipheriv (suite, password, iv) {\n var config = MODES[suite.toLowerCase()]\n if (!config) throw new TypeError('invalid suite type')\n\n if (typeof iv === 'string') iv = Buffer.from(iv)\n if (config.mode !== 'GCM' && iv.length !== config.iv) throw new TypeError('invalid iv length ' + iv.length)\n\n if (typeof password === 'string') password = Buffer.from(password)\n if (password.length !== config.key / 8) throw new TypeError('invalid key length ' + password.length)\n\n if (config.type === 'stream') {\n return new StreamCipher(config.module, password, iv, true)\n } else if (config.type === 'auth') {\n return new AuthCipher(config.module, password, iv, true)\n }\n\n return new Decipher(config.module, password, iv)\n}\n\nfunction createDecipher (suite, password) {\n var config = MODES[suite.toLowerCase()]\n if (!config) throw new TypeError('invalid suite type')\n\n var keys = ebtk(password, false, config.key, config.iv)\n return createDecipheriv(suite, keys.key, keys.iv)\n}\n\nexports.createDecipher = createDecipher\nexports.createDecipheriv = createDecipheriv\n","var MODES = require('./modes')\nvar AuthCipher = require('./authCipher')\nvar Buffer = require('safe-buffer').Buffer\nvar StreamCipher = require('./streamCipher')\nvar Transform = require('cipher-base')\nvar aes = require('./aes')\nvar ebtk = require('evp_bytestokey')\nvar inherits = require('inherits')\n\nfunction Cipher (mode, key, iv) {\n Transform.call(this)\n\n this._cache = new Splitter()\n this._cipher = new aes.AES(key)\n this._prev = Buffer.from(iv)\n this._mode = mode\n this._autopadding = true\n}\n\ninherits(Cipher, Transform)\n\nCipher.prototype._update = function (data) {\n this._cache.add(data)\n var chunk\n var thing\n var out = []\n\n while ((chunk = this._cache.get())) {\n thing = this._mode.encrypt(this, chunk)\n out.push(thing)\n }\n\n return Buffer.concat(out)\n}\n\nvar PADDING = Buffer.alloc(16, 0x10)\n\nCipher.prototype._final = function () {\n var chunk = this._cache.flush()\n if (this._autopadding) {\n chunk = this._mode.encrypt(this, chunk)\n this._cipher.scrub()\n return chunk\n }\n\n if (!chunk.equals(PADDING)) {\n this._cipher.scrub()\n throw new Error('data not multiple of block length')\n }\n}\n\nCipher.prototype.setAutoPadding = function (setTo) {\n this._autopadding = !!setTo\n return this\n}\n\nfunction Splitter () {\n this.cache = Buffer.allocUnsafe(0)\n}\n\nSplitter.prototype.add = function (data) {\n this.cache = Buffer.concat([this.cache, data])\n}\n\nSplitter.prototype.get = function () {\n if (this.cache.length > 15) {\n var out = this.cache.slice(0, 16)\n this.cache = this.cache.slice(16)\n return out\n }\n return null\n}\n\nSplitter.prototype.flush = function () {\n var len = 16 - this.cache.length\n var padBuff = Buffer.allocUnsafe(len)\n\n var i = -1\n while (++i < len) {\n padBuff.writeUInt8(len, i)\n }\n\n return Buffer.concat([this.cache, padBuff])\n}\n\nfunction createCipheriv (suite, password, iv) {\n var config = MODES[suite.toLowerCase()]\n if (!config) throw new TypeError('invalid suite type')\n\n if (typeof password === 'string') password = Buffer.from(password)\n if (password.length !== config.key / 8) throw new TypeError('invalid key length ' + password.length)\n\n if (typeof iv === 'string') iv = Buffer.from(iv)\n if (config.mode !== 'GCM' && iv.length !== config.iv) throw new TypeError('invalid iv length ' + iv.length)\n\n if (config.type === 'stream') {\n return new StreamCipher(config.module, password, iv)\n } else if (config.type === 'auth') {\n return new AuthCipher(config.module, password, iv)\n }\n\n return new Cipher(config.module, password, iv)\n}\n\nfunction createCipher (suite, password) {\n var config = MODES[suite.toLowerCase()]\n if (!config) throw new TypeError('invalid suite type')\n\n var keys = ebtk(password, false, config.key, config.iv)\n return createCipheriv(suite, keys.key, keys.iv)\n}\n\nexports.createCipheriv = createCipheriv\nexports.createCipher = createCipher\n","var Buffer = require('safe-buffer').Buffer\nvar ZEROES = Buffer.alloc(16, 0)\n\nfunction toArray (buf) {\n return [\n buf.readUInt32BE(0),\n buf.readUInt32BE(4),\n buf.readUInt32BE(8),\n buf.readUInt32BE(12)\n ]\n}\n\nfunction fromArray (out) {\n var buf = Buffer.allocUnsafe(16)\n buf.writeUInt32BE(out[0] >>> 0, 0)\n buf.writeUInt32BE(out[1] >>> 0, 4)\n buf.writeUInt32BE(out[2] >>> 0, 8)\n buf.writeUInt32BE(out[3] >>> 0, 12)\n return buf\n}\n\nfunction GHASH (key) {\n this.h = key\n this.state = Buffer.alloc(16, 0)\n this.cache = Buffer.allocUnsafe(0)\n}\n\n// from http://bitwiseshiftleft.github.io/sjcl/doc/symbols/src/core_gcm.js.html\n// by Juho Vähä-Herttua\nGHASH.prototype.ghash = function (block) {\n var i = -1\n while (++i < block.length) {\n this.state[i] ^= block[i]\n }\n this._multiply()\n}\n\nGHASH.prototype._multiply = function () {\n var Vi = toArray(this.h)\n var Zi = [0, 0, 0, 0]\n var j, xi, lsbVi\n var i = -1\n while (++i < 128) {\n xi = (this.state[~~(i / 8)] & (1 << (7 - (i % 8)))) !== 0\n if (xi) {\n // Z_i+1 = Z_i ^ V_i\n Zi[0] ^= Vi[0]\n Zi[1] ^= Vi[1]\n Zi[2] ^= Vi[2]\n Zi[3] ^= Vi[3]\n }\n\n // Store the value of LSB(V_i)\n lsbVi = (Vi[3] & 1) !== 0\n\n // V_i+1 = V_i >> 1\n for (j = 3; j > 0; j--) {\n Vi[j] = (Vi[j] >>> 1) | ((Vi[j - 1] & 1) << 31)\n }\n Vi[0] = Vi[0] >>> 1\n\n // If LSB(V_i) is 1, V_i+1 = (V_i >> 1) ^ R\n if (lsbVi) {\n Vi[0] = Vi[0] ^ (0xe1 << 24)\n }\n }\n this.state = fromArray(Zi)\n}\n\nGHASH.prototype.update = function (buf) {\n this.cache = Buffer.concat([this.cache, buf])\n var chunk\n while (this.cache.length >= 16) {\n chunk = this.cache.slice(0, 16)\n this.cache = this.cache.slice(16)\n this.ghash(chunk)\n }\n}\n\nGHASH.prototype.final = function (abl, bl) {\n if (this.cache.length) {\n this.ghash(Buffer.concat([this.cache, ZEROES], 16))\n }\n\n this.ghash(fromArray([0, abl, 0, bl]))\n return this.state\n}\n\nmodule.exports = GHASH\n","function incr32 (iv) {\n var len = iv.length\n var item\n while (len--) {\n item = iv.readUInt8(len)\n if (item === 255) {\n iv.writeUInt8(0, len)\n } else {\n item++\n iv.writeUInt8(item, len)\n break\n }\n }\n}\nmodule.exports = incr32\n","var xor = require('buffer-xor')\n\nexports.encrypt = function (self, block) {\n var data = xor(block, self._prev)\n\n self._prev = self._cipher.encryptBlock(data)\n return self._prev\n}\n\nexports.decrypt = function (self, block) {\n var pad = self._prev\n\n self._prev = block\n var out = self._cipher.decryptBlock(block)\n\n return xor(out, pad)\n}\n","var Buffer = require('safe-buffer').Buffer\nvar xor = require('buffer-xor')\n\nfunction encryptStart (self, data, decrypt) {\n var len = data.length\n var out = xor(data, self._cache)\n self._cache = self._cache.slice(len)\n self._prev = Buffer.concat([self._prev, decrypt ? data : out])\n return out\n}\n\nexports.encrypt = function (self, data, decrypt) {\n var out = Buffer.allocUnsafe(0)\n var len\n\n while (data.length) {\n if (self._cache.length === 0) {\n self._cache = self._cipher.encryptBlock(self._prev)\n self._prev = Buffer.allocUnsafe(0)\n }\n\n if (self._cache.length <= data.length) {\n len = self._cache.length\n out = Buffer.concat([out, encryptStart(self, data.slice(0, len), decrypt)])\n data = data.slice(len)\n } else {\n out = Buffer.concat([out, encryptStart(self, data, decrypt)])\n break\n }\n }\n\n return out\n}\n","var Buffer = require('safe-buffer').Buffer\n\nfunction encryptByte (self, byteParam, decrypt) {\n var pad\n var i = -1\n var len = 8\n var out = 0\n var bit, value\n while (++i < len) {\n pad = self._cipher.encryptBlock(self._prev)\n bit = (byteParam & (1 << (7 - i))) ? 0x80 : 0\n value = pad[0] ^ bit\n out += ((value & 0x80) >> (i % 8))\n self._prev = shiftIn(self._prev, decrypt ? bit : value)\n }\n return out\n}\n\nfunction shiftIn (buffer, value) {\n var len = buffer.length\n var i = -1\n var out = Buffer.allocUnsafe(buffer.length)\n buffer = Buffer.concat([buffer, Buffer.from([value])])\n\n while (++i < len) {\n out[i] = buffer[i] << 1 | buffer[i + 1] >> (7)\n }\n\n return out\n}\n\nexports.encrypt = function (self, chunk, decrypt) {\n var len = chunk.length\n var out = Buffer.allocUnsafe(len)\n var i = -1\n\n while (++i < len) {\n out[i] = encryptByte(self, chunk[i], decrypt)\n }\n\n return out\n}\n","var Buffer = require('safe-buffer').Buffer\n\nfunction encryptByte (self, byteParam, decrypt) {\n var pad = self._cipher.encryptBlock(self._prev)\n var out = pad[0] ^ byteParam\n\n self._prev = Buffer.concat([\n self._prev.slice(1),\n Buffer.from([decrypt ? byteParam : out])\n ])\n\n return out\n}\n\nexports.encrypt = function (self, chunk, decrypt) {\n var len = chunk.length\n var out = Buffer.allocUnsafe(len)\n var i = -1\n\n while (++i < len) {\n out[i] = encryptByte(self, chunk[i], decrypt)\n }\n\n return out\n}\n","var xor = require('buffer-xor')\nvar Buffer = require('safe-buffer').Buffer\nvar incr32 = require('../incr32')\n\nfunction getBlock (self) {\n var out = self._cipher.encryptBlockRaw(self._prev)\n incr32(self._prev)\n return out\n}\n\nvar blockSize = 16\nexports.encrypt = function (self, chunk) {\n var chunkNum = Math.ceil(chunk.length / blockSize)\n var start = self._cache.length\n self._cache = Buffer.concat([\n self._cache,\n Buffer.allocUnsafe(chunkNum * blockSize)\n ])\n for (var i = 0; i < chunkNum; i++) {\n var out = getBlock(self)\n var offset = start + i * blockSize\n self._cache.writeUInt32BE(out[0], offset + 0)\n self._cache.writeUInt32BE(out[1], offset + 4)\n self._cache.writeUInt32BE(out[2], offset + 8)\n self._cache.writeUInt32BE(out[3], offset + 12)\n }\n var pad = self._cache.slice(0, chunk.length)\n self._cache = self._cache.slice(chunk.length)\n return xor(chunk, pad)\n}\n","exports.encrypt = function (self, block) {\n return self._cipher.encryptBlock(block)\n}\n\nexports.decrypt = function (self, block) {\n return self._cipher.decryptBlock(block)\n}\n","var modeModules = {\n ECB: require('./ecb'),\n CBC: require('./cbc'),\n CFB: require('./cfb'),\n CFB8: require('./cfb8'),\n CFB1: require('./cfb1'),\n OFB: require('./ofb'),\n CTR: require('./ctr'),\n GCM: require('./ctr')\n}\n\nvar modes = require('./list.json')\n\nfor (var key in modes) {\n modes[key].module = modeModules[modes[key].mode]\n}\n\nmodule.exports = modes\n","var xor = require('buffer-xor')\n\nfunction getBlock (self) {\n self._prev = self._cipher.encryptBlock(self._prev)\n return self._prev\n}\n\nexports.encrypt = function (self, chunk) {\n while (self._cache.length < chunk.length) {\n self._cache = Buffer.concat([self._cache, getBlock(self)])\n }\n\n var pad = self._cache.slice(0, chunk.length)\n self._cache = self._cache.slice(chunk.length)\n return xor(chunk, pad)\n}\n","var aes = require('./aes')\nvar Buffer = require('safe-buffer').Buffer\nvar Transform = require('cipher-base')\nvar inherits = require('inherits')\n\nfunction StreamCipher (mode, key, iv, decrypt) {\n Transform.call(this)\n\n this._cipher = new aes.AES(key)\n this._prev = Buffer.from(iv)\n this._cache = Buffer.allocUnsafe(0)\n this._secCache = Buffer.allocUnsafe(0)\n this._decrypt = decrypt\n this._mode = mode\n}\n\ninherits(StreamCipher, Transform)\n\nStreamCipher.prototype._update = function (chunk) {\n return this._mode.encrypt(this, chunk, this._decrypt)\n}\n\nStreamCipher.prototype._final = function () {\n this._cipher.scrub()\n}\n\nmodule.exports = StreamCipher\n","var DES = require('browserify-des')\nvar aes = require('browserify-aes/browser')\nvar aesModes = require('browserify-aes/modes')\nvar desModes = require('browserify-des/modes')\nvar ebtk = require('evp_bytestokey')\n\nfunction createCipher (suite, password) {\n suite = suite.toLowerCase()\n\n var keyLen, ivLen\n if (aesModes[suite]) {\n keyLen = aesModes[suite].key\n ivLen = aesModes[suite].iv\n } else if (desModes[suite]) {\n keyLen = desModes[suite].key * 8\n ivLen = desModes[suite].iv\n } else {\n throw new TypeError('invalid suite type')\n }\n\n var keys = ebtk(password, false, keyLen, ivLen)\n return createCipheriv(suite, keys.key, keys.iv)\n}\n\nfunction createDecipher (suite, password) {\n suite = suite.toLowerCase()\n\n var keyLen, ivLen\n if (aesModes[suite]) {\n keyLen = aesModes[suite].key\n ivLen = aesModes[suite].iv\n } else if (desModes[suite]) {\n keyLen = desModes[suite].key * 8\n ivLen = desModes[suite].iv\n } else {\n throw new TypeError('invalid suite type')\n }\n\n var keys = ebtk(password, false, keyLen, ivLen)\n return createDecipheriv(suite, keys.key, keys.iv)\n}\n\nfunction createCipheriv (suite, key, iv) {\n suite = suite.toLowerCase()\n if (aesModes[suite]) return aes.createCipheriv(suite, key, iv)\n if (desModes[suite]) return new DES({ key: key, iv: iv, mode: suite })\n\n throw new TypeError('invalid suite type')\n}\n\nfunction createDecipheriv (suite, key, iv) {\n suite = suite.toLowerCase()\n if (aesModes[suite]) return aes.createDecipheriv(suite, key, iv)\n if (desModes[suite]) return new DES({ key: key, iv: iv, mode: suite, decrypt: true })\n\n throw new TypeError('invalid suite type')\n}\n\nfunction getCiphers () {\n return Object.keys(desModes).concat(aes.getCiphers())\n}\n\nexports.createCipher = exports.Cipher = createCipher\nexports.createCipheriv = exports.Cipheriv = createCipheriv\nexports.createDecipher = exports.Decipher = createDecipher\nexports.createDecipheriv = exports.Decipheriv = createDecipheriv\nexports.listCiphers = exports.getCiphers = getCiphers\n","var CipherBase = require('cipher-base')\nvar des = require('des.js')\nvar inherits = require('inherits')\nvar Buffer = require('safe-buffer').Buffer\n\nvar modes = {\n 'des-ede3-cbc': des.CBC.instantiate(des.EDE),\n 'des-ede3': des.EDE,\n 'des-ede-cbc': des.CBC.instantiate(des.EDE),\n 'des-ede': des.EDE,\n 'des-cbc': des.CBC.instantiate(des.DES),\n 'des-ecb': des.DES\n}\nmodes.des = modes['des-cbc']\nmodes.des3 = modes['des-ede3-cbc']\nmodule.exports = DES\ninherits(DES, CipherBase)\nfunction DES (opts) {\n CipherBase.call(this)\n var modeName = opts.mode.toLowerCase()\n var mode = modes[modeName]\n var type\n if (opts.decrypt) {\n type = 'decrypt'\n } else {\n type = 'encrypt'\n }\n var key = opts.key\n if (!Buffer.isBuffer(key)) {\n key = Buffer.from(key)\n }\n if (modeName === 'des-ede' || modeName === 'des-ede-cbc') {\n key = Buffer.concat([key, key.slice(0, 8)])\n }\n var iv = opts.iv\n if (!Buffer.isBuffer(iv)) {\n iv = Buffer.from(iv)\n }\n this._des = mode.create({\n key: key,\n iv: iv,\n type: type\n })\n}\nDES.prototype._update = function (data) {\n return Buffer.from(this._des.update(data))\n}\nDES.prototype._final = function () {\n return Buffer.from(this._des.final())\n}\n","exports['des-ecb'] = {\n key: 8,\n iv: 0\n}\nexports['des-cbc'] = exports.des = {\n key: 8,\n iv: 8\n}\nexports['des-ede3-cbc'] = exports.des3 = {\n key: 24,\n iv: 8\n}\nexports['des-ede3'] = {\n key: 24,\n iv: 0\n}\nexports['des-ede-cbc'] = {\n key: 16,\n iv: 8\n}\nexports['des-ede'] = {\n key: 16,\n iv: 0\n}\n","'use strict';\n\nvar BN = require('bn.js');\nvar randomBytes = require('randombytes');\nvar Buffer = require('safe-buffer').Buffer;\n\nfunction getr(priv) {\n\tvar len = priv.modulus.byteLength();\n\tvar r;\n\tdo {\n\t\tr = new BN(randomBytes(len));\n\t} while (r.cmp(priv.modulus) >= 0 || !r.umod(priv.prime1) || !r.umod(priv.prime2));\n\treturn r;\n}\n\nfunction blind(priv) {\n\tvar r = getr(priv);\n\tvar blinder = r.toRed(BN.mont(priv.modulus)).redPow(new BN(priv.publicExponent)).fromRed();\n\treturn { blinder: blinder, unblinder: r.invm(priv.modulus) };\n}\n\nfunction crt(msg, priv) {\n\tvar blinds = blind(priv);\n\tvar len = priv.modulus.byteLength();\n\tvar blinded = new BN(msg).mul(blinds.blinder).umod(priv.modulus);\n\tvar c1 = blinded.toRed(BN.mont(priv.prime1));\n\tvar c2 = blinded.toRed(BN.mont(priv.prime2));\n\tvar qinv = priv.coefficient;\n\tvar p = priv.prime1;\n\tvar q = priv.prime2;\n\tvar m1 = c1.redPow(priv.exponent1).fromRed();\n\tvar m2 = c2.redPow(priv.exponent2).fromRed();\n\tvar h = m1.isub(m2).imul(qinv).umod(p).imul(q);\n\treturn m2.iadd(h).imul(blinds.unblinder).umod(priv.modulus).toArrayLike(Buffer, 'be', len);\n}\ncrt.getr = getr;\n\nmodule.exports = crt;\n","'use strict';\n\nmodule.exports = require('./browser/algorithms.json');\n","'use strict';\n\nvar Buffer = require('safe-buffer').Buffer;\nvar createHash = require('create-hash');\nvar stream = require('readable-stream');\nvar inherits = require('inherits');\nvar sign = require('./sign');\nvar verify = require('./verify');\n\nvar algorithms = require('./algorithms.json');\nObject.keys(algorithms).forEach(function (key) {\n algorithms[key].id = Buffer.from(algorithms[key].id, 'hex');\n algorithms[key.toLowerCase()] = algorithms[key];\n});\n\nfunction Sign(algorithm) {\n stream.Writable.call(this);\n\n var data = algorithms[algorithm];\n if (!data) { throw new Error('Unknown message digest'); }\n\n this._hashType = data.hash;\n this._hash = createHash(data.hash);\n this._tag = data.id;\n this._signType = data.sign;\n}\ninherits(Sign, stream.Writable);\n\nSign.prototype._write = function _write(data, _, done) {\n this._hash.update(data);\n done();\n};\n\nSign.prototype.update = function update(data, enc) {\n this._hash.update(typeof data === 'string' ? Buffer.from(data, enc) : data);\n\n return this;\n};\n\nSign.prototype.sign = function signMethod(key, enc) {\n this.end();\n var hash = this._hash.digest();\n var sig = sign(hash, key, this._hashType, this._signType, this._tag);\n\n return enc ? sig.toString(enc) : sig;\n};\n\nfunction Verify(algorithm) {\n stream.Writable.call(this);\n\n var data = algorithms[algorithm];\n if (!data) { throw new Error('Unknown message digest'); }\n\n this._hash = createHash(data.hash);\n this._tag = data.id;\n this._signType = data.sign;\n}\ninherits(Verify, stream.Writable);\n\nVerify.prototype._write = function _write(data, _, done) {\n this._hash.update(data);\n done();\n};\n\nVerify.prototype.update = function update(data, enc) {\n this._hash.update(typeof data === 'string' ? Buffer.from(data, enc) : data);\n\n return this;\n};\n\nVerify.prototype.verify = function verifyMethod(key, sig, enc) {\n var sigBuffer = typeof sig === 'string' ? Buffer.from(sig, enc) : sig;\n\n this.end();\n var hash = this._hash.digest();\n return verify(sigBuffer, hash, key, this._signType, this._tag);\n};\n\nfunction createSign(algorithm) {\n return new Sign(algorithm);\n}\n\nfunction createVerify(algorithm) {\n return new Verify(algorithm);\n}\n\nmodule.exports = {\n Sign: createSign,\n Verify: createVerify,\n createSign: createSign,\n createVerify: createVerify\n};\n","'use strict';\n\n// much of this based on https://github.com/indutny/self-signed/blob/gh-pages/lib/rsa.js\nvar Buffer = require('safe-buffer').Buffer;\nvar createHmac = require('create-hmac');\nvar crt = require('browserify-rsa');\nvar EC = require('elliptic').ec;\nvar BN = require('bn.js');\nvar parseKeys = require('parse-asn1');\nvar curves = require('./curves.json');\n\nvar RSA_PKCS1_PADDING = 1;\n\nfunction sign(hash, key, hashType, signType, tag) {\n var priv = parseKeys(key);\n if (priv.curve) {\n // rsa keys can be interpreted as ecdsa ones in openssl\n if (signType !== 'ecdsa' && signType !== 'ecdsa/rsa') { throw new Error('wrong private key type'); }\n return ecSign(hash, priv);\n } else if (priv.type === 'dsa') {\n if (signType !== 'dsa') { throw new Error('wrong private key type'); }\n return dsaSign(hash, priv, hashType);\n }\n if (signType !== 'rsa' && signType !== 'ecdsa/rsa') { throw new Error('wrong private key type'); }\n if (key.padding !== undefined && key.padding !== RSA_PKCS1_PADDING) { throw new Error('illegal or unsupported padding mode'); }\n\n hash = Buffer.concat([tag, hash]);\n var len = priv.modulus.byteLength();\n var pad = [0, 1];\n while (hash.length + pad.length + 1 < len) { pad.push(0xff); }\n pad.push(0x00);\n var i = -1;\n while (++i < hash.length) { pad.push(hash[i]); }\n\n var out = crt(pad, priv);\n return out;\n}\n\nfunction ecSign(hash, priv) {\n var curveId = curves[priv.curve.join('.')];\n if (!curveId) { throw new Error('unknown curve ' + priv.curve.join('.')); }\n\n var curve = new EC(curveId);\n var key = curve.keyFromPrivate(priv.privateKey);\n var out = key.sign(hash);\n\n return Buffer.from(out.toDER());\n}\n\nfunction dsaSign(hash, priv, algo) {\n var x = priv.params.priv_key;\n var p = priv.params.p;\n var q = priv.params.q;\n var g = priv.params.g;\n var r = new BN(0);\n var k;\n var H = bits2int(hash, q).mod(q);\n var s = false;\n var kv = getKey(x, q, hash, algo);\n while (s === false) {\n k = makeKey(q, kv, algo);\n r = makeR(g, k, p, q);\n s = k.invm(q).imul(H.add(x.mul(r))).mod(q);\n if (s.cmpn(0) === 0) {\n s = false;\n r = new BN(0);\n }\n }\n return toDER(r, s);\n}\n\nfunction toDER(r, s) {\n r = r.toArray();\n s = s.toArray();\n\n // Pad values\n if (r[0] & 0x80) { r = [0].concat(r); }\n if (s[0] & 0x80) { s = [0].concat(s); }\n\n var total = r.length + s.length + 4;\n var res = [\n 0x30, total, 0x02, r.length\n ];\n res = res.concat(r, [0x02, s.length], s);\n return Buffer.from(res);\n}\n\nfunction getKey(x, q, hash, algo) {\n x = Buffer.from(x.toArray());\n if (x.length < q.byteLength()) {\n var zeros = Buffer.alloc(q.byteLength() - x.length);\n x = Buffer.concat([zeros, x]);\n }\n var hlen = hash.length;\n var hbits = bits2octets(hash, q);\n var v = Buffer.alloc(hlen);\n v.fill(1);\n var k = Buffer.alloc(hlen);\n k = createHmac(algo, k).update(v).update(Buffer.from([0])).update(x).update(hbits).digest();\n v = createHmac(algo, k).update(v).digest();\n k = createHmac(algo, k).update(v).update(Buffer.from([1])).update(x).update(hbits).digest();\n v = createHmac(algo, k).update(v).digest();\n return { k: k, v: v };\n}\n\nfunction bits2int(obits, q) {\n var bits = new BN(obits);\n var shift = (obits.length << 3) - q.bitLength();\n if (shift > 0) { bits.ishrn(shift); }\n return bits;\n}\n\nfunction bits2octets(bits, q) {\n bits = bits2int(bits, q);\n bits = bits.mod(q);\n var out = Buffer.from(bits.toArray());\n if (out.length < q.byteLength()) {\n var zeros = Buffer.alloc(q.byteLength() - out.length);\n out = Buffer.concat([zeros, out]);\n }\n return out;\n}\n\nfunction makeKey(q, kv, algo) {\n var t;\n var k;\n\n do {\n t = Buffer.alloc(0);\n\n while (t.length * 8 < q.bitLength()) {\n kv.v = createHmac(algo, kv.k).update(kv.v).digest();\n t = Buffer.concat([t, kv.v]);\n }\n\n k = bits2int(t, q);\n kv.k = createHmac(algo, kv.k).update(kv.v).update(Buffer.from([0])).digest();\n kv.v = createHmac(algo, kv.k).update(kv.v).digest();\n } while (k.cmp(q) !== -1);\n\n return k;\n}\n\nfunction makeR(g, k, p, q) {\n return g.toRed(BN.mont(p)).redPow(k).fromRed().mod(q);\n}\n\nmodule.exports = sign;\nmodule.exports.getKey = getKey;\nmodule.exports.makeKey = makeKey;\n","'use strict';\n\n// much of this based on https://github.com/indutny/self-signed/blob/gh-pages/lib/rsa.js\nvar Buffer = require('safe-buffer').Buffer;\nvar BN = require('bn.js');\nvar EC = require('elliptic').ec;\nvar parseKeys = require('parse-asn1');\nvar curves = require('./curves.json');\n\nfunction verify(sig, hash, key, signType, tag) {\n var pub = parseKeys(key);\n if (pub.type === 'ec') {\n // rsa keys can be interpreted as ecdsa ones in openssl\n if (signType !== 'ecdsa' && signType !== 'ecdsa/rsa') { throw new Error('wrong public key type'); }\n return ecVerify(sig, hash, pub);\n } else if (pub.type === 'dsa') {\n if (signType !== 'dsa') { throw new Error('wrong public key type'); }\n return dsaVerify(sig, hash, pub);\n }\n if (signType !== 'rsa' && signType !== 'ecdsa/rsa') { throw new Error('wrong public key type'); }\n\n hash = Buffer.concat([tag, hash]);\n var len = pub.modulus.byteLength();\n var pad = [1];\n var padNum = 0;\n while (hash.length + pad.length + 2 < len) {\n pad.push(0xff);\n padNum += 1;\n }\n pad.push(0x00);\n var i = -1;\n while (++i < hash.length) {\n pad.push(hash[i]);\n }\n pad = Buffer.from(pad);\n var red = BN.mont(pub.modulus);\n sig = new BN(sig).toRed(red);\n\n sig = sig.redPow(new BN(pub.publicExponent));\n sig = Buffer.from(sig.fromRed().toArray());\n var out = padNum < 8 ? 1 : 0;\n len = Math.min(sig.length, pad.length);\n if (sig.length !== pad.length) { out = 1; }\n\n i = -1;\n while (++i < len) { out |= sig[i] ^ pad[i]; }\n return out === 0;\n}\n\nfunction ecVerify(sig, hash, pub) {\n var curveId = curves[pub.data.algorithm.curve.join('.')];\n if (!curveId) { throw new Error('unknown curve ' + pub.data.algorithm.curve.join('.')); }\n\n var curve = new EC(curveId);\n var pubkey = pub.data.subjectPrivateKey.data;\n\n return curve.verify(hash, sig, pubkey);\n}\n\nfunction dsaVerify(sig, hash, pub) {\n var p = pub.data.p;\n var q = pub.data.q;\n var g = pub.data.g;\n var y = pub.data.pub_key;\n var unpacked = parseKeys.signature.decode(sig, 'der');\n var s = unpacked.s;\n var r = unpacked.r;\n checkValue(s, q);\n checkValue(r, q);\n var montp = BN.mont(p);\n var w = s.invm(q);\n var v = g.toRed(montp)\n .redPow(new BN(hash).mul(w).mod(q))\n .fromRed()\n .mul(y.toRed(montp).redPow(r.mul(w).mod(q)).fromRed())\n .mod(p)\n .mod(q);\n return v.cmp(r) === 0;\n}\n\nfunction checkValue(b, q) {\n if (b.cmpn(0) <= 0) { throw new Error('invalid sig'); }\n if (b.cmp(q) >= 0) { throw new Error('invalid sig'); }\n}\n\nmodule.exports = verify;\n","module.exports = function xor (a, b) {\n var length = Math.min(a.length, b.length)\n var buffer = new Buffer(length)\n\n for (var i = 0; i < length; ++i) {\n buffer[i] = a[i] ^ b[i]\n }\n\n return buffer\n}\n","'use strict';\n\nvar Buffer = require('safe-buffer').Buffer;\nvar Transform = require('stream').Transform;\nvar StringDecoder = require('string_decoder').StringDecoder;\nvar inherits = require('inherits');\nvar toBuffer = require('to-buffer');\n\nfunction CipherBase(hashMode) {\n\tTransform.call(this);\n\tthis.hashMode = typeof hashMode === 'string';\n\tif (this.hashMode) {\n\t\tthis[hashMode] = this._finalOrDigest;\n\t} else {\n\t\tthis['final'] = this._finalOrDigest;\n\t}\n\tif (this._final) {\n\t\tthis.__final = this._final;\n\t\tthis._final = null;\n\t}\n\tthis._decoder = null;\n\tthis._encoding = null;\n}\ninherits(CipherBase, Transform);\n\nCipherBase.prototype.update = function (data, inputEnc, outputEnc) {\n\tvar bufferData = toBuffer(data, inputEnc); // asserts correct input type\n\tvar outData = this._update(bufferData);\n\tif (this.hashMode) {\n\t\treturn this;\n\t}\n\n\tif (outputEnc) {\n\t\toutData = this._toString(outData, outputEnc);\n\t}\n\n\treturn outData;\n};\n\nCipherBase.prototype.setAutoPadding = function () {};\nCipherBase.prototype.getAuthTag = function () {\n\tthrow new Error('trying to get auth tag in unsupported state');\n};\n\nCipherBase.prototype.setAuthTag = function () {\n\tthrow new Error('trying to set auth tag in unsupported state');\n};\n\nCipherBase.prototype.setAAD = function () {\n\tthrow new Error('trying to set aad in unsupported state');\n};\n\nCipherBase.prototype._transform = function (data, _, next) {\n\tvar err;\n\ttry {\n\t\tif (this.hashMode) {\n\t\t\tthis._update(data);\n\t\t} else {\n\t\t\tthis.push(this._update(data));\n\t\t}\n\t} catch (e) {\n\t\terr = e;\n\t} finally {\n\t\tnext(err);\n\t}\n};\nCipherBase.prototype._flush = function (done) {\n\tvar err;\n\ttry {\n\t\tthis.push(this.__final());\n\t} catch (e) {\n\t\terr = e;\n\t}\n\n\tdone(err);\n};\nCipherBase.prototype._finalOrDigest = function (outputEnc) {\n\tvar outData = this.__final() || Buffer.alloc(0);\n\tif (outputEnc) {\n\t\toutData = this._toString(outData, outputEnc, true);\n\t}\n\treturn outData;\n};\n\nCipherBase.prototype._toString = function (value, enc, fin) {\n\tif (!this._decoder) {\n\t\tthis._decoder = new StringDecoder(enc);\n\t\tthis._encoding = enc;\n\t}\n\n\tif (this._encoding !== enc) {\n\t\tthrow new Error('can’t switch encodings');\n\t}\n\n\tvar out = this._decoder.write(value);\n\tif (fin) {\n\t\tout += this._decoder.end();\n\t}\n\n\treturn out;\n};\n\nmodule.exports = CipherBase;\n","/*!\n * clipboard.js v2.0.11\n * https://clipboardjs.com/\n *\n * Licensed MIT © Zeno Rocha\n */\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ClipboardJS\"] = factory();\n\telse\n\t\troot[\"ClipboardJS\"] = factory();\n})(this, function() {\nreturn /******/ (function() { // webpackBootstrap\n/******/ \tvar __webpack_modules__ = ({\n\n/***/ 686:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n \"default\": function() { return /* binding */ clipboard; }\n});\n\n// EXTERNAL MODULE: ./node_modules/tiny-emitter/index.js\nvar tiny_emitter = __webpack_require__(279);\nvar tiny_emitter_default = /*#__PURE__*/__webpack_require__.n(tiny_emitter);\n// EXTERNAL MODULE: ./node_modules/good-listener/src/listen.js\nvar listen = __webpack_require__(370);\nvar listen_default = /*#__PURE__*/__webpack_require__.n(listen);\n// EXTERNAL MODULE: ./node_modules/select/src/select.js\nvar src_select = __webpack_require__(817);\nvar select_default = /*#__PURE__*/__webpack_require__.n(src_select);\n;// CONCATENATED MODULE: ./src/common/command.js\n/**\n * Executes a given operation type.\n * @param {String} type\n * @return {Boolean}\n */\nfunction command(type) {\n try {\n return document.execCommand(type);\n } catch (err) {\n return false;\n }\n}\n;// CONCATENATED MODULE: ./src/actions/cut.js\n\n\n/**\n * Cut action wrapper.\n * @param {String|HTMLElement} target\n * @return {String}\n */\n\nvar ClipboardActionCut = function ClipboardActionCut(target) {\n var selectedText = select_default()(target);\n command('cut');\n return selectedText;\n};\n\n/* harmony default export */ var actions_cut = (ClipboardActionCut);\n;// CONCATENATED MODULE: ./src/common/create-fake-element.js\n/**\n * Creates a fake textarea element with a value.\n * @param {String} value\n * @return {HTMLElement}\n */\nfunction createFakeElement(value) {\n var isRTL = document.documentElement.getAttribute('dir') === 'rtl';\n var fakeElement = document.createElement('textarea'); // Prevent zooming on iOS\n\n fakeElement.style.fontSize = '12pt'; // Reset box model\n\n fakeElement.style.border = '0';\n fakeElement.style.padding = '0';\n fakeElement.style.margin = '0'; // Move element out of screen horizontally\n\n fakeElement.style.position = 'absolute';\n fakeElement.style[isRTL ? 'right' : 'left'] = '-9999px'; // Move element to the same position vertically\n\n var yPosition = window.pageYOffset || document.documentElement.scrollTop;\n fakeElement.style.top = \"\".concat(yPosition, \"px\");\n fakeElement.setAttribute('readonly', '');\n fakeElement.value = value;\n return fakeElement;\n}\n;// CONCATENATED MODULE: ./src/actions/copy.js\n\n\n\n/**\n * Create fake copy action wrapper using a fake element.\n * @param {String} target\n * @param {Object} options\n * @return {String}\n */\n\nvar fakeCopyAction = function fakeCopyAction(value, options) {\n var fakeElement = createFakeElement(value);\n options.container.appendChild(fakeElement);\n var selectedText = select_default()(fakeElement);\n command('copy');\n fakeElement.remove();\n return selectedText;\n};\n/**\n * Copy action wrapper.\n * @param {String|HTMLElement} target\n * @param {Object} options\n * @return {String}\n */\n\n\nvar ClipboardActionCopy = function ClipboardActionCopy(target) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n container: document.body\n };\n var selectedText = '';\n\n if (typeof target === 'string') {\n selectedText = fakeCopyAction(target, options);\n } else if (target instanceof HTMLInputElement && !['text', 'search', 'url', 'tel', 'password'].includes(target === null || target === void 0 ? void 0 : target.type)) {\n // If input type doesn't support `setSelectionRange`. Simulate it. https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange\n selectedText = fakeCopyAction(target.value, options);\n } else {\n selectedText = select_default()(target);\n command('copy');\n }\n\n return selectedText;\n};\n\n/* harmony default export */ var actions_copy = (ClipboardActionCopy);\n;// CONCATENATED MODULE: ./src/actions/default.js\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n\n\n/**\n * Inner function which performs selection from either `text` or `target`\n * properties and then executes copy or cut operations.\n * @param {Object} options\n */\n\nvar ClipboardActionDefault = function ClipboardActionDefault() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n // Defines base properties passed from constructor.\n var _options$action = options.action,\n action = _options$action === void 0 ? 'copy' : _options$action,\n container = options.container,\n target = options.target,\n text = options.text; // Sets the `action` to be performed which can be either 'copy' or 'cut'.\n\n if (action !== 'copy' && action !== 'cut') {\n throw new Error('Invalid \"action\" value, use either \"copy\" or \"cut\"');\n } // Sets the `target` property using an element that will be have its content copied.\n\n\n if (target !== undefined) {\n if (target && _typeof(target) === 'object' && target.nodeType === 1) {\n if (action === 'copy' && target.hasAttribute('disabled')) {\n throw new Error('Invalid \"target\" attribute. Please use \"readonly\" instead of \"disabled\" attribute');\n }\n\n if (action === 'cut' && (target.hasAttribute('readonly') || target.hasAttribute('disabled'))) {\n throw new Error('Invalid \"target\" attribute. You can\\'t cut text from elements with \"readonly\" or \"disabled\" attributes');\n }\n } else {\n throw new Error('Invalid \"target\" value, use a valid Element');\n }\n } // Define selection strategy based on `text` property.\n\n\n if (text) {\n return actions_copy(text, {\n container: container\n });\n } // Defines which selection strategy based on `target` property.\n\n\n if (target) {\n return action === 'cut' ? actions_cut(target) : actions_copy(target, {\n container: container\n });\n }\n};\n\n/* harmony default export */ var actions_default = (ClipboardActionDefault);\n;// CONCATENATED MODULE: ./src/clipboard.js\nfunction clipboard_typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { clipboard_typeof = function _typeof(obj) { return typeof obj; }; } else { clipboard_typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return clipboard_typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (clipboard_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\n/**\n * Helper function to retrieve attribute value.\n * @param {String} suffix\n * @param {Element} element\n */\n\nfunction getAttributeValue(suffix, element) {\n var attribute = \"data-clipboard-\".concat(suffix);\n\n if (!element.hasAttribute(attribute)) {\n return;\n }\n\n return element.getAttribute(attribute);\n}\n/**\n * Base class which takes one or more elements, adds event listeners to them,\n * and instantiates a new `ClipboardAction` on each click.\n */\n\n\nvar Clipboard = /*#__PURE__*/function (_Emitter) {\n _inherits(Clipboard, _Emitter);\n\n var _super = _createSuper(Clipboard);\n\n /**\n * @param {String|HTMLElement|HTMLCollection|NodeList} trigger\n * @param {Object} options\n */\n function Clipboard(trigger, options) {\n var _this;\n\n _classCallCheck(this, Clipboard);\n\n _this = _super.call(this);\n\n _this.resolveOptions(options);\n\n _this.listenClick(trigger);\n\n return _this;\n }\n /**\n * Defines if attributes would be resolved using internal setter functions\n * or custom functions that were passed in the constructor.\n * @param {Object} options\n */\n\n\n _createClass(Clipboard, [{\n key: \"resolveOptions\",\n value: function resolveOptions() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n this.action = typeof options.action === 'function' ? options.action : this.defaultAction;\n this.target = typeof options.target === 'function' ? options.target : this.defaultTarget;\n this.text = typeof options.text === 'function' ? options.text : this.defaultText;\n this.container = clipboard_typeof(options.container) === 'object' ? options.container : document.body;\n }\n /**\n * Adds a click event listener to the passed trigger.\n * @param {String|HTMLElement|HTMLCollection|NodeList} trigger\n */\n\n }, {\n key: \"listenClick\",\n value: function listenClick(trigger) {\n var _this2 = this;\n\n this.listener = listen_default()(trigger, 'click', function (e) {\n return _this2.onClick(e);\n });\n }\n /**\n * Defines a new `ClipboardAction` on each click event.\n * @param {Event} e\n */\n\n }, {\n key: \"onClick\",\n value: function onClick(e) {\n var trigger = e.delegateTarget || e.currentTarget;\n var action = this.action(trigger) || 'copy';\n var text = actions_default({\n action: action,\n container: this.container,\n target: this.target(trigger),\n text: this.text(trigger)\n }); // Fires an event based on the copy operation result.\n\n this.emit(text ? 'success' : 'error', {\n action: action,\n text: text,\n trigger: trigger,\n clearSelection: function clearSelection() {\n if (trigger) {\n trigger.focus();\n }\n\n window.getSelection().removeAllRanges();\n }\n });\n }\n /**\n * Default `action` lookup function.\n * @param {Element} trigger\n */\n\n }, {\n key: \"defaultAction\",\n value: function defaultAction(trigger) {\n return getAttributeValue('action', trigger);\n }\n /**\n * Default `target` lookup function.\n * @param {Element} trigger\n */\n\n }, {\n key: \"defaultTarget\",\n value: function defaultTarget(trigger) {\n var selector = getAttributeValue('target', trigger);\n\n if (selector) {\n return document.querySelector(selector);\n }\n }\n /**\n * Allow fire programmatically a copy action\n * @param {String|HTMLElement} target\n * @param {Object} options\n * @returns Text copied.\n */\n\n }, {\n key: \"defaultText\",\n\n /**\n * Default `text` lookup function.\n * @param {Element} trigger\n */\n value: function defaultText(trigger) {\n return getAttributeValue('text', trigger);\n }\n /**\n * Destroy lifecycle.\n */\n\n }, {\n key: \"destroy\",\n value: function destroy() {\n this.listener.destroy();\n }\n }], [{\n key: \"copy\",\n value: function copy(target) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n container: document.body\n };\n return actions_copy(target, options);\n }\n /**\n * Allow fire programmatically a cut action\n * @param {String|HTMLElement} target\n * @returns Text cutted.\n */\n\n }, {\n key: \"cut\",\n value: function cut(target) {\n return actions_cut(target);\n }\n /**\n * Returns the support of the given action, or all actions if no action is\n * given.\n * @param {String} [action]\n */\n\n }, {\n key: \"isSupported\",\n value: function isSupported() {\n var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ['copy', 'cut'];\n var actions = typeof action === 'string' ? [action] : action;\n var support = !!document.queryCommandSupported;\n actions.forEach(function (action) {\n support = support && !!document.queryCommandSupported(action);\n });\n return support;\n }\n }]);\n\n return Clipboard;\n}((tiny_emitter_default()));\n\n/* harmony default export */ var clipboard = (Clipboard);\n\n/***/ }),\n\n/***/ 828:\n/***/ (function(module) {\n\nvar DOCUMENT_NODE_TYPE = 9;\n\n/**\n * A polyfill for Element.matches()\n */\nif (typeof Element !== 'undefined' && !Element.prototype.matches) {\n var proto = Element.prototype;\n\n proto.matches = proto.matchesSelector ||\n proto.mozMatchesSelector ||\n proto.msMatchesSelector ||\n proto.oMatchesSelector ||\n proto.webkitMatchesSelector;\n}\n\n/**\n * Finds the closest parent that matches a selector.\n *\n * @param {Element} element\n * @param {String} selector\n * @return {Function}\n */\nfunction closest (element, selector) {\n while (element && element.nodeType !== DOCUMENT_NODE_TYPE) {\n if (typeof element.matches === 'function' &&\n element.matches(selector)) {\n return element;\n }\n element = element.parentNode;\n }\n}\n\nmodule.exports = closest;\n\n\n/***/ }),\n\n/***/ 438:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar closest = __webpack_require__(828);\n\n/**\n * Delegates event to a selector.\n *\n * @param {Element} element\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @param {Boolean} useCapture\n * @return {Object}\n */\nfunction _delegate(element, selector, type, callback, useCapture) {\n var listenerFn = listener.apply(this, arguments);\n\n element.addEventListener(type, listenerFn, useCapture);\n\n return {\n destroy: function() {\n element.removeEventListener(type, listenerFn, useCapture);\n }\n }\n}\n\n/**\n * Delegates event to a selector.\n *\n * @param {Element|String|Array} [elements]\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @param {Boolean} useCapture\n * @return {Object}\n */\nfunction delegate(elements, selector, type, callback, useCapture) {\n // Handle the regular Element usage\n if (typeof elements.addEventListener === 'function') {\n return _delegate.apply(null, arguments);\n }\n\n // Handle Element-less usage, it defaults to global delegation\n if (typeof type === 'function') {\n // Use `document` as the first parameter, then apply arguments\n // This is a short way to .unshift `arguments` without running into deoptimizations\n return _delegate.bind(null, document).apply(null, arguments);\n }\n\n // Handle Selector-based usage\n if (typeof elements === 'string') {\n elements = document.querySelectorAll(elements);\n }\n\n // Handle Array-like based usage\n return Array.prototype.map.call(elements, function (element) {\n return _delegate(element, selector, type, callback, useCapture);\n });\n}\n\n/**\n * Finds closest match and invokes callback.\n *\n * @param {Element} element\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @return {Function}\n */\nfunction listener(element, selector, type, callback) {\n return function(e) {\n e.delegateTarget = closest(e.target, selector);\n\n if (e.delegateTarget) {\n callback.call(element, e);\n }\n }\n}\n\nmodule.exports = delegate;\n\n\n/***/ }),\n\n/***/ 879:\n/***/ (function(__unused_webpack_module, exports) {\n\n/**\n * Check if argument is a HTML element.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.node = function(value) {\n return value !== undefined\n && value instanceof HTMLElement\n && value.nodeType === 1;\n};\n\n/**\n * Check if argument is a list of HTML elements.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.nodeList = function(value) {\n var type = Object.prototype.toString.call(value);\n\n return value !== undefined\n && (type === '[object NodeList]' || type === '[object HTMLCollection]')\n && ('length' in value)\n && (value.length === 0 || exports.node(value[0]));\n};\n\n/**\n * Check if argument is a string.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.string = function(value) {\n return typeof value === 'string'\n || value instanceof String;\n};\n\n/**\n * Check if argument is a function.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.fn = function(value) {\n var type = Object.prototype.toString.call(value);\n\n return type === '[object Function]';\n};\n\n\n/***/ }),\n\n/***/ 370:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar is = __webpack_require__(879);\nvar delegate = __webpack_require__(438);\n\n/**\n * Validates all params and calls the right\n * listener function based on its target type.\n *\n * @param {String|HTMLElement|HTMLCollection|NodeList} target\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listen(target, type, callback) {\n if (!target && !type && !callback) {\n throw new Error('Missing required arguments');\n }\n\n if (!is.string(type)) {\n throw new TypeError('Second argument must be a String');\n }\n\n if (!is.fn(callback)) {\n throw new TypeError('Third argument must be a Function');\n }\n\n if (is.node(target)) {\n return listenNode(target, type, callback);\n }\n else if (is.nodeList(target)) {\n return listenNodeList(target, type, callback);\n }\n else if (is.string(target)) {\n return listenSelector(target, type, callback);\n }\n else {\n throw new TypeError('First argument must be a String, HTMLElement, HTMLCollection, or NodeList');\n }\n}\n\n/**\n * Adds an event listener to a HTML element\n * and returns a remove listener function.\n *\n * @param {HTMLElement} node\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenNode(node, type, callback) {\n node.addEventListener(type, callback);\n\n return {\n destroy: function() {\n node.removeEventListener(type, callback);\n }\n }\n}\n\n/**\n * Add an event listener to a list of HTML elements\n * and returns a remove listener function.\n *\n * @param {NodeList|HTMLCollection} nodeList\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenNodeList(nodeList, type, callback) {\n Array.prototype.forEach.call(nodeList, function(node) {\n node.addEventListener(type, callback);\n });\n\n return {\n destroy: function() {\n Array.prototype.forEach.call(nodeList, function(node) {\n node.removeEventListener(type, callback);\n });\n }\n }\n}\n\n/**\n * Add an event listener to a selector\n * and returns a remove listener function.\n *\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenSelector(selector, type, callback) {\n return delegate(document.body, selector, type, callback);\n}\n\nmodule.exports = listen;\n\n\n/***/ }),\n\n/***/ 817:\n/***/ (function(module) {\n\nfunction select(element) {\n var selectedText;\n\n if (element.nodeName === 'SELECT') {\n element.focus();\n\n selectedText = element.value;\n }\n else if (element.nodeName === 'INPUT' || element.nodeName === 'TEXTAREA') {\n var isReadOnly = element.hasAttribute('readonly');\n\n if (!isReadOnly) {\n element.setAttribute('readonly', '');\n }\n\n element.select();\n element.setSelectionRange(0, element.value.length);\n\n if (!isReadOnly) {\n element.removeAttribute('readonly');\n }\n\n selectedText = element.value;\n }\n else {\n if (element.hasAttribute('contenteditable')) {\n element.focus();\n }\n\n var selection = window.getSelection();\n var range = document.createRange();\n\n range.selectNodeContents(element);\n selection.removeAllRanges();\n selection.addRange(range);\n\n selectedText = selection.toString();\n }\n\n return selectedText;\n}\n\nmodule.exports = select;\n\n\n/***/ }),\n\n/***/ 279:\n/***/ (function(module) {\n\nfunction E () {\n // Keep this empty so it's easier to inherit from\n // (via https://github.com/lipsmack from https://github.com/scottcorgan/tiny-emitter/issues/3)\n}\n\nE.prototype = {\n on: function (name, callback, ctx) {\n var e = this.e || (this.e = {});\n\n (e[name] || (e[name] = [])).push({\n fn: callback,\n ctx: ctx\n });\n\n return this;\n },\n\n once: function (name, callback, ctx) {\n var self = this;\n function listener () {\n self.off(name, listener);\n callback.apply(ctx, arguments);\n };\n\n listener._ = callback\n return this.on(name, listener, ctx);\n },\n\n emit: function (name) {\n var data = [].slice.call(arguments, 1);\n var evtArr = ((this.e || (this.e = {}))[name] || []).slice();\n var i = 0;\n var len = evtArr.length;\n\n for (i; i < len; i++) {\n evtArr[i].fn.apply(evtArr[i].ctx, data);\n }\n\n return this;\n },\n\n off: function (name, callback) {\n var e = this.e || (this.e = {});\n var evts = e[name];\n var liveEvents = [];\n\n if (evts && callback) {\n for (var i = 0, len = evts.length; i < len; i++) {\n if (evts[i].fn !== callback && evts[i].fn._ !== callback)\n liveEvents.push(evts[i]);\n }\n }\n\n // Remove event from queue to prevent memory leak\n // Suggested by https://github.com/lazd\n // Ref: https://github.com/scottcorgan/tiny-emitter/commit/c6ebfaa9bc973b33d110a84a307742b7cf94c953#commitcomment-5024910\n\n (liveEvents.length)\n ? e[name] = liveEvents\n : delete e[name];\n\n return this;\n }\n};\n\nmodule.exports = E;\nmodule.exports.TinyEmitter = E;\n\n\n/***/ })\n\n/******/ \t});\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(__webpack_module_cache__[moduleId]) {\n/******/ \t\t\treturn __webpack_module_cache__[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\n/******/ \t/* webpack/runtime/compat get default export */\n/******/ \t!function() {\n/******/ \t\t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t\t__webpack_require__.n = function(module) {\n/******/ \t\t\tvar getter = module && module.__esModule ?\n/******/ \t\t\t\tfunction() { return module['default']; } :\n/******/ \t\t\t\tfunction() { return module; };\n/******/ \t\t\t__webpack_require__.d(getter, { a: getter });\n/******/ \t\t\treturn getter;\n/******/ \t\t};\n/******/ \t}();\n/******/ \t\n/******/ \t/* webpack/runtime/define property getters */\n/******/ \t!function() {\n/******/ \t\t// define getter functions for harmony exports\n/******/ \t\t__webpack_require__.d = function(exports, definition) {\n/******/ \t\t\tfor(var key in definition) {\n/******/ \t\t\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n/******/ \t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n/******/ \t\t\t\t}\n/******/ \t\t\t}\n/******/ \t\t};\n/******/ \t}();\n/******/ \t\n/******/ \t/* webpack/runtime/hasOwnProperty shorthand */\n/******/ \t!function() {\n/******/ \t\t__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }\n/******/ \t}();\n/******/ \t\n/************************************************************************/\n/******/ \t// module exports must be returned from runtime so entry inlining is disabled\n/******/ \t// startup\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(686);\n/******/ })()\n.default;\n});","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// NOTE: These type checking functions intentionally don't use `instanceof`\n// because it is fragile and can be easily faked with `Object.create()`.\n\nfunction isArray(arg) {\n if (Array.isArray) {\n return Array.isArray(arg);\n }\n return objectToString(arg) === '[object Array]';\n}\nexports.isArray = isArray;\n\nfunction isBoolean(arg) {\n return typeof arg === 'boolean';\n}\nexports.isBoolean = isBoolean;\n\nfunction isNull(arg) {\n return arg === null;\n}\nexports.isNull = isNull;\n\nfunction isNullOrUndefined(arg) {\n return arg == null;\n}\nexports.isNullOrUndefined = isNullOrUndefined;\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\nexports.isNumber = isNumber;\n\nfunction isString(arg) {\n return typeof arg === 'string';\n}\nexports.isString = isString;\n\nfunction isSymbol(arg) {\n return typeof arg === 'symbol';\n}\nexports.isSymbol = isSymbol;\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\nexports.isUndefined = isUndefined;\n\nfunction isRegExp(re) {\n return objectToString(re) === '[object RegExp]';\n}\nexports.isRegExp = isRegExp;\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\nexports.isObject = isObject;\n\nfunction isDate(d) {\n return objectToString(d) === '[object Date]';\n}\nexports.isDate = isDate;\n\nfunction isError(e) {\n return (objectToString(e) === '[object Error]' || e instanceof Error);\n}\nexports.isError = isError;\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\nexports.isFunction = isFunction;\n\nfunction isPrimitive(arg) {\n return arg === null ||\n typeof arg === 'boolean' ||\n typeof arg === 'number' ||\n typeof arg === 'string' ||\n typeof arg === 'symbol' || // ES6 symbol\n typeof arg === 'undefined';\n}\nexports.isPrimitive = isPrimitive;\n\nexports.isBuffer = require('buffer').Buffer.isBuffer;\n\nfunction objectToString(o) {\n return Object.prototype.toString.call(o);\n}\n","var elliptic = require('elliptic')\nvar BN = require('bn.js')\n\nmodule.exports = function createECDH (curve) {\n return new ECDH(curve)\n}\n\nvar aliases = {\n secp256k1: {\n name: 'secp256k1',\n byteLength: 32\n },\n secp224r1: {\n name: 'p224',\n byteLength: 28\n },\n prime256v1: {\n name: 'p256',\n byteLength: 32\n },\n prime192v1: {\n name: 'p192',\n byteLength: 24\n },\n ed25519: {\n name: 'ed25519',\n byteLength: 32\n },\n secp384r1: {\n name: 'p384',\n byteLength: 48\n },\n secp521r1: {\n name: 'p521',\n byteLength: 66\n }\n}\n\naliases.p224 = aliases.secp224r1\naliases.p256 = aliases.secp256r1 = aliases.prime256v1\naliases.p192 = aliases.secp192r1 = aliases.prime192v1\naliases.p384 = aliases.secp384r1\naliases.p521 = aliases.secp521r1\n\nfunction ECDH (curve) {\n this.curveType = aliases[curve]\n if (!this.curveType) {\n this.curveType = {\n name: curve\n }\n }\n this.curve = new elliptic.ec(this.curveType.name) // eslint-disable-line new-cap\n this.keys = void 0\n}\n\nECDH.prototype.generateKeys = function (enc, format) {\n this.keys = this.curve.genKeyPair()\n return this.getPublicKey(enc, format)\n}\n\nECDH.prototype.computeSecret = function (other, inenc, enc) {\n inenc = inenc || 'utf8'\n if (!Buffer.isBuffer(other)) {\n other = new Buffer(other, inenc)\n }\n var otherPub = this.curve.keyFromPublic(other).getPublic()\n var out = otherPub.mul(this.keys.getPrivate()).getX()\n return formatReturnValue(out, enc, this.curveType.byteLength)\n}\n\nECDH.prototype.getPublicKey = function (enc, format) {\n var key = this.keys.getPublic(format === 'compressed', true)\n if (format === 'hybrid') {\n if (key[key.length - 1] % 2) {\n key[0] = 7\n } else {\n key[0] = 6\n }\n }\n return formatReturnValue(key, enc)\n}\n\nECDH.prototype.getPrivateKey = function (enc) {\n return formatReturnValue(this.keys.getPrivate(), enc)\n}\n\nECDH.prototype.setPublicKey = function (pub, enc) {\n enc = enc || 'utf8'\n if (!Buffer.isBuffer(pub)) {\n pub = new Buffer(pub, enc)\n }\n this.keys._importPublic(pub)\n return this\n}\n\nECDH.prototype.setPrivateKey = function (priv, enc) {\n enc = enc || 'utf8'\n if (!Buffer.isBuffer(priv)) {\n priv = new Buffer(priv, enc)\n }\n\n var _priv = new BN(priv)\n _priv = _priv.toString(16)\n this.keys = this.curve.genKeyPair()\n this.keys._importPrivate(_priv)\n return this\n}\n\nfunction formatReturnValue (bn, enc, len) {\n if (!Array.isArray(bn)) {\n bn = bn.toArray()\n }\n var buf = new Buffer(bn)\n if (len && buf.length < len) {\n var zeros = new Buffer(len - buf.length)\n zeros.fill(0)\n buf = Buffer.concat([zeros, buf])\n }\n if (!enc) {\n return buf\n } else {\n return buf.toString(enc)\n }\n}\n","(function (module, exports) {\n 'use strict';\n\n // Utils\n function assert (val, msg) {\n if (!val) throw new Error(msg || 'Assertion failed');\n }\n\n // Could use `inherits` module, but don't want to move from single file\n // architecture yet.\n function inherits (ctor, superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function () {};\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n }\n\n // BN\n\n function BN (number, base, endian) {\n if (BN.isBN(number)) {\n return number;\n }\n\n this.negative = 0;\n this.words = null;\n this.length = 0;\n\n // Reduction context\n this.red = null;\n\n if (number !== null) {\n if (base === 'le' || base === 'be') {\n endian = base;\n base = 10;\n }\n\n this._init(number || 0, base || 10, endian || 'be');\n }\n }\n if (typeof module === 'object') {\n module.exports = BN;\n } else {\n exports.BN = BN;\n }\n\n BN.BN = BN;\n BN.wordSize = 26;\n\n var Buffer;\n try {\n if (typeof window !== 'undefined' && typeof window.Buffer !== 'undefined') {\n Buffer = window.Buffer;\n } else {\n Buffer = require('buffer').Buffer;\n }\n } catch (e) {\n }\n\n BN.isBN = function isBN (num) {\n if (num instanceof BN) {\n return true;\n }\n\n return num !== null && typeof num === 'object' &&\n num.constructor.wordSize === BN.wordSize && Array.isArray(num.words);\n };\n\n BN.max = function max (left, right) {\n if (left.cmp(right) > 0) return left;\n return right;\n };\n\n BN.min = function min (left, right) {\n if (left.cmp(right) < 0) return left;\n return right;\n };\n\n BN.prototype._init = function init (number, base, endian) {\n if (typeof number === 'number') {\n return this._initNumber(number, base, endian);\n }\n\n if (typeof number === 'object') {\n return this._initArray(number, base, endian);\n }\n\n if (base === 'hex') {\n base = 16;\n }\n assert(base === (base | 0) && base >= 2 && base <= 36);\n\n number = number.toString().replace(/\\s+/g, '');\n var start = 0;\n if (number[0] === '-') {\n start++;\n this.negative = 1;\n }\n\n if (start < number.length) {\n if (base === 16) {\n this._parseHex(number, start, endian);\n } else {\n this._parseBase(number, base, start);\n if (endian === 'le') {\n this._initArray(this.toArray(), base, endian);\n }\n }\n }\n };\n\n BN.prototype._initNumber = function _initNumber (number, base, endian) {\n if (number < 0) {\n this.negative = 1;\n number = -number;\n }\n if (number < 0x4000000) {\n this.words = [ number & 0x3ffffff ];\n this.length = 1;\n } else if (number < 0x10000000000000) {\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff\n ];\n this.length = 2;\n } else {\n assert(number < 0x20000000000000); // 2 ^ 53 (unsafe)\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff,\n 1\n ];\n this.length = 3;\n }\n\n if (endian !== 'le') return;\n\n // Reverse the bytes\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initArray = function _initArray (number, base, endian) {\n // Perhaps a Uint8Array\n assert(typeof number.length === 'number');\n if (number.length <= 0) {\n this.words = [ 0 ];\n this.length = 1;\n return this;\n }\n\n this.length = Math.ceil(number.length / 3);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n var off = 0;\n if (endian === 'be') {\n for (i = number.length - 1, j = 0; i >= 0; i -= 3) {\n w = number[i] | (number[i - 1] << 8) | (number[i - 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n } else if (endian === 'le') {\n for (i = 0, j = 0; i < number.length; i += 3) {\n w = number[i] | (number[i + 1] << 8) | (number[i + 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n }\n return this.strip();\n };\n\n function parseHex4Bits (string, index) {\n var c = string.charCodeAt(index);\n // 'A' - 'F'\n if (c >= 65 && c <= 70) {\n return c - 55;\n // 'a' - 'f'\n } else if (c >= 97 && c <= 102) {\n return c - 87;\n // '0' - '9'\n } else {\n return (c - 48) & 0xf;\n }\n }\n\n function parseHexByte (string, lowerBound, index) {\n var r = parseHex4Bits(string, index);\n if (index - 1 >= lowerBound) {\n r |= parseHex4Bits(string, index - 1) << 4;\n }\n return r;\n }\n\n BN.prototype._parseHex = function _parseHex (number, start, endian) {\n // Create possibly bigger array to ensure that it fits the number\n this.length = Math.ceil((number.length - start) / 6);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n // 24-bits chunks\n var off = 0;\n var j = 0;\n\n var w;\n if (endian === 'be') {\n for (i = number.length - 1; i >= start; i -= 2) {\n w = parseHexByte(number, start, i) << off;\n this.words[j] |= w & 0x3ffffff;\n if (off >= 18) {\n off -= 18;\n j += 1;\n this.words[j] |= w >>> 26;\n } else {\n off += 8;\n }\n }\n } else {\n var parseLength = number.length - start;\n for (i = parseLength % 2 === 0 ? start + 1 : start; i < number.length; i += 2) {\n w = parseHexByte(number, start, i) << off;\n this.words[j] |= w & 0x3ffffff;\n if (off >= 18) {\n off -= 18;\n j += 1;\n this.words[j] |= w >>> 26;\n } else {\n off += 8;\n }\n }\n }\n\n this.strip();\n };\n\n function parseBase (str, start, end, mul) {\n var r = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r *= mul;\n\n // 'a'\n if (c >= 49) {\n r += c - 49 + 0xa;\n\n // 'A'\n } else if (c >= 17) {\n r += c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n r += c;\n }\n }\n return r;\n }\n\n BN.prototype._parseBase = function _parseBase (number, base, start) {\n // Initialize as zero\n this.words = [ 0 ];\n this.length = 1;\n\n // Find length of limb in base\n for (var limbLen = 0, limbPow = 1; limbPow <= 0x3ffffff; limbPow *= base) {\n limbLen++;\n }\n limbLen--;\n limbPow = (limbPow / base) | 0;\n\n var total = number.length - start;\n var mod = total % limbLen;\n var end = Math.min(total, total - mod) + start;\n\n var word = 0;\n for (var i = start; i < end; i += limbLen) {\n word = parseBase(number, i, i + limbLen, base);\n\n this.imuln(limbPow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n if (mod !== 0) {\n var pow = 1;\n word = parseBase(number, i, number.length, base);\n\n for (i = 0; i < mod; i++) {\n pow *= base;\n }\n\n this.imuln(pow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n this.strip();\n };\n\n BN.prototype.copy = function copy (dest) {\n dest.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n dest.words[i] = this.words[i];\n }\n dest.length = this.length;\n dest.negative = this.negative;\n dest.red = this.red;\n };\n\n BN.prototype.clone = function clone () {\n var r = new BN(null);\n this.copy(r);\n return r;\n };\n\n BN.prototype._expand = function _expand (size) {\n while (this.length < size) {\n this.words[this.length++] = 0;\n }\n return this;\n };\n\n // Remove leading `0` from `this`\n BN.prototype.strip = function strip () {\n while (this.length > 1 && this.words[this.length - 1] === 0) {\n this.length--;\n }\n return this._normSign();\n };\n\n BN.prototype._normSign = function _normSign () {\n // -0 = 0\n if (this.length === 1 && this.words[0] === 0) {\n this.negative = 0;\n }\n return this;\n };\n\n BN.prototype.inspect = function inspect () {\n return (this.red ? '';\n };\n\n /*\n\n var zeros = [];\n var groupSizes = [];\n var groupBases = [];\n\n var s = '';\n var i = -1;\n while (++i < BN.wordSize) {\n zeros[i] = s;\n s += '0';\n }\n groupSizes[0] = 0;\n groupSizes[1] = 0;\n groupBases[0] = 0;\n groupBases[1] = 0;\n var base = 2 - 1;\n while (++base < 36 + 1) {\n var groupSize = 0;\n var groupBase = 1;\n while (groupBase < (1 << BN.wordSize) / base) {\n groupBase *= base;\n groupSize += 1;\n }\n groupSizes[base] = groupSize;\n groupBases[base] = groupBase;\n }\n\n */\n\n var zeros = [\n '',\n '0',\n '00',\n '000',\n '0000',\n '00000',\n '000000',\n '0000000',\n '00000000',\n '000000000',\n '0000000000',\n '00000000000',\n '000000000000',\n '0000000000000',\n '00000000000000',\n '000000000000000',\n '0000000000000000',\n '00000000000000000',\n '000000000000000000',\n '0000000000000000000',\n '00000000000000000000',\n '000000000000000000000',\n '0000000000000000000000',\n '00000000000000000000000',\n '000000000000000000000000',\n '0000000000000000000000000'\n ];\n\n var groupSizes = [\n 0, 0,\n 25, 16, 12, 11, 10, 9, 8,\n 8, 7, 7, 7, 7, 6, 6,\n 6, 6, 6, 6, 6, 5, 5,\n 5, 5, 5, 5, 5, 5, 5,\n 5, 5, 5, 5, 5, 5, 5\n ];\n\n var groupBases = [\n 0, 0,\n 33554432, 43046721, 16777216, 48828125, 60466176, 40353607, 16777216,\n 43046721, 10000000, 19487171, 35831808, 62748517, 7529536, 11390625,\n 16777216, 24137569, 34012224, 47045881, 64000000, 4084101, 5153632,\n 6436343, 7962624, 9765625, 11881376, 14348907, 17210368, 20511149,\n 24300000, 28629151, 33554432, 39135393, 45435424, 52521875, 60466176\n ];\n\n BN.prototype.toString = function toString (base, padding) {\n base = base || 10;\n padding = padding | 0 || 1;\n\n var out;\n if (base === 16 || base === 'hex') {\n out = '';\n var off = 0;\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = this.words[i];\n var word = (((w << off) | carry) & 0xffffff).toString(16);\n carry = (w >>> (24 - off)) & 0xffffff;\n off += 2;\n if (off >= 26) {\n off -= 26;\n i--;\n }\n if (carry !== 0 || i !== this.length - 1) {\n out = zeros[6 - word.length] + word + out;\n } else {\n out = word + out;\n }\n }\n if (carry !== 0) {\n out = carry.toString(16) + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n if (base === (base | 0) && base >= 2 && base <= 36) {\n // var groupSize = Math.floor(BN.wordSize * Math.LN2 / Math.log(base));\n var groupSize = groupSizes[base];\n // var groupBase = Math.pow(base, groupSize);\n var groupBase = groupBases[base];\n out = '';\n var c = this.clone();\n c.negative = 0;\n while (!c.isZero()) {\n var r = c.modn(groupBase).toString(base);\n c = c.idivn(groupBase);\n\n if (!c.isZero()) {\n out = zeros[groupSize - r.length] + r + out;\n } else {\n out = r + out;\n }\n }\n if (this.isZero()) {\n out = '0' + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n assert(false, 'Base should be between 2 and 36');\n };\n\n BN.prototype.toNumber = function toNumber () {\n var ret = this.words[0];\n if (this.length === 2) {\n ret += this.words[1] * 0x4000000;\n } else if (this.length === 3 && this.words[2] === 0x01) {\n // NOTE: at this stage it is known that the top bit is set\n ret += 0x10000000000000 + (this.words[1] * 0x4000000);\n } else if (this.length > 2) {\n assert(false, 'Number can only safely store up to 53 bits');\n }\n return (this.negative !== 0) ? -ret : ret;\n };\n\n BN.prototype.toJSON = function toJSON () {\n return this.toString(16);\n };\n\n BN.prototype.toBuffer = function toBuffer (endian, length) {\n assert(typeof Buffer !== 'undefined');\n return this.toArrayLike(Buffer, endian, length);\n };\n\n BN.prototype.toArray = function toArray (endian, length) {\n return this.toArrayLike(Array, endian, length);\n };\n\n BN.prototype.toArrayLike = function toArrayLike (ArrayType, endian, length) {\n var byteLength = this.byteLength();\n var reqLength = length || Math.max(1, byteLength);\n assert(byteLength <= reqLength, 'byte array longer than desired length');\n assert(reqLength > 0, 'Requested array length <= 0');\n\n this.strip();\n var littleEndian = endian === 'le';\n var res = new ArrayType(reqLength);\n\n var b, i;\n var q = this.clone();\n if (!littleEndian) {\n // Assume big-endian\n for (i = 0; i < reqLength - byteLength; i++) {\n res[i] = 0;\n }\n\n for (i = 0; !q.isZero(); i++) {\n b = q.andln(0xff);\n q.iushrn(8);\n\n res[reqLength - i - 1] = b;\n }\n } else {\n for (i = 0; !q.isZero(); i++) {\n b = q.andln(0xff);\n q.iushrn(8);\n\n res[i] = b;\n }\n\n for (; i < reqLength; i++) {\n res[i] = 0;\n }\n }\n\n return res;\n };\n\n if (Math.clz32) {\n BN.prototype._countBits = function _countBits (w) {\n return 32 - Math.clz32(w);\n };\n } else {\n BN.prototype._countBits = function _countBits (w) {\n var t = w;\n var r = 0;\n if (t >= 0x1000) {\n r += 13;\n t >>>= 13;\n }\n if (t >= 0x40) {\n r += 7;\n t >>>= 7;\n }\n if (t >= 0x8) {\n r += 4;\n t >>>= 4;\n }\n if (t >= 0x02) {\n r += 2;\n t >>>= 2;\n }\n return r + t;\n };\n }\n\n BN.prototype._zeroBits = function _zeroBits (w) {\n // Short-cut\n if (w === 0) return 26;\n\n var t = w;\n var r = 0;\n if ((t & 0x1fff) === 0) {\n r += 13;\n t >>>= 13;\n }\n if ((t & 0x7f) === 0) {\n r += 7;\n t >>>= 7;\n }\n if ((t & 0xf) === 0) {\n r += 4;\n t >>>= 4;\n }\n if ((t & 0x3) === 0) {\n r += 2;\n t >>>= 2;\n }\n if ((t & 0x1) === 0) {\n r++;\n }\n return r;\n };\n\n // Return number of used bits in a BN\n BN.prototype.bitLength = function bitLength () {\n var w = this.words[this.length - 1];\n var hi = this._countBits(w);\n return (this.length - 1) * 26 + hi;\n };\n\n function toBitArray (num) {\n var w = new Array(num.bitLength());\n\n for (var bit = 0; bit < w.length; bit++) {\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n w[bit] = (num.words[off] & (1 << wbit)) >>> wbit;\n }\n\n return w;\n }\n\n // Number of trailing zero bits\n BN.prototype.zeroBits = function zeroBits () {\n if (this.isZero()) return 0;\n\n var r = 0;\n for (var i = 0; i < this.length; i++) {\n var b = this._zeroBits(this.words[i]);\n r += b;\n if (b !== 26) break;\n }\n return r;\n };\n\n BN.prototype.byteLength = function byteLength () {\n return Math.ceil(this.bitLength() / 8);\n };\n\n BN.prototype.toTwos = function toTwos (width) {\n if (this.negative !== 0) {\n return this.abs().inotn(width).iaddn(1);\n }\n return this.clone();\n };\n\n BN.prototype.fromTwos = function fromTwos (width) {\n if (this.testn(width - 1)) {\n return this.notn(width).iaddn(1).ineg();\n }\n return this.clone();\n };\n\n BN.prototype.isNeg = function isNeg () {\n return this.negative !== 0;\n };\n\n // Return negative clone of `this`\n BN.prototype.neg = function neg () {\n return this.clone().ineg();\n };\n\n BN.prototype.ineg = function ineg () {\n if (!this.isZero()) {\n this.negative ^= 1;\n }\n\n return this;\n };\n\n // Or `num` with `this` in-place\n BN.prototype.iuor = function iuor (num) {\n while (this.length < num.length) {\n this.words[this.length++] = 0;\n }\n\n for (var i = 0; i < num.length; i++) {\n this.words[i] = this.words[i] | num.words[i];\n }\n\n return this.strip();\n };\n\n BN.prototype.ior = function ior (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuor(num);\n };\n\n // Or `num` with `this`\n BN.prototype.or = function or (num) {\n if (this.length > num.length) return this.clone().ior(num);\n return num.clone().ior(this);\n };\n\n BN.prototype.uor = function uor (num) {\n if (this.length > num.length) return this.clone().iuor(num);\n return num.clone().iuor(this);\n };\n\n // And `num` with `this` in-place\n BN.prototype.iuand = function iuand (num) {\n // b = min-length(num, this)\n var b;\n if (this.length > num.length) {\n b = num;\n } else {\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = this.words[i] & num.words[i];\n }\n\n this.length = b.length;\n\n return this.strip();\n };\n\n BN.prototype.iand = function iand (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuand(num);\n };\n\n // And `num` with `this`\n BN.prototype.and = function and (num) {\n if (this.length > num.length) return this.clone().iand(num);\n return num.clone().iand(this);\n };\n\n BN.prototype.uand = function uand (num) {\n if (this.length > num.length) return this.clone().iuand(num);\n return num.clone().iuand(this);\n };\n\n // Xor `num` with `this` in-place\n BN.prototype.iuxor = function iuxor (num) {\n // a.length > b.length\n var a;\n var b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = a.words[i] ^ b.words[i];\n }\n\n if (this !== a) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = a.length;\n\n return this.strip();\n };\n\n BN.prototype.ixor = function ixor (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuxor(num);\n };\n\n // Xor `num` with `this`\n BN.prototype.xor = function xor (num) {\n if (this.length > num.length) return this.clone().ixor(num);\n return num.clone().ixor(this);\n };\n\n BN.prototype.uxor = function uxor (num) {\n if (this.length > num.length) return this.clone().iuxor(num);\n return num.clone().iuxor(this);\n };\n\n // Not ``this`` with ``width`` bitwidth\n BN.prototype.inotn = function inotn (width) {\n assert(typeof width === 'number' && width >= 0);\n\n var bytesNeeded = Math.ceil(width / 26) | 0;\n var bitsLeft = width % 26;\n\n // Extend the buffer with leading zeroes\n this._expand(bytesNeeded);\n\n if (bitsLeft > 0) {\n bytesNeeded--;\n }\n\n // Handle complete words\n for (var i = 0; i < bytesNeeded; i++) {\n this.words[i] = ~this.words[i] & 0x3ffffff;\n }\n\n // Handle the residue\n if (bitsLeft > 0) {\n this.words[i] = ~this.words[i] & (0x3ffffff >> (26 - bitsLeft));\n }\n\n // And remove leading zeroes\n return this.strip();\n };\n\n BN.prototype.notn = function notn (width) {\n return this.clone().inotn(width);\n };\n\n // Set `bit` of `this`\n BN.prototype.setn = function setn (bit, val) {\n assert(typeof bit === 'number' && bit >= 0);\n\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n this._expand(off + 1);\n\n if (val) {\n this.words[off] = this.words[off] | (1 << wbit);\n } else {\n this.words[off] = this.words[off] & ~(1 << wbit);\n }\n\n return this.strip();\n };\n\n // Add `num` to `this` in-place\n BN.prototype.iadd = function iadd (num) {\n var r;\n\n // negative + positive\n if (this.negative !== 0 && num.negative === 0) {\n this.negative = 0;\n r = this.isub(num);\n this.negative ^= 1;\n return this._normSign();\n\n // positive + negative\n } else if (this.negative === 0 && num.negative !== 0) {\n num.negative = 0;\n r = this.isub(num);\n num.negative = 1;\n return r._normSign();\n }\n\n // a.length > b.length\n var a, b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) + (b.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n\n this.length = a.length;\n if (carry !== 0) {\n this.words[this.length] = carry;\n this.length++;\n // Copy the rest of the words\n } else if (a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n return this;\n };\n\n // Add `num` to `this`\n BN.prototype.add = function add (num) {\n var res;\n if (num.negative !== 0 && this.negative === 0) {\n num.negative = 0;\n res = this.sub(num);\n num.negative ^= 1;\n return res;\n } else if (num.negative === 0 && this.negative !== 0) {\n this.negative = 0;\n res = num.sub(this);\n this.negative = 1;\n return res;\n }\n\n if (this.length > num.length) return this.clone().iadd(num);\n\n return num.clone().iadd(this);\n };\n\n // Subtract `num` from `this` in-place\n BN.prototype.isub = function isub (num) {\n // this - (-num) = this + num\n if (num.negative !== 0) {\n num.negative = 0;\n var r = this.iadd(num);\n num.negative = 1;\n return r._normSign();\n\n // -this - num = -(this + num)\n } else if (this.negative !== 0) {\n this.negative = 0;\n this.iadd(num);\n this.negative = 1;\n return this._normSign();\n }\n\n // At this point both numbers are positive\n var cmp = this.cmp(num);\n\n // Optimization - zeroify\n if (cmp === 0) {\n this.negative = 0;\n this.length = 1;\n this.words[0] = 0;\n return this;\n }\n\n // a > b\n var a, b;\n if (cmp > 0) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) - (b.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n\n // Copy rest of the words\n if (carry === 0 && i < a.length && a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = Math.max(this.length, i);\n\n if (a !== this) {\n this.negative = 1;\n }\n\n return this.strip();\n };\n\n // Subtract `num` from `this`\n BN.prototype.sub = function sub (num) {\n return this.clone().isub(num);\n };\n\n function smallMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n var len = (self.length + num.length) | 0;\n out.length = len;\n len = (len - 1) | 0;\n\n // Peel one iteration (compiler can't do it, because of code complexity)\n var a = self.words[0] | 0;\n var b = num.words[0] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n var carry = (r / 0x4000000) | 0;\n out.words[0] = lo;\n\n for (var k = 1; k < len; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = carry >>> 26;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = (k - j) | 0;\n a = self.words[i] | 0;\n b = num.words[j] | 0;\n r = a * b + rword;\n ncarry += (r / 0x4000000) | 0;\n rword = r & 0x3ffffff;\n }\n out.words[k] = rword | 0;\n carry = ncarry | 0;\n }\n if (carry !== 0) {\n out.words[k] = carry | 0;\n } else {\n out.length--;\n }\n\n return out.strip();\n }\n\n // TODO(indutny): it may be reasonable to omit it for users who don't need\n // to work with 256-bit numbers, otherwise it gives 20% improvement for 256-bit\n // multiplication (like elliptic secp256k1).\n var comb10MulTo = function comb10MulTo (self, num, out) {\n var a = self.words;\n var b = num.words;\n var o = out.words;\n var c = 0;\n var lo;\n var mid;\n var hi;\n var a0 = a[0] | 0;\n var al0 = a0 & 0x1fff;\n var ah0 = a0 >>> 13;\n var a1 = a[1] | 0;\n var al1 = a1 & 0x1fff;\n var ah1 = a1 >>> 13;\n var a2 = a[2] | 0;\n var al2 = a2 & 0x1fff;\n var ah2 = a2 >>> 13;\n var a3 = a[3] | 0;\n var al3 = a3 & 0x1fff;\n var ah3 = a3 >>> 13;\n var a4 = a[4] | 0;\n var al4 = a4 & 0x1fff;\n var ah4 = a4 >>> 13;\n var a5 = a[5] | 0;\n var al5 = a5 & 0x1fff;\n var ah5 = a5 >>> 13;\n var a6 = a[6] | 0;\n var al6 = a6 & 0x1fff;\n var ah6 = a6 >>> 13;\n var a7 = a[7] | 0;\n var al7 = a7 & 0x1fff;\n var ah7 = a7 >>> 13;\n var a8 = a[8] | 0;\n var al8 = a8 & 0x1fff;\n var ah8 = a8 >>> 13;\n var a9 = a[9] | 0;\n var al9 = a9 & 0x1fff;\n var ah9 = a9 >>> 13;\n var b0 = b[0] | 0;\n var bl0 = b0 & 0x1fff;\n var bh0 = b0 >>> 13;\n var b1 = b[1] | 0;\n var bl1 = b1 & 0x1fff;\n var bh1 = b1 >>> 13;\n var b2 = b[2] | 0;\n var bl2 = b2 & 0x1fff;\n var bh2 = b2 >>> 13;\n var b3 = b[3] | 0;\n var bl3 = b3 & 0x1fff;\n var bh3 = b3 >>> 13;\n var b4 = b[4] | 0;\n var bl4 = b4 & 0x1fff;\n var bh4 = b4 >>> 13;\n var b5 = b[5] | 0;\n var bl5 = b5 & 0x1fff;\n var bh5 = b5 >>> 13;\n var b6 = b[6] | 0;\n var bl6 = b6 & 0x1fff;\n var bh6 = b6 >>> 13;\n var b7 = b[7] | 0;\n var bl7 = b7 & 0x1fff;\n var bh7 = b7 >>> 13;\n var b8 = b[8] | 0;\n var bl8 = b8 & 0x1fff;\n var bh8 = b8 >>> 13;\n var b9 = b[9] | 0;\n var bl9 = b9 & 0x1fff;\n var bh9 = b9 >>> 13;\n\n out.negative = self.negative ^ num.negative;\n out.length = 19;\n /* k = 0 */\n lo = Math.imul(al0, bl0);\n mid = Math.imul(al0, bh0);\n mid = (mid + Math.imul(ah0, bl0)) | 0;\n hi = Math.imul(ah0, bh0);\n var w0 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w0 >>> 26)) | 0;\n w0 &= 0x3ffffff;\n /* k = 1 */\n lo = Math.imul(al1, bl0);\n mid = Math.imul(al1, bh0);\n mid = (mid + Math.imul(ah1, bl0)) | 0;\n hi = Math.imul(ah1, bh0);\n lo = (lo + Math.imul(al0, bl1)) | 0;\n mid = (mid + Math.imul(al0, bh1)) | 0;\n mid = (mid + Math.imul(ah0, bl1)) | 0;\n hi = (hi + Math.imul(ah0, bh1)) | 0;\n var w1 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w1 >>> 26)) | 0;\n w1 &= 0x3ffffff;\n /* k = 2 */\n lo = Math.imul(al2, bl0);\n mid = Math.imul(al2, bh0);\n mid = (mid + Math.imul(ah2, bl0)) | 0;\n hi = Math.imul(ah2, bh0);\n lo = (lo + Math.imul(al1, bl1)) | 0;\n mid = (mid + Math.imul(al1, bh1)) | 0;\n mid = (mid + Math.imul(ah1, bl1)) | 0;\n hi = (hi + Math.imul(ah1, bh1)) | 0;\n lo = (lo + Math.imul(al0, bl2)) | 0;\n mid = (mid + Math.imul(al0, bh2)) | 0;\n mid = (mid + Math.imul(ah0, bl2)) | 0;\n hi = (hi + Math.imul(ah0, bh2)) | 0;\n var w2 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w2 >>> 26)) | 0;\n w2 &= 0x3ffffff;\n /* k = 3 */\n lo = Math.imul(al3, bl0);\n mid = Math.imul(al3, bh0);\n mid = (mid + Math.imul(ah3, bl0)) | 0;\n hi = Math.imul(ah3, bh0);\n lo = (lo + Math.imul(al2, bl1)) | 0;\n mid = (mid + Math.imul(al2, bh1)) | 0;\n mid = (mid + Math.imul(ah2, bl1)) | 0;\n hi = (hi + Math.imul(ah2, bh1)) | 0;\n lo = (lo + Math.imul(al1, bl2)) | 0;\n mid = (mid + Math.imul(al1, bh2)) | 0;\n mid = (mid + Math.imul(ah1, bl2)) | 0;\n hi = (hi + Math.imul(ah1, bh2)) | 0;\n lo = (lo + Math.imul(al0, bl3)) | 0;\n mid = (mid + Math.imul(al0, bh3)) | 0;\n mid = (mid + Math.imul(ah0, bl3)) | 0;\n hi = (hi + Math.imul(ah0, bh3)) | 0;\n var w3 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w3 >>> 26)) | 0;\n w3 &= 0x3ffffff;\n /* k = 4 */\n lo = Math.imul(al4, bl0);\n mid = Math.imul(al4, bh0);\n mid = (mid + Math.imul(ah4, bl0)) | 0;\n hi = Math.imul(ah4, bh0);\n lo = (lo + Math.imul(al3, bl1)) | 0;\n mid = (mid + Math.imul(al3, bh1)) | 0;\n mid = (mid + Math.imul(ah3, bl1)) | 0;\n hi = (hi + Math.imul(ah3, bh1)) | 0;\n lo = (lo + Math.imul(al2, bl2)) | 0;\n mid = (mid + Math.imul(al2, bh2)) | 0;\n mid = (mid + Math.imul(ah2, bl2)) | 0;\n hi = (hi + Math.imul(ah2, bh2)) | 0;\n lo = (lo + Math.imul(al1, bl3)) | 0;\n mid = (mid + Math.imul(al1, bh3)) | 0;\n mid = (mid + Math.imul(ah1, bl3)) | 0;\n hi = (hi + Math.imul(ah1, bh3)) | 0;\n lo = (lo + Math.imul(al0, bl4)) | 0;\n mid = (mid + Math.imul(al0, bh4)) | 0;\n mid = (mid + Math.imul(ah0, bl4)) | 0;\n hi = (hi + Math.imul(ah0, bh4)) | 0;\n var w4 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w4 >>> 26)) | 0;\n w4 &= 0x3ffffff;\n /* k = 5 */\n lo = Math.imul(al5, bl0);\n mid = Math.imul(al5, bh0);\n mid = (mid + Math.imul(ah5, bl0)) | 0;\n hi = Math.imul(ah5, bh0);\n lo = (lo + Math.imul(al4, bl1)) | 0;\n mid = (mid + Math.imul(al4, bh1)) | 0;\n mid = (mid + Math.imul(ah4, bl1)) | 0;\n hi = (hi + Math.imul(ah4, bh1)) | 0;\n lo = (lo + Math.imul(al3, bl2)) | 0;\n mid = (mid + Math.imul(al3, bh2)) | 0;\n mid = (mid + Math.imul(ah3, bl2)) | 0;\n hi = (hi + Math.imul(ah3, bh2)) | 0;\n lo = (lo + Math.imul(al2, bl3)) | 0;\n mid = (mid + Math.imul(al2, bh3)) | 0;\n mid = (mid + Math.imul(ah2, bl3)) | 0;\n hi = (hi + Math.imul(ah2, bh3)) | 0;\n lo = (lo + Math.imul(al1, bl4)) | 0;\n mid = (mid + Math.imul(al1, bh4)) | 0;\n mid = (mid + Math.imul(ah1, bl4)) | 0;\n hi = (hi + Math.imul(ah1, bh4)) | 0;\n lo = (lo + Math.imul(al0, bl5)) | 0;\n mid = (mid + Math.imul(al0, bh5)) | 0;\n mid = (mid + Math.imul(ah0, bl5)) | 0;\n hi = (hi + Math.imul(ah0, bh5)) | 0;\n var w5 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w5 >>> 26)) | 0;\n w5 &= 0x3ffffff;\n /* k = 6 */\n lo = Math.imul(al6, bl0);\n mid = Math.imul(al6, bh0);\n mid = (mid + Math.imul(ah6, bl0)) | 0;\n hi = Math.imul(ah6, bh0);\n lo = (lo + Math.imul(al5, bl1)) | 0;\n mid = (mid + Math.imul(al5, bh1)) | 0;\n mid = (mid + Math.imul(ah5, bl1)) | 0;\n hi = (hi + Math.imul(ah5, bh1)) | 0;\n lo = (lo + Math.imul(al4, bl2)) | 0;\n mid = (mid + Math.imul(al4, bh2)) | 0;\n mid = (mid + Math.imul(ah4, bl2)) | 0;\n hi = (hi + Math.imul(ah4, bh2)) | 0;\n lo = (lo + Math.imul(al3, bl3)) | 0;\n mid = (mid + Math.imul(al3, bh3)) | 0;\n mid = (mid + Math.imul(ah3, bl3)) | 0;\n hi = (hi + Math.imul(ah3, bh3)) | 0;\n lo = (lo + Math.imul(al2, bl4)) | 0;\n mid = (mid + Math.imul(al2, bh4)) | 0;\n mid = (mid + Math.imul(ah2, bl4)) | 0;\n hi = (hi + Math.imul(ah2, bh4)) | 0;\n lo = (lo + Math.imul(al1, bl5)) | 0;\n mid = (mid + Math.imul(al1, bh5)) | 0;\n mid = (mid + Math.imul(ah1, bl5)) | 0;\n hi = (hi + Math.imul(ah1, bh5)) | 0;\n lo = (lo + Math.imul(al0, bl6)) | 0;\n mid = (mid + Math.imul(al0, bh6)) | 0;\n mid = (mid + Math.imul(ah0, bl6)) | 0;\n hi = (hi + Math.imul(ah0, bh6)) | 0;\n var w6 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w6 >>> 26)) | 0;\n w6 &= 0x3ffffff;\n /* k = 7 */\n lo = Math.imul(al7, bl0);\n mid = Math.imul(al7, bh0);\n mid = (mid + Math.imul(ah7, bl0)) | 0;\n hi = Math.imul(ah7, bh0);\n lo = (lo + Math.imul(al6, bl1)) | 0;\n mid = (mid + Math.imul(al6, bh1)) | 0;\n mid = (mid + Math.imul(ah6, bl1)) | 0;\n hi = (hi + Math.imul(ah6, bh1)) | 0;\n lo = (lo + Math.imul(al5, bl2)) | 0;\n mid = (mid + Math.imul(al5, bh2)) | 0;\n mid = (mid + Math.imul(ah5, bl2)) | 0;\n hi = (hi + Math.imul(ah5, bh2)) | 0;\n lo = (lo + Math.imul(al4, bl3)) | 0;\n mid = (mid + Math.imul(al4, bh3)) | 0;\n mid = (mid + Math.imul(ah4, bl3)) | 0;\n hi = (hi + Math.imul(ah4, bh3)) | 0;\n lo = (lo + Math.imul(al3, bl4)) | 0;\n mid = (mid + Math.imul(al3, bh4)) | 0;\n mid = (mid + Math.imul(ah3, bl4)) | 0;\n hi = (hi + Math.imul(ah3, bh4)) | 0;\n lo = (lo + Math.imul(al2, bl5)) | 0;\n mid = (mid + Math.imul(al2, bh5)) | 0;\n mid = (mid + Math.imul(ah2, bl5)) | 0;\n hi = (hi + Math.imul(ah2, bh5)) | 0;\n lo = (lo + Math.imul(al1, bl6)) | 0;\n mid = (mid + Math.imul(al1, bh6)) | 0;\n mid = (mid + Math.imul(ah1, bl6)) | 0;\n hi = (hi + Math.imul(ah1, bh6)) | 0;\n lo = (lo + Math.imul(al0, bl7)) | 0;\n mid = (mid + Math.imul(al0, bh7)) | 0;\n mid = (mid + Math.imul(ah0, bl7)) | 0;\n hi = (hi + Math.imul(ah0, bh7)) | 0;\n var w7 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w7 >>> 26)) | 0;\n w7 &= 0x3ffffff;\n /* k = 8 */\n lo = Math.imul(al8, bl0);\n mid = Math.imul(al8, bh0);\n mid = (mid + Math.imul(ah8, bl0)) | 0;\n hi = Math.imul(ah8, bh0);\n lo = (lo + Math.imul(al7, bl1)) | 0;\n mid = (mid + Math.imul(al7, bh1)) | 0;\n mid = (mid + Math.imul(ah7, bl1)) | 0;\n hi = (hi + Math.imul(ah7, bh1)) | 0;\n lo = (lo + Math.imul(al6, bl2)) | 0;\n mid = (mid + Math.imul(al6, bh2)) | 0;\n mid = (mid + Math.imul(ah6, bl2)) | 0;\n hi = (hi + Math.imul(ah6, bh2)) | 0;\n lo = (lo + Math.imul(al5, bl3)) | 0;\n mid = (mid + Math.imul(al5, bh3)) | 0;\n mid = (mid + Math.imul(ah5, bl3)) | 0;\n hi = (hi + Math.imul(ah5, bh3)) | 0;\n lo = (lo + Math.imul(al4, bl4)) | 0;\n mid = (mid + Math.imul(al4, bh4)) | 0;\n mid = (mid + Math.imul(ah4, bl4)) | 0;\n hi = (hi + Math.imul(ah4, bh4)) | 0;\n lo = (lo + Math.imul(al3, bl5)) | 0;\n mid = (mid + Math.imul(al3, bh5)) | 0;\n mid = (mid + Math.imul(ah3, bl5)) | 0;\n hi = (hi + Math.imul(ah3, bh5)) | 0;\n lo = (lo + Math.imul(al2, bl6)) | 0;\n mid = (mid + Math.imul(al2, bh6)) | 0;\n mid = (mid + Math.imul(ah2, bl6)) | 0;\n hi = (hi + Math.imul(ah2, bh6)) | 0;\n lo = (lo + Math.imul(al1, bl7)) | 0;\n mid = (mid + Math.imul(al1, bh7)) | 0;\n mid = (mid + Math.imul(ah1, bl7)) | 0;\n hi = (hi + Math.imul(ah1, bh7)) | 0;\n lo = (lo + Math.imul(al0, bl8)) | 0;\n mid = (mid + Math.imul(al0, bh8)) | 0;\n mid = (mid + Math.imul(ah0, bl8)) | 0;\n hi = (hi + Math.imul(ah0, bh8)) | 0;\n var w8 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w8 >>> 26)) | 0;\n w8 &= 0x3ffffff;\n /* k = 9 */\n lo = Math.imul(al9, bl0);\n mid = Math.imul(al9, bh0);\n mid = (mid + Math.imul(ah9, bl0)) | 0;\n hi = Math.imul(ah9, bh0);\n lo = (lo + Math.imul(al8, bl1)) | 0;\n mid = (mid + Math.imul(al8, bh1)) | 0;\n mid = (mid + Math.imul(ah8, bl1)) | 0;\n hi = (hi + Math.imul(ah8, bh1)) | 0;\n lo = (lo + Math.imul(al7, bl2)) | 0;\n mid = (mid + Math.imul(al7, bh2)) | 0;\n mid = (mid + Math.imul(ah7, bl2)) | 0;\n hi = (hi + Math.imul(ah7, bh2)) | 0;\n lo = (lo + Math.imul(al6, bl3)) | 0;\n mid = (mid + Math.imul(al6, bh3)) | 0;\n mid = (mid + Math.imul(ah6, bl3)) | 0;\n hi = (hi + Math.imul(ah6, bh3)) | 0;\n lo = (lo + Math.imul(al5, bl4)) | 0;\n mid = (mid + Math.imul(al5, bh4)) | 0;\n mid = (mid + Math.imul(ah5, bl4)) | 0;\n hi = (hi + Math.imul(ah5, bh4)) | 0;\n lo = (lo + Math.imul(al4, bl5)) | 0;\n mid = (mid + Math.imul(al4, bh5)) | 0;\n mid = (mid + Math.imul(ah4, bl5)) | 0;\n hi = (hi + Math.imul(ah4, bh5)) | 0;\n lo = (lo + Math.imul(al3, bl6)) | 0;\n mid = (mid + Math.imul(al3, bh6)) | 0;\n mid = (mid + Math.imul(ah3, bl6)) | 0;\n hi = (hi + Math.imul(ah3, bh6)) | 0;\n lo = (lo + Math.imul(al2, bl7)) | 0;\n mid = (mid + Math.imul(al2, bh7)) | 0;\n mid = (mid + Math.imul(ah2, bl7)) | 0;\n hi = (hi + Math.imul(ah2, bh7)) | 0;\n lo = (lo + Math.imul(al1, bl8)) | 0;\n mid = (mid + Math.imul(al1, bh8)) | 0;\n mid = (mid + Math.imul(ah1, bl8)) | 0;\n hi = (hi + Math.imul(ah1, bh8)) | 0;\n lo = (lo + Math.imul(al0, bl9)) | 0;\n mid = (mid + Math.imul(al0, bh9)) | 0;\n mid = (mid + Math.imul(ah0, bl9)) | 0;\n hi = (hi + Math.imul(ah0, bh9)) | 0;\n var w9 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w9 >>> 26)) | 0;\n w9 &= 0x3ffffff;\n /* k = 10 */\n lo = Math.imul(al9, bl1);\n mid = Math.imul(al9, bh1);\n mid = (mid + Math.imul(ah9, bl1)) | 0;\n hi = Math.imul(ah9, bh1);\n lo = (lo + Math.imul(al8, bl2)) | 0;\n mid = (mid + Math.imul(al8, bh2)) | 0;\n mid = (mid + Math.imul(ah8, bl2)) | 0;\n hi = (hi + Math.imul(ah8, bh2)) | 0;\n lo = (lo + Math.imul(al7, bl3)) | 0;\n mid = (mid + Math.imul(al7, bh3)) | 0;\n mid = (mid + Math.imul(ah7, bl3)) | 0;\n hi = (hi + Math.imul(ah7, bh3)) | 0;\n lo = (lo + Math.imul(al6, bl4)) | 0;\n mid = (mid + Math.imul(al6, bh4)) | 0;\n mid = (mid + Math.imul(ah6, bl4)) | 0;\n hi = (hi + Math.imul(ah6, bh4)) | 0;\n lo = (lo + Math.imul(al5, bl5)) | 0;\n mid = (mid + Math.imul(al5, bh5)) | 0;\n mid = (mid + Math.imul(ah5, bl5)) | 0;\n hi = (hi + Math.imul(ah5, bh5)) | 0;\n lo = (lo + Math.imul(al4, bl6)) | 0;\n mid = (mid + Math.imul(al4, bh6)) | 0;\n mid = (mid + Math.imul(ah4, bl6)) | 0;\n hi = (hi + Math.imul(ah4, bh6)) | 0;\n lo = (lo + Math.imul(al3, bl7)) | 0;\n mid = (mid + Math.imul(al3, bh7)) | 0;\n mid = (mid + Math.imul(ah3, bl7)) | 0;\n hi = (hi + Math.imul(ah3, bh7)) | 0;\n lo = (lo + Math.imul(al2, bl8)) | 0;\n mid = (mid + Math.imul(al2, bh8)) | 0;\n mid = (mid + Math.imul(ah2, bl8)) | 0;\n hi = (hi + Math.imul(ah2, bh8)) | 0;\n lo = (lo + Math.imul(al1, bl9)) | 0;\n mid = (mid + Math.imul(al1, bh9)) | 0;\n mid = (mid + Math.imul(ah1, bl9)) | 0;\n hi = (hi + Math.imul(ah1, bh9)) | 0;\n var w10 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w10 >>> 26)) | 0;\n w10 &= 0x3ffffff;\n /* k = 11 */\n lo = Math.imul(al9, bl2);\n mid = Math.imul(al9, bh2);\n mid = (mid + Math.imul(ah9, bl2)) | 0;\n hi = Math.imul(ah9, bh2);\n lo = (lo + Math.imul(al8, bl3)) | 0;\n mid = (mid + Math.imul(al8, bh3)) | 0;\n mid = (mid + Math.imul(ah8, bl3)) | 0;\n hi = (hi + Math.imul(ah8, bh3)) | 0;\n lo = (lo + Math.imul(al7, bl4)) | 0;\n mid = (mid + Math.imul(al7, bh4)) | 0;\n mid = (mid + Math.imul(ah7, bl4)) | 0;\n hi = (hi + Math.imul(ah7, bh4)) | 0;\n lo = (lo + Math.imul(al6, bl5)) | 0;\n mid = (mid + Math.imul(al6, bh5)) | 0;\n mid = (mid + Math.imul(ah6, bl5)) | 0;\n hi = (hi + Math.imul(ah6, bh5)) | 0;\n lo = (lo + Math.imul(al5, bl6)) | 0;\n mid = (mid + Math.imul(al5, bh6)) | 0;\n mid = (mid + Math.imul(ah5, bl6)) | 0;\n hi = (hi + Math.imul(ah5, bh6)) | 0;\n lo = (lo + Math.imul(al4, bl7)) | 0;\n mid = (mid + Math.imul(al4, bh7)) | 0;\n mid = (mid + Math.imul(ah4, bl7)) | 0;\n hi = (hi + Math.imul(ah4, bh7)) | 0;\n lo = (lo + Math.imul(al3, bl8)) | 0;\n mid = (mid + Math.imul(al3, bh8)) | 0;\n mid = (mid + Math.imul(ah3, bl8)) | 0;\n hi = (hi + Math.imul(ah3, bh8)) | 0;\n lo = (lo + Math.imul(al2, bl9)) | 0;\n mid = (mid + Math.imul(al2, bh9)) | 0;\n mid = (mid + Math.imul(ah2, bl9)) | 0;\n hi = (hi + Math.imul(ah2, bh9)) | 0;\n var w11 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w11 >>> 26)) | 0;\n w11 &= 0x3ffffff;\n /* k = 12 */\n lo = Math.imul(al9, bl3);\n mid = Math.imul(al9, bh3);\n mid = (mid + Math.imul(ah9, bl3)) | 0;\n hi = Math.imul(ah9, bh3);\n lo = (lo + Math.imul(al8, bl4)) | 0;\n mid = (mid + Math.imul(al8, bh4)) | 0;\n mid = (mid + Math.imul(ah8, bl4)) | 0;\n hi = (hi + Math.imul(ah8, bh4)) | 0;\n lo = (lo + Math.imul(al7, bl5)) | 0;\n mid = (mid + Math.imul(al7, bh5)) | 0;\n mid = (mid + Math.imul(ah7, bl5)) | 0;\n hi = (hi + Math.imul(ah7, bh5)) | 0;\n lo = (lo + Math.imul(al6, bl6)) | 0;\n mid = (mid + Math.imul(al6, bh6)) | 0;\n mid = (mid + Math.imul(ah6, bl6)) | 0;\n hi = (hi + Math.imul(ah6, bh6)) | 0;\n lo = (lo + Math.imul(al5, bl7)) | 0;\n mid = (mid + Math.imul(al5, bh7)) | 0;\n mid = (mid + Math.imul(ah5, bl7)) | 0;\n hi = (hi + Math.imul(ah5, bh7)) | 0;\n lo = (lo + Math.imul(al4, bl8)) | 0;\n mid = (mid + Math.imul(al4, bh8)) | 0;\n mid = (mid + Math.imul(ah4, bl8)) | 0;\n hi = (hi + Math.imul(ah4, bh8)) | 0;\n lo = (lo + Math.imul(al3, bl9)) | 0;\n mid = (mid + Math.imul(al3, bh9)) | 0;\n mid = (mid + Math.imul(ah3, bl9)) | 0;\n hi = (hi + Math.imul(ah3, bh9)) | 0;\n var w12 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w12 >>> 26)) | 0;\n w12 &= 0x3ffffff;\n /* k = 13 */\n lo = Math.imul(al9, bl4);\n mid = Math.imul(al9, bh4);\n mid = (mid + Math.imul(ah9, bl4)) | 0;\n hi = Math.imul(ah9, bh4);\n lo = (lo + Math.imul(al8, bl5)) | 0;\n mid = (mid + Math.imul(al8, bh5)) | 0;\n mid = (mid + Math.imul(ah8, bl5)) | 0;\n hi = (hi + Math.imul(ah8, bh5)) | 0;\n lo = (lo + Math.imul(al7, bl6)) | 0;\n mid = (mid + Math.imul(al7, bh6)) | 0;\n mid = (mid + Math.imul(ah7, bl6)) | 0;\n hi = (hi + Math.imul(ah7, bh6)) | 0;\n lo = (lo + Math.imul(al6, bl7)) | 0;\n mid = (mid + Math.imul(al6, bh7)) | 0;\n mid = (mid + Math.imul(ah6, bl7)) | 0;\n hi = (hi + Math.imul(ah6, bh7)) | 0;\n lo = (lo + Math.imul(al5, bl8)) | 0;\n mid = (mid + Math.imul(al5, bh8)) | 0;\n mid = (mid + Math.imul(ah5, bl8)) | 0;\n hi = (hi + Math.imul(ah5, bh8)) | 0;\n lo = (lo + Math.imul(al4, bl9)) | 0;\n mid = (mid + Math.imul(al4, bh9)) | 0;\n mid = (mid + Math.imul(ah4, bl9)) | 0;\n hi = (hi + Math.imul(ah4, bh9)) | 0;\n var w13 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w13 >>> 26)) | 0;\n w13 &= 0x3ffffff;\n /* k = 14 */\n lo = Math.imul(al9, bl5);\n mid = Math.imul(al9, bh5);\n mid = (mid + Math.imul(ah9, bl5)) | 0;\n hi = Math.imul(ah9, bh5);\n lo = (lo + Math.imul(al8, bl6)) | 0;\n mid = (mid + Math.imul(al8, bh6)) | 0;\n mid = (mid + Math.imul(ah8, bl6)) | 0;\n hi = (hi + Math.imul(ah8, bh6)) | 0;\n lo = (lo + Math.imul(al7, bl7)) | 0;\n mid = (mid + Math.imul(al7, bh7)) | 0;\n mid = (mid + Math.imul(ah7, bl7)) | 0;\n hi = (hi + Math.imul(ah7, bh7)) | 0;\n lo = (lo + Math.imul(al6, bl8)) | 0;\n mid = (mid + Math.imul(al6, bh8)) | 0;\n mid = (mid + Math.imul(ah6, bl8)) | 0;\n hi = (hi + Math.imul(ah6, bh8)) | 0;\n lo = (lo + Math.imul(al5, bl9)) | 0;\n mid = (mid + Math.imul(al5, bh9)) | 0;\n mid = (mid + Math.imul(ah5, bl9)) | 0;\n hi = (hi + Math.imul(ah5, bh9)) | 0;\n var w14 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w14 >>> 26)) | 0;\n w14 &= 0x3ffffff;\n /* k = 15 */\n lo = Math.imul(al9, bl6);\n mid = Math.imul(al9, bh6);\n mid = (mid + Math.imul(ah9, bl6)) | 0;\n hi = Math.imul(ah9, bh6);\n lo = (lo + Math.imul(al8, bl7)) | 0;\n mid = (mid + Math.imul(al8, bh7)) | 0;\n mid = (mid + Math.imul(ah8, bl7)) | 0;\n hi = (hi + Math.imul(ah8, bh7)) | 0;\n lo = (lo + Math.imul(al7, bl8)) | 0;\n mid = (mid + Math.imul(al7, bh8)) | 0;\n mid = (mid + Math.imul(ah7, bl8)) | 0;\n hi = (hi + Math.imul(ah7, bh8)) | 0;\n lo = (lo + Math.imul(al6, bl9)) | 0;\n mid = (mid + Math.imul(al6, bh9)) | 0;\n mid = (mid + Math.imul(ah6, bl9)) | 0;\n hi = (hi + Math.imul(ah6, bh9)) | 0;\n var w15 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w15 >>> 26)) | 0;\n w15 &= 0x3ffffff;\n /* k = 16 */\n lo = Math.imul(al9, bl7);\n mid = Math.imul(al9, bh7);\n mid = (mid + Math.imul(ah9, bl7)) | 0;\n hi = Math.imul(ah9, bh7);\n lo = (lo + Math.imul(al8, bl8)) | 0;\n mid = (mid + Math.imul(al8, bh8)) | 0;\n mid = (mid + Math.imul(ah8, bl8)) | 0;\n hi = (hi + Math.imul(ah8, bh8)) | 0;\n lo = (lo + Math.imul(al7, bl9)) | 0;\n mid = (mid + Math.imul(al7, bh9)) | 0;\n mid = (mid + Math.imul(ah7, bl9)) | 0;\n hi = (hi + Math.imul(ah7, bh9)) | 0;\n var w16 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w16 >>> 26)) | 0;\n w16 &= 0x3ffffff;\n /* k = 17 */\n lo = Math.imul(al9, bl8);\n mid = Math.imul(al9, bh8);\n mid = (mid + Math.imul(ah9, bl8)) | 0;\n hi = Math.imul(ah9, bh8);\n lo = (lo + Math.imul(al8, bl9)) | 0;\n mid = (mid + Math.imul(al8, bh9)) | 0;\n mid = (mid + Math.imul(ah8, bl9)) | 0;\n hi = (hi + Math.imul(ah8, bh9)) | 0;\n var w17 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w17 >>> 26)) | 0;\n w17 &= 0x3ffffff;\n /* k = 18 */\n lo = Math.imul(al9, bl9);\n mid = Math.imul(al9, bh9);\n mid = (mid + Math.imul(ah9, bl9)) | 0;\n hi = Math.imul(ah9, bh9);\n var w18 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w18 >>> 26)) | 0;\n w18 &= 0x3ffffff;\n o[0] = w0;\n o[1] = w1;\n o[2] = w2;\n o[3] = w3;\n o[4] = w4;\n o[5] = w5;\n o[6] = w6;\n o[7] = w7;\n o[8] = w8;\n o[9] = w9;\n o[10] = w10;\n o[11] = w11;\n o[12] = w12;\n o[13] = w13;\n o[14] = w14;\n o[15] = w15;\n o[16] = w16;\n o[17] = w17;\n o[18] = w18;\n if (c !== 0) {\n o[19] = c;\n out.length++;\n }\n return out;\n };\n\n // Polyfill comb\n if (!Math.imul) {\n comb10MulTo = smallMulTo;\n }\n\n function bigMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n out.length = self.length + num.length;\n\n var carry = 0;\n var hncarry = 0;\n for (var k = 0; k < out.length - 1; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = hncarry;\n hncarry = 0;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = k - j;\n var a = self.words[i] | 0;\n var b = num.words[j] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n ncarry = (ncarry + ((r / 0x4000000) | 0)) | 0;\n lo = (lo + rword) | 0;\n rword = lo & 0x3ffffff;\n ncarry = (ncarry + (lo >>> 26)) | 0;\n\n hncarry += ncarry >>> 26;\n ncarry &= 0x3ffffff;\n }\n out.words[k] = rword;\n carry = ncarry;\n ncarry = hncarry;\n }\n if (carry !== 0) {\n out.words[k] = carry;\n } else {\n out.length--;\n }\n\n return out.strip();\n }\n\n function jumboMulTo (self, num, out) {\n var fftm = new FFTM();\n return fftm.mulp(self, num, out);\n }\n\n BN.prototype.mulTo = function mulTo (num, out) {\n var res;\n var len = this.length + num.length;\n if (this.length === 10 && num.length === 10) {\n res = comb10MulTo(this, num, out);\n } else if (len < 63) {\n res = smallMulTo(this, num, out);\n } else if (len < 1024) {\n res = bigMulTo(this, num, out);\n } else {\n res = jumboMulTo(this, num, out);\n }\n\n return res;\n };\n\n // Cooley-Tukey algorithm for FFT\n // slightly revisited to rely on looping instead of recursion\n\n function FFTM (x, y) {\n this.x = x;\n this.y = y;\n }\n\n FFTM.prototype.makeRBT = function makeRBT (N) {\n var t = new Array(N);\n var l = BN.prototype._countBits(N) - 1;\n for (var i = 0; i < N; i++) {\n t[i] = this.revBin(i, l, N);\n }\n\n return t;\n };\n\n // Returns binary-reversed representation of `x`\n FFTM.prototype.revBin = function revBin (x, l, N) {\n if (x === 0 || x === N - 1) return x;\n\n var rb = 0;\n for (var i = 0; i < l; i++) {\n rb |= (x & 1) << (l - i - 1);\n x >>= 1;\n }\n\n return rb;\n };\n\n // Performs \"tweedling\" phase, therefore 'emulating'\n // behaviour of the recursive algorithm\n FFTM.prototype.permute = function permute (rbt, rws, iws, rtws, itws, N) {\n for (var i = 0; i < N; i++) {\n rtws[i] = rws[rbt[i]];\n itws[i] = iws[rbt[i]];\n }\n };\n\n FFTM.prototype.transform = function transform (rws, iws, rtws, itws, N, rbt) {\n this.permute(rbt, rws, iws, rtws, itws, N);\n\n for (var s = 1; s < N; s <<= 1) {\n var l = s << 1;\n\n var rtwdf = Math.cos(2 * Math.PI / l);\n var itwdf = Math.sin(2 * Math.PI / l);\n\n for (var p = 0; p < N; p += l) {\n var rtwdf_ = rtwdf;\n var itwdf_ = itwdf;\n\n for (var j = 0; j < s; j++) {\n var re = rtws[p + j];\n var ie = itws[p + j];\n\n var ro = rtws[p + j + s];\n var io = itws[p + j + s];\n\n var rx = rtwdf_ * ro - itwdf_ * io;\n\n io = rtwdf_ * io + itwdf_ * ro;\n ro = rx;\n\n rtws[p + j] = re + ro;\n itws[p + j] = ie + io;\n\n rtws[p + j + s] = re - ro;\n itws[p + j + s] = ie - io;\n\n /* jshint maxdepth : false */\n if (j !== l) {\n rx = rtwdf * rtwdf_ - itwdf * itwdf_;\n\n itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_;\n rtwdf_ = rx;\n }\n }\n }\n }\n };\n\n FFTM.prototype.guessLen13b = function guessLen13b (n, m) {\n var N = Math.max(m, n) | 1;\n var odd = N & 1;\n var i = 0;\n for (N = N / 2 | 0; N; N = N >>> 1) {\n i++;\n }\n\n return 1 << i + 1 + odd;\n };\n\n FFTM.prototype.conjugate = function conjugate (rws, iws, N) {\n if (N <= 1) return;\n\n for (var i = 0; i < N / 2; i++) {\n var t = rws[i];\n\n rws[i] = rws[N - i - 1];\n rws[N - i - 1] = t;\n\n t = iws[i];\n\n iws[i] = -iws[N - i - 1];\n iws[N - i - 1] = -t;\n }\n };\n\n FFTM.prototype.normalize13b = function normalize13b (ws, N) {\n var carry = 0;\n for (var i = 0; i < N / 2; i++) {\n var w = Math.round(ws[2 * i + 1] / N) * 0x2000 +\n Math.round(ws[2 * i] / N) +\n carry;\n\n ws[i] = w & 0x3ffffff;\n\n if (w < 0x4000000) {\n carry = 0;\n } else {\n carry = w / 0x4000000 | 0;\n }\n }\n\n return ws;\n };\n\n FFTM.prototype.convert13b = function convert13b (ws, len, rws, N) {\n var carry = 0;\n for (var i = 0; i < len; i++) {\n carry = carry + (ws[i] | 0);\n\n rws[2 * i] = carry & 0x1fff; carry = carry >>> 13;\n rws[2 * i + 1] = carry & 0x1fff; carry = carry >>> 13;\n }\n\n // Pad with zeroes\n for (i = 2 * len; i < N; ++i) {\n rws[i] = 0;\n }\n\n assert(carry === 0);\n assert((carry & ~0x1fff) === 0);\n };\n\n FFTM.prototype.stub = function stub (N) {\n var ph = new Array(N);\n for (var i = 0; i < N; i++) {\n ph[i] = 0;\n }\n\n return ph;\n };\n\n FFTM.prototype.mulp = function mulp (x, y, out) {\n var N = 2 * this.guessLen13b(x.length, y.length);\n\n var rbt = this.makeRBT(N);\n\n var _ = this.stub(N);\n\n var rws = new Array(N);\n var rwst = new Array(N);\n var iwst = new Array(N);\n\n var nrws = new Array(N);\n var nrwst = new Array(N);\n var niwst = new Array(N);\n\n var rmws = out.words;\n rmws.length = N;\n\n this.convert13b(x.words, x.length, rws, N);\n this.convert13b(y.words, y.length, nrws, N);\n\n this.transform(rws, _, rwst, iwst, N, rbt);\n this.transform(nrws, _, nrwst, niwst, N, rbt);\n\n for (var i = 0; i < N; i++) {\n var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i];\n iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i];\n rwst[i] = rx;\n }\n\n this.conjugate(rwst, iwst, N);\n this.transform(rwst, iwst, rmws, _, N, rbt);\n this.conjugate(rmws, _, N);\n this.normalize13b(rmws, N);\n\n out.negative = x.negative ^ y.negative;\n out.length = x.length + y.length;\n return out.strip();\n };\n\n // Multiply `this` by `num`\n BN.prototype.mul = function mul (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return this.mulTo(num, out);\n };\n\n // Multiply employing FFT\n BN.prototype.mulf = function mulf (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return jumboMulTo(this, num, out);\n };\n\n // In-place Multiplication\n BN.prototype.imul = function imul (num) {\n return this.clone().mulTo(num, this);\n };\n\n BN.prototype.imuln = function imuln (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n\n // Carry\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = (this.words[i] | 0) * num;\n var lo = (w & 0x3ffffff) + (carry & 0x3ffffff);\n carry >>= 26;\n carry += (w / 0x4000000) | 0;\n // NOTE: lo is 27bit maximum\n carry += lo >>> 26;\n this.words[i] = lo & 0x3ffffff;\n }\n\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n this.length = num === 0 ? 1 : this.length;\n\n return this;\n };\n\n BN.prototype.muln = function muln (num) {\n return this.clone().imuln(num);\n };\n\n // `this` * `this`\n BN.prototype.sqr = function sqr () {\n return this.mul(this);\n };\n\n // `this` * `this` in-place\n BN.prototype.isqr = function isqr () {\n return this.imul(this.clone());\n };\n\n // Math.pow(`this`, `num`)\n BN.prototype.pow = function pow (num) {\n var w = toBitArray(num);\n if (w.length === 0) return new BN(1);\n\n // Skip leading zeroes\n var res = this;\n for (var i = 0; i < w.length; i++, res = res.sqr()) {\n if (w[i] !== 0) break;\n }\n\n if (++i < w.length) {\n for (var q = res.sqr(); i < w.length; i++, q = q.sqr()) {\n if (w[i] === 0) continue;\n\n res = res.mul(q);\n }\n }\n\n return res;\n };\n\n // Shift-left in-place\n BN.prototype.iushln = function iushln (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n var carryMask = (0x3ffffff >>> (26 - r)) << (26 - r);\n var i;\n\n if (r !== 0) {\n var carry = 0;\n\n for (i = 0; i < this.length; i++) {\n var newCarry = this.words[i] & carryMask;\n var c = ((this.words[i] | 0) - newCarry) << r;\n this.words[i] = c | carry;\n carry = newCarry >>> (26 - r);\n }\n\n if (carry) {\n this.words[i] = carry;\n this.length++;\n }\n }\n\n if (s !== 0) {\n for (i = this.length - 1; i >= 0; i--) {\n this.words[i + s] = this.words[i];\n }\n\n for (i = 0; i < s; i++) {\n this.words[i] = 0;\n }\n\n this.length += s;\n }\n\n return this.strip();\n };\n\n BN.prototype.ishln = function ishln (bits) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushln(bits);\n };\n\n // Shift-right in-place\n // NOTE: `hint` is a lowest bit before trailing zeroes\n // NOTE: if `extended` is present - it will be filled with destroyed bits\n BN.prototype.iushrn = function iushrn (bits, hint, extended) {\n assert(typeof bits === 'number' && bits >= 0);\n var h;\n if (hint) {\n h = (hint - (hint % 26)) / 26;\n } else {\n h = 0;\n }\n\n var r = bits % 26;\n var s = Math.min((bits - r) / 26, this.length);\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n var maskedWords = extended;\n\n h -= s;\n h = Math.max(0, h);\n\n // Extended mode, copy masked part\n if (maskedWords) {\n for (var i = 0; i < s; i++) {\n maskedWords.words[i] = this.words[i];\n }\n maskedWords.length = s;\n }\n\n if (s === 0) {\n // No-op, we should not move anything at all\n } else if (this.length > s) {\n this.length -= s;\n for (i = 0; i < this.length; i++) {\n this.words[i] = this.words[i + s];\n }\n } else {\n this.words[0] = 0;\n this.length = 1;\n }\n\n var carry = 0;\n for (i = this.length - 1; i >= 0 && (carry !== 0 || i >= h); i--) {\n var word = this.words[i] | 0;\n this.words[i] = (carry << (26 - r)) | (word >>> r);\n carry = word & mask;\n }\n\n // Push carried bits as a mask\n if (maskedWords && carry !== 0) {\n maskedWords.words[maskedWords.length++] = carry;\n }\n\n if (this.length === 0) {\n this.words[0] = 0;\n this.length = 1;\n }\n\n return this.strip();\n };\n\n BN.prototype.ishrn = function ishrn (bits, hint, extended) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushrn(bits, hint, extended);\n };\n\n // Shift-left\n BN.prototype.shln = function shln (bits) {\n return this.clone().ishln(bits);\n };\n\n BN.prototype.ushln = function ushln (bits) {\n return this.clone().iushln(bits);\n };\n\n // Shift-right\n BN.prototype.shrn = function shrn (bits) {\n return this.clone().ishrn(bits);\n };\n\n BN.prototype.ushrn = function ushrn (bits) {\n return this.clone().iushrn(bits);\n };\n\n // Test if n bit is set\n BN.prototype.testn = function testn (bit) {\n assert(typeof bit === 'number' && bit >= 0);\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) return false;\n\n // Check bit and return\n var w = this.words[s];\n\n return !!(w & q);\n };\n\n // Return only lowers bits of number (in-place)\n BN.prototype.imaskn = function imaskn (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n\n assert(this.negative === 0, 'imaskn works only with positive numbers');\n\n if (this.length <= s) {\n return this;\n }\n\n if (r !== 0) {\n s++;\n }\n this.length = Math.min(s, this.length);\n\n if (r !== 0) {\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n this.words[this.length - 1] &= mask;\n }\n\n return this.strip();\n };\n\n // Return only lowers bits of number\n BN.prototype.maskn = function maskn (bits) {\n return this.clone().imaskn(bits);\n };\n\n // Add plain number `num` to `this`\n BN.prototype.iaddn = function iaddn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.isubn(-num);\n\n // Possible sign change\n if (this.negative !== 0) {\n if (this.length === 1 && (this.words[0] | 0) < num) {\n this.words[0] = num - (this.words[0] | 0);\n this.negative = 0;\n return this;\n }\n\n this.negative = 0;\n this.isubn(num);\n this.negative = 1;\n return this;\n }\n\n // Add without checks\n return this._iaddn(num);\n };\n\n BN.prototype._iaddn = function _iaddn (num) {\n this.words[0] += num;\n\n // Carry\n for (var i = 0; i < this.length && this.words[i] >= 0x4000000; i++) {\n this.words[i] -= 0x4000000;\n if (i === this.length - 1) {\n this.words[i + 1] = 1;\n } else {\n this.words[i + 1]++;\n }\n }\n this.length = Math.max(this.length, i + 1);\n\n return this;\n };\n\n // Subtract plain number `num` from `this`\n BN.prototype.isubn = function isubn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.iaddn(-num);\n\n if (this.negative !== 0) {\n this.negative = 0;\n this.iaddn(num);\n this.negative = 1;\n return this;\n }\n\n this.words[0] -= num;\n\n if (this.length === 1 && this.words[0] < 0) {\n this.words[0] = -this.words[0];\n this.negative = 1;\n } else {\n // Carry\n for (var i = 0; i < this.length && this.words[i] < 0; i++) {\n this.words[i] += 0x4000000;\n this.words[i + 1] -= 1;\n }\n }\n\n return this.strip();\n };\n\n BN.prototype.addn = function addn (num) {\n return this.clone().iaddn(num);\n };\n\n BN.prototype.subn = function subn (num) {\n return this.clone().isubn(num);\n };\n\n BN.prototype.iabs = function iabs () {\n this.negative = 0;\n\n return this;\n };\n\n BN.prototype.abs = function abs () {\n return this.clone().iabs();\n };\n\n BN.prototype._ishlnsubmul = function _ishlnsubmul (num, mul, shift) {\n var len = num.length + shift;\n var i;\n\n this._expand(len);\n\n var w;\n var carry = 0;\n for (i = 0; i < num.length; i++) {\n w = (this.words[i + shift] | 0) + carry;\n var right = (num.words[i] | 0) * mul;\n w -= right & 0x3ffffff;\n carry = (w >> 26) - ((right / 0x4000000) | 0);\n this.words[i + shift] = w & 0x3ffffff;\n }\n for (; i < this.length - shift; i++) {\n w = (this.words[i + shift] | 0) + carry;\n carry = w >> 26;\n this.words[i + shift] = w & 0x3ffffff;\n }\n\n if (carry === 0) return this.strip();\n\n // Subtraction overflow\n assert(carry === -1);\n carry = 0;\n for (i = 0; i < this.length; i++) {\n w = -(this.words[i] | 0) + carry;\n carry = w >> 26;\n this.words[i] = w & 0x3ffffff;\n }\n this.negative = 1;\n\n return this.strip();\n };\n\n BN.prototype._wordDiv = function _wordDiv (num, mode) {\n var shift = this.length - num.length;\n\n var a = this.clone();\n var b = num;\n\n // Normalize\n var bhi = b.words[b.length - 1] | 0;\n var bhiBits = this._countBits(bhi);\n shift = 26 - bhiBits;\n if (shift !== 0) {\n b = b.ushln(shift);\n a.iushln(shift);\n bhi = b.words[b.length - 1] | 0;\n }\n\n // Initialize quotient\n var m = a.length - b.length;\n var q;\n\n if (mode !== 'mod') {\n q = new BN(null);\n q.length = m + 1;\n q.words = new Array(q.length);\n for (var i = 0; i < q.length; i++) {\n q.words[i] = 0;\n }\n }\n\n var diff = a.clone()._ishlnsubmul(b, 1, m);\n if (diff.negative === 0) {\n a = diff;\n if (q) {\n q.words[m] = 1;\n }\n }\n\n for (var j = m - 1; j >= 0; j--) {\n var qj = (a.words[b.length + j] | 0) * 0x4000000 +\n (a.words[b.length + j - 1] | 0);\n\n // NOTE: (qj / bhi) is (0x3ffffff * 0x4000000 + 0x3ffffff) / 0x2000000 max\n // (0x7ffffff)\n qj = Math.min((qj / bhi) | 0, 0x3ffffff);\n\n a._ishlnsubmul(b, qj, j);\n while (a.negative !== 0) {\n qj--;\n a.negative = 0;\n a._ishlnsubmul(b, 1, j);\n if (!a.isZero()) {\n a.negative ^= 1;\n }\n }\n if (q) {\n q.words[j] = qj;\n }\n }\n if (q) {\n q.strip();\n }\n a.strip();\n\n // Denormalize\n if (mode !== 'div' && shift !== 0) {\n a.iushrn(shift);\n }\n\n return {\n div: q || null,\n mod: a\n };\n };\n\n // NOTE: 1) `mode` can be set to `mod` to request mod only,\n // to `div` to request div only, or be absent to\n // request both div & mod\n // 2) `positive` is true if unsigned mod is requested\n BN.prototype.divmod = function divmod (num, mode, positive) {\n assert(!num.isZero());\n\n if (this.isZero()) {\n return {\n div: new BN(0),\n mod: new BN(0)\n };\n }\n\n var div, mod, res;\n if (this.negative !== 0 && num.negative === 0) {\n res = this.neg().divmod(num, mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.iadd(num);\n }\n }\n\n return {\n div: div,\n mod: mod\n };\n }\n\n if (this.negative === 0 && num.negative !== 0) {\n res = this.divmod(num.neg(), mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n return {\n div: div,\n mod: res.mod\n };\n }\n\n if ((this.negative & num.negative) !== 0) {\n res = this.neg().divmod(num.neg(), mode);\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.isub(num);\n }\n }\n\n return {\n div: res.div,\n mod: mod\n };\n }\n\n // Both numbers are positive at this point\n\n // Strip both numbers to approximate shift value\n if (num.length > this.length || this.cmp(num) < 0) {\n return {\n div: new BN(0),\n mod: this\n };\n }\n\n // Very short reduction\n if (num.length === 1) {\n if (mode === 'div') {\n return {\n div: this.divn(num.words[0]),\n mod: null\n };\n }\n\n if (mode === 'mod') {\n return {\n div: null,\n mod: new BN(this.modn(num.words[0]))\n };\n }\n\n return {\n div: this.divn(num.words[0]),\n mod: new BN(this.modn(num.words[0]))\n };\n }\n\n return this._wordDiv(num, mode);\n };\n\n // Find `this` / `num`\n BN.prototype.div = function div (num) {\n return this.divmod(num, 'div', false).div;\n };\n\n // Find `this` % `num`\n BN.prototype.mod = function mod (num) {\n return this.divmod(num, 'mod', false).mod;\n };\n\n BN.prototype.umod = function umod (num) {\n return this.divmod(num, 'mod', true).mod;\n };\n\n // Find Round(`this` / `num`)\n BN.prototype.divRound = function divRound (num) {\n var dm = this.divmod(num);\n\n // Fast case - exact division\n if (dm.mod.isZero()) return dm.div;\n\n var mod = dm.div.negative !== 0 ? dm.mod.isub(num) : dm.mod;\n\n var half = num.ushrn(1);\n var r2 = num.andln(1);\n var cmp = mod.cmp(half);\n\n // Round down\n if (cmp < 0 || r2 === 1 && cmp === 0) return dm.div;\n\n // Round up\n return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1);\n };\n\n BN.prototype.modn = function modn (num) {\n assert(num <= 0x3ffffff);\n var p = (1 << 26) % num;\n\n var acc = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n acc = (p * acc + (this.words[i] | 0)) % num;\n }\n\n return acc;\n };\n\n // In-place division by number\n BN.prototype.idivn = function idivn (num) {\n assert(num <= 0x3ffffff);\n\n var carry = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var w = (this.words[i] | 0) + carry * 0x4000000;\n this.words[i] = (w / num) | 0;\n carry = w % num;\n }\n\n return this.strip();\n };\n\n BN.prototype.divn = function divn (num) {\n return this.clone().idivn(num);\n };\n\n BN.prototype.egcd = function egcd (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var x = this;\n var y = p.clone();\n\n if (x.negative !== 0) {\n x = x.umod(p);\n } else {\n x = x.clone();\n }\n\n // A * x + B * y = x\n var A = new BN(1);\n var B = new BN(0);\n\n // C * x + D * y = y\n var C = new BN(0);\n var D = new BN(1);\n\n var g = 0;\n\n while (x.isEven() && y.isEven()) {\n x.iushrn(1);\n y.iushrn(1);\n ++g;\n }\n\n var yp = y.clone();\n var xp = x.clone();\n\n while (!x.isZero()) {\n for (var i = 0, im = 1; (x.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n x.iushrn(i);\n while (i-- > 0) {\n if (A.isOdd() || B.isOdd()) {\n A.iadd(yp);\n B.isub(xp);\n }\n\n A.iushrn(1);\n B.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n y.iushrn(j);\n while (j-- > 0) {\n if (C.isOdd() || D.isOdd()) {\n C.iadd(yp);\n D.isub(xp);\n }\n\n C.iushrn(1);\n D.iushrn(1);\n }\n }\n\n if (x.cmp(y) >= 0) {\n x.isub(y);\n A.isub(C);\n B.isub(D);\n } else {\n y.isub(x);\n C.isub(A);\n D.isub(B);\n }\n }\n\n return {\n a: C,\n b: D,\n gcd: y.iushln(g)\n };\n };\n\n // This is reduced incarnation of the binary EEA\n // above, designated to invert members of the\n // _prime_ fields F(p) at a maximal speed\n BN.prototype._invmp = function _invmp (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var a = this;\n var b = p.clone();\n\n if (a.negative !== 0) {\n a = a.umod(p);\n } else {\n a = a.clone();\n }\n\n var x1 = new BN(1);\n var x2 = new BN(0);\n\n var delta = b.clone();\n\n while (a.cmpn(1) > 0 && b.cmpn(1) > 0) {\n for (var i = 0, im = 1; (a.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n a.iushrn(i);\n while (i-- > 0) {\n if (x1.isOdd()) {\n x1.iadd(delta);\n }\n\n x1.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n b.iushrn(j);\n while (j-- > 0) {\n if (x2.isOdd()) {\n x2.iadd(delta);\n }\n\n x2.iushrn(1);\n }\n }\n\n if (a.cmp(b) >= 0) {\n a.isub(b);\n x1.isub(x2);\n } else {\n b.isub(a);\n x2.isub(x1);\n }\n }\n\n var res;\n if (a.cmpn(1) === 0) {\n res = x1;\n } else {\n res = x2;\n }\n\n if (res.cmpn(0) < 0) {\n res.iadd(p);\n }\n\n return res;\n };\n\n BN.prototype.gcd = function gcd (num) {\n if (this.isZero()) return num.abs();\n if (num.isZero()) return this.abs();\n\n var a = this.clone();\n var b = num.clone();\n a.negative = 0;\n b.negative = 0;\n\n // Remove common factor of two\n for (var shift = 0; a.isEven() && b.isEven(); shift++) {\n a.iushrn(1);\n b.iushrn(1);\n }\n\n do {\n while (a.isEven()) {\n a.iushrn(1);\n }\n while (b.isEven()) {\n b.iushrn(1);\n }\n\n var r = a.cmp(b);\n if (r < 0) {\n // Swap `a` and `b` to make `a` always bigger than `b`\n var t = a;\n a = b;\n b = t;\n } else if (r === 0 || b.cmpn(1) === 0) {\n break;\n }\n\n a.isub(b);\n } while (true);\n\n return b.iushln(shift);\n };\n\n // Invert number in the field F(num)\n BN.prototype.invm = function invm (num) {\n return this.egcd(num).a.umod(num);\n };\n\n BN.prototype.isEven = function isEven () {\n return (this.words[0] & 1) === 0;\n };\n\n BN.prototype.isOdd = function isOdd () {\n return (this.words[0] & 1) === 1;\n };\n\n // And first word and num\n BN.prototype.andln = function andln (num) {\n return this.words[0] & num;\n };\n\n // Increment at the bit position in-line\n BN.prototype.bincn = function bincn (bit) {\n assert(typeof bit === 'number');\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) {\n this._expand(s + 1);\n this.words[s] |= q;\n return this;\n }\n\n // Add bit and propagate, if needed\n var carry = q;\n for (var i = s; carry !== 0 && i < this.length; i++) {\n var w = this.words[i] | 0;\n w += carry;\n carry = w >>> 26;\n w &= 0x3ffffff;\n this.words[i] = w;\n }\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n return this;\n };\n\n BN.prototype.isZero = function isZero () {\n return this.length === 1 && this.words[0] === 0;\n };\n\n BN.prototype.cmpn = function cmpn (num) {\n var negative = num < 0;\n\n if (this.negative !== 0 && !negative) return -1;\n if (this.negative === 0 && negative) return 1;\n\n this.strip();\n\n var res;\n if (this.length > 1) {\n res = 1;\n } else {\n if (negative) {\n num = -num;\n }\n\n assert(num <= 0x3ffffff, 'Number is too big');\n\n var w = this.words[0] | 0;\n res = w === num ? 0 : w < num ? -1 : 1;\n }\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Compare two numbers and return:\n // 1 - if `this` > `num`\n // 0 - if `this` == `num`\n // -1 - if `this` < `num`\n BN.prototype.cmp = function cmp (num) {\n if (this.negative !== 0 && num.negative === 0) return -1;\n if (this.negative === 0 && num.negative !== 0) return 1;\n\n var res = this.ucmp(num);\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Unsigned comparison\n BN.prototype.ucmp = function ucmp (num) {\n // At this point both numbers have the same sign\n if (this.length > num.length) return 1;\n if (this.length < num.length) return -1;\n\n var res = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var a = this.words[i] | 0;\n var b = num.words[i] | 0;\n\n if (a === b) continue;\n if (a < b) {\n res = -1;\n } else if (a > b) {\n res = 1;\n }\n break;\n }\n return res;\n };\n\n BN.prototype.gtn = function gtn (num) {\n return this.cmpn(num) === 1;\n };\n\n BN.prototype.gt = function gt (num) {\n return this.cmp(num) === 1;\n };\n\n BN.prototype.gten = function gten (num) {\n return this.cmpn(num) >= 0;\n };\n\n BN.prototype.gte = function gte (num) {\n return this.cmp(num) >= 0;\n };\n\n BN.prototype.ltn = function ltn (num) {\n return this.cmpn(num) === -1;\n };\n\n BN.prototype.lt = function lt (num) {\n return this.cmp(num) === -1;\n };\n\n BN.prototype.lten = function lten (num) {\n return this.cmpn(num) <= 0;\n };\n\n BN.prototype.lte = function lte (num) {\n return this.cmp(num) <= 0;\n };\n\n BN.prototype.eqn = function eqn (num) {\n return this.cmpn(num) === 0;\n };\n\n BN.prototype.eq = function eq (num) {\n return this.cmp(num) === 0;\n };\n\n //\n // A reduce context, could be using montgomery or something better, depending\n // on the `m` itself.\n //\n BN.red = function red (num) {\n return new Red(num);\n };\n\n BN.prototype.toRed = function toRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n assert(this.negative === 0, 'red works only with positives');\n return ctx.convertTo(this)._forceRed(ctx);\n };\n\n BN.prototype.fromRed = function fromRed () {\n assert(this.red, 'fromRed works only with numbers in reduction context');\n return this.red.convertFrom(this);\n };\n\n BN.prototype._forceRed = function _forceRed (ctx) {\n this.red = ctx;\n return this;\n };\n\n BN.prototype.forceRed = function forceRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n return this._forceRed(ctx);\n };\n\n BN.prototype.redAdd = function redAdd (num) {\n assert(this.red, 'redAdd works only with red numbers');\n return this.red.add(this, num);\n };\n\n BN.prototype.redIAdd = function redIAdd (num) {\n assert(this.red, 'redIAdd works only with red numbers');\n return this.red.iadd(this, num);\n };\n\n BN.prototype.redSub = function redSub (num) {\n assert(this.red, 'redSub works only with red numbers');\n return this.red.sub(this, num);\n };\n\n BN.prototype.redISub = function redISub (num) {\n assert(this.red, 'redISub works only with red numbers');\n return this.red.isub(this, num);\n };\n\n BN.prototype.redShl = function redShl (num) {\n assert(this.red, 'redShl works only with red numbers');\n return this.red.shl(this, num);\n };\n\n BN.prototype.redMul = function redMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.mul(this, num);\n };\n\n BN.prototype.redIMul = function redIMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.imul(this, num);\n };\n\n BN.prototype.redSqr = function redSqr () {\n assert(this.red, 'redSqr works only with red numbers');\n this.red._verify1(this);\n return this.red.sqr(this);\n };\n\n BN.prototype.redISqr = function redISqr () {\n assert(this.red, 'redISqr works only with red numbers');\n this.red._verify1(this);\n return this.red.isqr(this);\n };\n\n // Square root over p\n BN.prototype.redSqrt = function redSqrt () {\n assert(this.red, 'redSqrt works only with red numbers');\n this.red._verify1(this);\n return this.red.sqrt(this);\n };\n\n BN.prototype.redInvm = function redInvm () {\n assert(this.red, 'redInvm works only with red numbers');\n this.red._verify1(this);\n return this.red.invm(this);\n };\n\n // Return negative clone of `this` % `red modulo`\n BN.prototype.redNeg = function redNeg () {\n assert(this.red, 'redNeg works only with red numbers');\n this.red._verify1(this);\n return this.red.neg(this);\n };\n\n BN.prototype.redPow = function redPow (num) {\n assert(this.red && !num.red, 'redPow(normalNum)');\n this.red._verify1(this);\n return this.red.pow(this, num);\n };\n\n // Prime numbers with efficient reduction\n var primes = {\n k256: null,\n p224: null,\n p192: null,\n p25519: null\n };\n\n // Pseudo-Mersenne prime\n function MPrime (name, p) {\n // P = 2 ^ N - K\n this.name = name;\n this.p = new BN(p, 16);\n this.n = this.p.bitLength();\n this.k = new BN(1).iushln(this.n).isub(this.p);\n\n this.tmp = this._tmp();\n }\n\n MPrime.prototype._tmp = function _tmp () {\n var tmp = new BN(null);\n tmp.words = new Array(Math.ceil(this.n / 13));\n return tmp;\n };\n\n MPrime.prototype.ireduce = function ireduce (num) {\n // Assumes that `num` is less than `P^2`\n // num = HI * (2 ^ N - K) + HI * K + LO = HI * K + LO (mod P)\n var r = num;\n var rlen;\n\n do {\n this.split(r, this.tmp);\n r = this.imulK(r);\n r = r.iadd(this.tmp);\n rlen = r.bitLength();\n } while (rlen > this.n);\n\n var cmp = rlen < this.n ? -1 : r.ucmp(this.p);\n if (cmp === 0) {\n r.words[0] = 0;\n r.length = 1;\n } else if (cmp > 0) {\n r.isub(this.p);\n } else {\n if (r.strip !== undefined) {\n // r is BN v4 instance\n r.strip();\n } else {\n // r is BN v5 instance\n r._strip();\n }\n }\n\n return r;\n };\n\n MPrime.prototype.split = function split (input, out) {\n input.iushrn(this.n, 0, out);\n };\n\n MPrime.prototype.imulK = function imulK (num) {\n return num.imul(this.k);\n };\n\n function K256 () {\n MPrime.call(\n this,\n 'k256',\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f');\n }\n inherits(K256, MPrime);\n\n K256.prototype.split = function split (input, output) {\n // 256 = 9 * 26 + 22\n var mask = 0x3fffff;\n\n var outLen = Math.min(input.length, 9);\n for (var i = 0; i < outLen; i++) {\n output.words[i] = input.words[i];\n }\n output.length = outLen;\n\n if (input.length <= 9) {\n input.words[0] = 0;\n input.length = 1;\n return;\n }\n\n // Shift by 9 limbs\n var prev = input.words[9];\n output.words[output.length++] = prev & mask;\n\n for (i = 10; i < input.length; i++) {\n var next = input.words[i] | 0;\n input.words[i - 10] = ((next & mask) << 4) | (prev >>> 22);\n prev = next;\n }\n prev >>>= 22;\n input.words[i - 10] = prev;\n if (prev === 0 && input.length > 10) {\n input.length -= 10;\n } else {\n input.length -= 9;\n }\n };\n\n K256.prototype.imulK = function imulK (num) {\n // K = 0x1000003d1 = [ 0x40, 0x3d1 ]\n num.words[num.length] = 0;\n num.words[num.length + 1] = 0;\n num.length += 2;\n\n // bounded at: 0x40 * 0x3ffffff + 0x3d0 = 0x100000390\n var lo = 0;\n for (var i = 0; i < num.length; i++) {\n var w = num.words[i] | 0;\n lo += w * 0x3d1;\n num.words[i] = lo & 0x3ffffff;\n lo = w * 0x40 + ((lo / 0x4000000) | 0);\n }\n\n // Fast length reduction\n if (num.words[num.length - 1] === 0) {\n num.length--;\n if (num.words[num.length - 1] === 0) {\n num.length--;\n }\n }\n return num;\n };\n\n function P224 () {\n MPrime.call(\n this,\n 'p224',\n 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001');\n }\n inherits(P224, MPrime);\n\n function P192 () {\n MPrime.call(\n this,\n 'p192',\n 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff');\n }\n inherits(P192, MPrime);\n\n function P25519 () {\n // 2 ^ 255 - 19\n MPrime.call(\n this,\n '25519',\n '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed');\n }\n inherits(P25519, MPrime);\n\n P25519.prototype.imulK = function imulK (num) {\n // K = 0x13\n var carry = 0;\n for (var i = 0; i < num.length; i++) {\n var hi = (num.words[i] | 0) * 0x13 + carry;\n var lo = hi & 0x3ffffff;\n hi >>>= 26;\n\n num.words[i] = lo;\n carry = hi;\n }\n if (carry !== 0) {\n num.words[num.length++] = carry;\n }\n return num;\n };\n\n // Exported mostly for testing purposes, use plain name instead\n BN._prime = function prime (name) {\n // Cached version of prime\n if (primes[name]) return primes[name];\n\n var prime;\n if (name === 'k256') {\n prime = new K256();\n } else if (name === 'p224') {\n prime = new P224();\n } else if (name === 'p192') {\n prime = new P192();\n } else if (name === 'p25519') {\n prime = new P25519();\n } else {\n throw new Error('Unknown prime ' + name);\n }\n primes[name] = prime;\n\n return prime;\n };\n\n //\n // Base reduction engine\n //\n function Red (m) {\n if (typeof m === 'string') {\n var prime = BN._prime(m);\n this.m = prime.p;\n this.prime = prime;\n } else {\n assert(m.gtn(1), 'modulus must be greater than 1');\n this.m = m;\n this.prime = null;\n }\n }\n\n Red.prototype._verify1 = function _verify1 (a) {\n assert(a.negative === 0, 'red works only with positives');\n assert(a.red, 'red works only with red numbers');\n };\n\n Red.prototype._verify2 = function _verify2 (a, b) {\n assert((a.negative | b.negative) === 0, 'red works only with positives');\n assert(a.red && a.red === b.red,\n 'red works only with red numbers');\n };\n\n Red.prototype.imod = function imod (a) {\n if (this.prime) return this.prime.ireduce(a)._forceRed(this);\n return a.umod(this.m)._forceRed(this);\n };\n\n Red.prototype.neg = function neg (a) {\n if (a.isZero()) {\n return a.clone();\n }\n\n return this.m.sub(a)._forceRed(this);\n };\n\n Red.prototype.add = function add (a, b) {\n this._verify2(a, b);\n\n var res = a.add(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.iadd = function iadd (a, b) {\n this._verify2(a, b);\n\n var res = a.iadd(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res;\n };\n\n Red.prototype.sub = function sub (a, b) {\n this._verify2(a, b);\n\n var res = a.sub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.isub = function isub (a, b) {\n this._verify2(a, b);\n\n var res = a.isub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res;\n };\n\n Red.prototype.shl = function shl (a, num) {\n this._verify1(a);\n return this.imod(a.ushln(num));\n };\n\n Red.prototype.imul = function imul (a, b) {\n this._verify2(a, b);\n return this.imod(a.imul(b));\n };\n\n Red.prototype.mul = function mul (a, b) {\n this._verify2(a, b);\n return this.imod(a.mul(b));\n };\n\n Red.prototype.isqr = function isqr (a) {\n return this.imul(a, a.clone());\n };\n\n Red.prototype.sqr = function sqr (a) {\n return this.mul(a, a);\n };\n\n Red.prototype.sqrt = function sqrt (a) {\n if (a.isZero()) return a.clone();\n\n var mod3 = this.m.andln(3);\n assert(mod3 % 2 === 1);\n\n // Fast case\n if (mod3 === 3) {\n var pow = this.m.add(new BN(1)).iushrn(2);\n return this.pow(a, pow);\n }\n\n // Tonelli-Shanks algorithm (Totally unoptimized and slow)\n //\n // Find Q and S, that Q * 2 ^ S = (P - 1)\n var q = this.m.subn(1);\n var s = 0;\n while (!q.isZero() && q.andln(1) === 0) {\n s++;\n q.iushrn(1);\n }\n assert(!q.isZero());\n\n var one = new BN(1).toRed(this);\n var nOne = one.redNeg();\n\n // Find quadratic non-residue\n // NOTE: Max is such because of generalized Riemann hypothesis.\n var lpow = this.m.subn(1).iushrn(1);\n var z = this.m.bitLength();\n z = new BN(2 * z * z).toRed(this);\n\n while (this.pow(z, lpow).cmp(nOne) !== 0) {\n z.redIAdd(nOne);\n }\n\n var c = this.pow(z, q);\n var r = this.pow(a, q.addn(1).iushrn(1));\n var t = this.pow(a, q);\n var m = s;\n while (t.cmp(one) !== 0) {\n var tmp = t;\n for (var i = 0; tmp.cmp(one) !== 0; i++) {\n tmp = tmp.redSqr();\n }\n assert(i < m);\n var b = this.pow(c, new BN(1).iushln(m - i - 1));\n\n r = r.redMul(b);\n c = b.redSqr();\n t = t.redMul(c);\n m = i;\n }\n\n return r;\n };\n\n Red.prototype.invm = function invm (a) {\n var inv = a._invmp(this.m);\n if (inv.negative !== 0) {\n inv.negative = 0;\n return this.imod(inv).redNeg();\n } else {\n return this.imod(inv);\n }\n };\n\n Red.prototype.pow = function pow (a, num) {\n if (num.isZero()) return new BN(1).toRed(this);\n if (num.cmpn(1) === 0) return a.clone();\n\n var windowSize = 4;\n var wnd = new Array(1 << windowSize);\n wnd[0] = new BN(1).toRed(this);\n wnd[1] = a;\n for (var i = 2; i < wnd.length; i++) {\n wnd[i] = this.mul(wnd[i - 1], a);\n }\n\n var res = wnd[0];\n var current = 0;\n var currentLen = 0;\n var start = num.bitLength() % 26;\n if (start === 0) {\n start = 26;\n }\n\n for (i = num.length - 1; i >= 0; i--) {\n var word = num.words[i];\n for (var j = start - 1; j >= 0; j--) {\n var bit = (word >> j) & 1;\n if (res !== wnd[0]) {\n res = this.sqr(res);\n }\n\n if (bit === 0 && current === 0) {\n currentLen = 0;\n continue;\n }\n\n current <<= 1;\n current |= bit;\n currentLen++;\n if (currentLen !== windowSize && (i !== 0 || j !== 0)) continue;\n\n res = this.mul(res, wnd[current]);\n currentLen = 0;\n current = 0;\n }\n start = 26;\n }\n\n return res;\n };\n\n Red.prototype.convertTo = function convertTo (num) {\n var r = num.umod(this.m);\n\n return r === num ? r.clone() : r;\n };\n\n Red.prototype.convertFrom = function convertFrom (num) {\n var res = num.clone();\n res.red = null;\n return res;\n };\n\n //\n // Montgomery method engine\n //\n\n BN.mont = function mont (num) {\n return new Mont(num);\n };\n\n function Mont (m) {\n Red.call(this, m);\n\n this.shift = this.m.bitLength();\n if (this.shift % 26 !== 0) {\n this.shift += 26 - (this.shift % 26);\n }\n\n this.r = new BN(1).iushln(this.shift);\n this.r2 = this.imod(this.r.sqr());\n this.rinv = this.r._invmp(this.m);\n\n this.minv = this.rinv.mul(this.r).isubn(1).div(this.m);\n this.minv = this.minv.umod(this.r);\n this.minv = this.r.sub(this.minv);\n }\n inherits(Mont, Red);\n\n Mont.prototype.convertTo = function convertTo (num) {\n return this.imod(num.ushln(this.shift));\n };\n\n Mont.prototype.convertFrom = function convertFrom (num) {\n var r = this.imod(num.mul(this.rinv));\n r.red = null;\n return r;\n };\n\n Mont.prototype.imul = function imul (a, b) {\n if (a.isZero() || b.isZero()) {\n a.words[0] = 0;\n a.length = 1;\n return a;\n }\n\n var t = a.imul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.mul = function mul (a, b) {\n if (a.isZero() || b.isZero()) return new BN(0)._forceRed(this);\n\n var t = a.mul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.invm = function invm (a) {\n // (AR)^-1 * R^2 = (A^-1 * R^-1) * R^2 = A^-1 * R\n var res = this.imod(a._invmp(this.m).mul(this.r2));\n return res._forceRed(this);\n };\n})(typeof module === 'undefined' || module, this);\n","'use strict'\nvar inherits = require('inherits')\nvar MD5 = require('md5.js')\nvar RIPEMD160 = require('ripemd160')\nvar sha = require('sha.js')\nvar Base = require('cipher-base')\n\nfunction Hash (hash) {\n Base.call(this, 'digest')\n\n this._hash = hash\n}\n\ninherits(Hash, Base)\n\nHash.prototype._update = function (data) {\n this._hash.update(data)\n}\n\nHash.prototype._final = function () {\n return this._hash.digest()\n}\n\nmodule.exports = function createHash (alg) {\n alg = alg.toLowerCase()\n if (alg === 'md5') return new MD5()\n if (alg === 'rmd160' || alg === 'ripemd160') return new RIPEMD160()\n\n return new Hash(sha(alg))\n}\n","var MD5 = require('md5.js')\n\nmodule.exports = function (buffer) {\n return new MD5().update(buffer).digest()\n}\n","'use strict'\nvar inherits = require('inherits')\nvar Legacy = require('./legacy')\nvar Base = require('cipher-base')\nvar Buffer = require('safe-buffer').Buffer\nvar md5 = require('create-hash/md5')\nvar RIPEMD160 = require('ripemd160')\n\nvar sha = require('sha.js')\n\nvar ZEROS = Buffer.alloc(128)\n\nfunction Hmac (alg, key) {\n Base.call(this, 'digest')\n if (typeof key === 'string') {\n key = Buffer.from(key)\n }\n\n var blocksize = (alg === 'sha512' || alg === 'sha384') ? 128 : 64\n\n this._alg = alg\n this._key = key\n if (key.length > blocksize) {\n var hash = alg === 'rmd160' ? new RIPEMD160() : sha(alg)\n key = hash.update(key).digest()\n } else if (key.length < blocksize) {\n key = Buffer.concat([key, ZEROS], blocksize)\n }\n\n var ipad = this._ipad = Buffer.allocUnsafe(blocksize)\n var opad = this._opad = Buffer.allocUnsafe(blocksize)\n\n for (var i = 0; i < blocksize; i++) {\n ipad[i] = key[i] ^ 0x36\n opad[i] = key[i] ^ 0x5C\n }\n this._hash = alg === 'rmd160' ? new RIPEMD160() : sha(alg)\n this._hash.update(ipad)\n}\n\ninherits(Hmac, Base)\n\nHmac.prototype._update = function (data) {\n this._hash.update(data)\n}\n\nHmac.prototype._final = function () {\n var h = this._hash.digest()\n var hash = this._alg === 'rmd160' ? new RIPEMD160() : sha(this._alg)\n return hash.update(this._opad).update(h).digest()\n}\n\nmodule.exports = function createHmac (alg, key) {\n alg = alg.toLowerCase()\n if (alg === 'rmd160' || alg === 'ripemd160') {\n return new Hmac('rmd160', key)\n }\n if (alg === 'md5') {\n return new Legacy(md5, key)\n }\n return new Hmac(alg, key)\n}\n","'use strict'\nvar inherits = require('inherits')\nvar Buffer = require('safe-buffer').Buffer\n\nvar Base = require('cipher-base')\n\nvar ZEROS = Buffer.alloc(128)\nvar blocksize = 64\n\nfunction Hmac (alg, key) {\n Base.call(this, 'digest')\n if (typeof key === 'string') {\n key = Buffer.from(key)\n }\n\n this._alg = alg\n this._key = key\n\n if (key.length > blocksize) {\n key = alg(key)\n } else if (key.length < blocksize) {\n key = Buffer.concat([key, ZEROS], blocksize)\n }\n\n var ipad = this._ipad = Buffer.allocUnsafe(blocksize)\n var opad = this._opad = Buffer.allocUnsafe(blocksize)\n\n for (var i = 0; i < blocksize; i++) {\n ipad[i] = key[i] ^ 0x36\n opad[i] = key[i] ^ 0x5C\n }\n\n this._hash = [ipad]\n}\n\ninherits(Hmac, Base)\n\nHmac.prototype._update = function (data) {\n this._hash.push(data)\n}\n\nHmac.prototype._final = function () {\n var h = this._alg(Buffer.concat(this._hash))\n return this._alg(Buffer.concat([this._opad, h]))\n}\nmodule.exports = Hmac\n","'use strict';\n\n// eslint-disable-next-line no-multi-assign\nexports.randomBytes = exports.rng = exports.pseudoRandomBytes = exports.prng = require('randombytes');\n\n// eslint-disable-next-line no-multi-assign\nexports.createHash = exports.Hash = require('create-hash');\n\n// eslint-disable-next-line no-multi-assign\nexports.createHmac = exports.Hmac = require('create-hmac');\n\nvar algos = require('browserify-sign/algos');\nvar algoKeys = Object.keys(algos);\nvar hashes = [\n\t'sha1',\n\t'sha224',\n\t'sha256',\n\t'sha384',\n\t'sha512',\n\t'md5',\n\t'rmd160'\n].concat(algoKeys);\n\nexports.getHashes = function () {\n\treturn hashes;\n};\n\nvar p = require('pbkdf2');\nexports.pbkdf2 = p.pbkdf2;\nexports.pbkdf2Sync = p.pbkdf2Sync;\n\nvar aes = require('browserify-cipher');\n\nexports.Cipher = aes.Cipher;\nexports.createCipher = aes.createCipher;\nexports.Cipheriv = aes.Cipheriv;\nexports.createCipheriv = aes.createCipheriv;\nexports.Decipher = aes.Decipher;\nexports.createDecipher = aes.createDecipher;\nexports.Decipheriv = aes.Decipheriv;\nexports.createDecipheriv = aes.createDecipheriv;\nexports.getCiphers = aes.getCiphers;\nexports.listCiphers = aes.listCiphers;\n\nvar dh = require('diffie-hellman');\n\nexports.DiffieHellmanGroup = dh.DiffieHellmanGroup;\nexports.createDiffieHellmanGroup = dh.createDiffieHellmanGroup;\nexports.getDiffieHellman = dh.getDiffieHellman;\nexports.createDiffieHellman = dh.createDiffieHellman;\nexports.DiffieHellman = dh.DiffieHellman;\n\nvar sign = require('browserify-sign');\n\nexports.createSign = sign.createSign;\nexports.Sign = sign.Sign;\nexports.createVerify = sign.createVerify;\nexports.Verify = sign.Verify;\n\nexports.createECDH = require('create-ecdh');\n\nvar publicEncrypt = require('public-encrypt');\n\nexports.publicEncrypt = publicEncrypt.publicEncrypt;\nexports.privateEncrypt = publicEncrypt.privateEncrypt;\nexports.publicDecrypt = publicEncrypt.publicDecrypt;\nexports.privateDecrypt = publicEncrypt.privateDecrypt;\n\n// the least I can do is make error messages for the rest of the node.js/crypto api.\n// [\n// 'createCredentials'\n// ].forEach(function (name) {\n// exports[name] = function () {\n// throw new Error('sorry, ' + name + ' is not implemented yet\\nwe accept pull requests\\nhttps://github.com/browserify/crypto-browserify');\n// };\n// });\n\nvar rf = require('randomfill');\n\nexports.randomFill = rf.randomFill;\nexports.randomFillSync = rf.randomFillSync;\n\nexports.createCredentials = function () {\n\tthrow new Error('sorry, createCredentials is not implemented yet\\nwe accept pull requests\\nhttps://github.com/browserify/crypto-browserify');\n};\n\nexports.constants = {\n\tDH_CHECK_P_NOT_SAFE_PRIME: 2,\n\tDH_CHECK_P_NOT_PRIME: 1,\n\tDH_UNABLE_TO_CHECK_GENERATOR: 4,\n\tDH_NOT_SUITABLE_GENERATOR: 8,\n\tNPN_ENABLED: 1,\n\tALPN_ENABLED: 1,\n\tRSA_PKCS1_PADDING: 1,\n\tRSA_SSLV23_PADDING: 2,\n\tRSA_NO_PADDING: 3,\n\tRSA_PKCS1_OAEP_PADDING: 4,\n\tRSA_X931_PADDING: 5,\n\tRSA_PKCS1_PSS_PADDING: 6,\n\tPOINT_CONVERSION_COMPRESSED: 2,\n\tPOINT_CONVERSION_UNCOMPRESSED: 4,\n\tPOINT_CONVERSION_HYBRID: 6\n};\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_1___ = new URL(\"data:image/gif;base64,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\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_2___ = new URL(\"images/ui-icons_444444_256x240.png\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_3___ = new URL(\"images/ui-icons_555555_256x240.png\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_4___ = new URL(\"images/ui-icons_ffffff_256x240.png\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_5___ = new URL(\"images/ui-icons_777620_256x240.png\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_6___ = new URL(\"images/ui-icons_cc0000_256x240.png\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_7___ = new URL(\"images/ui-icons_777777_256x240.png\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___);\nvar ___CSS_LOADER_URL_REPLACEMENT_2___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_2___);\nvar ___CSS_LOADER_URL_REPLACEMENT_3___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_3___);\nvar ___CSS_LOADER_URL_REPLACEMENT_4___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_4___);\nvar ___CSS_LOADER_URL_REPLACEMENT_5___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_5___);\nvar ___CSS_LOADER_URL_REPLACEMENT_6___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_6___);\nvar ___CSS_LOADER_URL_REPLACEMENT_7___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_7___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*! jQuery UI - v1.13.3 - 2024-04-26\n* https://jqueryui.com\n* Includes: core.css, accordion.css, autocomplete.css, menu.css, button.css, controlgroup.css, checkboxradio.css, datepicker.css, dialog.css, draggable.css, resizable.css, progressbar.css, selectable.css, selectmenu.css, slider.css, sortable.css, spinner.css, tabs.css, tooltip.css, theme.css\n* To view and modify this theme, visit https://jqueryui.com/themeroller/?bgShadowXPos=&bgOverlayXPos=&bgErrorXPos=&bgHighlightXPos=&bgContentXPos=&bgHeaderXPos=&bgActiveXPos=&bgHoverXPos=&bgDefaultXPos=&bgShadowYPos=&bgOverlayYPos=&bgErrorYPos=&bgHighlightYPos=&bgContentYPos=&bgHeaderYPos=&bgActiveYPos=&bgHoverYPos=&bgDefaultYPos=&bgShadowRepeat=&bgOverlayRepeat=&bgErrorRepeat=&bgHighlightRepeat=&bgContentRepeat=&bgHeaderRepeat=&bgActiveRepeat=&bgHoverRepeat=&bgDefaultRepeat=&iconsHover=url(%22images%2Fui-icons_555555_256x240.png%22)&iconsHighlight=url(%22images%2Fui-icons_777620_256x240.png%22)&iconsHeader=url(%22images%2Fui-icons_444444_256x240.png%22)&iconsError=url(%22images%2Fui-icons_cc0000_256x240.png%22)&iconsDefault=url(%22images%2Fui-icons_777777_256x240.png%22)&iconsContent=url(%22images%2Fui-icons_444444_256x240.png%22)&iconsActive=url(%22images%2Fui-icons_ffffff_256x240.png%22)&bgImgUrlShadow=&bgImgUrlOverlay=&bgImgUrlHover=&bgImgUrlHighlight=&bgImgUrlHeader=&bgImgUrlError=&bgImgUrlDefault=&bgImgUrlContent=&bgImgUrlActive=&opacityFilterShadow=%22alpha(opacity%3D30)%22&opacityFilterOverlay=%22alpha(opacity%3D30)%22&opacityShadowPerc=30&opacityOverlayPerc=30&iconColorHover=%23555555&iconColorHighlight=%23777620&iconColorHeader=%23444444&iconColorError=%23cc0000&iconColorDefault=%23777777&iconColorContent=%23444444&iconColorActive=%23ffffff&bgImgOpacityShadow=0&bgImgOpacityOverlay=0&bgImgOpacityError=95&bgImgOpacityHighlight=55&bgImgOpacityContent=75&bgImgOpacityHeader=75&bgImgOpacityActive=65&bgImgOpacityHover=75&bgImgOpacityDefault=75&bgTextureShadow=flat&bgTextureOverlay=flat&bgTextureError=flat&bgTextureHighlight=flat&bgTextureContent=flat&bgTextureHeader=flat&bgTextureActive=flat&bgTextureHover=flat&bgTextureDefault=flat&cornerRadius=3px&fwDefault=normal&ffDefault=Arial%2CHelvetica%2Csans-serif&fsDefault=1em&cornerRadiusShadow=8px&thicknessShadow=5px&offsetLeftShadow=0px&offsetTopShadow=0px&opacityShadow=.3&bgColorShadow=%23666666&opacityOverlay=.3&bgColorOverlay=%23aaaaaa&fcError=%235f3f3f&borderColorError=%23f1a899&bgColorError=%23fddfdf&fcHighlight=%23777620&borderColorHighlight=%23dad55e&bgColorHighlight=%23fffa90&fcContent=%23333333&borderColorContent=%23dddddd&bgColorContent=%23ffffff&fcHeader=%23333333&borderColorHeader=%23dddddd&bgColorHeader=%23e9e9e9&fcActive=%23ffffff&borderColorActive=%23003eff&bgColorActive=%23007fff&fcHover=%232b2b2b&borderColorHover=%23cccccc&bgColorHover=%23ededed&fcDefault=%23454545&borderColorDefault=%23c5c5c5&bgColorDefault=%23f6f6f6\n* Copyright OpenJS Foundation and other contributors; Licensed MIT */\n\n/* Layout helpers\n----------------------------------*/\n.ui-helper-hidden {\n\tdisplay: none;\n}\n.ui-helper-hidden-accessible {\n\tborder: 0;\n\tclip: rect(0 0 0 0);\n\theight: 1px;\n\tmargin: -1px;\n\toverflow: hidden;\n\tpadding: 0;\n\tposition: absolute;\n\twidth: 1px;\n}\n.ui-helper-reset {\n\tmargin: 0;\n\tpadding: 0;\n\tborder: 0;\n\toutline: 0;\n\tline-height: 1.3;\n\ttext-decoration: none;\n\tfont-size: 100%;\n\tlist-style: none;\n}\n.ui-helper-clearfix:before,\n.ui-helper-clearfix:after {\n\tcontent: \"\";\n\tdisplay: table;\n\tborder-collapse: collapse;\n}\n.ui-helper-clearfix:after {\n\tclear: both;\n}\n.ui-helper-zfix {\n\twidth: 100%;\n\theight: 100%;\n\ttop: 0;\n\tleft: 0;\n\tposition: absolute;\n\topacity: 0;\n\t-ms-filter: \"alpha(opacity=0)\"; /* support: IE8 */\n}\n\n.ui-front {\n\tz-index: 100;\n}\n\n\n/* Interaction Cues\n----------------------------------*/\n.ui-state-disabled {\n\tcursor: default !important;\n\tpointer-events: none;\n}\n\n\n/* Icons\n----------------------------------*/\n.ui-icon {\n\tdisplay: inline-block;\n\tvertical-align: middle;\n\tmargin-top: -.25em;\n\tposition: relative;\n\ttext-indent: -99999px;\n\toverflow: hidden;\n\tbackground-repeat: no-repeat;\n}\n\n.ui-widget-icon-block {\n\tleft: 50%;\n\tmargin-left: -8px;\n\tdisplay: block;\n}\n\n/* Misc visuals\n----------------------------------*/\n\n/* Overlays */\n.ui-widget-overlay {\n\tposition: fixed;\n\ttop: 0;\n\tleft: 0;\n\twidth: 100%;\n\theight: 100%;\n}\n.ui-accordion .ui-accordion-header {\n\tdisplay: block;\n\tcursor: pointer;\n\tposition: relative;\n\tmargin: 2px 0 0 0;\n\tpadding: .5em .5em .5em .7em;\n\tfont-size: 100%;\n}\n.ui-accordion .ui-accordion-content {\n\tpadding: 1em 2.2em;\n\tborder-top: 0;\n\toverflow: auto;\n}\n.ui-autocomplete {\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\tcursor: default;\n}\n.ui-menu {\n\tlist-style: none;\n\tpadding: 0;\n\tmargin: 0;\n\tdisplay: block;\n\toutline: 0;\n}\n.ui-menu .ui-menu {\n\tposition: absolute;\n}\n.ui-menu .ui-menu-item {\n\tmargin: 0;\n\tcursor: pointer;\n\t/* support: IE10, see #8844 */\n\tlist-style-image: url(${___CSS_LOADER_URL_REPLACEMENT_0___});\n}\n.ui-menu .ui-menu-item-wrapper {\n\tposition: relative;\n\tpadding: 3px 1em 3px .4em;\n}\n.ui-menu .ui-menu-divider {\n\tmargin: 5px 0;\n\theight: 0;\n\tfont-size: 0;\n\tline-height: 0;\n\tborder-width: 1px 0 0 0;\n}\n.ui-menu .ui-state-focus,\n.ui-menu .ui-state-active {\n\tmargin: -1px;\n}\n\n/* icon support */\n.ui-menu-icons {\n\tposition: relative;\n}\n.ui-menu-icons .ui-menu-item-wrapper {\n\tpadding-left: 2em;\n}\n\n/* left-aligned */\n.ui-menu .ui-icon {\n\tposition: absolute;\n\ttop: 0;\n\tbottom: 0;\n\tleft: .2em;\n\tmargin: auto 0;\n}\n\n/* right-aligned */\n.ui-menu .ui-menu-icon {\n\tleft: auto;\n\tright: 0;\n}\n.ui-button {\n\tpadding: .4em 1em;\n\tdisplay: inline-block;\n\tposition: relative;\n\tline-height: normal;\n\tmargin-right: .1em;\n\tcursor: pointer;\n\tvertical-align: middle;\n\ttext-align: center;\n\t-webkit-user-select: none;\n\t-moz-user-select: none;\n\t-ms-user-select: none;\n\tuser-select: none;\n\n\t/* Support: IE <= 11 */\n\toverflow: visible;\n}\n\n.ui-button,\n.ui-button:link,\n.ui-button:visited,\n.ui-button:hover,\n.ui-button:active {\n\ttext-decoration: none;\n}\n\n/* to make room for the icon, a width needs to be set here */\n.ui-button-icon-only {\n\twidth: 2em;\n\tbox-sizing: border-box;\n\ttext-indent: -9999px;\n\twhite-space: nowrap;\n}\n\n/* no icon support for input elements */\ninput.ui-button.ui-button-icon-only {\n\ttext-indent: 0;\n}\n\n/* button icon element(s) */\n.ui-button-icon-only .ui-icon {\n\tposition: absolute;\n\ttop: 50%;\n\tleft: 50%;\n\tmargin-top: -8px;\n\tmargin-left: -8px;\n}\n\n.ui-button.ui-icon-notext .ui-icon {\n\tpadding: 0;\n\twidth: 2.1em;\n\theight: 2.1em;\n\ttext-indent: -9999px;\n\twhite-space: nowrap;\n\n}\n\ninput.ui-button.ui-icon-notext .ui-icon {\n\twidth: auto;\n\theight: auto;\n\ttext-indent: 0;\n\twhite-space: normal;\n\tpadding: .4em 1em;\n}\n\n/* workarounds */\n/* Support: Firefox 5 - 40 */\ninput.ui-button::-moz-focus-inner,\nbutton.ui-button::-moz-focus-inner {\n\tborder: 0;\n\tpadding: 0;\n}\n.ui-controlgroup {\n\tvertical-align: middle;\n\tdisplay: inline-block;\n}\n.ui-controlgroup > .ui-controlgroup-item {\n\tfloat: left;\n\tmargin-left: 0;\n\tmargin-right: 0;\n}\n.ui-controlgroup > .ui-controlgroup-item:focus,\n.ui-controlgroup > .ui-controlgroup-item.ui-visual-focus {\n\tz-index: 9999;\n}\n.ui-controlgroup-vertical > .ui-controlgroup-item {\n\tdisplay: block;\n\tfloat: none;\n\twidth: 100%;\n\tmargin-top: 0;\n\tmargin-bottom: 0;\n\ttext-align: left;\n}\n.ui-controlgroup-vertical .ui-controlgroup-item {\n\tbox-sizing: border-box;\n}\n.ui-controlgroup .ui-controlgroup-label {\n\tpadding: .4em 1em;\n}\n.ui-controlgroup .ui-controlgroup-label span {\n\tfont-size: 80%;\n}\n.ui-controlgroup-horizontal .ui-controlgroup-label + .ui-controlgroup-item {\n\tborder-left: none;\n}\n.ui-controlgroup-vertical .ui-controlgroup-label + .ui-controlgroup-item {\n\tborder-top: none;\n}\n.ui-controlgroup-horizontal .ui-controlgroup-label.ui-widget-content {\n\tborder-right: none;\n}\n.ui-controlgroup-vertical .ui-controlgroup-label.ui-widget-content {\n\tborder-bottom: none;\n}\n\n/* Spinner specific style fixes */\n.ui-controlgroup-vertical .ui-spinner-input {\n\n\t/* Support: IE8 only, Android < 4.4 only */\n\twidth: 75%;\n\twidth: calc( 100% - 2.4em );\n}\n.ui-controlgroup-vertical .ui-spinner .ui-spinner-up {\n\tborder-top-style: solid;\n}\n\n.ui-checkboxradio-label .ui-icon-background {\n\tbox-shadow: inset 1px 1px 1px #ccc;\n\tborder-radius: .12em;\n\tborder: none;\n}\n.ui-checkboxradio-radio-label .ui-icon-background {\n\twidth: 16px;\n\theight: 16px;\n\tborder-radius: 1em;\n\toverflow: visible;\n\tborder: none;\n}\n.ui-checkboxradio-radio-label.ui-checkboxradio-checked .ui-icon,\n.ui-checkboxradio-radio-label.ui-checkboxradio-checked:hover .ui-icon {\n\tbackground-image: none;\n\twidth: 8px;\n\theight: 8px;\n\tborder-width: 4px;\n\tborder-style: solid;\n}\n.ui-checkboxradio-disabled {\n\tpointer-events: none;\n}\n.ui-datepicker {\n\twidth: 17em;\n\tpadding: .2em .2em 0;\n\tdisplay: none;\n}\n.ui-datepicker .ui-datepicker-header {\n\tposition: relative;\n\tpadding: .2em 0;\n}\n.ui-datepicker .ui-datepicker-prev,\n.ui-datepicker .ui-datepicker-next {\n\tposition: absolute;\n\ttop: 2px;\n\twidth: 1.8em;\n\theight: 1.8em;\n}\n.ui-datepicker .ui-datepicker-prev-hover,\n.ui-datepicker .ui-datepicker-next-hover {\n\ttop: 1px;\n}\n.ui-datepicker .ui-datepicker-prev {\n\tleft: 2px;\n}\n.ui-datepicker .ui-datepicker-next {\n\tright: 2px;\n}\n.ui-datepicker .ui-datepicker-prev-hover {\n\tleft: 1px;\n}\n.ui-datepicker .ui-datepicker-next-hover {\n\tright: 1px;\n}\n.ui-datepicker .ui-datepicker-prev span,\n.ui-datepicker .ui-datepicker-next span {\n\tdisplay: block;\n\tposition: absolute;\n\tleft: 50%;\n\tmargin-left: -8px;\n\ttop: 50%;\n\tmargin-top: -8px;\n}\n.ui-datepicker .ui-datepicker-title {\n\tmargin: 0 2.3em;\n\tline-height: 1.8em;\n\ttext-align: center;\n}\n.ui-datepicker .ui-datepicker-title select {\n\tfont-size: 1em;\n\tmargin: 1px 0;\n}\n.ui-datepicker select.ui-datepicker-month,\n.ui-datepicker select.ui-datepicker-year {\n\twidth: 45%;\n}\n.ui-datepicker table {\n\twidth: 100%;\n\tfont-size: .9em;\n\tborder-collapse: collapse;\n\tmargin: 0 0 .4em;\n}\n.ui-datepicker th {\n\tpadding: .7em .3em;\n\ttext-align: center;\n\tfont-weight: bold;\n\tborder: 0;\n}\n.ui-datepicker td {\n\tborder: 0;\n\tpadding: 1px;\n}\n.ui-datepicker td span,\n.ui-datepicker td a {\n\tdisplay: block;\n\tpadding: .2em;\n\ttext-align: right;\n\ttext-decoration: none;\n}\n.ui-datepicker .ui-datepicker-buttonpane {\n\tbackground-image: none;\n\tmargin: .7em 0 0 0;\n\tpadding: 0 .2em;\n\tborder-left: 0;\n\tborder-right: 0;\n\tborder-bottom: 0;\n}\n.ui-datepicker .ui-datepicker-buttonpane button {\n\tfloat: right;\n\tmargin: .5em .2em .4em;\n\tcursor: pointer;\n\tpadding: .2em .6em .3em .6em;\n\twidth: auto;\n\toverflow: visible;\n}\n.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current {\n\tfloat: left;\n}\n\n/* with multiple calendars */\n.ui-datepicker.ui-datepicker-multi {\n\twidth: auto;\n}\n.ui-datepicker-multi .ui-datepicker-group {\n\tfloat: left;\n}\n.ui-datepicker-multi .ui-datepicker-group table {\n\twidth: 95%;\n\tmargin: 0 auto .4em;\n}\n.ui-datepicker-multi-2 .ui-datepicker-group {\n\twidth: 50%;\n}\n.ui-datepicker-multi-3 .ui-datepicker-group {\n\twidth: 33.3%;\n}\n.ui-datepicker-multi-4 .ui-datepicker-group {\n\twidth: 25%;\n}\n.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,\n.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header {\n\tborder-left-width: 0;\n}\n.ui-datepicker-multi .ui-datepicker-buttonpane {\n\tclear: left;\n}\n.ui-datepicker-row-break {\n\tclear: both;\n\twidth: 100%;\n\tfont-size: 0;\n}\n\n/* RTL support */\n.ui-datepicker-rtl {\n\tdirection: rtl;\n}\n.ui-datepicker-rtl .ui-datepicker-prev {\n\tright: 2px;\n\tleft: auto;\n}\n.ui-datepicker-rtl .ui-datepicker-next {\n\tleft: 2px;\n\tright: auto;\n}\n.ui-datepicker-rtl .ui-datepicker-prev:hover {\n\tright: 1px;\n\tleft: auto;\n}\n.ui-datepicker-rtl .ui-datepicker-next:hover {\n\tleft: 1px;\n\tright: auto;\n}\n.ui-datepicker-rtl .ui-datepicker-buttonpane {\n\tclear: right;\n}\n.ui-datepicker-rtl .ui-datepicker-buttonpane button {\n\tfloat: left;\n}\n.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,\n.ui-datepicker-rtl .ui-datepicker-group {\n\tfloat: right;\n}\n.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,\n.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header {\n\tborder-right-width: 0;\n\tborder-left-width: 1px;\n}\n\n/* Icons */\n.ui-datepicker .ui-icon {\n\tdisplay: block;\n\ttext-indent: -99999px;\n\toverflow: hidden;\n\tbackground-repeat: no-repeat;\n\tleft: .5em;\n\ttop: .3em;\n}\n.ui-dialog {\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\tpadding: .2em;\n\toutline: 0;\n}\n.ui-dialog .ui-dialog-titlebar {\n\tpadding: .4em 1em;\n\tposition: relative;\n}\n.ui-dialog .ui-dialog-title {\n\tfloat: left;\n\tmargin: .1em 0;\n\twhite-space: nowrap;\n\twidth: 90%;\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n}\n.ui-dialog .ui-dialog-titlebar-close {\n\tposition: absolute;\n\tright: .3em;\n\ttop: 50%;\n\twidth: 20px;\n\tmargin: -10px 0 0 0;\n\tpadding: 1px;\n\theight: 20px;\n}\n.ui-dialog .ui-dialog-content {\n\tposition: relative;\n\tborder: 0;\n\tpadding: .5em 1em;\n\tbackground: none;\n\toverflow: auto;\n}\n.ui-dialog .ui-dialog-buttonpane {\n\ttext-align: left;\n\tborder-width: 1px 0 0 0;\n\tbackground-image: none;\n\tmargin-top: .5em;\n\tpadding: .3em 1em .5em .4em;\n}\n.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {\n\tfloat: right;\n}\n.ui-dialog .ui-dialog-buttonpane button {\n\tmargin: .5em .4em .5em 0;\n\tcursor: pointer;\n}\n.ui-dialog .ui-resizable-n {\n\theight: 2px;\n\ttop: 0;\n}\n.ui-dialog .ui-resizable-e {\n\twidth: 2px;\n\tright: 0;\n}\n.ui-dialog .ui-resizable-s {\n\theight: 2px;\n\tbottom: 0;\n}\n.ui-dialog .ui-resizable-w {\n\twidth: 2px;\n\tleft: 0;\n}\n.ui-dialog .ui-resizable-se,\n.ui-dialog .ui-resizable-sw,\n.ui-dialog .ui-resizable-ne,\n.ui-dialog .ui-resizable-nw {\n\twidth: 7px;\n\theight: 7px;\n}\n.ui-dialog .ui-resizable-se {\n\tright: 0;\n\tbottom: 0;\n}\n.ui-dialog .ui-resizable-sw {\n\tleft: 0;\n\tbottom: 0;\n}\n.ui-dialog .ui-resizable-ne {\n\tright: 0;\n\ttop: 0;\n}\n.ui-dialog .ui-resizable-nw {\n\tleft: 0;\n\ttop: 0;\n}\n.ui-draggable .ui-dialog-titlebar {\n\tcursor: move;\n}\n.ui-draggable-handle {\n\t-ms-touch-action: none;\n\ttouch-action: none;\n}\n.ui-resizable {\n\tposition: relative;\n}\n.ui-resizable-handle {\n\tposition: absolute;\n\tfont-size: 0.1px;\n\tdisplay: block;\n\t-ms-touch-action: none;\n\ttouch-action: none;\n}\n.ui-resizable-disabled .ui-resizable-handle,\n.ui-resizable-autohide .ui-resizable-handle {\n\tdisplay: none;\n}\n.ui-resizable-n {\n\tcursor: n-resize;\n\theight: 7px;\n\twidth: 100%;\n\ttop: -5px;\n\tleft: 0;\n}\n.ui-resizable-s {\n\tcursor: s-resize;\n\theight: 7px;\n\twidth: 100%;\n\tbottom: -5px;\n\tleft: 0;\n}\n.ui-resizable-e {\n\tcursor: e-resize;\n\twidth: 7px;\n\tright: -5px;\n\ttop: 0;\n\theight: 100%;\n}\n.ui-resizable-w {\n\tcursor: w-resize;\n\twidth: 7px;\n\tleft: -5px;\n\ttop: 0;\n\theight: 100%;\n}\n.ui-resizable-se {\n\tcursor: se-resize;\n\twidth: 12px;\n\theight: 12px;\n\tright: 1px;\n\tbottom: 1px;\n}\n.ui-resizable-sw {\n\tcursor: sw-resize;\n\twidth: 9px;\n\theight: 9px;\n\tleft: -5px;\n\tbottom: -5px;\n}\n.ui-resizable-nw {\n\tcursor: nw-resize;\n\twidth: 9px;\n\theight: 9px;\n\tleft: -5px;\n\ttop: -5px;\n}\n.ui-resizable-ne {\n\tcursor: ne-resize;\n\twidth: 9px;\n\theight: 9px;\n\tright: -5px;\n\ttop: -5px;\n}\n.ui-progressbar {\n\theight: 2em;\n\ttext-align: left;\n\toverflow: hidden;\n}\n.ui-progressbar .ui-progressbar-value {\n\tmargin: -1px;\n\theight: 100%;\n}\n.ui-progressbar .ui-progressbar-overlay {\n\tbackground: url(${___CSS_LOADER_URL_REPLACEMENT_1___});\n\theight: 100%;\n\t-ms-filter: \"alpha(opacity=25)\"; /* support: IE8 */\n\topacity: 0.25;\n}\n.ui-progressbar-indeterminate .ui-progressbar-value {\n\tbackground-image: none;\n}\n.ui-selectable {\n\t-ms-touch-action: none;\n\ttouch-action: none;\n}\n.ui-selectable-helper {\n\tposition: absolute;\n\tz-index: 100;\n\tborder: 1px dotted black;\n}\n.ui-selectmenu-menu {\n\tpadding: 0;\n\tmargin: 0;\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\tdisplay: none;\n}\n.ui-selectmenu-menu .ui-menu {\n\toverflow: auto;\n\toverflow-x: hidden;\n\tpadding-bottom: 1px;\n}\n.ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup {\n\tfont-size: 1em;\n\tfont-weight: bold;\n\tline-height: 1.5;\n\tpadding: 2px 0.4em;\n\tmargin: 0.5em 0 0 0;\n\theight: auto;\n\tborder: 0;\n}\n.ui-selectmenu-open {\n\tdisplay: block;\n}\n.ui-selectmenu-text {\n\tdisplay: block;\n\tmargin-right: 20px;\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n}\n.ui-selectmenu-button.ui-button {\n\ttext-align: left;\n\twhite-space: nowrap;\n\twidth: 14em;\n}\n.ui-selectmenu-icon.ui-icon {\n\tfloat: right;\n\tmargin-top: 0;\n}\n.ui-slider {\n\tposition: relative;\n\ttext-align: left;\n}\n.ui-slider .ui-slider-handle {\n\tposition: absolute;\n\tz-index: 2;\n\twidth: 1.2em;\n\theight: 1.2em;\n\tcursor: pointer;\n\t-ms-touch-action: none;\n\ttouch-action: none;\n}\n.ui-slider .ui-slider-range {\n\tposition: absolute;\n\tz-index: 1;\n\tfont-size: .7em;\n\tdisplay: block;\n\tborder: 0;\n\tbackground-position: 0 0;\n}\n\n/* support: IE8 - See #6727 */\n.ui-slider.ui-state-disabled .ui-slider-handle,\n.ui-slider.ui-state-disabled .ui-slider-range {\n\tfilter: inherit;\n}\n\n.ui-slider-horizontal {\n\theight: .8em;\n}\n.ui-slider-horizontal .ui-slider-handle {\n\ttop: -.3em;\n\tmargin-left: -.6em;\n}\n.ui-slider-horizontal .ui-slider-range {\n\ttop: 0;\n\theight: 100%;\n}\n.ui-slider-horizontal .ui-slider-range-min {\n\tleft: 0;\n}\n.ui-slider-horizontal .ui-slider-range-max {\n\tright: 0;\n}\n\n.ui-slider-vertical {\n\twidth: .8em;\n\theight: 100px;\n}\n.ui-slider-vertical .ui-slider-handle {\n\tleft: -.3em;\n\tmargin-left: 0;\n\tmargin-bottom: -.6em;\n}\n.ui-slider-vertical .ui-slider-range {\n\tleft: 0;\n\twidth: 100%;\n}\n.ui-slider-vertical .ui-slider-range-min {\n\tbottom: 0;\n}\n.ui-slider-vertical .ui-slider-range-max {\n\ttop: 0;\n}\n.ui-sortable-handle {\n\t-ms-touch-action: none;\n\ttouch-action: none;\n}\n.ui-spinner {\n\tposition: relative;\n\tdisplay: inline-block;\n\toverflow: hidden;\n\tpadding: 0;\n\tvertical-align: middle;\n}\n.ui-spinner-input {\n\tborder: none;\n\tbackground: none;\n\tcolor: inherit;\n\tpadding: .222em 0;\n\tmargin: .2em 0;\n\tvertical-align: middle;\n\tmargin-left: .4em;\n\tmargin-right: 2em;\n}\n.ui-spinner-button {\n\twidth: 1.6em;\n\theight: 50%;\n\tfont-size: .5em;\n\tpadding: 0;\n\tmargin: 0;\n\ttext-align: center;\n\tposition: absolute;\n\tcursor: default;\n\tdisplay: block;\n\toverflow: hidden;\n\tright: 0;\n}\n/* more specificity required here to override default borders */\n.ui-spinner a.ui-spinner-button {\n\tborder-top-style: none;\n\tborder-bottom-style: none;\n\tborder-right-style: none;\n}\n.ui-spinner-up {\n\ttop: 0;\n}\n.ui-spinner-down {\n\tbottom: 0;\n}\n.ui-tabs {\n\tposition: relative;/* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as \"fixed\") */\n\tpadding: .2em;\n}\n.ui-tabs .ui-tabs-nav {\n\tmargin: 0;\n\tpadding: .2em .2em 0;\n}\n.ui-tabs .ui-tabs-nav li {\n\tlist-style: none;\n\tfloat: left;\n\tposition: relative;\n\ttop: 0;\n\tmargin: 1px .2em 0 0;\n\tborder-bottom-width: 0;\n\tpadding: 0;\n\twhite-space: nowrap;\n}\n.ui-tabs .ui-tabs-nav .ui-tabs-anchor {\n\tfloat: left;\n\tpadding: .5em 1em;\n\ttext-decoration: none;\n}\n.ui-tabs .ui-tabs-nav li.ui-tabs-active {\n\tmargin-bottom: -1px;\n\tpadding-bottom: 1px;\n}\n.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor,\n.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor,\n.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor {\n\tcursor: text;\n}\n.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor {\n\tcursor: pointer;\n}\n.ui-tabs .ui-tabs-panel {\n\tdisplay: block;\n\tborder-width: 0;\n\tpadding: 1em 1.4em;\n\tbackground: none;\n}\n.ui-tooltip {\n\tpadding: 8px;\n\tposition: absolute;\n\tz-index: 9999;\n\tmax-width: 300px;\n}\nbody .ui-tooltip {\n\tborder-width: 2px;\n}\n\n/* Component containers\n----------------------------------*/\n.ui-widget {\n\tfont-family: Arial,Helvetica,sans-serif;\n\tfont-size: 1em;\n}\n.ui-widget .ui-widget {\n\tfont-size: 1em;\n}\n.ui-widget input,\n.ui-widget select,\n.ui-widget textarea,\n.ui-widget button {\n\tfont-family: Arial,Helvetica,sans-serif;\n\tfont-size: 1em;\n}\n.ui-widget.ui-widget-content {\n\tborder: 1px solid #c5c5c5;\n}\n.ui-widget-content {\n\tborder: 1px solid #dddddd;\n\tbackground: #ffffff;\n\tcolor: #333333;\n}\n.ui-widget-content a {\n\tcolor: #333333;\n}\n.ui-widget-header {\n\tborder: 1px solid #dddddd;\n\tbackground: #e9e9e9;\n\tcolor: #333333;\n\tfont-weight: bold;\n}\n.ui-widget-header a {\n\tcolor: #333333;\n}\n\n/* Interaction states\n----------------------------------*/\n.ui-state-default,\n.ui-widget-content .ui-state-default,\n.ui-widget-header .ui-state-default,\n.ui-button,\n\n/* We use html here because we need a greater specificity to make sure disabled\nworks properly when clicked or hovered */\nhtml .ui-button.ui-state-disabled:hover,\nhtml .ui-button.ui-state-disabled:active {\n\tborder: 1px solid #c5c5c5;\n\tbackground: #f6f6f6;\n\tfont-weight: normal;\n\tcolor: #454545;\n}\n.ui-state-default a,\n.ui-state-default a:link,\n.ui-state-default a:visited,\na.ui-button,\na:link.ui-button,\na:visited.ui-button,\n.ui-button {\n\tcolor: #454545;\n\ttext-decoration: none;\n}\n.ui-state-hover,\n.ui-widget-content .ui-state-hover,\n.ui-widget-header .ui-state-hover,\n.ui-state-focus,\n.ui-widget-content .ui-state-focus,\n.ui-widget-header .ui-state-focus,\n.ui-button:hover,\n.ui-button:focus {\n\tborder: 1px solid #cccccc;\n\tbackground: #ededed;\n\tfont-weight: normal;\n\tcolor: #2b2b2b;\n}\n.ui-state-hover a,\n.ui-state-hover a:hover,\n.ui-state-hover a:link,\n.ui-state-hover a:visited,\n.ui-state-focus a,\n.ui-state-focus a:hover,\n.ui-state-focus a:link,\n.ui-state-focus a:visited,\na.ui-button:hover,\na.ui-button:focus {\n\tcolor: #2b2b2b;\n\ttext-decoration: none;\n}\n\n.ui-visual-focus {\n\tbox-shadow: 0 0 3px 1px rgb(94, 158, 214);\n}\n.ui-state-active,\n.ui-widget-content .ui-state-active,\n.ui-widget-header .ui-state-active,\na.ui-button:active,\n.ui-button:active,\n.ui-button.ui-state-active:hover {\n\tborder: 1px solid #003eff;\n\tbackground: #007fff;\n\tfont-weight: normal;\n\tcolor: #ffffff;\n}\n.ui-icon-background,\n.ui-state-active .ui-icon-background {\n\tborder: #003eff;\n\tbackground-color: #ffffff;\n}\n.ui-state-active a,\n.ui-state-active a:link,\n.ui-state-active a:visited {\n\tcolor: #ffffff;\n\ttext-decoration: none;\n}\n\n/* Interaction Cues\n----------------------------------*/\n.ui-state-highlight,\n.ui-widget-content .ui-state-highlight,\n.ui-widget-header .ui-state-highlight {\n\tborder: 1px solid #dad55e;\n\tbackground: #fffa90;\n\tcolor: #777620;\n}\n.ui-state-checked {\n\tborder: 1px solid #dad55e;\n\tbackground: #fffa90;\n}\n.ui-state-highlight a,\n.ui-widget-content .ui-state-highlight a,\n.ui-widget-header .ui-state-highlight a {\n\tcolor: #777620;\n}\n.ui-state-error,\n.ui-widget-content .ui-state-error,\n.ui-widget-header .ui-state-error {\n\tborder: 1px solid #f1a899;\n\tbackground: #fddfdf;\n\tcolor: #5f3f3f;\n}\n.ui-state-error a,\n.ui-widget-content .ui-state-error a,\n.ui-widget-header .ui-state-error a {\n\tcolor: #5f3f3f;\n}\n.ui-state-error-text,\n.ui-widget-content .ui-state-error-text,\n.ui-widget-header .ui-state-error-text {\n\tcolor: #5f3f3f;\n}\n.ui-priority-primary,\n.ui-widget-content .ui-priority-primary,\n.ui-widget-header .ui-priority-primary {\n\tfont-weight: bold;\n}\n.ui-priority-secondary,\n.ui-widget-content .ui-priority-secondary,\n.ui-widget-header .ui-priority-secondary {\n\topacity: .7;\n\t-ms-filter: \"alpha(opacity=70)\"; /* support: IE8 */\n\tfont-weight: normal;\n}\n.ui-state-disabled,\n.ui-widget-content .ui-state-disabled,\n.ui-widget-header .ui-state-disabled {\n\topacity: .35;\n\t-ms-filter: \"alpha(opacity=35)\"; /* support: IE8 */\n\tbackground-image: none;\n}\n.ui-state-disabled .ui-icon {\n\t-ms-filter: \"alpha(opacity=35)\"; /* support: IE8 - See #6059 */\n}\n\n/* Icons\n----------------------------------*/\n\n/* states and images */\n.ui-icon {\n\twidth: 16px;\n\theight: 16px;\n}\n.ui-icon,\n.ui-widget-content .ui-icon {\n\tbackground-image: url(${___CSS_LOADER_URL_REPLACEMENT_2___});\n}\n.ui-widget-header .ui-icon {\n\tbackground-image: url(${___CSS_LOADER_URL_REPLACEMENT_2___});\n}\n.ui-state-hover .ui-icon,\n.ui-state-focus .ui-icon,\n.ui-button:hover .ui-icon,\n.ui-button:focus .ui-icon {\n\tbackground-image: url(${___CSS_LOADER_URL_REPLACEMENT_3___});\n}\n.ui-state-active .ui-icon,\n.ui-button:active .ui-icon {\n\tbackground-image: url(${___CSS_LOADER_URL_REPLACEMENT_4___});\n}\n.ui-state-highlight .ui-icon,\n.ui-button .ui-state-highlight.ui-icon {\n\tbackground-image: url(${___CSS_LOADER_URL_REPLACEMENT_5___});\n}\n.ui-state-error .ui-icon,\n.ui-state-error-text .ui-icon {\n\tbackground-image: url(${___CSS_LOADER_URL_REPLACEMENT_6___});\n}\n.ui-button .ui-icon {\n\tbackground-image: url(${___CSS_LOADER_URL_REPLACEMENT_7___});\n}\n\n/* positioning */\n/* Three classes needed to override \\`.ui-button:hover .ui-icon\\` */\n.ui-icon-blank.ui-icon-blank.ui-icon-blank {\n\tbackground-image: none;\n}\n.ui-icon-caret-1-n { background-position: 0 0; }\n.ui-icon-caret-1-ne { background-position: -16px 0; }\n.ui-icon-caret-1-e { background-position: -32px 0; }\n.ui-icon-caret-1-se { background-position: -48px 0; }\n.ui-icon-caret-1-s { background-position: -65px 0; }\n.ui-icon-caret-1-sw { background-position: -80px 0; }\n.ui-icon-caret-1-w { background-position: -96px 0; }\n.ui-icon-caret-1-nw { background-position: -112px 0; }\n.ui-icon-caret-2-n-s { background-position: -128px 0; }\n.ui-icon-caret-2-e-w { background-position: -144px 0; }\n.ui-icon-triangle-1-n { background-position: 0 -16px; }\n.ui-icon-triangle-1-ne { background-position: -16px -16px; }\n.ui-icon-triangle-1-e { background-position: -32px -16px; }\n.ui-icon-triangle-1-se { background-position: -48px -16px; }\n.ui-icon-triangle-1-s { background-position: -65px -16px; }\n.ui-icon-triangle-1-sw { background-position: -80px -16px; }\n.ui-icon-triangle-1-w { background-position: -96px -16px; }\n.ui-icon-triangle-1-nw { background-position: -112px -16px; }\n.ui-icon-triangle-2-n-s { background-position: -128px -16px; }\n.ui-icon-triangle-2-e-w { background-position: -144px -16px; }\n.ui-icon-arrow-1-n { background-position: 0 -32px; }\n.ui-icon-arrow-1-ne { background-position: -16px -32px; }\n.ui-icon-arrow-1-e { background-position: -32px -32px; }\n.ui-icon-arrow-1-se { background-position: -48px -32px; }\n.ui-icon-arrow-1-s { background-position: -65px -32px; }\n.ui-icon-arrow-1-sw { background-position: -80px -32px; }\n.ui-icon-arrow-1-w { background-position: -96px -32px; }\n.ui-icon-arrow-1-nw { background-position: -112px -32px; }\n.ui-icon-arrow-2-n-s { background-position: -128px -32px; }\n.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }\n.ui-icon-arrow-2-e-w { background-position: -160px -32px; }\n.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }\n.ui-icon-arrowstop-1-n { background-position: -192px -32px; }\n.ui-icon-arrowstop-1-e { background-position: -208px -32px; }\n.ui-icon-arrowstop-1-s { background-position: -224px -32px; }\n.ui-icon-arrowstop-1-w { background-position: -240px -32px; }\n.ui-icon-arrowthick-1-n { background-position: 1px -48px; }\n.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }\n.ui-icon-arrowthick-1-e { background-position: -32px -48px; }\n.ui-icon-arrowthick-1-se { background-position: -48px -48px; }\n.ui-icon-arrowthick-1-s { background-position: -64px -48px; }\n.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }\n.ui-icon-arrowthick-1-w { background-position: -96px -48px; }\n.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }\n.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }\n.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }\n.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }\n.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }\n.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }\n.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }\n.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }\n.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }\n.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }\n.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }\n.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }\n.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }\n.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }\n.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }\n.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }\n.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }\n.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }\n.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }\n.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }\n.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }\n.ui-icon-arrow-4 { background-position: 0 -80px; }\n.ui-icon-arrow-4-diag { background-position: -16px -80px; }\n.ui-icon-extlink { background-position: -32px -80px; }\n.ui-icon-newwin { background-position: -48px -80px; }\n.ui-icon-refresh { background-position: -64px -80px; }\n.ui-icon-shuffle { background-position: -80px -80px; }\n.ui-icon-transfer-e-w { background-position: -96px -80px; }\n.ui-icon-transferthick-e-w { background-position: -112px -80px; }\n.ui-icon-folder-collapsed { background-position: 0 -96px; }\n.ui-icon-folder-open { background-position: -16px -96px; }\n.ui-icon-document { background-position: -32px -96px; }\n.ui-icon-document-b { background-position: -48px -96px; }\n.ui-icon-note { background-position: -64px -96px; }\n.ui-icon-mail-closed { background-position: -80px -96px; }\n.ui-icon-mail-open { background-position: -96px -96px; }\n.ui-icon-suitcase { background-position: -112px -96px; }\n.ui-icon-comment { background-position: -128px -96px; }\n.ui-icon-person { background-position: -144px -96px; }\n.ui-icon-print { background-position: -160px -96px; }\n.ui-icon-trash { background-position: -176px -96px; }\n.ui-icon-locked { background-position: -192px -96px; }\n.ui-icon-unlocked { background-position: -208px -96px; }\n.ui-icon-bookmark { background-position: -224px -96px; }\n.ui-icon-tag { background-position: -240px -96px; }\n.ui-icon-home { background-position: 0 -112px; }\n.ui-icon-flag { background-position: -16px -112px; }\n.ui-icon-calendar { background-position: -32px -112px; }\n.ui-icon-cart { background-position: -48px -112px; }\n.ui-icon-pencil { background-position: -64px -112px; }\n.ui-icon-clock { background-position: -80px -112px; }\n.ui-icon-disk { background-position: -96px -112px; }\n.ui-icon-calculator { background-position: -112px -112px; }\n.ui-icon-zoomin { background-position: -128px -112px; }\n.ui-icon-zoomout { background-position: -144px -112px; }\n.ui-icon-search { background-position: -160px -112px; }\n.ui-icon-wrench { background-position: -176px -112px; }\n.ui-icon-gear { background-position: -192px -112px; }\n.ui-icon-heart { background-position: -208px -112px; }\n.ui-icon-star { background-position: -224px -112px; }\n.ui-icon-link { background-position: -240px -112px; }\n.ui-icon-cancel { background-position: 0 -128px; }\n.ui-icon-plus { background-position: -16px -128px; }\n.ui-icon-plusthick { background-position: -32px -128px; }\n.ui-icon-minus { background-position: -48px -128px; }\n.ui-icon-minusthick { background-position: -64px -128px; }\n.ui-icon-close { background-position: -80px -128px; }\n.ui-icon-closethick { background-position: -96px -128px; }\n.ui-icon-key { background-position: -112px -128px; }\n.ui-icon-lightbulb { background-position: -128px -128px; }\n.ui-icon-scissors { background-position: -144px -128px; }\n.ui-icon-clipboard { background-position: -160px -128px; }\n.ui-icon-copy { background-position: -176px -128px; }\n.ui-icon-contact { background-position: -192px -128px; }\n.ui-icon-image { background-position: -208px -128px; }\n.ui-icon-video { background-position: -224px -128px; }\n.ui-icon-script { background-position: -240px -128px; }\n.ui-icon-alert { background-position: 0 -144px; }\n.ui-icon-info { background-position: -16px -144px; }\n.ui-icon-notice { background-position: -32px -144px; }\n.ui-icon-help { background-position: -48px -144px; }\n.ui-icon-check { background-position: -64px -144px; }\n.ui-icon-bullet { background-position: -80px -144px; }\n.ui-icon-radio-on { background-position: -96px -144px; }\n.ui-icon-radio-off { background-position: -112px -144px; }\n.ui-icon-pin-w { background-position: -128px -144px; }\n.ui-icon-pin-s { background-position: -144px -144px; }\n.ui-icon-play { background-position: 0 -160px; }\n.ui-icon-pause { background-position: -16px -160px; }\n.ui-icon-seek-next { background-position: -32px -160px; }\n.ui-icon-seek-prev { background-position: -48px -160px; }\n.ui-icon-seek-end { background-position: -64px -160px; }\n.ui-icon-seek-start { background-position: -80px -160px; }\n/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */\n.ui-icon-seek-first { background-position: -80px -160px; }\n.ui-icon-stop { background-position: -96px -160px; }\n.ui-icon-eject { background-position: -112px -160px; }\n.ui-icon-volume-off { background-position: -128px -160px; }\n.ui-icon-volume-on { background-position: -144px -160px; }\n.ui-icon-power { background-position: 0 -176px; }\n.ui-icon-signal-diag { background-position: -16px -176px; }\n.ui-icon-signal { background-position: -32px -176px; }\n.ui-icon-battery-0 { background-position: -48px -176px; }\n.ui-icon-battery-1 { background-position: -64px -176px; }\n.ui-icon-battery-2 { background-position: -80px -176px; }\n.ui-icon-battery-3 { background-position: -96px -176px; }\n.ui-icon-circle-plus { background-position: 0 -192px; }\n.ui-icon-circle-minus { background-position: -16px -192px; }\n.ui-icon-circle-close { background-position: -32px -192px; }\n.ui-icon-circle-triangle-e { background-position: -48px -192px; }\n.ui-icon-circle-triangle-s { background-position: -64px -192px; }\n.ui-icon-circle-triangle-w { background-position: -80px -192px; }\n.ui-icon-circle-triangle-n { background-position: -96px -192px; }\n.ui-icon-circle-arrow-e { background-position: -112px -192px; }\n.ui-icon-circle-arrow-s { background-position: -128px -192px; }\n.ui-icon-circle-arrow-w { background-position: -144px -192px; }\n.ui-icon-circle-arrow-n { background-position: -160px -192px; }\n.ui-icon-circle-zoomin { background-position: -176px -192px; }\n.ui-icon-circle-zoomout { background-position: -192px -192px; }\n.ui-icon-circle-check { background-position: -208px -192px; }\n.ui-icon-circlesmall-plus { background-position: 0 -208px; }\n.ui-icon-circlesmall-minus { background-position: -16px -208px; }\n.ui-icon-circlesmall-close { background-position: -32px -208px; }\n.ui-icon-squaresmall-plus { background-position: -48px -208px; }\n.ui-icon-squaresmall-minus { background-position: -64px -208px; }\n.ui-icon-squaresmall-close { background-position: -80px -208px; }\n.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }\n.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }\n.ui-icon-grip-solid-vertical { background-position: -32px -224px; }\n.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }\n.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }\n.ui-icon-grip-diagonal-se { background-position: -80px -224px; }\n\n\n/* Misc visuals\n----------------------------------*/\n\n/* Corner radius */\n.ui-corner-all,\n.ui-corner-top,\n.ui-corner-left,\n.ui-corner-tl {\n\tborder-top-left-radius: 3px;\n}\n.ui-corner-all,\n.ui-corner-top,\n.ui-corner-right,\n.ui-corner-tr {\n\tborder-top-right-radius: 3px;\n}\n.ui-corner-all,\n.ui-corner-bottom,\n.ui-corner-left,\n.ui-corner-bl {\n\tborder-bottom-left-radius: 3px;\n}\n.ui-corner-all,\n.ui-corner-bottom,\n.ui-corner-right,\n.ui-corner-br {\n\tborder-bottom-right-radius: 3px;\n}\n\n/* Overlays */\n.ui-widget-overlay {\n\tbackground: #aaaaaa;\n\topacity: .003;\n\t-ms-filter: \"alpha(opacity=.3)\"; /* support: IE8 */\n}\n.ui-widget-shadow {\n\t-webkit-box-shadow: 0px 0px 5px #666666;\n\tbox-shadow: 0px 0px 5px #666666;\n}\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/jquery-ui-dist/jquery-ui.css\"],\"names\":[],\"mappings\":\"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,YAAY;AACb;AACA;CACC,WAAW;CACX,YAAY;CACZ,kBAAkB;CAClB,iBAAiB;CACjB,YAAY;AACb;AACA;;CAEC,sBAAsB;CACtB,UAAU;CACV,WAAW;CACX,iBAAiB;CACjB,mBAAmB;AACpB;AACA;CACC,oBAAoB;AACrB;AACA;CACC,WAAW;CACX,oBAAoB;CACpB,aAAa;AACd;AACA;CACC,kBAAkB;CAClB,eAAe;AAChB;AACA;;CAEC,kBAAkB;CAClB,QAAQ;CACR,YAAY;CACZ,aAAa;AACd;AACA;;CAEC,QAAQ;AACT;AACA;CACC,SAAS;AACV;AACA;CACC,UAAU;AACX;AACA;CACC,SAAS;AACV;AACA;CACC,UAAU;AACX;AACA;;CAEC,cAAc;CACd,kBAAkB;CAClB,SAAS;CACT,iBAAiB;CACjB,QAAQ;CACR,gBAAgB;AACjB;AACA;CACC,eAAe;CACf,kBAAkB;CAClB,kBAAkB;AACnB;AACA;CACC,cAAc;CACd,aAAa;AACd;AACA;;CAEC,UAAU;AACX;AACA;CACC,WAAW;CACX,eAAe;CACf,yBAAyB;CACzB,gBAAgB;AACjB;AACA;CACC,kBAAkB;CAClB,kBAAkB;CAClB,iBAAiB;CACjB,SAAS;AACV;AACA;CACC,SAAS;CACT,YAAY;AACb;AACA;;CAEC,cAAc;CACd,aAAa;CACb,iBAAiB;CACjB,qBAAqB;AACtB;AACA;CACC,sBAAsB;CACtB,kBAAkB;CAClB,eAAe;CACf,cAAc;CACd,eAAe;CACf,gBAAgB;AACjB;AACA;CACC,YAAY;CACZ,sBAAsB;CACtB,eAAe;CACf,4BAA4B;CAC5B,WAAW;CACX,iBAAiB;AAClB;AACA;CACC,WAAW;AACZ;;AAEA,4BAA4B;AAC5B;CACC,WAAW;AACZ;AACA;CACC,WAAW;AACZ;AACA;CACC,UAAU;CACV,mBAAmB;AACpB;AACA;CACC,UAAU;AACX;AACA;CACC,YAAY;AACb;AACA;CACC,UAAU;AACX;AACA;;CAEC,oBAAoB;AACrB;AACA;CACC,WAAW;AACZ;AACA;CACC,WAAW;CACX,WAAW;CACX,YAAY;AACb;;AAEA,gBAAgB;AAChB;CACC,cAAc;AACf;AACA;CACC,UAAU;CACV,UAAU;AACX;AACA;CACC,SAAS;CACT,WAAW;AACZ;AACA;CACC,UAAU;CACV,UAAU;AACX;AACA;CACC,SAAS;CACT,WAAW;AACZ;AACA;CACC,YAAY;AACb;AACA;CACC,WAAW;AACZ;AACA;;CAEC,YAAY;AACb;AACA;;CAEC,qBAAqB;CACrB,sBAAsB;AACvB;;AAEA,UAAU;AACV;CACC,cAAc;CACd,qBAAqB;CACrB,gBAAgB;CAChB,4BAA4B;CAC5B,UAAU;CACV,SAAS;AACV;AACA;CACC,kBAAkB;CAClB,MAAM;CACN,OAAO;CACP,aAAa;CACb,UAAU;AACX;AACA;CACC,iBAAiB;CACjB,kBAAkB;AACnB;AACA;CACC,WAAW;CACX,cAAc;CACd,mBAAmB;CACnB,UAAU;CACV,gBAAgB;CAChB,uBAAuB;AACxB;AACA;CACC,kBAAkB;CAClB,WAAW;CACX,QAAQ;CACR,WAAW;CACX,mBAAmB;CACnB,YAAY;CACZ,YAAY;AACb;AACA;CACC,kBAAkB;CAClB,SAAS;CACT,iBAAiB;CACjB,gBAAgB;CAChB,cAAc;AACf;AACA;CACC,gBAAgB;CAChB,uBAAuB;CACvB,sBAAsB;CACtB,gBAAgB;CAChB,2BAA2B;AAC5B;AACA;CACC,YAAY;AACb;AACA;CACC,wBAAwB;CACxB,eAAe;AAChB;AACA;CACC,WAAW;CACX,MAAM;AACP;AACA;CACC,UAAU;CACV,QAAQ;AACT;AACA;CACC,WAAW;CACX,SAAS;AACV;AACA;CACC,UAAU;CACV,OAAO;AACR;AACA;;;;CAIC,UAAU;CACV,WAAW;AACZ;AACA;CACC,QAAQ;CACR,SAAS;AACV;AACA;CACC,OAAO;CACP,SAAS;AACV;AACA;CACC,QAAQ;CACR,MAAM;AACP;AACA;CACC,OAAO;CACP,MAAM;AACP;AACA;CACC,YAAY;AACb;AACA;CACC,sBAAsB;CACtB,kBAAkB;AACnB;AACA;CACC,kBAAkB;AACnB;AACA;CACC,kBAAkB;CAClB,gBAAgB;CAChB,cAAc;CACd,sBAAsB;CACtB,kBAAkB;AACnB;AACA;;CAEC,aAAa;AACd;AACA;CACC,gBAAgB;CAChB,WAAW;CACX,WAAW;CACX,SAAS;CACT,OAAO;AACR;AACA;CACC,gBAAgB;CAChB,WAAW;CACX,WAAW;CACX,YAAY;CACZ,OAAO;AACR;AACA;CACC,gBAAgB;CAChB,UAAU;CACV,WAAW;CACX,MAAM;CACN,YAAY;AACb;AACA;CACC,gBAAgB;CAChB,UAAU;CACV,UAAU;CACV,MAAM;CACN,YAAY;AACb;AACA;CACC,iBAAiB;CACjB,WAAW;CACX,YAAY;CACZ,UAAU;CACV,WAAW;AACZ;AACA;CACC,iBAAiB;CACjB,UAAU;CACV,WAAW;CACX,UAAU;CACV,YAAY;AACb;AACA;CACC,iBAAiB;CACjB,UAAU;CACV,WAAW;CACX,UAAU;CACV,SAAS;AACV;AACA;CACC,iBAAiB;CACjB,UAAU;CACV,WAAW;CACX,WAAW;CACX,SAAS;AACV;AACA;CACC,WAAW;CACX,gBAAgB;CAChB,gBAAgB;AACjB;AACA;CACC,YAAY;CACZ,YAAY;AACb;AACA;CACC,mDAAyzE;CACzzE,YAAY;CACZ,+BAA+B,EAAE,iBAAiB;CAClD,aAAa;AACd;AACA;CACC,sBAAsB;AACvB;AACA;CACC,sBAAsB;CACtB,kBAAkB;AACnB;AACA;CACC,kBAAkB;CAClB,YAAY;CACZ,wBAAwB;AACzB;AACA;CACC,UAAU;CACV,SAAS;CACT,kBAAkB;CAClB,MAAM;CACN,OAAO;CACP,aAAa;AACd;AACA;CACC,cAAc;CACd,kBAAkB;CAClB,mBAAmB;AACpB;AACA;CACC,cAAc;CACd,iBAAiB;CACjB,gBAAgB;CAChB,kBAAkB;CAClB,mBAAmB;CACnB,YAAY;CACZ,SAAS;AACV;AACA;CACC,cAAc;AACf;AACA;CACC,cAAc;CACd,kBAAkB;CAClB,gBAAgB;CAChB,uBAAuB;AACxB;AACA;CACC,gBAAgB;CAChB,mBAAmB;CACnB,WAAW;AACZ;AACA;CACC,YAAY;CACZ,aAAa;AACd;AACA;CACC,kBAAkB;CAClB,gBAAgB;AACjB;AACA;CACC,kBAAkB;CAClB,UAAU;CACV,YAAY;CACZ,aAAa;CACb,eAAe;CACf,sBAAsB;CACtB,kBAAkB;AACnB;AACA;CACC,kBAAkB;CAClB,UAAU;CACV,eAAe;CACf,cAAc;CACd,SAAS;CACT,wBAAwB;AACzB;;AAEA,6BAA6B;AAC7B;;CAEC,eAAe;AAChB;;AAEA;CACC,YAAY;AACb;AACA;CACC,UAAU;CACV,kBAAkB;AACnB;AACA;CACC,MAAM;CACN,YAAY;AACb;AACA;CACC,OAAO;AACR;AACA;CACC,QAAQ;AACT;;AAEA;CACC,WAAW;CACX,aAAa;AACd;AACA;CACC,WAAW;CACX,cAAc;CACd,oBAAoB;AACrB;AACA;CACC,OAAO;CACP,WAAW;AACZ;AACA;CACC,SAAS;AACV;AACA;CACC,MAAM;AACP;AACA;CACC,sBAAsB;CACtB,kBAAkB;AACnB;AACA;CACC,kBAAkB;CAClB,qBAAqB;CACrB,gBAAgB;CAChB,UAAU;CACV,sBAAsB;AACvB;AACA;CACC,YAAY;CACZ,gBAAgB;CAChB,cAAc;CACd,iBAAiB;CACjB,cAAc;CACd,sBAAsB;CACtB,iBAAiB;CACjB,iBAAiB;AAClB;AACA;CACC,YAAY;CACZ,WAAW;CACX,eAAe;CACf,UAAU;CACV,SAAS;CACT,kBAAkB;CAClB,kBAAkB;CAClB,eAAe;CACf,cAAc;CACd,gBAAgB;CAChB,QAAQ;AACT;AACA,+DAA+D;AAC/D;CACC,sBAAsB;CACtB,yBAAyB;CACzB,wBAAwB;AACzB;AACA;CACC,MAAM;AACP;AACA;CACC,SAAS;AACV;AACA;CACC,kBAAkB,CAAC,uIAAuI;CAC1J,aAAa;AACd;AACA;CACC,SAAS;CACT,oBAAoB;AACrB;AACA;CACC,gBAAgB;CAChB,WAAW;CACX,kBAAkB;CAClB,MAAM;CACN,oBAAoB;CACpB,sBAAsB;CACtB,UAAU;CACV,mBAAmB;AACpB;AACA;CACC,WAAW;CACX,iBAAiB;CACjB,qBAAqB;AACtB;AACA;CACC,mBAAmB;CACnB,mBAAmB;AACpB;AACA;;;CAGC,YAAY;AACb;AACA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\",\"sourcesContent\":[\"/*! jQuery UI - v1.13.3 - 2024-04-26\\n* https://jqueryui.com\\n* Includes: core.css, accordion.css, autocomplete.css, menu.css, button.css, controlgroup.css, checkboxradio.css, datepicker.css, dialog.css, draggable.css, resizable.css, progressbar.css, selectable.css, selectmenu.css, slider.css, sortable.css, spinner.css, tabs.css, tooltip.css, theme.css\\n* To view and modify this theme, visit https://jqueryui.com/themeroller/?bgShadowXPos=&bgOverlayXPos=&bgErrorXPos=&bgHighlightXPos=&bgContentXPos=&bgHeaderXPos=&bgActiveXPos=&bgHoverXPos=&bgDefaultXPos=&bgShadowYPos=&bgOverlayYPos=&bgErrorYPos=&bgHighlightYPos=&bgContentYPos=&bgHeaderYPos=&bgActiveYPos=&bgHoverYPos=&bgDefaultYPos=&bgShadowRepeat=&bgOverlayRepeat=&bgErrorRepeat=&bgHighlightRepeat=&bgContentRepeat=&bgHeaderRepeat=&bgActiveRepeat=&bgHoverRepeat=&bgDefaultRepeat=&iconsHover=url(%22images%2Fui-icons_555555_256x240.png%22)&iconsHighlight=url(%22images%2Fui-icons_777620_256x240.png%22)&iconsHeader=url(%22images%2Fui-icons_444444_256x240.png%22)&iconsError=url(%22images%2Fui-icons_cc0000_256x240.png%22)&iconsDefault=url(%22images%2Fui-icons_777777_256x240.png%22)&iconsContent=url(%22images%2Fui-icons_444444_256x240.png%22)&iconsActive=url(%22images%2Fui-icons_ffffff_256x240.png%22)&bgImgUrlShadow=&bgImgUrlOverlay=&bgImgUrlHover=&bgImgUrlHighlight=&bgImgUrlHeader=&bgImgUrlError=&bgImgUrlDefault=&bgImgUrlContent=&bgImgUrlActive=&opacityFilterShadow=%22alpha(opacity%3D30)%22&opacityFilterOverlay=%22alpha(opacity%3D30)%22&opacityShadowPerc=30&opacityOverlayPerc=30&iconColorHover=%23555555&iconColorHighlight=%23777620&iconColorHeader=%23444444&iconColorError=%23cc0000&iconColorDefault=%23777777&iconColorContent=%23444444&iconColorActive=%23ffffff&bgImgOpacityShadow=0&bgImgOpacityOverlay=0&bgImgOpacityError=95&bgImgOpacityHighlight=55&bgImgOpacityContent=75&bgImgOpacityHeader=75&bgImgOpacityActive=65&bgImgOpacityHover=75&bgImgOpacityDefault=75&bgTextureShadow=flat&bgTextureOverlay=flat&bgTextureError=flat&bgTextureHighlight=flat&bgTextureContent=flat&bgTextureHeader=flat&bgTextureActive=flat&bgTextureHover=flat&bgTextureDefault=flat&cornerRadius=3px&fwDefault=normal&ffDefault=Arial%2CHelvetica%2Csans-serif&fsDefault=1em&cornerRadiusShadow=8px&thicknessShadow=5px&offsetLeftShadow=0px&offsetTopShadow=0px&opacityShadow=.3&bgColorShadow=%23666666&opacityOverlay=.3&bgColorOverlay=%23aaaaaa&fcError=%235f3f3f&borderColorError=%23f1a899&bgColorError=%23fddfdf&fcHighlight=%23777620&borderColorHighlight=%23dad55e&bgColorHighlight=%23fffa90&fcContent=%23333333&borderColorContent=%23dddddd&bgColorContent=%23ffffff&fcHeader=%23333333&borderColorHeader=%23dddddd&bgColorHeader=%23e9e9e9&fcActive=%23ffffff&borderColorActive=%23003eff&bgColorActive=%23007fff&fcHover=%232b2b2b&borderColorHover=%23cccccc&bgColorHover=%23ededed&fcDefault=%23454545&borderColorDefault=%23c5c5c5&bgColorDefault=%23f6f6f6\\n* Copyright OpenJS Foundation and other contributors; Licensed MIT */\\n\\n/* Layout helpers\\n----------------------------------*/\\n.ui-helper-hidden {\\n\\tdisplay: none;\\n}\\n.ui-helper-hidden-accessible {\\n\\tborder: 0;\\n\\tclip: rect(0 0 0 0);\\n\\theight: 1px;\\n\\tmargin: -1px;\\n\\toverflow: hidden;\\n\\tpadding: 0;\\n\\tposition: absolute;\\n\\twidth: 1px;\\n}\\n.ui-helper-reset {\\n\\tmargin: 0;\\n\\tpadding: 0;\\n\\tborder: 0;\\n\\toutline: 0;\\n\\tline-height: 1.3;\\n\\ttext-decoration: none;\\n\\tfont-size: 100%;\\n\\tlist-style: none;\\n}\\n.ui-helper-clearfix:before,\\n.ui-helper-clearfix:after {\\n\\tcontent: \\\"\\\";\\n\\tdisplay: table;\\n\\tborder-collapse: collapse;\\n}\\n.ui-helper-clearfix:after {\\n\\tclear: both;\\n}\\n.ui-helper-zfix {\\n\\twidth: 100%;\\n\\theight: 100%;\\n\\ttop: 0;\\n\\tleft: 0;\\n\\tposition: absolute;\\n\\topacity: 0;\\n\\t-ms-filter: \\\"alpha(opacity=0)\\\"; /* support: IE8 */\\n}\\n\\n.ui-front {\\n\\tz-index: 100;\\n}\\n\\n\\n/* Interaction Cues\\n----------------------------------*/\\n.ui-state-disabled {\\n\\tcursor: default !important;\\n\\tpointer-events: none;\\n}\\n\\n\\n/* Icons\\n----------------------------------*/\\n.ui-icon {\\n\\tdisplay: inline-block;\\n\\tvertical-align: middle;\\n\\tmargin-top: -.25em;\\n\\tposition: relative;\\n\\ttext-indent: -99999px;\\n\\toverflow: hidden;\\n\\tbackground-repeat: no-repeat;\\n}\\n\\n.ui-widget-icon-block {\\n\\tleft: 50%;\\n\\tmargin-left: -8px;\\n\\tdisplay: block;\\n}\\n\\n/* Misc visuals\\n----------------------------------*/\\n\\n/* Overlays */\\n.ui-widget-overlay {\\n\\tposition: fixed;\\n\\ttop: 0;\\n\\tleft: 0;\\n\\twidth: 100%;\\n\\theight: 100%;\\n}\\n.ui-accordion .ui-accordion-header {\\n\\tdisplay: block;\\n\\tcursor: pointer;\\n\\tposition: relative;\\n\\tmargin: 2px 0 0 0;\\n\\tpadding: .5em .5em .5em .7em;\\n\\tfont-size: 100%;\\n}\\n.ui-accordion .ui-accordion-content {\\n\\tpadding: 1em 2.2em;\\n\\tborder-top: 0;\\n\\toverflow: auto;\\n}\\n.ui-autocomplete {\\n\\tposition: absolute;\\n\\ttop: 0;\\n\\tleft: 0;\\n\\tcursor: default;\\n}\\n.ui-menu {\\n\\tlist-style: none;\\n\\tpadding: 0;\\n\\tmargin: 0;\\n\\tdisplay: block;\\n\\toutline: 0;\\n}\\n.ui-menu .ui-menu {\\n\\tposition: absolute;\\n}\\n.ui-menu .ui-menu-item {\\n\\tmargin: 0;\\n\\tcursor: pointer;\\n\\t/* support: IE10, see #8844 */\\n\\tlist-style-image: url(\\\"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7\\\");\\n}\\n.ui-menu .ui-menu-item-wrapper {\\n\\tposition: relative;\\n\\tpadding: 3px 1em 3px .4em;\\n}\\n.ui-menu .ui-menu-divider {\\n\\tmargin: 5px 0;\\n\\theight: 0;\\n\\tfont-size: 0;\\n\\tline-height: 0;\\n\\tborder-width: 1px 0 0 0;\\n}\\n.ui-menu .ui-state-focus,\\n.ui-menu .ui-state-active {\\n\\tmargin: -1px;\\n}\\n\\n/* icon support */\\n.ui-menu-icons {\\n\\tposition: relative;\\n}\\n.ui-menu-icons .ui-menu-item-wrapper {\\n\\tpadding-left: 2em;\\n}\\n\\n/* left-aligned */\\n.ui-menu .ui-icon {\\n\\tposition: absolute;\\n\\ttop: 0;\\n\\tbottom: 0;\\n\\tleft: .2em;\\n\\tmargin: auto 0;\\n}\\n\\n/* right-aligned */\\n.ui-menu .ui-menu-icon {\\n\\tleft: auto;\\n\\tright: 0;\\n}\\n.ui-button {\\n\\tpadding: .4em 1em;\\n\\tdisplay: inline-block;\\n\\tposition: relative;\\n\\tline-height: normal;\\n\\tmargin-right: .1em;\\n\\tcursor: pointer;\\n\\tvertical-align: middle;\\n\\ttext-align: center;\\n\\t-webkit-user-select: none;\\n\\t-moz-user-select: none;\\n\\t-ms-user-select: none;\\n\\tuser-select: none;\\n\\n\\t/* Support: IE <= 11 */\\n\\toverflow: visible;\\n}\\n\\n.ui-button,\\n.ui-button:link,\\n.ui-button:visited,\\n.ui-button:hover,\\n.ui-button:active {\\n\\ttext-decoration: none;\\n}\\n\\n/* to make room for the icon, a width needs to be set here */\\n.ui-button-icon-only {\\n\\twidth: 2em;\\n\\tbox-sizing: border-box;\\n\\ttext-indent: -9999px;\\n\\twhite-space: nowrap;\\n}\\n\\n/* no icon support for input elements */\\ninput.ui-button.ui-button-icon-only {\\n\\ttext-indent: 0;\\n}\\n\\n/* button icon element(s) */\\n.ui-button-icon-only .ui-icon {\\n\\tposition: absolute;\\n\\ttop: 50%;\\n\\tleft: 50%;\\n\\tmargin-top: -8px;\\n\\tmargin-left: -8px;\\n}\\n\\n.ui-button.ui-icon-notext .ui-icon {\\n\\tpadding: 0;\\n\\twidth: 2.1em;\\n\\theight: 2.1em;\\n\\ttext-indent: -9999px;\\n\\twhite-space: nowrap;\\n\\n}\\n\\ninput.ui-button.ui-icon-notext .ui-icon {\\n\\twidth: auto;\\n\\theight: auto;\\n\\ttext-indent: 0;\\n\\twhite-space: normal;\\n\\tpadding: .4em 1em;\\n}\\n\\n/* workarounds */\\n/* Support: Firefox 5 - 40 */\\ninput.ui-button::-moz-focus-inner,\\nbutton.ui-button::-moz-focus-inner {\\n\\tborder: 0;\\n\\tpadding: 0;\\n}\\n.ui-controlgroup {\\n\\tvertical-align: middle;\\n\\tdisplay: inline-block;\\n}\\n.ui-controlgroup > .ui-controlgroup-item {\\n\\tfloat: left;\\n\\tmargin-left: 0;\\n\\tmargin-right: 0;\\n}\\n.ui-controlgroup > .ui-controlgroup-item:focus,\\n.ui-controlgroup > .ui-controlgroup-item.ui-visual-focus {\\n\\tz-index: 9999;\\n}\\n.ui-controlgroup-vertical > .ui-controlgroup-item {\\n\\tdisplay: block;\\n\\tfloat: none;\\n\\twidth: 100%;\\n\\tmargin-top: 0;\\n\\tmargin-bottom: 0;\\n\\ttext-align: left;\\n}\\n.ui-controlgroup-vertical .ui-controlgroup-item {\\n\\tbox-sizing: border-box;\\n}\\n.ui-controlgroup .ui-controlgroup-label {\\n\\tpadding: .4em 1em;\\n}\\n.ui-controlgroup .ui-controlgroup-label span {\\n\\tfont-size: 80%;\\n}\\n.ui-controlgroup-horizontal .ui-controlgroup-label + .ui-controlgroup-item {\\n\\tborder-left: none;\\n}\\n.ui-controlgroup-vertical .ui-controlgroup-label + .ui-controlgroup-item {\\n\\tborder-top: none;\\n}\\n.ui-controlgroup-horizontal .ui-controlgroup-label.ui-widget-content {\\n\\tborder-right: none;\\n}\\n.ui-controlgroup-vertical .ui-controlgroup-label.ui-widget-content {\\n\\tborder-bottom: none;\\n}\\n\\n/* Spinner specific style fixes */\\n.ui-controlgroup-vertical .ui-spinner-input {\\n\\n\\t/* Support: IE8 only, Android < 4.4 only */\\n\\twidth: 75%;\\n\\twidth: calc( 100% - 2.4em );\\n}\\n.ui-controlgroup-vertical .ui-spinner .ui-spinner-up {\\n\\tborder-top-style: solid;\\n}\\n\\n.ui-checkboxradio-label .ui-icon-background {\\n\\tbox-shadow: inset 1px 1px 1px #ccc;\\n\\tborder-radius: .12em;\\n\\tborder: none;\\n}\\n.ui-checkboxradio-radio-label .ui-icon-background {\\n\\twidth: 16px;\\n\\theight: 16px;\\n\\tborder-radius: 1em;\\n\\toverflow: visible;\\n\\tborder: none;\\n}\\n.ui-checkboxradio-radio-label.ui-checkboxradio-checked .ui-icon,\\n.ui-checkboxradio-radio-label.ui-checkboxradio-checked:hover .ui-icon {\\n\\tbackground-image: none;\\n\\twidth: 8px;\\n\\theight: 8px;\\n\\tborder-width: 4px;\\n\\tborder-style: solid;\\n}\\n.ui-checkboxradio-disabled {\\n\\tpointer-events: none;\\n}\\n.ui-datepicker {\\n\\twidth: 17em;\\n\\tpadding: .2em .2em 0;\\n\\tdisplay: none;\\n}\\n.ui-datepicker .ui-datepicker-header {\\n\\tposition: relative;\\n\\tpadding: .2em 0;\\n}\\n.ui-datepicker .ui-datepicker-prev,\\n.ui-datepicker .ui-datepicker-next {\\n\\tposition: absolute;\\n\\ttop: 2px;\\n\\twidth: 1.8em;\\n\\theight: 1.8em;\\n}\\n.ui-datepicker .ui-datepicker-prev-hover,\\n.ui-datepicker .ui-datepicker-next-hover {\\n\\ttop: 1px;\\n}\\n.ui-datepicker .ui-datepicker-prev {\\n\\tleft: 2px;\\n}\\n.ui-datepicker .ui-datepicker-next {\\n\\tright: 2px;\\n}\\n.ui-datepicker .ui-datepicker-prev-hover {\\n\\tleft: 1px;\\n}\\n.ui-datepicker .ui-datepicker-next-hover {\\n\\tright: 1px;\\n}\\n.ui-datepicker .ui-datepicker-prev span,\\n.ui-datepicker .ui-datepicker-next span {\\n\\tdisplay: block;\\n\\tposition: absolute;\\n\\tleft: 50%;\\n\\tmargin-left: -8px;\\n\\ttop: 50%;\\n\\tmargin-top: -8px;\\n}\\n.ui-datepicker .ui-datepicker-title {\\n\\tmargin: 0 2.3em;\\n\\tline-height: 1.8em;\\n\\ttext-align: center;\\n}\\n.ui-datepicker .ui-datepicker-title select {\\n\\tfont-size: 1em;\\n\\tmargin: 1px 0;\\n}\\n.ui-datepicker select.ui-datepicker-month,\\n.ui-datepicker select.ui-datepicker-year {\\n\\twidth: 45%;\\n}\\n.ui-datepicker table {\\n\\twidth: 100%;\\n\\tfont-size: .9em;\\n\\tborder-collapse: collapse;\\n\\tmargin: 0 0 .4em;\\n}\\n.ui-datepicker th {\\n\\tpadding: .7em .3em;\\n\\ttext-align: center;\\n\\tfont-weight: bold;\\n\\tborder: 0;\\n}\\n.ui-datepicker td {\\n\\tborder: 0;\\n\\tpadding: 1px;\\n}\\n.ui-datepicker td span,\\n.ui-datepicker td a {\\n\\tdisplay: block;\\n\\tpadding: .2em;\\n\\ttext-align: right;\\n\\ttext-decoration: none;\\n}\\n.ui-datepicker .ui-datepicker-buttonpane {\\n\\tbackground-image: none;\\n\\tmargin: .7em 0 0 0;\\n\\tpadding: 0 .2em;\\n\\tborder-left: 0;\\n\\tborder-right: 0;\\n\\tborder-bottom: 0;\\n}\\n.ui-datepicker .ui-datepicker-buttonpane button {\\n\\tfloat: right;\\n\\tmargin: .5em .2em .4em;\\n\\tcursor: pointer;\\n\\tpadding: .2em .6em .3em .6em;\\n\\twidth: auto;\\n\\toverflow: visible;\\n}\\n.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current {\\n\\tfloat: left;\\n}\\n\\n/* with multiple calendars */\\n.ui-datepicker.ui-datepicker-multi {\\n\\twidth: auto;\\n}\\n.ui-datepicker-multi .ui-datepicker-group {\\n\\tfloat: left;\\n}\\n.ui-datepicker-multi .ui-datepicker-group table {\\n\\twidth: 95%;\\n\\tmargin: 0 auto .4em;\\n}\\n.ui-datepicker-multi-2 .ui-datepicker-group {\\n\\twidth: 50%;\\n}\\n.ui-datepicker-multi-3 .ui-datepicker-group {\\n\\twidth: 33.3%;\\n}\\n.ui-datepicker-multi-4 .ui-datepicker-group {\\n\\twidth: 25%;\\n}\\n.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,\\n.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header {\\n\\tborder-left-width: 0;\\n}\\n.ui-datepicker-multi .ui-datepicker-buttonpane {\\n\\tclear: left;\\n}\\n.ui-datepicker-row-break {\\n\\tclear: both;\\n\\twidth: 100%;\\n\\tfont-size: 0;\\n}\\n\\n/* RTL support */\\n.ui-datepicker-rtl {\\n\\tdirection: rtl;\\n}\\n.ui-datepicker-rtl .ui-datepicker-prev {\\n\\tright: 2px;\\n\\tleft: auto;\\n}\\n.ui-datepicker-rtl .ui-datepicker-next {\\n\\tleft: 2px;\\n\\tright: auto;\\n}\\n.ui-datepicker-rtl .ui-datepicker-prev:hover {\\n\\tright: 1px;\\n\\tleft: auto;\\n}\\n.ui-datepicker-rtl .ui-datepicker-next:hover {\\n\\tleft: 1px;\\n\\tright: auto;\\n}\\n.ui-datepicker-rtl .ui-datepicker-buttonpane {\\n\\tclear: right;\\n}\\n.ui-datepicker-rtl .ui-datepicker-buttonpane button {\\n\\tfloat: left;\\n}\\n.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,\\n.ui-datepicker-rtl .ui-datepicker-group {\\n\\tfloat: right;\\n}\\n.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,\\n.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header {\\n\\tborder-right-width: 0;\\n\\tborder-left-width: 1px;\\n}\\n\\n/* Icons */\\n.ui-datepicker .ui-icon {\\n\\tdisplay: block;\\n\\ttext-indent: -99999px;\\n\\toverflow: hidden;\\n\\tbackground-repeat: no-repeat;\\n\\tleft: .5em;\\n\\ttop: .3em;\\n}\\n.ui-dialog {\\n\\tposition: absolute;\\n\\ttop: 0;\\n\\tleft: 0;\\n\\tpadding: .2em;\\n\\toutline: 0;\\n}\\n.ui-dialog .ui-dialog-titlebar {\\n\\tpadding: .4em 1em;\\n\\tposition: relative;\\n}\\n.ui-dialog .ui-dialog-title {\\n\\tfloat: left;\\n\\tmargin: .1em 0;\\n\\twhite-space: nowrap;\\n\\twidth: 90%;\\n\\toverflow: hidden;\\n\\ttext-overflow: ellipsis;\\n}\\n.ui-dialog .ui-dialog-titlebar-close {\\n\\tposition: absolute;\\n\\tright: .3em;\\n\\ttop: 50%;\\n\\twidth: 20px;\\n\\tmargin: -10px 0 0 0;\\n\\tpadding: 1px;\\n\\theight: 20px;\\n}\\n.ui-dialog .ui-dialog-content {\\n\\tposition: relative;\\n\\tborder: 0;\\n\\tpadding: .5em 1em;\\n\\tbackground: none;\\n\\toverflow: auto;\\n}\\n.ui-dialog .ui-dialog-buttonpane {\\n\\ttext-align: left;\\n\\tborder-width: 1px 0 0 0;\\n\\tbackground-image: none;\\n\\tmargin-top: .5em;\\n\\tpadding: .3em 1em .5em .4em;\\n}\\n.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {\\n\\tfloat: right;\\n}\\n.ui-dialog .ui-dialog-buttonpane button {\\n\\tmargin: .5em .4em .5em 0;\\n\\tcursor: pointer;\\n}\\n.ui-dialog .ui-resizable-n {\\n\\theight: 2px;\\n\\ttop: 0;\\n}\\n.ui-dialog .ui-resizable-e {\\n\\twidth: 2px;\\n\\tright: 0;\\n}\\n.ui-dialog .ui-resizable-s {\\n\\theight: 2px;\\n\\tbottom: 0;\\n}\\n.ui-dialog .ui-resizable-w {\\n\\twidth: 2px;\\n\\tleft: 0;\\n}\\n.ui-dialog .ui-resizable-se,\\n.ui-dialog .ui-resizable-sw,\\n.ui-dialog .ui-resizable-ne,\\n.ui-dialog .ui-resizable-nw {\\n\\twidth: 7px;\\n\\theight: 7px;\\n}\\n.ui-dialog .ui-resizable-se {\\n\\tright: 0;\\n\\tbottom: 0;\\n}\\n.ui-dialog .ui-resizable-sw {\\n\\tleft: 0;\\n\\tbottom: 0;\\n}\\n.ui-dialog .ui-resizable-ne {\\n\\tright: 0;\\n\\ttop: 0;\\n}\\n.ui-dialog .ui-resizable-nw {\\n\\tleft: 0;\\n\\ttop: 0;\\n}\\n.ui-draggable .ui-dialog-titlebar {\\n\\tcursor: move;\\n}\\n.ui-draggable-handle {\\n\\t-ms-touch-action: none;\\n\\ttouch-action: none;\\n}\\n.ui-resizable {\\n\\tposition: relative;\\n}\\n.ui-resizable-handle {\\n\\tposition: absolute;\\n\\tfont-size: 0.1px;\\n\\tdisplay: block;\\n\\t-ms-touch-action: none;\\n\\ttouch-action: none;\\n}\\n.ui-resizable-disabled .ui-resizable-handle,\\n.ui-resizable-autohide .ui-resizable-handle {\\n\\tdisplay: none;\\n}\\n.ui-resizable-n {\\n\\tcursor: n-resize;\\n\\theight: 7px;\\n\\twidth: 100%;\\n\\ttop: -5px;\\n\\tleft: 0;\\n}\\n.ui-resizable-s {\\n\\tcursor: s-resize;\\n\\theight: 7px;\\n\\twidth: 100%;\\n\\tbottom: -5px;\\n\\tleft: 0;\\n}\\n.ui-resizable-e {\\n\\tcursor: e-resize;\\n\\twidth: 7px;\\n\\tright: -5px;\\n\\ttop: 0;\\n\\theight: 100%;\\n}\\n.ui-resizable-w {\\n\\tcursor: w-resize;\\n\\twidth: 7px;\\n\\tleft: -5px;\\n\\ttop: 0;\\n\\theight: 100%;\\n}\\n.ui-resizable-se {\\n\\tcursor: se-resize;\\n\\twidth: 12px;\\n\\theight: 12px;\\n\\tright: 1px;\\n\\tbottom: 1px;\\n}\\n.ui-resizable-sw {\\n\\tcursor: sw-resize;\\n\\twidth: 9px;\\n\\theight: 9px;\\n\\tleft: -5px;\\n\\tbottom: -5px;\\n}\\n.ui-resizable-nw {\\n\\tcursor: nw-resize;\\n\\twidth: 9px;\\n\\theight: 9px;\\n\\tleft: -5px;\\n\\ttop: -5px;\\n}\\n.ui-resizable-ne {\\n\\tcursor: ne-resize;\\n\\twidth: 9px;\\n\\theight: 9px;\\n\\tright: -5px;\\n\\ttop: -5px;\\n}\\n.ui-progressbar {\\n\\theight: 2em;\\n\\ttext-align: left;\\n\\toverflow: hidden;\\n}\\n.ui-progressbar .ui-progressbar-value {\\n\\tmargin: -1px;\\n\\theight: 100%;\\n}\\n.ui-progressbar .ui-progressbar-overlay {\\n\\tbackground: url(\\\"data:image/gif;base64,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\\\");\\n\\theight: 100%;\\n\\t-ms-filter: \\\"alpha(opacity=25)\\\"; /* support: IE8 */\\n\\topacity: 0.25;\\n}\\n.ui-progressbar-indeterminate .ui-progressbar-value {\\n\\tbackground-image: none;\\n}\\n.ui-selectable {\\n\\t-ms-touch-action: none;\\n\\ttouch-action: none;\\n}\\n.ui-selectable-helper {\\n\\tposition: absolute;\\n\\tz-index: 100;\\n\\tborder: 1px dotted black;\\n}\\n.ui-selectmenu-menu {\\n\\tpadding: 0;\\n\\tmargin: 0;\\n\\tposition: absolute;\\n\\ttop: 0;\\n\\tleft: 0;\\n\\tdisplay: none;\\n}\\n.ui-selectmenu-menu .ui-menu {\\n\\toverflow: auto;\\n\\toverflow-x: hidden;\\n\\tpadding-bottom: 1px;\\n}\\n.ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup {\\n\\tfont-size: 1em;\\n\\tfont-weight: bold;\\n\\tline-height: 1.5;\\n\\tpadding: 2px 0.4em;\\n\\tmargin: 0.5em 0 0 0;\\n\\theight: auto;\\n\\tborder: 0;\\n}\\n.ui-selectmenu-open {\\n\\tdisplay: block;\\n}\\n.ui-selectmenu-text {\\n\\tdisplay: block;\\n\\tmargin-right: 20px;\\n\\toverflow: hidden;\\n\\ttext-overflow: ellipsis;\\n}\\n.ui-selectmenu-button.ui-button {\\n\\ttext-align: left;\\n\\twhite-space: nowrap;\\n\\twidth: 14em;\\n}\\n.ui-selectmenu-icon.ui-icon {\\n\\tfloat: right;\\n\\tmargin-top: 0;\\n}\\n.ui-slider {\\n\\tposition: relative;\\n\\ttext-align: left;\\n}\\n.ui-slider .ui-slider-handle {\\n\\tposition: absolute;\\n\\tz-index: 2;\\n\\twidth: 1.2em;\\n\\theight: 1.2em;\\n\\tcursor: pointer;\\n\\t-ms-touch-action: none;\\n\\ttouch-action: none;\\n}\\n.ui-slider .ui-slider-range {\\n\\tposition: absolute;\\n\\tz-index: 1;\\n\\tfont-size: .7em;\\n\\tdisplay: block;\\n\\tborder: 0;\\n\\tbackground-position: 0 0;\\n}\\n\\n/* support: IE8 - See #6727 */\\n.ui-slider.ui-state-disabled .ui-slider-handle,\\n.ui-slider.ui-state-disabled .ui-slider-range {\\n\\tfilter: inherit;\\n}\\n\\n.ui-slider-horizontal {\\n\\theight: .8em;\\n}\\n.ui-slider-horizontal .ui-slider-handle {\\n\\ttop: -.3em;\\n\\tmargin-left: -.6em;\\n}\\n.ui-slider-horizontal .ui-slider-range {\\n\\ttop: 0;\\n\\theight: 100%;\\n}\\n.ui-slider-horizontal .ui-slider-range-min {\\n\\tleft: 0;\\n}\\n.ui-slider-horizontal .ui-slider-range-max {\\n\\tright: 0;\\n}\\n\\n.ui-slider-vertical {\\n\\twidth: .8em;\\n\\theight: 100px;\\n}\\n.ui-slider-vertical .ui-slider-handle {\\n\\tleft: -.3em;\\n\\tmargin-left: 0;\\n\\tmargin-bottom: -.6em;\\n}\\n.ui-slider-vertical .ui-slider-range {\\n\\tleft: 0;\\n\\twidth: 100%;\\n}\\n.ui-slider-vertical .ui-slider-range-min {\\n\\tbottom: 0;\\n}\\n.ui-slider-vertical .ui-slider-range-max {\\n\\ttop: 0;\\n}\\n.ui-sortable-handle {\\n\\t-ms-touch-action: none;\\n\\ttouch-action: none;\\n}\\n.ui-spinner {\\n\\tposition: relative;\\n\\tdisplay: inline-block;\\n\\toverflow: hidden;\\n\\tpadding: 0;\\n\\tvertical-align: middle;\\n}\\n.ui-spinner-input {\\n\\tborder: none;\\n\\tbackground: none;\\n\\tcolor: inherit;\\n\\tpadding: .222em 0;\\n\\tmargin: .2em 0;\\n\\tvertical-align: middle;\\n\\tmargin-left: .4em;\\n\\tmargin-right: 2em;\\n}\\n.ui-spinner-button {\\n\\twidth: 1.6em;\\n\\theight: 50%;\\n\\tfont-size: .5em;\\n\\tpadding: 0;\\n\\tmargin: 0;\\n\\ttext-align: center;\\n\\tposition: absolute;\\n\\tcursor: default;\\n\\tdisplay: block;\\n\\toverflow: hidden;\\n\\tright: 0;\\n}\\n/* more specificity required here to override default borders */\\n.ui-spinner a.ui-spinner-button {\\n\\tborder-top-style: none;\\n\\tborder-bottom-style: none;\\n\\tborder-right-style: none;\\n}\\n.ui-spinner-up {\\n\\ttop: 0;\\n}\\n.ui-spinner-down {\\n\\tbottom: 0;\\n}\\n.ui-tabs {\\n\\tposition: relative;/* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as \\\"fixed\\\") */\\n\\tpadding: .2em;\\n}\\n.ui-tabs .ui-tabs-nav {\\n\\tmargin: 0;\\n\\tpadding: .2em .2em 0;\\n}\\n.ui-tabs .ui-tabs-nav li {\\n\\tlist-style: none;\\n\\tfloat: left;\\n\\tposition: relative;\\n\\ttop: 0;\\n\\tmargin: 1px .2em 0 0;\\n\\tborder-bottom-width: 0;\\n\\tpadding: 0;\\n\\twhite-space: nowrap;\\n}\\n.ui-tabs .ui-tabs-nav .ui-tabs-anchor {\\n\\tfloat: left;\\n\\tpadding: .5em 1em;\\n\\ttext-decoration: none;\\n}\\n.ui-tabs .ui-tabs-nav li.ui-tabs-active {\\n\\tmargin-bottom: -1px;\\n\\tpadding-bottom: 1px;\\n}\\n.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor,\\n.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor,\\n.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor {\\n\\tcursor: text;\\n}\\n.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor {\\n\\tcursor: pointer;\\n}\\n.ui-tabs .ui-tabs-panel {\\n\\tdisplay: block;\\n\\tborder-width: 0;\\n\\tpadding: 1em 1.4em;\\n\\tbackground: none;\\n}\\n.ui-tooltip {\\n\\tpadding: 8px;\\n\\tposition: absolute;\\n\\tz-index: 9999;\\n\\tmax-width: 300px;\\n}\\nbody .ui-tooltip {\\n\\tborder-width: 2px;\\n}\\n\\n/* Component containers\\n----------------------------------*/\\n.ui-widget {\\n\\tfont-family: Arial,Helvetica,sans-serif;\\n\\tfont-size: 1em;\\n}\\n.ui-widget .ui-widget {\\n\\tfont-size: 1em;\\n}\\n.ui-widget input,\\n.ui-widget select,\\n.ui-widget textarea,\\n.ui-widget button {\\n\\tfont-family: Arial,Helvetica,sans-serif;\\n\\tfont-size: 1em;\\n}\\n.ui-widget.ui-widget-content {\\n\\tborder: 1px solid #c5c5c5;\\n}\\n.ui-widget-content {\\n\\tborder: 1px solid #dddddd;\\n\\tbackground: #ffffff;\\n\\tcolor: #333333;\\n}\\n.ui-widget-content a {\\n\\tcolor: #333333;\\n}\\n.ui-widget-header {\\n\\tborder: 1px solid #dddddd;\\n\\tbackground: #e9e9e9;\\n\\tcolor: #333333;\\n\\tfont-weight: bold;\\n}\\n.ui-widget-header a {\\n\\tcolor: #333333;\\n}\\n\\n/* Interaction states\\n----------------------------------*/\\n.ui-state-default,\\n.ui-widget-content .ui-state-default,\\n.ui-widget-header .ui-state-default,\\n.ui-button,\\n\\n/* We use html here because we need a greater specificity to make sure disabled\\nworks properly when clicked or hovered */\\nhtml .ui-button.ui-state-disabled:hover,\\nhtml .ui-button.ui-state-disabled:active {\\n\\tborder: 1px solid #c5c5c5;\\n\\tbackground: #f6f6f6;\\n\\tfont-weight: normal;\\n\\tcolor: #454545;\\n}\\n.ui-state-default a,\\n.ui-state-default a:link,\\n.ui-state-default a:visited,\\na.ui-button,\\na:link.ui-button,\\na:visited.ui-button,\\n.ui-button {\\n\\tcolor: #454545;\\n\\ttext-decoration: none;\\n}\\n.ui-state-hover,\\n.ui-widget-content .ui-state-hover,\\n.ui-widget-header .ui-state-hover,\\n.ui-state-focus,\\n.ui-widget-content .ui-state-focus,\\n.ui-widget-header .ui-state-focus,\\n.ui-button:hover,\\n.ui-button:focus {\\n\\tborder: 1px solid #cccccc;\\n\\tbackground: #ededed;\\n\\tfont-weight: normal;\\n\\tcolor: #2b2b2b;\\n}\\n.ui-state-hover a,\\n.ui-state-hover a:hover,\\n.ui-state-hover a:link,\\n.ui-state-hover a:visited,\\n.ui-state-focus a,\\n.ui-state-focus a:hover,\\n.ui-state-focus a:link,\\n.ui-state-focus a:visited,\\na.ui-button:hover,\\na.ui-button:focus {\\n\\tcolor: #2b2b2b;\\n\\ttext-decoration: none;\\n}\\n\\n.ui-visual-focus {\\n\\tbox-shadow: 0 0 3px 1px rgb(94, 158, 214);\\n}\\n.ui-state-active,\\n.ui-widget-content .ui-state-active,\\n.ui-widget-header .ui-state-active,\\na.ui-button:active,\\n.ui-button:active,\\n.ui-button.ui-state-active:hover {\\n\\tborder: 1px solid #003eff;\\n\\tbackground: #007fff;\\n\\tfont-weight: normal;\\n\\tcolor: #ffffff;\\n}\\n.ui-icon-background,\\n.ui-state-active .ui-icon-background {\\n\\tborder: #003eff;\\n\\tbackground-color: #ffffff;\\n}\\n.ui-state-active a,\\n.ui-state-active a:link,\\n.ui-state-active a:visited {\\n\\tcolor: #ffffff;\\n\\ttext-decoration: none;\\n}\\n\\n/* Interaction Cues\\n----------------------------------*/\\n.ui-state-highlight,\\n.ui-widget-content .ui-state-highlight,\\n.ui-widget-header .ui-state-highlight {\\n\\tborder: 1px solid #dad55e;\\n\\tbackground: #fffa90;\\n\\tcolor: #777620;\\n}\\n.ui-state-checked {\\n\\tborder: 1px solid #dad55e;\\n\\tbackground: #fffa90;\\n}\\n.ui-state-highlight a,\\n.ui-widget-content .ui-state-highlight a,\\n.ui-widget-header .ui-state-highlight a {\\n\\tcolor: #777620;\\n}\\n.ui-state-error,\\n.ui-widget-content .ui-state-error,\\n.ui-widget-header .ui-state-error {\\n\\tborder: 1px solid #f1a899;\\n\\tbackground: #fddfdf;\\n\\tcolor: #5f3f3f;\\n}\\n.ui-state-error a,\\n.ui-widget-content .ui-state-error a,\\n.ui-widget-header .ui-state-error a {\\n\\tcolor: #5f3f3f;\\n}\\n.ui-state-error-text,\\n.ui-widget-content .ui-state-error-text,\\n.ui-widget-header .ui-state-error-text {\\n\\tcolor: #5f3f3f;\\n}\\n.ui-priority-primary,\\n.ui-widget-content .ui-priority-primary,\\n.ui-widget-header .ui-priority-primary {\\n\\tfont-weight: bold;\\n}\\n.ui-priority-secondary,\\n.ui-widget-content .ui-priority-secondary,\\n.ui-widget-header .ui-priority-secondary {\\n\\topacity: .7;\\n\\t-ms-filter: \\\"alpha(opacity=70)\\\"; /* support: IE8 */\\n\\tfont-weight: normal;\\n}\\n.ui-state-disabled,\\n.ui-widget-content .ui-state-disabled,\\n.ui-widget-header .ui-state-disabled {\\n\\topacity: .35;\\n\\t-ms-filter: \\\"alpha(opacity=35)\\\"; /* support: IE8 */\\n\\tbackground-image: none;\\n}\\n.ui-state-disabled .ui-icon {\\n\\t-ms-filter: \\\"alpha(opacity=35)\\\"; /* support: IE8 - See #6059 */\\n}\\n\\n/* Icons\\n----------------------------------*/\\n\\n/* states and images */\\n.ui-icon {\\n\\twidth: 16px;\\n\\theight: 16px;\\n}\\n.ui-icon,\\n.ui-widget-content .ui-icon {\\n\\tbackground-image: url(\\\"images/ui-icons_444444_256x240.png\\\");\\n}\\n.ui-widget-header .ui-icon {\\n\\tbackground-image: url(\\\"images/ui-icons_444444_256x240.png\\\");\\n}\\n.ui-state-hover .ui-icon,\\n.ui-state-focus .ui-icon,\\n.ui-button:hover .ui-icon,\\n.ui-button:focus .ui-icon {\\n\\tbackground-image: url(\\\"images/ui-icons_555555_256x240.png\\\");\\n}\\n.ui-state-active .ui-icon,\\n.ui-button:active .ui-icon {\\n\\tbackground-image: url(\\\"images/ui-icons_ffffff_256x240.png\\\");\\n}\\n.ui-state-highlight .ui-icon,\\n.ui-button .ui-state-highlight.ui-icon {\\n\\tbackground-image: url(\\\"images/ui-icons_777620_256x240.png\\\");\\n}\\n.ui-state-error .ui-icon,\\n.ui-state-error-text .ui-icon {\\n\\tbackground-image: url(\\\"images/ui-icons_cc0000_256x240.png\\\");\\n}\\n.ui-button .ui-icon {\\n\\tbackground-image: url(\\\"images/ui-icons_777777_256x240.png\\\");\\n}\\n\\n/* positioning */\\n/* Three classes needed to override `.ui-button:hover .ui-icon` */\\n.ui-icon-blank.ui-icon-blank.ui-icon-blank {\\n\\tbackground-image: none;\\n}\\n.ui-icon-caret-1-n { background-position: 0 0; }\\n.ui-icon-caret-1-ne { background-position: -16px 0; }\\n.ui-icon-caret-1-e { background-position: -32px 0; }\\n.ui-icon-caret-1-se { background-position: -48px 0; }\\n.ui-icon-caret-1-s { background-position: -65px 0; }\\n.ui-icon-caret-1-sw { background-position: -80px 0; }\\n.ui-icon-caret-1-w { background-position: -96px 0; }\\n.ui-icon-caret-1-nw { background-position: -112px 0; }\\n.ui-icon-caret-2-n-s { background-position: -128px 0; }\\n.ui-icon-caret-2-e-w { background-position: -144px 0; }\\n.ui-icon-triangle-1-n { background-position: 0 -16px; }\\n.ui-icon-triangle-1-ne { background-position: -16px -16px; }\\n.ui-icon-triangle-1-e { background-position: -32px -16px; }\\n.ui-icon-triangle-1-se { background-position: -48px -16px; }\\n.ui-icon-triangle-1-s { background-position: -65px -16px; }\\n.ui-icon-triangle-1-sw { background-position: -80px -16px; }\\n.ui-icon-triangle-1-w { background-position: -96px -16px; }\\n.ui-icon-triangle-1-nw { background-position: -112px -16px; }\\n.ui-icon-triangle-2-n-s { background-position: -128px -16px; }\\n.ui-icon-triangle-2-e-w { background-position: -144px -16px; }\\n.ui-icon-arrow-1-n { background-position: 0 -32px; }\\n.ui-icon-arrow-1-ne { background-position: -16px -32px; }\\n.ui-icon-arrow-1-e { background-position: -32px -32px; }\\n.ui-icon-arrow-1-se { background-position: -48px -32px; }\\n.ui-icon-arrow-1-s { background-position: -65px -32px; }\\n.ui-icon-arrow-1-sw { background-position: -80px -32px; }\\n.ui-icon-arrow-1-w { background-position: -96px -32px; }\\n.ui-icon-arrow-1-nw { background-position: -112px -32px; }\\n.ui-icon-arrow-2-n-s { background-position: -128px -32px; }\\n.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }\\n.ui-icon-arrow-2-e-w { background-position: -160px -32px; }\\n.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }\\n.ui-icon-arrowstop-1-n { background-position: -192px -32px; }\\n.ui-icon-arrowstop-1-e { background-position: -208px -32px; }\\n.ui-icon-arrowstop-1-s { background-position: -224px -32px; }\\n.ui-icon-arrowstop-1-w { background-position: -240px -32px; }\\n.ui-icon-arrowthick-1-n { background-position: 1px -48px; }\\n.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }\\n.ui-icon-arrowthick-1-e { background-position: -32px -48px; }\\n.ui-icon-arrowthick-1-se { background-position: -48px -48px; }\\n.ui-icon-arrowthick-1-s { background-position: -64px -48px; }\\n.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }\\n.ui-icon-arrowthick-1-w { background-position: -96px -48px; }\\n.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }\\n.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }\\n.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }\\n.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }\\n.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }\\n.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }\\n.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }\\n.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }\\n.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }\\n.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }\\n.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }\\n.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }\\n.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }\\n.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }\\n.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }\\n.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }\\n.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }\\n.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }\\n.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }\\n.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }\\n.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }\\n.ui-icon-arrow-4 { background-position: 0 -80px; }\\n.ui-icon-arrow-4-diag { background-position: -16px -80px; }\\n.ui-icon-extlink { background-position: -32px -80px; }\\n.ui-icon-newwin { background-position: -48px -80px; }\\n.ui-icon-refresh { background-position: -64px -80px; }\\n.ui-icon-shuffle { background-position: -80px -80px; }\\n.ui-icon-transfer-e-w { background-position: -96px -80px; }\\n.ui-icon-transferthick-e-w { background-position: -112px -80px; }\\n.ui-icon-folder-collapsed { background-position: 0 -96px; }\\n.ui-icon-folder-open { background-position: -16px -96px; }\\n.ui-icon-document { background-position: -32px -96px; }\\n.ui-icon-document-b { background-position: -48px -96px; }\\n.ui-icon-note { background-position: -64px -96px; }\\n.ui-icon-mail-closed { background-position: -80px -96px; }\\n.ui-icon-mail-open { background-position: -96px -96px; }\\n.ui-icon-suitcase { background-position: -112px -96px; }\\n.ui-icon-comment { background-position: -128px -96px; }\\n.ui-icon-person { background-position: -144px -96px; }\\n.ui-icon-print { background-position: -160px -96px; }\\n.ui-icon-trash { background-position: -176px -96px; }\\n.ui-icon-locked { background-position: -192px -96px; }\\n.ui-icon-unlocked { background-position: -208px -96px; }\\n.ui-icon-bookmark { background-position: -224px -96px; }\\n.ui-icon-tag { background-position: -240px -96px; }\\n.ui-icon-home { background-position: 0 -112px; }\\n.ui-icon-flag { background-position: -16px -112px; }\\n.ui-icon-calendar { background-position: -32px -112px; }\\n.ui-icon-cart { background-position: -48px -112px; }\\n.ui-icon-pencil { background-position: -64px -112px; }\\n.ui-icon-clock { background-position: -80px -112px; }\\n.ui-icon-disk { background-position: -96px -112px; }\\n.ui-icon-calculator { background-position: -112px -112px; }\\n.ui-icon-zoomin { background-position: -128px -112px; }\\n.ui-icon-zoomout { background-position: -144px -112px; }\\n.ui-icon-search { background-position: -160px -112px; }\\n.ui-icon-wrench { background-position: -176px -112px; }\\n.ui-icon-gear { background-position: -192px -112px; }\\n.ui-icon-heart { background-position: -208px -112px; }\\n.ui-icon-star { background-position: -224px -112px; }\\n.ui-icon-link { background-position: -240px -112px; }\\n.ui-icon-cancel { background-position: 0 -128px; }\\n.ui-icon-plus { background-position: -16px -128px; }\\n.ui-icon-plusthick { background-position: -32px -128px; }\\n.ui-icon-minus { background-position: -48px -128px; }\\n.ui-icon-minusthick { background-position: -64px -128px; }\\n.ui-icon-close { background-position: -80px -128px; }\\n.ui-icon-closethick { background-position: -96px -128px; }\\n.ui-icon-key { background-position: -112px -128px; }\\n.ui-icon-lightbulb { background-position: -128px -128px; }\\n.ui-icon-scissors { background-position: -144px -128px; }\\n.ui-icon-clipboard { background-position: -160px -128px; }\\n.ui-icon-copy { background-position: -176px -128px; }\\n.ui-icon-contact { background-position: -192px -128px; }\\n.ui-icon-image { background-position: -208px -128px; }\\n.ui-icon-video { background-position: -224px -128px; }\\n.ui-icon-script { background-position: -240px -128px; }\\n.ui-icon-alert { background-position: 0 -144px; }\\n.ui-icon-info { background-position: -16px -144px; }\\n.ui-icon-notice { background-position: -32px -144px; }\\n.ui-icon-help { background-position: -48px -144px; }\\n.ui-icon-check { background-position: -64px -144px; }\\n.ui-icon-bullet { background-position: -80px -144px; }\\n.ui-icon-radio-on { background-position: -96px -144px; }\\n.ui-icon-radio-off { background-position: -112px -144px; }\\n.ui-icon-pin-w { background-position: -128px -144px; }\\n.ui-icon-pin-s { background-position: -144px -144px; }\\n.ui-icon-play { background-position: 0 -160px; }\\n.ui-icon-pause { background-position: -16px -160px; }\\n.ui-icon-seek-next { background-position: -32px -160px; }\\n.ui-icon-seek-prev { background-position: -48px -160px; }\\n.ui-icon-seek-end { background-position: -64px -160px; }\\n.ui-icon-seek-start { background-position: -80px -160px; }\\n/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */\\n.ui-icon-seek-first { background-position: -80px -160px; }\\n.ui-icon-stop { background-position: -96px -160px; }\\n.ui-icon-eject { background-position: -112px -160px; }\\n.ui-icon-volume-off { background-position: -128px -160px; }\\n.ui-icon-volume-on { background-position: -144px -160px; }\\n.ui-icon-power { background-position: 0 -176px; }\\n.ui-icon-signal-diag { background-position: -16px -176px; }\\n.ui-icon-signal { background-position: -32px -176px; }\\n.ui-icon-battery-0 { background-position: -48px -176px; }\\n.ui-icon-battery-1 { background-position: -64px -176px; }\\n.ui-icon-battery-2 { background-position: -80px -176px; }\\n.ui-icon-battery-3 { background-position: -96px -176px; }\\n.ui-icon-circle-plus { background-position: 0 -192px; }\\n.ui-icon-circle-minus { background-position: -16px -192px; }\\n.ui-icon-circle-close { background-position: -32px -192px; }\\n.ui-icon-circle-triangle-e { background-position: -48px -192px; }\\n.ui-icon-circle-triangle-s { background-position: -64px -192px; }\\n.ui-icon-circle-triangle-w { background-position: -80px -192px; }\\n.ui-icon-circle-triangle-n { background-position: -96px -192px; }\\n.ui-icon-circle-arrow-e { background-position: -112px -192px; }\\n.ui-icon-circle-arrow-s { background-position: -128px -192px; }\\n.ui-icon-circle-arrow-w { background-position: -144px -192px; }\\n.ui-icon-circle-arrow-n { background-position: -160px -192px; }\\n.ui-icon-circle-zoomin { background-position: -176px -192px; }\\n.ui-icon-circle-zoomout { background-position: -192px -192px; }\\n.ui-icon-circle-check { background-position: -208px -192px; }\\n.ui-icon-circlesmall-plus { background-position: 0 -208px; }\\n.ui-icon-circlesmall-minus { background-position: -16px -208px; }\\n.ui-icon-circlesmall-close { background-position: -32px -208px; }\\n.ui-icon-squaresmall-plus { background-position: -48px -208px; }\\n.ui-icon-squaresmall-minus { background-position: -64px -208px; }\\n.ui-icon-squaresmall-close { background-position: -80px -208px; }\\n.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }\\n.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }\\n.ui-icon-grip-solid-vertical { background-position: -32px -224px; }\\n.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }\\n.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }\\n.ui-icon-grip-diagonal-se { background-position: -80px -224px; }\\n\\n\\n/* Misc visuals\\n----------------------------------*/\\n\\n/* Corner radius */\\n.ui-corner-all,\\n.ui-corner-top,\\n.ui-corner-left,\\n.ui-corner-tl {\\n\\tborder-top-left-radius: 3px;\\n}\\n.ui-corner-all,\\n.ui-corner-top,\\n.ui-corner-right,\\n.ui-corner-tr {\\n\\tborder-top-right-radius: 3px;\\n}\\n.ui-corner-all,\\n.ui-corner-bottom,\\n.ui-corner-left,\\n.ui-corner-bl {\\n\\tborder-bottom-left-radius: 3px;\\n}\\n.ui-corner-all,\\n.ui-corner-bottom,\\n.ui-corner-right,\\n.ui-corner-br {\\n\\tborder-bottom-right-radius: 3px;\\n}\\n\\n/* Overlays */\\n.ui-widget-overlay {\\n\\tbackground: #aaaaaa;\\n\\topacity: .003;\\n\\t-ms-filter: \\\"alpha(opacity=.3)\\\"; /* support: IE8 */\\n}\\n.ui-widget-shadow {\\n\\t-webkit-box-shadow: 0px 0px 5px #666666;\\n\\tbox-shadow: 0px 0px 5px #666666;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"images/ui-icons_444444_256x240.png\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_1___ = new URL(\"images/ui-icons_555555_256x240.png\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_2___ = new URL(\"images/ui-icons_ffffff_256x240.png\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_3___ = new URL(\"images/ui-icons_777620_256x240.png\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_4___ = new URL(\"images/ui-icons_cc0000_256x240.png\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_5___ = new URL(\"images/ui-icons_777777_256x240.png\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___);\nvar ___CSS_LOADER_URL_REPLACEMENT_2___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_2___);\nvar ___CSS_LOADER_URL_REPLACEMENT_3___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_3___);\nvar ___CSS_LOADER_URL_REPLACEMENT_4___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_4___);\nvar ___CSS_LOADER_URL_REPLACEMENT_5___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_5___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*!\n * jQuery UI CSS Framework 1.13.3\n * https://jqueryui.com\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license.\n * https://jquery.org/license\n *\n * https://api.jqueryui.com/category/theming/\n *\n * To view and modify this theme, visit https://jqueryui.com/themeroller/?bgShadowXPos=&bgOverlayXPos=&bgErrorXPos=&bgHighlightXPos=&bgContentXPos=&bgHeaderXPos=&bgActiveXPos=&bgHoverXPos=&bgDefaultXPos=&bgShadowYPos=&bgOverlayYPos=&bgErrorYPos=&bgHighlightYPos=&bgContentYPos=&bgHeaderYPos=&bgActiveYPos=&bgHoverYPos=&bgDefaultYPos=&bgShadowRepeat=&bgOverlayRepeat=&bgErrorRepeat=&bgHighlightRepeat=&bgContentRepeat=&bgHeaderRepeat=&bgActiveRepeat=&bgHoverRepeat=&bgDefaultRepeat=&iconsHover=url(%22images%2Fui-icons_555555_256x240.png%22)&iconsHighlight=url(%22images%2Fui-icons_777620_256x240.png%22)&iconsHeader=url(%22images%2Fui-icons_444444_256x240.png%22)&iconsError=url(%22images%2Fui-icons_cc0000_256x240.png%22)&iconsDefault=url(%22images%2Fui-icons_777777_256x240.png%22)&iconsContent=url(%22images%2Fui-icons_444444_256x240.png%22)&iconsActive=url(%22images%2Fui-icons_ffffff_256x240.png%22)&bgImgUrlShadow=&bgImgUrlOverlay=&bgImgUrlHover=&bgImgUrlHighlight=&bgImgUrlHeader=&bgImgUrlError=&bgImgUrlDefault=&bgImgUrlContent=&bgImgUrlActive=&opacityFilterShadow=%22alpha(opacity%3D30)%22&opacityFilterOverlay=%22alpha(opacity%3D30)%22&opacityShadowPerc=30&opacityOverlayPerc=30&iconColorHover=%23555555&iconColorHighlight=%23777620&iconColorHeader=%23444444&iconColorError=%23cc0000&iconColorDefault=%23777777&iconColorContent=%23444444&iconColorActive=%23ffffff&bgImgOpacityShadow=0&bgImgOpacityOverlay=0&bgImgOpacityError=95&bgImgOpacityHighlight=55&bgImgOpacityContent=75&bgImgOpacityHeader=75&bgImgOpacityActive=65&bgImgOpacityHover=75&bgImgOpacityDefault=75&bgTextureShadow=flat&bgTextureOverlay=flat&bgTextureError=flat&bgTextureHighlight=flat&bgTextureContent=flat&bgTextureHeader=flat&bgTextureActive=flat&bgTextureHover=flat&bgTextureDefault=flat&cornerRadius=3px&fwDefault=normal&ffDefault=Arial%2CHelvetica%2Csans-serif&fsDefault=1em&cornerRadiusShadow=8px&thicknessShadow=5px&offsetLeftShadow=0px&offsetTopShadow=0px&opacityShadow=.3&bgColorShadow=%23666666&opacityOverlay=.3&bgColorOverlay=%23aaaaaa&fcError=%235f3f3f&borderColorError=%23f1a899&bgColorError=%23fddfdf&fcHighlight=%23777620&borderColorHighlight=%23dad55e&bgColorHighlight=%23fffa90&fcContent=%23333333&borderColorContent=%23dddddd&bgColorContent=%23ffffff&fcHeader=%23333333&borderColorHeader=%23dddddd&bgColorHeader=%23e9e9e9&fcActive=%23ffffff&borderColorActive=%23003eff&bgColorActive=%23007fff&fcHover=%232b2b2b&borderColorHover=%23cccccc&bgColorHover=%23ededed&fcDefault=%23454545&borderColorDefault=%23c5c5c5&bgColorDefault=%23f6f6f6\n */\n\n\n/* Component containers\n----------------------------------*/\n.ui-widget {\n\tfont-family: Arial,Helvetica,sans-serif;\n\tfont-size: 1em;\n}\n.ui-widget .ui-widget {\n\tfont-size: 1em;\n}\n.ui-widget input,\n.ui-widget select,\n.ui-widget textarea,\n.ui-widget button {\n\tfont-family: Arial,Helvetica,sans-serif;\n\tfont-size: 1em;\n}\n.ui-widget.ui-widget-content {\n\tborder: 1px solid #c5c5c5;\n}\n.ui-widget-content {\n\tborder: 1px solid #dddddd;\n\tbackground: #ffffff;\n\tcolor: #333333;\n}\n.ui-widget-content a {\n\tcolor: #333333;\n}\n.ui-widget-header {\n\tborder: 1px solid #dddddd;\n\tbackground: #e9e9e9;\n\tcolor: #333333;\n\tfont-weight: bold;\n}\n.ui-widget-header a {\n\tcolor: #333333;\n}\n\n/* Interaction states\n----------------------------------*/\n.ui-state-default,\n.ui-widget-content .ui-state-default,\n.ui-widget-header .ui-state-default,\n.ui-button,\n\n/* We use html here because we need a greater specificity to make sure disabled\nworks properly when clicked or hovered */\nhtml .ui-button.ui-state-disabled:hover,\nhtml .ui-button.ui-state-disabled:active {\n\tborder: 1px solid #c5c5c5;\n\tbackground: #f6f6f6;\n\tfont-weight: normal;\n\tcolor: #454545;\n}\n.ui-state-default a,\n.ui-state-default a:link,\n.ui-state-default a:visited,\na.ui-button,\na:link.ui-button,\na:visited.ui-button,\n.ui-button {\n\tcolor: #454545;\n\ttext-decoration: none;\n}\n.ui-state-hover,\n.ui-widget-content .ui-state-hover,\n.ui-widget-header .ui-state-hover,\n.ui-state-focus,\n.ui-widget-content .ui-state-focus,\n.ui-widget-header .ui-state-focus,\n.ui-button:hover,\n.ui-button:focus {\n\tborder: 1px solid #cccccc;\n\tbackground: #ededed;\n\tfont-weight: normal;\n\tcolor: #2b2b2b;\n}\n.ui-state-hover a,\n.ui-state-hover a:hover,\n.ui-state-hover a:link,\n.ui-state-hover a:visited,\n.ui-state-focus a,\n.ui-state-focus a:hover,\n.ui-state-focus a:link,\n.ui-state-focus a:visited,\na.ui-button:hover,\na.ui-button:focus {\n\tcolor: #2b2b2b;\n\ttext-decoration: none;\n}\n\n.ui-visual-focus {\n\tbox-shadow: 0 0 3px 1px rgb(94, 158, 214);\n}\n.ui-state-active,\n.ui-widget-content .ui-state-active,\n.ui-widget-header .ui-state-active,\na.ui-button:active,\n.ui-button:active,\n.ui-button.ui-state-active:hover {\n\tborder: 1px solid #003eff;\n\tbackground: #007fff;\n\tfont-weight: normal;\n\tcolor: #ffffff;\n}\n.ui-icon-background,\n.ui-state-active .ui-icon-background {\n\tborder: #003eff;\n\tbackground-color: #ffffff;\n}\n.ui-state-active a,\n.ui-state-active a:link,\n.ui-state-active a:visited {\n\tcolor: #ffffff;\n\ttext-decoration: none;\n}\n\n/* Interaction Cues\n----------------------------------*/\n.ui-state-highlight,\n.ui-widget-content .ui-state-highlight,\n.ui-widget-header .ui-state-highlight {\n\tborder: 1px solid #dad55e;\n\tbackground: #fffa90;\n\tcolor: #777620;\n}\n.ui-state-checked {\n\tborder: 1px solid #dad55e;\n\tbackground: #fffa90;\n}\n.ui-state-highlight a,\n.ui-widget-content .ui-state-highlight a,\n.ui-widget-header .ui-state-highlight a {\n\tcolor: #777620;\n}\n.ui-state-error,\n.ui-widget-content .ui-state-error,\n.ui-widget-header .ui-state-error {\n\tborder: 1px solid #f1a899;\n\tbackground: #fddfdf;\n\tcolor: #5f3f3f;\n}\n.ui-state-error a,\n.ui-widget-content .ui-state-error a,\n.ui-widget-header .ui-state-error a {\n\tcolor: #5f3f3f;\n}\n.ui-state-error-text,\n.ui-widget-content .ui-state-error-text,\n.ui-widget-header .ui-state-error-text {\n\tcolor: #5f3f3f;\n}\n.ui-priority-primary,\n.ui-widget-content .ui-priority-primary,\n.ui-widget-header .ui-priority-primary {\n\tfont-weight: bold;\n}\n.ui-priority-secondary,\n.ui-widget-content .ui-priority-secondary,\n.ui-widget-header .ui-priority-secondary {\n\topacity: .7;\n\t-ms-filter: \"alpha(opacity=70)\"; /* support: IE8 */\n\tfont-weight: normal;\n}\n.ui-state-disabled,\n.ui-widget-content .ui-state-disabled,\n.ui-widget-header .ui-state-disabled {\n\topacity: .35;\n\t-ms-filter: \"alpha(opacity=35)\"; /* support: IE8 */\n\tbackground-image: none;\n}\n.ui-state-disabled .ui-icon {\n\t-ms-filter: \"alpha(opacity=35)\"; /* support: IE8 - See #6059 */\n}\n\n/* Icons\n----------------------------------*/\n\n/* states and images */\n.ui-icon {\n\twidth: 16px;\n\theight: 16px;\n}\n.ui-icon,\n.ui-widget-content .ui-icon {\n\tbackground-image: url(${___CSS_LOADER_URL_REPLACEMENT_0___});\n}\n.ui-widget-header .ui-icon {\n\tbackground-image: url(${___CSS_LOADER_URL_REPLACEMENT_0___});\n}\n.ui-state-hover .ui-icon,\n.ui-state-focus .ui-icon,\n.ui-button:hover .ui-icon,\n.ui-button:focus .ui-icon {\n\tbackground-image: url(${___CSS_LOADER_URL_REPLACEMENT_1___});\n}\n.ui-state-active .ui-icon,\n.ui-button:active .ui-icon {\n\tbackground-image: url(${___CSS_LOADER_URL_REPLACEMENT_2___});\n}\n.ui-state-highlight .ui-icon,\n.ui-button .ui-state-highlight.ui-icon {\n\tbackground-image: url(${___CSS_LOADER_URL_REPLACEMENT_3___});\n}\n.ui-state-error .ui-icon,\n.ui-state-error-text .ui-icon {\n\tbackground-image: url(${___CSS_LOADER_URL_REPLACEMENT_4___});\n}\n.ui-button .ui-icon {\n\tbackground-image: url(${___CSS_LOADER_URL_REPLACEMENT_5___});\n}\n\n/* positioning */\n/* Three classes needed to override \\`.ui-button:hover .ui-icon\\` */\n.ui-icon-blank.ui-icon-blank.ui-icon-blank {\n\tbackground-image: none;\n}\n.ui-icon-caret-1-n { background-position: 0 0; }\n.ui-icon-caret-1-ne { background-position: -16px 0; }\n.ui-icon-caret-1-e { background-position: -32px 0; }\n.ui-icon-caret-1-se { background-position: -48px 0; }\n.ui-icon-caret-1-s { background-position: -65px 0; }\n.ui-icon-caret-1-sw { background-position: -80px 0; }\n.ui-icon-caret-1-w { background-position: -96px 0; }\n.ui-icon-caret-1-nw { background-position: -112px 0; }\n.ui-icon-caret-2-n-s { background-position: -128px 0; }\n.ui-icon-caret-2-e-w { background-position: -144px 0; }\n.ui-icon-triangle-1-n { background-position: 0 -16px; }\n.ui-icon-triangle-1-ne { background-position: -16px -16px; }\n.ui-icon-triangle-1-e { background-position: -32px -16px; }\n.ui-icon-triangle-1-se { background-position: -48px -16px; }\n.ui-icon-triangle-1-s { background-position: -65px -16px; }\n.ui-icon-triangle-1-sw { background-position: -80px -16px; }\n.ui-icon-triangle-1-w { background-position: -96px -16px; }\n.ui-icon-triangle-1-nw { background-position: -112px -16px; }\n.ui-icon-triangle-2-n-s { background-position: -128px -16px; }\n.ui-icon-triangle-2-e-w { background-position: -144px -16px; }\n.ui-icon-arrow-1-n { background-position: 0 -32px; }\n.ui-icon-arrow-1-ne { background-position: -16px -32px; }\n.ui-icon-arrow-1-e { background-position: -32px -32px; }\n.ui-icon-arrow-1-se { background-position: -48px -32px; }\n.ui-icon-arrow-1-s { background-position: -65px -32px; }\n.ui-icon-arrow-1-sw { background-position: -80px -32px; }\n.ui-icon-arrow-1-w { background-position: -96px -32px; }\n.ui-icon-arrow-1-nw { background-position: -112px -32px; }\n.ui-icon-arrow-2-n-s { background-position: -128px -32px; }\n.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }\n.ui-icon-arrow-2-e-w { background-position: -160px -32px; }\n.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }\n.ui-icon-arrowstop-1-n { background-position: -192px -32px; }\n.ui-icon-arrowstop-1-e { background-position: -208px -32px; }\n.ui-icon-arrowstop-1-s { background-position: -224px -32px; }\n.ui-icon-arrowstop-1-w { background-position: -240px -32px; }\n.ui-icon-arrowthick-1-n { background-position: 1px -48px; }\n.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }\n.ui-icon-arrowthick-1-e { background-position: -32px -48px; }\n.ui-icon-arrowthick-1-se { background-position: -48px -48px; }\n.ui-icon-arrowthick-1-s { background-position: -64px -48px; }\n.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }\n.ui-icon-arrowthick-1-w { background-position: -96px -48px; }\n.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }\n.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }\n.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }\n.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }\n.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }\n.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }\n.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }\n.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }\n.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }\n.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }\n.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }\n.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }\n.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }\n.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }\n.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }\n.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }\n.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }\n.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }\n.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }\n.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }\n.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }\n.ui-icon-arrow-4 { background-position: 0 -80px; }\n.ui-icon-arrow-4-diag { background-position: -16px -80px; }\n.ui-icon-extlink { background-position: -32px -80px; }\n.ui-icon-newwin { background-position: -48px -80px; }\n.ui-icon-refresh { background-position: -64px -80px; }\n.ui-icon-shuffle { background-position: -80px -80px; }\n.ui-icon-transfer-e-w { background-position: -96px -80px; }\n.ui-icon-transferthick-e-w { background-position: -112px -80px; }\n.ui-icon-folder-collapsed { background-position: 0 -96px; }\n.ui-icon-folder-open { background-position: -16px -96px; }\n.ui-icon-document { background-position: -32px -96px; }\n.ui-icon-document-b { background-position: -48px -96px; }\n.ui-icon-note { background-position: -64px -96px; }\n.ui-icon-mail-closed { background-position: -80px -96px; }\n.ui-icon-mail-open { background-position: -96px -96px; }\n.ui-icon-suitcase { background-position: -112px -96px; }\n.ui-icon-comment { background-position: -128px -96px; }\n.ui-icon-person { background-position: -144px -96px; }\n.ui-icon-print { background-position: -160px -96px; }\n.ui-icon-trash { background-position: -176px -96px; }\n.ui-icon-locked { background-position: -192px -96px; }\n.ui-icon-unlocked { background-position: -208px -96px; }\n.ui-icon-bookmark { background-position: -224px -96px; }\n.ui-icon-tag { background-position: -240px -96px; }\n.ui-icon-home { background-position: 0 -112px; }\n.ui-icon-flag { background-position: -16px -112px; }\n.ui-icon-calendar { background-position: -32px -112px; }\n.ui-icon-cart { background-position: -48px -112px; }\n.ui-icon-pencil { background-position: -64px -112px; }\n.ui-icon-clock { background-position: -80px -112px; }\n.ui-icon-disk { background-position: -96px -112px; }\n.ui-icon-calculator { background-position: -112px -112px; }\n.ui-icon-zoomin { background-position: -128px -112px; }\n.ui-icon-zoomout { background-position: -144px -112px; }\n.ui-icon-search { background-position: -160px -112px; }\n.ui-icon-wrench { background-position: -176px -112px; }\n.ui-icon-gear { background-position: -192px -112px; }\n.ui-icon-heart { background-position: -208px -112px; }\n.ui-icon-star { background-position: -224px -112px; }\n.ui-icon-link { background-position: -240px -112px; }\n.ui-icon-cancel { background-position: 0 -128px; }\n.ui-icon-plus { background-position: -16px -128px; }\n.ui-icon-plusthick { background-position: -32px -128px; }\n.ui-icon-minus { background-position: -48px -128px; }\n.ui-icon-minusthick { background-position: -64px -128px; }\n.ui-icon-close { background-position: -80px -128px; }\n.ui-icon-closethick { background-position: -96px -128px; }\n.ui-icon-key { background-position: -112px -128px; }\n.ui-icon-lightbulb { background-position: -128px -128px; }\n.ui-icon-scissors { background-position: -144px -128px; }\n.ui-icon-clipboard { background-position: -160px -128px; }\n.ui-icon-copy { background-position: -176px -128px; }\n.ui-icon-contact { background-position: -192px -128px; }\n.ui-icon-image { background-position: -208px -128px; }\n.ui-icon-video { background-position: -224px -128px; }\n.ui-icon-script { background-position: -240px -128px; }\n.ui-icon-alert { background-position: 0 -144px; }\n.ui-icon-info { background-position: -16px -144px; }\n.ui-icon-notice { background-position: -32px -144px; }\n.ui-icon-help { background-position: -48px -144px; }\n.ui-icon-check { background-position: -64px -144px; }\n.ui-icon-bullet { background-position: -80px -144px; }\n.ui-icon-radio-on { background-position: -96px -144px; }\n.ui-icon-radio-off { background-position: -112px -144px; }\n.ui-icon-pin-w { background-position: -128px -144px; }\n.ui-icon-pin-s { background-position: -144px -144px; }\n.ui-icon-play { background-position: 0 -160px; }\n.ui-icon-pause { background-position: -16px -160px; }\n.ui-icon-seek-next { background-position: -32px -160px; }\n.ui-icon-seek-prev { background-position: -48px -160px; }\n.ui-icon-seek-end { background-position: -64px -160px; }\n.ui-icon-seek-start { background-position: -80px -160px; }\n/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */\n.ui-icon-seek-first { background-position: -80px -160px; }\n.ui-icon-stop { background-position: -96px -160px; }\n.ui-icon-eject { background-position: -112px -160px; }\n.ui-icon-volume-off { background-position: -128px -160px; }\n.ui-icon-volume-on { background-position: -144px -160px; }\n.ui-icon-power { background-position: 0 -176px; }\n.ui-icon-signal-diag { background-position: -16px -176px; }\n.ui-icon-signal { background-position: -32px -176px; }\n.ui-icon-battery-0 { background-position: -48px -176px; }\n.ui-icon-battery-1 { background-position: -64px -176px; }\n.ui-icon-battery-2 { background-position: -80px -176px; }\n.ui-icon-battery-3 { background-position: -96px -176px; }\n.ui-icon-circle-plus { background-position: 0 -192px; }\n.ui-icon-circle-minus { background-position: -16px -192px; }\n.ui-icon-circle-close { background-position: -32px -192px; }\n.ui-icon-circle-triangle-e { background-position: -48px -192px; }\n.ui-icon-circle-triangle-s { background-position: -64px -192px; }\n.ui-icon-circle-triangle-w { background-position: -80px -192px; }\n.ui-icon-circle-triangle-n { background-position: -96px -192px; }\n.ui-icon-circle-arrow-e { background-position: -112px -192px; }\n.ui-icon-circle-arrow-s { background-position: -128px -192px; }\n.ui-icon-circle-arrow-w { background-position: -144px -192px; }\n.ui-icon-circle-arrow-n { background-position: -160px -192px; }\n.ui-icon-circle-zoomin { background-position: -176px -192px; }\n.ui-icon-circle-zoomout { background-position: -192px -192px; }\n.ui-icon-circle-check { background-position: -208px -192px; }\n.ui-icon-circlesmall-plus { background-position: 0 -208px; }\n.ui-icon-circlesmall-minus { background-position: -16px -208px; }\n.ui-icon-circlesmall-close { background-position: -32px -208px; }\n.ui-icon-squaresmall-plus { background-position: -48px -208px; }\n.ui-icon-squaresmall-minus { background-position: -64px -208px; }\n.ui-icon-squaresmall-close { background-position: -80px -208px; }\n.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }\n.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }\n.ui-icon-grip-solid-vertical { background-position: -32px -224px; }\n.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }\n.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }\n.ui-icon-grip-diagonal-se { background-position: -80px -224px; }\n\n\n/* Misc visuals\n----------------------------------*/\n\n/* Corner radius */\n.ui-corner-all,\n.ui-corner-top,\n.ui-corner-left,\n.ui-corner-tl {\n\tborder-top-left-radius: 3px;\n}\n.ui-corner-all,\n.ui-corner-top,\n.ui-corner-right,\n.ui-corner-tr {\n\tborder-top-right-radius: 3px;\n}\n.ui-corner-all,\n.ui-corner-bottom,\n.ui-corner-left,\n.ui-corner-bl {\n\tborder-bottom-left-radius: 3px;\n}\n.ui-corner-all,\n.ui-corner-bottom,\n.ui-corner-right,\n.ui-corner-br {\n\tborder-bottom-right-radius: 3px;\n}\n\n/* Overlays */\n.ui-widget-overlay {\n\tbackground: #aaaaaa;\n\topacity: .003;\n\t-ms-filter: \"alpha(opacity=.3)\"; /* support: IE8 */\n}\n.ui-widget-shadow {\n\t-webkit-box-shadow: 0px 0px 5px #666666;\n\tbox-shadow: 0px 0px 5px #666666;\n}\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/jquery-ui-dist/jquery-ui.theme.css\"],\"names\":[],\"mappings\":\"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\",\"sourcesContent\":[\"/*!\\n * jQuery UI CSS Framework 1.13.3\\n * https://jqueryui.com\\n *\\n * Copyright OpenJS Foundation and other contributors\\n * Released under the MIT license.\\n * https://jquery.org/license\\n *\\n * https://api.jqueryui.com/category/theming/\\n *\\n * To view and modify this theme, visit https://jqueryui.com/themeroller/?bgShadowXPos=&bgOverlayXPos=&bgErrorXPos=&bgHighlightXPos=&bgContentXPos=&bgHeaderXPos=&bgActiveXPos=&bgHoverXPos=&bgDefaultXPos=&bgShadowYPos=&bgOverlayYPos=&bgErrorYPos=&bgHighlightYPos=&bgContentYPos=&bgHeaderYPos=&bgActiveYPos=&bgHoverYPos=&bgDefaultYPos=&bgShadowRepeat=&bgOverlayRepeat=&bgErrorRepeat=&bgHighlightRepeat=&bgContentRepeat=&bgHeaderRepeat=&bgActiveRepeat=&bgHoverRepeat=&bgDefaultRepeat=&iconsHover=url(%22images%2Fui-icons_555555_256x240.png%22)&iconsHighlight=url(%22images%2Fui-icons_777620_256x240.png%22)&iconsHeader=url(%22images%2Fui-icons_444444_256x240.png%22)&iconsError=url(%22images%2Fui-icons_cc0000_256x240.png%22)&iconsDefault=url(%22images%2Fui-icons_777777_256x240.png%22)&iconsContent=url(%22images%2Fui-icons_444444_256x240.png%22)&iconsActive=url(%22images%2Fui-icons_ffffff_256x240.png%22)&bgImgUrlShadow=&bgImgUrlOverlay=&bgImgUrlHover=&bgImgUrlHighlight=&bgImgUrlHeader=&bgImgUrlError=&bgImgUrlDefault=&bgImgUrlContent=&bgImgUrlActive=&opacityFilterShadow=%22alpha(opacity%3D30)%22&opacityFilterOverlay=%22alpha(opacity%3D30)%22&opacityShadowPerc=30&opacityOverlayPerc=30&iconColorHover=%23555555&iconColorHighlight=%23777620&iconColorHeader=%23444444&iconColorError=%23cc0000&iconColorDefault=%23777777&iconColorContent=%23444444&iconColorActive=%23ffffff&bgImgOpacityShadow=0&bgImgOpacityOverlay=0&bgImgOpacityError=95&bgImgOpacityHighlight=55&bgImgOpacityContent=75&bgImgOpacityHeader=75&bgImgOpacityActive=65&bgImgOpacityHover=75&bgImgOpacityDefault=75&bgTextureShadow=flat&bgTextureOverlay=flat&bgTextureError=flat&bgTextureHighlight=flat&bgTextureContent=flat&bgTextureHeader=flat&bgTextureActive=flat&bgTextureHover=flat&bgTextureDefault=flat&cornerRadius=3px&fwDefault=normal&ffDefault=Arial%2CHelvetica%2Csans-serif&fsDefault=1em&cornerRadiusShadow=8px&thicknessShadow=5px&offsetLeftShadow=0px&offsetTopShadow=0px&opacityShadow=.3&bgColorShadow=%23666666&opacityOverlay=.3&bgColorOverlay=%23aaaaaa&fcError=%235f3f3f&borderColorError=%23f1a899&bgColorError=%23fddfdf&fcHighlight=%23777620&borderColorHighlight=%23dad55e&bgColorHighlight=%23fffa90&fcContent=%23333333&borderColorContent=%23dddddd&bgColorContent=%23ffffff&fcHeader=%23333333&borderColorHeader=%23dddddd&bgColorHeader=%23e9e9e9&fcActive=%23ffffff&borderColorActive=%23003eff&bgColorActive=%23007fff&fcHover=%232b2b2b&borderColorHover=%23cccccc&bgColorHover=%23ededed&fcDefault=%23454545&borderColorDefault=%23c5c5c5&bgColorDefault=%23f6f6f6\\n */\\n\\n\\n/* Component containers\\n----------------------------------*/\\n.ui-widget {\\n\\tfont-family: Arial,Helvetica,sans-serif;\\n\\tfont-size: 1em;\\n}\\n.ui-widget .ui-widget {\\n\\tfont-size: 1em;\\n}\\n.ui-widget input,\\n.ui-widget select,\\n.ui-widget textarea,\\n.ui-widget button {\\n\\tfont-family: Arial,Helvetica,sans-serif;\\n\\tfont-size: 1em;\\n}\\n.ui-widget.ui-widget-content {\\n\\tborder: 1px solid #c5c5c5;\\n}\\n.ui-widget-content {\\n\\tborder: 1px solid #dddddd;\\n\\tbackground: #ffffff;\\n\\tcolor: #333333;\\n}\\n.ui-widget-content a {\\n\\tcolor: #333333;\\n}\\n.ui-widget-header {\\n\\tborder: 1px solid #dddddd;\\n\\tbackground: #e9e9e9;\\n\\tcolor: #333333;\\n\\tfont-weight: bold;\\n}\\n.ui-widget-header a {\\n\\tcolor: #333333;\\n}\\n\\n/* Interaction states\\n----------------------------------*/\\n.ui-state-default,\\n.ui-widget-content .ui-state-default,\\n.ui-widget-header .ui-state-default,\\n.ui-button,\\n\\n/* We use html here because we need a greater specificity to make sure disabled\\nworks properly when clicked or hovered */\\nhtml .ui-button.ui-state-disabled:hover,\\nhtml .ui-button.ui-state-disabled:active {\\n\\tborder: 1px solid #c5c5c5;\\n\\tbackground: #f6f6f6;\\n\\tfont-weight: normal;\\n\\tcolor: #454545;\\n}\\n.ui-state-default a,\\n.ui-state-default a:link,\\n.ui-state-default a:visited,\\na.ui-button,\\na:link.ui-button,\\na:visited.ui-button,\\n.ui-button {\\n\\tcolor: #454545;\\n\\ttext-decoration: none;\\n}\\n.ui-state-hover,\\n.ui-widget-content .ui-state-hover,\\n.ui-widget-header .ui-state-hover,\\n.ui-state-focus,\\n.ui-widget-content .ui-state-focus,\\n.ui-widget-header .ui-state-focus,\\n.ui-button:hover,\\n.ui-button:focus {\\n\\tborder: 1px solid #cccccc;\\n\\tbackground: #ededed;\\n\\tfont-weight: normal;\\n\\tcolor: #2b2b2b;\\n}\\n.ui-state-hover a,\\n.ui-state-hover a:hover,\\n.ui-state-hover a:link,\\n.ui-state-hover a:visited,\\n.ui-state-focus a,\\n.ui-state-focus a:hover,\\n.ui-state-focus a:link,\\n.ui-state-focus a:visited,\\na.ui-button:hover,\\na.ui-button:focus {\\n\\tcolor: #2b2b2b;\\n\\ttext-decoration: none;\\n}\\n\\n.ui-visual-focus {\\n\\tbox-shadow: 0 0 3px 1px rgb(94, 158, 214);\\n}\\n.ui-state-active,\\n.ui-widget-content .ui-state-active,\\n.ui-widget-header .ui-state-active,\\na.ui-button:active,\\n.ui-button:active,\\n.ui-button.ui-state-active:hover {\\n\\tborder: 1px solid #003eff;\\n\\tbackground: #007fff;\\n\\tfont-weight: normal;\\n\\tcolor: #ffffff;\\n}\\n.ui-icon-background,\\n.ui-state-active .ui-icon-background {\\n\\tborder: #003eff;\\n\\tbackground-color: #ffffff;\\n}\\n.ui-state-active a,\\n.ui-state-active a:link,\\n.ui-state-active a:visited {\\n\\tcolor: #ffffff;\\n\\ttext-decoration: none;\\n}\\n\\n/* Interaction Cues\\n----------------------------------*/\\n.ui-state-highlight,\\n.ui-widget-content .ui-state-highlight,\\n.ui-widget-header .ui-state-highlight {\\n\\tborder: 1px solid #dad55e;\\n\\tbackground: #fffa90;\\n\\tcolor: #777620;\\n}\\n.ui-state-checked {\\n\\tborder: 1px solid #dad55e;\\n\\tbackground: #fffa90;\\n}\\n.ui-state-highlight a,\\n.ui-widget-content .ui-state-highlight a,\\n.ui-widget-header .ui-state-highlight a {\\n\\tcolor: #777620;\\n}\\n.ui-state-error,\\n.ui-widget-content .ui-state-error,\\n.ui-widget-header .ui-state-error {\\n\\tborder: 1px solid #f1a899;\\n\\tbackground: #fddfdf;\\n\\tcolor: #5f3f3f;\\n}\\n.ui-state-error a,\\n.ui-widget-content .ui-state-error a,\\n.ui-widget-header .ui-state-error a {\\n\\tcolor: #5f3f3f;\\n}\\n.ui-state-error-text,\\n.ui-widget-content .ui-state-error-text,\\n.ui-widget-header .ui-state-error-text {\\n\\tcolor: #5f3f3f;\\n}\\n.ui-priority-primary,\\n.ui-widget-content .ui-priority-primary,\\n.ui-widget-header .ui-priority-primary {\\n\\tfont-weight: bold;\\n}\\n.ui-priority-secondary,\\n.ui-widget-content .ui-priority-secondary,\\n.ui-widget-header .ui-priority-secondary {\\n\\topacity: .7;\\n\\t-ms-filter: \\\"alpha(opacity=70)\\\"; /* support: IE8 */\\n\\tfont-weight: normal;\\n}\\n.ui-state-disabled,\\n.ui-widget-content .ui-state-disabled,\\n.ui-widget-header .ui-state-disabled {\\n\\topacity: .35;\\n\\t-ms-filter: \\\"alpha(opacity=35)\\\"; /* support: IE8 */\\n\\tbackground-image: none;\\n}\\n.ui-state-disabled .ui-icon {\\n\\t-ms-filter: \\\"alpha(opacity=35)\\\"; /* support: IE8 - See #6059 */\\n}\\n\\n/* Icons\\n----------------------------------*/\\n\\n/* states and images */\\n.ui-icon {\\n\\twidth: 16px;\\n\\theight: 16px;\\n}\\n.ui-icon,\\n.ui-widget-content .ui-icon {\\n\\tbackground-image: url(\\\"images/ui-icons_444444_256x240.png\\\");\\n}\\n.ui-widget-header .ui-icon {\\n\\tbackground-image: url(\\\"images/ui-icons_444444_256x240.png\\\");\\n}\\n.ui-state-hover .ui-icon,\\n.ui-state-focus .ui-icon,\\n.ui-button:hover .ui-icon,\\n.ui-button:focus .ui-icon {\\n\\tbackground-image: url(\\\"images/ui-icons_555555_256x240.png\\\");\\n}\\n.ui-state-active .ui-icon,\\n.ui-button:active .ui-icon {\\n\\tbackground-image: url(\\\"images/ui-icons_ffffff_256x240.png\\\");\\n}\\n.ui-state-highlight .ui-icon,\\n.ui-button .ui-state-highlight.ui-icon {\\n\\tbackground-image: url(\\\"images/ui-icons_777620_256x240.png\\\");\\n}\\n.ui-state-error .ui-icon,\\n.ui-state-error-text .ui-icon {\\n\\tbackground-image: url(\\\"images/ui-icons_cc0000_256x240.png\\\");\\n}\\n.ui-button .ui-icon {\\n\\tbackground-image: url(\\\"images/ui-icons_777777_256x240.png\\\");\\n}\\n\\n/* positioning */\\n/* Three classes needed to override `.ui-button:hover .ui-icon` */\\n.ui-icon-blank.ui-icon-blank.ui-icon-blank {\\n\\tbackground-image: none;\\n}\\n.ui-icon-caret-1-n { background-position: 0 0; }\\n.ui-icon-caret-1-ne { background-position: -16px 0; }\\n.ui-icon-caret-1-e { background-position: -32px 0; }\\n.ui-icon-caret-1-se { background-position: -48px 0; }\\n.ui-icon-caret-1-s { background-position: -65px 0; }\\n.ui-icon-caret-1-sw { background-position: -80px 0; }\\n.ui-icon-caret-1-w { background-position: -96px 0; }\\n.ui-icon-caret-1-nw { background-position: -112px 0; }\\n.ui-icon-caret-2-n-s { background-position: -128px 0; }\\n.ui-icon-caret-2-e-w { background-position: -144px 0; }\\n.ui-icon-triangle-1-n { background-position: 0 -16px; }\\n.ui-icon-triangle-1-ne { background-position: -16px -16px; }\\n.ui-icon-triangle-1-e { background-position: -32px -16px; }\\n.ui-icon-triangle-1-se { background-position: -48px -16px; }\\n.ui-icon-triangle-1-s { background-position: -65px -16px; }\\n.ui-icon-triangle-1-sw { background-position: -80px -16px; }\\n.ui-icon-triangle-1-w { background-position: -96px -16px; }\\n.ui-icon-triangle-1-nw { background-position: -112px -16px; }\\n.ui-icon-triangle-2-n-s { background-position: -128px -16px; }\\n.ui-icon-triangle-2-e-w { background-position: -144px -16px; }\\n.ui-icon-arrow-1-n { background-position: 0 -32px; }\\n.ui-icon-arrow-1-ne { background-position: -16px -32px; }\\n.ui-icon-arrow-1-e { background-position: -32px -32px; }\\n.ui-icon-arrow-1-se { background-position: -48px -32px; }\\n.ui-icon-arrow-1-s { background-position: -65px -32px; }\\n.ui-icon-arrow-1-sw { background-position: -80px -32px; }\\n.ui-icon-arrow-1-w { background-position: -96px -32px; }\\n.ui-icon-arrow-1-nw { background-position: -112px -32px; }\\n.ui-icon-arrow-2-n-s { background-position: -128px -32px; }\\n.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }\\n.ui-icon-arrow-2-e-w { background-position: -160px -32px; }\\n.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }\\n.ui-icon-arrowstop-1-n { background-position: -192px -32px; }\\n.ui-icon-arrowstop-1-e { background-position: -208px -32px; }\\n.ui-icon-arrowstop-1-s { background-position: -224px -32px; }\\n.ui-icon-arrowstop-1-w { background-position: -240px -32px; }\\n.ui-icon-arrowthick-1-n { background-position: 1px -48px; }\\n.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }\\n.ui-icon-arrowthick-1-e { background-position: -32px -48px; }\\n.ui-icon-arrowthick-1-se { background-position: -48px -48px; }\\n.ui-icon-arrowthick-1-s { background-position: -64px -48px; }\\n.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }\\n.ui-icon-arrowthick-1-w { background-position: -96px -48px; }\\n.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }\\n.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }\\n.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }\\n.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }\\n.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }\\n.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }\\n.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }\\n.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }\\n.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }\\n.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }\\n.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }\\n.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }\\n.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }\\n.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }\\n.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }\\n.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }\\n.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }\\n.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }\\n.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }\\n.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }\\n.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }\\n.ui-icon-arrow-4 { background-position: 0 -80px; }\\n.ui-icon-arrow-4-diag { background-position: -16px -80px; }\\n.ui-icon-extlink { background-position: -32px -80px; }\\n.ui-icon-newwin { background-position: -48px -80px; }\\n.ui-icon-refresh { background-position: -64px -80px; }\\n.ui-icon-shuffle { background-position: -80px -80px; }\\n.ui-icon-transfer-e-w { background-position: -96px -80px; }\\n.ui-icon-transferthick-e-w { background-position: -112px -80px; }\\n.ui-icon-folder-collapsed { background-position: 0 -96px; }\\n.ui-icon-folder-open { background-position: -16px -96px; }\\n.ui-icon-document { background-position: -32px -96px; }\\n.ui-icon-document-b { background-position: -48px -96px; }\\n.ui-icon-note { background-position: -64px -96px; }\\n.ui-icon-mail-closed { background-position: -80px -96px; }\\n.ui-icon-mail-open { background-position: -96px -96px; }\\n.ui-icon-suitcase { background-position: -112px -96px; }\\n.ui-icon-comment { background-position: -128px -96px; }\\n.ui-icon-person { background-position: -144px -96px; }\\n.ui-icon-print { background-position: -160px -96px; }\\n.ui-icon-trash { background-position: -176px -96px; }\\n.ui-icon-locked { background-position: -192px -96px; }\\n.ui-icon-unlocked { background-position: -208px -96px; }\\n.ui-icon-bookmark { background-position: -224px -96px; }\\n.ui-icon-tag { background-position: -240px -96px; }\\n.ui-icon-home { background-position: 0 -112px; }\\n.ui-icon-flag { background-position: -16px -112px; }\\n.ui-icon-calendar { background-position: -32px -112px; }\\n.ui-icon-cart { background-position: -48px -112px; }\\n.ui-icon-pencil { background-position: -64px -112px; }\\n.ui-icon-clock { background-position: -80px -112px; }\\n.ui-icon-disk { background-position: -96px -112px; }\\n.ui-icon-calculator { background-position: -112px -112px; }\\n.ui-icon-zoomin { background-position: -128px -112px; }\\n.ui-icon-zoomout { background-position: -144px -112px; }\\n.ui-icon-search { background-position: -160px -112px; }\\n.ui-icon-wrench { background-position: -176px -112px; }\\n.ui-icon-gear { background-position: -192px -112px; }\\n.ui-icon-heart { background-position: -208px -112px; }\\n.ui-icon-star { background-position: -224px -112px; }\\n.ui-icon-link { background-position: -240px -112px; }\\n.ui-icon-cancel { background-position: 0 -128px; }\\n.ui-icon-plus { background-position: -16px -128px; }\\n.ui-icon-plusthick { background-position: -32px -128px; }\\n.ui-icon-minus { background-position: -48px -128px; }\\n.ui-icon-minusthick { background-position: -64px -128px; }\\n.ui-icon-close { background-position: -80px -128px; }\\n.ui-icon-closethick { background-position: -96px -128px; }\\n.ui-icon-key { background-position: -112px -128px; }\\n.ui-icon-lightbulb { background-position: -128px -128px; }\\n.ui-icon-scissors { background-position: -144px -128px; }\\n.ui-icon-clipboard { background-position: -160px -128px; }\\n.ui-icon-copy { background-position: -176px -128px; }\\n.ui-icon-contact { background-position: -192px -128px; }\\n.ui-icon-image { background-position: -208px -128px; }\\n.ui-icon-video { background-position: -224px -128px; }\\n.ui-icon-script { background-position: -240px -128px; }\\n.ui-icon-alert { background-position: 0 -144px; }\\n.ui-icon-info { background-position: -16px -144px; }\\n.ui-icon-notice { background-position: -32px -144px; }\\n.ui-icon-help { background-position: -48px -144px; }\\n.ui-icon-check { background-position: -64px -144px; }\\n.ui-icon-bullet { background-position: -80px -144px; }\\n.ui-icon-radio-on { background-position: -96px -144px; }\\n.ui-icon-radio-off { background-position: -112px -144px; }\\n.ui-icon-pin-w { background-position: -128px -144px; }\\n.ui-icon-pin-s { background-position: -144px -144px; }\\n.ui-icon-play { background-position: 0 -160px; }\\n.ui-icon-pause { background-position: -16px -160px; }\\n.ui-icon-seek-next { background-position: -32px -160px; }\\n.ui-icon-seek-prev { background-position: -48px -160px; }\\n.ui-icon-seek-end { background-position: -64px -160px; }\\n.ui-icon-seek-start { background-position: -80px -160px; }\\n/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */\\n.ui-icon-seek-first { background-position: -80px -160px; }\\n.ui-icon-stop { background-position: -96px -160px; }\\n.ui-icon-eject { background-position: -112px -160px; }\\n.ui-icon-volume-off { background-position: -128px -160px; }\\n.ui-icon-volume-on { background-position: -144px -160px; }\\n.ui-icon-power { background-position: 0 -176px; }\\n.ui-icon-signal-diag { background-position: -16px -176px; }\\n.ui-icon-signal { background-position: -32px -176px; }\\n.ui-icon-battery-0 { background-position: -48px -176px; }\\n.ui-icon-battery-1 { background-position: -64px -176px; }\\n.ui-icon-battery-2 { background-position: -80px -176px; }\\n.ui-icon-battery-3 { background-position: -96px -176px; }\\n.ui-icon-circle-plus { background-position: 0 -192px; }\\n.ui-icon-circle-minus { background-position: -16px -192px; }\\n.ui-icon-circle-close { background-position: -32px -192px; }\\n.ui-icon-circle-triangle-e { background-position: -48px -192px; }\\n.ui-icon-circle-triangle-s { background-position: -64px -192px; }\\n.ui-icon-circle-triangle-w { background-position: -80px -192px; }\\n.ui-icon-circle-triangle-n { background-position: -96px -192px; }\\n.ui-icon-circle-arrow-e { background-position: -112px -192px; }\\n.ui-icon-circle-arrow-s { background-position: -128px -192px; }\\n.ui-icon-circle-arrow-w { background-position: -144px -192px; }\\n.ui-icon-circle-arrow-n { background-position: -160px -192px; }\\n.ui-icon-circle-zoomin { background-position: -176px -192px; }\\n.ui-icon-circle-zoomout { background-position: -192px -192px; }\\n.ui-icon-circle-check { background-position: -208px -192px; }\\n.ui-icon-circlesmall-plus { background-position: 0 -208px; }\\n.ui-icon-circlesmall-minus { background-position: -16px -208px; }\\n.ui-icon-circlesmall-close { background-position: -32px -208px; }\\n.ui-icon-squaresmall-plus { background-position: -48px -208px; }\\n.ui-icon-squaresmall-minus { background-position: -64px -208px; }\\n.ui-icon-squaresmall-close { background-position: -80px -208px; }\\n.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }\\n.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }\\n.ui-icon-grip-solid-vertical { background-position: -32px -224px; }\\n.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }\\n.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }\\n.ui-icon-grip-diagonal-se { background-position: -80px -224px; }\\n\\n\\n/* Misc visuals\\n----------------------------------*/\\n\\n/* Corner radius */\\n.ui-corner-all,\\n.ui-corner-top,\\n.ui-corner-left,\\n.ui-corner-tl {\\n\\tborder-top-left-radius: 3px;\\n}\\n.ui-corner-all,\\n.ui-corner-top,\\n.ui-corner-right,\\n.ui-corner-tr {\\n\\tborder-top-right-radius: 3px;\\n}\\n.ui-corner-all,\\n.ui-corner-bottom,\\n.ui-corner-left,\\n.ui-corner-bl {\\n\\tborder-bottom-left-radius: 3px;\\n}\\n.ui-corner-all,\\n.ui-corner-bottom,\\n.ui-corner-right,\\n.ui-corner-br {\\n\\tborder-bottom-right-radius: 3px;\\n}\\n\\n/* Overlays */\\n.ui-widget-overlay {\\n\\tbackground: #aaaaaa;\\n\\topacity: .003;\\n\\t-ms-filter: \\\"alpha(opacity=.3)\\\"; /* support: IE8 */\\n}\\n.ui-widget-shadow {\\n\\t-webkit-box-shadow: 0px 0px 5px #666666;\\n\\tbox-shadow: 0px 0px 5px #666666;\\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\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"images/ui-icons_1d2d44_256x240.png\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_1___ = new URL(\"images/ui-icons_ffffff_256x240.png\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_2___ = new URL(\"images/ui-icons_ffd27a_256x240.png\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_3___ = new URL(\"images/ui-bg_diagonals-thick_20_666666_40x40.png\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_4___ = new URL(\"images/ui-bg_flat_10_000000_40x100.png\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___);\nvar ___CSS_LOADER_URL_REPLACEMENT_2___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_2___);\nvar ___CSS_LOADER_URL_REPLACEMENT_3___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_3___);\nvar ___CSS_LOADER_URL_REPLACEMENT_4___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_4___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.ui-widget-content{border:1px solid var(--color-border);background:var(--color-main-background) none;color:var(--color-main-text)}.ui-widget-content a{color:var(--color-main-text)}.ui-widget-header{border:none;color:var(--color-main-text);background-image:none}.ui-widget-header a{color:var(--color-main-text)}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default{border:1px solid var(--color-border);background:var(--color-main-background) none;font-weight:bold;color:#555}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited{color:#555}.ui-state-hover,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-hover,.ui-state-focus,.ui-widget-content .ui-state-focus,.ui-widget-header .ui-state-focus{border:1px solid #ddd;background:var(--color-main-background) none;font-weight:bold;color:var(--color-main-text)}.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited{color:var(--color-main-text)}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active{border:1px solid var(--color-primary-element);background:var(--color-main-background) none;font-weight:bold;color:var(--color-main-text)}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:var(--color-main-text)}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid var(--color-main-background);background:var(--color-main-background) none;color:var(--color-main-text);font-weight:600}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:var(--color-text-maxcontrast)}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:var(--color-error);background:var(--color-error) none;color:#fff}.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#fff}.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#fff}.ui-state-default .ui-icon{background-image:url(${___CSS_LOADER_URL_REPLACEMENT_0___})}.ui-state-hover .ui-icon,.ui-state-focus .ui-icon{background-image:url(${___CSS_LOADER_URL_REPLACEMENT_0___})}.ui-state-active .ui-icon{background-image:url(${___CSS_LOADER_URL_REPLACEMENT_0___})}.ui-state-highlight .ui-icon{background-image:url(${___CSS_LOADER_URL_REPLACEMENT_1___})}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url(${___CSS_LOADER_URL_REPLACEMENT_2___})}.ui-icon.ui-icon-none{display:none}.ui-widget-overlay{background:#666 url(${___CSS_LOADER_URL_REPLACEMENT_3___}) 50% 50% repeat;opacity:.5}.ui-widget-shadow{margin:-5px 0 0 -5px;padding:5px;background:#000 url(${___CSS_LOADER_URL_REPLACEMENT_4___}) 50% 50% repeat-x;opacity:.2;border-radius:5px}.ui-tabs{border:none}.ui-tabs .ui-tabs-nav.ui-corner-all{border-end-start-radius:0;border-end-end-radius:0}.ui-tabs .ui-tabs-nav{background:none;margin-bottom:15px}.ui-tabs .ui-tabs-nav .ui-state-default{border:none;border-bottom:1px solid rgba(0,0,0,0);font-weight:normal;margin:0 !important;padding:0 !important}.ui-tabs .ui-tabs-nav .ui-state-hover,.ui-tabs .ui-tabs-nav .ui-state-active{border:none;border-bottom:1px solid var(--color-main-text);color:var(--color-main-text)}.ui-tabs .ui-tabs-nav .ui-state-hover a,.ui-tabs .ui-tabs-nav .ui-state-hover a:link,.ui-tabs .ui-tabs-nav .ui-state-hover a:hover,.ui-tabs .ui-tabs-nav .ui-state-hover a:visited,.ui-tabs .ui-tabs-nav .ui-state-active a,.ui-tabs .ui-tabs-nav .ui-state-active a:link,.ui-tabs .ui-tabs-nav .ui-state-active a:hover,.ui-tabs .ui-tabs-nav .ui-state-active a:visited{color:var(--color-main-text)}.ui-tabs .ui-tabs-nav .ui-state-active{font-weight:bold}.ui-autocomplete.ui-menu{padding:0}.ui-autocomplete.ui-menu.item-count-1,.ui-autocomplete.ui-menu.item-count-2{overflow-y:hidden}.ui-autocomplete.ui-menu .ui-menu-item a{color:var(--color-text-maxcontrast);display:block;padding:4px;padding-inline-start:14px}.ui-autocomplete.ui-menu .ui-menu-item a.ui-state-focus,.ui-autocomplete.ui-menu .ui-menu-item a.ui-state-active{box-shadow:inset 4px 0 var(--color-primary-element);color:var(--color-main-text)}.ui-autocomplete.ui-widget-content{background:var(--color-main-background);border-top:none}.ui-autocomplete.ui-corner-all{border-radius:0;border-end-start-radius:var(--border-radius);border-end-end-radius:var(--border-radius)}.ui-autocomplete .ui-state-hover,.ui-autocomplete .ui-widget-content .ui-state-hover,.ui-autocomplete .ui-widget-header .ui-state-hover,.ui-autocomplete .ui-state-focus,.ui-autocomplete .ui-widget-content .ui-state-focus,.ui-autocomplete .ui-widget-header .ui-state-focus{border:1px solid rgba(0,0,0,0);background:inherit;color:var(--color-primary-element)}.ui-autocomplete .ui-menu-item a{border-radius:0 !important}.ui-button.primary{background-color:var(--color-primary-element);color:var(--color-primary-element-text);border:1px solid var(--color-primary-element-text)}.ui-button:hover{font-weight:bold !important}.ui-draggable-handle,.ui-selectable{touch-action:pan-y}`, \"\",{\"version\":3,\"sources\":[\"webpack://./core/src/jquery/css/jquery-ui-fixes.scss\"],\"names\":[],\"mappings\":\"AAMA,mBACC,oCAAA,CACA,4CAAA,CACA,4BAAA,CAGD,qBACC,4BAAA,CAGD,kBACC,WAAA,CACA,4BAAA,CACA,qBAAA,CAGD,oBACC,4BAAA,CAKD,2FAGC,oCAAA,CACA,4CAAA,CACA,gBAAA,CACA,UAAA,CAGD,yEAGC,UAAA,CAGD,0KAMC,qBAAA,CACA,4CAAA,CACA,gBAAA,CACA,4BAAA,CAGD,2FAIC,4BAAA,CAGD,wFAGC,6CAAA,CACA,4CAAA,CACA,gBAAA,CACA,4BAAA,CAGD,sEAGC,4BAAA,CAKD,iGAGC,6CAAA,CACA,4CAAA,CACA,4BAAA,CACA,eAAA,CAGD,uGAGC,mCAAA,CAGD,qFAGC,yBAAA,CACA,kCAAA,CACA,UAAA,CAGD,2FAGC,UAAA,CAGD,oGAGC,UAAA,CAKD,2BACC,wDAAA,CAGD,kDAEC,wDAAA,CAGD,0BACC,wDAAA,CAGD,6BACC,wDAAA,CAGD,uDAEC,wDAAA,CAGD,sBACC,YAAA,CAMD,mBACC,sEAAA,CACA,UAAA,CAGD,kBACC,oBAAA,CACA,WAAA,CACA,wEAAA,CACA,UAAA,CACA,iBAAA,CAID,SACC,WAAA,CAEA,oCACC,yBAAA,CACA,uBAAA,CAGD,sBACC,eAAA,CACA,kBAAA,CAEA,wCACC,WAAA,CACA,qCAAA,CACA,kBAAA,CACA,mBAAA,CACA,oBAAA,CAGD,6EAEC,WAAA,CACA,8CAAA,CACA,4BAAA,CACA,0WACC,4BAAA,CAGF,uCACC,gBAAA,CAOF,yBACC,SAAA,CAIA,4EAEC,iBAAA,CAGD,yCACC,mCAAA,CACA,aAAA,CACA,WAAA,CACA,yBAAA,CAEA,iHACC,mDAAA,CACA,4BAAA,CAKH,mCACC,uCAAA,CACA,eAAA,CAGD,+BACC,eAAA,CACA,4CAAA,CACA,0CAAA,CAGD,gRAKC,8BAAA,CACA,kBAAA,CACA,kCAAA,CAIA,iCACC,0BAAA,CAKH,mBACC,6CAAA,CACA,uCAAA,CACA,kDAAA,CAID,iBACI,2BAAA,CAKJ,oCAEC,kBAAA\",\"sourcesContent\":[\"/**\\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/* Component containers\\n----------------------------------*/\\n.ui-widget-content {\\n\\tborder: 1px solid var(--color-border);\\n\\tbackground: var(--color-main-background) none;\\n\\tcolor: var(--color-main-text);\\n}\\n\\n.ui-widget-content a {\\n\\tcolor: var(--color-main-text);\\n}\\n\\n.ui-widget-header {\\n\\tborder: none;\\n\\tcolor: var(--color-main-text);\\n\\tbackground-image: none;\\n}\\n\\n.ui-widget-header a {\\n\\tcolor: var(--color-main-text);\\n}\\n\\n/* Interaction states\\n----------------------------------*/\\n.ui-state-default,\\n.ui-widget-content .ui-state-default,\\n.ui-widget-header .ui-state-default {\\n\\tborder: 1px solid var(--color-border);\\n\\tbackground: var(--color-main-background) none;\\n\\tfont-weight: bold;\\n\\tcolor: #555;\\n}\\n\\n.ui-state-default a,\\n.ui-state-default a:link,\\n.ui-state-default a:visited {\\n\\tcolor: #555;\\n}\\n\\n.ui-state-hover,\\n.ui-widget-content .ui-state-hover,\\n.ui-widget-header .ui-state-hover,\\n.ui-state-focus,\\n.ui-widget-content .ui-state-focus,\\n.ui-widget-header .ui-state-focus {\\n\\tborder: 1px solid #ddd;\\n\\tbackground: var(--color-main-background) none;\\n\\tfont-weight: bold;\\n\\tcolor: var(--color-main-text);\\n}\\n\\n.ui-state-hover a,\\n.ui-state-hover a:hover,\\n.ui-state-hover a:link,\\n.ui-state-hover a:visited {\\n\\tcolor: var(--color-main-text);\\n}\\n\\n.ui-state-active,\\n.ui-widget-content .ui-state-active,\\n.ui-widget-header .ui-state-active {\\n\\tborder: 1px solid var(--color-primary-element);\\n\\tbackground: var(--color-main-background) none;\\n\\tfont-weight: bold;\\n\\tcolor: var(--color-main-text);\\n}\\n\\n.ui-state-active a,\\n.ui-state-active a:link,\\n.ui-state-active a:visited {\\n\\tcolor: var(--color-main-text);\\n}\\n\\n/* Interaction Cues\\n----------------------------------*/\\n.ui-state-highlight,\\n.ui-widget-content .ui-state-highlight,\\n.ui-widget-header .ui-state-highlight {\\n\\tborder: 1px solid var(--color-main-background);\\n\\tbackground: var(--color-main-background) none;\\n\\tcolor: var(--color-main-text);\\n\\tfont-weight: 600;\\n}\\n\\n.ui-state-highlight a,\\n.ui-widget-content .ui-state-highlight a,\\n.ui-widget-header .ui-state-highlight a {\\n\\tcolor: var(--color-text-maxcontrast);\\n}\\n\\n.ui-state-error,\\n.ui-widget-content .ui-state-error,\\n.ui-widget-header .ui-state-error {\\n\\tborder: var(--color-error);\\n\\tbackground: var(--color-error) none;\\n\\tcolor: #ffffff;\\n}\\n\\n.ui-state-error a,\\n.ui-widget-content .ui-state-error a,\\n.ui-widget-header .ui-state-error a {\\n\\tcolor: #ffffff;\\n}\\n\\n.ui-state-error-text,\\n.ui-widget-content .ui-state-error-text,\\n.ui-widget-header .ui-state-error-text {\\n\\tcolor: #ffffff;\\n}\\n\\n/* Icons\\n----------------------------------*/\\n.ui-state-default .ui-icon {\\n\\tbackground-image: url('images/ui-icons_1d2d44_256x240.png');\\n}\\n\\n.ui-state-hover .ui-icon,\\n.ui-state-focus .ui-icon {\\n\\tbackground-image: url('images/ui-icons_1d2d44_256x240.png');\\n}\\n\\n.ui-state-active .ui-icon {\\n\\tbackground-image: url('images/ui-icons_1d2d44_256x240.png');\\n}\\n\\n.ui-state-highlight .ui-icon {\\n\\tbackground-image: url('images/ui-icons_ffffff_256x240.png');\\n}\\n\\n.ui-state-error .ui-icon,\\n.ui-state-error-text .ui-icon {\\n\\tbackground-image: url('images/ui-icons_ffd27a_256x240.png');\\n}\\n\\n.ui-icon.ui-icon-none {\\n\\tdisplay: none;\\n}\\n\\n/* Misc visuals\\n----------------------------------*/\\n/* Overlays */\\n.ui-widget-overlay {\\n\\tbackground: #666666 url('images/ui-bg_diagonals-thick_20_666666_40x40.png') 50% 50% repeat;\\n\\topacity: .5;\\n}\\n\\n.ui-widget-shadow {\\n\\tmargin: -5px 0 0 -5px;\\n\\tpadding: 5px;\\n\\tbackground: #000000 url('images/ui-bg_flat_10_000000_40x100.png') 50% 50% repeat-x;\\n\\topacity: .2;\\n\\tborder-radius: 5px;\\n}\\n\\n/* Tabs customizations */\\n.ui-tabs {\\n\\tborder: none;\\n\\n\\t.ui-tabs-nav.ui-corner-all {\\n\\t\\tborder-end-start-radius: 0;\\n\\t\\tborder-end-end-radius: 0;\\n\\t}\\n\\n\\t.ui-tabs-nav {\\n\\t\\tbackground: none;\\n\\t\\tmargin-bottom: 15px;\\n\\n\\t\\t.ui-state-default {\\n\\t\\t\\tborder: none;\\n\\t\\t\\tborder-bottom: 1px solid transparent;\\n\\t\\t\\tfont-weight: normal;\\n\\t\\t\\tmargin: 0 !important;\\n\\t\\t\\tpadding: 0 !important;\\n\\t\\t}\\n\\n\\t\\t.ui-state-hover,\\n\\t\\t.ui-state-active {\\n\\t\\t\\tborder: none;\\n\\t\\t\\tborder-bottom: 1px solid var(--color-main-text);\\n\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\ta, a:link, a:hover, a:visited {\\n\\t\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t.ui-state-active {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t}\\n\\t}\\n}\\n\\n/* Select menus */\\n.ui-autocomplete {\\n\\t&.ui-menu {\\n\\t\\tpadding: 0;\\n\\n\\t\\t/* scrolling starts from three items,\\n\\t\\t * so hide overflow and scrollbars for a clean layout */\\n\\t\\t&.item-count-1,\\n\\t\\t&.item-count-2 {\\n\\t\\t\\toverflow-y: hidden;\\n\\t\\t}\\n\\n\\t\\t.ui-menu-item a {\\n\\t\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\t\\tdisplay: block;\\n\\t\\t\\tpadding: 4px;\\n\\t\\t\\tpadding-inline-start: 14px;\\n\\n\\t\\t\\t&.ui-state-focus, &.ui-state-active {\\n\\t\\t\\t\\tbox-shadow: inset 4px 0 var(--color-primary-element);\\n\\t\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&.ui-widget-content {\\n\\t\\tbackground: var(--color-main-background);\\n\\t\\tborder-top: none;\\n\\t}\\n\\n\\t&.ui-corner-all {\\n\\t\\tborder-radius: 0;\\n\\t\\tborder-end-start-radius: var(--border-radius);\\n\\t\\tborder-end-end-radius: var(--border-radius);\\n\\t}\\n\\n\\t.ui-state-hover, .ui-widget-content .ui-state-hover,\\n\\t.ui-widget-header .ui-state-hover,\\n\\t.ui-state-focus,\\n\\t.ui-widget-content .ui-state-focus,\\n\\t.ui-widget-header .ui-state-focus {\\n\\t\\tborder: 1px solid transparent;\\n\\t\\tbackground: inherit;\\n\\t\\tcolor: var(--color-primary-element);\\n\\t}\\n\\n\\t.ui-menu-item {\\n\\t\\ta {\\n\\t\\t\\tborder-radius: 0 !important;\\n\\t\\t}\\n\\t}\\n}\\n\\n.ui-button.primary {\\n\\tbackground-color: var(--color-primary-element);\\n\\tcolor: var(--color-primary-element-text);\\n\\tborder: 1px solid var(--color-primary-element-text);\\n}\\n\\n// fix ui-buttons on hover\\n.ui-button:hover {\\n font-weight:bold !important;\\n}\\n\\n\\n/* DRAGGABLE */\\n.ui-draggable-handle,\\n.ui-selectable {\\n\\ttouch-action: pan-y;\\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, `.oc-dialog{background:var(--color-main-background);border-radius:var(--border-radius-large);box-shadow:0 0 30px var(--color-box-shadow);color:var(--color-main-text);padding:24px;z-index:100001;font-size:100%;box-sizing:border-box;min-width:200px;top:50%;inset-inline-start:50%;transform:translate(-50%, -50%);max-height:calc(100% - 20px);max-width:calc(100% - 20px);overflow:auto}.oc-dialog-title{background:var(--color-main-background)}.oc-dialog-buttonrow{position:relative;display:flex;background:rgba(0,0,0,0);inset-inline-end:0;bottom:0;padding:0;padding-top:10px;box-sizing:border-box;width:100%;background-image:linear-gradient(rgba(255, 255, 255, 0), var(--color-main-background))}.oc-dialog-buttonrow.twobuttons{justify-content:space-between}.oc-dialog-buttonrow.onebutton,.oc-dialog-buttonrow.twobuttons.aside{justify-content:flex-end}.oc-dialog-buttonrow button{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;height:44px;min-width:44px}.oc-dialog-close{position:absolute;width:44px !important;height:44px !important;top:4px;inset-inline-end:4px;padding:25px;background:var(--icon-close-dark) no-repeat center;opacity:.5;border-radius:var(--border-radius-pill)}.oc-dialog-close:hover,.oc-dialog-close:focus,.oc-dialog-close:active{opacity:1}.oc-dialog-dim{background-color:#000;opacity:.2;z-index:100001;position:fixed;top:0;inset-inline-start:0;width:100%;height:100%}body.theme--dark .oc-dialog-dim{opacity:.8}.oc-dialog-content{width:100%;max-width:550px}`, \"\",{\"version\":3,\"sources\":[\"webpack://./core/src/jquery/css/jquery.ocdialog.scss\"],\"names\":[],\"mappings\":\"AAIA,WACC,uCAAA,CACA,wCAAA,CACA,2CAAA,CACA,4BAAA,CACA,YAAA,CACA,cAAA,CACA,cAAA,CACA,qBAAA,CACA,eAAA,CACA,OAAA,CACA,sBAAA,CACA,+BAAA,CACA,4BAAA,CACA,2BAAA,CACA,aAAA,CAGD,iBACC,uCAAA,CAGD,qBACC,iBAAA,CACA,YAAA,CACA,wBAAA,CACA,kBAAA,CACA,QAAA,CACA,SAAA,CACA,gBAAA,CACA,qBAAA,CACA,UAAA,CACA,sFAAA,CAEA,gCACO,6BAAA,CAGP,qEAEC,wBAAA,CAGD,4BACI,kBAAA,CACA,eAAA,CACH,sBAAA,CACA,WAAA,CACA,cAAA,CAIF,iBACC,iBAAA,CACA,qBAAA,CACA,sBAAA,CACA,OAAA,CACA,oBAAA,CACA,YAAA,CACA,kDAAA,CACA,UAAA,CACA,uCAAA,CAEA,sEAGC,SAAA,CAIF,eACC,qBAAA,CACA,UAAA,CACA,cAAA,CACA,cAAA,CACA,KAAA,CACA,oBAAA,CACA,UAAA,CACA,WAAA,CAGD,gCACC,UAAA,CAGD,mBACC,UAAA,CACA,eAAA\",\"sourcesContent\":[\"/**\\n * SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n.oc-dialog {\\n\\tbackground: var(--color-main-background);\\n\\tborder-radius: var(--border-radius-large);\\n\\tbox-shadow: 0 0 30px var(--color-box-shadow);\\n\\tcolor: var(--color-main-text);\\n\\tpadding: 24px;\\n\\tz-index: 100001;\\n\\tfont-size: 100%;\\n\\tbox-sizing: border-box;\\n\\tmin-width: 200px;\\n\\ttop: 50%;\\n\\tinset-inline-start: 50%;\\n\\ttransform: translate(-50%, -50%);\\n\\tmax-height: calc(100% - 20px);\\n\\tmax-width: calc(100% - 20px);\\n\\toverflow: auto;\\n}\\n\\n.oc-dialog-title {\\n\\tbackground: var(--color-main-background);\\n}\\n\\n.oc-dialog-buttonrow {\\n\\tposition: relative;\\n\\tdisplay: flex;\\n\\tbackground: transparent;\\n\\tinset-inline-end: 0;\\n\\tbottom: 0;\\n\\tpadding: 0;\\n\\tpadding-top: 10px;\\n\\tbox-sizing: border-box;\\n\\twidth: 100%;\\n\\tbackground-image: linear-gradient(rgba(255, 255, 255, 0.0), var(--color-main-background));\\n\\n\\t&.twobuttons {\\n justify-content: space-between;\\n }\\n\\n\\t&.onebutton,\\n\\t&.twobuttons.aside {\\n\\t\\tjustify-content: flex-end;\\n\\t}\\n\\n\\tbutton {\\n\\t white-space: nowrap;\\n\\t overflow: hidden;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\theight: 44px;\\n\\t\\tmin-width: 44px;\\n\\t}\\n}\\n\\n.oc-dialog-close {\\n\\tposition: absolute;\\n\\twidth: 44px !important;\\n\\theight: 44px !important;\\n\\ttop: 4px;\\n\\tinset-inline-end: 4px;\\n\\tpadding: 25px;\\n\\tbackground: var(--icon-close-dark) no-repeat center;\\n\\topacity: .5;\\n\\tborder-radius: var(--border-radius-pill);\\n\\n\\t&:hover,\\n\\t&:focus,\\n\\t&:active {\\n\\t\\topacity: 1;\\n\\t}\\n}\\n\\n.oc-dialog-dim {\\n\\tbackground-color: #000;\\n\\topacity: .2;\\n\\tz-index: 100001;\\n\\tposition: fixed;\\n\\ttop: 0;\\n\\tinset-inline-start: 0;\\n\\twidth: 100%;\\n\\theight: 100%;\\n}\\n\\nbody.theme--dark .oc-dialog-dim {\\n\\topacity: .8;\\n}\\n\\n.oc-dialog-content {\\n\\twidth: 100%;\\n\\tmax-width: 550px;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"select2.png\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_1___ = new URL(\"select2-spinner.gif\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_2___ = new URL(\"select2x2.png\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___);\nvar ___CSS_LOADER_URL_REPLACEMENT_2___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_2___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*\nVersion: @@ver@@ Timestamp: @@timestamp@@\n*/\n.select2-container {\n margin: 0;\n position: relative;\n display: inline-block;\n /* inline-block for ie7 */\n zoom: 1;\n *display: inline;\n vertical-align: middle;\n}\n\n.select2-container,\n.select2-drop,\n.select2-search,\n.select2-search input {\n /*\n Force border-box so that % widths fit the parent\n container without overlap because of margin/padding.\n More Info : http://www.quirksmode.org/css/box.html\n */\n -webkit-box-sizing: border-box; /* webkit */\n -moz-box-sizing: border-box; /* firefox */\n box-sizing: border-box; /* css3 */\n}\n\n.select2-container .select2-choice {\n display: block;\n height: 26px;\n padding: 0 0 0 8px;\n overflow: hidden;\n position: relative;\n\n border: 1px solid #aaa;\n white-space: nowrap;\n line-height: 26px;\n color: #444;\n text-decoration: none;\n\n border-radius: 4px;\n\n background-clip: padding-box;\n\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n\n background-color: #fff;\n background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #eee), color-stop(0.5, #fff));\n background-image: -webkit-linear-gradient(center bottom, #eee 0%, #fff 50%);\n background-image: -moz-linear-gradient(center bottom, #eee 0%, #fff 50%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr = '#ffffff', endColorstr = '#eeeeee', GradientType = 0);\n background-image: linear-gradient(to top, #eee 0%, #fff 50%);\n}\n\nhtml[dir=\"rtl\"] .select2-container .select2-choice {\n padding: 0 8px 0 0;\n}\n\n.select2-container.select2-drop-above .select2-choice {\n border-bottom-color: #aaa;\n\n border-radius: 0 0 4px 4px;\n\n background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #eee), color-stop(0.9, #fff));\n background-image: -webkit-linear-gradient(center bottom, #eee 0%, #fff 90%);\n background-image: -moz-linear-gradient(center bottom, #eee 0%, #fff 90%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#eeeeee', GradientType=0);\n background-image: linear-gradient(to bottom, #eee 0%, #fff 90%);\n}\n\n.select2-container.select2-allowclear .select2-choice .select2-chosen {\n margin-right: 42px;\n}\n\n.select2-container .select2-choice > .select2-chosen {\n margin-right: 26px;\n display: block;\n overflow: hidden;\n\n white-space: nowrap;\n\n text-overflow: ellipsis;\n float: none;\n width: auto;\n}\n\nhtml[dir=\"rtl\"] .select2-container .select2-choice > .select2-chosen {\n margin-left: 26px;\n margin-right: 0;\n}\n\n.select2-container .select2-choice abbr {\n display: none;\n width: 12px;\n height: 12px;\n position: absolute;\n right: 24px;\n top: 8px;\n\n font-size: 1px;\n text-decoration: none;\n\n border: 0;\n background: url(${___CSS_LOADER_URL_REPLACEMENT_0___}) right top no-repeat;\n cursor: pointer;\n outline: 0;\n}\n\n.select2-container.select2-allowclear .select2-choice abbr {\n display: inline-block;\n}\n\n.select2-container .select2-choice abbr:hover {\n background-position: right -11px;\n cursor: pointer;\n}\n\n.select2-drop-mask {\n border: 0;\n margin: 0;\n padding: 0;\n position: fixed;\n left: 0;\n top: 0;\n min-height: 100%;\n min-width: 100%;\n height: auto;\n width: auto;\n opacity: 0;\n z-index: 9998;\n /* styles required for IE to work */\n background-color: #fff;\n filter: alpha(opacity=0);\n}\n\n.select2-drop {\n width: 100%;\n margin-top: -1px;\n position: absolute;\n z-index: 9999;\n top: 100%;\n\n background: #fff;\n color: #000;\n border: 1px solid #aaa;\n border-top: 0;\n\n border-radius: 0 0 4px 4px;\n\n -webkit-box-shadow: 0 4px 5px rgba(0, 0, 0, .15);\n box-shadow: 0 4px 5px rgba(0, 0, 0, .15);\n}\n\n.select2-drop.select2-drop-above {\n margin-top: 1px;\n border-top: 1px solid #aaa;\n border-bottom: 0;\n\n border-radius: 4px 4px 0 0;\n\n -webkit-box-shadow: 0 -4px 5px rgba(0, 0, 0, .15);\n box-shadow: 0 -4px 5px rgba(0, 0, 0, .15);\n}\n\n.select2-drop-active {\n border: 1px solid #5897fb;\n border-top: none;\n}\n\n.select2-drop.select2-drop-above.select2-drop-active {\n border-top: 1px solid #5897fb;\n}\n\n.select2-drop-auto-width {\n border-top: 1px solid #aaa;\n width: auto;\n}\n\n.select2-drop-auto-width .select2-search {\n padding-top: 4px;\n}\n\n.select2-container .select2-choice .select2-arrow {\n display: inline-block;\n width: 18px;\n height: 100%;\n position: absolute;\n right: 0;\n top: 0;\n\n border-left: 1px solid #aaa;\n border-radius: 0 4px 4px 0;\n\n background-clip: padding-box;\n\n background: #ccc;\n background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #ccc), color-stop(0.6, #eee));\n background-image: -webkit-linear-gradient(center bottom, #ccc 0%, #eee 60%);\n background-image: -moz-linear-gradient(center bottom, #ccc 0%, #eee 60%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr = '#eeeeee', endColorstr = '#cccccc', GradientType = 0);\n background-image: linear-gradient(to top, #ccc 0%, #eee 60%);\n}\n\nhtml[dir=\"rtl\"] .select2-container .select2-choice .select2-arrow {\n left: 0;\n right: auto;\n\n border-left: none;\n border-right: 1px solid #aaa;\n border-radius: 4px 0 0 4px;\n}\n\n.select2-container .select2-choice .select2-arrow b {\n display: block;\n width: 100%;\n height: 100%;\n background: url(${___CSS_LOADER_URL_REPLACEMENT_0___}) no-repeat 0 1px;\n}\n\nhtml[dir=\"rtl\"] .select2-container .select2-choice .select2-arrow b {\n background-position: 2px 1px;\n}\n\n.select2-search {\n display: inline-block;\n width: 100%;\n min-height: 26px;\n margin: 0;\n padding-left: 4px;\n padding-right: 4px;\n\n position: relative;\n z-index: 10000;\n\n white-space: nowrap;\n}\n\n.select2-search input {\n width: 100%;\n height: auto !important;\n min-height: 26px;\n padding: 4px 20px 4px 5px;\n margin: 0;\n\n outline: 0;\n font-family: sans-serif;\n font-size: 1em;\n\n border: 1px solid #aaa;\n border-radius: 0;\n\n -webkit-box-shadow: none;\n box-shadow: none;\n\n background: #fff url(${___CSS_LOADER_URL_REPLACEMENT_0___}) no-repeat 100% -22px;\n background: url(${___CSS_LOADER_URL_REPLACEMENT_0___}) no-repeat 100% -22px, -webkit-gradient(linear, left bottom, left top, color-stop(0.85, #fff), color-stop(0.99, #eee));\n background: url(${___CSS_LOADER_URL_REPLACEMENT_0___}) no-repeat 100% -22px, -webkit-linear-gradient(center bottom, #fff 85%, #eee 99%);\n background: url(${___CSS_LOADER_URL_REPLACEMENT_0___}) no-repeat 100% -22px, -moz-linear-gradient(center bottom, #fff 85%, #eee 99%);\n background: url(${___CSS_LOADER_URL_REPLACEMENT_0___}) no-repeat 100% -22px, linear-gradient(to bottom, #fff 85%, #eee 99%) 0 0;\n}\n\nhtml[dir=\"rtl\"] .select2-search input {\n padding: 4px 5px 4px 20px;\n\n background: #fff url(${___CSS_LOADER_URL_REPLACEMENT_0___}) no-repeat -37px -22px;\n background: url(${___CSS_LOADER_URL_REPLACEMENT_0___}) no-repeat -37px -22px, -webkit-gradient(linear, left bottom, left top, color-stop(0.85, #fff), color-stop(0.99, #eee));\n background: url(${___CSS_LOADER_URL_REPLACEMENT_0___}) no-repeat -37px -22px, -webkit-linear-gradient(center bottom, #fff 85%, #eee 99%);\n background: url(${___CSS_LOADER_URL_REPLACEMENT_0___}) no-repeat -37px -22px, -moz-linear-gradient(center bottom, #fff 85%, #eee 99%);\n background: url(${___CSS_LOADER_URL_REPLACEMENT_0___}) no-repeat -37px -22px, linear-gradient(to bottom, #fff 85%, #eee 99%) 0 0;\n}\n\n.select2-drop.select2-drop-above .select2-search input {\n margin-top: 4px;\n}\n\n.select2-search input.select2-active {\n background: #fff url(${___CSS_LOADER_URL_REPLACEMENT_1___}) no-repeat 100%;\n background: url(${___CSS_LOADER_URL_REPLACEMENT_1___}) no-repeat 100%, -webkit-gradient(linear, left bottom, left top, color-stop(0.85, #fff), color-stop(0.99, #eee));\n background: url(${___CSS_LOADER_URL_REPLACEMENT_1___}) no-repeat 100%, -webkit-linear-gradient(center bottom, #fff 85%, #eee 99%);\n background: url(${___CSS_LOADER_URL_REPLACEMENT_1___}) no-repeat 100%, -moz-linear-gradient(center bottom, #fff 85%, #eee 99%);\n background: url(${___CSS_LOADER_URL_REPLACEMENT_1___}) no-repeat 100%, linear-gradient(to bottom, #fff 85%, #eee 99%) 0 0;\n}\n\n.select2-container-active .select2-choice,\n.select2-container-active .select2-choices {\n border: 1px solid #5897fb;\n outline: none;\n\n -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, .3);\n box-shadow: 0 0 5px rgba(0, 0, 0, .3);\n}\n\n.select2-dropdown-open .select2-choice {\n border-bottom-color: transparent;\n -webkit-box-shadow: 0 1px 0 #fff inset;\n box-shadow: 0 1px 0 #fff inset;\n\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n\n background-color: #eee;\n background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #fff), color-stop(0.5, #eee));\n background-image: -webkit-linear-gradient(center bottom, #fff 0%, #eee 50%);\n background-image: -moz-linear-gradient(center bottom, #fff 0%, #eee 50%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#ffffff', GradientType=0);\n background-image: linear-gradient(to top, #fff 0%, #eee 50%);\n}\n\n.select2-dropdown-open.select2-drop-above .select2-choice,\n.select2-dropdown-open.select2-drop-above .select2-choices {\n border: 1px solid #5897fb;\n border-top-color: transparent;\n\n background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff), color-stop(0.5, #eee));\n background-image: -webkit-linear-gradient(center top, #fff 0%, #eee 50%);\n background-image: -moz-linear-gradient(center top, #fff 0%, #eee 50%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#ffffff', GradientType=0);\n background-image: linear-gradient(to bottom, #fff 0%, #eee 50%);\n}\n\n.select2-dropdown-open .select2-choice .select2-arrow {\n background: transparent;\n border-left: none;\n filter: none;\n}\nhtml[dir=\"rtl\"] .select2-dropdown-open .select2-choice .select2-arrow {\n border-right: none;\n}\n\n.select2-dropdown-open .select2-choice .select2-arrow b {\n background-position: -18px 1px;\n}\n\nhtml[dir=\"rtl\"] .select2-dropdown-open .select2-choice .select2-arrow b {\n background-position: -16px 1px;\n}\n\n.select2-hidden-accessible {\n border: 0;\n clip: rect(0 0 0 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n width: 1px;\n}\n\n/* results */\n.select2-results {\n max-height: 200px;\n padding: 0 0 0 4px;\n margin: 4px 4px 4px 0;\n position: relative;\n overflow-x: hidden;\n overflow-y: auto;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\nhtml[dir=\"rtl\"] .select2-results {\n padding: 0 4px 0 0;\n margin: 4px 0 4px 4px;\n}\n\n.select2-results ul.select2-result-sub {\n margin: 0;\n padding-left: 0;\n}\n\n.select2-results li {\n list-style: none;\n display: list-item;\n background-image: none;\n}\n\n.select2-results li.select2-result-with-children > .select2-result-label {\n font-weight: bold;\n}\n\n.select2-results .select2-result-label {\n padding: 3px 7px 4px;\n margin: 0;\n cursor: pointer;\n\n min-height: 1em;\n\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n.select2-results-dept-1 .select2-result-label { padding-left: 20px }\n.select2-results-dept-2 .select2-result-label { padding-left: 40px }\n.select2-results-dept-3 .select2-result-label { padding-left: 60px }\n.select2-results-dept-4 .select2-result-label { padding-left: 80px }\n.select2-results-dept-5 .select2-result-label { padding-left: 100px }\n.select2-results-dept-6 .select2-result-label { padding-left: 110px }\n.select2-results-dept-7 .select2-result-label { padding-left: 120px }\n\n.select2-results .select2-highlighted {\n background: #3875d7;\n color: #fff;\n}\n\n.select2-results li em {\n background: #feffde;\n font-style: normal;\n}\n\n.select2-results .select2-highlighted em {\n background: transparent;\n}\n\n.select2-results .select2-highlighted ul {\n background: #fff;\n color: #000;\n}\n\n.select2-results .select2-no-results,\n.select2-results .select2-searching,\n.select2-results .select2-ajax-error,\n.select2-results .select2-selection-limit {\n background: #f4f4f4;\n display: list-item;\n padding-left: 5px;\n}\n\n/*\ndisabled look for disabled choices in the results dropdown\n*/\n.select2-results .select2-disabled.select2-highlighted {\n color: #666;\n background: #f4f4f4;\n display: list-item;\n cursor: default;\n}\n.select2-results .select2-disabled {\n background: #f4f4f4;\n display: list-item;\n cursor: default;\n}\n\n.select2-results .select2-selected {\n display: none;\n}\n\n.select2-more-results.select2-active {\n background: #f4f4f4 url(${___CSS_LOADER_URL_REPLACEMENT_1___}) no-repeat 100%;\n}\n\n.select2-results .select2-ajax-error {\n background: rgba(255, 50, 50, .2);\n}\n\n.select2-more-results {\n background: #f4f4f4;\n display: list-item;\n}\n\n/* disabled styles */\n\n.select2-container.select2-container-disabled .select2-choice {\n background-color: #f4f4f4;\n background-image: none;\n border: 1px solid #ddd;\n cursor: default;\n}\n\n.select2-container.select2-container-disabled .select2-choice .select2-arrow {\n background-color: #f4f4f4;\n background-image: none;\n border-left: 0;\n}\n\n.select2-container.select2-container-disabled .select2-choice abbr {\n display: none;\n}\n\n\n/* multiselect */\n\n.select2-container-multi .select2-choices {\n height: auto !important;\n height: 1%;\n margin: 0;\n padding: 0 5px 0 0;\n position: relative;\n\n border: 1px solid #aaa;\n cursor: text;\n overflow: hidden;\n\n background-color: #fff;\n background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(1%, #eee), color-stop(15%, #fff));\n background-image: -webkit-linear-gradient(top, #eee 1%, #fff 15%);\n background-image: -moz-linear-gradient(top, #eee 1%, #fff 15%);\n background-image: linear-gradient(to bottom, #eee 1%, #fff 15%);\n}\n\nhtml[dir=\"rtl\"] .select2-container-multi .select2-choices {\n padding: 0 0 0 5px;\n}\n\n.select2-locked {\n padding: 3px 5px 3px 5px !important;\n}\n\n.select2-container-multi .select2-choices {\n min-height: 26px;\n}\n\n.select2-container-multi.select2-container-active .select2-choices {\n border: 1px solid #5897fb;\n outline: none;\n\n -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, .3);\n box-shadow: 0 0 5px rgba(0, 0, 0, .3);\n}\n.select2-container-multi .select2-choices li {\n float: left;\n list-style: none;\n}\nhtml[dir=\"rtl\"] .select2-container-multi .select2-choices li\n{\n float: right;\n}\n.select2-container-multi .select2-choices .select2-search-field {\n margin: 0;\n padding: 0;\n white-space: nowrap;\n}\n\n.select2-container-multi .select2-choices .select2-search-field input {\n padding: 5px;\n margin: 1px 0;\n\n font-family: sans-serif;\n font-size: 100%;\n color: #666;\n outline: 0;\n border: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n background: transparent !important;\n}\n\n.select2-container-multi .select2-choices .select2-search-field input.select2-active {\n background: #fff url(${___CSS_LOADER_URL_REPLACEMENT_1___}) no-repeat 100% !important;\n}\n\n.select2-default {\n color: #999 !important;\n}\n\n.select2-container-multi .select2-choices .select2-search-choice {\n padding: 3px 5px 3px 18px;\n margin: 3px 0 3px 5px;\n position: relative;\n\n line-height: 13px;\n color: #333;\n cursor: default;\n border: 1px solid #aaaaaa;\n\n border-radius: 3px;\n\n -webkit-box-shadow: 0 0 2px #fff inset, 0 1px 0 rgba(0, 0, 0, 0.05);\n box-shadow: 0 0 2px #fff inset, 0 1px 0 rgba(0, 0, 0, 0.05);\n\n background-clip: padding-box;\n\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n\n background-color: #e4e4e4;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#f4f4f4', GradientType=0);\n background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(20%, #f4f4f4), color-stop(50%, #f0f0f0), color-stop(52%, #e8e8e8), color-stop(100%, #eee));\n background-image: -webkit-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%);\n background-image: -moz-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%);\n background-image: linear-gradient(to bottom, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%);\n}\nhtml[dir=\"rtl\"] .select2-container-multi .select2-choices .select2-search-choice\n{\n margin: 3px 5px 3px 0;\n padding: 3px 18px 3px 5px;\n}\n.select2-container-multi .select2-choices .select2-search-choice .select2-chosen {\n cursor: default;\n}\n.select2-container-multi .select2-choices .select2-search-choice-focus {\n background: #d4d4d4;\n}\n\n.select2-search-choice-close {\n display: block;\n width: 12px;\n height: 13px;\n position: absolute;\n right: 3px;\n top: 4px;\n\n font-size: 1px;\n outline: none;\n background: url(${___CSS_LOADER_URL_REPLACEMENT_0___}) right top no-repeat;\n}\nhtml[dir=\"rtl\"] .select2-search-choice-close {\n right: auto;\n left: 3px;\n}\n\n.select2-container-multi .select2-search-choice-close {\n left: 3px;\n}\n\nhtml[dir=\"rtl\"] .select2-container-multi .select2-search-choice-close {\n left: auto;\n right: 2px;\n}\n\n.select2-container-multi .select2-choices .select2-search-choice .select2-search-choice-close:hover {\n background-position: right -11px;\n}\n.select2-container-multi .select2-choices .select2-search-choice-focus .select2-search-choice-close {\n background-position: right -11px;\n}\n\n/* disabled styles */\n.select2-container-multi.select2-container-disabled .select2-choices {\n background-color: #f4f4f4;\n background-image: none;\n border: 1px solid #ddd;\n cursor: default;\n}\n\n.select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice {\n padding: 3px 5px 3px 5px;\n border: 1px solid #ddd;\n background-image: none;\n background-color: #f4f4f4;\n}\n\n.select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice .select2-search-choice-close { display: none;\n background: none;\n}\n/* end multiselect */\n\n\n.select2-result-selectable .select2-match,\n.select2-result-unselectable .select2-match {\n text-decoration: underline;\n}\n\n.select2-offscreen, .select2-offscreen:focus {\n clip: rect(0 0 0 0) !important;\n width: 1px !important;\n height: 1px !important;\n border: 0 !important;\n margin: 0 !important;\n padding: 0 !important;\n overflow: hidden !important;\n position: absolute !important;\n outline: 0 !important;\n left: 0px !important;\n top: 0px !important;\n}\n\n.select2-display-none {\n display: none;\n}\n\n.select2-measure-scrollbar {\n position: absolute;\n top: -10000px;\n left: -10000px;\n width: 100px;\n height: 100px;\n overflow: scroll;\n}\n\n/* Retina-ize icons */\n\n@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-resolution: 2dppx) {\n .select2-search input,\n .select2-search-choice-close,\n .select2-container .select2-choice abbr,\n .select2-container .select2-choice .select2-arrow b {\n background-image: url(${___CSS_LOADER_URL_REPLACEMENT_2___}) !important;\n background-repeat: no-repeat !important;\n background-size: 60px 40px !important;\n }\n\n .select2-search input {\n background-position: 100% -21px !important;\n }\n}\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/select2/select2.css\"],\"names\":[],\"mappings\":\"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\",\"sourcesContent\":[\"/*\\nVersion: @@ver@@ Timestamp: @@timestamp@@\\n*/\\n.select2-container {\\n margin: 0;\\n position: relative;\\n display: inline-block;\\n /* inline-block for ie7 */\\n zoom: 1;\\n *display: inline;\\n vertical-align: middle;\\n}\\n\\n.select2-container,\\n.select2-drop,\\n.select2-search,\\n.select2-search input {\\n /*\\n Force border-box so that % widths fit the parent\\n container without overlap because of margin/padding.\\n More Info : http://www.quirksmode.org/css/box.html\\n */\\n -webkit-box-sizing: border-box; /* webkit */\\n -moz-box-sizing: border-box; /* firefox */\\n box-sizing: border-box; /* css3 */\\n}\\n\\n.select2-container .select2-choice {\\n display: block;\\n height: 26px;\\n padding: 0 0 0 8px;\\n overflow: hidden;\\n position: relative;\\n\\n border: 1px solid #aaa;\\n white-space: nowrap;\\n line-height: 26px;\\n color: #444;\\n text-decoration: none;\\n\\n border-radius: 4px;\\n\\n background-clip: padding-box;\\n\\n -webkit-touch-callout: none;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n\\n background-color: #fff;\\n background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #eee), color-stop(0.5, #fff));\\n background-image: -webkit-linear-gradient(center bottom, #eee 0%, #fff 50%);\\n background-image: -moz-linear-gradient(center bottom, #eee 0%, #fff 50%);\\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr = '#ffffff', endColorstr = '#eeeeee', GradientType = 0);\\n background-image: linear-gradient(to top, #eee 0%, #fff 50%);\\n}\\n\\nhtml[dir=\\\"rtl\\\"] .select2-container .select2-choice {\\n padding: 0 8px 0 0;\\n}\\n\\n.select2-container.select2-drop-above .select2-choice {\\n border-bottom-color: #aaa;\\n\\n border-radius: 0 0 4px 4px;\\n\\n background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #eee), color-stop(0.9, #fff));\\n background-image: -webkit-linear-gradient(center bottom, #eee 0%, #fff 90%);\\n background-image: -moz-linear-gradient(center bottom, #eee 0%, #fff 90%);\\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#eeeeee', GradientType=0);\\n background-image: linear-gradient(to bottom, #eee 0%, #fff 90%);\\n}\\n\\n.select2-container.select2-allowclear .select2-choice .select2-chosen {\\n margin-right: 42px;\\n}\\n\\n.select2-container .select2-choice > .select2-chosen {\\n margin-right: 26px;\\n display: block;\\n overflow: hidden;\\n\\n white-space: nowrap;\\n\\n text-overflow: ellipsis;\\n float: none;\\n width: auto;\\n}\\n\\nhtml[dir=\\\"rtl\\\"] .select2-container .select2-choice > .select2-chosen {\\n margin-left: 26px;\\n margin-right: 0;\\n}\\n\\n.select2-container .select2-choice abbr {\\n display: none;\\n width: 12px;\\n height: 12px;\\n position: absolute;\\n right: 24px;\\n top: 8px;\\n\\n font-size: 1px;\\n text-decoration: none;\\n\\n border: 0;\\n background: url('select2.png') right top no-repeat;\\n cursor: pointer;\\n outline: 0;\\n}\\n\\n.select2-container.select2-allowclear .select2-choice abbr {\\n display: inline-block;\\n}\\n\\n.select2-container .select2-choice abbr:hover {\\n background-position: right -11px;\\n cursor: pointer;\\n}\\n\\n.select2-drop-mask {\\n border: 0;\\n margin: 0;\\n padding: 0;\\n position: fixed;\\n left: 0;\\n top: 0;\\n min-height: 100%;\\n min-width: 100%;\\n height: auto;\\n width: auto;\\n opacity: 0;\\n z-index: 9998;\\n /* styles required for IE to work */\\n background-color: #fff;\\n filter: alpha(opacity=0);\\n}\\n\\n.select2-drop {\\n width: 100%;\\n margin-top: -1px;\\n position: absolute;\\n z-index: 9999;\\n top: 100%;\\n\\n background: #fff;\\n color: #000;\\n border: 1px solid #aaa;\\n border-top: 0;\\n\\n border-radius: 0 0 4px 4px;\\n\\n -webkit-box-shadow: 0 4px 5px rgba(0, 0, 0, .15);\\n box-shadow: 0 4px 5px rgba(0, 0, 0, .15);\\n}\\n\\n.select2-drop.select2-drop-above {\\n margin-top: 1px;\\n border-top: 1px solid #aaa;\\n border-bottom: 0;\\n\\n border-radius: 4px 4px 0 0;\\n\\n -webkit-box-shadow: 0 -4px 5px rgba(0, 0, 0, .15);\\n box-shadow: 0 -4px 5px rgba(0, 0, 0, .15);\\n}\\n\\n.select2-drop-active {\\n border: 1px solid #5897fb;\\n border-top: none;\\n}\\n\\n.select2-drop.select2-drop-above.select2-drop-active {\\n border-top: 1px solid #5897fb;\\n}\\n\\n.select2-drop-auto-width {\\n border-top: 1px solid #aaa;\\n width: auto;\\n}\\n\\n.select2-drop-auto-width .select2-search {\\n padding-top: 4px;\\n}\\n\\n.select2-container .select2-choice .select2-arrow {\\n display: inline-block;\\n width: 18px;\\n height: 100%;\\n position: absolute;\\n right: 0;\\n top: 0;\\n\\n border-left: 1px solid #aaa;\\n border-radius: 0 4px 4px 0;\\n\\n background-clip: padding-box;\\n\\n background: #ccc;\\n background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #ccc), color-stop(0.6, #eee));\\n background-image: -webkit-linear-gradient(center bottom, #ccc 0%, #eee 60%);\\n background-image: -moz-linear-gradient(center bottom, #ccc 0%, #eee 60%);\\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr = '#eeeeee', endColorstr = '#cccccc', GradientType = 0);\\n background-image: linear-gradient(to top, #ccc 0%, #eee 60%);\\n}\\n\\nhtml[dir=\\\"rtl\\\"] .select2-container .select2-choice .select2-arrow {\\n left: 0;\\n right: auto;\\n\\n border-left: none;\\n border-right: 1px solid #aaa;\\n border-radius: 4px 0 0 4px;\\n}\\n\\n.select2-container .select2-choice .select2-arrow b {\\n display: block;\\n width: 100%;\\n height: 100%;\\n background: url('select2.png') no-repeat 0 1px;\\n}\\n\\nhtml[dir=\\\"rtl\\\"] .select2-container .select2-choice .select2-arrow b {\\n background-position: 2px 1px;\\n}\\n\\n.select2-search {\\n display: inline-block;\\n width: 100%;\\n min-height: 26px;\\n margin: 0;\\n padding-left: 4px;\\n padding-right: 4px;\\n\\n position: relative;\\n z-index: 10000;\\n\\n white-space: nowrap;\\n}\\n\\n.select2-search input {\\n width: 100%;\\n height: auto !important;\\n min-height: 26px;\\n padding: 4px 20px 4px 5px;\\n margin: 0;\\n\\n outline: 0;\\n font-family: sans-serif;\\n font-size: 1em;\\n\\n border: 1px solid #aaa;\\n border-radius: 0;\\n\\n -webkit-box-shadow: none;\\n box-shadow: none;\\n\\n background: #fff url('select2.png') no-repeat 100% -22px;\\n background: url('select2.png') no-repeat 100% -22px, -webkit-gradient(linear, left bottom, left top, color-stop(0.85, #fff), color-stop(0.99, #eee));\\n background: url('select2.png') no-repeat 100% -22px, -webkit-linear-gradient(center bottom, #fff 85%, #eee 99%);\\n background: url('select2.png') no-repeat 100% -22px, -moz-linear-gradient(center bottom, #fff 85%, #eee 99%);\\n background: url('select2.png') no-repeat 100% -22px, linear-gradient(to bottom, #fff 85%, #eee 99%) 0 0;\\n}\\n\\nhtml[dir=\\\"rtl\\\"] .select2-search input {\\n padding: 4px 5px 4px 20px;\\n\\n background: #fff url('select2.png') no-repeat -37px -22px;\\n background: url('select2.png') no-repeat -37px -22px, -webkit-gradient(linear, left bottom, left top, color-stop(0.85, #fff), color-stop(0.99, #eee));\\n background: url('select2.png') no-repeat -37px -22px, -webkit-linear-gradient(center bottom, #fff 85%, #eee 99%);\\n background: url('select2.png') no-repeat -37px -22px, -moz-linear-gradient(center bottom, #fff 85%, #eee 99%);\\n background: url('select2.png') no-repeat -37px -22px, linear-gradient(to bottom, #fff 85%, #eee 99%) 0 0;\\n}\\n\\n.select2-drop.select2-drop-above .select2-search input {\\n margin-top: 4px;\\n}\\n\\n.select2-search input.select2-active {\\n background: #fff url('select2-spinner.gif') no-repeat 100%;\\n background: url('select2-spinner.gif') no-repeat 100%, -webkit-gradient(linear, left bottom, left top, color-stop(0.85, #fff), color-stop(0.99, #eee));\\n background: url('select2-spinner.gif') no-repeat 100%, -webkit-linear-gradient(center bottom, #fff 85%, #eee 99%);\\n background: url('select2-spinner.gif') no-repeat 100%, -moz-linear-gradient(center bottom, #fff 85%, #eee 99%);\\n background: url('select2-spinner.gif') no-repeat 100%, linear-gradient(to bottom, #fff 85%, #eee 99%) 0 0;\\n}\\n\\n.select2-container-active .select2-choice,\\n.select2-container-active .select2-choices {\\n border: 1px solid #5897fb;\\n outline: none;\\n\\n -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, .3);\\n box-shadow: 0 0 5px rgba(0, 0, 0, .3);\\n}\\n\\n.select2-dropdown-open .select2-choice {\\n border-bottom-color: transparent;\\n -webkit-box-shadow: 0 1px 0 #fff inset;\\n box-shadow: 0 1px 0 #fff inset;\\n\\n border-bottom-left-radius: 0;\\n border-bottom-right-radius: 0;\\n\\n background-color: #eee;\\n background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #fff), color-stop(0.5, #eee));\\n background-image: -webkit-linear-gradient(center bottom, #fff 0%, #eee 50%);\\n background-image: -moz-linear-gradient(center bottom, #fff 0%, #eee 50%);\\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#ffffff', GradientType=0);\\n background-image: linear-gradient(to top, #fff 0%, #eee 50%);\\n}\\n\\n.select2-dropdown-open.select2-drop-above .select2-choice,\\n.select2-dropdown-open.select2-drop-above .select2-choices {\\n border: 1px solid #5897fb;\\n border-top-color: transparent;\\n\\n background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff), color-stop(0.5, #eee));\\n background-image: -webkit-linear-gradient(center top, #fff 0%, #eee 50%);\\n background-image: -moz-linear-gradient(center top, #fff 0%, #eee 50%);\\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#ffffff', GradientType=0);\\n background-image: linear-gradient(to bottom, #fff 0%, #eee 50%);\\n}\\n\\n.select2-dropdown-open .select2-choice .select2-arrow {\\n background: transparent;\\n border-left: none;\\n filter: none;\\n}\\nhtml[dir=\\\"rtl\\\"] .select2-dropdown-open .select2-choice .select2-arrow {\\n border-right: none;\\n}\\n\\n.select2-dropdown-open .select2-choice .select2-arrow b {\\n background-position: -18px 1px;\\n}\\n\\nhtml[dir=\\\"rtl\\\"] .select2-dropdown-open .select2-choice .select2-arrow b {\\n background-position: -16px 1px;\\n}\\n\\n.select2-hidden-accessible {\\n border: 0;\\n clip: rect(0 0 0 0);\\n height: 1px;\\n margin: -1px;\\n overflow: hidden;\\n padding: 0;\\n position: absolute;\\n width: 1px;\\n}\\n\\n/* results */\\n.select2-results {\\n max-height: 200px;\\n padding: 0 0 0 4px;\\n margin: 4px 4px 4px 0;\\n position: relative;\\n overflow-x: hidden;\\n overflow-y: auto;\\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\\n}\\n\\nhtml[dir=\\\"rtl\\\"] .select2-results {\\n padding: 0 4px 0 0;\\n margin: 4px 0 4px 4px;\\n}\\n\\n.select2-results ul.select2-result-sub {\\n margin: 0;\\n padding-left: 0;\\n}\\n\\n.select2-results li {\\n list-style: none;\\n display: list-item;\\n background-image: none;\\n}\\n\\n.select2-results li.select2-result-with-children > .select2-result-label {\\n font-weight: bold;\\n}\\n\\n.select2-results .select2-result-label {\\n padding: 3px 7px 4px;\\n margin: 0;\\n cursor: pointer;\\n\\n min-height: 1em;\\n\\n -webkit-touch-callout: none;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n}\\n\\n.select2-results-dept-1 .select2-result-label { padding-left: 20px }\\n.select2-results-dept-2 .select2-result-label { padding-left: 40px }\\n.select2-results-dept-3 .select2-result-label { padding-left: 60px }\\n.select2-results-dept-4 .select2-result-label { padding-left: 80px }\\n.select2-results-dept-5 .select2-result-label { padding-left: 100px }\\n.select2-results-dept-6 .select2-result-label { padding-left: 110px }\\n.select2-results-dept-7 .select2-result-label { padding-left: 120px }\\n\\n.select2-results .select2-highlighted {\\n background: #3875d7;\\n color: #fff;\\n}\\n\\n.select2-results li em {\\n background: #feffde;\\n font-style: normal;\\n}\\n\\n.select2-results .select2-highlighted em {\\n background: transparent;\\n}\\n\\n.select2-results .select2-highlighted ul {\\n background: #fff;\\n color: #000;\\n}\\n\\n.select2-results .select2-no-results,\\n.select2-results .select2-searching,\\n.select2-results .select2-ajax-error,\\n.select2-results .select2-selection-limit {\\n background: #f4f4f4;\\n display: list-item;\\n padding-left: 5px;\\n}\\n\\n/*\\ndisabled look for disabled choices in the results dropdown\\n*/\\n.select2-results .select2-disabled.select2-highlighted {\\n color: #666;\\n background: #f4f4f4;\\n display: list-item;\\n cursor: default;\\n}\\n.select2-results .select2-disabled {\\n background: #f4f4f4;\\n display: list-item;\\n cursor: default;\\n}\\n\\n.select2-results .select2-selected {\\n display: none;\\n}\\n\\n.select2-more-results.select2-active {\\n background: #f4f4f4 url('select2-spinner.gif') no-repeat 100%;\\n}\\n\\n.select2-results .select2-ajax-error {\\n background: rgba(255, 50, 50, .2);\\n}\\n\\n.select2-more-results {\\n background: #f4f4f4;\\n display: list-item;\\n}\\n\\n/* disabled styles */\\n\\n.select2-container.select2-container-disabled .select2-choice {\\n background-color: #f4f4f4;\\n background-image: none;\\n border: 1px solid #ddd;\\n cursor: default;\\n}\\n\\n.select2-container.select2-container-disabled .select2-choice .select2-arrow {\\n background-color: #f4f4f4;\\n background-image: none;\\n border-left: 0;\\n}\\n\\n.select2-container.select2-container-disabled .select2-choice abbr {\\n display: none;\\n}\\n\\n\\n/* multiselect */\\n\\n.select2-container-multi .select2-choices {\\n height: auto !important;\\n height: 1%;\\n margin: 0;\\n padding: 0 5px 0 0;\\n position: relative;\\n\\n border: 1px solid #aaa;\\n cursor: text;\\n overflow: hidden;\\n\\n background-color: #fff;\\n background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(1%, #eee), color-stop(15%, #fff));\\n background-image: -webkit-linear-gradient(top, #eee 1%, #fff 15%);\\n background-image: -moz-linear-gradient(top, #eee 1%, #fff 15%);\\n background-image: linear-gradient(to bottom, #eee 1%, #fff 15%);\\n}\\n\\nhtml[dir=\\\"rtl\\\"] .select2-container-multi .select2-choices {\\n padding: 0 0 0 5px;\\n}\\n\\n.select2-locked {\\n padding: 3px 5px 3px 5px !important;\\n}\\n\\n.select2-container-multi .select2-choices {\\n min-height: 26px;\\n}\\n\\n.select2-container-multi.select2-container-active .select2-choices {\\n border: 1px solid #5897fb;\\n outline: none;\\n\\n -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, .3);\\n box-shadow: 0 0 5px rgba(0, 0, 0, .3);\\n}\\n.select2-container-multi .select2-choices li {\\n float: left;\\n list-style: none;\\n}\\nhtml[dir=\\\"rtl\\\"] .select2-container-multi .select2-choices li\\n{\\n float: right;\\n}\\n.select2-container-multi .select2-choices .select2-search-field {\\n margin: 0;\\n padding: 0;\\n white-space: nowrap;\\n}\\n\\n.select2-container-multi .select2-choices .select2-search-field input {\\n padding: 5px;\\n margin: 1px 0;\\n\\n font-family: sans-serif;\\n font-size: 100%;\\n color: #666;\\n outline: 0;\\n border: 0;\\n -webkit-box-shadow: none;\\n box-shadow: none;\\n background: transparent !important;\\n}\\n\\n.select2-container-multi .select2-choices .select2-search-field input.select2-active {\\n background: #fff url('select2-spinner.gif') no-repeat 100% !important;\\n}\\n\\n.select2-default {\\n color: #999 !important;\\n}\\n\\n.select2-container-multi .select2-choices .select2-search-choice {\\n padding: 3px 5px 3px 18px;\\n margin: 3px 0 3px 5px;\\n position: relative;\\n\\n line-height: 13px;\\n color: #333;\\n cursor: default;\\n border: 1px solid #aaaaaa;\\n\\n border-radius: 3px;\\n\\n -webkit-box-shadow: 0 0 2px #fff inset, 0 1px 0 rgba(0, 0, 0, 0.05);\\n box-shadow: 0 0 2px #fff inset, 0 1px 0 rgba(0, 0, 0, 0.05);\\n\\n background-clip: padding-box;\\n\\n -webkit-touch-callout: none;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n\\n background-color: #e4e4e4;\\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#f4f4f4', GradientType=0);\\n background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(20%, #f4f4f4), color-stop(50%, #f0f0f0), color-stop(52%, #e8e8e8), color-stop(100%, #eee));\\n background-image: -webkit-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%);\\n background-image: -moz-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%);\\n background-image: linear-gradient(to bottom, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%);\\n}\\nhtml[dir=\\\"rtl\\\"] .select2-container-multi .select2-choices .select2-search-choice\\n{\\n margin: 3px 5px 3px 0;\\n padding: 3px 18px 3px 5px;\\n}\\n.select2-container-multi .select2-choices .select2-search-choice .select2-chosen {\\n cursor: default;\\n}\\n.select2-container-multi .select2-choices .select2-search-choice-focus {\\n background: #d4d4d4;\\n}\\n\\n.select2-search-choice-close {\\n display: block;\\n width: 12px;\\n height: 13px;\\n position: absolute;\\n right: 3px;\\n top: 4px;\\n\\n font-size: 1px;\\n outline: none;\\n background: url('select2.png') right top no-repeat;\\n}\\nhtml[dir=\\\"rtl\\\"] .select2-search-choice-close {\\n right: auto;\\n left: 3px;\\n}\\n\\n.select2-container-multi .select2-search-choice-close {\\n left: 3px;\\n}\\n\\nhtml[dir=\\\"rtl\\\"] .select2-container-multi .select2-search-choice-close {\\n left: auto;\\n right: 2px;\\n}\\n\\n.select2-container-multi .select2-choices .select2-search-choice .select2-search-choice-close:hover {\\n background-position: right -11px;\\n}\\n.select2-container-multi .select2-choices .select2-search-choice-focus .select2-search-choice-close {\\n background-position: right -11px;\\n}\\n\\n/* disabled styles */\\n.select2-container-multi.select2-container-disabled .select2-choices {\\n background-color: #f4f4f4;\\n background-image: none;\\n border: 1px solid #ddd;\\n cursor: default;\\n}\\n\\n.select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice {\\n padding: 3px 5px 3px 5px;\\n border: 1px solid #ddd;\\n background-image: none;\\n background-color: #f4f4f4;\\n}\\n\\n.select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice .select2-search-choice-close { display: none;\\n background: none;\\n}\\n/* end multiselect */\\n\\n\\n.select2-result-selectable .select2-match,\\n.select2-result-unselectable .select2-match {\\n text-decoration: underline;\\n}\\n\\n.select2-offscreen, .select2-offscreen:focus {\\n clip: rect(0 0 0 0) !important;\\n width: 1px !important;\\n height: 1px !important;\\n border: 0 !important;\\n margin: 0 !important;\\n padding: 0 !important;\\n overflow: hidden !important;\\n position: absolute !important;\\n outline: 0 !important;\\n left: 0px !important;\\n top: 0px !important;\\n}\\n\\n.select2-display-none {\\n display: none;\\n}\\n\\n.select2-measure-scrollbar {\\n position: absolute;\\n top: -10000px;\\n left: -10000px;\\n width: 100px;\\n height: 100px;\\n overflow: scroll;\\n}\\n\\n/* Retina-ize icons */\\n\\n@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-resolution: 2dppx) {\\n .select2-search input,\\n .select2-search-choice-close,\\n .select2-container .select2-choice abbr,\\n .select2-container .select2-choice .select2-arrow b {\\n background-image: url('select2x2.png') !important;\\n background-repeat: no-repeat !important;\\n background-size: 60px 40px !important;\\n }\\n\\n .select2-search input {\\n background-position: 100% -21px !important;\\n }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/**\n * Strengthify - show the weakness of a password (uses zxcvbn for this)\n * https://github.com/MorrisJobke/strengthify\n * Version: 0.5.9\n * License: The MIT License (MIT)\n * Copyright (c) 2013-2020 Morris Jobke \n */\n\n.strengthify-wrapper {\n position: relative;\n}\n\n.strengthify-wrapper > * {\n\t-ms-filter:\"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)\";\n\tfilter: alpha(opacity=0);\n\topacity: 0;\n\t-webkit-transition:all .5s ease-in-out;\n\t-moz-transition:all .5s ease-in-out;\n\ttransition:all .5s ease-in-out;\n}\n\n.strengthify-bg, .strengthify-container, .strengthify-separator {\n\theight: 3px;\n}\n\n.strengthify-bg, .strengthify-container {\n\tdisplay: block;\n\tposition: absolute;\n\twidth: 100%;\n}\n\n.strengthify-bg {\n\tbackground-color: #BBB;\n}\n\n.strengthify-separator {\n\tdisplay: inline-block;\n\tposition: absolute;\n\tbackground-color: #FFF;\n\twidth: 1px;\n\tz-index: 10;\n}\n\n.password-bad {\n\tbackground-color: #C33;\n}\n.password-medium {\n\tbackground-color: #F80;\n}\n.password-good {\n\tbackground-color: #3C3;\n}\n\ndiv[data-strengthifyMessage] {\n padding: 3px 8px;\n}\n\n.strengthify-tiles{\n\tfloat: right;\n}\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/strengthify/strengthify.css\"],\"names\":[],\"mappings\":\"AAAA;;;;;;EAME;;AAEF;IACI,kBAAkB;AACtB;;AAEA;CACC,+DAA+D;CAC/D,wBAAwB;CACxB,UAAU;CACV,sCAAsC;CACtC,mCAAmC;CACnC,8BAA8B;AAC/B;;AAEA;CACC,WAAW;AACZ;;AAEA;CACC,cAAc;CACd,kBAAkB;CAClB,WAAW;AACZ;;AAEA;CACC,sBAAsB;AACvB;;AAEA;CACC,qBAAqB;CACrB,kBAAkB;CAClB,sBAAsB;CACtB,UAAU;CACV,WAAW;AACZ;;AAEA;CACC,sBAAsB;AACvB;AACA;CACC,sBAAsB;AACvB;AACA;CACC,sBAAsB;AACvB;;AAEA;IACI,gBAAgB;AACpB;;AAEA;CACC,YAAY;AACb\",\"sourcesContent\":[\"/**\\n * Strengthify - show the weakness of a password (uses zxcvbn for this)\\n * https://github.com/MorrisJobke/strengthify\\n * Version: 0.5.9\\n * License: The MIT License (MIT)\\n * Copyright (c) 2013-2020 Morris Jobke \\n */\\n\\n.strengthify-wrapper {\\n position: relative;\\n}\\n\\n.strengthify-wrapper > * {\\n\\t-ms-filter:\\\"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)\\\";\\n\\tfilter: alpha(opacity=0);\\n\\topacity: 0;\\n\\t-webkit-transition:all .5s ease-in-out;\\n\\t-moz-transition:all .5s ease-in-out;\\n\\ttransition:all .5s ease-in-out;\\n}\\n\\n.strengthify-bg, .strengthify-container, .strengthify-separator {\\n\\theight: 3px;\\n}\\n\\n.strengthify-bg, .strengthify-container {\\n\\tdisplay: block;\\n\\tposition: absolute;\\n\\twidth: 100%;\\n}\\n\\n.strengthify-bg {\\n\\tbackground-color: #BBB;\\n}\\n\\n.strengthify-separator {\\n\\tdisplay: inline-block;\\n\\tposition: absolute;\\n\\tbackground-color: #FFF;\\n\\twidth: 1px;\\n\\tz-index: 10;\\n}\\n\\n.password-bad {\\n\\tbackground-color: #C33;\\n}\\n.password-medium {\\n\\tbackground-color: #F80;\\n}\\n.password-good {\\n\\tbackground-color: #3C3;\\n}\\n\\ndiv[data-strengthifyMessage] {\\n padding: 3px 8px;\\n}\\n\\n.strengthify-tiles{\\n\\tfloat: right;\\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, `.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\":\"\"}]);\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, `.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\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.app-menu[data-v-141e7efc]{--app-menu-entry-growth: calc(var(--default-grid-baseline) * 4);display:flex;flex:1 1;width:0}.app-menu__list[data-v-141e7efc]{display:flex;flex-wrap:nowrap;margin-inline:calc(var(--app-menu-entry-growth)/2)}.app-menu__overflow[data-v-141e7efc]{margin-block:auto}.app-menu__overflow[data-v-141e7efc] .button-vue--vue-tertiary{opacity:.7;margin:3px;filter:var(--background-image-invert-if-bright)}.app-menu__overflow[data-v-141e7efc] .button-vue--vue-tertiary:not([aria-expanded=true]){color:var(--color-background-plain-text)}.app-menu__overflow[data-v-141e7efc] .button-vue--vue-tertiary:not([aria-expanded=true]):hover{opacity:1;background-color:rgba(0,0,0,0) !important}.app-menu__overflow[data-v-141e7efc] .button-vue--vue-tertiary:focus-visible{opacity:1;outline:none !important}.app-menu__overflow-entry[data-v-141e7efc] .action-link__icon{filter:var(--background-invert-if-bright) !important}`, \"\",{\"version\":3,\"sources\":[\"webpack://./core/src/components/AppMenu.vue\"],\"names\":[],\"mappings\":\"AACA,2BAEC,+DAAA,CACA,YAAA,CACA,QAAA,CACA,OAAA,CAEA,iCACC,YAAA,CACA,gBAAA,CACA,kDAAA,CAGD,qCACC,iBAAA,CAGA,+DACC,UAAA,CACA,UAAA,CACA,+CAAA,CAGA,yFACC,wCAAA,CAEA,+FACC,SAAA,CACA,yCAAA,CAIF,6EACC,SAAA,CACA,uBAAA,CAMF,8DAEC,oDAAA\",\"sourcesContent\":[\"\\n.app-menu {\\n\\t// The size the currently focussed entry will grow to show the full name\\n\\t--app-menu-entry-growth: calc(var(--default-grid-baseline) * 4);\\n\\tdisplay: flex;\\n\\tflex: 1 1;\\n\\twidth: 0;\\n\\n\\t&__list {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-wrap: nowrap;\\n\\t\\tmargin-inline: calc(var(--app-menu-entry-growth) / 2);\\n\\t}\\n\\n\\t&__overflow {\\n\\t\\tmargin-block: auto;\\n\\n\\t\\t// Adjust the overflow NcActions styles as they are directly rendered on the background\\n\\t\\t:deep(.button-vue--vue-tertiary) {\\n\\t\\t\\topacity: .7;\\n\\t\\t\\tmargin: 3px;\\n\\t\\t\\tfilter: var(--background-image-invert-if-bright);\\n\\n\\t\\t\\t/* Remove all background and align text color if not expanded */\\n\\t\\t\\t&:not([aria-expanded=\\\"true\\\"]) {\\n\\t\\t\\t\\tcolor: var(--color-background-plain-text);\\n\\n\\t\\t\\t\\t&:hover {\\n\\t\\t\\t\\t\\topacity: 1;\\n\\t\\t\\t\\t\\tbackground-color: transparent !important;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\t&:focus-visible {\\n\\t\\t\\t\\topacity: 1;\\n\\t\\t\\t\\toutline: none !important;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&__overflow-entry {\\n\\t\\t:deep(.action-link__icon) {\\n\\t\\t\\t// Icons are bright so invert them if bright color theme == bright background is used\\n\\t\\t\\tfilter: var(--background-invert-if-bright) !important;\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.app-menu-entry[data-v-7faa0c46]{--app-menu-entry-font-size: 12px;width:var(--header-height);height:var(--header-height);position:relative}.app-menu-entry__link[data-v-7faa0c46]{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--color-background-plain-text);width:calc(100% - 4px);height:calc(100% - 4px);margin:2px}.app-menu-entry__label[data-v-7faa0c46]{opacity:0;position:absolute;font-size:var(--app-menu-entry-font-size);color:var(--color-background-plain-text);text-align:center;bottom:0;inset-inline-start:50%;top:50%;display:block;transform:translateX(-50%);max-width:100%;text-overflow:ellipsis;overflow:hidden;letter-spacing:-0.5px}body[dir=rtl] .app-menu-entry__label[data-v-7faa0c46]{transform:translateX(50%) !important}.app-menu-entry__icon[data-v-7faa0c46]{font-size:var(--app-menu-entry-font-size)}.app-menu-entry--active .app-menu-entry__label[data-v-7faa0c46]{font-weight:bolder}.app-menu-entry--active[data-v-7faa0c46]::before{content:\" \";position:absolute;pointer-events:none;border-bottom-color:var(--color-main-background);transform:translateX(-50%);width:10px;height:5px;border-radius:3px;background-color:var(--color-background-plain-text);inset-inline-start:50%;bottom:8px;display:block;transition:all var(--animation-quick) ease-in-out;opacity:1}body[dir=rtl] .app-menu-entry--active[data-v-7faa0c46]::before{transform:translateX(50%) !important}.app-menu-entry__icon[data-v-7faa0c46],.app-menu-entry__label[data-v-7faa0c46]{transition:all var(--animation-quick) ease-in-out}.app-menu-entry:hover .app-menu-entry__label[data-v-7faa0c46],.app-menu-entry:focus-within .app-menu-entry__label[data-v-7faa0c46]{font-weight:bold}.app-menu-entry--truncated:hover .app-menu-entry__label[data-v-7faa0c46],.app-menu-entry--truncated:focus-within .app-menu-entry__label[data-v-7faa0c46]{max-width:calc(var(--header-height) + var(--app-menu-entry-growth))}.app-menu-entry--truncated:hover+.app-menu-entry .app-menu-entry__label[data-v-7faa0c46],.app-menu-entry--truncated:focus-within+.app-menu-entry .app-menu-entry__label[data-v-7faa0c46]{font-weight:normal;max-width:calc(var(--header-height) - var(--app-menu-entry-growth))}.app-menu-entry:has(+.app-menu-entry--truncated:hover) .app-menu-entry__label[data-v-7faa0c46],.app-menu-entry:has(+.app-menu-entry--truncated:focus-within) .app-menu-entry__label[data-v-7faa0c46]{font-weight:normal;max-width:calc(var(--header-height) - var(--app-menu-entry-growth))}`, \"\",{\"version\":3,\"sources\":[\"webpack://./core/src/components/AppMenuEntry.vue\"],\"names\":[],\"mappings\":\"AACA,iCACC,gCAAA,CACA,0BAAA,CACA,2BAAA,CACA,iBAAA,CAEA,uCACC,iBAAA,CACA,YAAA,CACA,qBAAA,CACA,kBAAA,CACA,sBAAA,CAEA,wCAAA,CAEA,sBAAA,CACA,uBAAA,CACA,UAAA,CAGD,wCACC,SAAA,CACA,iBAAA,CACA,yCAAA,CAEA,wCAAA,CACA,iBAAA,CACA,QAAA,CACA,sBAAA,CACA,OAAA,CACA,aAAA,CACA,0BAAA,CACA,cAAA,CACA,sBAAA,CACA,eAAA,CACA,qBAAA,CAED,sDACC,oCAAA,CAGD,uCACC,yCAAA,CAKA,gEACC,kBAAA,CAID,iDACC,WAAA,CACA,iBAAA,CACA,mBAAA,CACA,gDAAA,CACA,0BAAA,CACA,UAAA,CACA,UAAA,CACA,iBAAA,CACA,mDAAA,CACA,sBAAA,CACA,UAAA,CACA,aAAA,CACA,iDAAA,CACA,SAAA,CAED,+DACC,oCAAA,CAIF,+EAEC,iDAAA,CAID,mIAEC,gBAAA,CAOA,yJACC,mEAAA,CAKA,yLACC,kBAAA,CACA,mEAAA,CAQF,qMACC,kBAAA,CACA,mEAAA\",\"sourcesContent\":[\"\\n.app-menu-entry {\\n\\t--app-menu-entry-font-size: 12px;\\n\\twidth: var(--header-height);\\n\\theight: var(--header-height);\\n\\tposition: relative;\\n\\n\\t&__link {\\n\\t\\tposition: relative;\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: center;\\n\\t\\t// Set color as this is shown directly on the background\\n\\t\\tcolor: var(--color-background-plain-text);\\n\\t\\t// Make space for focus-visible outline\\n\\t\\twidth: calc(100% - 4px);\\n\\t\\theight: calc(100% - 4px);\\n\\t\\tmargin: 2px;\\n\\t}\\n\\n\\t&__label {\\n\\t\\topacity: 0;\\n\\t\\tposition: absolute;\\n\\t\\tfont-size: var(--app-menu-entry-font-size);\\n\\t\\t// this is shown directly on the background\\n\\t\\tcolor: var(--color-background-plain-text);\\n\\t\\ttext-align: center;\\n\\t\\tbottom: 0;\\n\\t\\tinset-inline-start: 50%;\\n\\t\\ttop: 50%;\\n\\t\\tdisplay: block;\\n\\t\\ttransform: translateX(-50%);\\n\\t\\tmax-width: 100%;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\toverflow: hidden;\\n\\t\\tletter-spacing: -0.5px;\\n\\t}\\n\\tbody[dir=rtl] &__label {\\n\\t\\ttransform: translateX(50%) !important;\\n\\t}\\n\\n\\t&__icon {\\n\\t\\tfont-size: var(--app-menu-entry-font-size);\\n\\t}\\n\\n\\t&--active {\\n\\t\\t// When hover or focus, show the label and make it bolder than the other entries\\n\\t\\t.app-menu-entry__label {\\n\\t\\t\\tfont-weight: bolder;\\n\\t\\t}\\n\\n\\t\\t// When active show a line below the entry as an \\\"active\\\" indicator\\n\\t\\t&::before {\\n\\t\\t\\tcontent: \\\" \\\";\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\tpointer-events: none;\\n\\t\\t\\tborder-bottom-color: var(--color-main-background);\\n\\t\\t\\ttransform: translateX(-50%);\\n\\t\\t\\twidth: 10px;\\n\\t\\t\\theight: 5px;\\n\\t\\t\\tborder-radius: 3px;\\n\\t\\t\\tbackground-color: var(--color-background-plain-text);\\n\\t\\t\\tinset-inline-start: 50%;\\n\\t\\t\\tbottom: 8px;\\n\\t\\t\\tdisplay: block;\\n\\t\\t\\ttransition: all var(--animation-quick) ease-in-out;\\n\\t\\t\\topacity: 1;\\n\\t\\t}\\n\\t\\tbody[dir=rtl] &::before {\\n\\t\\t\\ttransform: translateX(50%) !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&__icon,\\n\\t&__label {\\n\\t\\ttransition: all var(--animation-quick) ease-in-out;\\n\\t}\\n\\n\\t// Make the hovered entry bold to see that it is hovered\\n\\t&:hover .app-menu-entry__label,\\n\\t&:focus-within .app-menu-entry__label {\\n\\t\\tfont-weight: bold;\\n\\t}\\n\\n\\t// Adjust the width when an entry is focussed\\n\\t// The focussed / hovered entry should grow, while both neighbors need to shrink\\n\\t&--truncated:hover,\\n\\t&--truncated:focus-within {\\n\\t\\t.app-menu-entry__label {\\n\\t\\t\\tmax-width: calc(var(--header-height) + var(--app-menu-entry-growth));\\n\\t\\t}\\n\\n\\t\\t// The next entry needs to shrink half the growth\\n\\t\\t+ .app-menu-entry {\\n\\t\\t\\t.app-menu-entry__label {\\n\\t\\t\\t\\tfont-weight: normal;\\n\\t\\t\\t\\tmax-width: calc(var(--header-height) - var(--app-menu-entry-growth));\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// The previous entry needs to shrink half the growth\\n\\t&:has(+ .app-menu-entry--truncated:hover),\\n\\t&:has(+ .app-menu-entry--truncated:focus-within) {\\n\\t\\t.app-menu-entry__label {\\n\\t\\t\\tfont-weight: normal;\\n\\t\\t\\tmax-width: calc(var(--header-height) - var(--app-menu-entry-growth));\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.app-menu-entry:hover .app-menu-entry__icon,.app-menu-entry:focus-within .app-menu-entry__icon,.app-menu__list:hover .app-menu-entry__icon,.app-menu__list:focus-within .app-menu-entry__icon{margin-block-end:1lh}.app-menu-entry:hover .app-menu-entry__label,.app-menu-entry:focus-within .app-menu-entry__label,.app-menu__list:hover .app-menu-entry__label,.app-menu__list:focus-within .app-menu-entry__label{opacity:1}.app-menu-entry:hover .app-menu-entry--active::before,.app-menu-entry:focus-within .app-menu-entry--active::before,.app-menu__list:hover .app-menu-entry--active::before,.app-menu__list:focus-within .app-menu-entry--active::before{opacity:0}.app-menu-entry:hover .app-menu-icon__unread,.app-menu-entry:focus-within .app-menu-icon__unread,.app-menu__list:hover .app-menu-icon__unread,.app-menu__list:focus-within .app-menu-icon__unread{opacity:0}`, \"\",{\"version\":3,\"sources\":[\"webpack://./core/src/components/AppMenuEntry.vue\"],\"names\":[],\"mappings\":\"AAOC,8LACC,oBAAA,CAID,kMACC,SAAA,CAID,sOACC,SAAA,CAGD,kMACC,SAAA\",\"sourcesContent\":[\"\\n// Showing the label\\n.app-menu-entry:hover,\\n.app-menu-entry:focus-within,\\n.app-menu__list:hover,\\n.app-menu__list:focus-within {\\n\\t// Move icon up so that the name does not overflow the icon\\n\\t.app-menu-entry__icon {\\n\\t\\tmargin-block-end: 1lh;\\n\\t}\\n\\n\\t// Make the label visible\\n\\t.app-menu-entry__label {\\n\\t\\topacity: 1;\\n\\t}\\n\\n\\t// Hide indicator when the text is shown\\n\\t.app-menu-entry--active::before {\\n\\t\\topacity: 0;\\n\\t}\\n\\n\\t.app-menu-icon__unread {\\n\\t\\topacity: 0;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.app-menu-icon[data-v-81f2fa84]{box-sizing:border-box;position:relative;height:20px;width:20px}.app-menu-icon__icon[data-v-81f2fa84]{transition:margin .1s ease-in-out;height:20px;width:20px;filter:var(--background-image-invert-if-bright);mask:var(--header-menu-icon-mask)}.app-menu-icon__unread[data-v-81f2fa84]{color:var(--color-text-error);position:absolute;inset-block-end:15px;inset-inline-end:-5px;transition:all .1s ease-in-out}`, \"\",{\"version\":3,\"sources\":[\"webpack://./core/src/components/AppMenuIcon.vue\"],\"names\":[],\"mappings\":\"AAIA,gCACC,qBAAA,CACA,iBAAA,CAEA,WAPW,CAQX,UARW,CAUX,sCACC,iCAAA,CACA,WAZU,CAaV,UAbU,CAcV,+CAAA,CACA,iCAAA,CAGD,wCACC,6BAAA,CACA,iBAAA,CAEA,oBAAA,CACA,qBAAA,CACA,8BAAA\",\"sourcesContent\":[\"\\n$icon-size: 20px;\\n$unread-indicator-size: 10px;\\n\\n.app-menu-icon {\\n\\tbox-sizing: border-box;\\n\\tposition: relative;\\n\\n\\theight: $icon-size;\\n\\twidth: $icon-size;\\n\\n\\t&__icon {\\n\\t\\ttransition: margin 0.1s ease-in-out;\\n\\t\\theight: $icon-size;\\n\\t\\twidth: $icon-size;\\n\\t\\tfilter: var(--background-image-invert-if-bright);\\n\\t\\tmask: var(--header-menu-icon-mask);\\n\\t}\\n\\n\\t&__unread {\\n\\t\\tcolor: var(--color-text-error);\\n\\t\\tposition: absolute;\\n\\t\\t// Align the dot to the top right corner of the icon\\n\\t\\tinset-block-end: calc($icon-size + ($unread-indicator-size / -2));\\n\\t\\tinset-inline-end: calc($unread-indicator-size / -2);\\n\\t\\ttransition: all 0.1s ease-in-out;\\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, `.contact[data-v-56b7b257]{display:flex;position:relative;align-items:center;padding:3px;padding-inline-start:10px}.contact__action__icon[data-v-56b7b257]{width:20px;height:20px;padding:calc((var(--default-clickable-area) - 20px)/2);filter:var(--background-invert-if-dark)}.contact__avatar[data-v-56b7b257]{display:inherit}.contact__body[data-v-56b7b257]{flex-grow:1;padding-inline-start:10px;margin-inline-start:10px;min-width:0}.contact__body div[data-v-56b7b257]{position:relative;width:100%;overflow-x:hidden;text-overflow:ellipsis;margin:-1px 0}.contact__body div[data-v-56b7b257]:first-of-type{margin-top:0}.contact__body div[data-v-56b7b257]:last-of-type{margin-bottom:0}.contact__body__last-message[data-v-56b7b257],.contact__body__status-message[data-v-56b7b257],.contact__body__email-address[data-v-56b7b257]{color:var(--color-text-maxcontrast)}.contact__body[data-v-56b7b257]:focus-visible{box-shadow:0 0 0 4px var(--color-main-background) !important;outline:2px solid var(--color-main-text) !important}.contact .other-actions[data-v-56b7b257]{width:16px;height:16px;cursor:pointer}.contact .other-actions img[data-v-56b7b257]{filter:var(--background-invert-if-dark)}.contact button.other-actions[data-v-56b7b257]{width:44px}.contact button.other-actions[data-v-56b7b257]:focus{border-color:rgba(0,0,0,0);box-shadow:0 0 0 2px var(--color-main-text)}.contact button.other-actions[data-v-56b7b257]:focus-visible{border-radius:var(--border-radius-pill)}.contact .menu[data-v-56b7b257]{top:47px;margin-inline-end:13px}.contact .popovermenu[data-v-56b7b257]::after{inset-inline-end:2px}`, \"\",{\"version\":3,\"sources\":[\"webpack://./core/src/components/ContactsMenu/ContactMenuEntry.vue\"],\"names\":[],\"mappings\":\"AACA,0BACC,YAAA,CACA,iBAAA,CACA,kBAAA,CACA,WAAA,CACA,yBAAA,CAGC,wCACC,UAAA,CACA,WAAA,CACA,sDAAA,CACA,uCAAA,CAIF,kCACC,eAAA,CAGD,gCACC,WAAA,CACA,yBAAA,CACA,wBAAA,CACA,WAAA,CAEA,oCACC,iBAAA,CACA,UAAA,CACA,iBAAA,CACA,sBAAA,CACA,aAAA,CAED,kDACC,YAAA,CAED,iDACC,eAAA,CAGD,6IACC,mCAAA,CAGD,8CACC,4DAAA,CACA,mDAAA,CAIF,yCACC,UAAA,CACA,WAAA,CACA,cAAA,CAEA,6CACC,uCAAA,CAIF,+CACC,UAAA,CAEA,qDACC,0BAAA,CACA,2CAAA,CAGD,6DACC,uCAAA,CAKF,gCACC,QAAA,CACA,sBAAA,CAGD,8CACC,oBAAA\",\"sourcesContent\":[\"\\n.contact {\\n\\tdisplay: flex;\\n\\tposition: relative;\\n\\talign-items: center;\\n\\tpadding: 3px;\\n\\tpadding-inline-start: 10px;\\n\\n\\t&__action {\\n\\t\\t&__icon {\\n\\t\\t\\twidth: 20px;\\n\\t\\t\\theight: 20px;\\n\\t\\t\\tpadding: calc((var(--default-clickable-area) - 20px) / 2);\\n\\t\\t\\tfilter: var(--background-invert-if-dark);\\n\\t\\t}\\n\\t}\\n\\n\\t&__avatar {\\n\\t\\tdisplay: inherit;\\n\\t}\\n\\n\\t&__body {\\n\\t\\tflex-grow: 1;\\n\\t\\tpadding-inline-start: 10px;\\n\\t\\tmargin-inline-start: 10px;\\n\\t\\tmin-width: 0;\\n\\n\\t\\tdiv {\\n\\t\\t\\tposition: relative;\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\toverflow-x: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\tmargin: -1px 0;\\n\\t\\t}\\n\\t\\tdiv:first-of-type {\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t}\\n\\t\\tdiv:last-of-type {\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t}\\n\\n\\t\\t&__last-message, &__status-message, &__email-address {\\n\\t\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\t}\\n\\n\\t\\t&:focus-visible {\\n\\t\\t\\tbox-shadow: 0 0 0 4px var(--color-main-background) !important;\\n\\t\\t\\toutline: 2px solid var(--color-main-text) !important;\\n\\t\\t}\\n\\t}\\n\\n\\t.other-actions {\\n\\t\\twidth: 16px;\\n\\t\\theight: 16px;\\n\\t\\tcursor: pointer;\\n\\n\\t\\timg {\\n\\t\\t\\tfilter: var(--background-invert-if-dark);\\n\\t\\t}\\n\\t}\\n\\n\\tbutton.other-actions {\\n\\t\\twidth: 44px;\\n\\n\\t\\t&:focus {\\n\\t\\t\\tborder-color: transparent;\\n\\t\\t\\tbox-shadow: 0 0 0 2px var(--color-main-text);\\n\\t\\t}\\n\\n\\t\\t&:focus-visible {\\n\\t\\t\\tborder-radius: var(--border-radius-pill);\\n\\t\\t}\\n\\t}\\n\\n\\t/* actions menu */\\n\\t.menu {\\n\\t\\ttop: 47px;\\n\\t\\tmargin-inline-end: 13px;\\n\\t}\\n\\n\\t.popovermenu::after {\\n\\t\\tinset-inline-end: 2px;\\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, `[data-v-6c007912] #header-menu-user-menu{padding:0 !important}.account-menu[data-v-6c007912] *{mask:none !important}.account-menu__avatar[data-v-6c007912]{--account-menu-outline: var(--border-width-input) solid color-mix(in srgb, var(--color-background-plain-text), transparent 75%);outline:var(--account-menu-outline);position:fixed}.account-menu__avatar[data-v-6c007912]:hover{--account-menu-outline: none;border:var(--border-width-input-focused) solid var(--color-background-plain-text)}.account-menu__list[data-v-6c007912]{display:inline-flex;flex-direction:column;padding-block:var(--default-grid-baseline) 0;padding-inline:0 var(--default-grid-baseline)}.account-menu__list[data-v-6c007912]> li{box-sizing:border-box;flex:0 1}.account-menu[data-v-6c007912] .header-menu__content{width:fit-content !important}.account-menu[data-v-6c007912] button{opacity:1 !important}.account-menu[data-v-6c007912] button:focus-visible .account-menu__avatar{--account-menu-outline: none;border:var(--border-width-input-focused) solid var(--color-background-plain-text)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./core/src/views/AccountMenu.vue\"],\"names\":[],\"mappings\":\"AACA,yCACC,oBAAA,CAIA,iCAEC,oBAAA,CAGD,uCACC,+HAAA,CACA,mCAAA,CACA,cAAA,CAEA,6CACC,4BAAA,CAEA,iFAAA,CAIF,qCACC,mBAAA,CACA,qBAAA,CACA,4CAAA,CACA,6CAAA,CAEA,yCACC,qBAAA,CAEA,QAAA,CAKF,qDACC,4BAAA,CAGD,sCAGC,oBAAA,CAKC,0EACC,4BAAA,CACA,iFAAA\",\"sourcesContent\":[\"\\n:deep(#header-menu-user-menu) {\\n\\tpadding: 0 !important;\\n}\\n\\n.account-menu {\\n\\t:deep(*) {\\n\\t\\t// do not apply the alpha mask on the avatar div\\n\\t\\tmask: none !important;\\n\\t}\\n\\n\\t&__avatar {\\n\\t\\t--account-menu-outline: var(--border-width-input) solid color-mix(in srgb, var(--color-background-plain-text), transparent 75%);\\n\\t\\toutline: var(--account-menu-outline);\\n\\t\\tposition: fixed;\\n\\n\\t\\t&:hover {\\n\\t\\t\\t--account-menu-outline: none;\\n\\t\\t\\t// Add hover styles similar to the focus-visible style\\n\\t\\t\\tborder: var(--border-width-input-focused) solid var(--color-background-plain-text);\\n\\t\\t}\\n\\t}\\n\\n\\t&__list {\\n\\t\\tdisplay: inline-flex;\\n\\t\\tflex-direction: column;\\n\\t\\tpadding-block: var(--default-grid-baseline) 0;\\n\\t\\tpadding-inline: 0 var(--default-grid-baseline);\\n\\n\\t\\t> :deep(li) {\\n\\t\\t\\tbox-sizing: border-box;\\n\\t\\t\\t// basically \\\"fit-content\\\"\\n\\t\\t\\tflex: 0 1;\\n\\t\\t}\\n\\t}\\n\\n\\t// Ensure we do not waste space, as the header menu sets a default width of 350px\\n\\t:deep(.header-menu__content) {\\n\\t\\twidth: fit-content !important;\\n\\t}\\n\\n\\t:deep(button) {\\n\\t\\t// Normally header menus are slightly translucent when not active\\n\\t\\t// this is generally ok but for the avatar this is weird so fix the opacity\\n\\t\\topacity: 1 !important;\\n\\n\\t\\t// The avatar is just the \\\"icon\\\" of the button\\n\\t\\t// So we add the focus-visible manually\\n\\t\\t&:focus-visible {\\n\\t\\t\\t.account-menu__avatar {\\n\\t\\t\\t\\t--account-menu-outline: none;\\n\\t\\t\\t\\tborder: var(--border-width-input-focused) solid var(--color-background-plain-text);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.contactsmenu[data-v-253ecd69]{overflow-y:hidden}.contactsmenu__trigger-icon[data-v-253ecd69]{color:var(--color-background-plain-text) !important}.contactsmenu__menu[data-v-253ecd69]{display:flex;flex-direction:column;overflow:hidden;height:328px;max-height:inherit}.contactsmenu__menu__search-container[data-v-253ecd69]{padding:10px;display:flex;flex:row nowrap;column-gap:10px}.contactsmenu__menu__input-wrapper[data-v-253ecd69]{z-index:2;top:0;flex-grow:1;display:flex;gap:var(--default-grid-baseline)}.contactsmenu__menu__search[data-v-253ecd69]{width:100%;height:34px;margin-top:0 !important}.contactsmenu__menu__content[data-v-253ecd69]{overflow-y:auto;margin-top:10px;flex:1 1 auto}.contactsmenu__menu__content__footer[data-v-253ecd69]{display:flex;flex-direction:column;align-items:center}.contactsmenu__menu a[data-v-253ecd69]:focus-visible{box-shadow:inset 0 0 0 2px var(--color-main-text) !important}.contactsmenu[data-v-253ecd69] .empty-content{margin:0 !important}`, \"\",{\"version\":3,\"sources\":[\"webpack://./core/src/views/ContactsMenu.vue\"],\"names\":[],\"mappings\":\"AACA,+BACC,iBAAA,CAEA,6CACC,mDAAA,CAGD,qCACC,YAAA,CACA,qBAAA,CACA,eAAA,CACA,YAAA,CACA,kBAAA,CAEA,uDACC,YAAA,CACA,YAAA,CACA,eAAA,CACA,eAAA,CAGD,oDACC,SAAA,CACA,KAAA,CACA,WAAA,CACA,YAAA,CACA,gCAAA,CAGD,6CACC,UAAA,CACA,WAAA,CACA,uBAAA,CAGD,8CACC,eAAA,CACA,eAAA,CACA,aAAA,CAEA,sDACC,YAAA,CACA,qBAAA,CACA,kBAAA,CAKD,qDACC,4DAAA,CAKH,8CACC,mBAAA\",\"sourcesContent\":[\"\\n.contactsmenu {\\n\\toverflow-y: hidden;\\n\\n\\t&__trigger-icon {\\n\\t\\tcolor: var(--color-background-plain-text) !important;\\n\\t}\\n\\n\\t&__menu {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\toverflow: hidden;\\n\\t\\theight: calc(50px * 6 + 2px + 26px);\\n\\t\\tmax-height: inherit;\\n\\n\\t\\t&__search-container {\\n\\t\\t\\tpadding: 10px;\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex: row nowrap;\\n\\t\\t\\tcolumn-gap: 10px;\\n\\t\\t}\\n\\n\\t\\t&__input-wrapper {\\n\\t\\t\\tz-index: 2;\\n\\t\\t\\ttop: 0;\\n\\t\\t\\tflex-grow: 1;\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tgap: var(--default-grid-baseline);\\n\\t\\t}\\n\\n\\t\\t&__search {\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\theight: 34px;\\n\\t\\t\\tmargin-top: 0!important;\\n\\t\\t}\\n\\n\\t\\t&__content {\\n\\t\\t\\toverflow-y: auto;\\n\\t\\t\\tmargin-top: 10px;\\n\\t\\t\\tflex: 1 1 auto;\\n\\n\\t\\t\\t&__footer {\\n\\t\\t\\t\\tdisplay: flex;\\n\\t\\t\\t\\tflex-direction: column;\\n\\t\\t\\t\\talign-items: center;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\ta {\\n\\t\\t\\t&:focus-visible {\\n\\t\\t\\t\\tbox-shadow: inset 0 0 0 2px var(--color-main-text) !important; // override rule in core/css/headers.scss #header a:focus-visible\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t:deep(.empty-content) {\\n\\t\\tmargin: 0 !important;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","'use strict';\n\nexports.utils = require('./des/utils');\nexports.Cipher = require('./des/cipher');\nexports.DES = require('./des/des');\nexports.CBC = require('./des/cbc');\nexports.EDE = require('./des/ede');\n","'use strict';\n\nvar assert = require('minimalistic-assert');\nvar inherits = require('inherits');\n\nvar proto = {};\n\nfunction CBCState(iv) {\n assert.equal(iv.length, 8, 'Invalid IV length');\n\n this.iv = new Array(8);\n for (var i = 0; i < this.iv.length; i++)\n this.iv[i] = iv[i];\n}\n\nfunction instantiate(Base) {\n function CBC(options) {\n Base.call(this, options);\n this._cbcInit();\n }\n inherits(CBC, Base);\n\n var keys = Object.keys(proto);\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n CBC.prototype[key] = proto[key];\n }\n\n CBC.create = function create(options) {\n return new CBC(options);\n };\n\n return CBC;\n}\n\nexports.instantiate = instantiate;\n\nproto._cbcInit = function _cbcInit() {\n var state = new CBCState(this.options.iv);\n this._cbcState = state;\n};\n\nproto._update = function _update(inp, inOff, out, outOff) {\n var state = this._cbcState;\n var superProto = this.constructor.super_.prototype;\n\n var iv = state.iv;\n if (this.type === 'encrypt') {\n for (var i = 0; i < this.blockSize; i++)\n iv[i] ^= inp[inOff + i];\n\n superProto._update.call(this, iv, 0, out, outOff);\n\n for (var i = 0; i < this.blockSize; i++)\n iv[i] = out[outOff + i];\n } else {\n superProto._update.call(this, inp, inOff, out, outOff);\n\n for (var i = 0; i < this.blockSize; i++)\n out[outOff + i] ^= iv[i];\n\n for (var i = 0; i < this.blockSize; i++)\n iv[i] = inp[inOff + i];\n }\n};\n","'use strict';\n\nvar assert = require('minimalistic-assert');\n\nfunction Cipher(options) {\n this.options = options;\n\n this.type = this.options.type;\n this.blockSize = 8;\n this._init();\n\n this.buffer = new Array(this.blockSize);\n this.bufferOff = 0;\n this.padding = options.padding !== false\n}\nmodule.exports = Cipher;\n\nCipher.prototype._init = function _init() {\n // Might be overrided\n};\n\nCipher.prototype.update = function update(data) {\n if (data.length === 0)\n return [];\n\n if (this.type === 'decrypt')\n return this._updateDecrypt(data);\n else\n return this._updateEncrypt(data);\n};\n\nCipher.prototype._buffer = function _buffer(data, off) {\n // Append data to buffer\n var min = Math.min(this.buffer.length - this.bufferOff, data.length - off);\n for (var i = 0; i < min; i++)\n this.buffer[this.bufferOff + i] = data[off + i];\n this.bufferOff += min;\n\n // Shift next\n return min;\n};\n\nCipher.prototype._flushBuffer = function _flushBuffer(out, off) {\n this._update(this.buffer, 0, out, off);\n this.bufferOff = 0;\n return this.blockSize;\n};\n\nCipher.prototype._updateEncrypt = function _updateEncrypt(data) {\n var inputOff = 0;\n var outputOff = 0;\n\n var count = ((this.bufferOff + data.length) / this.blockSize) | 0;\n var out = new Array(count * this.blockSize);\n\n if (this.bufferOff !== 0) {\n inputOff += this._buffer(data, inputOff);\n\n if (this.bufferOff === this.buffer.length)\n outputOff += this._flushBuffer(out, outputOff);\n }\n\n // Write blocks\n var max = data.length - ((data.length - inputOff) % this.blockSize);\n for (; inputOff < max; inputOff += this.blockSize) {\n this._update(data, inputOff, out, outputOff);\n outputOff += this.blockSize;\n }\n\n // Queue rest\n for (; inputOff < data.length; inputOff++, this.bufferOff++)\n this.buffer[this.bufferOff] = data[inputOff];\n\n return out;\n};\n\nCipher.prototype._updateDecrypt = function _updateDecrypt(data) {\n var inputOff = 0;\n var outputOff = 0;\n\n var count = Math.ceil((this.bufferOff + data.length) / this.blockSize) - 1;\n var out = new Array(count * this.blockSize);\n\n // TODO(indutny): optimize it, this is far from optimal\n for (; count > 0; count--) {\n inputOff += this._buffer(data, inputOff);\n outputOff += this._flushBuffer(out, outputOff);\n }\n\n // Buffer rest of the input\n inputOff += this._buffer(data, inputOff);\n\n return out;\n};\n\nCipher.prototype.final = function final(buffer) {\n var first;\n if (buffer)\n first = this.update(buffer);\n\n var last;\n if (this.type === 'encrypt')\n last = this._finalEncrypt();\n else\n last = this._finalDecrypt();\n\n if (first)\n return first.concat(last);\n else\n return last;\n};\n\nCipher.prototype._pad = function _pad(buffer, off) {\n if (off === 0)\n return false;\n\n while (off < buffer.length)\n buffer[off++] = 0;\n\n return true;\n};\n\nCipher.prototype._finalEncrypt = function _finalEncrypt() {\n if (!this._pad(this.buffer, this.bufferOff))\n return [];\n\n var out = new Array(this.blockSize);\n this._update(this.buffer, 0, out, 0);\n return out;\n};\n\nCipher.prototype._unpad = function _unpad(buffer) {\n return buffer;\n};\n\nCipher.prototype._finalDecrypt = function _finalDecrypt() {\n assert.equal(this.bufferOff, this.blockSize, 'Not enough data to decrypt');\n var out = new Array(this.blockSize);\n this._flushBuffer(out, 0);\n\n return this._unpad(out);\n};\n","'use strict';\n\nvar assert = require('minimalistic-assert');\nvar inherits = require('inherits');\n\nvar utils = require('./utils');\nvar Cipher = require('./cipher');\n\nfunction DESState() {\n this.tmp = new Array(2);\n this.keys = null;\n}\n\nfunction DES(options) {\n Cipher.call(this, options);\n\n var state = new DESState();\n this._desState = state;\n\n this.deriveKeys(state, options.key);\n}\ninherits(DES, Cipher);\nmodule.exports = DES;\n\nDES.create = function create(options) {\n return new DES(options);\n};\n\nvar shiftTable = [\n 1, 1, 2, 2, 2, 2, 2, 2,\n 1, 2, 2, 2, 2, 2, 2, 1\n];\n\nDES.prototype.deriveKeys = function deriveKeys(state, key) {\n state.keys = new Array(16 * 2);\n\n assert.equal(key.length, this.blockSize, 'Invalid key length');\n\n var kL = utils.readUInt32BE(key, 0);\n var kR = utils.readUInt32BE(key, 4);\n\n utils.pc1(kL, kR, state.tmp, 0);\n kL = state.tmp[0];\n kR = state.tmp[1];\n for (var i = 0; i < state.keys.length; i += 2) {\n var shift = shiftTable[i >>> 1];\n kL = utils.r28shl(kL, shift);\n kR = utils.r28shl(kR, shift);\n utils.pc2(kL, kR, state.keys, i);\n }\n};\n\nDES.prototype._update = function _update(inp, inOff, out, outOff) {\n var state = this._desState;\n\n var l = utils.readUInt32BE(inp, inOff);\n var r = utils.readUInt32BE(inp, inOff + 4);\n\n // Initial Permutation\n utils.ip(l, r, state.tmp, 0);\n l = state.tmp[0];\n r = state.tmp[1];\n\n if (this.type === 'encrypt')\n this._encrypt(state, l, r, state.tmp, 0);\n else\n this._decrypt(state, l, r, state.tmp, 0);\n\n l = state.tmp[0];\n r = state.tmp[1];\n\n utils.writeUInt32BE(out, l, outOff);\n utils.writeUInt32BE(out, r, outOff + 4);\n};\n\nDES.prototype._pad = function _pad(buffer, off) {\n if (this.padding === false) {\n return false;\n }\n\n var value = buffer.length - off;\n for (var i = off; i < buffer.length; i++)\n buffer[i] = value;\n\n return true;\n};\n\nDES.prototype._unpad = function _unpad(buffer) {\n if (this.padding === false) {\n return buffer;\n }\n\n var pad = buffer[buffer.length - 1];\n for (var i = buffer.length - pad; i < buffer.length; i++)\n assert.equal(buffer[i], pad);\n\n return buffer.slice(0, buffer.length - pad);\n};\n\nDES.prototype._encrypt = function _encrypt(state, lStart, rStart, out, off) {\n var l = lStart;\n var r = rStart;\n\n // Apply f() x16 times\n for (var i = 0; i < state.keys.length; i += 2) {\n var keyL = state.keys[i];\n var keyR = state.keys[i + 1];\n\n // f(r, k)\n utils.expand(r, state.tmp, 0);\n\n keyL ^= state.tmp[0];\n keyR ^= state.tmp[1];\n var s = utils.substitute(keyL, keyR);\n var f = utils.permute(s);\n\n var t = r;\n r = (l ^ f) >>> 0;\n l = t;\n }\n\n // Reverse Initial Permutation\n utils.rip(r, l, out, off);\n};\n\nDES.prototype._decrypt = function _decrypt(state, lStart, rStart, out, off) {\n var l = rStart;\n var r = lStart;\n\n // Apply f() x16 times\n for (var i = state.keys.length - 2; i >= 0; i -= 2) {\n var keyL = state.keys[i];\n var keyR = state.keys[i + 1];\n\n // f(r, k)\n utils.expand(l, state.tmp, 0);\n\n keyL ^= state.tmp[0];\n keyR ^= state.tmp[1];\n var s = utils.substitute(keyL, keyR);\n var f = utils.permute(s);\n\n var t = l;\n l = (r ^ f) >>> 0;\n r = t;\n }\n\n // Reverse Initial Permutation\n utils.rip(l, r, out, off);\n};\n","'use strict';\n\nvar assert = require('minimalistic-assert');\nvar inherits = require('inherits');\n\nvar Cipher = require('./cipher');\nvar DES = require('./des');\n\nfunction EDEState(type, key) {\n assert.equal(key.length, 24, 'Invalid key length');\n\n var k1 = key.slice(0, 8);\n var k2 = key.slice(8, 16);\n var k3 = key.slice(16, 24);\n\n if (type === 'encrypt') {\n this.ciphers = [\n DES.create({ type: 'encrypt', key: k1 }),\n DES.create({ type: 'decrypt', key: k2 }),\n DES.create({ type: 'encrypt', key: k3 })\n ];\n } else {\n this.ciphers = [\n DES.create({ type: 'decrypt', key: k3 }),\n DES.create({ type: 'encrypt', key: k2 }),\n DES.create({ type: 'decrypt', key: k1 })\n ];\n }\n}\n\nfunction EDE(options) {\n Cipher.call(this, options);\n\n var state = new EDEState(this.type, this.options.key);\n this._edeState = state;\n}\ninherits(EDE, Cipher);\n\nmodule.exports = EDE;\n\nEDE.create = function create(options) {\n return new EDE(options);\n};\n\nEDE.prototype._update = function _update(inp, inOff, out, outOff) {\n var state = this._edeState;\n\n state.ciphers[0]._update(inp, inOff, out, outOff);\n state.ciphers[1]._update(out, outOff, out, outOff);\n state.ciphers[2]._update(out, outOff, out, outOff);\n};\n\nEDE.prototype._pad = DES.prototype._pad;\nEDE.prototype._unpad = DES.prototype._unpad;\n","'use strict';\n\nexports.readUInt32BE = function readUInt32BE(bytes, off) {\n var res = (bytes[0 + off] << 24) |\n (bytes[1 + off] << 16) |\n (bytes[2 + off] << 8) |\n bytes[3 + off];\n return res >>> 0;\n};\n\nexports.writeUInt32BE = function writeUInt32BE(bytes, value, off) {\n bytes[0 + off] = value >>> 24;\n bytes[1 + off] = (value >>> 16) & 0xff;\n bytes[2 + off] = (value >>> 8) & 0xff;\n bytes[3 + off] = value & 0xff;\n};\n\nexports.ip = function ip(inL, inR, out, off) {\n var outL = 0;\n var outR = 0;\n\n for (var i = 6; i >= 0; i -= 2) {\n for (var j = 0; j <= 24; j += 8) {\n outL <<= 1;\n outL |= (inR >>> (j + i)) & 1;\n }\n for (var j = 0; j <= 24; j += 8) {\n outL <<= 1;\n outL |= (inL >>> (j + i)) & 1;\n }\n }\n\n for (var i = 6; i >= 0; i -= 2) {\n for (var j = 1; j <= 25; j += 8) {\n outR <<= 1;\n outR |= (inR >>> (j + i)) & 1;\n }\n for (var j = 1; j <= 25; j += 8) {\n outR <<= 1;\n outR |= (inL >>> (j + i)) & 1;\n }\n }\n\n out[off + 0] = outL >>> 0;\n out[off + 1] = outR >>> 0;\n};\n\nexports.rip = function rip(inL, inR, out, off) {\n var outL = 0;\n var outR = 0;\n\n for (var i = 0; i < 4; i++) {\n for (var j = 24; j >= 0; j -= 8) {\n outL <<= 1;\n outL |= (inR >>> (j + i)) & 1;\n outL <<= 1;\n outL |= (inL >>> (j + i)) & 1;\n }\n }\n for (var i = 4; i < 8; i++) {\n for (var j = 24; j >= 0; j -= 8) {\n outR <<= 1;\n outR |= (inR >>> (j + i)) & 1;\n outR <<= 1;\n outR |= (inL >>> (j + i)) & 1;\n }\n }\n\n out[off + 0] = outL >>> 0;\n out[off + 1] = outR >>> 0;\n};\n\nexports.pc1 = function pc1(inL, inR, out, off) {\n var outL = 0;\n var outR = 0;\n\n // 7, 15, 23, 31, 39, 47, 55, 63\n // 6, 14, 22, 30, 39, 47, 55, 63\n // 5, 13, 21, 29, 39, 47, 55, 63\n // 4, 12, 20, 28\n for (var i = 7; i >= 5; i--) {\n for (var j = 0; j <= 24; j += 8) {\n outL <<= 1;\n outL |= (inR >> (j + i)) & 1;\n }\n for (var j = 0; j <= 24; j += 8) {\n outL <<= 1;\n outL |= (inL >> (j + i)) & 1;\n }\n }\n for (var j = 0; j <= 24; j += 8) {\n outL <<= 1;\n outL |= (inR >> (j + i)) & 1;\n }\n\n // 1, 9, 17, 25, 33, 41, 49, 57\n // 2, 10, 18, 26, 34, 42, 50, 58\n // 3, 11, 19, 27, 35, 43, 51, 59\n // 36, 44, 52, 60\n for (var i = 1; i <= 3; i++) {\n for (var j = 0; j <= 24; j += 8) {\n outR <<= 1;\n outR |= (inR >> (j + i)) & 1;\n }\n for (var j = 0; j <= 24; j += 8) {\n outR <<= 1;\n outR |= (inL >> (j + i)) & 1;\n }\n }\n for (var j = 0; j <= 24; j += 8) {\n outR <<= 1;\n outR |= (inL >> (j + i)) & 1;\n }\n\n out[off + 0] = outL >>> 0;\n out[off + 1] = outR >>> 0;\n};\n\nexports.r28shl = function r28shl(num, shift) {\n return ((num << shift) & 0xfffffff) | (num >>> (28 - shift));\n};\n\nvar pc2table = [\n // inL => outL\n 14, 11, 17, 4, 27, 23, 25, 0,\n 13, 22, 7, 18, 5, 9, 16, 24,\n 2, 20, 12, 21, 1, 8, 15, 26,\n\n // inR => outR\n 15, 4, 25, 19, 9, 1, 26, 16,\n 5, 11, 23, 8, 12, 7, 17, 0,\n 22, 3, 10, 14, 6, 20, 27, 24\n];\n\nexports.pc2 = function pc2(inL, inR, out, off) {\n var outL = 0;\n var outR = 0;\n\n var len = pc2table.length >>> 1;\n for (var i = 0; i < len; i++) {\n outL <<= 1;\n outL |= (inL >>> pc2table[i]) & 0x1;\n }\n for (var i = len; i < pc2table.length; i++) {\n outR <<= 1;\n outR |= (inR >>> pc2table[i]) & 0x1;\n }\n\n out[off + 0] = outL >>> 0;\n out[off + 1] = outR >>> 0;\n};\n\nexports.expand = function expand(r, out, off) {\n var outL = 0;\n var outR = 0;\n\n outL = ((r & 1) << 5) | (r >>> 27);\n for (var i = 23; i >= 15; i -= 4) {\n outL <<= 6;\n outL |= (r >>> i) & 0x3f;\n }\n for (var i = 11; i >= 3; i -= 4) {\n outR |= (r >>> i) & 0x3f;\n outR <<= 6;\n }\n outR |= ((r & 0x1f) << 1) | (r >>> 31);\n\n out[off + 0] = outL >>> 0;\n out[off + 1] = outR >>> 0;\n};\n\nvar sTable = [\n 14, 0, 4, 15, 13, 7, 1, 4, 2, 14, 15, 2, 11, 13, 8, 1,\n 3, 10, 10, 6, 6, 12, 12, 11, 5, 9, 9, 5, 0, 3, 7, 8,\n 4, 15, 1, 12, 14, 8, 8, 2, 13, 4, 6, 9, 2, 1, 11, 7,\n 15, 5, 12, 11, 9, 3, 7, 14, 3, 10, 10, 0, 5, 6, 0, 13,\n\n 15, 3, 1, 13, 8, 4, 14, 7, 6, 15, 11, 2, 3, 8, 4, 14,\n 9, 12, 7, 0, 2, 1, 13, 10, 12, 6, 0, 9, 5, 11, 10, 5,\n 0, 13, 14, 8, 7, 10, 11, 1, 10, 3, 4, 15, 13, 4, 1, 2,\n 5, 11, 8, 6, 12, 7, 6, 12, 9, 0, 3, 5, 2, 14, 15, 9,\n\n 10, 13, 0, 7, 9, 0, 14, 9, 6, 3, 3, 4, 15, 6, 5, 10,\n 1, 2, 13, 8, 12, 5, 7, 14, 11, 12, 4, 11, 2, 15, 8, 1,\n 13, 1, 6, 10, 4, 13, 9, 0, 8, 6, 15, 9, 3, 8, 0, 7,\n 11, 4, 1, 15, 2, 14, 12, 3, 5, 11, 10, 5, 14, 2, 7, 12,\n\n 7, 13, 13, 8, 14, 11, 3, 5, 0, 6, 6, 15, 9, 0, 10, 3,\n 1, 4, 2, 7, 8, 2, 5, 12, 11, 1, 12, 10, 4, 14, 15, 9,\n 10, 3, 6, 15, 9, 0, 0, 6, 12, 10, 11, 1, 7, 13, 13, 8,\n 15, 9, 1, 4, 3, 5, 14, 11, 5, 12, 2, 7, 8, 2, 4, 14,\n\n 2, 14, 12, 11, 4, 2, 1, 12, 7, 4, 10, 7, 11, 13, 6, 1,\n 8, 5, 5, 0, 3, 15, 15, 10, 13, 3, 0, 9, 14, 8, 9, 6,\n 4, 11, 2, 8, 1, 12, 11, 7, 10, 1, 13, 14, 7, 2, 8, 13,\n 15, 6, 9, 15, 12, 0, 5, 9, 6, 10, 3, 4, 0, 5, 14, 3,\n\n 12, 10, 1, 15, 10, 4, 15, 2, 9, 7, 2, 12, 6, 9, 8, 5,\n 0, 6, 13, 1, 3, 13, 4, 14, 14, 0, 7, 11, 5, 3, 11, 8,\n 9, 4, 14, 3, 15, 2, 5, 12, 2, 9, 8, 5, 12, 15, 3, 10,\n 7, 11, 0, 14, 4, 1, 10, 7, 1, 6, 13, 0, 11, 8, 6, 13,\n\n 4, 13, 11, 0, 2, 11, 14, 7, 15, 4, 0, 9, 8, 1, 13, 10,\n 3, 14, 12, 3, 9, 5, 7, 12, 5, 2, 10, 15, 6, 8, 1, 6,\n 1, 6, 4, 11, 11, 13, 13, 8, 12, 1, 3, 4, 7, 10, 14, 7,\n 10, 9, 15, 5, 6, 0, 8, 15, 0, 14, 5, 2, 9, 3, 2, 12,\n\n 13, 1, 2, 15, 8, 13, 4, 8, 6, 10, 15, 3, 11, 7, 1, 4,\n 10, 12, 9, 5, 3, 6, 14, 11, 5, 0, 0, 14, 12, 9, 7, 2,\n 7, 2, 11, 1, 4, 14, 1, 7, 9, 4, 12, 10, 14, 8, 2, 13,\n 0, 15, 6, 12, 10, 9, 13, 0, 15, 3, 3, 5, 5, 6, 8, 11\n];\n\nexports.substitute = function substitute(inL, inR) {\n var out = 0;\n for (var i = 0; i < 4; i++) {\n var b = (inL >>> (18 - i * 6)) & 0x3f;\n var sb = sTable[i * 0x40 + b];\n\n out <<= 4;\n out |= sb;\n }\n for (var i = 0; i < 4; i++) {\n var b = (inR >>> (18 - i * 6)) & 0x3f;\n var sb = sTable[4 * 0x40 + i * 0x40 + b];\n\n out <<= 4;\n out |= sb;\n }\n return out >>> 0;\n};\n\nvar permuteTable = [\n 16, 25, 12, 11, 3, 20, 4, 15, 31, 17, 9, 6, 27, 14, 1, 22,\n 30, 24, 8, 18, 0, 5, 29, 23, 13, 19, 2, 26, 10, 21, 28, 7\n];\n\nexports.permute = function permute(num) {\n var out = 0;\n for (var i = 0; i < permuteTable.length; i++) {\n out <<= 1;\n out |= (num >>> permuteTable[i]) & 0x1;\n }\n return out >>> 0;\n};\n\nexports.padSplit = function padSplit(num, size, group) {\n var str = num.toString(2);\n while (str.length < size)\n str = '0' + str;\n\n var out = [];\n for (var i = 0; i < size; i += group)\n out.push(str.slice(i, i + group));\n return out.join(' ');\n};\n","var generatePrime = require('./lib/generatePrime')\nvar primes = require('./lib/primes.json')\n\nvar DH = require('./lib/dh')\n\nfunction getDiffieHellman (mod) {\n var prime = new Buffer(primes[mod].prime, 'hex')\n var gen = new Buffer(primes[mod].gen, 'hex')\n\n return new DH(prime, gen)\n}\n\nvar ENCODINGS = {\n 'binary': true, 'hex': true, 'base64': true\n}\n\nfunction createDiffieHellman (prime, enc, generator, genc) {\n if (Buffer.isBuffer(enc) || ENCODINGS[enc] === undefined) {\n return createDiffieHellman(prime, 'binary', enc, generator)\n }\n\n enc = enc || 'binary'\n genc = genc || 'binary'\n generator = generator || new Buffer([2])\n\n if (!Buffer.isBuffer(generator)) {\n generator = new Buffer(generator, genc)\n }\n\n if (typeof prime === 'number') {\n return new DH(generatePrime(prime, generator), generator, true)\n }\n\n if (!Buffer.isBuffer(prime)) {\n prime = new Buffer(prime, enc)\n }\n\n return new DH(prime, generator, true)\n}\n\nexports.DiffieHellmanGroup = exports.createDiffieHellmanGroup = exports.getDiffieHellman = getDiffieHellman\nexports.createDiffieHellman = exports.DiffieHellman = createDiffieHellman\n","var BN = require('bn.js');\nvar MillerRabin = require('miller-rabin');\nvar millerRabin = new MillerRabin();\nvar TWENTYFOUR = new BN(24);\nvar ELEVEN = new BN(11);\nvar TEN = new BN(10);\nvar THREE = new BN(3);\nvar SEVEN = new BN(7);\nvar primes = require('./generatePrime');\nvar randomBytes = require('randombytes');\nmodule.exports = DH;\n\nfunction setPublicKey(pub, enc) {\n enc = enc || 'utf8';\n if (!Buffer.isBuffer(pub)) {\n pub = new Buffer(pub, enc);\n }\n this._pub = new BN(pub);\n return this;\n}\n\nfunction setPrivateKey(priv, enc) {\n enc = enc || 'utf8';\n if (!Buffer.isBuffer(priv)) {\n priv = new Buffer(priv, enc);\n }\n this._priv = new BN(priv);\n return this;\n}\n\nvar primeCache = {};\nfunction checkPrime(prime, generator) {\n var gen = generator.toString('hex');\n var hex = [gen, prime.toString(16)].join('_');\n if (hex in primeCache) {\n return primeCache[hex];\n }\n var error = 0;\n\n if (prime.isEven() ||\n !primes.simpleSieve ||\n !primes.fermatTest(prime) ||\n !millerRabin.test(prime)) {\n //not a prime so +1\n error += 1;\n\n if (gen === '02' || gen === '05') {\n // we'd be able to check the generator\n // it would fail so +8\n error += 8;\n } else {\n //we wouldn't be able to test the generator\n // so +4\n error += 4;\n }\n primeCache[hex] = error;\n return error;\n }\n if (!millerRabin.test(prime.shrn(1))) {\n //not a safe prime\n error += 2;\n }\n var rem;\n switch (gen) {\n case '02':\n if (prime.mod(TWENTYFOUR).cmp(ELEVEN)) {\n // unsuidable generator\n error += 8;\n }\n break;\n case '05':\n rem = prime.mod(TEN);\n if (rem.cmp(THREE) && rem.cmp(SEVEN)) {\n // prime mod 10 needs to equal 3 or 7\n error += 8;\n }\n break;\n default:\n error += 4;\n }\n primeCache[hex] = error;\n return error;\n}\n\nfunction DH(prime, generator, malleable) {\n this.setGenerator(generator);\n this.__prime = new BN(prime);\n this._prime = BN.mont(this.__prime);\n this._primeLen = prime.length;\n this._pub = undefined;\n this._priv = undefined;\n this._primeCode = undefined;\n if (malleable) {\n this.setPublicKey = setPublicKey;\n this.setPrivateKey = setPrivateKey;\n } else {\n this._primeCode = 8;\n }\n}\nObject.defineProperty(DH.prototype, 'verifyError', {\n enumerable: true,\n get: function () {\n if (typeof this._primeCode !== 'number') {\n this._primeCode = checkPrime(this.__prime, this.__gen);\n }\n return this._primeCode;\n }\n});\nDH.prototype.generateKeys = function () {\n if (!this._priv) {\n this._priv = new BN(randomBytes(this._primeLen));\n }\n this._pub = this._gen.toRed(this._prime).redPow(this._priv).fromRed();\n return this.getPublicKey();\n};\n\nDH.prototype.computeSecret = function (other) {\n other = new BN(other);\n other = other.toRed(this._prime);\n var secret = other.redPow(this._priv).fromRed();\n var out = new Buffer(secret.toArray());\n var prime = this.getPrime();\n if (out.length < prime.length) {\n var front = new Buffer(prime.length - out.length);\n front.fill(0);\n out = Buffer.concat([front, out]);\n }\n return out;\n};\n\nDH.prototype.getPublicKey = function getPublicKey(enc) {\n return formatReturnValue(this._pub, enc);\n};\n\nDH.prototype.getPrivateKey = function getPrivateKey(enc) {\n return formatReturnValue(this._priv, enc);\n};\n\nDH.prototype.getPrime = function (enc) {\n return formatReturnValue(this.__prime, enc);\n};\n\nDH.prototype.getGenerator = function (enc) {\n return formatReturnValue(this._gen, enc);\n};\n\nDH.prototype.setGenerator = function (gen, enc) {\n enc = enc || 'utf8';\n if (!Buffer.isBuffer(gen)) {\n gen = new Buffer(gen, enc);\n }\n this.__gen = gen;\n this._gen = new BN(gen);\n return this;\n};\n\nfunction formatReturnValue(bn, enc) {\n var buf = new Buffer(bn.toArray());\n if (!enc) {\n return buf;\n } else {\n return buf.toString(enc);\n }\n}\n","var randomBytes = require('randombytes');\nmodule.exports = findPrime;\nfindPrime.simpleSieve = simpleSieve;\nfindPrime.fermatTest = fermatTest;\nvar BN = require('bn.js');\nvar TWENTYFOUR = new BN(24);\nvar MillerRabin = require('miller-rabin');\nvar millerRabin = new MillerRabin();\nvar ONE = new BN(1);\nvar TWO = new BN(2);\nvar FIVE = new BN(5);\nvar SIXTEEN = new BN(16);\nvar EIGHT = new BN(8);\nvar TEN = new BN(10);\nvar THREE = new BN(3);\nvar SEVEN = new BN(7);\nvar ELEVEN = new BN(11);\nvar FOUR = new BN(4);\nvar TWELVE = new BN(12);\nvar primes = null;\n\nfunction _getPrimes() {\n if (primes !== null)\n return primes;\n\n var limit = 0x100000;\n var res = [];\n res[0] = 2;\n for (var i = 1, k = 3; k < limit; k += 2) {\n var sqrt = Math.ceil(Math.sqrt(k));\n for (var j = 0; j < i && res[j] <= sqrt; j++)\n if (k % res[j] === 0)\n break;\n\n if (i !== j && res[j] <= sqrt)\n continue;\n\n res[i++] = k;\n }\n primes = res;\n return res;\n}\n\nfunction simpleSieve(p) {\n var primes = _getPrimes();\n\n for (var i = 0; i < primes.length; i++)\n if (p.modn(primes[i]) === 0) {\n if (p.cmpn(primes[i]) === 0) {\n return true;\n } else {\n return false;\n }\n }\n\n return true;\n}\n\nfunction fermatTest(p) {\n var red = BN.mont(p);\n return TWO.toRed(red).redPow(p.subn(1)).fromRed().cmpn(1) === 0;\n}\n\nfunction findPrime(bits, gen) {\n if (bits < 16) {\n // this is what openssl does\n if (gen === 2 || gen === 5) {\n return new BN([0x8c, 0x7b]);\n } else {\n return new BN([0x8c, 0x27]);\n }\n }\n gen = new BN(gen);\n\n var num, n2;\n\n while (true) {\n num = new BN(randomBytes(Math.ceil(bits / 8)));\n while (num.bitLength() > bits) {\n num.ishrn(1);\n }\n if (num.isEven()) {\n num.iadd(ONE);\n }\n if (!num.testn(1)) {\n num.iadd(TWO);\n }\n if (!gen.cmp(TWO)) {\n while (num.mod(TWENTYFOUR).cmp(ELEVEN)) {\n num.iadd(FOUR);\n }\n } else if (!gen.cmp(FIVE)) {\n while (num.mod(TEN).cmp(THREE)) {\n num.iadd(FOUR);\n }\n }\n n2 = num.shrn(1);\n if (simpleSieve(n2) && simpleSieve(num) &&\n fermatTest(n2) && fermatTest(num) &&\n millerRabin.test(n2) && millerRabin.test(num)) {\n return num;\n }\n }\n\n}\n","(function (module, exports) {\n 'use strict';\n\n // Utils\n function assert (val, msg) {\n if (!val) throw new Error(msg || 'Assertion failed');\n }\n\n // Could use `inherits` module, but don't want to move from single file\n // architecture yet.\n function inherits (ctor, superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function () {};\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n }\n\n // BN\n\n function BN (number, base, endian) {\n if (BN.isBN(number)) {\n return number;\n }\n\n this.negative = 0;\n this.words = null;\n this.length = 0;\n\n // Reduction context\n this.red = null;\n\n if (number !== null) {\n if (base === 'le' || base === 'be') {\n endian = base;\n base = 10;\n }\n\n this._init(number || 0, base || 10, endian || 'be');\n }\n }\n if (typeof module === 'object') {\n module.exports = BN;\n } else {\n exports.BN = BN;\n }\n\n BN.BN = BN;\n BN.wordSize = 26;\n\n var Buffer;\n try {\n if (typeof window !== 'undefined' && typeof window.Buffer !== 'undefined') {\n Buffer = window.Buffer;\n } else {\n Buffer = require('buffer').Buffer;\n }\n } catch (e) {\n }\n\n BN.isBN = function isBN (num) {\n if (num instanceof BN) {\n return true;\n }\n\n return num !== null && typeof num === 'object' &&\n num.constructor.wordSize === BN.wordSize && Array.isArray(num.words);\n };\n\n BN.max = function max (left, right) {\n if (left.cmp(right) > 0) return left;\n return right;\n };\n\n BN.min = function min (left, right) {\n if (left.cmp(right) < 0) return left;\n return right;\n };\n\n BN.prototype._init = function init (number, base, endian) {\n if (typeof number === 'number') {\n return this._initNumber(number, base, endian);\n }\n\n if (typeof number === 'object') {\n return this._initArray(number, base, endian);\n }\n\n if (base === 'hex') {\n base = 16;\n }\n assert(base === (base | 0) && base >= 2 && base <= 36);\n\n number = number.toString().replace(/\\s+/g, '');\n var start = 0;\n if (number[0] === '-') {\n start++;\n this.negative = 1;\n }\n\n if (start < number.length) {\n if (base === 16) {\n this._parseHex(number, start, endian);\n } else {\n this._parseBase(number, base, start);\n if (endian === 'le') {\n this._initArray(this.toArray(), base, endian);\n }\n }\n }\n };\n\n BN.prototype._initNumber = function _initNumber (number, base, endian) {\n if (number < 0) {\n this.negative = 1;\n number = -number;\n }\n if (number < 0x4000000) {\n this.words = [ number & 0x3ffffff ];\n this.length = 1;\n } else if (number < 0x10000000000000) {\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff\n ];\n this.length = 2;\n } else {\n assert(number < 0x20000000000000); // 2 ^ 53 (unsafe)\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff,\n 1\n ];\n this.length = 3;\n }\n\n if (endian !== 'le') return;\n\n // Reverse the bytes\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initArray = function _initArray (number, base, endian) {\n // Perhaps a Uint8Array\n assert(typeof number.length === 'number');\n if (number.length <= 0) {\n this.words = [ 0 ];\n this.length = 1;\n return this;\n }\n\n this.length = Math.ceil(number.length / 3);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n var off = 0;\n if (endian === 'be') {\n for (i = number.length - 1, j = 0; i >= 0; i -= 3) {\n w = number[i] | (number[i - 1] << 8) | (number[i - 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n } else if (endian === 'le') {\n for (i = 0, j = 0; i < number.length; i += 3) {\n w = number[i] | (number[i + 1] << 8) | (number[i + 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n }\n return this.strip();\n };\n\n function parseHex4Bits (string, index) {\n var c = string.charCodeAt(index);\n // 'A' - 'F'\n if (c >= 65 && c <= 70) {\n return c - 55;\n // 'a' - 'f'\n } else if (c >= 97 && c <= 102) {\n return c - 87;\n // '0' - '9'\n } else {\n return (c - 48) & 0xf;\n }\n }\n\n function parseHexByte (string, lowerBound, index) {\n var r = parseHex4Bits(string, index);\n if (index - 1 >= lowerBound) {\n r |= parseHex4Bits(string, index - 1) << 4;\n }\n return r;\n }\n\n BN.prototype._parseHex = function _parseHex (number, start, endian) {\n // Create possibly bigger array to ensure that it fits the number\n this.length = Math.ceil((number.length - start) / 6);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n // 24-bits chunks\n var off = 0;\n var j = 0;\n\n var w;\n if (endian === 'be') {\n for (i = number.length - 1; i >= start; i -= 2) {\n w = parseHexByte(number, start, i) << off;\n this.words[j] |= w & 0x3ffffff;\n if (off >= 18) {\n off -= 18;\n j += 1;\n this.words[j] |= w >>> 26;\n } else {\n off += 8;\n }\n }\n } else {\n var parseLength = number.length - start;\n for (i = parseLength % 2 === 0 ? start + 1 : start; i < number.length; i += 2) {\n w = parseHexByte(number, start, i) << off;\n this.words[j] |= w & 0x3ffffff;\n if (off >= 18) {\n off -= 18;\n j += 1;\n this.words[j] |= w >>> 26;\n } else {\n off += 8;\n }\n }\n }\n\n this.strip();\n };\n\n function parseBase (str, start, end, mul) {\n var r = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r *= mul;\n\n // 'a'\n if (c >= 49) {\n r += c - 49 + 0xa;\n\n // 'A'\n } else if (c >= 17) {\n r += c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n r += c;\n }\n }\n return r;\n }\n\n BN.prototype._parseBase = function _parseBase (number, base, start) {\n // Initialize as zero\n this.words = [ 0 ];\n this.length = 1;\n\n // Find length of limb in base\n for (var limbLen = 0, limbPow = 1; limbPow <= 0x3ffffff; limbPow *= base) {\n limbLen++;\n }\n limbLen--;\n limbPow = (limbPow / base) | 0;\n\n var total = number.length - start;\n var mod = total % limbLen;\n var end = Math.min(total, total - mod) + start;\n\n var word = 0;\n for (var i = start; i < end; i += limbLen) {\n word = parseBase(number, i, i + limbLen, base);\n\n this.imuln(limbPow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n if (mod !== 0) {\n var pow = 1;\n word = parseBase(number, i, number.length, base);\n\n for (i = 0; i < mod; i++) {\n pow *= base;\n }\n\n this.imuln(pow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n this.strip();\n };\n\n BN.prototype.copy = function copy (dest) {\n dest.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n dest.words[i] = this.words[i];\n }\n dest.length = this.length;\n dest.negative = this.negative;\n dest.red = this.red;\n };\n\n BN.prototype.clone = function clone () {\n var r = new BN(null);\n this.copy(r);\n return r;\n };\n\n BN.prototype._expand = function _expand (size) {\n while (this.length < size) {\n this.words[this.length++] = 0;\n }\n return this;\n };\n\n // Remove leading `0` from `this`\n BN.prototype.strip = function strip () {\n while (this.length > 1 && this.words[this.length - 1] === 0) {\n this.length--;\n }\n return this._normSign();\n };\n\n BN.prototype._normSign = function _normSign () {\n // -0 = 0\n if (this.length === 1 && this.words[0] === 0) {\n this.negative = 0;\n }\n return this;\n };\n\n BN.prototype.inspect = function inspect () {\n return (this.red ? '';\n };\n\n /*\n\n var zeros = [];\n var groupSizes = [];\n var groupBases = [];\n\n var s = '';\n var i = -1;\n while (++i < BN.wordSize) {\n zeros[i] = s;\n s += '0';\n }\n groupSizes[0] = 0;\n groupSizes[1] = 0;\n groupBases[0] = 0;\n groupBases[1] = 0;\n var base = 2 - 1;\n while (++base < 36 + 1) {\n var groupSize = 0;\n var groupBase = 1;\n while (groupBase < (1 << BN.wordSize) / base) {\n groupBase *= base;\n groupSize += 1;\n }\n groupSizes[base] = groupSize;\n groupBases[base] = groupBase;\n }\n\n */\n\n var zeros = [\n '',\n '0',\n '00',\n '000',\n '0000',\n '00000',\n '000000',\n '0000000',\n '00000000',\n '000000000',\n '0000000000',\n '00000000000',\n '000000000000',\n '0000000000000',\n '00000000000000',\n '000000000000000',\n '0000000000000000',\n '00000000000000000',\n '000000000000000000',\n '0000000000000000000',\n '00000000000000000000',\n '000000000000000000000',\n '0000000000000000000000',\n '00000000000000000000000',\n '000000000000000000000000',\n '0000000000000000000000000'\n ];\n\n var groupSizes = [\n 0, 0,\n 25, 16, 12, 11, 10, 9, 8,\n 8, 7, 7, 7, 7, 6, 6,\n 6, 6, 6, 6, 6, 5, 5,\n 5, 5, 5, 5, 5, 5, 5,\n 5, 5, 5, 5, 5, 5, 5\n ];\n\n var groupBases = [\n 0, 0,\n 33554432, 43046721, 16777216, 48828125, 60466176, 40353607, 16777216,\n 43046721, 10000000, 19487171, 35831808, 62748517, 7529536, 11390625,\n 16777216, 24137569, 34012224, 47045881, 64000000, 4084101, 5153632,\n 6436343, 7962624, 9765625, 11881376, 14348907, 17210368, 20511149,\n 24300000, 28629151, 33554432, 39135393, 45435424, 52521875, 60466176\n ];\n\n BN.prototype.toString = function toString (base, padding) {\n base = base || 10;\n padding = padding | 0 || 1;\n\n var out;\n if (base === 16 || base === 'hex') {\n out = '';\n var off = 0;\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = this.words[i];\n var word = (((w << off) | carry) & 0xffffff).toString(16);\n carry = (w >>> (24 - off)) & 0xffffff;\n off += 2;\n if (off >= 26) {\n off -= 26;\n i--;\n }\n if (carry !== 0 || i !== this.length - 1) {\n out = zeros[6 - word.length] + word + out;\n } else {\n out = word + out;\n }\n }\n if (carry !== 0) {\n out = carry.toString(16) + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n if (base === (base | 0) && base >= 2 && base <= 36) {\n // var groupSize = Math.floor(BN.wordSize * Math.LN2 / Math.log(base));\n var groupSize = groupSizes[base];\n // var groupBase = Math.pow(base, groupSize);\n var groupBase = groupBases[base];\n out = '';\n var c = this.clone();\n c.negative = 0;\n while (!c.isZero()) {\n var r = c.modn(groupBase).toString(base);\n c = c.idivn(groupBase);\n\n if (!c.isZero()) {\n out = zeros[groupSize - r.length] + r + out;\n } else {\n out = r + out;\n }\n }\n if (this.isZero()) {\n out = '0' + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n assert(false, 'Base should be between 2 and 36');\n };\n\n BN.prototype.toNumber = function toNumber () {\n var ret = this.words[0];\n if (this.length === 2) {\n ret += this.words[1] * 0x4000000;\n } else if (this.length === 3 && this.words[2] === 0x01) {\n // NOTE: at this stage it is known that the top bit is set\n ret += 0x10000000000000 + (this.words[1] * 0x4000000);\n } else if (this.length > 2) {\n assert(false, 'Number can only safely store up to 53 bits');\n }\n return (this.negative !== 0) ? -ret : ret;\n };\n\n BN.prototype.toJSON = function toJSON () {\n return this.toString(16);\n };\n\n BN.prototype.toBuffer = function toBuffer (endian, length) {\n assert(typeof Buffer !== 'undefined');\n return this.toArrayLike(Buffer, endian, length);\n };\n\n BN.prototype.toArray = function toArray (endian, length) {\n return this.toArrayLike(Array, endian, length);\n };\n\n BN.prototype.toArrayLike = function toArrayLike (ArrayType, endian, length) {\n var byteLength = this.byteLength();\n var reqLength = length || Math.max(1, byteLength);\n assert(byteLength <= reqLength, 'byte array longer than desired length');\n assert(reqLength > 0, 'Requested array length <= 0');\n\n this.strip();\n var littleEndian = endian === 'le';\n var res = new ArrayType(reqLength);\n\n var b, i;\n var q = this.clone();\n if (!littleEndian) {\n // Assume big-endian\n for (i = 0; i < reqLength - byteLength; i++) {\n res[i] = 0;\n }\n\n for (i = 0; !q.isZero(); i++) {\n b = q.andln(0xff);\n q.iushrn(8);\n\n res[reqLength - i - 1] = b;\n }\n } else {\n for (i = 0; !q.isZero(); i++) {\n b = q.andln(0xff);\n q.iushrn(8);\n\n res[i] = b;\n }\n\n for (; i < reqLength; i++) {\n res[i] = 0;\n }\n }\n\n return res;\n };\n\n if (Math.clz32) {\n BN.prototype._countBits = function _countBits (w) {\n return 32 - Math.clz32(w);\n };\n } else {\n BN.prototype._countBits = function _countBits (w) {\n var t = w;\n var r = 0;\n if (t >= 0x1000) {\n r += 13;\n t >>>= 13;\n }\n if (t >= 0x40) {\n r += 7;\n t >>>= 7;\n }\n if (t >= 0x8) {\n r += 4;\n t >>>= 4;\n }\n if (t >= 0x02) {\n r += 2;\n t >>>= 2;\n }\n return r + t;\n };\n }\n\n BN.prototype._zeroBits = function _zeroBits (w) {\n // Short-cut\n if (w === 0) return 26;\n\n var t = w;\n var r = 0;\n if ((t & 0x1fff) === 0) {\n r += 13;\n t >>>= 13;\n }\n if ((t & 0x7f) === 0) {\n r += 7;\n t >>>= 7;\n }\n if ((t & 0xf) === 0) {\n r += 4;\n t >>>= 4;\n }\n if ((t & 0x3) === 0) {\n r += 2;\n t >>>= 2;\n }\n if ((t & 0x1) === 0) {\n r++;\n }\n return r;\n };\n\n // Return number of used bits in a BN\n BN.prototype.bitLength = function bitLength () {\n var w = this.words[this.length - 1];\n var hi = this._countBits(w);\n return (this.length - 1) * 26 + hi;\n };\n\n function toBitArray (num) {\n var w = new Array(num.bitLength());\n\n for (var bit = 0; bit < w.length; bit++) {\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n w[bit] = (num.words[off] & (1 << wbit)) >>> wbit;\n }\n\n return w;\n }\n\n // Number of trailing zero bits\n BN.prototype.zeroBits = function zeroBits () {\n if (this.isZero()) return 0;\n\n var r = 0;\n for (var i = 0; i < this.length; i++) {\n var b = this._zeroBits(this.words[i]);\n r += b;\n if (b !== 26) break;\n }\n return r;\n };\n\n BN.prototype.byteLength = function byteLength () {\n return Math.ceil(this.bitLength() / 8);\n };\n\n BN.prototype.toTwos = function toTwos (width) {\n if (this.negative !== 0) {\n return this.abs().inotn(width).iaddn(1);\n }\n return this.clone();\n };\n\n BN.prototype.fromTwos = function fromTwos (width) {\n if (this.testn(width - 1)) {\n return this.notn(width).iaddn(1).ineg();\n }\n return this.clone();\n };\n\n BN.prototype.isNeg = function isNeg () {\n return this.negative !== 0;\n };\n\n // Return negative clone of `this`\n BN.prototype.neg = function neg () {\n return this.clone().ineg();\n };\n\n BN.prototype.ineg = function ineg () {\n if (!this.isZero()) {\n this.negative ^= 1;\n }\n\n return this;\n };\n\n // Or `num` with `this` in-place\n BN.prototype.iuor = function iuor (num) {\n while (this.length < num.length) {\n this.words[this.length++] = 0;\n }\n\n for (var i = 0; i < num.length; i++) {\n this.words[i] = this.words[i] | num.words[i];\n }\n\n return this.strip();\n };\n\n BN.prototype.ior = function ior (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuor(num);\n };\n\n // Or `num` with `this`\n BN.prototype.or = function or (num) {\n if (this.length > num.length) return this.clone().ior(num);\n return num.clone().ior(this);\n };\n\n BN.prototype.uor = function uor (num) {\n if (this.length > num.length) return this.clone().iuor(num);\n return num.clone().iuor(this);\n };\n\n // And `num` with `this` in-place\n BN.prototype.iuand = function iuand (num) {\n // b = min-length(num, this)\n var b;\n if (this.length > num.length) {\n b = num;\n } else {\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = this.words[i] & num.words[i];\n }\n\n this.length = b.length;\n\n return this.strip();\n };\n\n BN.prototype.iand = function iand (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuand(num);\n };\n\n // And `num` with `this`\n BN.prototype.and = function and (num) {\n if (this.length > num.length) return this.clone().iand(num);\n return num.clone().iand(this);\n };\n\n BN.prototype.uand = function uand (num) {\n if (this.length > num.length) return this.clone().iuand(num);\n return num.clone().iuand(this);\n };\n\n // Xor `num` with `this` in-place\n BN.prototype.iuxor = function iuxor (num) {\n // a.length > b.length\n var a;\n var b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = a.words[i] ^ b.words[i];\n }\n\n if (this !== a) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = a.length;\n\n return this.strip();\n };\n\n BN.prototype.ixor = function ixor (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuxor(num);\n };\n\n // Xor `num` with `this`\n BN.prototype.xor = function xor (num) {\n if (this.length > num.length) return this.clone().ixor(num);\n return num.clone().ixor(this);\n };\n\n BN.prototype.uxor = function uxor (num) {\n if (this.length > num.length) return this.clone().iuxor(num);\n return num.clone().iuxor(this);\n };\n\n // Not ``this`` with ``width`` bitwidth\n BN.prototype.inotn = function inotn (width) {\n assert(typeof width === 'number' && width >= 0);\n\n var bytesNeeded = Math.ceil(width / 26) | 0;\n var bitsLeft = width % 26;\n\n // Extend the buffer with leading zeroes\n this._expand(bytesNeeded);\n\n if (bitsLeft > 0) {\n bytesNeeded--;\n }\n\n // Handle complete words\n for (var i = 0; i < bytesNeeded; i++) {\n this.words[i] = ~this.words[i] & 0x3ffffff;\n }\n\n // Handle the residue\n if (bitsLeft > 0) {\n this.words[i] = ~this.words[i] & (0x3ffffff >> (26 - bitsLeft));\n }\n\n // And remove leading zeroes\n return this.strip();\n };\n\n BN.prototype.notn = function notn (width) {\n return this.clone().inotn(width);\n };\n\n // Set `bit` of `this`\n BN.prototype.setn = function setn (bit, val) {\n assert(typeof bit === 'number' && bit >= 0);\n\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n this._expand(off + 1);\n\n if (val) {\n this.words[off] = this.words[off] | (1 << wbit);\n } else {\n this.words[off] = this.words[off] & ~(1 << wbit);\n }\n\n return this.strip();\n };\n\n // Add `num` to `this` in-place\n BN.prototype.iadd = function iadd (num) {\n var r;\n\n // negative + positive\n if (this.negative !== 0 && num.negative === 0) {\n this.negative = 0;\n r = this.isub(num);\n this.negative ^= 1;\n return this._normSign();\n\n // positive + negative\n } else if (this.negative === 0 && num.negative !== 0) {\n num.negative = 0;\n r = this.isub(num);\n num.negative = 1;\n return r._normSign();\n }\n\n // a.length > b.length\n var a, b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) + (b.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n\n this.length = a.length;\n if (carry !== 0) {\n this.words[this.length] = carry;\n this.length++;\n // Copy the rest of the words\n } else if (a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n return this;\n };\n\n // Add `num` to `this`\n BN.prototype.add = function add (num) {\n var res;\n if (num.negative !== 0 && this.negative === 0) {\n num.negative = 0;\n res = this.sub(num);\n num.negative ^= 1;\n return res;\n } else if (num.negative === 0 && this.negative !== 0) {\n this.negative = 0;\n res = num.sub(this);\n this.negative = 1;\n return res;\n }\n\n if (this.length > num.length) return this.clone().iadd(num);\n\n return num.clone().iadd(this);\n };\n\n // Subtract `num` from `this` in-place\n BN.prototype.isub = function isub (num) {\n // this - (-num) = this + num\n if (num.negative !== 0) {\n num.negative = 0;\n var r = this.iadd(num);\n num.negative = 1;\n return r._normSign();\n\n // -this - num = -(this + num)\n } else if (this.negative !== 0) {\n this.negative = 0;\n this.iadd(num);\n this.negative = 1;\n return this._normSign();\n }\n\n // At this point both numbers are positive\n var cmp = this.cmp(num);\n\n // Optimization - zeroify\n if (cmp === 0) {\n this.negative = 0;\n this.length = 1;\n this.words[0] = 0;\n return this;\n }\n\n // a > b\n var a, b;\n if (cmp > 0) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) - (b.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n\n // Copy rest of the words\n if (carry === 0 && i < a.length && a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = Math.max(this.length, i);\n\n if (a !== this) {\n this.negative = 1;\n }\n\n return this.strip();\n };\n\n // Subtract `num` from `this`\n BN.prototype.sub = function sub (num) {\n return this.clone().isub(num);\n };\n\n function smallMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n var len = (self.length + num.length) | 0;\n out.length = len;\n len = (len - 1) | 0;\n\n // Peel one iteration (compiler can't do it, because of code complexity)\n var a = self.words[0] | 0;\n var b = num.words[0] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n var carry = (r / 0x4000000) | 0;\n out.words[0] = lo;\n\n for (var k = 1; k < len; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = carry >>> 26;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = (k - j) | 0;\n a = self.words[i] | 0;\n b = num.words[j] | 0;\n r = a * b + rword;\n ncarry += (r / 0x4000000) | 0;\n rword = r & 0x3ffffff;\n }\n out.words[k] = rword | 0;\n carry = ncarry | 0;\n }\n if (carry !== 0) {\n out.words[k] = carry | 0;\n } else {\n out.length--;\n }\n\n return out.strip();\n }\n\n // TODO(indutny): it may be reasonable to omit it for users who don't need\n // to work with 256-bit numbers, otherwise it gives 20% improvement for 256-bit\n // multiplication (like elliptic secp256k1).\n var comb10MulTo = function comb10MulTo (self, num, out) {\n var a = self.words;\n var b = num.words;\n var o = out.words;\n var c = 0;\n var lo;\n var mid;\n var hi;\n var a0 = a[0] | 0;\n var al0 = a0 & 0x1fff;\n var ah0 = a0 >>> 13;\n var a1 = a[1] | 0;\n var al1 = a1 & 0x1fff;\n var ah1 = a1 >>> 13;\n var a2 = a[2] | 0;\n var al2 = a2 & 0x1fff;\n var ah2 = a2 >>> 13;\n var a3 = a[3] | 0;\n var al3 = a3 & 0x1fff;\n var ah3 = a3 >>> 13;\n var a4 = a[4] | 0;\n var al4 = a4 & 0x1fff;\n var ah4 = a4 >>> 13;\n var a5 = a[5] | 0;\n var al5 = a5 & 0x1fff;\n var ah5 = a5 >>> 13;\n var a6 = a[6] | 0;\n var al6 = a6 & 0x1fff;\n var ah6 = a6 >>> 13;\n var a7 = a[7] | 0;\n var al7 = a7 & 0x1fff;\n var ah7 = a7 >>> 13;\n var a8 = a[8] | 0;\n var al8 = a8 & 0x1fff;\n var ah8 = a8 >>> 13;\n var a9 = a[9] | 0;\n var al9 = a9 & 0x1fff;\n var ah9 = a9 >>> 13;\n var b0 = b[0] | 0;\n var bl0 = b0 & 0x1fff;\n var bh0 = b0 >>> 13;\n var b1 = b[1] | 0;\n var bl1 = b1 & 0x1fff;\n var bh1 = b1 >>> 13;\n var b2 = b[2] | 0;\n var bl2 = b2 & 0x1fff;\n var bh2 = b2 >>> 13;\n var b3 = b[3] | 0;\n var bl3 = b3 & 0x1fff;\n var bh3 = b3 >>> 13;\n var b4 = b[4] | 0;\n var bl4 = b4 & 0x1fff;\n var bh4 = b4 >>> 13;\n var b5 = b[5] | 0;\n var bl5 = b5 & 0x1fff;\n var bh5 = b5 >>> 13;\n var b6 = b[6] | 0;\n var bl6 = b6 & 0x1fff;\n var bh6 = b6 >>> 13;\n var b7 = b[7] | 0;\n var bl7 = b7 & 0x1fff;\n var bh7 = b7 >>> 13;\n var b8 = b[8] | 0;\n var bl8 = b8 & 0x1fff;\n var bh8 = b8 >>> 13;\n var b9 = b[9] | 0;\n var bl9 = b9 & 0x1fff;\n var bh9 = b9 >>> 13;\n\n out.negative = self.negative ^ num.negative;\n out.length = 19;\n /* k = 0 */\n lo = Math.imul(al0, bl0);\n mid = Math.imul(al0, bh0);\n mid = (mid + Math.imul(ah0, bl0)) | 0;\n hi = Math.imul(ah0, bh0);\n var w0 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w0 >>> 26)) | 0;\n w0 &= 0x3ffffff;\n /* k = 1 */\n lo = Math.imul(al1, bl0);\n mid = Math.imul(al1, bh0);\n mid = (mid + Math.imul(ah1, bl0)) | 0;\n hi = Math.imul(ah1, bh0);\n lo = (lo + Math.imul(al0, bl1)) | 0;\n mid = (mid + Math.imul(al0, bh1)) | 0;\n mid = (mid + Math.imul(ah0, bl1)) | 0;\n hi = (hi + Math.imul(ah0, bh1)) | 0;\n var w1 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w1 >>> 26)) | 0;\n w1 &= 0x3ffffff;\n /* k = 2 */\n lo = Math.imul(al2, bl0);\n mid = Math.imul(al2, bh0);\n mid = (mid + Math.imul(ah2, bl0)) | 0;\n hi = Math.imul(ah2, bh0);\n lo = (lo + Math.imul(al1, bl1)) | 0;\n mid = (mid + Math.imul(al1, bh1)) | 0;\n mid = (mid + Math.imul(ah1, bl1)) | 0;\n hi = (hi + Math.imul(ah1, bh1)) | 0;\n lo = (lo + Math.imul(al0, bl2)) | 0;\n mid = (mid + Math.imul(al0, bh2)) | 0;\n mid = (mid + Math.imul(ah0, bl2)) | 0;\n hi = (hi + Math.imul(ah0, bh2)) | 0;\n var w2 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w2 >>> 26)) | 0;\n w2 &= 0x3ffffff;\n /* k = 3 */\n lo = Math.imul(al3, bl0);\n mid = Math.imul(al3, bh0);\n mid = (mid + Math.imul(ah3, bl0)) | 0;\n hi = Math.imul(ah3, bh0);\n lo = (lo + Math.imul(al2, bl1)) | 0;\n mid = (mid + Math.imul(al2, bh1)) | 0;\n mid = (mid + Math.imul(ah2, bl1)) | 0;\n hi = (hi + Math.imul(ah2, bh1)) | 0;\n lo = (lo + Math.imul(al1, bl2)) | 0;\n mid = (mid + Math.imul(al1, bh2)) | 0;\n mid = (mid + Math.imul(ah1, bl2)) | 0;\n hi = (hi + Math.imul(ah1, bh2)) | 0;\n lo = (lo + Math.imul(al0, bl3)) | 0;\n mid = (mid + Math.imul(al0, bh3)) | 0;\n mid = (mid + Math.imul(ah0, bl3)) | 0;\n hi = (hi + Math.imul(ah0, bh3)) | 0;\n var w3 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w3 >>> 26)) | 0;\n w3 &= 0x3ffffff;\n /* k = 4 */\n lo = Math.imul(al4, bl0);\n mid = Math.imul(al4, bh0);\n mid = (mid + Math.imul(ah4, bl0)) | 0;\n hi = Math.imul(ah4, bh0);\n lo = (lo + Math.imul(al3, bl1)) | 0;\n mid = (mid + Math.imul(al3, bh1)) | 0;\n mid = (mid + Math.imul(ah3, bl1)) | 0;\n hi = (hi + Math.imul(ah3, bh1)) | 0;\n lo = (lo + Math.imul(al2, bl2)) | 0;\n mid = (mid + Math.imul(al2, bh2)) | 0;\n mid = (mid + Math.imul(ah2, bl2)) | 0;\n hi = (hi + Math.imul(ah2, bh2)) | 0;\n lo = (lo + Math.imul(al1, bl3)) | 0;\n mid = (mid + Math.imul(al1, bh3)) | 0;\n mid = (mid + Math.imul(ah1, bl3)) | 0;\n hi = (hi + Math.imul(ah1, bh3)) | 0;\n lo = (lo + Math.imul(al0, bl4)) | 0;\n mid = (mid + Math.imul(al0, bh4)) | 0;\n mid = (mid + Math.imul(ah0, bl4)) | 0;\n hi = (hi + Math.imul(ah0, bh4)) | 0;\n var w4 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w4 >>> 26)) | 0;\n w4 &= 0x3ffffff;\n /* k = 5 */\n lo = Math.imul(al5, bl0);\n mid = Math.imul(al5, bh0);\n mid = (mid + Math.imul(ah5, bl0)) | 0;\n hi = Math.imul(ah5, bh0);\n lo = (lo + Math.imul(al4, bl1)) | 0;\n mid = (mid + Math.imul(al4, bh1)) | 0;\n mid = (mid + Math.imul(ah4, bl1)) | 0;\n hi = (hi + Math.imul(ah4, bh1)) | 0;\n lo = (lo + Math.imul(al3, bl2)) | 0;\n mid = (mid + Math.imul(al3, bh2)) | 0;\n mid = (mid + Math.imul(ah3, bl2)) | 0;\n hi = (hi + Math.imul(ah3, bh2)) | 0;\n lo = (lo + Math.imul(al2, bl3)) | 0;\n mid = (mid + Math.imul(al2, bh3)) | 0;\n mid = (mid + Math.imul(ah2, bl3)) | 0;\n hi = (hi + Math.imul(ah2, bh3)) | 0;\n lo = (lo + Math.imul(al1, bl4)) | 0;\n mid = (mid + Math.imul(al1, bh4)) | 0;\n mid = (mid + Math.imul(ah1, bl4)) | 0;\n hi = (hi + Math.imul(ah1, bh4)) | 0;\n lo = (lo + Math.imul(al0, bl5)) | 0;\n mid = (mid + Math.imul(al0, bh5)) | 0;\n mid = (mid + Math.imul(ah0, bl5)) | 0;\n hi = (hi + Math.imul(ah0, bh5)) | 0;\n var w5 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w5 >>> 26)) | 0;\n w5 &= 0x3ffffff;\n /* k = 6 */\n lo = Math.imul(al6, bl0);\n mid = Math.imul(al6, bh0);\n mid = (mid + Math.imul(ah6, bl0)) | 0;\n hi = Math.imul(ah6, bh0);\n lo = (lo + Math.imul(al5, bl1)) | 0;\n mid = (mid + Math.imul(al5, bh1)) | 0;\n mid = (mid + Math.imul(ah5, bl1)) | 0;\n hi = (hi + Math.imul(ah5, bh1)) | 0;\n lo = (lo + Math.imul(al4, bl2)) | 0;\n mid = (mid + Math.imul(al4, bh2)) | 0;\n mid = (mid + Math.imul(ah4, bl2)) | 0;\n hi = (hi + Math.imul(ah4, bh2)) | 0;\n lo = (lo + Math.imul(al3, bl3)) | 0;\n mid = (mid + Math.imul(al3, bh3)) | 0;\n mid = (mid + Math.imul(ah3, bl3)) | 0;\n hi = (hi + Math.imul(ah3, bh3)) | 0;\n lo = (lo + Math.imul(al2, bl4)) | 0;\n mid = (mid + Math.imul(al2, bh4)) | 0;\n mid = (mid + Math.imul(ah2, bl4)) | 0;\n hi = (hi + Math.imul(ah2, bh4)) | 0;\n lo = (lo + Math.imul(al1, bl5)) | 0;\n mid = (mid + Math.imul(al1, bh5)) | 0;\n mid = (mid + Math.imul(ah1, bl5)) | 0;\n hi = (hi + Math.imul(ah1, bh5)) | 0;\n lo = (lo + Math.imul(al0, bl6)) | 0;\n mid = (mid + Math.imul(al0, bh6)) | 0;\n mid = (mid + Math.imul(ah0, bl6)) | 0;\n hi = (hi + Math.imul(ah0, bh6)) | 0;\n var w6 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w6 >>> 26)) | 0;\n w6 &= 0x3ffffff;\n /* k = 7 */\n lo = Math.imul(al7, bl0);\n mid = Math.imul(al7, bh0);\n mid = (mid + Math.imul(ah7, bl0)) | 0;\n hi = Math.imul(ah7, bh0);\n lo = (lo + Math.imul(al6, bl1)) | 0;\n mid = (mid + Math.imul(al6, bh1)) | 0;\n mid = (mid + Math.imul(ah6, bl1)) | 0;\n hi = (hi + Math.imul(ah6, bh1)) | 0;\n lo = (lo + Math.imul(al5, bl2)) | 0;\n mid = (mid + Math.imul(al5, bh2)) | 0;\n mid = (mid + Math.imul(ah5, bl2)) | 0;\n hi = (hi + Math.imul(ah5, bh2)) | 0;\n lo = (lo + Math.imul(al4, bl3)) | 0;\n mid = (mid + Math.imul(al4, bh3)) | 0;\n mid = (mid + Math.imul(ah4, bl3)) | 0;\n hi = (hi + Math.imul(ah4, bh3)) | 0;\n lo = (lo + Math.imul(al3, bl4)) | 0;\n mid = (mid + Math.imul(al3, bh4)) | 0;\n mid = (mid + Math.imul(ah3, bl4)) | 0;\n hi = (hi + Math.imul(ah3, bh4)) | 0;\n lo = (lo + Math.imul(al2, bl5)) | 0;\n mid = (mid + Math.imul(al2, bh5)) | 0;\n mid = (mid + Math.imul(ah2, bl5)) | 0;\n hi = (hi + Math.imul(ah2, bh5)) | 0;\n lo = (lo + Math.imul(al1, bl6)) | 0;\n mid = (mid + Math.imul(al1, bh6)) | 0;\n mid = (mid + Math.imul(ah1, bl6)) | 0;\n hi = (hi + Math.imul(ah1, bh6)) | 0;\n lo = (lo + Math.imul(al0, bl7)) | 0;\n mid = (mid + Math.imul(al0, bh7)) | 0;\n mid = (mid + Math.imul(ah0, bl7)) | 0;\n hi = (hi + Math.imul(ah0, bh7)) | 0;\n var w7 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w7 >>> 26)) | 0;\n w7 &= 0x3ffffff;\n /* k = 8 */\n lo = Math.imul(al8, bl0);\n mid = Math.imul(al8, bh0);\n mid = (mid + Math.imul(ah8, bl0)) | 0;\n hi = Math.imul(ah8, bh0);\n lo = (lo + Math.imul(al7, bl1)) | 0;\n mid = (mid + Math.imul(al7, bh1)) | 0;\n mid = (mid + Math.imul(ah7, bl1)) | 0;\n hi = (hi + Math.imul(ah7, bh1)) | 0;\n lo = (lo + Math.imul(al6, bl2)) | 0;\n mid = (mid + Math.imul(al6, bh2)) | 0;\n mid = (mid + Math.imul(ah6, bl2)) | 0;\n hi = (hi + Math.imul(ah6, bh2)) | 0;\n lo = (lo + Math.imul(al5, bl3)) | 0;\n mid = (mid + Math.imul(al5, bh3)) | 0;\n mid = (mid + Math.imul(ah5, bl3)) | 0;\n hi = (hi + Math.imul(ah5, bh3)) | 0;\n lo = (lo + Math.imul(al4, bl4)) | 0;\n mid = (mid + Math.imul(al4, bh4)) | 0;\n mid = (mid + Math.imul(ah4, bl4)) | 0;\n hi = (hi + Math.imul(ah4, bh4)) | 0;\n lo = (lo + Math.imul(al3, bl5)) | 0;\n mid = (mid + Math.imul(al3, bh5)) | 0;\n mid = (mid + Math.imul(ah3, bl5)) | 0;\n hi = (hi + Math.imul(ah3, bh5)) | 0;\n lo = (lo + Math.imul(al2, bl6)) | 0;\n mid = (mid + Math.imul(al2, bh6)) | 0;\n mid = (mid + Math.imul(ah2, bl6)) | 0;\n hi = (hi + Math.imul(ah2, bh6)) | 0;\n lo = (lo + Math.imul(al1, bl7)) | 0;\n mid = (mid + Math.imul(al1, bh7)) | 0;\n mid = (mid + Math.imul(ah1, bl7)) | 0;\n hi = (hi + Math.imul(ah1, bh7)) | 0;\n lo = (lo + Math.imul(al0, bl8)) | 0;\n mid = (mid + Math.imul(al0, bh8)) | 0;\n mid = (mid + Math.imul(ah0, bl8)) | 0;\n hi = (hi + Math.imul(ah0, bh8)) | 0;\n var w8 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w8 >>> 26)) | 0;\n w8 &= 0x3ffffff;\n /* k = 9 */\n lo = Math.imul(al9, bl0);\n mid = Math.imul(al9, bh0);\n mid = (mid + Math.imul(ah9, bl0)) | 0;\n hi = Math.imul(ah9, bh0);\n lo = (lo + Math.imul(al8, bl1)) | 0;\n mid = (mid + Math.imul(al8, bh1)) | 0;\n mid = (mid + Math.imul(ah8, bl1)) | 0;\n hi = (hi + Math.imul(ah8, bh1)) | 0;\n lo = (lo + Math.imul(al7, bl2)) | 0;\n mid = (mid + Math.imul(al7, bh2)) | 0;\n mid = (mid + Math.imul(ah7, bl2)) | 0;\n hi = (hi + Math.imul(ah7, bh2)) | 0;\n lo = (lo + Math.imul(al6, bl3)) | 0;\n mid = (mid + Math.imul(al6, bh3)) | 0;\n mid = (mid + Math.imul(ah6, bl3)) | 0;\n hi = (hi + Math.imul(ah6, bh3)) | 0;\n lo = (lo + Math.imul(al5, bl4)) | 0;\n mid = (mid + Math.imul(al5, bh4)) | 0;\n mid = (mid + Math.imul(ah5, bl4)) | 0;\n hi = (hi + Math.imul(ah5, bh4)) | 0;\n lo = (lo + Math.imul(al4, bl5)) | 0;\n mid = (mid + Math.imul(al4, bh5)) | 0;\n mid = (mid + Math.imul(ah4, bl5)) | 0;\n hi = (hi + Math.imul(ah4, bh5)) | 0;\n lo = (lo + Math.imul(al3, bl6)) | 0;\n mid = (mid + Math.imul(al3, bh6)) | 0;\n mid = (mid + Math.imul(ah3, bl6)) | 0;\n hi = (hi + Math.imul(ah3, bh6)) | 0;\n lo = (lo + Math.imul(al2, bl7)) | 0;\n mid = (mid + Math.imul(al2, bh7)) | 0;\n mid = (mid + Math.imul(ah2, bl7)) | 0;\n hi = (hi + Math.imul(ah2, bh7)) | 0;\n lo = (lo + Math.imul(al1, bl8)) | 0;\n mid = (mid + Math.imul(al1, bh8)) | 0;\n mid = (mid + Math.imul(ah1, bl8)) | 0;\n hi = (hi + Math.imul(ah1, bh8)) | 0;\n lo = (lo + Math.imul(al0, bl9)) | 0;\n mid = (mid + Math.imul(al0, bh9)) | 0;\n mid = (mid + Math.imul(ah0, bl9)) | 0;\n hi = (hi + Math.imul(ah0, bh9)) | 0;\n var w9 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w9 >>> 26)) | 0;\n w9 &= 0x3ffffff;\n /* k = 10 */\n lo = Math.imul(al9, bl1);\n mid = Math.imul(al9, bh1);\n mid = (mid + Math.imul(ah9, bl1)) | 0;\n hi = Math.imul(ah9, bh1);\n lo = (lo + Math.imul(al8, bl2)) | 0;\n mid = (mid + Math.imul(al8, bh2)) | 0;\n mid = (mid + Math.imul(ah8, bl2)) | 0;\n hi = (hi + Math.imul(ah8, bh2)) | 0;\n lo = (lo + Math.imul(al7, bl3)) | 0;\n mid = (mid + Math.imul(al7, bh3)) | 0;\n mid = (mid + Math.imul(ah7, bl3)) | 0;\n hi = (hi + Math.imul(ah7, bh3)) | 0;\n lo = (lo + Math.imul(al6, bl4)) | 0;\n mid = (mid + Math.imul(al6, bh4)) | 0;\n mid = (mid + Math.imul(ah6, bl4)) | 0;\n hi = (hi + Math.imul(ah6, bh4)) | 0;\n lo = (lo + Math.imul(al5, bl5)) | 0;\n mid = (mid + Math.imul(al5, bh5)) | 0;\n mid = (mid + Math.imul(ah5, bl5)) | 0;\n hi = (hi + Math.imul(ah5, bh5)) | 0;\n lo = (lo + Math.imul(al4, bl6)) | 0;\n mid = (mid + Math.imul(al4, bh6)) | 0;\n mid = (mid + Math.imul(ah4, bl6)) | 0;\n hi = (hi + Math.imul(ah4, bh6)) | 0;\n lo = (lo + Math.imul(al3, bl7)) | 0;\n mid = (mid + Math.imul(al3, bh7)) | 0;\n mid = (mid + Math.imul(ah3, bl7)) | 0;\n hi = (hi + Math.imul(ah3, bh7)) | 0;\n lo = (lo + Math.imul(al2, bl8)) | 0;\n mid = (mid + Math.imul(al2, bh8)) | 0;\n mid = (mid + Math.imul(ah2, bl8)) | 0;\n hi = (hi + Math.imul(ah2, bh8)) | 0;\n lo = (lo + Math.imul(al1, bl9)) | 0;\n mid = (mid + Math.imul(al1, bh9)) | 0;\n mid = (mid + Math.imul(ah1, bl9)) | 0;\n hi = (hi + Math.imul(ah1, bh9)) | 0;\n var w10 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w10 >>> 26)) | 0;\n w10 &= 0x3ffffff;\n /* k = 11 */\n lo = Math.imul(al9, bl2);\n mid = Math.imul(al9, bh2);\n mid = (mid + Math.imul(ah9, bl2)) | 0;\n hi = Math.imul(ah9, bh2);\n lo = (lo + Math.imul(al8, bl3)) | 0;\n mid = (mid + Math.imul(al8, bh3)) | 0;\n mid = (mid + Math.imul(ah8, bl3)) | 0;\n hi = (hi + Math.imul(ah8, bh3)) | 0;\n lo = (lo + Math.imul(al7, bl4)) | 0;\n mid = (mid + Math.imul(al7, bh4)) | 0;\n mid = (mid + Math.imul(ah7, bl4)) | 0;\n hi = (hi + Math.imul(ah7, bh4)) | 0;\n lo = (lo + Math.imul(al6, bl5)) | 0;\n mid = (mid + Math.imul(al6, bh5)) | 0;\n mid = (mid + Math.imul(ah6, bl5)) | 0;\n hi = (hi + Math.imul(ah6, bh5)) | 0;\n lo = (lo + Math.imul(al5, bl6)) | 0;\n mid = (mid + Math.imul(al5, bh6)) | 0;\n mid = (mid + Math.imul(ah5, bl6)) | 0;\n hi = (hi + Math.imul(ah5, bh6)) | 0;\n lo = (lo + Math.imul(al4, bl7)) | 0;\n mid = (mid + Math.imul(al4, bh7)) | 0;\n mid = (mid + Math.imul(ah4, bl7)) | 0;\n hi = (hi + Math.imul(ah4, bh7)) | 0;\n lo = (lo + Math.imul(al3, bl8)) | 0;\n mid = (mid + Math.imul(al3, bh8)) | 0;\n mid = (mid + Math.imul(ah3, bl8)) | 0;\n hi = (hi + Math.imul(ah3, bh8)) | 0;\n lo = (lo + Math.imul(al2, bl9)) | 0;\n mid = (mid + Math.imul(al2, bh9)) | 0;\n mid = (mid + Math.imul(ah2, bl9)) | 0;\n hi = (hi + Math.imul(ah2, bh9)) | 0;\n var w11 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w11 >>> 26)) | 0;\n w11 &= 0x3ffffff;\n /* k = 12 */\n lo = Math.imul(al9, bl3);\n mid = Math.imul(al9, bh3);\n mid = (mid + Math.imul(ah9, bl3)) | 0;\n hi = Math.imul(ah9, bh3);\n lo = (lo + Math.imul(al8, bl4)) | 0;\n mid = (mid + Math.imul(al8, bh4)) | 0;\n mid = (mid + Math.imul(ah8, bl4)) | 0;\n hi = (hi + Math.imul(ah8, bh4)) | 0;\n lo = (lo + Math.imul(al7, bl5)) | 0;\n mid = (mid + Math.imul(al7, bh5)) | 0;\n mid = (mid + Math.imul(ah7, bl5)) | 0;\n hi = (hi + Math.imul(ah7, bh5)) | 0;\n lo = (lo + Math.imul(al6, bl6)) | 0;\n mid = (mid + Math.imul(al6, bh6)) | 0;\n mid = (mid + Math.imul(ah6, bl6)) | 0;\n hi = (hi + Math.imul(ah6, bh6)) | 0;\n lo = (lo + Math.imul(al5, bl7)) | 0;\n mid = (mid + Math.imul(al5, bh7)) | 0;\n mid = (mid + Math.imul(ah5, bl7)) | 0;\n hi = (hi + Math.imul(ah5, bh7)) | 0;\n lo = (lo + Math.imul(al4, bl8)) | 0;\n mid = (mid + Math.imul(al4, bh8)) | 0;\n mid = (mid + Math.imul(ah4, bl8)) | 0;\n hi = (hi + Math.imul(ah4, bh8)) | 0;\n lo = (lo + Math.imul(al3, bl9)) | 0;\n mid = (mid + Math.imul(al3, bh9)) | 0;\n mid = (mid + Math.imul(ah3, bl9)) | 0;\n hi = (hi + Math.imul(ah3, bh9)) | 0;\n var w12 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w12 >>> 26)) | 0;\n w12 &= 0x3ffffff;\n /* k = 13 */\n lo = Math.imul(al9, bl4);\n mid = Math.imul(al9, bh4);\n mid = (mid + Math.imul(ah9, bl4)) | 0;\n hi = Math.imul(ah9, bh4);\n lo = (lo + Math.imul(al8, bl5)) | 0;\n mid = (mid + Math.imul(al8, bh5)) | 0;\n mid = (mid + Math.imul(ah8, bl5)) | 0;\n hi = (hi + Math.imul(ah8, bh5)) | 0;\n lo = (lo + Math.imul(al7, bl6)) | 0;\n mid = (mid + Math.imul(al7, bh6)) | 0;\n mid = (mid + Math.imul(ah7, bl6)) | 0;\n hi = (hi + Math.imul(ah7, bh6)) | 0;\n lo = (lo + Math.imul(al6, bl7)) | 0;\n mid = (mid + Math.imul(al6, bh7)) | 0;\n mid = (mid + Math.imul(ah6, bl7)) | 0;\n hi = (hi + Math.imul(ah6, bh7)) | 0;\n lo = (lo + Math.imul(al5, bl8)) | 0;\n mid = (mid + Math.imul(al5, bh8)) | 0;\n mid = (mid + Math.imul(ah5, bl8)) | 0;\n hi = (hi + Math.imul(ah5, bh8)) | 0;\n lo = (lo + Math.imul(al4, bl9)) | 0;\n mid = (mid + Math.imul(al4, bh9)) | 0;\n mid = (mid + Math.imul(ah4, bl9)) | 0;\n hi = (hi + Math.imul(ah4, bh9)) | 0;\n var w13 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w13 >>> 26)) | 0;\n w13 &= 0x3ffffff;\n /* k = 14 */\n lo = Math.imul(al9, bl5);\n mid = Math.imul(al9, bh5);\n mid = (mid + Math.imul(ah9, bl5)) | 0;\n hi = Math.imul(ah9, bh5);\n lo = (lo + Math.imul(al8, bl6)) | 0;\n mid = (mid + Math.imul(al8, bh6)) | 0;\n mid = (mid + Math.imul(ah8, bl6)) | 0;\n hi = (hi + Math.imul(ah8, bh6)) | 0;\n lo = (lo + Math.imul(al7, bl7)) | 0;\n mid = (mid + Math.imul(al7, bh7)) | 0;\n mid = (mid + Math.imul(ah7, bl7)) | 0;\n hi = (hi + Math.imul(ah7, bh7)) | 0;\n lo = (lo + Math.imul(al6, bl8)) | 0;\n mid = (mid + Math.imul(al6, bh8)) | 0;\n mid = (mid + Math.imul(ah6, bl8)) | 0;\n hi = (hi + Math.imul(ah6, bh8)) | 0;\n lo = (lo + Math.imul(al5, bl9)) | 0;\n mid = (mid + Math.imul(al5, bh9)) | 0;\n mid = (mid + Math.imul(ah5, bl9)) | 0;\n hi = (hi + Math.imul(ah5, bh9)) | 0;\n var w14 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w14 >>> 26)) | 0;\n w14 &= 0x3ffffff;\n /* k = 15 */\n lo = Math.imul(al9, bl6);\n mid = Math.imul(al9, bh6);\n mid = (mid + Math.imul(ah9, bl6)) | 0;\n hi = Math.imul(ah9, bh6);\n lo = (lo + Math.imul(al8, bl7)) | 0;\n mid = (mid + Math.imul(al8, bh7)) | 0;\n mid = (mid + Math.imul(ah8, bl7)) | 0;\n hi = (hi + Math.imul(ah8, bh7)) | 0;\n lo = (lo + Math.imul(al7, bl8)) | 0;\n mid = (mid + Math.imul(al7, bh8)) | 0;\n mid = (mid + Math.imul(ah7, bl8)) | 0;\n hi = (hi + Math.imul(ah7, bh8)) | 0;\n lo = (lo + Math.imul(al6, bl9)) | 0;\n mid = (mid + Math.imul(al6, bh9)) | 0;\n mid = (mid + Math.imul(ah6, bl9)) | 0;\n hi = (hi + Math.imul(ah6, bh9)) | 0;\n var w15 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w15 >>> 26)) | 0;\n w15 &= 0x3ffffff;\n /* k = 16 */\n lo = Math.imul(al9, bl7);\n mid = Math.imul(al9, bh7);\n mid = (mid + Math.imul(ah9, bl7)) | 0;\n hi = Math.imul(ah9, bh7);\n lo = (lo + Math.imul(al8, bl8)) | 0;\n mid = (mid + Math.imul(al8, bh8)) | 0;\n mid = (mid + Math.imul(ah8, bl8)) | 0;\n hi = (hi + Math.imul(ah8, bh8)) | 0;\n lo = (lo + Math.imul(al7, bl9)) | 0;\n mid = (mid + Math.imul(al7, bh9)) | 0;\n mid = (mid + Math.imul(ah7, bl9)) | 0;\n hi = (hi + Math.imul(ah7, bh9)) | 0;\n var w16 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w16 >>> 26)) | 0;\n w16 &= 0x3ffffff;\n /* k = 17 */\n lo = Math.imul(al9, bl8);\n mid = Math.imul(al9, bh8);\n mid = (mid + Math.imul(ah9, bl8)) | 0;\n hi = Math.imul(ah9, bh8);\n lo = (lo + Math.imul(al8, bl9)) | 0;\n mid = (mid + Math.imul(al8, bh9)) | 0;\n mid = (mid + Math.imul(ah8, bl9)) | 0;\n hi = (hi + Math.imul(ah8, bh9)) | 0;\n var w17 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w17 >>> 26)) | 0;\n w17 &= 0x3ffffff;\n /* k = 18 */\n lo = Math.imul(al9, bl9);\n mid = Math.imul(al9, bh9);\n mid = (mid + Math.imul(ah9, bl9)) | 0;\n hi = Math.imul(ah9, bh9);\n var w18 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w18 >>> 26)) | 0;\n w18 &= 0x3ffffff;\n o[0] = w0;\n o[1] = w1;\n o[2] = w2;\n o[3] = w3;\n o[4] = w4;\n o[5] = w5;\n o[6] = w6;\n o[7] = w7;\n o[8] = w8;\n o[9] = w9;\n o[10] = w10;\n o[11] = w11;\n o[12] = w12;\n o[13] = w13;\n o[14] = w14;\n o[15] = w15;\n o[16] = w16;\n o[17] = w17;\n o[18] = w18;\n if (c !== 0) {\n o[19] = c;\n out.length++;\n }\n return out;\n };\n\n // Polyfill comb\n if (!Math.imul) {\n comb10MulTo = smallMulTo;\n }\n\n function bigMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n out.length = self.length + num.length;\n\n var carry = 0;\n var hncarry = 0;\n for (var k = 0; k < out.length - 1; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = hncarry;\n hncarry = 0;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = k - j;\n var a = self.words[i] | 0;\n var b = num.words[j] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n ncarry = (ncarry + ((r / 0x4000000) | 0)) | 0;\n lo = (lo + rword) | 0;\n rword = lo & 0x3ffffff;\n ncarry = (ncarry + (lo >>> 26)) | 0;\n\n hncarry += ncarry >>> 26;\n ncarry &= 0x3ffffff;\n }\n out.words[k] = rword;\n carry = ncarry;\n ncarry = hncarry;\n }\n if (carry !== 0) {\n out.words[k] = carry;\n } else {\n out.length--;\n }\n\n return out.strip();\n }\n\n function jumboMulTo (self, num, out) {\n var fftm = new FFTM();\n return fftm.mulp(self, num, out);\n }\n\n BN.prototype.mulTo = function mulTo (num, out) {\n var res;\n var len = this.length + num.length;\n if (this.length === 10 && num.length === 10) {\n res = comb10MulTo(this, num, out);\n } else if (len < 63) {\n res = smallMulTo(this, num, out);\n } else if (len < 1024) {\n res = bigMulTo(this, num, out);\n } else {\n res = jumboMulTo(this, num, out);\n }\n\n return res;\n };\n\n // Cooley-Tukey algorithm for FFT\n // slightly revisited to rely on looping instead of recursion\n\n function FFTM (x, y) {\n this.x = x;\n this.y = y;\n }\n\n FFTM.prototype.makeRBT = function makeRBT (N) {\n var t = new Array(N);\n var l = BN.prototype._countBits(N) - 1;\n for (var i = 0; i < N; i++) {\n t[i] = this.revBin(i, l, N);\n }\n\n return t;\n };\n\n // Returns binary-reversed representation of `x`\n FFTM.prototype.revBin = function revBin (x, l, N) {\n if (x === 0 || x === N - 1) return x;\n\n var rb = 0;\n for (var i = 0; i < l; i++) {\n rb |= (x & 1) << (l - i - 1);\n x >>= 1;\n }\n\n return rb;\n };\n\n // Performs \"tweedling\" phase, therefore 'emulating'\n // behaviour of the recursive algorithm\n FFTM.prototype.permute = function permute (rbt, rws, iws, rtws, itws, N) {\n for (var i = 0; i < N; i++) {\n rtws[i] = rws[rbt[i]];\n itws[i] = iws[rbt[i]];\n }\n };\n\n FFTM.prototype.transform = function transform (rws, iws, rtws, itws, N, rbt) {\n this.permute(rbt, rws, iws, rtws, itws, N);\n\n for (var s = 1; s < N; s <<= 1) {\n var l = s << 1;\n\n var rtwdf = Math.cos(2 * Math.PI / l);\n var itwdf = Math.sin(2 * Math.PI / l);\n\n for (var p = 0; p < N; p += l) {\n var rtwdf_ = rtwdf;\n var itwdf_ = itwdf;\n\n for (var j = 0; j < s; j++) {\n var re = rtws[p + j];\n var ie = itws[p + j];\n\n var ro = rtws[p + j + s];\n var io = itws[p + j + s];\n\n var rx = rtwdf_ * ro - itwdf_ * io;\n\n io = rtwdf_ * io + itwdf_ * ro;\n ro = rx;\n\n rtws[p + j] = re + ro;\n itws[p + j] = ie + io;\n\n rtws[p + j + s] = re - ro;\n itws[p + j + s] = ie - io;\n\n /* jshint maxdepth : false */\n if (j !== l) {\n rx = rtwdf * rtwdf_ - itwdf * itwdf_;\n\n itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_;\n rtwdf_ = rx;\n }\n }\n }\n }\n };\n\n FFTM.prototype.guessLen13b = function guessLen13b (n, m) {\n var N = Math.max(m, n) | 1;\n var odd = N & 1;\n var i = 0;\n for (N = N / 2 | 0; N; N = N >>> 1) {\n i++;\n }\n\n return 1 << i + 1 + odd;\n };\n\n FFTM.prototype.conjugate = function conjugate (rws, iws, N) {\n if (N <= 1) return;\n\n for (var i = 0; i < N / 2; i++) {\n var t = rws[i];\n\n rws[i] = rws[N - i - 1];\n rws[N - i - 1] = t;\n\n t = iws[i];\n\n iws[i] = -iws[N - i - 1];\n iws[N - i - 1] = -t;\n }\n };\n\n FFTM.prototype.normalize13b = function normalize13b (ws, N) {\n var carry = 0;\n for (var i = 0; i < N / 2; i++) {\n var w = Math.round(ws[2 * i + 1] / N) * 0x2000 +\n Math.round(ws[2 * i] / N) +\n carry;\n\n ws[i] = w & 0x3ffffff;\n\n if (w < 0x4000000) {\n carry = 0;\n } else {\n carry = w / 0x4000000 | 0;\n }\n }\n\n return ws;\n };\n\n FFTM.prototype.convert13b = function convert13b (ws, len, rws, N) {\n var carry = 0;\n for (var i = 0; i < len; i++) {\n carry = carry + (ws[i] | 0);\n\n rws[2 * i] = carry & 0x1fff; carry = carry >>> 13;\n rws[2 * i + 1] = carry & 0x1fff; carry = carry >>> 13;\n }\n\n // Pad with zeroes\n for (i = 2 * len; i < N; ++i) {\n rws[i] = 0;\n }\n\n assert(carry === 0);\n assert((carry & ~0x1fff) === 0);\n };\n\n FFTM.prototype.stub = function stub (N) {\n var ph = new Array(N);\n for (var i = 0; i < N; i++) {\n ph[i] = 0;\n }\n\n return ph;\n };\n\n FFTM.prototype.mulp = function mulp (x, y, out) {\n var N = 2 * this.guessLen13b(x.length, y.length);\n\n var rbt = this.makeRBT(N);\n\n var _ = this.stub(N);\n\n var rws = new Array(N);\n var rwst = new Array(N);\n var iwst = new Array(N);\n\n var nrws = new Array(N);\n var nrwst = new Array(N);\n var niwst = new Array(N);\n\n var rmws = out.words;\n rmws.length = N;\n\n this.convert13b(x.words, x.length, rws, N);\n this.convert13b(y.words, y.length, nrws, N);\n\n this.transform(rws, _, rwst, iwst, N, rbt);\n this.transform(nrws, _, nrwst, niwst, N, rbt);\n\n for (var i = 0; i < N; i++) {\n var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i];\n iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i];\n rwst[i] = rx;\n }\n\n this.conjugate(rwst, iwst, N);\n this.transform(rwst, iwst, rmws, _, N, rbt);\n this.conjugate(rmws, _, N);\n this.normalize13b(rmws, N);\n\n out.negative = x.negative ^ y.negative;\n out.length = x.length + y.length;\n return out.strip();\n };\n\n // Multiply `this` by `num`\n BN.prototype.mul = function mul (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return this.mulTo(num, out);\n };\n\n // Multiply employing FFT\n BN.prototype.mulf = function mulf (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return jumboMulTo(this, num, out);\n };\n\n // In-place Multiplication\n BN.prototype.imul = function imul (num) {\n return this.clone().mulTo(num, this);\n };\n\n BN.prototype.imuln = function imuln (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n\n // Carry\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = (this.words[i] | 0) * num;\n var lo = (w & 0x3ffffff) + (carry & 0x3ffffff);\n carry >>= 26;\n carry += (w / 0x4000000) | 0;\n // NOTE: lo is 27bit maximum\n carry += lo >>> 26;\n this.words[i] = lo & 0x3ffffff;\n }\n\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n this.length = num === 0 ? 1 : this.length;\n\n return this;\n };\n\n BN.prototype.muln = function muln (num) {\n return this.clone().imuln(num);\n };\n\n // `this` * `this`\n BN.prototype.sqr = function sqr () {\n return this.mul(this);\n };\n\n // `this` * `this` in-place\n BN.prototype.isqr = function isqr () {\n return this.imul(this.clone());\n };\n\n // Math.pow(`this`, `num`)\n BN.prototype.pow = function pow (num) {\n var w = toBitArray(num);\n if (w.length === 0) return new BN(1);\n\n // Skip leading zeroes\n var res = this;\n for (var i = 0; i < w.length; i++, res = res.sqr()) {\n if (w[i] !== 0) break;\n }\n\n if (++i < w.length) {\n for (var q = res.sqr(); i < w.length; i++, q = q.sqr()) {\n if (w[i] === 0) continue;\n\n res = res.mul(q);\n }\n }\n\n return res;\n };\n\n // Shift-left in-place\n BN.prototype.iushln = function iushln (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n var carryMask = (0x3ffffff >>> (26 - r)) << (26 - r);\n var i;\n\n if (r !== 0) {\n var carry = 0;\n\n for (i = 0; i < this.length; i++) {\n var newCarry = this.words[i] & carryMask;\n var c = ((this.words[i] | 0) - newCarry) << r;\n this.words[i] = c | carry;\n carry = newCarry >>> (26 - r);\n }\n\n if (carry) {\n this.words[i] = carry;\n this.length++;\n }\n }\n\n if (s !== 0) {\n for (i = this.length - 1; i >= 0; i--) {\n this.words[i + s] = this.words[i];\n }\n\n for (i = 0; i < s; i++) {\n this.words[i] = 0;\n }\n\n this.length += s;\n }\n\n return this.strip();\n };\n\n BN.prototype.ishln = function ishln (bits) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushln(bits);\n };\n\n // Shift-right in-place\n // NOTE: `hint` is a lowest bit before trailing zeroes\n // NOTE: if `extended` is present - it will be filled with destroyed bits\n BN.prototype.iushrn = function iushrn (bits, hint, extended) {\n assert(typeof bits === 'number' && bits >= 0);\n var h;\n if (hint) {\n h = (hint - (hint % 26)) / 26;\n } else {\n h = 0;\n }\n\n var r = bits % 26;\n var s = Math.min((bits - r) / 26, this.length);\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n var maskedWords = extended;\n\n h -= s;\n h = Math.max(0, h);\n\n // Extended mode, copy masked part\n if (maskedWords) {\n for (var i = 0; i < s; i++) {\n maskedWords.words[i] = this.words[i];\n }\n maskedWords.length = s;\n }\n\n if (s === 0) {\n // No-op, we should not move anything at all\n } else if (this.length > s) {\n this.length -= s;\n for (i = 0; i < this.length; i++) {\n this.words[i] = this.words[i + s];\n }\n } else {\n this.words[0] = 0;\n this.length = 1;\n }\n\n var carry = 0;\n for (i = this.length - 1; i >= 0 && (carry !== 0 || i >= h); i--) {\n var word = this.words[i] | 0;\n this.words[i] = (carry << (26 - r)) | (word >>> r);\n carry = word & mask;\n }\n\n // Push carried bits as a mask\n if (maskedWords && carry !== 0) {\n maskedWords.words[maskedWords.length++] = carry;\n }\n\n if (this.length === 0) {\n this.words[0] = 0;\n this.length = 1;\n }\n\n return this.strip();\n };\n\n BN.prototype.ishrn = function ishrn (bits, hint, extended) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushrn(bits, hint, extended);\n };\n\n // Shift-left\n BN.prototype.shln = function shln (bits) {\n return this.clone().ishln(bits);\n };\n\n BN.prototype.ushln = function ushln (bits) {\n return this.clone().iushln(bits);\n };\n\n // Shift-right\n BN.prototype.shrn = function shrn (bits) {\n return this.clone().ishrn(bits);\n };\n\n BN.prototype.ushrn = function ushrn (bits) {\n return this.clone().iushrn(bits);\n };\n\n // Test if n bit is set\n BN.prototype.testn = function testn (bit) {\n assert(typeof bit === 'number' && bit >= 0);\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) return false;\n\n // Check bit and return\n var w = this.words[s];\n\n return !!(w & q);\n };\n\n // Return only lowers bits of number (in-place)\n BN.prototype.imaskn = function imaskn (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n\n assert(this.negative === 0, 'imaskn works only with positive numbers');\n\n if (this.length <= s) {\n return this;\n }\n\n if (r !== 0) {\n s++;\n }\n this.length = Math.min(s, this.length);\n\n if (r !== 0) {\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n this.words[this.length - 1] &= mask;\n }\n\n return this.strip();\n };\n\n // Return only lowers bits of number\n BN.prototype.maskn = function maskn (bits) {\n return this.clone().imaskn(bits);\n };\n\n // Add plain number `num` to `this`\n BN.prototype.iaddn = function iaddn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.isubn(-num);\n\n // Possible sign change\n if (this.negative !== 0) {\n if (this.length === 1 && (this.words[0] | 0) < num) {\n this.words[0] = num - (this.words[0] | 0);\n this.negative = 0;\n return this;\n }\n\n this.negative = 0;\n this.isubn(num);\n this.negative = 1;\n return this;\n }\n\n // Add without checks\n return this._iaddn(num);\n };\n\n BN.prototype._iaddn = function _iaddn (num) {\n this.words[0] += num;\n\n // Carry\n for (var i = 0; i < this.length && this.words[i] >= 0x4000000; i++) {\n this.words[i] -= 0x4000000;\n if (i === this.length - 1) {\n this.words[i + 1] = 1;\n } else {\n this.words[i + 1]++;\n }\n }\n this.length = Math.max(this.length, i + 1);\n\n return this;\n };\n\n // Subtract plain number `num` from `this`\n BN.prototype.isubn = function isubn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.iaddn(-num);\n\n if (this.negative !== 0) {\n this.negative = 0;\n this.iaddn(num);\n this.negative = 1;\n return this;\n }\n\n this.words[0] -= num;\n\n if (this.length === 1 && this.words[0] < 0) {\n this.words[0] = -this.words[0];\n this.negative = 1;\n } else {\n // Carry\n for (var i = 0; i < this.length && this.words[i] < 0; i++) {\n this.words[i] += 0x4000000;\n this.words[i + 1] -= 1;\n }\n }\n\n return this.strip();\n };\n\n BN.prototype.addn = function addn (num) {\n return this.clone().iaddn(num);\n };\n\n BN.prototype.subn = function subn (num) {\n return this.clone().isubn(num);\n };\n\n BN.prototype.iabs = function iabs () {\n this.negative = 0;\n\n return this;\n };\n\n BN.prototype.abs = function abs () {\n return this.clone().iabs();\n };\n\n BN.prototype._ishlnsubmul = function _ishlnsubmul (num, mul, shift) {\n var len = num.length + shift;\n var i;\n\n this._expand(len);\n\n var w;\n var carry = 0;\n for (i = 0; i < num.length; i++) {\n w = (this.words[i + shift] | 0) + carry;\n var right = (num.words[i] | 0) * mul;\n w -= right & 0x3ffffff;\n carry = (w >> 26) - ((right / 0x4000000) | 0);\n this.words[i + shift] = w & 0x3ffffff;\n }\n for (; i < this.length - shift; i++) {\n w = (this.words[i + shift] | 0) + carry;\n carry = w >> 26;\n this.words[i + shift] = w & 0x3ffffff;\n }\n\n if (carry === 0) return this.strip();\n\n // Subtraction overflow\n assert(carry === -1);\n carry = 0;\n for (i = 0; i < this.length; i++) {\n w = -(this.words[i] | 0) + carry;\n carry = w >> 26;\n this.words[i] = w & 0x3ffffff;\n }\n this.negative = 1;\n\n return this.strip();\n };\n\n BN.prototype._wordDiv = function _wordDiv (num, mode) {\n var shift = this.length - num.length;\n\n var a = this.clone();\n var b = num;\n\n // Normalize\n var bhi = b.words[b.length - 1] | 0;\n var bhiBits = this._countBits(bhi);\n shift = 26 - bhiBits;\n if (shift !== 0) {\n b = b.ushln(shift);\n a.iushln(shift);\n bhi = b.words[b.length - 1] | 0;\n }\n\n // Initialize quotient\n var m = a.length - b.length;\n var q;\n\n if (mode !== 'mod') {\n q = new BN(null);\n q.length = m + 1;\n q.words = new Array(q.length);\n for (var i = 0; i < q.length; i++) {\n q.words[i] = 0;\n }\n }\n\n var diff = a.clone()._ishlnsubmul(b, 1, m);\n if (diff.negative === 0) {\n a = diff;\n if (q) {\n q.words[m] = 1;\n }\n }\n\n for (var j = m - 1; j >= 0; j--) {\n var qj = (a.words[b.length + j] | 0) * 0x4000000 +\n (a.words[b.length + j - 1] | 0);\n\n // NOTE: (qj / bhi) is (0x3ffffff * 0x4000000 + 0x3ffffff) / 0x2000000 max\n // (0x7ffffff)\n qj = Math.min((qj / bhi) | 0, 0x3ffffff);\n\n a._ishlnsubmul(b, qj, j);\n while (a.negative !== 0) {\n qj--;\n a.negative = 0;\n a._ishlnsubmul(b, 1, j);\n if (!a.isZero()) {\n a.negative ^= 1;\n }\n }\n if (q) {\n q.words[j] = qj;\n }\n }\n if (q) {\n q.strip();\n }\n a.strip();\n\n // Denormalize\n if (mode !== 'div' && shift !== 0) {\n a.iushrn(shift);\n }\n\n return {\n div: q || null,\n mod: a\n };\n };\n\n // NOTE: 1) `mode` can be set to `mod` to request mod only,\n // to `div` to request div only, or be absent to\n // request both div & mod\n // 2) `positive` is true if unsigned mod is requested\n BN.prototype.divmod = function divmod (num, mode, positive) {\n assert(!num.isZero());\n\n if (this.isZero()) {\n return {\n div: new BN(0),\n mod: new BN(0)\n };\n }\n\n var div, mod, res;\n if (this.negative !== 0 && num.negative === 0) {\n res = this.neg().divmod(num, mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.iadd(num);\n }\n }\n\n return {\n div: div,\n mod: mod\n };\n }\n\n if (this.negative === 0 && num.negative !== 0) {\n res = this.divmod(num.neg(), mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n return {\n div: div,\n mod: res.mod\n };\n }\n\n if ((this.negative & num.negative) !== 0) {\n res = this.neg().divmod(num.neg(), mode);\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.isub(num);\n }\n }\n\n return {\n div: res.div,\n mod: mod\n };\n }\n\n // Both numbers are positive at this point\n\n // Strip both numbers to approximate shift value\n if (num.length > this.length || this.cmp(num) < 0) {\n return {\n div: new BN(0),\n mod: this\n };\n }\n\n // Very short reduction\n if (num.length === 1) {\n if (mode === 'div') {\n return {\n div: this.divn(num.words[0]),\n mod: null\n };\n }\n\n if (mode === 'mod') {\n return {\n div: null,\n mod: new BN(this.modn(num.words[0]))\n };\n }\n\n return {\n div: this.divn(num.words[0]),\n mod: new BN(this.modn(num.words[0]))\n };\n }\n\n return this._wordDiv(num, mode);\n };\n\n // Find `this` / `num`\n BN.prototype.div = function div (num) {\n return this.divmod(num, 'div', false).div;\n };\n\n // Find `this` % `num`\n BN.prototype.mod = function mod (num) {\n return this.divmod(num, 'mod', false).mod;\n };\n\n BN.prototype.umod = function umod (num) {\n return this.divmod(num, 'mod', true).mod;\n };\n\n // Find Round(`this` / `num`)\n BN.prototype.divRound = function divRound (num) {\n var dm = this.divmod(num);\n\n // Fast case - exact division\n if (dm.mod.isZero()) return dm.div;\n\n var mod = dm.div.negative !== 0 ? dm.mod.isub(num) : dm.mod;\n\n var half = num.ushrn(1);\n var r2 = num.andln(1);\n var cmp = mod.cmp(half);\n\n // Round down\n if (cmp < 0 || r2 === 1 && cmp === 0) return dm.div;\n\n // Round up\n return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1);\n };\n\n BN.prototype.modn = function modn (num) {\n assert(num <= 0x3ffffff);\n var p = (1 << 26) % num;\n\n var acc = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n acc = (p * acc + (this.words[i] | 0)) % num;\n }\n\n return acc;\n };\n\n // In-place division by number\n BN.prototype.idivn = function idivn (num) {\n assert(num <= 0x3ffffff);\n\n var carry = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var w = (this.words[i] | 0) + carry * 0x4000000;\n this.words[i] = (w / num) | 0;\n carry = w % num;\n }\n\n return this.strip();\n };\n\n BN.prototype.divn = function divn (num) {\n return this.clone().idivn(num);\n };\n\n BN.prototype.egcd = function egcd (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var x = this;\n var y = p.clone();\n\n if (x.negative !== 0) {\n x = x.umod(p);\n } else {\n x = x.clone();\n }\n\n // A * x + B * y = x\n var A = new BN(1);\n var B = new BN(0);\n\n // C * x + D * y = y\n var C = new BN(0);\n var D = new BN(1);\n\n var g = 0;\n\n while (x.isEven() && y.isEven()) {\n x.iushrn(1);\n y.iushrn(1);\n ++g;\n }\n\n var yp = y.clone();\n var xp = x.clone();\n\n while (!x.isZero()) {\n for (var i = 0, im = 1; (x.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n x.iushrn(i);\n while (i-- > 0) {\n if (A.isOdd() || B.isOdd()) {\n A.iadd(yp);\n B.isub(xp);\n }\n\n A.iushrn(1);\n B.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n y.iushrn(j);\n while (j-- > 0) {\n if (C.isOdd() || D.isOdd()) {\n C.iadd(yp);\n D.isub(xp);\n }\n\n C.iushrn(1);\n D.iushrn(1);\n }\n }\n\n if (x.cmp(y) >= 0) {\n x.isub(y);\n A.isub(C);\n B.isub(D);\n } else {\n y.isub(x);\n C.isub(A);\n D.isub(B);\n }\n }\n\n return {\n a: C,\n b: D,\n gcd: y.iushln(g)\n };\n };\n\n // This is reduced incarnation of the binary EEA\n // above, designated to invert members of the\n // _prime_ fields F(p) at a maximal speed\n BN.prototype._invmp = function _invmp (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var a = this;\n var b = p.clone();\n\n if (a.negative !== 0) {\n a = a.umod(p);\n } else {\n a = a.clone();\n }\n\n var x1 = new BN(1);\n var x2 = new BN(0);\n\n var delta = b.clone();\n\n while (a.cmpn(1) > 0 && b.cmpn(1) > 0) {\n for (var i = 0, im = 1; (a.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n a.iushrn(i);\n while (i-- > 0) {\n if (x1.isOdd()) {\n x1.iadd(delta);\n }\n\n x1.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n b.iushrn(j);\n while (j-- > 0) {\n if (x2.isOdd()) {\n x2.iadd(delta);\n }\n\n x2.iushrn(1);\n }\n }\n\n if (a.cmp(b) >= 0) {\n a.isub(b);\n x1.isub(x2);\n } else {\n b.isub(a);\n x2.isub(x1);\n }\n }\n\n var res;\n if (a.cmpn(1) === 0) {\n res = x1;\n } else {\n res = x2;\n }\n\n if (res.cmpn(0) < 0) {\n res.iadd(p);\n }\n\n return res;\n };\n\n BN.prototype.gcd = function gcd (num) {\n if (this.isZero()) return num.abs();\n if (num.isZero()) return this.abs();\n\n var a = this.clone();\n var b = num.clone();\n a.negative = 0;\n b.negative = 0;\n\n // Remove common factor of two\n for (var shift = 0; a.isEven() && b.isEven(); shift++) {\n a.iushrn(1);\n b.iushrn(1);\n }\n\n do {\n while (a.isEven()) {\n a.iushrn(1);\n }\n while (b.isEven()) {\n b.iushrn(1);\n }\n\n var r = a.cmp(b);\n if (r < 0) {\n // Swap `a` and `b` to make `a` always bigger than `b`\n var t = a;\n a = b;\n b = t;\n } else if (r === 0 || b.cmpn(1) === 0) {\n break;\n }\n\n a.isub(b);\n } while (true);\n\n return b.iushln(shift);\n };\n\n // Invert number in the field F(num)\n BN.prototype.invm = function invm (num) {\n return this.egcd(num).a.umod(num);\n };\n\n BN.prototype.isEven = function isEven () {\n return (this.words[0] & 1) === 0;\n };\n\n BN.prototype.isOdd = function isOdd () {\n return (this.words[0] & 1) === 1;\n };\n\n // And first word and num\n BN.prototype.andln = function andln (num) {\n return this.words[0] & num;\n };\n\n // Increment at the bit position in-line\n BN.prototype.bincn = function bincn (bit) {\n assert(typeof bit === 'number');\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) {\n this._expand(s + 1);\n this.words[s] |= q;\n return this;\n }\n\n // Add bit and propagate, if needed\n var carry = q;\n for (var i = s; carry !== 0 && i < this.length; i++) {\n var w = this.words[i] | 0;\n w += carry;\n carry = w >>> 26;\n w &= 0x3ffffff;\n this.words[i] = w;\n }\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n return this;\n };\n\n BN.prototype.isZero = function isZero () {\n return this.length === 1 && this.words[0] === 0;\n };\n\n BN.prototype.cmpn = function cmpn (num) {\n var negative = num < 0;\n\n if (this.negative !== 0 && !negative) return -1;\n if (this.negative === 0 && negative) return 1;\n\n this.strip();\n\n var res;\n if (this.length > 1) {\n res = 1;\n } else {\n if (negative) {\n num = -num;\n }\n\n assert(num <= 0x3ffffff, 'Number is too big');\n\n var w = this.words[0] | 0;\n res = w === num ? 0 : w < num ? -1 : 1;\n }\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Compare two numbers and return:\n // 1 - if `this` > `num`\n // 0 - if `this` == `num`\n // -1 - if `this` < `num`\n BN.prototype.cmp = function cmp (num) {\n if (this.negative !== 0 && num.negative === 0) return -1;\n if (this.negative === 0 && num.negative !== 0) return 1;\n\n var res = this.ucmp(num);\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Unsigned comparison\n BN.prototype.ucmp = function ucmp (num) {\n // At this point both numbers have the same sign\n if (this.length > num.length) return 1;\n if (this.length < num.length) return -1;\n\n var res = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var a = this.words[i] | 0;\n var b = num.words[i] | 0;\n\n if (a === b) continue;\n if (a < b) {\n res = -1;\n } else if (a > b) {\n res = 1;\n }\n break;\n }\n return res;\n };\n\n BN.prototype.gtn = function gtn (num) {\n return this.cmpn(num) === 1;\n };\n\n BN.prototype.gt = function gt (num) {\n return this.cmp(num) === 1;\n };\n\n BN.prototype.gten = function gten (num) {\n return this.cmpn(num) >= 0;\n };\n\n BN.prototype.gte = function gte (num) {\n return this.cmp(num) >= 0;\n };\n\n BN.prototype.ltn = function ltn (num) {\n return this.cmpn(num) === -1;\n };\n\n BN.prototype.lt = function lt (num) {\n return this.cmp(num) === -1;\n };\n\n BN.prototype.lten = function lten (num) {\n return this.cmpn(num) <= 0;\n };\n\n BN.prototype.lte = function lte (num) {\n return this.cmp(num) <= 0;\n };\n\n BN.prototype.eqn = function eqn (num) {\n return this.cmpn(num) === 0;\n };\n\n BN.prototype.eq = function eq (num) {\n return this.cmp(num) === 0;\n };\n\n //\n // A reduce context, could be using montgomery or something better, depending\n // on the `m` itself.\n //\n BN.red = function red (num) {\n return new Red(num);\n };\n\n BN.prototype.toRed = function toRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n assert(this.negative === 0, 'red works only with positives');\n return ctx.convertTo(this)._forceRed(ctx);\n };\n\n BN.prototype.fromRed = function fromRed () {\n assert(this.red, 'fromRed works only with numbers in reduction context');\n return this.red.convertFrom(this);\n };\n\n BN.prototype._forceRed = function _forceRed (ctx) {\n this.red = ctx;\n return this;\n };\n\n BN.prototype.forceRed = function forceRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n return this._forceRed(ctx);\n };\n\n BN.prototype.redAdd = function redAdd (num) {\n assert(this.red, 'redAdd works only with red numbers');\n return this.red.add(this, num);\n };\n\n BN.prototype.redIAdd = function redIAdd (num) {\n assert(this.red, 'redIAdd works only with red numbers');\n return this.red.iadd(this, num);\n };\n\n BN.prototype.redSub = function redSub (num) {\n assert(this.red, 'redSub works only with red numbers');\n return this.red.sub(this, num);\n };\n\n BN.prototype.redISub = function redISub (num) {\n assert(this.red, 'redISub works only with red numbers');\n return this.red.isub(this, num);\n };\n\n BN.prototype.redShl = function redShl (num) {\n assert(this.red, 'redShl works only with red numbers');\n return this.red.shl(this, num);\n };\n\n BN.prototype.redMul = function redMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.mul(this, num);\n };\n\n BN.prototype.redIMul = function redIMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.imul(this, num);\n };\n\n BN.prototype.redSqr = function redSqr () {\n assert(this.red, 'redSqr works only with red numbers');\n this.red._verify1(this);\n return this.red.sqr(this);\n };\n\n BN.prototype.redISqr = function redISqr () {\n assert(this.red, 'redISqr works only with red numbers');\n this.red._verify1(this);\n return this.red.isqr(this);\n };\n\n // Square root over p\n BN.prototype.redSqrt = function redSqrt () {\n assert(this.red, 'redSqrt works only with red numbers');\n this.red._verify1(this);\n return this.red.sqrt(this);\n };\n\n BN.prototype.redInvm = function redInvm () {\n assert(this.red, 'redInvm works only with red numbers');\n this.red._verify1(this);\n return this.red.invm(this);\n };\n\n // Return negative clone of `this` % `red modulo`\n BN.prototype.redNeg = function redNeg () {\n assert(this.red, 'redNeg works only with red numbers');\n this.red._verify1(this);\n return this.red.neg(this);\n };\n\n BN.prototype.redPow = function redPow (num) {\n assert(this.red && !num.red, 'redPow(normalNum)');\n this.red._verify1(this);\n return this.red.pow(this, num);\n };\n\n // Prime numbers with efficient reduction\n var primes = {\n k256: null,\n p224: null,\n p192: null,\n p25519: null\n };\n\n // Pseudo-Mersenne prime\n function MPrime (name, p) {\n // P = 2 ^ N - K\n this.name = name;\n this.p = new BN(p, 16);\n this.n = this.p.bitLength();\n this.k = new BN(1).iushln(this.n).isub(this.p);\n\n this.tmp = this._tmp();\n }\n\n MPrime.prototype._tmp = function _tmp () {\n var tmp = new BN(null);\n tmp.words = new Array(Math.ceil(this.n / 13));\n return tmp;\n };\n\n MPrime.prototype.ireduce = function ireduce (num) {\n // Assumes that `num` is less than `P^2`\n // num = HI * (2 ^ N - K) + HI * K + LO = HI * K + LO (mod P)\n var r = num;\n var rlen;\n\n do {\n this.split(r, this.tmp);\n r = this.imulK(r);\n r = r.iadd(this.tmp);\n rlen = r.bitLength();\n } while (rlen > this.n);\n\n var cmp = rlen < this.n ? -1 : r.ucmp(this.p);\n if (cmp === 0) {\n r.words[0] = 0;\n r.length = 1;\n } else if (cmp > 0) {\n r.isub(this.p);\n } else {\n if (r.strip !== undefined) {\n // r is BN v4 instance\n r.strip();\n } else {\n // r is BN v5 instance\n r._strip();\n }\n }\n\n return r;\n };\n\n MPrime.prototype.split = function split (input, out) {\n input.iushrn(this.n, 0, out);\n };\n\n MPrime.prototype.imulK = function imulK (num) {\n return num.imul(this.k);\n };\n\n function K256 () {\n MPrime.call(\n this,\n 'k256',\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f');\n }\n inherits(K256, MPrime);\n\n K256.prototype.split = function split (input, output) {\n // 256 = 9 * 26 + 22\n var mask = 0x3fffff;\n\n var outLen = Math.min(input.length, 9);\n for (var i = 0; i < outLen; i++) {\n output.words[i] = input.words[i];\n }\n output.length = outLen;\n\n if (input.length <= 9) {\n input.words[0] = 0;\n input.length = 1;\n return;\n }\n\n // Shift by 9 limbs\n var prev = input.words[9];\n output.words[output.length++] = prev & mask;\n\n for (i = 10; i < input.length; i++) {\n var next = input.words[i] | 0;\n input.words[i - 10] = ((next & mask) << 4) | (prev >>> 22);\n prev = next;\n }\n prev >>>= 22;\n input.words[i - 10] = prev;\n if (prev === 0 && input.length > 10) {\n input.length -= 10;\n } else {\n input.length -= 9;\n }\n };\n\n K256.prototype.imulK = function imulK (num) {\n // K = 0x1000003d1 = [ 0x40, 0x3d1 ]\n num.words[num.length] = 0;\n num.words[num.length + 1] = 0;\n num.length += 2;\n\n // bounded at: 0x40 * 0x3ffffff + 0x3d0 = 0x100000390\n var lo = 0;\n for (var i = 0; i < num.length; i++) {\n var w = num.words[i] | 0;\n lo += w * 0x3d1;\n num.words[i] = lo & 0x3ffffff;\n lo = w * 0x40 + ((lo / 0x4000000) | 0);\n }\n\n // Fast length reduction\n if (num.words[num.length - 1] === 0) {\n num.length--;\n if (num.words[num.length - 1] === 0) {\n num.length--;\n }\n }\n return num;\n };\n\n function P224 () {\n MPrime.call(\n this,\n 'p224',\n 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001');\n }\n inherits(P224, MPrime);\n\n function P192 () {\n MPrime.call(\n this,\n 'p192',\n 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff');\n }\n inherits(P192, MPrime);\n\n function P25519 () {\n // 2 ^ 255 - 19\n MPrime.call(\n this,\n '25519',\n '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed');\n }\n inherits(P25519, MPrime);\n\n P25519.prototype.imulK = function imulK (num) {\n // K = 0x13\n var carry = 0;\n for (var i = 0; i < num.length; i++) {\n var hi = (num.words[i] | 0) * 0x13 + carry;\n var lo = hi & 0x3ffffff;\n hi >>>= 26;\n\n num.words[i] = lo;\n carry = hi;\n }\n if (carry !== 0) {\n num.words[num.length++] = carry;\n }\n return num;\n };\n\n // Exported mostly for testing purposes, use plain name instead\n BN._prime = function prime (name) {\n // Cached version of prime\n if (primes[name]) return primes[name];\n\n var prime;\n if (name === 'k256') {\n prime = new K256();\n } else if (name === 'p224') {\n prime = new P224();\n } else if (name === 'p192') {\n prime = new P192();\n } else if (name === 'p25519') {\n prime = new P25519();\n } else {\n throw new Error('Unknown prime ' + name);\n }\n primes[name] = prime;\n\n return prime;\n };\n\n //\n // Base reduction engine\n //\n function Red (m) {\n if (typeof m === 'string') {\n var prime = BN._prime(m);\n this.m = prime.p;\n this.prime = prime;\n } else {\n assert(m.gtn(1), 'modulus must be greater than 1');\n this.m = m;\n this.prime = null;\n }\n }\n\n Red.prototype._verify1 = function _verify1 (a) {\n assert(a.negative === 0, 'red works only with positives');\n assert(a.red, 'red works only with red numbers');\n };\n\n Red.prototype._verify2 = function _verify2 (a, b) {\n assert((a.negative | b.negative) === 0, 'red works only with positives');\n assert(a.red && a.red === b.red,\n 'red works only with red numbers');\n };\n\n Red.prototype.imod = function imod (a) {\n if (this.prime) return this.prime.ireduce(a)._forceRed(this);\n return a.umod(this.m)._forceRed(this);\n };\n\n Red.prototype.neg = function neg (a) {\n if (a.isZero()) {\n return a.clone();\n }\n\n return this.m.sub(a)._forceRed(this);\n };\n\n Red.prototype.add = function add (a, b) {\n this._verify2(a, b);\n\n var res = a.add(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.iadd = function iadd (a, b) {\n this._verify2(a, b);\n\n var res = a.iadd(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res;\n };\n\n Red.prototype.sub = function sub (a, b) {\n this._verify2(a, b);\n\n var res = a.sub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.isub = function isub (a, b) {\n this._verify2(a, b);\n\n var res = a.isub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res;\n };\n\n Red.prototype.shl = function shl (a, num) {\n this._verify1(a);\n return this.imod(a.ushln(num));\n };\n\n Red.prototype.imul = function imul (a, b) {\n this._verify2(a, b);\n return this.imod(a.imul(b));\n };\n\n Red.prototype.mul = function mul (a, b) {\n this._verify2(a, b);\n return this.imod(a.mul(b));\n };\n\n Red.prototype.isqr = function isqr (a) {\n return this.imul(a, a.clone());\n };\n\n Red.prototype.sqr = function sqr (a) {\n return this.mul(a, a);\n };\n\n Red.prototype.sqrt = function sqrt (a) {\n if (a.isZero()) return a.clone();\n\n var mod3 = this.m.andln(3);\n assert(mod3 % 2 === 1);\n\n // Fast case\n if (mod3 === 3) {\n var pow = this.m.add(new BN(1)).iushrn(2);\n return this.pow(a, pow);\n }\n\n // Tonelli-Shanks algorithm (Totally unoptimized and slow)\n //\n // Find Q and S, that Q * 2 ^ S = (P - 1)\n var q = this.m.subn(1);\n var s = 0;\n while (!q.isZero() && q.andln(1) === 0) {\n s++;\n q.iushrn(1);\n }\n assert(!q.isZero());\n\n var one = new BN(1).toRed(this);\n var nOne = one.redNeg();\n\n // Find quadratic non-residue\n // NOTE: Max is such because of generalized Riemann hypothesis.\n var lpow = this.m.subn(1).iushrn(1);\n var z = this.m.bitLength();\n z = new BN(2 * z * z).toRed(this);\n\n while (this.pow(z, lpow).cmp(nOne) !== 0) {\n z.redIAdd(nOne);\n }\n\n var c = this.pow(z, q);\n var r = this.pow(a, q.addn(1).iushrn(1));\n var t = this.pow(a, q);\n var m = s;\n while (t.cmp(one) !== 0) {\n var tmp = t;\n for (var i = 0; tmp.cmp(one) !== 0; i++) {\n tmp = tmp.redSqr();\n }\n assert(i < m);\n var b = this.pow(c, new BN(1).iushln(m - i - 1));\n\n r = r.redMul(b);\n c = b.redSqr();\n t = t.redMul(c);\n m = i;\n }\n\n return r;\n };\n\n Red.prototype.invm = function invm (a) {\n var inv = a._invmp(this.m);\n if (inv.negative !== 0) {\n inv.negative = 0;\n return this.imod(inv).redNeg();\n } else {\n return this.imod(inv);\n }\n };\n\n Red.prototype.pow = function pow (a, num) {\n if (num.isZero()) return new BN(1).toRed(this);\n if (num.cmpn(1) === 0) return a.clone();\n\n var windowSize = 4;\n var wnd = new Array(1 << windowSize);\n wnd[0] = new BN(1).toRed(this);\n wnd[1] = a;\n for (var i = 2; i < wnd.length; i++) {\n wnd[i] = this.mul(wnd[i - 1], a);\n }\n\n var res = wnd[0];\n var current = 0;\n var currentLen = 0;\n var start = num.bitLength() % 26;\n if (start === 0) {\n start = 26;\n }\n\n for (i = num.length - 1; i >= 0; i--) {\n var word = num.words[i];\n for (var j = start - 1; j >= 0; j--) {\n var bit = (word >> j) & 1;\n if (res !== wnd[0]) {\n res = this.sqr(res);\n }\n\n if (bit === 0 && current === 0) {\n currentLen = 0;\n continue;\n }\n\n current <<= 1;\n current |= bit;\n currentLen++;\n if (currentLen !== windowSize && (i !== 0 || j !== 0)) continue;\n\n res = this.mul(res, wnd[current]);\n currentLen = 0;\n current = 0;\n }\n start = 26;\n }\n\n return res;\n };\n\n Red.prototype.convertTo = function convertTo (num) {\n var r = num.umod(this.m);\n\n return r === num ? r.clone() : r;\n };\n\n Red.prototype.convertFrom = function convertFrom (num) {\n var res = num.clone();\n res.red = null;\n return res;\n };\n\n //\n // Montgomery method engine\n //\n\n BN.mont = function mont (num) {\n return new Mont(num);\n };\n\n function Mont (m) {\n Red.call(this, m);\n\n this.shift = this.m.bitLength();\n if (this.shift % 26 !== 0) {\n this.shift += 26 - (this.shift % 26);\n }\n\n this.r = new BN(1).iushln(this.shift);\n this.r2 = this.imod(this.r.sqr());\n this.rinv = this.r._invmp(this.m);\n\n this.minv = this.rinv.mul(this.r).isubn(1).div(this.m);\n this.minv = this.minv.umod(this.r);\n this.minv = this.r.sub(this.minv);\n }\n inherits(Mont, Red);\n\n Mont.prototype.convertTo = function convertTo (num) {\n return this.imod(num.ushln(this.shift));\n };\n\n Mont.prototype.convertFrom = function convertFrom (num) {\n var r = this.imod(num.mul(this.rinv));\n r.red = null;\n return r;\n };\n\n Mont.prototype.imul = function imul (a, b) {\n if (a.isZero() || b.isZero()) {\n a.words[0] = 0;\n a.length = 1;\n return a;\n }\n\n var t = a.imul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.mul = function mul (a, b) {\n if (a.isZero() || b.isZero()) return new BN(0)._forceRed(this);\n\n var t = a.mul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.invm = function invm (a) {\n // (AR)^-1 * R^2 = (A^-1 * R^-1) * R^2 = A^-1 * R\n var res = this.imod(a._invmp(this.m).mul(this.r2));\n return res._forceRed(this);\n };\n})(typeof module === 'undefined' || module, this);\n","'use strict';\n\nvar elliptic = exports;\n\nelliptic.version = require('../package.json').version;\nelliptic.utils = require('./elliptic/utils');\nelliptic.rand = require('brorand');\nelliptic.curve = require('./elliptic/curve');\nelliptic.curves = require('./elliptic/curves');\n\n// Protocols\nelliptic.ec = require('./elliptic/ec');\nelliptic.eddsa = require('./elliptic/eddsa');\n","'use strict';\n\nvar BN = require('bn.js');\nvar utils = require('../utils');\nvar getNAF = utils.getNAF;\nvar getJSF = utils.getJSF;\nvar assert = utils.assert;\n\nfunction BaseCurve(type, conf) {\n this.type = type;\n this.p = new BN(conf.p, 16);\n\n // Use Montgomery, when there is no fast reduction for the prime\n this.red = conf.prime ? BN.red(conf.prime) : BN.mont(this.p);\n\n // Useful for many curves\n this.zero = new BN(0).toRed(this.red);\n this.one = new BN(1).toRed(this.red);\n this.two = new BN(2).toRed(this.red);\n\n // Curve configuration, optional\n this.n = conf.n && new BN(conf.n, 16);\n this.g = conf.g && this.pointFromJSON(conf.g, conf.gRed);\n\n // Temporary arrays\n this._wnafT1 = new Array(4);\n this._wnafT2 = new Array(4);\n this._wnafT3 = new Array(4);\n this._wnafT4 = new Array(4);\n\n this._bitLength = this.n ? this.n.bitLength() : 0;\n\n // Generalized Greg Maxwell's trick\n var adjustCount = this.n && this.p.div(this.n);\n if (!adjustCount || adjustCount.cmpn(100) > 0) {\n this.redN = null;\n } else {\n this._maxwellTrick = true;\n this.redN = this.n.toRed(this.red);\n }\n}\nmodule.exports = BaseCurve;\n\nBaseCurve.prototype.point = function point() {\n throw new Error('Not implemented');\n};\n\nBaseCurve.prototype.validate = function validate() {\n throw new Error('Not implemented');\n};\n\nBaseCurve.prototype._fixedNafMul = function _fixedNafMul(p, k) {\n assert(p.precomputed);\n var doubles = p._getDoubles();\n\n var naf = getNAF(k, 1, this._bitLength);\n var I = (1 << (doubles.step + 1)) - (doubles.step % 2 === 0 ? 2 : 1);\n I /= 3;\n\n // Translate into more windowed form\n var repr = [];\n var j;\n var nafW;\n for (j = 0; j < naf.length; j += doubles.step) {\n nafW = 0;\n for (var l = j + doubles.step - 1; l >= j; l--)\n nafW = (nafW << 1) + naf[l];\n repr.push(nafW);\n }\n\n var a = this.jpoint(null, null, null);\n var b = this.jpoint(null, null, null);\n for (var i = I; i > 0; i--) {\n for (j = 0; j < repr.length; j++) {\n nafW = repr[j];\n if (nafW === i)\n b = b.mixedAdd(doubles.points[j]);\n else if (nafW === -i)\n b = b.mixedAdd(doubles.points[j].neg());\n }\n a = a.add(b);\n }\n return a.toP();\n};\n\nBaseCurve.prototype._wnafMul = function _wnafMul(p, k) {\n var w = 4;\n\n // Precompute window\n var nafPoints = p._getNAFPoints(w);\n w = nafPoints.wnd;\n var wnd = nafPoints.points;\n\n // Get NAF form\n var naf = getNAF(k, w, this._bitLength);\n\n // Add `this`*(N+1) for every w-NAF index\n var acc = this.jpoint(null, null, null);\n for (var i = naf.length - 1; i >= 0; i--) {\n // Count zeroes\n for (var l = 0; i >= 0 && naf[i] === 0; i--)\n l++;\n if (i >= 0)\n l++;\n acc = acc.dblp(l);\n\n if (i < 0)\n break;\n var z = naf[i];\n assert(z !== 0);\n if (p.type === 'affine') {\n // J +- P\n if (z > 0)\n acc = acc.mixedAdd(wnd[(z - 1) >> 1]);\n else\n acc = acc.mixedAdd(wnd[(-z - 1) >> 1].neg());\n } else {\n // J +- J\n if (z > 0)\n acc = acc.add(wnd[(z - 1) >> 1]);\n else\n acc = acc.add(wnd[(-z - 1) >> 1].neg());\n }\n }\n return p.type === 'affine' ? acc.toP() : acc;\n};\n\nBaseCurve.prototype._wnafMulAdd = function _wnafMulAdd(defW,\n points,\n coeffs,\n len,\n jacobianResult) {\n var wndWidth = this._wnafT1;\n var wnd = this._wnafT2;\n var naf = this._wnafT3;\n\n // Fill all arrays\n var max = 0;\n var i;\n var j;\n var p;\n for (i = 0; i < len; i++) {\n p = points[i];\n var nafPoints = p._getNAFPoints(defW);\n wndWidth[i] = nafPoints.wnd;\n wnd[i] = nafPoints.points;\n }\n\n // Comb small window NAFs\n for (i = len - 1; i >= 1; i -= 2) {\n var a = i - 1;\n var b = i;\n if (wndWidth[a] !== 1 || wndWidth[b] !== 1) {\n naf[a] = getNAF(coeffs[a], wndWidth[a], this._bitLength);\n naf[b] = getNAF(coeffs[b], wndWidth[b], this._bitLength);\n max = Math.max(naf[a].length, max);\n max = Math.max(naf[b].length, max);\n continue;\n }\n\n var comb = [\n points[a], /* 1 */\n null, /* 3 */\n null, /* 5 */\n points[b], /* 7 */\n ];\n\n // Try to avoid Projective points, if possible\n if (points[a].y.cmp(points[b].y) === 0) {\n comb[1] = points[a].add(points[b]);\n comb[2] = points[a].toJ().mixedAdd(points[b].neg());\n } else if (points[a].y.cmp(points[b].y.redNeg()) === 0) {\n comb[1] = points[a].toJ().mixedAdd(points[b]);\n comb[2] = points[a].add(points[b].neg());\n } else {\n comb[1] = points[a].toJ().mixedAdd(points[b]);\n comb[2] = points[a].toJ().mixedAdd(points[b].neg());\n }\n\n var index = [\n -3, /* -1 -1 */\n -1, /* -1 0 */\n -5, /* -1 1 */\n -7, /* 0 -1 */\n 0, /* 0 0 */\n 7, /* 0 1 */\n 5, /* 1 -1 */\n 1, /* 1 0 */\n 3, /* 1 1 */\n ];\n\n var jsf = getJSF(coeffs[a], coeffs[b]);\n max = Math.max(jsf[0].length, max);\n naf[a] = new Array(max);\n naf[b] = new Array(max);\n for (j = 0; j < max; j++) {\n var ja = jsf[0][j] | 0;\n var jb = jsf[1][j] | 0;\n\n naf[a][j] = index[(ja + 1) * 3 + (jb + 1)];\n naf[b][j] = 0;\n wnd[a] = comb;\n }\n }\n\n var acc = this.jpoint(null, null, null);\n var tmp = this._wnafT4;\n for (i = max; i >= 0; i--) {\n var k = 0;\n\n while (i >= 0) {\n var zero = true;\n for (j = 0; j < len; j++) {\n tmp[j] = naf[j][i] | 0;\n if (tmp[j] !== 0)\n zero = false;\n }\n if (!zero)\n break;\n k++;\n i--;\n }\n if (i >= 0)\n k++;\n acc = acc.dblp(k);\n if (i < 0)\n break;\n\n for (j = 0; j < len; j++) {\n var z = tmp[j];\n p;\n if (z === 0)\n continue;\n else if (z > 0)\n p = wnd[j][(z - 1) >> 1];\n else if (z < 0)\n p = wnd[j][(-z - 1) >> 1].neg();\n\n if (p.type === 'affine')\n acc = acc.mixedAdd(p);\n else\n acc = acc.add(p);\n }\n }\n // Zeroify references\n for (i = 0; i < len; i++)\n wnd[i] = null;\n\n if (jacobianResult)\n return acc;\n else\n return acc.toP();\n};\n\nfunction BasePoint(curve, type) {\n this.curve = curve;\n this.type = type;\n this.precomputed = null;\n}\nBaseCurve.BasePoint = BasePoint;\n\nBasePoint.prototype.eq = function eq(/*other*/) {\n throw new Error('Not implemented');\n};\n\nBasePoint.prototype.validate = function validate() {\n return this.curve.validate(this);\n};\n\nBaseCurve.prototype.decodePoint = function decodePoint(bytes, enc) {\n bytes = utils.toArray(bytes, enc);\n\n var len = this.p.byteLength();\n\n // uncompressed, hybrid-odd, hybrid-even\n if ((bytes[0] === 0x04 || bytes[0] === 0x06 || bytes[0] === 0x07) &&\n bytes.length - 1 === 2 * len) {\n if (bytes[0] === 0x06)\n assert(bytes[bytes.length - 1] % 2 === 0);\n else if (bytes[0] === 0x07)\n assert(bytes[bytes.length - 1] % 2 === 1);\n\n var res = this.point(bytes.slice(1, 1 + len),\n bytes.slice(1 + len, 1 + 2 * len));\n\n return res;\n } else if ((bytes[0] === 0x02 || bytes[0] === 0x03) &&\n bytes.length - 1 === len) {\n return this.pointFromX(bytes.slice(1, 1 + len), bytes[0] === 0x03);\n }\n throw new Error('Unknown point format');\n};\n\nBasePoint.prototype.encodeCompressed = function encodeCompressed(enc) {\n return this.encode(enc, true);\n};\n\nBasePoint.prototype._encode = function _encode(compact) {\n var len = this.curve.p.byteLength();\n var x = this.getX().toArray('be', len);\n\n if (compact)\n return [ this.getY().isEven() ? 0x02 : 0x03 ].concat(x);\n\n return [ 0x04 ].concat(x, this.getY().toArray('be', len));\n};\n\nBasePoint.prototype.encode = function encode(enc, compact) {\n return utils.encode(this._encode(compact), enc);\n};\n\nBasePoint.prototype.precompute = function precompute(power) {\n if (this.precomputed)\n return this;\n\n var precomputed = {\n doubles: null,\n naf: null,\n beta: null,\n };\n precomputed.naf = this._getNAFPoints(8);\n precomputed.doubles = this._getDoubles(4, power);\n precomputed.beta = this._getBeta();\n this.precomputed = precomputed;\n\n return this;\n};\n\nBasePoint.prototype._hasDoubles = function _hasDoubles(k) {\n if (!this.precomputed)\n return false;\n\n var doubles = this.precomputed.doubles;\n if (!doubles)\n return false;\n\n return doubles.points.length >= Math.ceil((k.bitLength() + 1) / doubles.step);\n};\n\nBasePoint.prototype._getDoubles = function _getDoubles(step, power) {\n if (this.precomputed && this.precomputed.doubles)\n return this.precomputed.doubles;\n\n var doubles = [ this ];\n var acc = this;\n for (var i = 0; i < power; i += step) {\n for (var j = 0; j < step; j++)\n acc = acc.dbl();\n doubles.push(acc);\n }\n return {\n step: step,\n points: doubles,\n };\n};\n\nBasePoint.prototype._getNAFPoints = function _getNAFPoints(wnd) {\n if (this.precomputed && this.precomputed.naf)\n return this.precomputed.naf;\n\n var res = [ this ];\n var max = (1 << wnd) - 1;\n var dbl = max === 1 ? null : this.dbl();\n for (var i = 1; i < max; i++)\n res[i] = res[i - 1].add(dbl);\n return {\n wnd: wnd,\n points: res,\n };\n};\n\nBasePoint.prototype._getBeta = function _getBeta() {\n return null;\n};\n\nBasePoint.prototype.dblp = function dblp(k) {\n var r = this;\n for (var i = 0; i < k; i++)\n r = r.dbl();\n return r;\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar BN = require('bn.js');\nvar inherits = require('inherits');\nvar Base = require('./base');\n\nvar assert = utils.assert;\n\nfunction EdwardsCurve(conf) {\n // NOTE: Important as we are creating point in Base.call()\n this.twisted = (conf.a | 0) !== 1;\n this.mOneA = this.twisted && (conf.a | 0) === -1;\n this.extended = this.mOneA;\n\n Base.call(this, 'edwards', conf);\n\n this.a = new BN(conf.a, 16).umod(this.red.m);\n this.a = this.a.toRed(this.red);\n this.c = new BN(conf.c, 16).toRed(this.red);\n this.c2 = this.c.redSqr();\n this.d = new BN(conf.d, 16).toRed(this.red);\n this.dd = this.d.redAdd(this.d);\n\n assert(!this.twisted || this.c.fromRed().cmpn(1) === 0);\n this.oneC = (conf.c | 0) === 1;\n}\ninherits(EdwardsCurve, Base);\nmodule.exports = EdwardsCurve;\n\nEdwardsCurve.prototype._mulA = function _mulA(num) {\n if (this.mOneA)\n return num.redNeg();\n else\n return this.a.redMul(num);\n};\n\nEdwardsCurve.prototype._mulC = function _mulC(num) {\n if (this.oneC)\n return num;\n else\n return this.c.redMul(num);\n};\n\n// Just for compatibility with Short curve\nEdwardsCurve.prototype.jpoint = function jpoint(x, y, z, t) {\n return this.point(x, y, z, t);\n};\n\nEdwardsCurve.prototype.pointFromX = function pointFromX(x, odd) {\n x = new BN(x, 16);\n if (!x.red)\n x = x.toRed(this.red);\n\n var x2 = x.redSqr();\n var rhs = this.c2.redSub(this.a.redMul(x2));\n var lhs = this.one.redSub(this.c2.redMul(this.d).redMul(x2));\n\n var y2 = rhs.redMul(lhs.redInvm());\n var y = y2.redSqrt();\n if (y.redSqr().redSub(y2).cmp(this.zero) !== 0)\n throw new Error('invalid point');\n\n var isOdd = y.fromRed().isOdd();\n if (odd && !isOdd || !odd && isOdd)\n y = y.redNeg();\n\n return this.point(x, y);\n};\n\nEdwardsCurve.prototype.pointFromY = function pointFromY(y, odd) {\n y = new BN(y, 16);\n if (!y.red)\n y = y.toRed(this.red);\n\n // x^2 = (y^2 - c^2) / (c^2 d y^2 - a)\n var y2 = y.redSqr();\n var lhs = y2.redSub(this.c2);\n var rhs = y2.redMul(this.d).redMul(this.c2).redSub(this.a);\n var x2 = lhs.redMul(rhs.redInvm());\n\n if (x2.cmp(this.zero) === 0) {\n if (odd)\n throw new Error('invalid point');\n else\n return this.point(this.zero, y);\n }\n\n var x = x2.redSqrt();\n if (x.redSqr().redSub(x2).cmp(this.zero) !== 0)\n throw new Error('invalid point');\n\n if (x.fromRed().isOdd() !== odd)\n x = x.redNeg();\n\n return this.point(x, y);\n};\n\nEdwardsCurve.prototype.validate = function validate(point) {\n if (point.isInfinity())\n return true;\n\n // Curve: A * X^2 + Y^2 = C^2 * (1 + D * X^2 * Y^2)\n point.normalize();\n\n var x2 = point.x.redSqr();\n var y2 = point.y.redSqr();\n var lhs = x2.redMul(this.a).redAdd(y2);\n var rhs = this.c2.redMul(this.one.redAdd(this.d.redMul(x2).redMul(y2)));\n\n return lhs.cmp(rhs) === 0;\n};\n\nfunction Point(curve, x, y, z, t) {\n Base.BasePoint.call(this, curve, 'projective');\n if (x === null && y === null && z === null) {\n this.x = this.curve.zero;\n this.y = this.curve.one;\n this.z = this.curve.one;\n this.t = this.curve.zero;\n this.zOne = true;\n } else {\n this.x = new BN(x, 16);\n this.y = new BN(y, 16);\n this.z = z ? new BN(z, 16) : this.curve.one;\n this.t = t && new BN(t, 16);\n if (!this.x.red)\n this.x = this.x.toRed(this.curve.red);\n if (!this.y.red)\n this.y = this.y.toRed(this.curve.red);\n if (!this.z.red)\n this.z = this.z.toRed(this.curve.red);\n if (this.t && !this.t.red)\n this.t = this.t.toRed(this.curve.red);\n this.zOne = this.z === this.curve.one;\n\n // Use extended coordinates\n if (this.curve.extended && !this.t) {\n this.t = this.x.redMul(this.y);\n if (!this.zOne)\n this.t = this.t.redMul(this.z.redInvm());\n }\n }\n}\ninherits(Point, Base.BasePoint);\n\nEdwardsCurve.prototype.pointFromJSON = function pointFromJSON(obj) {\n return Point.fromJSON(this, obj);\n};\n\nEdwardsCurve.prototype.point = function point(x, y, z, t) {\n return new Point(this, x, y, z, t);\n};\n\nPoint.fromJSON = function fromJSON(curve, obj) {\n return new Point(curve, obj[0], obj[1], obj[2]);\n};\n\nPoint.prototype.inspect = function inspect() {\n if (this.isInfinity())\n return '';\n return '';\n};\n\nPoint.prototype.isInfinity = function isInfinity() {\n // XXX This code assumes that zero is always zero in red\n return this.x.cmpn(0) === 0 &&\n (this.y.cmp(this.z) === 0 ||\n (this.zOne && this.y.cmp(this.curve.c) === 0));\n};\n\nPoint.prototype._extDbl = function _extDbl() {\n // hyperelliptic.org/EFD/g1p/auto-twisted-extended-1.html\n // #doubling-dbl-2008-hwcd\n // 4M + 4S\n\n // A = X1^2\n var a = this.x.redSqr();\n // B = Y1^2\n var b = this.y.redSqr();\n // C = 2 * Z1^2\n var c = this.z.redSqr();\n c = c.redIAdd(c);\n // D = a * A\n var d = this.curve._mulA(a);\n // E = (X1 + Y1)^2 - A - B\n var e = this.x.redAdd(this.y).redSqr().redISub(a).redISub(b);\n // G = D + B\n var g = d.redAdd(b);\n // F = G - C\n var f = g.redSub(c);\n // H = D - B\n var h = d.redSub(b);\n // X3 = E * F\n var nx = e.redMul(f);\n // Y3 = G * H\n var ny = g.redMul(h);\n // T3 = E * H\n var nt = e.redMul(h);\n // Z3 = F * G\n var nz = f.redMul(g);\n return this.curve.point(nx, ny, nz, nt);\n};\n\nPoint.prototype._projDbl = function _projDbl() {\n // hyperelliptic.org/EFD/g1p/auto-twisted-projective.html\n // #doubling-dbl-2008-bbjlp\n // #doubling-dbl-2007-bl\n // and others\n // Generally 3M + 4S or 2M + 4S\n\n // B = (X1 + Y1)^2\n var b = this.x.redAdd(this.y).redSqr();\n // C = X1^2\n var c = this.x.redSqr();\n // D = Y1^2\n var d = this.y.redSqr();\n\n var nx;\n var ny;\n var nz;\n var e;\n var h;\n var j;\n if (this.curve.twisted) {\n // E = a * C\n e = this.curve._mulA(c);\n // F = E + D\n var f = e.redAdd(d);\n if (this.zOne) {\n // X3 = (B - C - D) * (F - 2)\n nx = b.redSub(c).redSub(d).redMul(f.redSub(this.curve.two));\n // Y3 = F * (E - D)\n ny = f.redMul(e.redSub(d));\n // Z3 = F^2 - 2 * F\n nz = f.redSqr().redSub(f).redSub(f);\n } else {\n // H = Z1^2\n h = this.z.redSqr();\n // J = F - 2 * H\n j = f.redSub(h).redISub(h);\n // X3 = (B-C-D)*J\n nx = b.redSub(c).redISub(d).redMul(j);\n // Y3 = F * (E - D)\n ny = f.redMul(e.redSub(d));\n // Z3 = F * J\n nz = f.redMul(j);\n }\n } else {\n // E = C + D\n e = c.redAdd(d);\n // H = (c * Z1)^2\n h = this.curve._mulC(this.z).redSqr();\n // J = E - 2 * H\n j = e.redSub(h).redSub(h);\n // X3 = c * (B - E) * J\n nx = this.curve._mulC(b.redISub(e)).redMul(j);\n // Y3 = c * E * (C - D)\n ny = this.curve._mulC(e).redMul(c.redISub(d));\n // Z3 = E * J\n nz = e.redMul(j);\n }\n return this.curve.point(nx, ny, nz);\n};\n\nPoint.prototype.dbl = function dbl() {\n if (this.isInfinity())\n return this;\n\n // Double in extended coordinates\n if (this.curve.extended)\n return this._extDbl();\n else\n return this._projDbl();\n};\n\nPoint.prototype._extAdd = function _extAdd(p) {\n // hyperelliptic.org/EFD/g1p/auto-twisted-extended-1.html\n // #addition-add-2008-hwcd-3\n // 8M\n\n // A = (Y1 - X1) * (Y2 - X2)\n var a = this.y.redSub(this.x).redMul(p.y.redSub(p.x));\n // B = (Y1 + X1) * (Y2 + X2)\n var b = this.y.redAdd(this.x).redMul(p.y.redAdd(p.x));\n // C = T1 * k * T2\n var c = this.t.redMul(this.curve.dd).redMul(p.t);\n // D = Z1 * 2 * Z2\n var d = this.z.redMul(p.z.redAdd(p.z));\n // E = B - A\n var e = b.redSub(a);\n // F = D - C\n var f = d.redSub(c);\n // G = D + C\n var g = d.redAdd(c);\n // H = B + A\n var h = b.redAdd(a);\n // X3 = E * F\n var nx = e.redMul(f);\n // Y3 = G * H\n var ny = g.redMul(h);\n // T3 = E * H\n var nt = e.redMul(h);\n // Z3 = F * G\n var nz = f.redMul(g);\n return this.curve.point(nx, ny, nz, nt);\n};\n\nPoint.prototype._projAdd = function _projAdd(p) {\n // hyperelliptic.org/EFD/g1p/auto-twisted-projective.html\n // #addition-add-2008-bbjlp\n // #addition-add-2007-bl\n // 10M + 1S\n\n // A = Z1 * Z2\n var a = this.z.redMul(p.z);\n // B = A^2\n var b = a.redSqr();\n // C = X1 * X2\n var c = this.x.redMul(p.x);\n // D = Y1 * Y2\n var d = this.y.redMul(p.y);\n // E = d * C * D\n var e = this.curve.d.redMul(c).redMul(d);\n // F = B - E\n var f = b.redSub(e);\n // G = B + E\n var g = b.redAdd(e);\n // X3 = A * F * ((X1 + Y1) * (X2 + Y2) - C - D)\n var tmp = this.x.redAdd(this.y).redMul(p.x.redAdd(p.y)).redISub(c).redISub(d);\n var nx = a.redMul(f).redMul(tmp);\n var ny;\n var nz;\n if (this.curve.twisted) {\n // Y3 = A * G * (D - a * C)\n ny = a.redMul(g).redMul(d.redSub(this.curve._mulA(c)));\n // Z3 = F * G\n nz = f.redMul(g);\n } else {\n // Y3 = A * G * (D - C)\n ny = a.redMul(g).redMul(d.redSub(c));\n // Z3 = c * F * G\n nz = this.curve._mulC(f).redMul(g);\n }\n return this.curve.point(nx, ny, nz);\n};\n\nPoint.prototype.add = function add(p) {\n if (this.isInfinity())\n return p;\n if (p.isInfinity())\n return this;\n\n if (this.curve.extended)\n return this._extAdd(p);\n else\n return this._projAdd(p);\n};\n\nPoint.prototype.mul = function mul(k) {\n if (this._hasDoubles(k))\n return this.curve._fixedNafMul(this, k);\n else\n return this.curve._wnafMul(this, k);\n};\n\nPoint.prototype.mulAdd = function mulAdd(k1, p, k2) {\n return this.curve._wnafMulAdd(1, [ this, p ], [ k1, k2 ], 2, false);\n};\n\nPoint.prototype.jmulAdd = function jmulAdd(k1, p, k2) {\n return this.curve._wnafMulAdd(1, [ this, p ], [ k1, k2 ], 2, true);\n};\n\nPoint.prototype.normalize = function normalize() {\n if (this.zOne)\n return this;\n\n // Normalize coordinates\n var zi = this.z.redInvm();\n this.x = this.x.redMul(zi);\n this.y = this.y.redMul(zi);\n if (this.t)\n this.t = this.t.redMul(zi);\n this.z = this.curve.one;\n this.zOne = true;\n return this;\n};\n\nPoint.prototype.neg = function neg() {\n return this.curve.point(this.x.redNeg(),\n this.y,\n this.z,\n this.t && this.t.redNeg());\n};\n\nPoint.prototype.getX = function getX() {\n this.normalize();\n return this.x.fromRed();\n};\n\nPoint.prototype.getY = function getY() {\n this.normalize();\n return this.y.fromRed();\n};\n\nPoint.prototype.eq = function eq(other) {\n return this === other ||\n this.getX().cmp(other.getX()) === 0 &&\n this.getY().cmp(other.getY()) === 0;\n};\n\nPoint.prototype.eqXToP = function eqXToP(x) {\n var rx = x.toRed(this.curve.red).redMul(this.z);\n if (this.x.cmp(rx) === 0)\n return true;\n\n var xc = x.clone();\n var t = this.curve.redN.redMul(this.z);\n for (;;) {\n xc.iadd(this.curve.n);\n if (xc.cmp(this.curve.p) >= 0)\n return false;\n\n rx.redIAdd(t);\n if (this.x.cmp(rx) === 0)\n return true;\n }\n};\n\n// Compatibility with BaseCurve\nPoint.prototype.toP = Point.prototype.normalize;\nPoint.prototype.mixedAdd = Point.prototype.add;\n","'use strict';\n\nvar curve = exports;\n\ncurve.base = require('./base');\ncurve.short = require('./short');\ncurve.mont = require('./mont');\ncurve.edwards = require('./edwards');\n","'use strict';\n\nvar BN = require('bn.js');\nvar inherits = require('inherits');\nvar Base = require('./base');\n\nvar utils = require('../utils');\n\nfunction MontCurve(conf) {\n Base.call(this, 'mont', conf);\n\n this.a = new BN(conf.a, 16).toRed(this.red);\n this.b = new BN(conf.b, 16).toRed(this.red);\n this.i4 = new BN(4).toRed(this.red).redInvm();\n this.two = new BN(2).toRed(this.red);\n this.a24 = this.i4.redMul(this.a.redAdd(this.two));\n}\ninherits(MontCurve, Base);\nmodule.exports = MontCurve;\n\nMontCurve.prototype.validate = function validate(point) {\n var x = point.normalize().x;\n var x2 = x.redSqr();\n var rhs = x2.redMul(x).redAdd(x2.redMul(this.a)).redAdd(x);\n var y = rhs.redSqrt();\n\n return y.redSqr().cmp(rhs) === 0;\n};\n\nfunction Point(curve, x, z) {\n Base.BasePoint.call(this, curve, 'projective');\n if (x === null && z === null) {\n this.x = this.curve.one;\n this.z = this.curve.zero;\n } else {\n this.x = new BN(x, 16);\n this.z = new BN(z, 16);\n if (!this.x.red)\n this.x = this.x.toRed(this.curve.red);\n if (!this.z.red)\n this.z = this.z.toRed(this.curve.red);\n }\n}\ninherits(Point, Base.BasePoint);\n\nMontCurve.prototype.decodePoint = function decodePoint(bytes, enc) {\n return this.point(utils.toArray(bytes, enc), 1);\n};\n\nMontCurve.prototype.point = function point(x, z) {\n return new Point(this, x, z);\n};\n\nMontCurve.prototype.pointFromJSON = function pointFromJSON(obj) {\n return Point.fromJSON(this, obj);\n};\n\nPoint.prototype.precompute = function precompute() {\n // No-op\n};\n\nPoint.prototype._encode = function _encode() {\n return this.getX().toArray('be', this.curve.p.byteLength());\n};\n\nPoint.fromJSON = function fromJSON(curve, obj) {\n return new Point(curve, obj[0], obj[1] || curve.one);\n};\n\nPoint.prototype.inspect = function inspect() {\n if (this.isInfinity())\n return '';\n return '';\n};\n\nPoint.prototype.isInfinity = function isInfinity() {\n // XXX This code assumes that zero is always zero in red\n return this.z.cmpn(0) === 0;\n};\n\nPoint.prototype.dbl = function dbl() {\n // http://hyperelliptic.org/EFD/g1p/auto-montgom-xz.html#doubling-dbl-1987-m-3\n // 2M + 2S + 4A\n\n // A = X1 + Z1\n var a = this.x.redAdd(this.z);\n // AA = A^2\n var aa = a.redSqr();\n // B = X1 - Z1\n var b = this.x.redSub(this.z);\n // BB = B^2\n var bb = b.redSqr();\n // C = AA - BB\n var c = aa.redSub(bb);\n // X3 = AA * BB\n var nx = aa.redMul(bb);\n // Z3 = C * (BB + A24 * C)\n var nz = c.redMul(bb.redAdd(this.curve.a24.redMul(c)));\n return this.curve.point(nx, nz);\n};\n\nPoint.prototype.add = function add() {\n throw new Error('Not supported on Montgomery curve');\n};\n\nPoint.prototype.diffAdd = function diffAdd(p, diff) {\n // http://hyperelliptic.org/EFD/g1p/auto-montgom-xz.html#diffadd-dadd-1987-m-3\n // 4M + 2S + 6A\n\n // A = X2 + Z2\n var a = this.x.redAdd(this.z);\n // B = X2 - Z2\n var b = this.x.redSub(this.z);\n // C = X3 + Z3\n var c = p.x.redAdd(p.z);\n // D = X3 - Z3\n var d = p.x.redSub(p.z);\n // DA = D * A\n var da = d.redMul(a);\n // CB = C * B\n var cb = c.redMul(b);\n // X5 = Z1 * (DA + CB)^2\n var nx = diff.z.redMul(da.redAdd(cb).redSqr());\n // Z5 = X1 * (DA - CB)^2\n var nz = diff.x.redMul(da.redISub(cb).redSqr());\n return this.curve.point(nx, nz);\n};\n\nPoint.prototype.mul = function mul(k) {\n var t = k.clone();\n var a = this; // (N / 2) * Q + Q\n var b = this.curve.point(null, null); // (N / 2) * Q\n var c = this; // Q\n\n for (var bits = []; t.cmpn(0) !== 0; t.iushrn(1))\n bits.push(t.andln(1));\n\n for (var i = bits.length - 1; i >= 0; i--) {\n if (bits[i] === 0) {\n // N * Q + Q = ((N / 2) * Q + Q)) + (N / 2) * Q\n a = a.diffAdd(b, c);\n // N * Q = 2 * ((N / 2) * Q + Q))\n b = b.dbl();\n } else {\n // N * Q = ((N / 2) * Q + Q) + ((N / 2) * Q)\n b = a.diffAdd(b, c);\n // N * Q + Q = 2 * ((N / 2) * Q + Q)\n a = a.dbl();\n }\n }\n return b;\n};\n\nPoint.prototype.mulAdd = function mulAdd() {\n throw new Error('Not supported on Montgomery curve');\n};\n\nPoint.prototype.jumlAdd = function jumlAdd() {\n throw new Error('Not supported on Montgomery curve');\n};\n\nPoint.prototype.eq = function eq(other) {\n return this.getX().cmp(other.getX()) === 0;\n};\n\nPoint.prototype.normalize = function normalize() {\n this.x = this.x.redMul(this.z.redInvm());\n this.z = this.curve.one;\n return this;\n};\n\nPoint.prototype.getX = function getX() {\n // Normalize coordinates\n this.normalize();\n\n return this.x.fromRed();\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar BN = require('bn.js');\nvar inherits = require('inherits');\nvar Base = require('./base');\n\nvar assert = utils.assert;\n\nfunction ShortCurve(conf) {\n Base.call(this, 'short', conf);\n\n this.a = new BN(conf.a, 16).toRed(this.red);\n this.b = new BN(conf.b, 16).toRed(this.red);\n this.tinv = this.two.redInvm();\n\n this.zeroA = this.a.fromRed().cmpn(0) === 0;\n this.threeA = this.a.fromRed().sub(this.p).cmpn(-3) === 0;\n\n // If the curve is endomorphic, precalculate beta and lambda\n this.endo = this._getEndomorphism(conf);\n this._endoWnafT1 = new Array(4);\n this._endoWnafT2 = new Array(4);\n}\ninherits(ShortCurve, Base);\nmodule.exports = ShortCurve;\n\nShortCurve.prototype._getEndomorphism = function _getEndomorphism(conf) {\n // No efficient endomorphism\n if (!this.zeroA || !this.g || !this.n || this.p.modn(3) !== 1)\n return;\n\n // Compute beta and lambda, that lambda * P = (beta * Px; Py)\n var beta;\n var lambda;\n if (conf.beta) {\n beta = new BN(conf.beta, 16).toRed(this.red);\n } else {\n var betas = this._getEndoRoots(this.p);\n // Choose the smallest beta\n beta = betas[0].cmp(betas[1]) < 0 ? betas[0] : betas[1];\n beta = beta.toRed(this.red);\n }\n if (conf.lambda) {\n lambda = new BN(conf.lambda, 16);\n } else {\n // Choose the lambda that is matching selected beta\n var lambdas = this._getEndoRoots(this.n);\n if (this.g.mul(lambdas[0]).x.cmp(this.g.x.redMul(beta)) === 0) {\n lambda = lambdas[0];\n } else {\n lambda = lambdas[1];\n assert(this.g.mul(lambda).x.cmp(this.g.x.redMul(beta)) === 0);\n }\n }\n\n // Get basis vectors, used for balanced length-two representation\n var basis;\n if (conf.basis) {\n basis = conf.basis.map(function(vec) {\n return {\n a: new BN(vec.a, 16),\n b: new BN(vec.b, 16),\n };\n });\n } else {\n basis = this._getEndoBasis(lambda);\n }\n\n return {\n beta: beta,\n lambda: lambda,\n basis: basis,\n };\n};\n\nShortCurve.prototype._getEndoRoots = function _getEndoRoots(num) {\n // Find roots of for x^2 + x + 1 in F\n // Root = (-1 +- Sqrt(-3)) / 2\n //\n var red = num === this.p ? this.red : BN.mont(num);\n var tinv = new BN(2).toRed(red).redInvm();\n var ntinv = tinv.redNeg();\n\n var s = new BN(3).toRed(red).redNeg().redSqrt().redMul(tinv);\n\n var l1 = ntinv.redAdd(s).fromRed();\n var l2 = ntinv.redSub(s).fromRed();\n return [ l1, l2 ];\n};\n\nShortCurve.prototype._getEndoBasis = function _getEndoBasis(lambda) {\n // aprxSqrt >= sqrt(this.n)\n var aprxSqrt = this.n.ushrn(Math.floor(this.n.bitLength() / 2));\n\n // 3.74\n // Run EGCD, until r(L + 1) < aprxSqrt\n var u = lambda;\n var v = this.n.clone();\n var x1 = new BN(1);\n var y1 = new BN(0);\n var x2 = new BN(0);\n var y2 = new BN(1);\n\n // NOTE: all vectors are roots of: a + b * lambda = 0 (mod n)\n var a0;\n var b0;\n // First vector\n var a1;\n var b1;\n // Second vector\n var a2;\n var b2;\n\n var prevR;\n var i = 0;\n var r;\n var x;\n while (u.cmpn(0) !== 0) {\n var q = v.div(u);\n r = v.sub(q.mul(u));\n x = x2.sub(q.mul(x1));\n var y = y2.sub(q.mul(y1));\n\n if (!a1 && r.cmp(aprxSqrt) < 0) {\n a0 = prevR.neg();\n b0 = x1;\n a1 = r.neg();\n b1 = x;\n } else if (a1 && ++i === 2) {\n break;\n }\n prevR = r;\n\n v = u;\n u = r;\n x2 = x1;\n x1 = x;\n y2 = y1;\n y1 = y;\n }\n a2 = r.neg();\n b2 = x;\n\n var len1 = a1.sqr().add(b1.sqr());\n var len2 = a2.sqr().add(b2.sqr());\n if (len2.cmp(len1) >= 0) {\n a2 = a0;\n b2 = b0;\n }\n\n // Normalize signs\n if (a1.negative) {\n a1 = a1.neg();\n b1 = b1.neg();\n }\n if (a2.negative) {\n a2 = a2.neg();\n b2 = b2.neg();\n }\n\n return [\n { a: a1, b: b1 },\n { a: a2, b: b2 },\n ];\n};\n\nShortCurve.prototype._endoSplit = function _endoSplit(k) {\n var basis = this.endo.basis;\n var v1 = basis[0];\n var v2 = basis[1];\n\n var c1 = v2.b.mul(k).divRound(this.n);\n var c2 = v1.b.neg().mul(k).divRound(this.n);\n\n var p1 = c1.mul(v1.a);\n var p2 = c2.mul(v2.a);\n var q1 = c1.mul(v1.b);\n var q2 = c2.mul(v2.b);\n\n // Calculate answer\n var k1 = k.sub(p1).sub(p2);\n var k2 = q1.add(q2).neg();\n return { k1: k1, k2: k2 };\n};\n\nShortCurve.prototype.pointFromX = function pointFromX(x, odd) {\n x = new BN(x, 16);\n if (!x.red)\n x = x.toRed(this.red);\n\n var y2 = x.redSqr().redMul(x).redIAdd(x.redMul(this.a)).redIAdd(this.b);\n var y = y2.redSqrt();\n if (y.redSqr().redSub(y2).cmp(this.zero) !== 0)\n throw new Error('invalid point');\n\n // XXX Is there any way to tell if the number is odd without converting it\n // to non-red form?\n var isOdd = y.fromRed().isOdd();\n if (odd && !isOdd || !odd && isOdd)\n y = y.redNeg();\n\n return this.point(x, y);\n};\n\nShortCurve.prototype.validate = function validate(point) {\n if (point.inf)\n return true;\n\n var x = point.x;\n var y = point.y;\n\n var ax = this.a.redMul(x);\n var rhs = x.redSqr().redMul(x).redIAdd(ax).redIAdd(this.b);\n return y.redSqr().redISub(rhs).cmpn(0) === 0;\n};\n\nShortCurve.prototype._endoWnafMulAdd =\n function _endoWnafMulAdd(points, coeffs, jacobianResult) {\n var npoints = this._endoWnafT1;\n var ncoeffs = this._endoWnafT2;\n for (var i = 0; i < points.length; i++) {\n var split = this._endoSplit(coeffs[i]);\n var p = points[i];\n var beta = p._getBeta();\n\n if (split.k1.negative) {\n split.k1.ineg();\n p = p.neg(true);\n }\n if (split.k2.negative) {\n split.k2.ineg();\n beta = beta.neg(true);\n }\n\n npoints[i * 2] = p;\n npoints[i * 2 + 1] = beta;\n ncoeffs[i * 2] = split.k1;\n ncoeffs[i * 2 + 1] = split.k2;\n }\n var res = this._wnafMulAdd(1, npoints, ncoeffs, i * 2, jacobianResult);\n\n // Clean-up references to points and coefficients\n for (var j = 0; j < i * 2; j++) {\n npoints[j] = null;\n ncoeffs[j] = null;\n }\n return res;\n };\n\nfunction Point(curve, x, y, isRed) {\n Base.BasePoint.call(this, curve, 'affine');\n if (x === null && y === null) {\n this.x = null;\n this.y = null;\n this.inf = true;\n } else {\n this.x = new BN(x, 16);\n this.y = new BN(y, 16);\n // Force redgomery representation when loading from JSON\n if (isRed) {\n this.x.forceRed(this.curve.red);\n this.y.forceRed(this.curve.red);\n }\n if (!this.x.red)\n this.x = this.x.toRed(this.curve.red);\n if (!this.y.red)\n this.y = this.y.toRed(this.curve.red);\n this.inf = false;\n }\n}\ninherits(Point, Base.BasePoint);\n\nShortCurve.prototype.point = function point(x, y, isRed) {\n return new Point(this, x, y, isRed);\n};\n\nShortCurve.prototype.pointFromJSON = function pointFromJSON(obj, red) {\n return Point.fromJSON(this, obj, red);\n};\n\nPoint.prototype._getBeta = function _getBeta() {\n if (!this.curve.endo)\n return;\n\n var pre = this.precomputed;\n if (pre && pre.beta)\n return pre.beta;\n\n var beta = this.curve.point(this.x.redMul(this.curve.endo.beta), this.y);\n if (pre) {\n var curve = this.curve;\n var endoMul = function(p) {\n return curve.point(p.x.redMul(curve.endo.beta), p.y);\n };\n pre.beta = beta;\n beta.precomputed = {\n beta: null,\n naf: pre.naf && {\n wnd: pre.naf.wnd,\n points: pre.naf.points.map(endoMul),\n },\n doubles: pre.doubles && {\n step: pre.doubles.step,\n points: pre.doubles.points.map(endoMul),\n },\n };\n }\n return beta;\n};\n\nPoint.prototype.toJSON = function toJSON() {\n if (!this.precomputed)\n return [ this.x, this.y ];\n\n return [ this.x, this.y, this.precomputed && {\n doubles: this.precomputed.doubles && {\n step: this.precomputed.doubles.step,\n points: this.precomputed.doubles.points.slice(1),\n },\n naf: this.precomputed.naf && {\n wnd: this.precomputed.naf.wnd,\n points: this.precomputed.naf.points.slice(1),\n },\n } ];\n};\n\nPoint.fromJSON = function fromJSON(curve, obj, red) {\n if (typeof obj === 'string')\n obj = JSON.parse(obj);\n var res = curve.point(obj[0], obj[1], red);\n if (!obj[2])\n return res;\n\n function obj2point(obj) {\n return curve.point(obj[0], obj[1], red);\n }\n\n var pre = obj[2];\n res.precomputed = {\n beta: null,\n doubles: pre.doubles && {\n step: pre.doubles.step,\n points: [ res ].concat(pre.doubles.points.map(obj2point)),\n },\n naf: pre.naf && {\n wnd: pre.naf.wnd,\n points: [ res ].concat(pre.naf.points.map(obj2point)),\n },\n };\n return res;\n};\n\nPoint.prototype.inspect = function inspect() {\n if (this.isInfinity())\n return '';\n return '';\n};\n\nPoint.prototype.isInfinity = function isInfinity() {\n return this.inf;\n};\n\nPoint.prototype.add = function add(p) {\n // O + P = P\n if (this.inf)\n return p;\n\n // P + O = P\n if (p.inf)\n return this;\n\n // P + P = 2P\n if (this.eq(p))\n return this.dbl();\n\n // P + (-P) = O\n if (this.neg().eq(p))\n return this.curve.point(null, null);\n\n // P + Q = O\n if (this.x.cmp(p.x) === 0)\n return this.curve.point(null, null);\n\n var c = this.y.redSub(p.y);\n if (c.cmpn(0) !== 0)\n c = c.redMul(this.x.redSub(p.x).redInvm());\n var nx = c.redSqr().redISub(this.x).redISub(p.x);\n var ny = c.redMul(this.x.redSub(nx)).redISub(this.y);\n return this.curve.point(nx, ny);\n};\n\nPoint.prototype.dbl = function dbl() {\n if (this.inf)\n return this;\n\n // 2P = O\n var ys1 = this.y.redAdd(this.y);\n if (ys1.cmpn(0) === 0)\n return this.curve.point(null, null);\n\n var a = this.curve.a;\n\n var x2 = this.x.redSqr();\n var dyinv = ys1.redInvm();\n var c = x2.redAdd(x2).redIAdd(x2).redIAdd(a).redMul(dyinv);\n\n var nx = c.redSqr().redISub(this.x.redAdd(this.x));\n var ny = c.redMul(this.x.redSub(nx)).redISub(this.y);\n return this.curve.point(nx, ny);\n};\n\nPoint.prototype.getX = function getX() {\n return this.x.fromRed();\n};\n\nPoint.prototype.getY = function getY() {\n return this.y.fromRed();\n};\n\nPoint.prototype.mul = function mul(k) {\n k = new BN(k, 16);\n if (this.isInfinity())\n return this;\n else if (this._hasDoubles(k))\n return this.curve._fixedNafMul(this, k);\n else if (this.curve.endo)\n return this.curve._endoWnafMulAdd([ this ], [ k ]);\n else\n return this.curve._wnafMul(this, k);\n};\n\nPoint.prototype.mulAdd = function mulAdd(k1, p2, k2) {\n var points = [ this, p2 ];\n var coeffs = [ k1, k2 ];\n if (this.curve.endo)\n return this.curve._endoWnafMulAdd(points, coeffs);\n else\n return this.curve._wnafMulAdd(1, points, coeffs, 2);\n};\n\nPoint.prototype.jmulAdd = function jmulAdd(k1, p2, k2) {\n var points = [ this, p2 ];\n var coeffs = [ k1, k2 ];\n if (this.curve.endo)\n return this.curve._endoWnafMulAdd(points, coeffs, true);\n else\n return this.curve._wnafMulAdd(1, points, coeffs, 2, true);\n};\n\nPoint.prototype.eq = function eq(p) {\n return this === p ||\n this.inf === p.inf &&\n (this.inf || this.x.cmp(p.x) === 0 && this.y.cmp(p.y) === 0);\n};\n\nPoint.prototype.neg = function neg(_precompute) {\n if (this.inf)\n return this;\n\n var res = this.curve.point(this.x, this.y.redNeg());\n if (_precompute && this.precomputed) {\n var pre = this.precomputed;\n var negate = function(p) {\n return p.neg();\n };\n res.precomputed = {\n naf: pre.naf && {\n wnd: pre.naf.wnd,\n points: pre.naf.points.map(negate),\n },\n doubles: pre.doubles && {\n step: pre.doubles.step,\n points: pre.doubles.points.map(negate),\n },\n };\n }\n return res;\n};\n\nPoint.prototype.toJ = function toJ() {\n if (this.inf)\n return this.curve.jpoint(null, null, null);\n\n var res = this.curve.jpoint(this.x, this.y, this.curve.one);\n return res;\n};\n\nfunction JPoint(curve, x, y, z) {\n Base.BasePoint.call(this, curve, 'jacobian');\n if (x === null && y === null && z === null) {\n this.x = this.curve.one;\n this.y = this.curve.one;\n this.z = new BN(0);\n } else {\n this.x = new BN(x, 16);\n this.y = new BN(y, 16);\n this.z = new BN(z, 16);\n }\n if (!this.x.red)\n this.x = this.x.toRed(this.curve.red);\n if (!this.y.red)\n this.y = this.y.toRed(this.curve.red);\n if (!this.z.red)\n this.z = this.z.toRed(this.curve.red);\n\n this.zOne = this.z === this.curve.one;\n}\ninherits(JPoint, Base.BasePoint);\n\nShortCurve.prototype.jpoint = function jpoint(x, y, z) {\n return new JPoint(this, x, y, z);\n};\n\nJPoint.prototype.toP = function toP() {\n if (this.isInfinity())\n return this.curve.point(null, null);\n\n var zinv = this.z.redInvm();\n var zinv2 = zinv.redSqr();\n var ax = this.x.redMul(zinv2);\n var ay = this.y.redMul(zinv2).redMul(zinv);\n\n return this.curve.point(ax, ay);\n};\n\nJPoint.prototype.neg = function neg() {\n return this.curve.jpoint(this.x, this.y.redNeg(), this.z);\n};\n\nJPoint.prototype.add = function add(p) {\n // O + P = P\n if (this.isInfinity())\n return p;\n\n // P + O = P\n if (p.isInfinity())\n return this;\n\n // 12M + 4S + 7A\n var pz2 = p.z.redSqr();\n var z2 = this.z.redSqr();\n var u1 = this.x.redMul(pz2);\n var u2 = p.x.redMul(z2);\n var s1 = this.y.redMul(pz2.redMul(p.z));\n var s2 = p.y.redMul(z2.redMul(this.z));\n\n var h = u1.redSub(u2);\n var r = s1.redSub(s2);\n if (h.cmpn(0) === 0) {\n if (r.cmpn(0) !== 0)\n return this.curve.jpoint(null, null, null);\n else\n return this.dbl();\n }\n\n var h2 = h.redSqr();\n var h3 = h2.redMul(h);\n var v = u1.redMul(h2);\n\n var nx = r.redSqr().redIAdd(h3).redISub(v).redISub(v);\n var ny = r.redMul(v.redISub(nx)).redISub(s1.redMul(h3));\n var nz = this.z.redMul(p.z).redMul(h);\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype.mixedAdd = function mixedAdd(p) {\n // O + P = P\n if (this.isInfinity())\n return p.toJ();\n\n // P + O = P\n if (p.isInfinity())\n return this;\n\n // 8M + 3S + 7A\n var z2 = this.z.redSqr();\n var u1 = this.x;\n var u2 = p.x.redMul(z2);\n var s1 = this.y;\n var s2 = p.y.redMul(z2).redMul(this.z);\n\n var h = u1.redSub(u2);\n var r = s1.redSub(s2);\n if (h.cmpn(0) === 0) {\n if (r.cmpn(0) !== 0)\n return this.curve.jpoint(null, null, null);\n else\n return this.dbl();\n }\n\n var h2 = h.redSqr();\n var h3 = h2.redMul(h);\n var v = u1.redMul(h2);\n\n var nx = r.redSqr().redIAdd(h3).redISub(v).redISub(v);\n var ny = r.redMul(v.redISub(nx)).redISub(s1.redMul(h3));\n var nz = this.z.redMul(h);\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype.dblp = function dblp(pow) {\n if (pow === 0)\n return this;\n if (this.isInfinity())\n return this;\n if (!pow)\n return this.dbl();\n\n var i;\n if (this.curve.zeroA || this.curve.threeA) {\n var r = this;\n for (i = 0; i < pow; i++)\n r = r.dbl();\n return r;\n }\n\n // 1M + 2S + 1A + N * (4S + 5M + 8A)\n // N = 1 => 6M + 6S + 9A\n var a = this.curve.a;\n var tinv = this.curve.tinv;\n\n var jx = this.x;\n var jy = this.y;\n var jz = this.z;\n var jz4 = jz.redSqr().redSqr();\n\n // Reuse results\n var jyd = jy.redAdd(jy);\n for (i = 0; i < pow; i++) {\n var jx2 = jx.redSqr();\n var jyd2 = jyd.redSqr();\n var jyd4 = jyd2.redSqr();\n var c = jx2.redAdd(jx2).redIAdd(jx2).redIAdd(a.redMul(jz4));\n\n var t1 = jx.redMul(jyd2);\n var nx = c.redSqr().redISub(t1.redAdd(t1));\n var t2 = t1.redISub(nx);\n var dny = c.redMul(t2);\n dny = dny.redIAdd(dny).redISub(jyd4);\n var nz = jyd.redMul(jz);\n if (i + 1 < pow)\n jz4 = jz4.redMul(jyd4);\n\n jx = nx;\n jz = nz;\n jyd = dny;\n }\n\n return this.curve.jpoint(jx, jyd.redMul(tinv), jz);\n};\n\nJPoint.prototype.dbl = function dbl() {\n if (this.isInfinity())\n return this;\n\n if (this.curve.zeroA)\n return this._zeroDbl();\n else if (this.curve.threeA)\n return this._threeDbl();\n else\n return this._dbl();\n};\n\nJPoint.prototype._zeroDbl = function _zeroDbl() {\n var nx;\n var ny;\n var nz;\n // Z = 1\n if (this.zOne) {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html\n // #doubling-mdbl-2007-bl\n // 1M + 5S + 14A\n\n // XX = X1^2\n var xx = this.x.redSqr();\n // YY = Y1^2\n var yy = this.y.redSqr();\n // YYYY = YY^2\n var yyyy = yy.redSqr();\n // S = 2 * ((X1 + YY)^2 - XX - YYYY)\n var s = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);\n s = s.redIAdd(s);\n // M = 3 * XX + a; a = 0\n var m = xx.redAdd(xx).redIAdd(xx);\n // T = M ^ 2 - 2*S\n var t = m.redSqr().redISub(s).redISub(s);\n\n // 8 * YYYY\n var yyyy8 = yyyy.redIAdd(yyyy);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n\n // X3 = T\n nx = t;\n // Y3 = M * (S - T) - 8 * YYYY\n ny = m.redMul(s.redISub(t)).redISub(yyyy8);\n // Z3 = 2*Y1\n nz = this.y.redAdd(this.y);\n } else {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html\n // #doubling-dbl-2009-l\n // 2M + 5S + 13A\n\n // A = X1^2\n var a = this.x.redSqr();\n // B = Y1^2\n var b = this.y.redSqr();\n // C = B^2\n var c = b.redSqr();\n // D = 2 * ((X1 + B)^2 - A - C)\n var d = this.x.redAdd(b).redSqr().redISub(a).redISub(c);\n d = d.redIAdd(d);\n // E = 3 * A\n var e = a.redAdd(a).redIAdd(a);\n // F = E^2\n var f = e.redSqr();\n\n // 8 * C\n var c8 = c.redIAdd(c);\n c8 = c8.redIAdd(c8);\n c8 = c8.redIAdd(c8);\n\n // X3 = F - 2 * D\n nx = f.redISub(d).redISub(d);\n // Y3 = E * (D - X3) - 8 * C\n ny = e.redMul(d.redISub(nx)).redISub(c8);\n // Z3 = 2 * Y1 * Z1\n nz = this.y.redMul(this.z);\n nz = nz.redIAdd(nz);\n }\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype._threeDbl = function _threeDbl() {\n var nx;\n var ny;\n var nz;\n // Z = 1\n if (this.zOne) {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-3.html\n // #doubling-mdbl-2007-bl\n // 1M + 5S + 15A\n\n // XX = X1^2\n var xx = this.x.redSqr();\n // YY = Y1^2\n var yy = this.y.redSqr();\n // YYYY = YY^2\n var yyyy = yy.redSqr();\n // S = 2 * ((X1 + YY)^2 - XX - YYYY)\n var s = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);\n s = s.redIAdd(s);\n // M = 3 * XX + a\n var m = xx.redAdd(xx).redIAdd(xx).redIAdd(this.curve.a);\n // T = M^2 - 2 * S\n var t = m.redSqr().redISub(s).redISub(s);\n // X3 = T\n nx = t;\n // Y3 = M * (S - T) - 8 * YYYY\n var yyyy8 = yyyy.redIAdd(yyyy);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n ny = m.redMul(s.redISub(t)).redISub(yyyy8);\n // Z3 = 2 * Y1\n nz = this.y.redAdd(this.y);\n } else {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-3.html#doubling-dbl-2001-b\n // 3M + 5S\n\n // delta = Z1^2\n var delta = this.z.redSqr();\n // gamma = Y1^2\n var gamma = this.y.redSqr();\n // beta = X1 * gamma\n var beta = this.x.redMul(gamma);\n // alpha = 3 * (X1 - delta) * (X1 + delta)\n var alpha = this.x.redSub(delta).redMul(this.x.redAdd(delta));\n alpha = alpha.redAdd(alpha).redIAdd(alpha);\n // X3 = alpha^2 - 8 * beta\n var beta4 = beta.redIAdd(beta);\n beta4 = beta4.redIAdd(beta4);\n var beta8 = beta4.redAdd(beta4);\n nx = alpha.redSqr().redISub(beta8);\n // Z3 = (Y1 + Z1)^2 - gamma - delta\n nz = this.y.redAdd(this.z).redSqr().redISub(gamma).redISub(delta);\n // Y3 = alpha * (4 * beta - X3) - 8 * gamma^2\n var ggamma8 = gamma.redSqr();\n ggamma8 = ggamma8.redIAdd(ggamma8);\n ggamma8 = ggamma8.redIAdd(ggamma8);\n ggamma8 = ggamma8.redIAdd(ggamma8);\n ny = alpha.redMul(beta4.redISub(nx)).redISub(ggamma8);\n }\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype._dbl = function _dbl() {\n var a = this.curve.a;\n\n // 4M + 6S + 10A\n var jx = this.x;\n var jy = this.y;\n var jz = this.z;\n var jz4 = jz.redSqr().redSqr();\n\n var jx2 = jx.redSqr();\n var jy2 = jy.redSqr();\n\n var c = jx2.redAdd(jx2).redIAdd(jx2).redIAdd(a.redMul(jz4));\n\n var jxd4 = jx.redAdd(jx);\n jxd4 = jxd4.redIAdd(jxd4);\n var t1 = jxd4.redMul(jy2);\n var nx = c.redSqr().redISub(t1.redAdd(t1));\n var t2 = t1.redISub(nx);\n\n var jyd8 = jy2.redSqr();\n jyd8 = jyd8.redIAdd(jyd8);\n jyd8 = jyd8.redIAdd(jyd8);\n jyd8 = jyd8.redIAdd(jyd8);\n var ny = c.redMul(t2).redISub(jyd8);\n var nz = jy.redAdd(jy).redMul(jz);\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype.trpl = function trpl() {\n if (!this.curve.zeroA)\n return this.dbl().add(this);\n\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html#tripling-tpl-2007-bl\n // 5M + 10S + ...\n\n // XX = X1^2\n var xx = this.x.redSqr();\n // YY = Y1^2\n var yy = this.y.redSqr();\n // ZZ = Z1^2\n var zz = this.z.redSqr();\n // YYYY = YY^2\n var yyyy = yy.redSqr();\n // M = 3 * XX + a * ZZ2; a = 0\n var m = xx.redAdd(xx).redIAdd(xx);\n // MM = M^2\n var mm = m.redSqr();\n // E = 6 * ((X1 + YY)^2 - XX - YYYY) - MM\n var e = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);\n e = e.redIAdd(e);\n e = e.redAdd(e).redIAdd(e);\n e = e.redISub(mm);\n // EE = E^2\n var ee = e.redSqr();\n // T = 16*YYYY\n var t = yyyy.redIAdd(yyyy);\n t = t.redIAdd(t);\n t = t.redIAdd(t);\n t = t.redIAdd(t);\n // U = (M + E)^2 - MM - EE - T\n var u = m.redIAdd(e).redSqr().redISub(mm).redISub(ee).redISub(t);\n // X3 = 4 * (X1 * EE - 4 * YY * U)\n var yyu4 = yy.redMul(u);\n yyu4 = yyu4.redIAdd(yyu4);\n yyu4 = yyu4.redIAdd(yyu4);\n var nx = this.x.redMul(ee).redISub(yyu4);\n nx = nx.redIAdd(nx);\n nx = nx.redIAdd(nx);\n // Y3 = 8 * Y1 * (U * (T - U) - E * EE)\n var ny = this.y.redMul(u.redMul(t.redISub(u)).redISub(e.redMul(ee)));\n ny = ny.redIAdd(ny);\n ny = ny.redIAdd(ny);\n ny = ny.redIAdd(ny);\n // Z3 = (Z1 + E)^2 - ZZ - EE\n var nz = this.z.redAdd(e).redSqr().redISub(zz).redISub(ee);\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype.mul = function mul(k, kbase) {\n k = new BN(k, kbase);\n\n return this.curve._wnafMul(this, k);\n};\n\nJPoint.prototype.eq = function eq(p) {\n if (p.type === 'affine')\n return this.eq(p.toJ());\n\n if (this === p)\n return true;\n\n // x1 * z2^2 == x2 * z1^2\n var z2 = this.z.redSqr();\n var pz2 = p.z.redSqr();\n if (this.x.redMul(pz2).redISub(p.x.redMul(z2)).cmpn(0) !== 0)\n return false;\n\n // y1 * z2^3 == y2 * z1^3\n var z3 = z2.redMul(this.z);\n var pz3 = pz2.redMul(p.z);\n return this.y.redMul(pz3).redISub(p.y.redMul(z3)).cmpn(0) === 0;\n};\n\nJPoint.prototype.eqXToP = function eqXToP(x) {\n var zs = this.z.redSqr();\n var rx = x.toRed(this.curve.red).redMul(zs);\n if (this.x.cmp(rx) === 0)\n return true;\n\n var xc = x.clone();\n var t = this.curve.redN.redMul(zs);\n for (;;) {\n xc.iadd(this.curve.n);\n if (xc.cmp(this.curve.p) >= 0)\n return false;\n\n rx.redIAdd(t);\n if (this.x.cmp(rx) === 0)\n return true;\n }\n};\n\nJPoint.prototype.inspect = function inspect() {\n if (this.isInfinity())\n return '';\n return '';\n};\n\nJPoint.prototype.isInfinity = function isInfinity() {\n // XXX This code assumes that zero is always zero in red\n return this.z.cmpn(0) === 0;\n};\n","'use strict';\n\nvar curves = exports;\n\nvar hash = require('hash.js');\nvar curve = require('./curve');\nvar utils = require('./utils');\n\nvar assert = utils.assert;\n\nfunction PresetCurve(options) {\n if (options.type === 'short')\n this.curve = new curve.short(options);\n else if (options.type === 'edwards')\n this.curve = new curve.edwards(options);\n else\n this.curve = new curve.mont(options);\n this.g = this.curve.g;\n this.n = this.curve.n;\n this.hash = options.hash;\n\n assert(this.g.validate(), 'Invalid curve');\n assert(this.g.mul(this.n).isInfinity(), 'Invalid curve, G*N != O');\n}\ncurves.PresetCurve = PresetCurve;\n\nfunction defineCurve(name, options) {\n Object.defineProperty(curves, name, {\n configurable: true,\n enumerable: true,\n get: function() {\n var curve = new PresetCurve(options);\n Object.defineProperty(curves, name, {\n configurable: true,\n enumerable: true,\n value: curve,\n });\n return curve;\n },\n });\n}\n\ndefineCurve('p192', {\n type: 'short',\n prime: 'p192',\n p: 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff',\n a: 'ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc',\n b: '64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1',\n n: 'ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831',\n hash: hash.sha256,\n gRed: false,\n g: [\n '188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012',\n '07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811',\n ],\n});\n\ndefineCurve('p224', {\n type: 'short',\n prime: 'p224',\n p: 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001',\n a: 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe',\n b: 'b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4',\n n: 'ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d',\n hash: hash.sha256,\n gRed: false,\n g: [\n 'b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21',\n 'bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34',\n ],\n});\n\ndefineCurve('p256', {\n type: 'short',\n prime: null,\n p: 'ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff',\n a: 'ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc',\n b: '5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b',\n n: 'ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551',\n hash: hash.sha256,\n gRed: false,\n g: [\n '6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296',\n '4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5',\n ],\n});\n\ndefineCurve('p384', {\n type: 'short',\n prime: null,\n p: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'fffffffe ffffffff 00000000 00000000 ffffffff',\n a: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'fffffffe ffffffff 00000000 00000000 fffffffc',\n b: 'b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f ' +\n '5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef',\n n: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 ' +\n 'f4372ddf 581a0db2 48b0a77a ecec196a ccc52973',\n hash: hash.sha384,\n gRed: false,\n g: [\n 'aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 ' +\n '5502f25d bf55296c 3a545e38 72760ab7',\n '3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 ' +\n '0a60b1ce 1d7e819d 7a431d7c 90ea0e5f',\n ],\n});\n\ndefineCurve('p521', {\n type: 'short',\n prime: null,\n p: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff ffffffff',\n a: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff fffffffc',\n b: '00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b ' +\n '99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd ' +\n '3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00',\n n: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 ' +\n 'f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409',\n hash: hash.sha512,\n gRed: false,\n g: [\n '000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 ' +\n '053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 ' +\n 'a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66',\n '00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 ' +\n '579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 ' +\n '3fad0761 353c7086 a272c240 88be9476 9fd16650',\n ],\n});\n\ndefineCurve('curve25519', {\n type: 'mont',\n prime: 'p25519',\n p: '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed',\n a: '76d06',\n b: '1',\n n: '1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed',\n hash: hash.sha256,\n gRed: false,\n g: [\n '9',\n ],\n});\n\ndefineCurve('ed25519', {\n type: 'edwards',\n prime: 'p25519',\n p: '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed',\n a: '-1',\n c: '1',\n // -121665 * (121666^(-1)) (mod P)\n d: '52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3',\n n: '1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed',\n hash: hash.sha256,\n gRed: false,\n g: [\n '216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a',\n\n // 4/5\n '6666666666666666666666666666666666666666666666666666666666666658',\n ],\n});\n\nvar pre;\ntry {\n pre = require('./precomputed/secp256k1');\n} catch (e) {\n pre = undefined;\n}\n\ndefineCurve('secp256k1', {\n type: 'short',\n prime: 'k256',\n p: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f',\n a: '0',\n b: '7',\n n: 'ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141',\n h: '1',\n hash: hash.sha256,\n\n // Precomputed endomorphism\n beta: '7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee',\n lambda: '5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72',\n basis: [\n {\n a: '3086d221a7d46bcde86c90e49284eb15',\n b: '-e4437ed6010e88286f547fa90abfe4c3',\n },\n {\n a: '114ca50f7a8e2f3f657c1108d9d44cfd8',\n b: '3086d221a7d46bcde86c90e49284eb15',\n },\n ],\n\n gRed: false,\n g: [\n '79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798',\n '483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8',\n pre,\n ],\n});\n","'use strict';\n\nvar BN = require('bn.js');\nvar HmacDRBG = require('hmac-drbg');\nvar utils = require('../utils');\nvar curves = require('../curves');\nvar rand = require('brorand');\nvar assert = utils.assert;\n\nvar KeyPair = require('./key');\nvar Signature = require('./signature');\n\nfunction EC(options) {\n if (!(this instanceof EC))\n return new EC(options);\n\n // Shortcut `elliptic.ec(curve-name)`\n if (typeof options === 'string') {\n assert(Object.prototype.hasOwnProperty.call(curves, options),\n 'Unknown curve ' + options);\n\n options = curves[options];\n }\n\n // Shortcut for `elliptic.ec(elliptic.curves.curveName)`\n if (options instanceof curves.PresetCurve)\n options = { curve: options };\n\n this.curve = options.curve.curve;\n this.n = this.curve.n;\n this.nh = this.n.ushrn(1);\n this.g = this.curve.g;\n\n // Point on curve\n this.g = options.curve.g;\n this.g.precompute(options.curve.n.bitLength() + 1);\n\n // Hash for function for DRBG\n this.hash = options.hash || options.curve.hash;\n}\nmodule.exports = EC;\n\nEC.prototype.keyPair = function keyPair(options) {\n return new KeyPair(this, options);\n};\n\nEC.prototype.keyFromPrivate = function keyFromPrivate(priv, enc) {\n return KeyPair.fromPrivate(this, priv, enc);\n};\n\nEC.prototype.keyFromPublic = function keyFromPublic(pub, enc) {\n return KeyPair.fromPublic(this, pub, enc);\n};\n\nEC.prototype.genKeyPair = function genKeyPair(options) {\n if (!options)\n options = {};\n\n // Instantiate Hmac_DRBG\n var drbg = new HmacDRBG({\n hash: this.hash,\n pers: options.pers,\n persEnc: options.persEnc || 'utf8',\n entropy: options.entropy || rand(this.hash.hmacStrength),\n entropyEnc: options.entropy && options.entropyEnc || 'utf8',\n nonce: this.n.toArray(),\n });\n\n var bytes = this.n.byteLength();\n var ns2 = this.n.sub(new BN(2));\n for (;;) {\n var priv = new BN(drbg.generate(bytes));\n if (priv.cmp(ns2) > 0)\n continue;\n\n priv.iaddn(1);\n return this.keyFromPrivate(priv);\n }\n};\n\nEC.prototype._truncateToN = function _truncateToN(msg, truncOnly, bitLength) {\n var byteLength;\n if (BN.isBN(msg) || typeof msg === 'number') {\n msg = new BN(msg, 16);\n byteLength = msg.byteLength();\n } else if (typeof msg === 'object') {\n // BN assumes an array-like input and asserts length\n byteLength = msg.length;\n msg = new BN(msg, 16);\n } else {\n // BN converts the value to string\n var str = msg.toString();\n // HEX encoding\n byteLength = (str.length + 1) >>> 1;\n msg = new BN(str, 16);\n }\n // Allow overriding\n if (typeof bitLength !== 'number') {\n bitLength = byteLength * 8;\n }\n var delta = bitLength - this.n.bitLength();\n if (delta > 0)\n msg = msg.ushrn(delta);\n if (!truncOnly && msg.cmp(this.n) >= 0)\n return msg.sub(this.n);\n else\n return msg;\n};\n\nEC.prototype.sign = function sign(msg, key, enc, options) {\n if (typeof enc === 'object') {\n options = enc;\n enc = null;\n }\n if (!options)\n options = {};\n\n if (typeof msg !== 'string' && typeof msg !== 'number' && !BN.isBN(msg)) {\n assert(typeof msg === 'object' && msg && typeof msg.length === 'number',\n 'Expected message to be an array-like, a hex string, or a BN instance');\n assert((msg.length >>> 0) === msg.length); // non-negative 32-bit integer\n for (var i = 0; i < msg.length; i++) assert((msg[i] & 255) === msg[i]);\n }\n\n key = this.keyFromPrivate(key, enc);\n msg = this._truncateToN(msg, false, options.msgBitLength);\n\n // Would fail further checks, but let's make the error message clear\n assert(!msg.isNeg(), 'Can not sign a negative message');\n\n // Zero-extend key to provide enough entropy\n var bytes = this.n.byteLength();\n var bkey = key.getPrivate().toArray('be', bytes);\n\n // Zero-extend nonce to have the same byte size as N\n var nonce = msg.toArray('be', bytes);\n\n // Recheck nonce to be bijective to msg\n assert((new BN(nonce)).eq(msg), 'Can not sign message');\n\n // Instantiate Hmac_DRBG\n var drbg = new HmacDRBG({\n hash: this.hash,\n entropy: bkey,\n nonce: nonce,\n pers: options.pers,\n persEnc: options.persEnc || 'utf8',\n });\n\n // Number of bytes to generate\n var ns1 = this.n.sub(new BN(1));\n\n for (var iter = 0; ; iter++) {\n var k = options.k ?\n options.k(iter) :\n new BN(drbg.generate(this.n.byteLength()));\n k = this._truncateToN(k, true);\n if (k.cmpn(1) <= 0 || k.cmp(ns1) >= 0)\n continue;\n\n var kp = this.g.mul(k);\n if (kp.isInfinity())\n continue;\n\n var kpX = kp.getX();\n var r = kpX.umod(this.n);\n if (r.cmpn(0) === 0)\n continue;\n\n var s = k.invm(this.n).mul(r.mul(key.getPrivate()).iadd(msg));\n s = s.umod(this.n);\n if (s.cmpn(0) === 0)\n continue;\n\n var recoveryParam = (kp.getY().isOdd() ? 1 : 0) |\n (kpX.cmp(r) !== 0 ? 2 : 0);\n\n // Use complement of `s`, if it is > `n / 2`\n if (options.canonical && s.cmp(this.nh) > 0) {\n s = this.n.sub(s);\n recoveryParam ^= 1;\n }\n\n return new Signature({ r: r, s: s, recoveryParam: recoveryParam });\n }\n};\n\nEC.prototype.verify = function verify(msg, signature, key, enc, options) {\n if (!options)\n options = {};\n\n msg = this._truncateToN(msg, false, options.msgBitLength);\n key = this.keyFromPublic(key, enc);\n signature = new Signature(signature, 'hex');\n\n // Perform primitive values validation\n var r = signature.r;\n var s = signature.s;\n if (r.cmpn(1) < 0 || r.cmp(this.n) >= 0)\n return false;\n if (s.cmpn(1) < 0 || s.cmp(this.n) >= 0)\n return false;\n\n // Validate signature\n var sinv = s.invm(this.n);\n var u1 = sinv.mul(msg).umod(this.n);\n var u2 = sinv.mul(r).umod(this.n);\n var p;\n\n if (!this.curve._maxwellTrick) {\n p = this.g.mulAdd(u1, key.getPublic(), u2);\n if (p.isInfinity())\n return false;\n\n return p.getX().umod(this.n).cmp(r) === 0;\n }\n\n // NOTE: Greg Maxwell's trick, inspired by:\n // https://git.io/vad3K\n\n p = this.g.jmulAdd(u1, key.getPublic(), u2);\n if (p.isInfinity())\n return false;\n\n // Compare `p.x` of Jacobian point with `r`,\n // this will do `p.x == r * p.z^2` instead of multiplying `p.x` by the\n // inverse of `p.z^2`\n return p.eqXToP(r);\n};\n\nEC.prototype.recoverPubKey = function(msg, signature, j, enc) {\n assert((3 & j) === j, 'The recovery param is more than two bits');\n signature = new Signature(signature, enc);\n\n var n = this.n;\n var e = new BN(msg);\n var r = signature.r;\n var s = signature.s;\n\n // A set LSB signifies that the y-coordinate is odd\n var isYOdd = j & 1;\n var isSecondKey = j >> 1;\n if (r.cmp(this.curve.p.umod(this.curve.n)) >= 0 && isSecondKey)\n throw new Error('Unable to find sencond key candinate');\n\n // 1.1. Let x = r + jn.\n if (isSecondKey)\n r = this.curve.pointFromX(r.add(this.curve.n), isYOdd);\n else\n r = this.curve.pointFromX(r, isYOdd);\n\n var rInv = signature.r.invm(n);\n var s1 = n.sub(e).mul(rInv).umod(n);\n var s2 = s.mul(rInv).umod(n);\n\n // 1.6.1 Compute Q = r^-1 (sR - eG)\n // Q = r^-1 (sR + -eG)\n return this.g.mulAdd(s1, r, s2);\n};\n\nEC.prototype.getKeyRecoveryParam = function(e, signature, Q, enc) {\n signature = new Signature(signature, enc);\n if (signature.recoveryParam !== null)\n return signature.recoveryParam;\n\n for (var i = 0; i < 4; i++) {\n var Qprime;\n try {\n Qprime = this.recoverPubKey(e, signature, i);\n } catch (e) {\n continue;\n }\n\n if (Qprime.eq(Q))\n return i;\n }\n throw new Error('Unable to find valid recovery factor');\n};\n","'use strict';\n\nvar BN = require('bn.js');\nvar utils = require('../utils');\nvar assert = utils.assert;\n\nfunction KeyPair(ec, options) {\n this.ec = ec;\n this.priv = null;\n this.pub = null;\n\n // KeyPair(ec, { priv: ..., pub: ... })\n if (options.priv)\n this._importPrivate(options.priv, options.privEnc);\n if (options.pub)\n this._importPublic(options.pub, options.pubEnc);\n}\nmodule.exports = KeyPair;\n\nKeyPair.fromPublic = function fromPublic(ec, pub, enc) {\n if (pub instanceof KeyPair)\n return pub;\n\n return new KeyPair(ec, {\n pub: pub,\n pubEnc: enc,\n });\n};\n\nKeyPair.fromPrivate = function fromPrivate(ec, priv, enc) {\n if (priv instanceof KeyPair)\n return priv;\n\n return new KeyPair(ec, {\n priv: priv,\n privEnc: enc,\n });\n};\n\nKeyPair.prototype.validate = function validate() {\n var pub = this.getPublic();\n\n if (pub.isInfinity())\n return { result: false, reason: 'Invalid public key' };\n if (!pub.validate())\n return { result: false, reason: 'Public key is not a point' };\n if (!pub.mul(this.ec.curve.n).isInfinity())\n return { result: false, reason: 'Public key * N != O' };\n\n return { result: true, reason: null };\n};\n\nKeyPair.prototype.getPublic = function getPublic(compact, enc) {\n // compact is optional argument\n if (typeof compact === 'string') {\n enc = compact;\n compact = null;\n }\n\n if (!this.pub)\n this.pub = this.ec.g.mul(this.priv);\n\n if (!enc)\n return this.pub;\n\n return this.pub.encode(enc, compact);\n};\n\nKeyPair.prototype.getPrivate = function getPrivate(enc) {\n if (enc === 'hex')\n return this.priv.toString(16, 2);\n else\n return this.priv;\n};\n\nKeyPair.prototype._importPrivate = function _importPrivate(key, enc) {\n this.priv = new BN(key, enc || 16);\n\n // Ensure that the priv won't be bigger than n, otherwise we may fail\n // in fixed multiplication method\n this.priv = this.priv.umod(this.ec.curve.n);\n};\n\nKeyPair.prototype._importPublic = function _importPublic(key, enc) {\n if (key.x || key.y) {\n // Montgomery points only have an `x` coordinate.\n // Weierstrass/Edwards points on the other hand have both `x` and\n // `y` coordinates.\n if (this.ec.curve.type === 'mont') {\n assert(key.x, 'Need x coordinate');\n } else if (this.ec.curve.type === 'short' ||\n this.ec.curve.type === 'edwards') {\n assert(key.x && key.y, 'Need both x and y coordinate');\n }\n this.pub = this.ec.curve.point(key.x, key.y);\n return;\n }\n this.pub = this.ec.curve.decodePoint(key, enc);\n};\n\n// ECDH\nKeyPair.prototype.derive = function derive(pub) {\n if(!pub.validate()) {\n assert(pub.validate(), 'public point not validated');\n }\n return pub.mul(this.priv).getX();\n};\n\n// ECDSA\nKeyPair.prototype.sign = function sign(msg, enc, options) {\n return this.ec.sign(msg, this, enc, options);\n};\n\nKeyPair.prototype.verify = function verify(msg, signature, options) {\n return this.ec.verify(msg, signature, this, undefined, options);\n};\n\nKeyPair.prototype.inspect = function inspect() {\n return '';\n};\n","'use strict';\n\nvar BN = require('bn.js');\n\nvar utils = require('../utils');\nvar assert = utils.assert;\n\nfunction Signature(options, enc) {\n if (options instanceof Signature)\n return options;\n\n if (this._importDER(options, enc))\n return;\n\n assert(options.r && options.s, 'Signature without r or s');\n this.r = new BN(options.r, 16);\n this.s = new BN(options.s, 16);\n if (options.recoveryParam === undefined)\n this.recoveryParam = null;\n else\n this.recoveryParam = options.recoveryParam;\n}\nmodule.exports = Signature;\n\nfunction Position() {\n this.place = 0;\n}\n\nfunction getLength(buf, p) {\n var initial = buf[p.place++];\n if (!(initial & 0x80)) {\n return initial;\n }\n var octetLen = initial & 0xf;\n\n // Indefinite length or overflow\n if (octetLen === 0 || octetLen > 4) {\n return false;\n }\n\n if(buf[p.place] === 0x00) {\n return false;\n }\n\n var val = 0;\n for (var i = 0, off = p.place; i < octetLen; i++, off++) {\n val <<= 8;\n val |= buf[off];\n val >>>= 0;\n }\n\n // Leading zeroes\n if (val <= 0x7f) {\n return false;\n }\n\n p.place = off;\n return val;\n}\n\nfunction rmPadding(buf) {\n var i = 0;\n var len = buf.length - 1;\n while (!buf[i] && !(buf[i + 1] & 0x80) && i < len) {\n i++;\n }\n if (i === 0) {\n return buf;\n }\n return buf.slice(i);\n}\n\nSignature.prototype._importDER = function _importDER(data, enc) {\n data = utils.toArray(data, enc);\n var p = new Position();\n if (data[p.place++] !== 0x30) {\n return false;\n }\n var len = getLength(data, p);\n if (len === false) {\n return false;\n }\n if ((len + p.place) !== data.length) {\n return false;\n }\n if (data[p.place++] !== 0x02) {\n return false;\n }\n var rlen = getLength(data, p);\n if (rlen === false) {\n return false;\n }\n if ((data[p.place] & 128) !== 0) {\n return false;\n }\n var r = data.slice(p.place, rlen + p.place);\n p.place += rlen;\n if (data[p.place++] !== 0x02) {\n return false;\n }\n var slen = getLength(data, p);\n if (slen === false) {\n return false;\n }\n if (data.length !== slen + p.place) {\n return false;\n }\n if ((data[p.place] & 128) !== 0) {\n return false;\n }\n var s = data.slice(p.place, slen + p.place);\n if (r[0] === 0) {\n if (r[1] & 0x80) {\n r = r.slice(1);\n } else {\n // Leading zeroes\n return false;\n }\n }\n if (s[0] === 0) {\n if (s[1] & 0x80) {\n s = s.slice(1);\n } else {\n // Leading zeroes\n return false;\n }\n }\n\n this.r = new BN(r);\n this.s = new BN(s);\n this.recoveryParam = null;\n\n return true;\n};\n\nfunction constructLength(arr, len) {\n if (len < 0x80) {\n arr.push(len);\n return;\n }\n var octets = 1 + (Math.log(len) / Math.LN2 >>> 3);\n arr.push(octets | 0x80);\n while (--octets) {\n arr.push((len >>> (octets << 3)) & 0xff);\n }\n arr.push(len);\n}\n\nSignature.prototype.toDER = function toDER(enc) {\n var r = this.r.toArray();\n var s = this.s.toArray();\n\n // Pad values\n if (r[0] & 0x80)\n r = [ 0 ].concat(r);\n // Pad values\n if (s[0] & 0x80)\n s = [ 0 ].concat(s);\n\n r = rmPadding(r);\n s = rmPadding(s);\n\n while (!s[0] && !(s[1] & 0x80)) {\n s = s.slice(1);\n }\n var arr = [ 0x02 ];\n constructLength(arr, r.length);\n arr = arr.concat(r);\n arr.push(0x02);\n constructLength(arr, s.length);\n var backHalf = arr.concat(s);\n var res = [ 0x30 ];\n constructLength(res, backHalf.length);\n res = res.concat(backHalf);\n return utils.encode(res, enc);\n};\n","'use strict';\n\nvar hash = require('hash.js');\nvar curves = require('../curves');\nvar utils = require('../utils');\nvar assert = utils.assert;\nvar parseBytes = utils.parseBytes;\nvar KeyPair = require('./key');\nvar Signature = require('./signature');\n\nfunction EDDSA(curve) {\n assert(curve === 'ed25519', 'only tested with ed25519 so far');\n\n if (!(this instanceof EDDSA))\n return new EDDSA(curve);\n\n curve = curves[curve].curve;\n this.curve = curve;\n this.g = curve.g;\n this.g.precompute(curve.n.bitLength() + 1);\n\n this.pointClass = curve.point().constructor;\n this.encodingLength = Math.ceil(curve.n.bitLength() / 8);\n this.hash = hash.sha512;\n}\n\nmodule.exports = EDDSA;\n\n/**\n* @param {Array|String} message - message bytes\n* @param {Array|String|KeyPair} secret - secret bytes or a keypair\n* @returns {Signature} - signature\n*/\nEDDSA.prototype.sign = function sign(message, secret) {\n message = parseBytes(message);\n var key = this.keyFromSecret(secret);\n var r = this.hashInt(key.messagePrefix(), message);\n var R = this.g.mul(r);\n var Rencoded = this.encodePoint(R);\n var s_ = this.hashInt(Rencoded, key.pubBytes(), message)\n .mul(key.priv());\n var S = r.add(s_).umod(this.curve.n);\n return this.makeSignature({ R: R, S: S, Rencoded: Rencoded });\n};\n\n/**\n* @param {Array} message - message bytes\n* @param {Array|String|Signature} sig - sig bytes\n* @param {Array|String|Point|KeyPair} pub - public key\n* @returns {Boolean} - true if public key matches sig of message\n*/\nEDDSA.prototype.verify = function verify(message, sig, pub) {\n message = parseBytes(message);\n sig = this.makeSignature(sig);\n if (sig.S().gte(sig.eddsa.curve.n) || sig.S().isNeg()) {\n return false;\n }\n var key = this.keyFromPublic(pub);\n var h = this.hashInt(sig.Rencoded(), key.pubBytes(), message);\n var SG = this.g.mul(sig.S());\n var RplusAh = sig.R().add(key.pub().mul(h));\n return RplusAh.eq(SG);\n};\n\nEDDSA.prototype.hashInt = function hashInt() {\n var hash = this.hash();\n for (var i = 0; i < arguments.length; i++)\n hash.update(arguments[i]);\n return utils.intFromLE(hash.digest()).umod(this.curve.n);\n};\n\nEDDSA.prototype.keyFromPublic = function keyFromPublic(pub) {\n return KeyPair.fromPublic(this, pub);\n};\n\nEDDSA.prototype.keyFromSecret = function keyFromSecret(secret) {\n return KeyPair.fromSecret(this, secret);\n};\n\nEDDSA.prototype.makeSignature = function makeSignature(sig) {\n if (sig instanceof Signature)\n return sig;\n return new Signature(this, sig);\n};\n\n/**\n* * https://tools.ietf.org/html/draft-josefsson-eddsa-ed25519-03#section-5.2\n*\n* EDDSA defines methods for encoding and decoding points and integers. These are\n* helper convenience methods, that pass along to utility functions implied\n* parameters.\n*\n*/\nEDDSA.prototype.encodePoint = function encodePoint(point) {\n var enc = point.getY().toArray('le', this.encodingLength);\n enc[this.encodingLength - 1] |= point.getX().isOdd() ? 0x80 : 0;\n return enc;\n};\n\nEDDSA.prototype.decodePoint = function decodePoint(bytes) {\n bytes = utils.parseBytes(bytes);\n\n var lastIx = bytes.length - 1;\n var normed = bytes.slice(0, lastIx).concat(bytes[lastIx] & ~0x80);\n var xIsOdd = (bytes[lastIx] & 0x80) !== 0;\n\n var y = utils.intFromLE(normed);\n return this.curve.pointFromY(y, xIsOdd);\n};\n\nEDDSA.prototype.encodeInt = function encodeInt(num) {\n return num.toArray('le', this.encodingLength);\n};\n\nEDDSA.prototype.decodeInt = function decodeInt(bytes) {\n return utils.intFromLE(bytes);\n};\n\nEDDSA.prototype.isPoint = function isPoint(val) {\n return val instanceof this.pointClass;\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar assert = utils.assert;\nvar parseBytes = utils.parseBytes;\nvar cachedProperty = utils.cachedProperty;\n\n/**\n* @param {EDDSA} eddsa - instance\n* @param {Object} params - public/private key parameters\n*\n* @param {Array} [params.secret] - secret seed bytes\n* @param {Point} [params.pub] - public key point (aka `A` in eddsa terms)\n* @param {Array} [params.pub] - public key point encoded as bytes\n*\n*/\nfunction KeyPair(eddsa, params) {\n this.eddsa = eddsa;\n this._secret = parseBytes(params.secret);\n if (eddsa.isPoint(params.pub))\n this._pub = params.pub;\n else\n this._pubBytes = parseBytes(params.pub);\n}\n\nKeyPair.fromPublic = function fromPublic(eddsa, pub) {\n if (pub instanceof KeyPair)\n return pub;\n return new KeyPair(eddsa, { pub: pub });\n};\n\nKeyPair.fromSecret = function fromSecret(eddsa, secret) {\n if (secret instanceof KeyPair)\n return secret;\n return new KeyPair(eddsa, { secret: secret });\n};\n\nKeyPair.prototype.secret = function secret() {\n return this._secret;\n};\n\ncachedProperty(KeyPair, 'pubBytes', function pubBytes() {\n return this.eddsa.encodePoint(this.pub());\n});\n\ncachedProperty(KeyPair, 'pub', function pub() {\n if (this._pubBytes)\n return this.eddsa.decodePoint(this._pubBytes);\n return this.eddsa.g.mul(this.priv());\n});\n\ncachedProperty(KeyPair, 'privBytes', function privBytes() {\n var eddsa = this.eddsa;\n var hash = this.hash();\n var lastIx = eddsa.encodingLength - 1;\n\n var a = hash.slice(0, eddsa.encodingLength);\n a[0] &= 248;\n a[lastIx] &= 127;\n a[lastIx] |= 64;\n\n return a;\n});\n\ncachedProperty(KeyPair, 'priv', function priv() {\n return this.eddsa.decodeInt(this.privBytes());\n});\n\ncachedProperty(KeyPair, 'hash', function hash() {\n return this.eddsa.hash().update(this.secret()).digest();\n});\n\ncachedProperty(KeyPair, 'messagePrefix', function messagePrefix() {\n return this.hash().slice(this.eddsa.encodingLength);\n});\n\nKeyPair.prototype.sign = function sign(message) {\n assert(this._secret, 'KeyPair can only verify');\n return this.eddsa.sign(message, this);\n};\n\nKeyPair.prototype.verify = function verify(message, sig) {\n return this.eddsa.verify(message, sig, this);\n};\n\nKeyPair.prototype.getSecret = function getSecret(enc) {\n assert(this._secret, 'KeyPair is public only');\n return utils.encode(this.secret(), enc);\n};\n\nKeyPair.prototype.getPublic = function getPublic(enc) {\n return utils.encode(this.pubBytes(), enc);\n};\n\nmodule.exports = KeyPair;\n","'use strict';\n\nvar BN = require('bn.js');\nvar utils = require('../utils');\nvar assert = utils.assert;\nvar cachedProperty = utils.cachedProperty;\nvar parseBytes = utils.parseBytes;\n\n/**\n* @param {EDDSA} eddsa - eddsa instance\n* @param {Array|Object} sig -\n* @param {Array|Point} [sig.R] - R point as Point or bytes\n* @param {Array|bn} [sig.S] - S scalar as bn or bytes\n* @param {Array} [sig.Rencoded] - R point encoded\n* @param {Array} [sig.Sencoded] - S scalar encoded\n*/\nfunction Signature(eddsa, sig) {\n this.eddsa = eddsa;\n\n if (typeof sig !== 'object')\n sig = parseBytes(sig);\n\n if (Array.isArray(sig)) {\n assert(sig.length === eddsa.encodingLength * 2, 'Signature has invalid size');\n sig = {\n R: sig.slice(0, eddsa.encodingLength),\n S: sig.slice(eddsa.encodingLength),\n };\n }\n\n assert(sig.R && sig.S, 'Signature without R or S');\n\n if (eddsa.isPoint(sig.R))\n this._R = sig.R;\n if (sig.S instanceof BN)\n this._S = sig.S;\n\n this._Rencoded = Array.isArray(sig.R) ? sig.R : sig.Rencoded;\n this._Sencoded = Array.isArray(sig.S) ? sig.S : sig.Sencoded;\n}\n\ncachedProperty(Signature, 'S', function S() {\n return this.eddsa.decodeInt(this.Sencoded());\n});\n\ncachedProperty(Signature, 'R', function R() {\n return this.eddsa.decodePoint(this.Rencoded());\n});\n\ncachedProperty(Signature, 'Rencoded', function Rencoded() {\n return this.eddsa.encodePoint(this.R());\n});\n\ncachedProperty(Signature, 'Sencoded', function Sencoded() {\n return this.eddsa.encodeInt(this.S());\n});\n\nSignature.prototype.toBytes = function toBytes() {\n return this.Rencoded().concat(this.Sencoded());\n};\n\nSignature.prototype.toHex = function toHex() {\n return utils.encode(this.toBytes(), 'hex').toUpperCase();\n};\n\nmodule.exports = Signature;\n","module.exports = {\n doubles: {\n step: 4,\n points: [\n [\n 'e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a',\n 'f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821',\n ],\n [\n '8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508',\n '11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf',\n ],\n [\n '175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739',\n 'd3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695',\n ],\n [\n '363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640',\n '4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9',\n ],\n [\n '8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c',\n '4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36',\n ],\n [\n '723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda',\n '96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f',\n ],\n [\n 'eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa',\n '5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999',\n ],\n [\n '100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0',\n 'cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09',\n ],\n [\n 'e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d',\n '9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d',\n ],\n [\n 'feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d',\n 'e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088',\n ],\n [\n 'da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1',\n '9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d',\n ],\n [\n '53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0',\n '5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8',\n ],\n [\n '8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047',\n '10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a',\n ],\n [\n '385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862',\n '283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453',\n ],\n [\n '6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7',\n '7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160',\n ],\n [\n '3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd',\n '56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0',\n ],\n [\n '85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83',\n '7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6',\n ],\n [\n '948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a',\n '53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589',\n ],\n [\n '6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8',\n 'bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17',\n ],\n [\n 'e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d',\n '4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda',\n ],\n [\n 'e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725',\n '7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd',\n ],\n [\n '213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754',\n '4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2',\n ],\n [\n '4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c',\n '17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6',\n ],\n [\n 'fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6',\n '6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f',\n ],\n [\n '76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39',\n 'c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01',\n ],\n [\n 'c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891',\n '893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3',\n ],\n [\n 'd895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b',\n 'febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f',\n ],\n [\n 'b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03',\n '2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7',\n ],\n [\n 'e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d',\n 'eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78',\n ],\n [\n 'a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070',\n '7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1',\n ],\n [\n '90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4',\n 'e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150',\n ],\n [\n '8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da',\n '662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82',\n ],\n [\n 'e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11',\n '1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc',\n ],\n [\n '8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e',\n 'efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b',\n ],\n [\n 'e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41',\n '2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51',\n ],\n [\n 'b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef',\n '67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45',\n ],\n [\n 'd68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8',\n 'db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120',\n ],\n [\n '324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d',\n '648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84',\n ],\n [\n '4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96',\n '35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d',\n ],\n [\n '9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd',\n 'ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d',\n ],\n [\n '6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5',\n '9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8',\n ],\n [\n 'a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266',\n '40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8',\n ],\n [\n '7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71',\n '34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac',\n ],\n [\n '928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac',\n 'c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f',\n ],\n [\n '85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751',\n '1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962',\n ],\n [\n 'ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e',\n '493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907',\n ],\n [\n '827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241',\n 'c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec',\n ],\n [\n 'eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3',\n 'be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d',\n ],\n [\n 'e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f',\n '4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414',\n ],\n [\n '1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19',\n 'aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd',\n ],\n [\n '146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be',\n 'b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0',\n ],\n [\n 'fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9',\n '6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811',\n ],\n [\n 'da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2',\n '8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1',\n ],\n [\n 'a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13',\n '7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c',\n ],\n [\n '174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c',\n 'ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73',\n ],\n [\n '959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba',\n '2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd',\n ],\n [\n 'd2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151',\n 'e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405',\n ],\n [\n '64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073',\n 'd99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589',\n ],\n [\n '8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458',\n '38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e',\n ],\n [\n '13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b',\n '69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27',\n ],\n [\n 'bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366',\n 'd3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1',\n ],\n [\n '8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa',\n '40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482',\n ],\n [\n '8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0',\n '620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945',\n ],\n [\n 'dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787',\n '7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573',\n ],\n [\n 'f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e',\n 'ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82',\n ],\n ],\n },\n naf: {\n wnd: 7,\n points: [\n [\n 'f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9',\n '388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672',\n ],\n [\n '2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4',\n 'd8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6',\n ],\n [\n '5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc',\n '6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da',\n ],\n [\n 'acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe',\n 'cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37',\n ],\n [\n '774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb',\n 'd984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b',\n ],\n [\n 'f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8',\n 'ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81',\n ],\n [\n 'd7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e',\n '581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58',\n ],\n [\n 'defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34',\n '4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77',\n ],\n [\n '2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c',\n '85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a',\n ],\n [\n '352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5',\n '321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c',\n ],\n [\n '2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f',\n '2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67',\n ],\n [\n '9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714',\n '73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402',\n ],\n [\n 'daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729',\n 'a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55',\n ],\n [\n 'c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db',\n '2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482',\n ],\n [\n '6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4',\n 'e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82',\n ],\n [\n '1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5',\n 'b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396',\n ],\n [\n '605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479',\n '2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49',\n ],\n [\n '62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d',\n '80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf',\n ],\n [\n '80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f',\n '1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a',\n ],\n [\n '7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb',\n 'd0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7',\n ],\n [\n 'd528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9',\n 'eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933',\n ],\n [\n '49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963',\n '758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a',\n ],\n [\n '77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74',\n '958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6',\n ],\n [\n 'f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530',\n 'e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37',\n ],\n [\n '463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b',\n '5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e',\n ],\n [\n 'f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247',\n 'cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6',\n ],\n [\n 'caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1',\n 'cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476',\n ],\n [\n '2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120',\n '4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40',\n ],\n [\n '7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435',\n '91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61',\n ],\n [\n '754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18',\n '673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683',\n ],\n [\n 'e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8',\n '59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5',\n ],\n [\n '186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb',\n '3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b',\n ],\n [\n 'df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f',\n '55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417',\n ],\n [\n '5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143',\n 'efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868',\n ],\n [\n '290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba',\n 'e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a',\n ],\n [\n 'af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45',\n 'f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6',\n ],\n [\n '766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a',\n '744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996',\n ],\n [\n '59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e',\n 'c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e',\n ],\n [\n 'f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8',\n 'e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d',\n ],\n [\n '7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c',\n '30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2',\n ],\n [\n '948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519',\n 'e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e',\n ],\n [\n '7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab',\n '100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437',\n ],\n [\n '3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca',\n 'ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311',\n ],\n [\n 'd3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf',\n '8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4',\n ],\n [\n '1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610',\n '68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575',\n ],\n [\n '733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4',\n 'f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d',\n ],\n [\n '15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c',\n 'd56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d',\n ],\n [\n 'a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940',\n 'edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629',\n ],\n [\n 'e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980',\n 'a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06',\n ],\n [\n '311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3',\n '66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374',\n ],\n [\n '34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf',\n '9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee',\n ],\n [\n 'f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63',\n '4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1',\n ],\n [\n 'd7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448',\n 'fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b',\n ],\n [\n '32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf',\n '5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661',\n ],\n [\n '7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5',\n '8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6',\n ],\n [\n 'ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6',\n '8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e',\n ],\n [\n '16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5',\n '5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d',\n ],\n [\n 'eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99',\n 'f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc',\n ],\n [\n '78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51',\n 'f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4',\n ],\n [\n '494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5',\n '42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c',\n ],\n [\n 'a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5',\n '204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b',\n ],\n [\n 'c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997',\n '4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913',\n ],\n [\n '841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881',\n '73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154',\n ],\n [\n '5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5',\n '39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865',\n ],\n [\n '36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66',\n 'd2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc',\n ],\n [\n '336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726',\n 'ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224',\n ],\n [\n '8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede',\n '6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e',\n ],\n [\n '1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94',\n '60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6',\n ],\n [\n '85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31',\n '3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511',\n ],\n [\n '29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51',\n 'b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b',\n ],\n [\n 'a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252',\n 'ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2',\n ],\n [\n '4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5',\n 'cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c',\n ],\n [\n 'd24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b',\n '6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3',\n ],\n [\n 'ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4',\n '322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d',\n ],\n [\n 'af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f',\n '6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700',\n ],\n [\n 'e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889',\n '2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4',\n ],\n [\n '591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246',\n 'b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196',\n ],\n [\n '11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984',\n '998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4',\n ],\n [\n '3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a',\n 'b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257',\n ],\n [\n 'cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030',\n 'bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13',\n ],\n [\n 'c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197',\n '6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096',\n ],\n [\n 'c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593',\n 'c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38',\n ],\n [\n 'a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef',\n '21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f',\n ],\n [\n '347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38',\n '60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448',\n ],\n [\n 'da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a',\n '49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a',\n ],\n [\n 'c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111',\n '5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4',\n ],\n [\n '4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502',\n '7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437',\n ],\n [\n '3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea',\n 'be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7',\n ],\n [\n 'cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26',\n '8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d',\n ],\n [\n 'b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986',\n '39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a',\n ],\n [\n 'd4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e',\n '62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54',\n ],\n [\n '48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4',\n '25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77',\n ],\n [\n 'dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda',\n 'ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517',\n ],\n [\n '6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859',\n 'cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10',\n ],\n [\n 'e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f',\n 'f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125',\n ],\n [\n 'eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c',\n '6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e',\n ],\n [\n '13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942',\n 'fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1',\n ],\n [\n 'ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a',\n '1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2',\n ],\n [\n 'b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80',\n '5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423',\n ],\n [\n 'ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d',\n '438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8',\n ],\n [\n '8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1',\n 'cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758',\n ],\n [\n '52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63',\n 'c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375',\n ],\n [\n 'e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352',\n '6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d',\n ],\n [\n '7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193',\n 'ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec',\n ],\n [\n '5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00',\n '9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0',\n ],\n [\n '32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58',\n 'ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c',\n ],\n [\n 'e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7',\n 'd3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4',\n ],\n [\n '8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8',\n 'c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f',\n ],\n [\n '4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e',\n '67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649',\n ],\n [\n '3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d',\n 'cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826',\n ],\n [\n '674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b',\n '299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5',\n ],\n [\n 'd32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f',\n 'f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87',\n ],\n [\n '30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6',\n '462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b',\n ],\n [\n 'be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297',\n '62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc',\n ],\n [\n '93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a',\n '7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c',\n ],\n [\n 'b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c',\n 'ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f',\n ],\n [\n 'd5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52',\n '4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a',\n ],\n [\n 'd3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb',\n 'bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46',\n ],\n [\n '463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065',\n 'bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f',\n ],\n [\n '7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917',\n '603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03',\n ],\n [\n '74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9',\n 'cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08',\n ],\n [\n '30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3',\n '553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8',\n ],\n [\n '9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57',\n '712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373',\n ],\n [\n '176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66',\n 'ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3',\n ],\n [\n '75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8',\n '9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8',\n ],\n [\n '809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721',\n '9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1',\n ],\n [\n '1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180',\n '4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9',\n ],\n ],\n },\n};\n","'use strict';\n\nvar utils = exports;\nvar BN = require('bn.js');\nvar minAssert = require('minimalistic-assert');\nvar minUtils = require('minimalistic-crypto-utils');\n\nutils.assert = minAssert;\nutils.toArray = minUtils.toArray;\nutils.zero2 = minUtils.zero2;\nutils.toHex = minUtils.toHex;\nutils.encode = minUtils.encode;\n\n// Represent num in a w-NAF form\nfunction getNAF(num, w, bits) {\n var naf = new Array(Math.max(num.bitLength(), bits) + 1);\n var i;\n for (i = 0; i < naf.length; i += 1) {\n naf[i] = 0;\n }\n\n var ws = 1 << (w + 1);\n var k = num.clone();\n\n for (i = 0; i < naf.length; i++) {\n var z;\n var mod = k.andln(ws - 1);\n if (k.isOdd()) {\n if (mod > (ws >> 1) - 1)\n z = (ws >> 1) - mod;\n else\n z = mod;\n k.isubn(z);\n } else {\n z = 0;\n }\n\n naf[i] = z;\n k.iushrn(1);\n }\n\n return naf;\n}\nutils.getNAF = getNAF;\n\n// Represent k1, k2 in a Joint Sparse Form\nfunction getJSF(k1, k2) {\n var jsf = [\n [],\n [],\n ];\n\n k1 = k1.clone();\n k2 = k2.clone();\n var d1 = 0;\n var d2 = 0;\n var m8;\n while (k1.cmpn(-d1) > 0 || k2.cmpn(-d2) > 0) {\n // First phase\n var m14 = (k1.andln(3) + d1) & 3;\n var m24 = (k2.andln(3) + d2) & 3;\n if (m14 === 3)\n m14 = -1;\n if (m24 === 3)\n m24 = -1;\n var u1;\n if ((m14 & 1) === 0) {\n u1 = 0;\n } else {\n m8 = (k1.andln(7) + d1) & 7;\n if ((m8 === 3 || m8 === 5) && m24 === 2)\n u1 = -m14;\n else\n u1 = m14;\n }\n jsf[0].push(u1);\n\n var u2;\n if ((m24 & 1) === 0) {\n u2 = 0;\n } else {\n m8 = (k2.andln(7) + d2) & 7;\n if ((m8 === 3 || m8 === 5) && m14 === 2)\n u2 = -m24;\n else\n u2 = m24;\n }\n jsf[1].push(u2);\n\n // Second phase\n if (2 * d1 === u1 + 1)\n d1 = 1 - d1;\n if (2 * d2 === u2 + 1)\n d2 = 1 - d2;\n k1.iushrn(1);\n k2.iushrn(1);\n }\n\n return jsf;\n}\nutils.getJSF = getJSF;\n\nfunction cachedProperty(obj, name, computer) {\n var key = '_' + name;\n obj.prototype[name] = function cachedProperty() {\n return this[key] !== undefined ? this[key] :\n this[key] = computer.call(this);\n };\n}\nutils.cachedProperty = cachedProperty;\n\nfunction parseBytes(bytes) {\n return typeof bytes === 'string' ? utils.toArray(bytes, 'hex') :\n bytes;\n}\nutils.parseBytes = parseBytes;\n\nfunction intFromLE(bytes) {\n return new BN(bytes, 'hex', 'le');\n}\nutils.intFromLE = intFromLE;\n\n","(function (module, exports) {\n 'use strict';\n\n // Utils\n function assert (val, msg) {\n if (!val) throw new Error(msg || 'Assertion failed');\n }\n\n // Could use `inherits` module, but don't want to move from single file\n // architecture yet.\n function inherits (ctor, superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function () {};\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n }\n\n // BN\n\n function BN (number, base, endian) {\n if (BN.isBN(number)) {\n return number;\n }\n\n this.negative = 0;\n this.words = null;\n this.length = 0;\n\n // Reduction context\n this.red = null;\n\n if (number !== null) {\n if (base === 'le' || base === 'be') {\n endian = base;\n base = 10;\n }\n\n this._init(number || 0, base || 10, endian || 'be');\n }\n }\n if (typeof module === 'object') {\n module.exports = BN;\n } else {\n exports.BN = BN;\n }\n\n BN.BN = BN;\n BN.wordSize = 26;\n\n var Buffer;\n try {\n if (typeof window !== 'undefined' && typeof window.Buffer !== 'undefined') {\n Buffer = window.Buffer;\n } else {\n Buffer = require('buffer').Buffer;\n }\n } catch (e) {\n }\n\n BN.isBN = function isBN (num) {\n if (num instanceof BN) {\n return true;\n }\n\n return num !== null && typeof num === 'object' &&\n num.constructor.wordSize === BN.wordSize && Array.isArray(num.words);\n };\n\n BN.max = function max (left, right) {\n if (left.cmp(right) > 0) return left;\n return right;\n };\n\n BN.min = function min (left, right) {\n if (left.cmp(right) < 0) return left;\n return right;\n };\n\n BN.prototype._init = function init (number, base, endian) {\n if (typeof number === 'number') {\n return this._initNumber(number, base, endian);\n }\n\n if (typeof number === 'object') {\n return this._initArray(number, base, endian);\n }\n\n if (base === 'hex') {\n base = 16;\n }\n assert(base === (base | 0) && base >= 2 && base <= 36);\n\n number = number.toString().replace(/\\s+/g, '');\n var start = 0;\n if (number[0] === '-') {\n start++;\n this.negative = 1;\n }\n\n if (start < number.length) {\n if (base === 16) {\n this._parseHex(number, start, endian);\n } else {\n this._parseBase(number, base, start);\n if (endian === 'le') {\n this._initArray(this.toArray(), base, endian);\n }\n }\n }\n };\n\n BN.prototype._initNumber = function _initNumber (number, base, endian) {\n if (number < 0) {\n this.negative = 1;\n number = -number;\n }\n if (number < 0x4000000) {\n this.words = [ number & 0x3ffffff ];\n this.length = 1;\n } else if (number < 0x10000000000000) {\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff\n ];\n this.length = 2;\n } else {\n assert(number < 0x20000000000000); // 2 ^ 53 (unsafe)\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff,\n 1\n ];\n this.length = 3;\n }\n\n if (endian !== 'le') return;\n\n // Reverse the bytes\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initArray = function _initArray (number, base, endian) {\n // Perhaps a Uint8Array\n assert(typeof number.length === 'number');\n if (number.length <= 0) {\n this.words = [ 0 ];\n this.length = 1;\n return this;\n }\n\n this.length = Math.ceil(number.length / 3);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n var off = 0;\n if (endian === 'be') {\n for (i = number.length - 1, j = 0; i >= 0; i -= 3) {\n w = number[i] | (number[i - 1] << 8) | (number[i - 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n } else if (endian === 'le') {\n for (i = 0, j = 0; i < number.length; i += 3) {\n w = number[i] | (number[i + 1] << 8) | (number[i + 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n }\n return this.strip();\n };\n\n function parseHex4Bits (string, index) {\n var c = string.charCodeAt(index);\n // 'A' - 'F'\n if (c >= 65 && c <= 70) {\n return c - 55;\n // 'a' - 'f'\n } else if (c >= 97 && c <= 102) {\n return c - 87;\n // '0' - '9'\n } else {\n return (c - 48) & 0xf;\n }\n }\n\n function parseHexByte (string, lowerBound, index) {\n var r = parseHex4Bits(string, index);\n if (index - 1 >= lowerBound) {\n r |= parseHex4Bits(string, index - 1) << 4;\n }\n return r;\n }\n\n BN.prototype._parseHex = function _parseHex (number, start, endian) {\n // Create possibly bigger array to ensure that it fits the number\n this.length = Math.ceil((number.length - start) / 6);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n // 24-bits chunks\n var off = 0;\n var j = 0;\n\n var w;\n if (endian === 'be') {\n for (i = number.length - 1; i >= start; i -= 2) {\n w = parseHexByte(number, start, i) << off;\n this.words[j] |= w & 0x3ffffff;\n if (off >= 18) {\n off -= 18;\n j += 1;\n this.words[j] |= w >>> 26;\n } else {\n off += 8;\n }\n }\n } else {\n var parseLength = number.length - start;\n for (i = parseLength % 2 === 0 ? start + 1 : start; i < number.length; i += 2) {\n w = parseHexByte(number, start, i) << off;\n this.words[j] |= w & 0x3ffffff;\n if (off >= 18) {\n off -= 18;\n j += 1;\n this.words[j] |= w >>> 26;\n } else {\n off += 8;\n }\n }\n }\n\n this.strip();\n };\n\n function parseBase (str, start, end, mul) {\n var r = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r *= mul;\n\n // 'a'\n if (c >= 49) {\n r += c - 49 + 0xa;\n\n // 'A'\n } else if (c >= 17) {\n r += c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n r += c;\n }\n }\n return r;\n }\n\n BN.prototype._parseBase = function _parseBase (number, base, start) {\n // Initialize as zero\n this.words = [ 0 ];\n this.length = 1;\n\n // Find length of limb in base\n for (var limbLen = 0, limbPow = 1; limbPow <= 0x3ffffff; limbPow *= base) {\n limbLen++;\n }\n limbLen--;\n limbPow = (limbPow / base) | 0;\n\n var total = number.length - start;\n var mod = total % limbLen;\n var end = Math.min(total, total - mod) + start;\n\n var word = 0;\n for (var i = start; i < end; i += limbLen) {\n word = parseBase(number, i, i + limbLen, base);\n\n this.imuln(limbPow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n if (mod !== 0) {\n var pow = 1;\n word = parseBase(number, i, number.length, base);\n\n for (i = 0; i < mod; i++) {\n pow *= base;\n }\n\n this.imuln(pow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n this.strip();\n };\n\n BN.prototype.copy = function copy (dest) {\n dest.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n dest.words[i] = this.words[i];\n }\n dest.length = this.length;\n dest.negative = this.negative;\n dest.red = this.red;\n };\n\n BN.prototype.clone = function clone () {\n var r = new BN(null);\n this.copy(r);\n return r;\n };\n\n BN.prototype._expand = function _expand (size) {\n while (this.length < size) {\n this.words[this.length++] = 0;\n }\n return this;\n };\n\n // Remove leading `0` from `this`\n BN.prototype.strip = function strip () {\n while (this.length > 1 && this.words[this.length - 1] === 0) {\n this.length--;\n }\n return this._normSign();\n };\n\n BN.prototype._normSign = function _normSign () {\n // -0 = 0\n if (this.length === 1 && this.words[0] === 0) {\n this.negative = 0;\n }\n return this;\n };\n\n BN.prototype.inspect = function inspect () {\n return (this.red ? '';\n };\n\n /*\n\n var zeros = [];\n var groupSizes = [];\n var groupBases = [];\n\n var s = '';\n var i = -1;\n while (++i < BN.wordSize) {\n zeros[i] = s;\n s += '0';\n }\n groupSizes[0] = 0;\n groupSizes[1] = 0;\n groupBases[0] = 0;\n groupBases[1] = 0;\n var base = 2 - 1;\n while (++base < 36 + 1) {\n var groupSize = 0;\n var groupBase = 1;\n while (groupBase < (1 << BN.wordSize) / base) {\n groupBase *= base;\n groupSize += 1;\n }\n groupSizes[base] = groupSize;\n groupBases[base] = groupBase;\n }\n\n */\n\n var zeros = [\n '',\n '0',\n '00',\n '000',\n '0000',\n '00000',\n '000000',\n '0000000',\n '00000000',\n '000000000',\n '0000000000',\n '00000000000',\n '000000000000',\n '0000000000000',\n '00000000000000',\n '000000000000000',\n '0000000000000000',\n '00000000000000000',\n '000000000000000000',\n '0000000000000000000',\n '00000000000000000000',\n '000000000000000000000',\n '0000000000000000000000',\n '00000000000000000000000',\n '000000000000000000000000',\n '0000000000000000000000000'\n ];\n\n var groupSizes = [\n 0, 0,\n 25, 16, 12, 11, 10, 9, 8,\n 8, 7, 7, 7, 7, 6, 6,\n 6, 6, 6, 6, 6, 5, 5,\n 5, 5, 5, 5, 5, 5, 5,\n 5, 5, 5, 5, 5, 5, 5\n ];\n\n var groupBases = [\n 0, 0,\n 33554432, 43046721, 16777216, 48828125, 60466176, 40353607, 16777216,\n 43046721, 10000000, 19487171, 35831808, 62748517, 7529536, 11390625,\n 16777216, 24137569, 34012224, 47045881, 64000000, 4084101, 5153632,\n 6436343, 7962624, 9765625, 11881376, 14348907, 17210368, 20511149,\n 24300000, 28629151, 33554432, 39135393, 45435424, 52521875, 60466176\n ];\n\n BN.prototype.toString = function toString (base, padding) {\n base = base || 10;\n padding = padding | 0 || 1;\n\n var out;\n if (base === 16 || base === 'hex') {\n out = '';\n var off = 0;\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = this.words[i];\n var word = (((w << off) | carry) & 0xffffff).toString(16);\n carry = (w >>> (24 - off)) & 0xffffff;\n off += 2;\n if (off >= 26) {\n off -= 26;\n i--;\n }\n if (carry !== 0 || i !== this.length - 1) {\n out = zeros[6 - word.length] + word + out;\n } else {\n out = word + out;\n }\n }\n if (carry !== 0) {\n out = carry.toString(16) + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n if (base === (base | 0) && base >= 2 && base <= 36) {\n // var groupSize = Math.floor(BN.wordSize * Math.LN2 / Math.log(base));\n var groupSize = groupSizes[base];\n // var groupBase = Math.pow(base, groupSize);\n var groupBase = groupBases[base];\n out = '';\n var c = this.clone();\n c.negative = 0;\n while (!c.isZero()) {\n var r = c.modn(groupBase).toString(base);\n c = c.idivn(groupBase);\n\n if (!c.isZero()) {\n out = zeros[groupSize - r.length] + r + out;\n } else {\n out = r + out;\n }\n }\n if (this.isZero()) {\n out = '0' + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n assert(false, 'Base should be between 2 and 36');\n };\n\n BN.prototype.toNumber = function toNumber () {\n var ret = this.words[0];\n if (this.length === 2) {\n ret += this.words[1] * 0x4000000;\n } else if (this.length === 3 && this.words[2] === 0x01) {\n // NOTE: at this stage it is known that the top bit is set\n ret += 0x10000000000000 + (this.words[1] * 0x4000000);\n } else if (this.length > 2) {\n assert(false, 'Number can only safely store up to 53 bits');\n }\n return (this.negative !== 0) ? -ret : ret;\n };\n\n BN.prototype.toJSON = function toJSON () {\n return this.toString(16);\n };\n\n BN.prototype.toBuffer = function toBuffer (endian, length) {\n assert(typeof Buffer !== 'undefined');\n return this.toArrayLike(Buffer, endian, length);\n };\n\n BN.prototype.toArray = function toArray (endian, length) {\n return this.toArrayLike(Array, endian, length);\n };\n\n BN.prototype.toArrayLike = function toArrayLike (ArrayType, endian, length) {\n var byteLength = this.byteLength();\n var reqLength = length || Math.max(1, byteLength);\n assert(byteLength <= reqLength, 'byte array longer than desired length');\n assert(reqLength > 0, 'Requested array length <= 0');\n\n this.strip();\n var littleEndian = endian === 'le';\n var res = new ArrayType(reqLength);\n\n var b, i;\n var q = this.clone();\n if (!littleEndian) {\n // Assume big-endian\n for (i = 0; i < reqLength - byteLength; i++) {\n res[i] = 0;\n }\n\n for (i = 0; !q.isZero(); i++) {\n b = q.andln(0xff);\n q.iushrn(8);\n\n res[reqLength - i - 1] = b;\n }\n } else {\n for (i = 0; !q.isZero(); i++) {\n b = q.andln(0xff);\n q.iushrn(8);\n\n res[i] = b;\n }\n\n for (; i < reqLength; i++) {\n res[i] = 0;\n }\n }\n\n return res;\n };\n\n if (Math.clz32) {\n BN.prototype._countBits = function _countBits (w) {\n return 32 - Math.clz32(w);\n };\n } else {\n BN.prototype._countBits = function _countBits (w) {\n var t = w;\n var r = 0;\n if (t >= 0x1000) {\n r += 13;\n t >>>= 13;\n }\n if (t >= 0x40) {\n r += 7;\n t >>>= 7;\n }\n if (t >= 0x8) {\n r += 4;\n t >>>= 4;\n }\n if (t >= 0x02) {\n r += 2;\n t >>>= 2;\n }\n return r + t;\n };\n }\n\n BN.prototype._zeroBits = function _zeroBits (w) {\n // Short-cut\n if (w === 0) return 26;\n\n var t = w;\n var r = 0;\n if ((t & 0x1fff) === 0) {\n r += 13;\n t >>>= 13;\n }\n if ((t & 0x7f) === 0) {\n r += 7;\n t >>>= 7;\n }\n if ((t & 0xf) === 0) {\n r += 4;\n t >>>= 4;\n }\n if ((t & 0x3) === 0) {\n r += 2;\n t >>>= 2;\n }\n if ((t & 0x1) === 0) {\n r++;\n }\n return r;\n };\n\n // Return number of used bits in a BN\n BN.prototype.bitLength = function bitLength () {\n var w = this.words[this.length - 1];\n var hi = this._countBits(w);\n return (this.length - 1) * 26 + hi;\n };\n\n function toBitArray (num) {\n var w = new Array(num.bitLength());\n\n for (var bit = 0; bit < w.length; bit++) {\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n w[bit] = (num.words[off] & (1 << wbit)) >>> wbit;\n }\n\n return w;\n }\n\n // Number of trailing zero bits\n BN.prototype.zeroBits = function zeroBits () {\n if (this.isZero()) return 0;\n\n var r = 0;\n for (var i = 0; i < this.length; i++) {\n var b = this._zeroBits(this.words[i]);\n r += b;\n if (b !== 26) break;\n }\n return r;\n };\n\n BN.prototype.byteLength = function byteLength () {\n return Math.ceil(this.bitLength() / 8);\n };\n\n BN.prototype.toTwos = function toTwos (width) {\n if (this.negative !== 0) {\n return this.abs().inotn(width).iaddn(1);\n }\n return this.clone();\n };\n\n BN.prototype.fromTwos = function fromTwos (width) {\n if (this.testn(width - 1)) {\n return this.notn(width).iaddn(1).ineg();\n }\n return this.clone();\n };\n\n BN.prototype.isNeg = function isNeg () {\n return this.negative !== 0;\n };\n\n // Return negative clone of `this`\n BN.prototype.neg = function neg () {\n return this.clone().ineg();\n };\n\n BN.prototype.ineg = function ineg () {\n if (!this.isZero()) {\n this.negative ^= 1;\n }\n\n return this;\n };\n\n // Or `num` with `this` in-place\n BN.prototype.iuor = function iuor (num) {\n while (this.length < num.length) {\n this.words[this.length++] = 0;\n }\n\n for (var i = 0; i < num.length; i++) {\n this.words[i] = this.words[i] | num.words[i];\n }\n\n return this.strip();\n };\n\n BN.prototype.ior = function ior (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuor(num);\n };\n\n // Or `num` with `this`\n BN.prototype.or = function or (num) {\n if (this.length > num.length) return this.clone().ior(num);\n return num.clone().ior(this);\n };\n\n BN.prototype.uor = function uor (num) {\n if (this.length > num.length) return this.clone().iuor(num);\n return num.clone().iuor(this);\n };\n\n // And `num` with `this` in-place\n BN.prototype.iuand = function iuand (num) {\n // b = min-length(num, this)\n var b;\n if (this.length > num.length) {\n b = num;\n } else {\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = this.words[i] & num.words[i];\n }\n\n this.length = b.length;\n\n return this.strip();\n };\n\n BN.prototype.iand = function iand (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuand(num);\n };\n\n // And `num` with `this`\n BN.prototype.and = function and (num) {\n if (this.length > num.length) return this.clone().iand(num);\n return num.clone().iand(this);\n };\n\n BN.prototype.uand = function uand (num) {\n if (this.length > num.length) return this.clone().iuand(num);\n return num.clone().iuand(this);\n };\n\n // Xor `num` with `this` in-place\n BN.prototype.iuxor = function iuxor (num) {\n // a.length > b.length\n var a;\n var b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = a.words[i] ^ b.words[i];\n }\n\n if (this !== a) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = a.length;\n\n return this.strip();\n };\n\n BN.prototype.ixor = function ixor (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuxor(num);\n };\n\n // Xor `num` with `this`\n BN.prototype.xor = function xor (num) {\n if (this.length > num.length) return this.clone().ixor(num);\n return num.clone().ixor(this);\n };\n\n BN.prototype.uxor = function uxor (num) {\n if (this.length > num.length) return this.clone().iuxor(num);\n return num.clone().iuxor(this);\n };\n\n // Not ``this`` with ``width`` bitwidth\n BN.prototype.inotn = function inotn (width) {\n assert(typeof width === 'number' && width >= 0);\n\n var bytesNeeded = Math.ceil(width / 26) | 0;\n var bitsLeft = width % 26;\n\n // Extend the buffer with leading zeroes\n this._expand(bytesNeeded);\n\n if (bitsLeft > 0) {\n bytesNeeded--;\n }\n\n // Handle complete words\n for (var i = 0; i < bytesNeeded; i++) {\n this.words[i] = ~this.words[i] & 0x3ffffff;\n }\n\n // Handle the residue\n if (bitsLeft > 0) {\n this.words[i] = ~this.words[i] & (0x3ffffff >> (26 - bitsLeft));\n }\n\n // And remove leading zeroes\n return this.strip();\n };\n\n BN.prototype.notn = function notn (width) {\n return this.clone().inotn(width);\n };\n\n // Set `bit` of `this`\n BN.prototype.setn = function setn (bit, val) {\n assert(typeof bit === 'number' && bit >= 0);\n\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n this._expand(off + 1);\n\n if (val) {\n this.words[off] = this.words[off] | (1 << wbit);\n } else {\n this.words[off] = this.words[off] & ~(1 << wbit);\n }\n\n return this.strip();\n };\n\n // Add `num` to `this` in-place\n BN.prototype.iadd = function iadd (num) {\n var r;\n\n // negative + positive\n if (this.negative !== 0 && num.negative === 0) {\n this.negative = 0;\n r = this.isub(num);\n this.negative ^= 1;\n return this._normSign();\n\n // positive + negative\n } else if (this.negative === 0 && num.negative !== 0) {\n num.negative = 0;\n r = this.isub(num);\n num.negative = 1;\n return r._normSign();\n }\n\n // a.length > b.length\n var a, b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) + (b.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n\n this.length = a.length;\n if (carry !== 0) {\n this.words[this.length] = carry;\n this.length++;\n // Copy the rest of the words\n } else if (a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n return this;\n };\n\n // Add `num` to `this`\n BN.prototype.add = function add (num) {\n var res;\n if (num.negative !== 0 && this.negative === 0) {\n num.negative = 0;\n res = this.sub(num);\n num.negative ^= 1;\n return res;\n } else if (num.negative === 0 && this.negative !== 0) {\n this.negative = 0;\n res = num.sub(this);\n this.negative = 1;\n return res;\n }\n\n if (this.length > num.length) return this.clone().iadd(num);\n\n return num.clone().iadd(this);\n };\n\n // Subtract `num` from `this` in-place\n BN.prototype.isub = function isub (num) {\n // this - (-num) = this + num\n if (num.negative !== 0) {\n num.negative = 0;\n var r = this.iadd(num);\n num.negative = 1;\n return r._normSign();\n\n // -this - num = -(this + num)\n } else if (this.negative !== 0) {\n this.negative = 0;\n this.iadd(num);\n this.negative = 1;\n return this._normSign();\n }\n\n // At this point both numbers are positive\n var cmp = this.cmp(num);\n\n // Optimization - zeroify\n if (cmp === 0) {\n this.negative = 0;\n this.length = 1;\n this.words[0] = 0;\n return this;\n }\n\n // a > b\n var a, b;\n if (cmp > 0) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) - (b.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n\n // Copy rest of the words\n if (carry === 0 && i < a.length && a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = Math.max(this.length, i);\n\n if (a !== this) {\n this.negative = 1;\n }\n\n return this.strip();\n };\n\n // Subtract `num` from `this`\n BN.prototype.sub = function sub (num) {\n return this.clone().isub(num);\n };\n\n function smallMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n var len = (self.length + num.length) | 0;\n out.length = len;\n len = (len - 1) | 0;\n\n // Peel one iteration (compiler can't do it, because of code complexity)\n var a = self.words[0] | 0;\n var b = num.words[0] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n var carry = (r / 0x4000000) | 0;\n out.words[0] = lo;\n\n for (var k = 1; k < len; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = carry >>> 26;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = (k - j) | 0;\n a = self.words[i] | 0;\n b = num.words[j] | 0;\n r = a * b + rword;\n ncarry += (r / 0x4000000) | 0;\n rword = r & 0x3ffffff;\n }\n out.words[k] = rword | 0;\n carry = ncarry | 0;\n }\n if (carry !== 0) {\n out.words[k] = carry | 0;\n } else {\n out.length--;\n }\n\n return out.strip();\n }\n\n // TODO(indutny): it may be reasonable to omit it for users who don't need\n // to work with 256-bit numbers, otherwise it gives 20% improvement for 256-bit\n // multiplication (like elliptic secp256k1).\n var comb10MulTo = function comb10MulTo (self, num, out) {\n var a = self.words;\n var b = num.words;\n var o = out.words;\n var c = 0;\n var lo;\n var mid;\n var hi;\n var a0 = a[0] | 0;\n var al0 = a0 & 0x1fff;\n var ah0 = a0 >>> 13;\n var a1 = a[1] | 0;\n var al1 = a1 & 0x1fff;\n var ah1 = a1 >>> 13;\n var a2 = a[2] | 0;\n var al2 = a2 & 0x1fff;\n var ah2 = a2 >>> 13;\n var a3 = a[3] | 0;\n var al3 = a3 & 0x1fff;\n var ah3 = a3 >>> 13;\n var a4 = a[4] | 0;\n var al4 = a4 & 0x1fff;\n var ah4 = a4 >>> 13;\n var a5 = a[5] | 0;\n var al5 = a5 & 0x1fff;\n var ah5 = a5 >>> 13;\n var a6 = a[6] | 0;\n var al6 = a6 & 0x1fff;\n var ah6 = a6 >>> 13;\n var a7 = a[7] | 0;\n var al7 = a7 & 0x1fff;\n var ah7 = a7 >>> 13;\n var a8 = a[8] | 0;\n var al8 = a8 & 0x1fff;\n var ah8 = a8 >>> 13;\n var a9 = a[9] | 0;\n var al9 = a9 & 0x1fff;\n var ah9 = a9 >>> 13;\n var b0 = b[0] | 0;\n var bl0 = b0 & 0x1fff;\n var bh0 = b0 >>> 13;\n var b1 = b[1] | 0;\n var bl1 = b1 & 0x1fff;\n var bh1 = b1 >>> 13;\n var b2 = b[2] | 0;\n var bl2 = b2 & 0x1fff;\n var bh2 = b2 >>> 13;\n var b3 = b[3] | 0;\n var bl3 = b3 & 0x1fff;\n var bh3 = b3 >>> 13;\n var b4 = b[4] | 0;\n var bl4 = b4 & 0x1fff;\n var bh4 = b4 >>> 13;\n var b5 = b[5] | 0;\n var bl5 = b5 & 0x1fff;\n var bh5 = b5 >>> 13;\n var b6 = b[6] | 0;\n var bl6 = b6 & 0x1fff;\n var bh6 = b6 >>> 13;\n var b7 = b[7] | 0;\n var bl7 = b7 & 0x1fff;\n var bh7 = b7 >>> 13;\n var b8 = b[8] | 0;\n var bl8 = b8 & 0x1fff;\n var bh8 = b8 >>> 13;\n var b9 = b[9] | 0;\n var bl9 = b9 & 0x1fff;\n var bh9 = b9 >>> 13;\n\n out.negative = self.negative ^ num.negative;\n out.length = 19;\n /* k = 0 */\n lo = Math.imul(al0, bl0);\n mid = Math.imul(al0, bh0);\n mid = (mid + Math.imul(ah0, bl0)) | 0;\n hi = Math.imul(ah0, bh0);\n var w0 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w0 >>> 26)) | 0;\n w0 &= 0x3ffffff;\n /* k = 1 */\n lo = Math.imul(al1, bl0);\n mid = Math.imul(al1, bh0);\n mid = (mid + Math.imul(ah1, bl0)) | 0;\n hi = Math.imul(ah1, bh0);\n lo = (lo + Math.imul(al0, bl1)) | 0;\n mid = (mid + Math.imul(al0, bh1)) | 0;\n mid = (mid + Math.imul(ah0, bl1)) | 0;\n hi = (hi + Math.imul(ah0, bh1)) | 0;\n var w1 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w1 >>> 26)) | 0;\n w1 &= 0x3ffffff;\n /* k = 2 */\n lo = Math.imul(al2, bl0);\n mid = Math.imul(al2, bh0);\n mid = (mid + Math.imul(ah2, bl0)) | 0;\n hi = Math.imul(ah2, bh0);\n lo = (lo + Math.imul(al1, bl1)) | 0;\n mid = (mid + Math.imul(al1, bh1)) | 0;\n mid = (mid + Math.imul(ah1, bl1)) | 0;\n hi = (hi + Math.imul(ah1, bh1)) | 0;\n lo = (lo + Math.imul(al0, bl2)) | 0;\n mid = (mid + Math.imul(al0, bh2)) | 0;\n mid = (mid + Math.imul(ah0, bl2)) | 0;\n hi = (hi + Math.imul(ah0, bh2)) | 0;\n var w2 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w2 >>> 26)) | 0;\n w2 &= 0x3ffffff;\n /* k = 3 */\n lo = Math.imul(al3, bl0);\n mid = Math.imul(al3, bh0);\n mid = (mid + Math.imul(ah3, bl0)) | 0;\n hi = Math.imul(ah3, bh0);\n lo = (lo + Math.imul(al2, bl1)) | 0;\n mid = (mid + Math.imul(al2, bh1)) | 0;\n mid = (mid + Math.imul(ah2, bl1)) | 0;\n hi = (hi + Math.imul(ah2, bh1)) | 0;\n lo = (lo + Math.imul(al1, bl2)) | 0;\n mid = (mid + Math.imul(al1, bh2)) | 0;\n mid = (mid + Math.imul(ah1, bl2)) | 0;\n hi = (hi + Math.imul(ah1, bh2)) | 0;\n lo = (lo + Math.imul(al0, bl3)) | 0;\n mid = (mid + Math.imul(al0, bh3)) | 0;\n mid = (mid + Math.imul(ah0, bl3)) | 0;\n hi = (hi + Math.imul(ah0, bh3)) | 0;\n var w3 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w3 >>> 26)) | 0;\n w3 &= 0x3ffffff;\n /* k = 4 */\n lo = Math.imul(al4, bl0);\n mid = Math.imul(al4, bh0);\n mid = (mid + Math.imul(ah4, bl0)) | 0;\n hi = Math.imul(ah4, bh0);\n lo = (lo + Math.imul(al3, bl1)) | 0;\n mid = (mid + Math.imul(al3, bh1)) | 0;\n mid = (mid + Math.imul(ah3, bl1)) | 0;\n hi = (hi + Math.imul(ah3, bh1)) | 0;\n lo = (lo + Math.imul(al2, bl2)) | 0;\n mid = (mid + Math.imul(al2, bh2)) | 0;\n mid = (mid + Math.imul(ah2, bl2)) | 0;\n hi = (hi + Math.imul(ah2, bh2)) | 0;\n lo = (lo + Math.imul(al1, bl3)) | 0;\n mid = (mid + Math.imul(al1, bh3)) | 0;\n mid = (mid + Math.imul(ah1, bl3)) | 0;\n hi = (hi + Math.imul(ah1, bh3)) | 0;\n lo = (lo + Math.imul(al0, bl4)) | 0;\n mid = (mid + Math.imul(al0, bh4)) | 0;\n mid = (mid + Math.imul(ah0, bl4)) | 0;\n hi = (hi + Math.imul(ah0, bh4)) | 0;\n var w4 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w4 >>> 26)) | 0;\n w4 &= 0x3ffffff;\n /* k = 5 */\n lo = Math.imul(al5, bl0);\n mid = Math.imul(al5, bh0);\n mid = (mid + Math.imul(ah5, bl0)) | 0;\n hi = Math.imul(ah5, bh0);\n lo = (lo + Math.imul(al4, bl1)) | 0;\n mid = (mid + Math.imul(al4, bh1)) | 0;\n mid = (mid + Math.imul(ah4, bl1)) | 0;\n hi = (hi + Math.imul(ah4, bh1)) | 0;\n lo = (lo + Math.imul(al3, bl2)) | 0;\n mid = (mid + Math.imul(al3, bh2)) | 0;\n mid = (mid + Math.imul(ah3, bl2)) | 0;\n hi = (hi + Math.imul(ah3, bh2)) | 0;\n lo = (lo + Math.imul(al2, bl3)) | 0;\n mid = (mid + Math.imul(al2, bh3)) | 0;\n mid = (mid + Math.imul(ah2, bl3)) | 0;\n hi = (hi + Math.imul(ah2, bh3)) | 0;\n lo = (lo + Math.imul(al1, bl4)) | 0;\n mid = (mid + Math.imul(al1, bh4)) | 0;\n mid = (mid + Math.imul(ah1, bl4)) | 0;\n hi = (hi + Math.imul(ah1, bh4)) | 0;\n lo = (lo + Math.imul(al0, bl5)) | 0;\n mid = (mid + Math.imul(al0, bh5)) | 0;\n mid = (mid + Math.imul(ah0, bl5)) | 0;\n hi = (hi + Math.imul(ah0, bh5)) | 0;\n var w5 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w5 >>> 26)) | 0;\n w5 &= 0x3ffffff;\n /* k = 6 */\n lo = Math.imul(al6, bl0);\n mid = Math.imul(al6, bh0);\n mid = (mid + Math.imul(ah6, bl0)) | 0;\n hi = Math.imul(ah6, bh0);\n lo = (lo + Math.imul(al5, bl1)) | 0;\n mid = (mid + Math.imul(al5, bh1)) | 0;\n mid = (mid + Math.imul(ah5, bl1)) | 0;\n hi = (hi + Math.imul(ah5, bh1)) | 0;\n lo = (lo + Math.imul(al4, bl2)) | 0;\n mid = (mid + Math.imul(al4, bh2)) | 0;\n mid = (mid + Math.imul(ah4, bl2)) | 0;\n hi = (hi + Math.imul(ah4, bh2)) | 0;\n lo = (lo + Math.imul(al3, bl3)) | 0;\n mid = (mid + Math.imul(al3, bh3)) | 0;\n mid = (mid + Math.imul(ah3, bl3)) | 0;\n hi = (hi + Math.imul(ah3, bh3)) | 0;\n lo = (lo + Math.imul(al2, bl4)) | 0;\n mid = (mid + Math.imul(al2, bh4)) | 0;\n mid = (mid + Math.imul(ah2, bl4)) | 0;\n hi = (hi + Math.imul(ah2, bh4)) | 0;\n lo = (lo + Math.imul(al1, bl5)) | 0;\n mid = (mid + Math.imul(al1, bh5)) | 0;\n mid = (mid + Math.imul(ah1, bl5)) | 0;\n hi = (hi + Math.imul(ah1, bh5)) | 0;\n lo = (lo + Math.imul(al0, bl6)) | 0;\n mid = (mid + Math.imul(al0, bh6)) | 0;\n mid = (mid + Math.imul(ah0, bl6)) | 0;\n hi = (hi + Math.imul(ah0, bh6)) | 0;\n var w6 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w6 >>> 26)) | 0;\n w6 &= 0x3ffffff;\n /* k = 7 */\n lo = Math.imul(al7, bl0);\n mid = Math.imul(al7, bh0);\n mid = (mid + Math.imul(ah7, bl0)) | 0;\n hi = Math.imul(ah7, bh0);\n lo = (lo + Math.imul(al6, bl1)) | 0;\n mid = (mid + Math.imul(al6, bh1)) | 0;\n mid = (mid + Math.imul(ah6, bl1)) | 0;\n hi = (hi + Math.imul(ah6, bh1)) | 0;\n lo = (lo + Math.imul(al5, bl2)) | 0;\n mid = (mid + Math.imul(al5, bh2)) | 0;\n mid = (mid + Math.imul(ah5, bl2)) | 0;\n hi = (hi + Math.imul(ah5, bh2)) | 0;\n lo = (lo + Math.imul(al4, bl3)) | 0;\n mid = (mid + Math.imul(al4, bh3)) | 0;\n mid = (mid + Math.imul(ah4, bl3)) | 0;\n hi = (hi + Math.imul(ah4, bh3)) | 0;\n lo = (lo + Math.imul(al3, bl4)) | 0;\n mid = (mid + Math.imul(al3, bh4)) | 0;\n mid = (mid + Math.imul(ah3, bl4)) | 0;\n hi = (hi + Math.imul(ah3, bh4)) | 0;\n lo = (lo + Math.imul(al2, bl5)) | 0;\n mid = (mid + Math.imul(al2, bh5)) | 0;\n mid = (mid + Math.imul(ah2, bl5)) | 0;\n hi = (hi + Math.imul(ah2, bh5)) | 0;\n lo = (lo + Math.imul(al1, bl6)) | 0;\n mid = (mid + Math.imul(al1, bh6)) | 0;\n mid = (mid + Math.imul(ah1, bl6)) | 0;\n hi = (hi + Math.imul(ah1, bh6)) | 0;\n lo = (lo + Math.imul(al0, bl7)) | 0;\n mid = (mid + Math.imul(al0, bh7)) | 0;\n mid = (mid + Math.imul(ah0, bl7)) | 0;\n hi = (hi + Math.imul(ah0, bh7)) | 0;\n var w7 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w7 >>> 26)) | 0;\n w7 &= 0x3ffffff;\n /* k = 8 */\n lo = Math.imul(al8, bl0);\n mid = Math.imul(al8, bh0);\n mid = (mid + Math.imul(ah8, bl0)) | 0;\n hi = Math.imul(ah8, bh0);\n lo = (lo + Math.imul(al7, bl1)) | 0;\n mid = (mid + Math.imul(al7, bh1)) | 0;\n mid = (mid + Math.imul(ah7, bl1)) | 0;\n hi = (hi + Math.imul(ah7, bh1)) | 0;\n lo = (lo + Math.imul(al6, bl2)) | 0;\n mid = (mid + Math.imul(al6, bh2)) | 0;\n mid = (mid + Math.imul(ah6, bl2)) | 0;\n hi = (hi + Math.imul(ah6, bh2)) | 0;\n lo = (lo + Math.imul(al5, bl3)) | 0;\n mid = (mid + Math.imul(al5, bh3)) | 0;\n mid = (mid + Math.imul(ah5, bl3)) | 0;\n hi = (hi + Math.imul(ah5, bh3)) | 0;\n lo = (lo + Math.imul(al4, bl4)) | 0;\n mid = (mid + Math.imul(al4, bh4)) | 0;\n mid = (mid + Math.imul(ah4, bl4)) | 0;\n hi = (hi + Math.imul(ah4, bh4)) | 0;\n lo = (lo + Math.imul(al3, bl5)) | 0;\n mid = (mid + Math.imul(al3, bh5)) | 0;\n mid = (mid + Math.imul(ah3, bl5)) | 0;\n hi = (hi + Math.imul(ah3, bh5)) | 0;\n lo = (lo + Math.imul(al2, bl6)) | 0;\n mid = (mid + Math.imul(al2, bh6)) | 0;\n mid = (mid + Math.imul(ah2, bl6)) | 0;\n hi = (hi + Math.imul(ah2, bh6)) | 0;\n lo = (lo + Math.imul(al1, bl7)) | 0;\n mid = (mid + Math.imul(al1, bh7)) | 0;\n mid = (mid + Math.imul(ah1, bl7)) | 0;\n hi = (hi + Math.imul(ah1, bh7)) | 0;\n lo = (lo + Math.imul(al0, bl8)) | 0;\n mid = (mid + Math.imul(al0, bh8)) | 0;\n mid = (mid + Math.imul(ah0, bl8)) | 0;\n hi = (hi + Math.imul(ah0, bh8)) | 0;\n var w8 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w8 >>> 26)) | 0;\n w8 &= 0x3ffffff;\n /* k = 9 */\n lo = Math.imul(al9, bl0);\n mid = Math.imul(al9, bh0);\n mid = (mid + Math.imul(ah9, bl0)) | 0;\n hi = Math.imul(ah9, bh0);\n lo = (lo + Math.imul(al8, bl1)) | 0;\n mid = (mid + Math.imul(al8, bh1)) | 0;\n mid = (mid + Math.imul(ah8, bl1)) | 0;\n hi = (hi + Math.imul(ah8, bh1)) | 0;\n lo = (lo + Math.imul(al7, bl2)) | 0;\n mid = (mid + Math.imul(al7, bh2)) | 0;\n mid = (mid + Math.imul(ah7, bl2)) | 0;\n hi = (hi + Math.imul(ah7, bh2)) | 0;\n lo = (lo + Math.imul(al6, bl3)) | 0;\n mid = (mid + Math.imul(al6, bh3)) | 0;\n mid = (mid + Math.imul(ah6, bl3)) | 0;\n hi = (hi + Math.imul(ah6, bh3)) | 0;\n lo = (lo + Math.imul(al5, bl4)) | 0;\n mid = (mid + Math.imul(al5, bh4)) | 0;\n mid = (mid + Math.imul(ah5, bl4)) | 0;\n hi = (hi + Math.imul(ah5, bh4)) | 0;\n lo = (lo + Math.imul(al4, bl5)) | 0;\n mid = (mid + Math.imul(al4, bh5)) | 0;\n mid = (mid + Math.imul(ah4, bl5)) | 0;\n hi = (hi + Math.imul(ah4, bh5)) | 0;\n lo = (lo + Math.imul(al3, bl6)) | 0;\n mid = (mid + Math.imul(al3, bh6)) | 0;\n mid = (mid + Math.imul(ah3, bl6)) | 0;\n hi = (hi + Math.imul(ah3, bh6)) | 0;\n lo = (lo + Math.imul(al2, bl7)) | 0;\n mid = (mid + Math.imul(al2, bh7)) | 0;\n mid = (mid + Math.imul(ah2, bl7)) | 0;\n hi = (hi + Math.imul(ah2, bh7)) | 0;\n lo = (lo + Math.imul(al1, bl8)) | 0;\n mid = (mid + Math.imul(al1, bh8)) | 0;\n mid = (mid + Math.imul(ah1, bl8)) | 0;\n hi = (hi + Math.imul(ah1, bh8)) | 0;\n lo = (lo + Math.imul(al0, bl9)) | 0;\n mid = (mid + Math.imul(al0, bh9)) | 0;\n mid = (mid + Math.imul(ah0, bl9)) | 0;\n hi = (hi + Math.imul(ah0, bh9)) | 0;\n var w9 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w9 >>> 26)) | 0;\n w9 &= 0x3ffffff;\n /* k = 10 */\n lo = Math.imul(al9, bl1);\n mid = Math.imul(al9, bh1);\n mid = (mid + Math.imul(ah9, bl1)) | 0;\n hi = Math.imul(ah9, bh1);\n lo = (lo + Math.imul(al8, bl2)) | 0;\n mid = (mid + Math.imul(al8, bh2)) | 0;\n mid = (mid + Math.imul(ah8, bl2)) | 0;\n hi = (hi + Math.imul(ah8, bh2)) | 0;\n lo = (lo + Math.imul(al7, bl3)) | 0;\n mid = (mid + Math.imul(al7, bh3)) | 0;\n mid = (mid + Math.imul(ah7, bl3)) | 0;\n hi = (hi + Math.imul(ah7, bh3)) | 0;\n lo = (lo + Math.imul(al6, bl4)) | 0;\n mid = (mid + Math.imul(al6, bh4)) | 0;\n mid = (mid + Math.imul(ah6, bl4)) | 0;\n hi = (hi + Math.imul(ah6, bh4)) | 0;\n lo = (lo + Math.imul(al5, bl5)) | 0;\n mid = (mid + Math.imul(al5, bh5)) | 0;\n mid = (mid + Math.imul(ah5, bl5)) | 0;\n hi = (hi + Math.imul(ah5, bh5)) | 0;\n lo = (lo + Math.imul(al4, bl6)) | 0;\n mid = (mid + Math.imul(al4, bh6)) | 0;\n mid = (mid + Math.imul(ah4, bl6)) | 0;\n hi = (hi + Math.imul(ah4, bh6)) | 0;\n lo = (lo + Math.imul(al3, bl7)) | 0;\n mid = (mid + Math.imul(al3, bh7)) | 0;\n mid = (mid + Math.imul(ah3, bl7)) | 0;\n hi = (hi + Math.imul(ah3, bh7)) | 0;\n lo = (lo + Math.imul(al2, bl8)) | 0;\n mid = (mid + Math.imul(al2, bh8)) | 0;\n mid = (mid + Math.imul(ah2, bl8)) | 0;\n hi = (hi + Math.imul(ah2, bh8)) | 0;\n lo = (lo + Math.imul(al1, bl9)) | 0;\n mid = (mid + Math.imul(al1, bh9)) | 0;\n mid = (mid + Math.imul(ah1, bl9)) | 0;\n hi = (hi + Math.imul(ah1, bh9)) | 0;\n var w10 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w10 >>> 26)) | 0;\n w10 &= 0x3ffffff;\n /* k = 11 */\n lo = Math.imul(al9, bl2);\n mid = Math.imul(al9, bh2);\n mid = (mid + Math.imul(ah9, bl2)) | 0;\n hi = Math.imul(ah9, bh2);\n lo = (lo + Math.imul(al8, bl3)) | 0;\n mid = (mid + Math.imul(al8, bh3)) | 0;\n mid = (mid + Math.imul(ah8, bl3)) | 0;\n hi = (hi + Math.imul(ah8, bh3)) | 0;\n lo = (lo + Math.imul(al7, bl4)) | 0;\n mid = (mid + Math.imul(al7, bh4)) | 0;\n mid = (mid + Math.imul(ah7, bl4)) | 0;\n hi = (hi + Math.imul(ah7, bh4)) | 0;\n lo = (lo + Math.imul(al6, bl5)) | 0;\n mid = (mid + Math.imul(al6, bh5)) | 0;\n mid = (mid + Math.imul(ah6, bl5)) | 0;\n hi = (hi + Math.imul(ah6, bh5)) | 0;\n lo = (lo + Math.imul(al5, bl6)) | 0;\n mid = (mid + Math.imul(al5, bh6)) | 0;\n mid = (mid + Math.imul(ah5, bl6)) | 0;\n hi = (hi + Math.imul(ah5, bh6)) | 0;\n lo = (lo + Math.imul(al4, bl7)) | 0;\n mid = (mid + Math.imul(al4, bh7)) | 0;\n mid = (mid + Math.imul(ah4, bl7)) | 0;\n hi = (hi + Math.imul(ah4, bh7)) | 0;\n lo = (lo + Math.imul(al3, bl8)) | 0;\n mid = (mid + Math.imul(al3, bh8)) | 0;\n mid = (mid + Math.imul(ah3, bl8)) | 0;\n hi = (hi + Math.imul(ah3, bh8)) | 0;\n lo = (lo + Math.imul(al2, bl9)) | 0;\n mid = (mid + Math.imul(al2, bh9)) | 0;\n mid = (mid + Math.imul(ah2, bl9)) | 0;\n hi = (hi + Math.imul(ah2, bh9)) | 0;\n var w11 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w11 >>> 26)) | 0;\n w11 &= 0x3ffffff;\n /* k = 12 */\n lo = Math.imul(al9, bl3);\n mid = Math.imul(al9, bh3);\n mid = (mid + Math.imul(ah9, bl3)) | 0;\n hi = Math.imul(ah9, bh3);\n lo = (lo + Math.imul(al8, bl4)) | 0;\n mid = (mid + Math.imul(al8, bh4)) | 0;\n mid = (mid + Math.imul(ah8, bl4)) | 0;\n hi = (hi + Math.imul(ah8, bh4)) | 0;\n lo = (lo + Math.imul(al7, bl5)) | 0;\n mid = (mid + Math.imul(al7, bh5)) | 0;\n mid = (mid + Math.imul(ah7, bl5)) | 0;\n hi = (hi + Math.imul(ah7, bh5)) | 0;\n lo = (lo + Math.imul(al6, bl6)) | 0;\n mid = (mid + Math.imul(al6, bh6)) | 0;\n mid = (mid + Math.imul(ah6, bl6)) | 0;\n hi = (hi + Math.imul(ah6, bh6)) | 0;\n lo = (lo + Math.imul(al5, bl7)) | 0;\n mid = (mid + Math.imul(al5, bh7)) | 0;\n mid = (mid + Math.imul(ah5, bl7)) | 0;\n hi = (hi + Math.imul(ah5, bh7)) | 0;\n lo = (lo + Math.imul(al4, bl8)) | 0;\n mid = (mid + Math.imul(al4, bh8)) | 0;\n mid = (mid + Math.imul(ah4, bl8)) | 0;\n hi = (hi + Math.imul(ah4, bh8)) | 0;\n lo = (lo + Math.imul(al3, bl9)) | 0;\n mid = (mid + Math.imul(al3, bh9)) | 0;\n mid = (mid + Math.imul(ah3, bl9)) | 0;\n hi = (hi + Math.imul(ah3, bh9)) | 0;\n var w12 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w12 >>> 26)) | 0;\n w12 &= 0x3ffffff;\n /* k = 13 */\n lo = Math.imul(al9, bl4);\n mid = Math.imul(al9, bh4);\n mid = (mid + Math.imul(ah9, bl4)) | 0;\n hi = Math.imul(ah9, bh4);\n lo = (lo + Math.imul(al8, bl5)) | 0;\n mid = (mid + Math.imul(al8, bh5)) | 0;\n mid = (mid + Math.imul(ah8, bl5)) | 0;\n hi = (hi + Math.imul(ah8, bh5)) | 0;\n lo = (lo + Math.imul(al7, bl6)) | 0;\n mid = (mid + Math.imul(al7, bh6)) | 0;\n mid = (mid + Math.imul(ah7, bl6)) | 0;\n hi = (hi + Math.imul(ah7, bh6)) | 0;\n lo = (lo + Math.imul(al6, bl7)) | 0;\n mid = (mid + Math.imul(al6, bh7)) | 0;\n mid = (mid + Math.imul(ah6, bl7)) | 0;\n hi = (hi + Math.imul(ah6, bh7)) | 0;\n lo = (lo + Math.imul(al5, bl8)) | 0;\n mid = (mid + Math.imul(al5, bh8)) | 0;\n mid = (mid + Math.imul(ah5, bl8)) | 0;\n hi = (hi + Math.imul(ah5, bh8)) | 0;\n lo = (lo + Math.imul(al4, bl9)) | 0;\n mid = (mid + Math.imul(al4, bh9)) | 0;\n mid = (mid + Math.imul(ah4, bl9)) | 0;\n hi = (hi + Math.imul(ah4, bh9)) | 0;\n var w13 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w13 >>> 26)) | 0;\n w13 &= 0x3ffffff;\n /* k = 14 */\n lo = Math.imul(al9, bl5);\n mid = Math.imul(al9, bh5);\n mid = (mid + Math.imul(ah9, bl5)) | 0;\n hi = Math.imul(ah9, bh5);\n lo = (lo + Math.imul(al8, bl6)) | 0;\n mid = (mid + Math.imul(al8, bh6)) | 0;\n mid = (mid + Math.imul(ah8, bl6)) | 0;\n hi = (hi + Math.imul(ah8, bh6)) | 0;\n lo = (lo + Math.imul(al7, bl7)) | 0;\n mid = (mid + Math.imul(al7, bh7)) | 0;\n mid = (mid + Math.imul(ah7, bl7)) | 0;\n hi = (hi + Math.imul(ah7, bh7)) | 0;\n lo = (lo + Math.imul(al6, bl8)) | 0;\n mid = (mid + Math.imul(al6, bh8)) | 0;\n mid = (mid + Math.imul(ah6, bl8)) | 0;\n hi = (hi + Math.imul(ah6, bh8)) | 0;\n lo = (lo + Math.imul(al5, bl9)) | 0;\n mid = (mid + Math.imul(al5, bh9)) | 0;\n mid = (mid + Math.imul(ah5, bl9)) | 0;\n hi = (hi + Math.imul(ah5, bh9)) | 0;\n var w14 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w14 >>> 26)) | 0;\n w14 &= 0x3ffffff;\n /* k = 15 */\n lo = Math.imul(al9, bl6);\n mid = Math.imul(al9, bh6);\n mid = (mid + Math.imul(ah9, bl6)) | 0;\n hi = Math.imul(ah9, bh6);\n lo = (lo + Math.imul(al8, bl7)) | 0;\n mid = (mid + Math.imul(al8, bh7)) | 0;\n mid = (mid + Math.imul(ah8, bl7)) | 0;\n hi = (hi + Math.imul(ah8, bh7)) | 0;\n lo = (lo + Math.imul(al7, bl8)) | 0;\n mid = (mid + Math.imul(al7, bh8)) | 0;\n mid = (mid + Math.imul(ah7, bl8)) | 0;\n hi = (hi + Math.imul(ah7, bh8)) | 0;\n lo = (lo + Math.imul(al6, bl9)) | 0;\n mid = (mid + Math.imul(al6, bh9)) | 0;\n mid = (mid + Math.imul(ah6, bl9)) | 0;\n hi = (hi + Math.imul(ah6, bh9)) | 0;\n var w15 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w15 >>> 26)) | 0;\n w15 &= 0x3ffffff;\n /* k = 16 */\n lo = Math.imul(al9, bl7);\n mid = Math.imul(al9, bh7);\n mid = (mid + Math.imul(ah9, bl7)) | 0;\n hi = Math.imul(ah9, bh7);\n lo = (lo + Math.imul(al8, bl8)) | 0;\n mid = (mid + Math.imul(al8, bh8)) | 0;\n mid = (mid + Math.imul(ah8, bl8)) | 0;\n hi = (hi + Math.imul(ah8, bh8)) | 0;\n lo = (lo + Math.imul(al7, bl9)) | 0;\n mid = (mid + Math.imul(al7, bh9)) | 0;\n mid = (mid + Math.imul(ah7, bl9)) | 0;\n hi = (hi + Math.imul(ah7, bh9)) | 0;\n var w16 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w16 >>> 26)) | 0;\n w16 &= 0x3ffffff;\n /* k = 17 */\n lo = Math.imul(al9, bl8);\n mid = Math.imul(al9, bh8);\n mid = (mid + Math.imul(ah9, bl8)) | 0;\n hi = Math.imul(ah9, bh8);\n lo = (lo + Math.imul(al8, bl9)) | 0;\n mid = (mid + Math.imul(al8, bh9)) | 0;\n mid = (mid + Math.imul(ah8, bl9)) | 0;\n hi = (hi + Math.imul(ah8, bh9)) | 0;\n var w17 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w17 >>> 26)) | 0;\n w17 &= 0x3ffffff;\n /* k = 18 */\n lo = Math.imul(al9, bl9);\n mid = Math.imul(al9, bh9);\n mid = (mid + Math.imul(ah9, bl9)) | 0;\n hi = Math.imul(ah9, bh9);\n var w18 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w18 >>> 26)) | 0;\n w18 &= 0x3ffffff;\n o[0] = w0;\n o[1] = w1;\n o[2] = w2;\n o[3] = w3;\n o[4] = w4;\n o[5] = w5;\n o[6] = w6;\n o[7] = w7;\n o[8] = w8;\n o[9] = w9;\n o[10] = w10;\n o[11] = w11;\n o[12] = w12;\n o[13] = w13;\n o[14] = w14;\n o[15] = w15;\n o[16] = w16;\n o[17] = w17;\n o[18] = w18;\n if (c !== 0) {\n o[19] = c;\n out.length++;\n }\n return out;\n };\n\n // Polyfill comb\n if (!Math.imul) {\n comb10MulTo = smallMulTo;\n }\n\n function bigMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n out.length = self.length + num.length;\n\n var carry = 0;\n var hncarry = 0;\n for (var k = 0; k < out.length - 1; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = hncarry;\n hncarry = 0;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = k - j;\n var a = self.words[i] | 0;\n var b = num.words[j] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n ncarry = (ncarry + ((r / 0x4000000) | 0)) | 0;\n lo = (lo + rword) | 0;\n rword = lo & 0x3ffffff;\n ncarry = (ncarry + (lo >>> 26)) | 0;\n\n hncarry += ncarry >>> 26;\n ncarry &= 0x3ffffff;\n }\n out.words[k] = rword;\n carry = ncarry;\n ncarry = hncarry;\n }\n if (carry !== 0) {\n out.words[k] = carry;\n } else {\n out.length--;\n }\n\n return out.strip();\n }\n\n function jumboMulTo (self, num, out) {\n var fftm = new FFTM();\n return fftm.mulp(self, num, out);\n }\n\n BN.prototype.mulTo = function mulTo (num, out) {\n var res;\n var len = this.length + num.length;\n if (this.length === 10 && num.length === 10) {\n res = comb10MulTo(this, num, out);\n } else if (len < 63) {\n res = smallMulTo(this, num, out);\n } else if (len < 1024) {\n res = bigMulTo(this, num, out);\n } else {\n res = jumboMulTo(this, num, out);\n }\n\n return res;\n };\n\n // Cooley-Tukey algorithm for FFT\n // slightly revisited to rely on looping instead of recursion\n\n function FFTM (x, y) {\n this.x = x;\n this.y = y;\n }\n\n FFTM.prototype.makeRBT = function makeRBT (N) {\n var t = new Array(N);\n var l = BN.prototype._countBits(N) - 1;\n for (var i = 0; i < N; i++) {\n t[i] = this.revBin(i, l, N);\n }\n\n return t;\n };\n\n // Returns binary-reversed representation of `x`\n FFTM.prototype.revBin = function revBin (x, l, N) {\n if (x === 0 || x === N - 1) return x;\n\n var rb = 0;\n for (var i = 0; i < l; i++) {\n rb |= (x & 1) << (l - i - 1);\n x >>= 1;\n }\n\n return rb;\n };\n\n // Performs \"tweedling\" phase, therefore 'emulating'\n // behaviour of the recursive algorithm\n FFTM.prototype.permute = function permute (rbt, rws, iws, rtws, itws, N) {\n for (var i = 0; i < N; i++) {\n rtws[i] = rws[rbt[i]];\n itws[i] = iws[rbt[i]];\n }\n };\n\n FFTM.prototype.transform = function transform (rws, iws, rtws, itws, N, rbt) {\n this.permute(rbt, rws, iws, rtws, itws, N);\n\n for (var s = 1; s < N; s <<= 1) {\n var l = s << 1;\n\n var rtwdf = Math.cos(2 * Math.PI / l);\n var itwdf = Math.sin(2 * Math.PI / l);\n\n for (var p = 0; p < N; p += l) {\n var rtwdf_ = rtwdf;\n var itwdf_ = itwdf;\n\n for (var j = 0; j < s; j++) {\n var re = rtws[p + j];\n var ie = itws[p + j];\n\n var ro = rtws[p + j + s];\n var io = itws[p + j + s];\n\n var rx = rtwdf_ * ro - itwdf_ * io;\n\n io = rtwdf_ * io + itwdf_ * ro;\n ro = rx;\n\n rtws[p + j] = re + ro;\n itws[p + j] = ie + io;\n\n rtws[p + j + s] = re - ro;\n itws[p + j + s] = ie - io;\n\n /* jshint maxdepth : false */\n if (j !== l) {\n rx = rtwdf * rtwdf_ - itwdf * itwdf_;\n\n itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_;\n rtwdf_ = rx;\n }\n }\n }\n }\n };\n\n FFTM.prototype.guessLen13b = function guessLen13b (n, m) {\n var N = Math.max(m, n) | 1;\n var odd = N & 1;\n var i = 0;\n for (N = N / 2 | 0; N; N = N >>> 1) {\n i++;\n }\n\n return 1 << i + 1 + odd;\n };\n\n FFTM.prototype.conjugate = function conjugate (rws, iws, N) {\n if (N <= 1) return;\n\n for (var i = 0; i < N / 2; i++) {\n var t = rws[i];\n\n rws[i] = rws[N - i - 1];\n rws[N - i - 1] = t;\n\n t = iws[i];\n\n iws[i] = -iws[N - i - 1];\n iws[N - i - 1] = -t;\n }\n };\n\n FFTM.prototype.normalize13b = function normalize13b (ws, N) {\n var carry = 0;\n for (var i = 0; i < N / 2; i++) {\n var w = Math.round(ws[2 * i + 1] / N) * 0x2000 +\n Math.round(ws[2 * i] / N) +\n carry;\n\n ws[i] = w & 0x3ffffff;\n\n if (w < 0x4000000) {\n carry = 0;\n } else {\n carry = w / 0x4000000 | 0;\n }\n }\n\n return ws;\n };\n\n FFTM.prototype.convert13b = function convert13b (ws, len, rws, N) {\n var carry = 0;\n for (var i = 0; i < len; i++) {\n carry = carry + (ws[i] | 0);\n\n rws[2 * i] = carry & 0x1fff; carry = carry >>> 13;\n rws[2 * i + 1] = carry & 0x1fff; carry = carry >>> 13;\n }\n\n // Pad with zeroes\n for (i = 2 * len; i < N; ++i) {\n rws[i] = 0;\n }\n\n assert(carry === 0);\n assert((carry & ~0x1fff) === 0);\n };\n\n FFTM.prototype.stub = function stub (N) {\n var ph = new Array(N);\n for (var i = 0; i < N; i++) {\n ph[i] = 0;\n }\n\n return ph;\n };\n\n FFTM.prototype.mulp = function mulp (x, y, out) {\n var N = 2 * this.guessLen13b(x.length, y.length);\n\n var rbt = this.makeRBT(N);\n\n var _ = this.stub(N);\n\n var rws = new Array(N);\n var rwst = new Array(N);\n var iwst = new Array(N);\n\n var nrws = new Array(N);\n var nrwst = new Array(N);\n var niwst = new Array(N);\n\n var rmws = out.words;\n rmws.length = N;\n\n this.convert13b(x.words, x.length, rws, N);\n this.convert13b(y.words, y.length, nrws, N);\n\n this.transform(rws, _, rwst, iwst, N, rbt);\n this.transform(nrws, _, nrwst, niwst, N, rbt);\n\n for (var i = 0; i < N; i++) {\n var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i];\n iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i];\n rwst[i] = rx;\n }\n\n this.conjugate(rwst, iwst, N);\n this.transform(rwst, iwst, rmws, _, N, rbt);\n this.conjugate(rmws, _, N);\n this.normalize13b(rmws, N);\n\n out.negative = x.negative ^ y.negative;\n out.length = x.length + y.length;\n return out.strip();\n };\n\n // Multiply `this` by `num`\n BN.prototype.mul = function mul (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return this.mulTo(num, out);\n };\n\n // Multiply employing FFT\n BN.prototype.mulf = function mulf (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return jumboMulTo(this, num, out);\n };\n\n // In-place Multiplication\n BN.prototype.imul = function imul (num) {\n return this.clone().mulTo(num, this);\n };\n\n BN.prototype.imuln = function imuln (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n\n // Carry\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = (this.words[i] | 0) * num;\n var lo = (w & 0x3ffffff) + (carry & 0x3ffffff);\n carry >>= 26;\n carry += (w / 0x4000000) | 0;\n // NOTE: lo is 27bit maximum\n carry += lo >>> 26;\n this.words[i] = lo & 0x3ffffff;\n }\n\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n this.length = num === 0 ? 1 : this.length;\n\n return this;\n };\n\n BN.prototype.muln = function muln (num) {\n return this.clone().imuln(num);\n };\n\n // `this` * `this`\n BN.prototype.sqr = function sqr () {\n return this.mul(this);\n };\n\n // `this` * `this` in-place\n BN.prototype.isqr = function isqr () {\n return this.imul(this.clone());\n };\n\n // Math.pow(`this`, `num`)\n BN.prototype.pow = function pow (num) {\n var w = toBitArray(num);\n if (w.length === 0) return new BN(1);\n\n // Skip leading zeroes\n var res = this;\n for (var i = 0; i < w.length; i++, res = res.sqr()) {\n if (w[i] !== 0) break;\n }\n\n if (++i < w.length) {\n for (var q = res.sqr(); i < w.length; i++, q = q.sqr()) {\n if (w[i] === 0) continue;\n\n res = res.mul(q);\n }\n }\n\n return res;\n };\n\n // Shift-left in-place\n BN.prototype.iushln = function iushln (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n var carryMask = (0x3ffffff >>> (26 - r)) << (26 - r);\n var i;\n\n if (r !== 0) {\n var carry = 0;\n\n for (i = 0; i < this.length; i++) {\n var newCarry = this.words[i] & carryMask;\n var c = ((this.words[i] | 0) - newCarry) << r;\n this.words[i] = c | carry;\n carry = newCarry >>> (26 - r);\n }\n\n if (carry) {\n this.words[i] = carry;\n this.length++;\n }\n }\n\n if (s !== 0) {\n for (i = this.length - 1; i >= 0; i--) {\n this.words[i + s] = this.words[i];\n }\n\n for (i = 0; i < s; i++) {\n this.words[i] = 0;\n }\n\n this.length += s;\n }\n\n return this.strip();\n };\n\n BN.prototype.ishln = function ishln (bits) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushln(bits);\n };\n\n // Shift-right in-place\n // NOTE: `hint` is a lowest bit before trailing zeroes\n // NOTE: if `extended` is present - it will be filled with destroyed bits\n BN.prototype.iushrn = function iushrn (bits, hint, extended) {\n assert(typeof bits === 'number' && bits >= 0);\n var h;\n if (hint) {\n h = (hint - (hint % 26)) / 26;\n } else {\n h = 0;\n }\n\n var r = bits % 26;\n var s = Math.min((bits - r) / 26, this.length);\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n var maskedWords = extended;\n\n h -= s;\n h = Math.max(0, h);\n\n // Extended mode, copy masked part\n if (maskedWords) {\n for (var i = 0; i < s; i++) {\n maskedWords.words[i] = this.words[i];\n }\n maskedWords.length = s;\n }\n\n if (s === 0) {\n // No-op, we should not move anything at all\n } else if (this.length > s) {\n this.length -= s;\n for (i = 0; i < this.length; i++) {\n this.words[i] = this.words[i + s];\n }\n } else {\n this.words[0] = 0;\n this.length = 1;\n }\n\n var carry = 0;\n for (i = this.length - 1; i >= 0 && (carry !== 0 || i >= h); i--) {\n var word = this.words[i] | 0;\n this.words[i] = (carry << (26 - r)) | (word >>> r);\n carry = word & mask;\n }\n\n // Push carried bits as a mask\n if (maskedWords && carry !== 0) {\n maskedWords.words[maskedWords.length++] = carry;\n }\n\n if (this.length === 0) {\n this.words[0] = 0;\n this.length = 1;\n }\n\n return this.strip();\n };\n\n BN.prototype.ishrn = function ishrn (bits, hint, extended) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushrn(bits, hint, extended);\n };\n\n // Shift-left\n BN.prototype.shln = function shln (bits) {\n return this.clone().ishln(bits);\n };\n\n BN.prototype.ushln = function ushln (bits) {\n return this.clone().iushln(bits);\n };\n\n // Shift-right\n BN.prototype.shrn = function shrn (bits) {\n return this.clone().ishrn(bits);\n };\n\n BN.prototype.ushrn = function ushrn (bits) {\n return this.clone().iushrn(bits);\n };\n\n // Test if n bit is set\n BN.prototype.testn = function testn (bit) {\n assert(typeof bit === 'number' && bit >= 0);\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) return false;\n\n // Check bit and return\n var w = this.words[s];\n\n return !!(w & q);\n };\n\n // Return only lowers bits of number (in-place)\n BN.prototype.imaskn = function imaskn (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n\n assert(this.negative === 0, 'imaskn works only with positive numbers');\n\n if (this.length <= s) {\n return this;\n }\n\n if (r !== 0) {\n s++;\n }\n this.length = Math.min(s, this.length);\n\n if (r !== 0) {\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n this.words[this.length - 1] &= mask;\n }\n\n return this.strip();\n };\n\n // Return only lowers bits of number\n BN.prototype.maskn = function maskn (bits) {\n return this.clone().imaskn(bits);\n };\n\n // Add plain number `num` to `this`\n BN.prototype.iaddn = function iaddn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.isubn(-num);\n\n // Possible sign change\n if (this.negative !== 0) {\n if (this.length === 1 && (this.words[0] | 0) < num) {\n this.words[0] = num - (this.words[0] | 0);\n this.negative = 0;\n return this;\n }\n\n this.negative = 0;\n this.isubn(num);\n this.negative = 1;\n return this;\n }\n\n // Add without checks\n return this._iaddn(num);\n };\n\n BN.prototype._iaddn = function _iaddn (num) {\n this.words[0] += num;\n\n // Carry\n for (var i = 0; i < this.length && this.words[i] >= 0x4000000; i++) {\n this.words[i] -= 0x4000000;\n if (i === this.length - 1) {\n this.words[i + 1] = 1;\n } else {\n this.words[i + 1]++;\n }\n }\n this.length = Math.max(this.length, i + 1);\n\n return this;\n };\n\n // Subtract plain number `num` from `this`\n BN.prototype.isubn = function isubn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.iaddn(-num);\n\n if (this.negative !== 0) {\n this.negative = 0;\n this.iaddn(num);\n this.negative = 1;\n return this;\n }\n\n this.words[0] -= num;\n\n if (this.length === 1 && this.words[0] < 0) {\n this.words[0] = -this.words[0];\n this.negative = 1;\n } else {\n // Carry\n for (var i = 0; i < this.length && this.words[i] < 0; i++) {\n this.words[i] += 0x4000000;\n this.words[i + 1] -= 1;\n }\n }\n\n return this.strip();\n };\n\n BN.prototype.addn = function addn (num) {\n return this.clone().iaddn(num);\n };\n\n BN.prototype.subn = function subn (num) {\n return this.clone().isubn(num);\n };\n\n BN.prototype.iabs = function iabs () {\n this.negative = 0;\n\n return this;\n };\n\n BN.prototype.abs = function abs () {\n return this.clone().iabs();\n };\n\n BN.prototype._ishlnsubmul = function _ishlnsubmul (num, mul, shift) {\n var len = num.length + shift;\n var i;\n\n this._expand(len);\n\n var w;\n var carry = 0;\n for (i = 0; i < num.length; i++) {\n w = (this.words[i + shift] | 0) + carry;\n var right = (num.words[i] | 0) * mul;\n w -= right & 0x3ffffff;\n carry = (w >> 26) - ((right / 0x4000000) | 0);\n this.words[i + shift] = w & 0x3ffffff;\n }\n for (; i < this.length - shift; i++) {\n w = (this.words[i + shift] | 0) + carry;\n carry = w >> 26;\n this.words[i + shift] = w & 0x3ffffff;\n }\n\n if (carry === 0) return this.strip();\n\n // Subtraction overflow\n assert(carry === -1);\n carry = 0;\n for (i = 0; i < this.length; i++) {\n w = -(this.words[i] | 0) + carry;\n carry = w >> 26;\n this.words[i] = w & 0x3ffffff;\n }\n this.negative = 1;\n\n return this.strip();\n };\n\n BN.prototype._wordDiv = function _wordDiv (num, mode) {\n var shift = this.length - num.length;\n\n var a = this.clone();\n var b = num;\n\n // Normalize\n var bhi = b.words[b.length - 1] | 0;\n var bhiBits = this._countBits(bhi);\n shift = 26 - bhiBits;\n if (shift !== 0) {\n b = b.ushln(shift);\n a.iushln(shift);\n bhi = b.words[b.length - 1] | 0;\n }\n\n // Initialize quotient\n var m = a.length - b.length;\n var q;\n\n if (mode !== 'mod') {\n q = new BN(null);\n q.length = m + 1;\n q.words = new Array(q.length);\n for (var i = 0; i < q.length; i++) {\n q.words[i] = 0;\n }\n }\n\n var diff = a.clone()._ishlnsubmul(b, 1, m);\n if (diff.negative === 0) {\n a = diff;\n if (q) {\n q.words[m] = 1;\n }\n }\n\n for (var j = m - 1; j >= 0; j--) {\n var qj = (a.words[b.length + j] | 0) * 0x4000000 +\n (a.words[b.length + j - 1] | 0);\n\n // NOTE: (qj / bhi) is (0x3ffffff * 0x4000000 + 0x3ffffff) / 0x2000000 max\n // (0x7ffffff)\n qj = Math.min((qj / bhi) | 0, 0x3ffffff);\n\n a._ishlnsubmul(b, qj, j);\n while (a.negative !== 0) {\n qj--;\n a.negative = 0;\n a._ishlnsubmul(b, 1, j);\n if (!a.isZero()) {\n a.negative ^= 1;\n }\n }\n if (q) {\n q.words[j] = qj;\n }\n }\n if (q) {\n q.strip();\n }\n a.strip();\n\n // Denormalize\n if (mode !== 'div' && shift !== 0) {\n a.iushrn(shift);\n }\n\n return {\n div: q || null,\n mod: a\n };\n };\n\n // NOTE: 1) `mode` can be set to `mod` to request mod only,\n // to `div` to request div only, or be absent to\n // request both div & mod\n // 2) `positive` is true if unsigned mod is requested\n BN.prototype.divmod = function divmod (num, mode, positive) {\n assert(!num.isZero());\n\n if (this.isZero()) {\n return {\n div: new BN(0),\n mod: new BN(0)\n };\n }\n\n var div, mod, res;\n if (this.negative !== 0 && num.negative === 0) {\n res = this.neg().divmod(num, mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.iadd(num);\n }\n }\n\n return {\n div: div,\n mod: mod\n };\n }\n\n if (this.negative === 0 && num.negative !== 0) {\n res = this.divmod(num.neg(), mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n return {\n div: div,\n mod: res.mod\n };\n }\n\n if ((this.negative & num.negative) !== 0) {\n res = this.neg().divmod(num.neg(), mode);\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.isub(num);\n }\n }\n\n return {\n div: res.div,\n mod: mod\n };\n }\n\n // Both numbers are positive at this point\n\n // Strip both numbers to approximate shift value\n if (num.length > this.length || this.cmp(num) < 0) {\n return {\n div: new BN(0),\n mod: this\n };\n }\n\n // Very short reduction\n if (num.length === 1) {\n if (mode === 'div') {\n return {\n div: this.divn(num.words[0]),\n mod: null\n };\n }\n\n if (mode === 'mod') {\n return {\n div: null,\n mod: new BN(this.modn(num.words[0]))\n };\n }\n\n return {\n div: this.divn(num.words[0]),\n mod: new BN(this.modn(num.words[0]))\n };\n }\n\n return this._wordDiv(num, mode);\n };\n\n // Find `this` / `num`\n BN.prototype.div = function div (num) {\n return this.divmod(num, 'div', false).div;\n };\n\n // Find `this` % `num`\n BN.prototype.mod = function mod (num) {\n return this.divmod(num, 'mod', false).mod;\n };\n\n BN.prototype.umod = function umod (num) {\n return this.divmod(num, 'mod', true).mod;\n };\n\n // Find Round(`this` / `num`)\n BN.prototype.divRound = function divRound (num) {\n var dm = this.divmod(num);\n\n // Fast case - exact division\n if (dm.mod.isZero()) return dm.div;\n\n var mod = dm.div.negative !== 0 ? dm.mod.isub(num) : dm.mod;\n\n var half = num.ushrn(1);\n var r2 = num.andln(1);\n var cmp = mod.cmp(half);\n\n // Round down\n if (cmp < 0 || r2 === 1 && cmp === 0) return dm.div;\n\n // Round up\n return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1);\n };\n\n BN.prototype.modn = function modn (num) {\n assert(num <= 0x3ffffff);\n var p = (1 << 26) % num;\n\n var acc = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n acc = (p * acc + (this.words[i] | 0)) % num;\n }\n\n return acc;\n };\n\n // In-place division by number\n BN.prototype.idivn = function idivn (num) {\n assert(num <= 0x3ffffff);\n\n var carry = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var w = (this.words[i] | 0) + carry * 0x4000000;\n this.words[i] = (w / num) | 0;\n carry = w % num;\n }\n\n return this.strip();\n };\n\n BN.prototype.divn = function divn (num) {\n return this.clone().idivn(num);\n };\n\n BN.prototype.egcd = function egcd (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var x = this;\n var y = p.clone();\n\n if (x.negative !== 0) {\n x = x.umod(p);\n } else {\n x = x.clone();\n }\n\n // A * x + B * y = x\n var A = new BN(1);\n var B = new BN(0);\n\n // C * x + D * y = y\n var C = new BN(0);\n var D = new BN(1);\n\n var g = 0;\n\n while (x.isEven() && y.isEven()) {\n x.iushrn(1);\n y.iushrn(1);\n ++g;\n }\n\n var yp = y.clone();\n var xp = x.clone();\n\n while (!x.isZero()) {\n for (var i = 0, im = 1; (x.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n x.iushrn(i);\n while (i-- > 0) {\n if (A.isOdd() || B.isOdd()) {\n A.iadd(yp);\n B.isub(xp);\n }\n\n A.iushrn(1);\n B.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n y.iushrn(j);\n while (j-- > 0) {\n if (C.isOdd() || D.isOdd()) {\n C.iadd(yp);\n D.isub(xp);\n }\n\n C.iushrn(1);\n D.iushrn(1);\n }\n }\n\n if (x.cmp(y) >= 0) {\n x.isub(y);\n A.isub(C);\n B.isub(D);\n } else {\n y.isub(x);\n C.isub(A);\n D.isub(B);\n }\n }\n\n return {\n a: C,\n b: D,\n gcd: y.iushln(g)\n };\n };\n\n // This is reduced incarnation of the binary EEA\n // above, designated to invert members of the\n // _prime_ fields F(p) at a maximal speed\n BN.prototype._invmp = function _invmp (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var a = this;\n var b = p.clone();\n\n if (a.negative !== 0) {\n a = a.umod(p);\n } else {\n a = a.clone();\n }\n\n var x1 = new BN(1);\n var x2 = new BN(0);\n\n var delta = b.clone();\n\n while (a.cmpn(1) > 0 && b.cmpn(1) > 0) {\n for (var i = 0, im = 1; (a.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n a.iushrn(i);\n while (i-- > 0) {\n if (x1.isOdd()) {\n x1.iadd(delta);\n }\n\n x1.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n b.iushrn(j);\n while (j-- > 0) {\n if (x2.isOdd()) {\n x2.iadd(delta);\n }\n\n x2.iushrn(1);\n }\n }\n\n if (a.cmp(b) >= 0) {\n a.isub(b);\n x1.isub(x2);\n } else {\n b.isub(a);\n x2.isub(x1);\n }\n }\n\n var res;\n if (a.cmpn(1) === 0) {\n res = x1;\n } else {\n res = x2;\n }\n\n if (res.cmpn(0) < 0) {\n res.iadd(p);\n }\n\n return res;\n };\n\n BN.prototype.gcd = function gcd (num) {\n if (this.isZero()) return num.abs();\n if (num.isZero()) return this.abs();\n\n var a = this.clone();\n var b = num.clone();\n a.negative = 0;\n b.negative = 0;\n\n // Remove common factor of two\n for (var shift = 0; a.isEven() && b.isEven(); shift++) {\n a.iushrn(1);\n b.iushrn(1);\n }\n\n do {\n while (a.isEven()) {\n a.iushrn(1);\n }\n while (b.isEven()) {\n b.iushrn(1);\n }\n\n var r = a.cmp(b);\n if (r < 0) {\n // Swap `a` and `b` to make `a` always bigger than `b`\n var t = a;\n a = b;\n b = t;\n } else if (r === 0 || b.cmpn(1) === 0) {\n break;\n }\n\n a.isub(b);\n } while (true);\n\n return b.iushln(shift);\n };\n\n // Invert number in the field F(num)\n BN.prototype.invm = function invm (num) {\n return this.egcd(num).a.umod(num);\n };\n\n BN.prototype.isEven = function isEven () {\n return (this.words[0] & 1) === 0;\n };\n\n BN.prototype.isOdd = function isOdd () {\n return (this.words[0] & 1) === 1;\n };\n\n // And first word and num\n BN.prototype.andln = function andln (num) {\n return this.words[0] & num;\n };\n\n // Increment at the bit position in-line\n BN.prototype.bincn = function bincn (bit) {\n assert(typeof bit === 'number');\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) {\n this._expand(s + 1);\n this.words[s] |= q;\n return this;\n }\n\n // Add bit and propagate, if needed\n var carry = q;\n for (var i = s; carry !== 0 && i < this.length; i++) {\n var w = this.words[i] | 0;\n w += carry;\n carry = w >>> 26;\n w &= 0x3ffffff;\n this.words[i] = w;\n }\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n return this;\n };\n\n BN.prototype.isZero = function isZero () {\n return this.length === 1 && this.words[0] === 0;\n };\n\n BN.prototype.cmpn = function cmpn (num) {\n var negative = num < 0;\n\n if (this.negative !== 0 && !negative) return -1;\n if (this.negative === 0 && negative) return 1;\n\n this.strip();\n\n var res;\n if (this.length > 1) {\n res = 1;\n } else {\n if (negative) {\n num = -num;\n }\n\n assert(num <= 0x3ffffff, 'Number is too big');\n\n var w = this.words[0] | 0;\n res = w === num ? 0 : w < num ? -1 : 1;\n }\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Compare two numbers and return:\n // 1 - if `this` > `num`\n // 0 - if `this` == `num`\n // -1 - if `this` < `num`\n BN.prototype.cmp = function cmp (num) {\n if (this.negative !== 0 && num.negative === 0) return -1;\n if (this.negative === 0 && num.negative !== 0) return 1;\n\n var res = this.ucmp(num);\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Unsigned comparison\n BN.prototype.ucmp = function ucmp (num) {\n // At this point both numbers have the same sign\n if (this.length > num.length) return 1;\n if (this.length < num.length) return -1;\n\n var res = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var a = this.words[i] | 0;\n var b = num.words[i] | 0;\n\n if (a === b) continue;\n if (a < b) {\n res = -1;\n } else if (a > b) {\n res = 1;\n }\n break;\n }\n return res;\n };\n\n BN.prototype.gtn = function gtn (num) {\n return this.cmpn(num) === 1;\n };\n\n BN.prototype.gt = function gt (num) {\n return this.cmp(num) === 1;\n };\n\n BN.prototype.gten = function gten (num) {\n return this.cmpn(num) >= 0;\n };\n\n BN.prototype.gte = function gte (num) {\n return this.cmp(num) >= 0;\n };\n\n BN.prototype.ltn = function ltn (num) {\n return this.cmpn(num) === -1;\n };\n\n BN.prototype.lt = function lt (num) {\n return this.cmp(num) === -1;\n };\n\n BN.prototype.lten = function lten (num) {\n return this.cmpn(num) <= 0;\n };\n\n BN.prototype.lte = function lte (num) {\n return this.cmp(num) <= 0;\n };\n\n BN.prototype.eqn = function eqn (num) {\n return this.cmpn(num) === 0;\n };\n\n BN.prototype.eq = function eq (num) {\n return this.cmp(num) === 0;\n };\n\n //\n // A reduce context, could be using montgomery or something better, depending\n // on the `m` itself.\n //\n BN.red = function red (num) {\n return new Red(num);\n };\n\n BN.prototype.toRed = function toRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n assert(this.negative === 0, 'red works only with positives');\n return ctx.convertTo(this)._forceRed(ctx);\n };\n\n BN.prototype.fromRed = function fromRed () {\n assert(this.red, 'fromRed works only with numbers in reduction context');\n return this.red.convertFrom(this);\n };\n\n BN.prototype._forceRed = function _forceRed (ctx) {\n this.red = ctx;\n return this;\n };\n\n BN.prototype.forceRed = function forceRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n return this._forceRed(ctx);\n };\n\n BN.prototype.redAdd = function redAdd (num) {\n assert(this.red, 'redAdd works only with red numbers');\n return this.red.add(this, num);\n };\n\n BN.prototype.redIAdd = function redIAdd (num) {\n assert(this.red, 'redIAdd works only with red numbers');\n return this.red.iadd(this, num);\n };\n\n BN.prototype.redSub = function redSub (num) {\n assert(this.red, 'redSub works only with red numbers');\n return this.red.sub(this, num);\n };\n\n BN.prototype.redISub = function redISub (num) {\n assert(this.red, 'redISub works only with red numbers');\n return this.red.isub(this, num);\n };\n\n BN.prototype.redShl = function redShl (num) {\n assert(this.red, 'redShl works only with red numbers');\n return this.red.shl(this, num);\n };\n\n BN.prototype.redMul = function redMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.mul(this, num);\n };\n\n BN.prototype.redIMul = function redIMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.imul(this, num);\n };\n\n BN.prototype.redSqr = function redSqr () {\n assert(this.red, 'redSqr works only with red numbers');\n this.red._verify1(this);\n return this.red.sqr(this);\n };\n\n BN.prototype.redISqr = function redISqr () {\n assert(this.red, 'redISqr works only with red numbers');\n this.red._verify1(this);\n return this.red.isqr(this);\n };\n\n // Square root over p\n BN.prototype.redSqrt = function redSqrt () {\n assert(this.red, 'redSqrt works only with red numbers');\n this.red._verify1(this);\n return this.red.sqrt(this);\n };\n\n BN.prototype.redInvm = function redInvm () {\n assert(this.red, 'redInvm works only with red numbers');\n this.red._verify1(this);\n return this.red.invm(this);\n };\n\n // Return negative clone of `this` % `red modulo`\n BN.prototype.redNeg = function redNeg () {\n assert(this.red, 'redNeg works only with red numbers');\n this.red._verify1(this);\n return this.red.neg(this);\n };\n\n BN.prototype.redPow = function redPow (num) {\n assert(this.red && !num.red, 'redPow(normalNum)');\n this.red._verify1(this);\n return this.red.pow(this, num);\n };\n\n // Prime numbers with efficient reduction\n var primes = {\n k256: null,\n p224: null,\n p192: null,\n p25519: null\n };\n\n // Pseudo-Mersenne prime\n function MPrime (name, p) {\n // P = 2 ^ N - K\n this.name = name;\n this.p = new BN(p, 16);\n this.n = this.p.bitLength();\n this.k = new BN(1).iushln(this.n).isub(this.p);\n\n this.tmp = this._tmp();\n }\n\n MPrime.prototype._tmp = function _tmp () {\n var tmp = new BN(null);\n tmp.words = new Array(Math.ceil(this.n / 13));\n return tmp;\n };\n\n MPrime.prototype.ireduce = function ireduce (num) {\n // Assumes that `num` is less than `P^2`\n // num = HI * (2 ^ N - K) + HI * K + LO = HI * K + LO (mod P)\n var r = num;\n var rlen;\n\n do {\n this.split(r, this.tmp);\n r = this.imulK(r);\n r = r.iadd(this.tmp);\n rlen = r.bitLength();\n } while (rlen > this.n);\n\n var cmp = rlen < this.n ? -1 : r.ucmp(this.p);\n if (cmp === 0) {\n r.words[0] = 0;\n r.length = 1;\n } else if (cmp > 0) {\n r.isub(this.p);\n } else {\n if (r.strip !== undefined) {\n // r is BN v4 instance\n r.strip();\n } else {\n // r is BN v5 instance\n r._strip();\n }\n }\n\n return r;\n };\n\n MPrime.prototype.split = function split (input, out) {\n input.iushrn(this.n, 0, out);\n };\n\n MPrime.prototype.imulK = function imulK (num) {\n return num.imul(this.k);\n };\n\n function K256 () {\n MPrime.call(\n this,\n 'k256',\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f');\n }\n inherits(K256, MPrime);\n\n K256.prototype.split = function split (input, output) {\n // 256 = 9 * 26 + 22\n var mask = 0x3fffff;\n\n var outLen = Math.min(input.length, 9);\n for (var i = 0; i < outLen; i++) {\n output.words[i] = input.words[i];\n }\n output.length = outLen;\n\n if (input.length <= 9) {\n input.words[0] = 0;\n input.length = 1;\n return;\n }\n\n // Shift by 9 limbs\n var prev = input.words[9];\n output.words[output.length++] = prev & mask;\n\n for (i = 10; i < input.length; i++) {\n var next = input.words[i] | 0;\n input.words[i - 10] = ((next & mask) << 4) | (prev >>> 22);\n prev = next;\n }\n prev >>>= 22;\n input.words[i - 10] = prev;\n if (prev === 0 && input.length > 10) {\n input.length -= 10;\n } else {\n input.length -= 9;\n }\n };\n\n K256.prototype.imulK = function imulK (num) {\n // K = 0x1000003d1 = [ 0x40, 0x3d1 ]\n num.words[num.length] = 0;\n num.words[num.length + 1] = 0;\n num.length += 2;\n\n // bounded at: 0x40 * 0x3ffffff + 0x3d0 = 0x100000390\n var lo = 0;\n for (var i = 0; i < num.length; i++) {\n var w = num.words[i] | 0;\n lo += w * 0x3d1;\n num.words[i] = lo & 0x3ffffff;\n lo = w * 0x40 + ((lo / 0x4000000) | 0);\n }\n\n // Fast length reduction\n if (num.words[num.length - 1] === 0) {\n num.length--;\n if (num.words[num.length - 1] === 0) {\n num.length--;\n }\n }\n return num;\n };\n\n function P224 () {\n MPrime.call(\n this,\n 'p224',\n 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001');\n }\n inherits(P224, MPrime);\n\n function P192 () {\n MPrime.call(\n this,\n 'p192',\n 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff');\n }\n inherits(P192, MPrime);\n\n function P25519 () {\n // 2 ^ 255 - 19\n MPrime.call(\n this,\n '25519',\n '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed');\n }\n inherits(P25519, MPrime);\n\n P25519.prototype.imulK = function imulK (num) {\n // K = 0x13\n var carry = 0;\n for (var i = 0; i < num.length; i++) {\n var hi = (num.words[i] | 0) * 0x13 + carry;\n var lo = hi & 0x3ffffff;\n hi >>>= 26;\n\n num.words[i] = lo;\n carry = hi;\n }\n if (carry !== 0) {\n num.words[num.length++] = carry;\n }\n return num;\n };\n\n // Exported mostly for testing purposes, use plain name instead\n BN._prime = function prime (name) {\n // Cached version of prime\n if (primes[name]) return primes[name];\n\n var prime;\n if (name === 'k256') {\n prime = new K256();\n } else if (name === 'p224') {\n prime = new P224();\n } else if (name === 'p192') {\n prime = new P192();\n } else if (name === 'p25519') {\n prime = new P25519();\n } else {\n throw new Error('Unknown prime ' + name);\n }\n primes[name] = prime;\n\n return prime;\n };\n\n //\n // Base reduction engine\n //\n function Red (m) {\n if (typeof m === 'string') {\n var prime = BN._prime(m);\n this.m = prime.p;\n this.prime = prime;\n } else {\n assert(m.gtn(1), 'modulus must be greater than 1');\n this.m = m;\n this.prime = null;\n }\n }\n\n Red.prototype._verify1 = function _verify1 (a) {\n assert(a.negative === 0, 'red works only with positives');\n assert(a.red, 'red works only with red numbers');\n };\n\n Red.prototype._verify2 = function _verify2 (a, b) {\n assert((a.negative | b.negative) === 0, 'red works only with positives');\n assert(a.red && a.red === b.red,\n 'red works only with red numbers');\n };\n\n Red.prototype.imod = function imod (a) {\n if (this.prime) return this.prime.ireduce(a)._forceRed(this);\n return a.umod(this.m)._forceRed(this);\n };\n\n Red.prototype.neg = function neg (a) {\n if (a.isZero()) {\n return a.clone();\n }\n\n return this.m.sub(a)._forceRed(this);\n };\n\n Red.prototype.add = function add (a, b) {\n this._verify2(a, b);\n\n var res = a.add(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.iadd = function iadd (a, b) {\n this._verify2(a, b);\n\n var res = a.iadd(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res;\n };\n\n Red.prototype.sub = function sub (a, b) {\n this._verify2(a, b);\n\n var res = a.sub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.isub = function isub (a, b) {\n this._verify2(a, b);\n\n var res = a.isub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res;\n };\n\n Red.prototype.shl = function shl (a, num) {\n this._verify1(a);\n return this.imod(a.ushln(num));\n };\n\n Red.prototype.imul = function imul (a, b) {\n this._verify2(a, b);\n return this.imod(a.imul(b));\n };\n\n Red.prototype.mul = function mul (a, b) {\n this._verify2(a, b);\n return this.imod(a.mul(b));\n };\n\n Red.prototype.isqr = function isqr (a) {\n return this.imul(a, a.clone());\n };\n\n Red.prototype.sqr = function sqr (a) {\n return this.mul(a, a);\n };\n\n Red.prototype.sqrt = function sqrt (a) {\n if (a.isZero()) return a.clone();\n\n var mod3 = this.m.andln(3);\n assert(mod3 % 2 === 1);\n\n // Fast case\n if (mod3 === 3) {\n var pow = this.m.add(new BN(1)).iushrn(2);\n return this.pow(a, pow);\n }\n\n // Tonelli-Shanks algorithm (Totally unoptimized and slow)\n //\n // Find Q and S, that Q * 2 ^ S = (P - 1)\n var q = this.m.subn(1);\n var s = 0;\n while (!q.isZero() && q.andln(1) === 0) {\n s++;\n q.iushrn(1);\n }\n assert(!q.isZero());\n\n var one = new BN(1).toRed(this);\n var nOne = one.redNeg();\n\n // Find quadratic non-residue\n // NOTE: Max is such because of generalized Riemann hypothesis.\n var lpow = this.m.subn(1).iushrn(1);\n var z = this.m.bitLength();\n z = new BN(2 * z * z).toRed(this);\n\n while (this.pow(z, lpow).cmp(nOne) !== 0) {\n z.redIAdd(nOne);\n }\n\n var c = this.pow(z, q);\n var r = this.pow(a, q.addn(1).iushrn(1));\n var t = this.pow(a, q);\n var m = s;\n while (t.cmp(one) !== 0) {\n var tmp = t;\n for (var i = 0; tmp.cmp(one) !== 0; i++) {\n tmp = tmp.redSqr();\n }\n assert(i < m);\n var b = this.pow(c, new BN(1).iushln(m - i - 1));\n\n r = r.redMul(b);\n c = b.redSqr();\n t = t.redMul(c);\n m = i;\n }\n\n return r;\n };\n\n Red.prototype.invm = function invm (a) {\n var inv = a._invmp(this.m);\n if (inv.negative !== 0) {\n inv.negative = 0;\n return this.imod(inv).redNeg();\n } else {\n return this.imod(inv);\n }\n };\n\n Red.prototype.pow = function pow (a, num) {\n if (num.isZero()) return new BN(1).toRed(this);\n if (num.cmpn(1) === 0) return a.clone();\n\n var windowSize = 4;\n var wnd = new Array(1 << windowSize);\n wnd[0] = new BN(1).toRed(this);\n wnd[1] = a;\n for (var i = 2; i < wnd.length; i++) {\n wnd[i] = this.mul(wnd[i - 1], a);\n }\n\n var res = wnd[0];\n var current = 0;\n var currentLen = 0;\n var start = num.bitLength() % 26;\n if (start === 0) {\n start = 26;\n }\n\n for (i = num.length - 1; i >= 0; i--) {\n var word = num.words[i];\n for (var j = start - 1; j >= 0; j--) {\n var bit = (word >> j) & 1;\n if (res !== wnd[0]) {\n res = this.sqr(res);\n }\n\n if (bit === 0 && current === 0) {\n currentLen = 0;\n continue;\n }\n\n current <<= 1;\n current |= bit;\n currentLen++;\n if (currentLen !== windowSize && (i !== 0 || j !== 0)) continue;\n\n res = this.mul(res, wnd[current]);\n currentLen = 0;\n current = 0;\n }\n start = 26;\n }\n\n return res;\n };\n\n Red.prototype.convertTo = function convertTo (num) {\n var r = num.umod(this.m);\n\n return r === num ? r.clone() : r;\n };\n\n Red.prototype.convertFrom = function convertFrom (num) {\n var res = num.clone();\n res.red = null;\n return res;\n };\n\n //\n // Montgomery method engine\n //\n\n BN.mont = function mont (num) {\n return new Mont(num);\n };\n\n function Mont (m) {\n Red.call(this, m);\n\n this.shift = this.m.bitLength();\n if (this.shift % 26 !== 0) {\n this.shift += 26 - (this.shift % 26);\n }\n\n this.r = new BN(1).iushln(this.shift);\n this.r2 = this.imod(this.r.sqr());\n this.rinv = this.r._invmp(this.m);\n\n this.minv = this.rinv.mul(this.r).isubn(1).div(this.m);\n this.minv = this.minv.umod(this.r);\n this.minv = this.r.sub(this.minv);\n }\n inherits(Mont, Red);\n\n Mont.prototype.convertTo = function convertTo (num) {\n return this.imod(num.ushln(this.shift));\n };\n\n Mont.prototype.convertFrom = function convertFrom (num) {\n var r = this.imod(num.mul(this.rinv));\n r.red = null;\n return r;\n };\n\n Mont.prototype.imul = function imul (a, b) {\n if (a.isZero() || b.isZero()) {\n a.words[0] = 0;\n a.length = 1;\n return a;\n }\n\n var t = a.imul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.mul = function mul (a, b) {\n if (a.isZero() || b.isZero()) return new BN(0)._forceRed(this);\n\n var t = a.mul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.invm = function invm (a) {\n // (AR)^-1 * R^2 = (A^-1 * R^-1) * R^2 = A^-1 * R\n var res = this.imod(a._invmp(this.m).mul(this.r2));\n return res._forceRed(this);\n };\n})(typeof module === 'undefined' || module, this);\n","var Buffer = require('safe-buffer').Buffer\nvar MD5 = require('md5.js')\n\n/* eslint-disable camelcase */\nfunction EVP_BytesToKey (password, salt, keyBits, ivLen) {\n if (!Buffer.isBuffer(password)) password = Buffer.from(password, 'binary')\n if (salt) {\n if (!Buffer.isBuffer(salt)) salt = Buffer.from(salt, 'binary')\n if (salt.length !== 8) throw new RangeError('salt should be Buffer with 8 byte length')\n }\n\n var keyLen = keyBits / 8\n var key = Buffer.alloc(keyLen)\n var iv = Buffer.alloc(ivLen || 0)\n var tmp = Buffer.alloc(0)\n\n while (keyLen > 0 || ivLen > 0) {\n var hash = new MD5()\n hash.update(tmp)\n hash.update(password)\n if (salt) hash.update(salt)\n tmp = hash.digest()\n\n var used = 0\n\n if (keyLen > 0) {\n var keyStart = key.length - keyLen\n used = Math.min(keyLen, tmp.length)\n tmp.copy(key, keyStart, 0, used)\n keyLen -= used\n }\n\n if (used < tmp.length && ivLen > 0) {\n var ivStart = iv.length - ivLen\n var length = Math.min(ivLen, tmp.length - used)\n tmp.copy(iv, ivStart, used, used + length)\n ivLen -= length\n }\n }\n\n tmp.fill(0)\n return { key: key, iv: iv }\n}\n\nmodule.exports = EVP_BytesToKey\n","/*\n * vim: expandtab shiftwidth=4 softtabstop=4\n */\n\nconst dav = {}\n\ndav._XML_CHAR_MAP = {\n '<': '<',\n '>': '>',\n '&': '&',\n '\"': '"',\n \"'\": '''\n};\n\ndav._escapeXml = function(s) {\n return s.replace(/[<>&\"']/g, function (ch) {\n return dav._XML_CHAR_MAP[ch];\n });\n};\n\ndav.Client = function(options) {\n var i;\n for(i in options) {\n this[i] = options[i];\n }\n\n};\n\ndav.Client.prototype = {\n\n baseUrl : null,\n\n userName : null,\n\n password : null,\n\n\n xmlNamespaces : {\n 'DAV:' : 'd'\n },\n\n /**\n * Generates a propFind request.\n *\n * @param {string} url Url to do the propfind request on\n * @param {Array} properties List of properties to retrieve.\n * @param {string} depth \"0\", \"1\" or \"infinity\"\n * @param {Object} [headers] headers\n * @return {Promise}\n */\n propFind : function(url, properties, depth, headers) {\n\n if(typeof depth === \"undefined\") {\n depth = '0';\n }\n\n // depth header must be a string, in case a number was passed in\n depth = '' + depth;\n\n headers = headers || {};\n\n headers['Depth'] = depth;\n headers['Content-Type'] = 'application/xml; charset=utf-8';\n\n var body =\n '\\n' +\n '\\n';\n\n for(var ii in properties) {\n if (!properties.hasOwnProperty(ii)) {\n continue;\n }\n\n var property = this.parseClarkNotation(properties[ii]);\n if (this.xmlNamespaces[property.namespace]) {\n body+=' <' + this.xmlNamespaces[property.namespace] + ':' + property.name + ' />\\n';\n } else {\n body+=' \\n';\n }\n\n }\n body+=' \\n';\n body+='';\n\n return this.request('PROPFIND', url, headers, body).then(\n function(result) {\n\n if (depth === '0') {\n return {\n status: result.status,\n body: result.body[0],\n xhr: result.xhr\n };\n } else {\n return {\n status: result.status,\n body: result.body,\n xhr: result.xhr\n };\n }\n\n }.bind(this)\n );\n\n },\n\n /**\n * Renders a \"d:set\" block for the given properties.\n *\n * @param {Object.} properties\n * @return {String} XML \"\" block\n */\n _renderPropSet: function(properties) {\n var body = ' \\n' +\n ' \\n';\n\n for(var ii in properties) {\n if (!properties.hasOwnProperty(ii)) {\n continue;\n }\n\n var property = this.parseClarkNotation(ii);\n var propName;\n var propValue = properties[ii];\n if (this.xmlNamespaces[property.namespace]) {\n propName = this.xmlNamespaces[property.namespace] + ':' + property.name;\n } else {\n propName = 'x:' + property.name + ' xmlns:x=\"' + property.namespace + '\"';\n }\n\n // FIXME: hard-coded for now until we allow properties to\n // specify whether to be escaped or not\n if (propName !== 'd:resourcetype') {\n propValue = dav._escapeXml(propValue);\n }\n body += ' <' + propName + '>' + propValue + '\\n';\n }\n body +=' \\n';\n body +=' \\n';\n return body;\n },\n\n /**\n * Generates a propPatch request.\n *\n * @param {string} url Url to do the proppatch request on\n * @param {Object.} properties List of properties to store.\n * @param {Object} [headers] headers\n * @return {Promise}\n */\n propPatch : function(url, properties, headers) {\n headers = headers || {};\n\n headers['Content-Type'] = 'application/xml; charset=utf-8';\n\n var body =\n '\\n' +\n '} [properties] list of properties to store.\n * @param {Object} [headers] headers\n * @return {Promise}\n */\n mkcol : function(url, properties, headers) {\n var body = '';\n headers = headers || {};\n headers['Content-Type'] = 'application/xml; charset=utf-8';\n\n if (properties) {\n body =\n '\\n' +\n ' 0) {\n var subNodes = [];\n // filter out text nodes\n for (var j = 0; j < propNode.childNodes.length; j++) {\n var node = propNode.childNodes[j];\n if (node.nodeType === 1) {\n subNodes.push(node);\n }\n }\n if (subNodes.length) {\n content = subNodes;\n }\n }\n\n return content || propNode.textContent || propNode.text || '';\n },\n\n /**\n * Parses a multi-status response body.\n *\n * @param {string} xmlBody\n * @param {Array}\n */\n parseMultiStatus : function(xmlBody) {\n\n var parser = new DOMParser();\n var doc = parser.parseFromString(xmlBody, \"application/xml\");\n\n var resolver = function(foo) {\n var ii;\n for(ii in this.xmlNamespaces) {\n if (this.xmlNamespaces[ii] === foo) {\n return ii;\n }\n }\n }.bind(this);\n\n var responseIterator = doc.evaluate('/d:multistatus/d:response', doc, resolver, XPathResult.ANY_TYPE, null);\n\n var result = [];\n var responseNode = responseIterator.iterateNext();\n\n while(responseNode) {\n\n var response = {\n href : null,\n propStat : []\n };\n\n response.href = doc.evaluate('string(d:href)', responseNode, resolver, XPathResult.ANY_TYPE, null).stringValue;\n\n var propStatIterator = doc.evaluate('d:propstat', responseNode, resolver, XPathResult.ANY_TYPE, null);\n var propStatNode = propStatIterator.iterateNext();\n\n while(propStatNode) {\n var propStat = {\n status : doc.evaluate('string(d:status)', propStatNode, resolver, XPathResult.ANY_TYPE, null).stringValue,\n properties : {},\n };\n\n var propIterator = doc.evaluate('d:prop/*', propStatNode, resolver, XPathResult.ANY_TYPE, null);\n\n var propNode = propIterator.iterateNext();\n while(propNode) {\n var content = this._parsePropNode(propNode);\n propStat.properties['{' + propNode.namespaceURI + '}' + propNode.localName] = content;\n propNode = propIterator.iterateNext();\n\n }\n response.propStat.push(propStat);\n propStatNode = propStatIterator.iterateNext();\n\n\n }\n\n result.push(response);\n responseNode = responseIterator.iterateNext();\n\n }\n\n return result;\n\n },\n\n /**\n * Takes a relative url, and maps it to an absolute url, using the baseUrl\n *\n * @param {string} url\n * @return {string}\n */\n resolveUrl : function(url) {\n\n // Note: this is rudamentary.. not sure yet if it handles every case.\n if (/^https?:\\/\\//i.test(url)) {\n // absolute\n return url;\n }\n\n var baseParts = this.parseUrl(this.baseUrl);\n if (url.charAt('/')) {\n // Url starts with a slash\n return baseParts.root + url;\n }\n\n // Url does not start with a slash, we need grab the base url right up until the last slash.\n var newUrl = baseParts.root + '/';\n if (baseParts.path.lastIndexOf('/')!==-1) {\n newUrl = newUrl = baseParts.path.subString(0, baseParts.path.lastIndexOf('/')) + '/';\n }\n newUrl+=url;\n return url;\n\n },\n\n /**\n * Parses a url and returns its individual components.\n *\n * @param {String} url\n * @return {Object}\n */\n parseUrl : function(url) {\n\n var parts = url.match(/^(?:([A-Za-z]+):)?(\\/{0,3})([0-9.\\-A-Za-z]+)(?::(\\d+))?(?:\\/([^?#]*))?(?:\\?([^#]*))?(?:#(.*))?$/);\n var result = {\n url : parts[0],\n scheme : parts[1],\n host : parts[3],\n port : parts[4],\n path : parts[5],\n query : parts[6],\n fragment : parts[7],\n };\n result.root =\n result.scheme + '://' +\n result.host +\n (result.port ? ':' + result.port : '');\n\n return result;\n\n },\n\n parseClarkNotation : function(propertyName) {\n\n var result = propertyName.match(/^{([^}]+)}(.*)$/);\n if (!result) {\n return;\n }\n\n return {\n name : result[2],\n namespace : result[1]\n };\n\n }\n\n};\n\nmodule.exports = {\n dav,\n Client: dav.Client,\n}\n","'use strict';\n\nexports.__esModule = true;\n// istanbul ignore next\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\n// istanbul ignore next\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }\n\nvar _handlebarsBase = require('./handlebars/base');\n\nvar base = _interopRequireWildcard(_handlebarsBase);\n\n// Each of these augment the Handlebars object. No need to setup here.\n// (This is done to easily share code between commonjs and browse envs)\n\nvar _handlebarsSafeString = require('./handlebars/safe-string');\n\nvar _handlebarsSafeString2 = _interopRequireDefault(_handlebarsSafeString);\n\nvar _handlebarsException = require('./handlebars/exception');\n\nvar _handlebarsException2 = _interopRequireDefault(_handlebarsException);\n\nvar _handlebarsUtils = require('./handlebars/utils');\n\nvar Utils = _interopRequireWildcard(_handlebarsUtils);\n\nvar _handlebarsRuntime = require('./handlebars/runtime');\n\nvar runtime = _interopRequireWildcard(_handlebarsRuntime);\n\nvar _handlebarsNoConflict = require('./handlebars/no-conflict');\n\nvar _handlebarsNoConflict2 = _interopRequireDefault(_handlebarsNoConflict);\n\n// For compatibility and usage outside of module systems, make the Handlebars object a namespace\nfunction create() {\n var hb = new base.HandlebarsEnvironment();\n\n Utils.extend(hb, base);\n hb.SafeString = _handlebarsSafeString2['default'];\n hb.Exception = _handlebarsException2['default'];\n hb.Utils = Utils;\n hb.escapeExpression = Utils.escapeExpression;\n\n hb.VM = runtime;\n hb.template = function (spec) {\n return runtime.template(spec, hb);\n };\n\n return hb;\n}\n\nvar inst = create();\ninst.create = create;\n\n_handlebarsNoConflict2['default'](inst);\n\ninst['default'] = inst;\n\nexports['default'] = inst;\nmodule.exports = exports['default'];\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9oYW5kbGViYXJzLnJ1bnRpbWUuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OEJBQXNCLG1CQUFtQjs7SUFBN0IsSUFBSTs7Ozs7b0NBSU8sMEJBQTBCOzs7O21DQUMzQix3QkFBd0I7Ozs7K0JBQ3ZCLG9CQUFvQjs7SUFBL0IsS0FBSzs7aUNBQ1Esc0JBQXNCOztJQUFuQyxPQUFPOztvQ0FFSSwwQkFBMEI7Ozs7O0FBR2pELFNBQVMsTUFBTSxHQUFHO0FBQ2hCLE1BQUksRUFBRSxHQUFHLElBQUksSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7O0FBRTFDLE9BQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ3ZCLElBQUUsQ0FBQyxVQUFVLG9DQUFhLENBQUM7QUFDM0IsSUFBRSxDQUFDLFNBQVMsbUNBQVksQ0FBQztBQUN6QixJQUFFLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztBQUNqQixJQUFFLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDLGdCQUFnQixDQUFDOztBQUU3QyxJQUFFLENBQUMsRUFBRSxHQUFHLE9BQU8sQ0FBQztBQUNoQixJQUFFLENBQUMsUUFBUSxHQUFHLFVBQVMsSUFBSSxFQUFFO0FBQzNCLFdBQU8sT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7R0FDbkMsQ0FBQzs7QUFFRixTQUFPLEVBQUUsQ0FBQztDQUNYOztBQUVELElBQUksSUFBSSxHQUFHLE1BQU0sRUFBRSxDQUFDO0FBQ3BCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDOztBQUVyQixrQ0FBVyxJQUFJLENBQUMsQ0FBQzs7QUFFakIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLElBQUksQ0FBQzs7cUJBRVIsSUFBSSIsImZpbGUiOiJoYW5kbGViYXJzLnJ1bnRpbWUuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBiYXNlIGZyb20gJy4vaGFuZGxlYmFycy9iYXNlJztcblxuLy8gRWFjaCBvZiB0aGVzZSBhdWdtZW50IHRoZSBIYW5kbGViYXJzIG9iamVjdC4gTm8gbmVlZCB0byBzZXR1cCBoZXJlLlxuLy8gKFRoaXMgaXMgZG9uZSB0byBlYXNpbHkgc2hhcmUgY29kZSBiZXR3ZWVuIGNvbW1vbmpzIGFuZCBicm93c2UgZW52cylcbmltcG9ydCBTYWZlU3RyaW5nIGZyb20gJy4vaGFuZGxlYmFycy9zYWZlLXN0cmluZyc7XG5pbXBvcnQgRXhjZXB0aW9uIGZyb20gJy4vaGFuZGxlYmFycy9leGNlcHRpb24nO1xuaW1wb3J0ICogYXMgVXRpbHMgZnJvbSAnLi9oYW5kbGViYXJzL3V0aWxzJztcbmltcG9ydCAqIGFzIHJ1bnRpbWUgZnJvbSAnLi9oYW5kbGViYXJzL3J1bnRpbWUnO1xuXG5pbXBvcnQgbm9Db25mbGljdCBmcm9tICcuL2hhbmRsZWJhcnMvbm8tY29uZmxpY3QnO1xuXG4vLyBGb3IgY29tcGF0aWJpbGl0eSBhbmQgdXNhZ2Ugb3V0c2lkZSBvZiBtb2R1bGUgc3lzdGVtcywgbWFrZSB0aGUgSGFuZGxlYmFycyBvYmplY3QgYSBuYW1lc3BhY2VcbmZ1bmN0aW9uIGNyZWF0ZSgpIHtcbiAgbGV0IGhiID0gbmV3IGJhc2UuSGFuZGxlYmFyc0Vudmlyb25tZW50KCk7XG5cbiAgVXRpbHMuZXh0ZW5kKGhiLCBiYXNlKTtcbiAgaGIuU2FmZVN0cmluZyA9IFNhZmVTdHJpbmc7XG4gIGhiLkV4Y2VwdGlvbiA9IEV4Y2VwdGlvbjtcbiAgaGIuVXRpbHMgPSBVdGlscztcbiAgaGIuZXNjYXBlRXhwcmVzc2lvbiA9IFV0aWxzLmVzY2FwZUV4cHJlc3Npb247XG5cbiAgaGIuVk0gPSBydW50aW1lO1xuICBoYi50ZW1wbGF0ZSA9IGZ1bmN0aW9uKHNwZWMpIHtcbiAgICByZXR1cm4gcnVudGltZS50ZW1wbGF0ZShzcGVjLCBoYik7XG4gIH07XG5cbiAgcmV0dXJuIGhiO1xufVxuXG5sZXQgaW5zdCA9IGNyZWF0ZSgpO1xuaW5zdC5jcmVhdGUgPSBjcmVhdGU7XG5cbm5vQ29uZmxpY3QoaW5zdCk7XG5cbmluc3RbJ2RlZmF1bHQnXSA9IGluc3Q7XG5cbmV4cG9ydCBkZWZhdWx0IGluc3Q7XG4iXX0=\n","'use strict';\n\nexports.__esModule = true;\nexports.HandlebarsEnvironment = HandlebarsEnvironment;\n// istanbul ignore next\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _utils = require('./utils');\n\nvar _exception = require('./exception');\n\nvar _exception2 = _interopRequireDefault(_exception);\n\nvar _helpers = require('./helpers');\n\nvar _decorators = require('./decorators');\n\nvar _logger = require('./logger');\n\nvar _logger2 = _interopRequireDefault(_logger);\n\nvar _internalProtoAccess = require('./internal/proto-access');\n\nvar VERSION = '4.7.9';\nexports.VERSION = VERSION;\nvar COMPILER_REVISION = 8;\nexports.COMPILER_REVISION = COMPILER_REVISION;\nvar LAST_COMPATIBLE_COMPILER_REVISION = 7;\n\nexports.LAST_COMPATIBLE_COMPILER_REVISION = LAST_COMPATIBLE_COMPILER_REVISION;\nvar REVISION_CHANGES = {\n 1: '<= 1.0.rc.2', // 1.0.rc.2 is actually rev2 but doesn't report it\n 2: '== 1.0.0-rc.3',\n 3: '== 1.0.0-rc.4',\n 4: '== 1.x.x',\n 5: '== 2.0.0-alpha.x',\n 6: '>= 2.0.0-beta.1',\n 7: '>= 4.0.0 <4.3.0',\n 8: '>= 4.3.0'\n};\n\nexports.REVISION_CHANGES = REVISION_CHANGES;\nvar objectType = '[object Object]';\n\nfunction HandlebarsEnvironment(helpers, partials, decorators) {\n this.helpers = helpers || {};\n this.partials = partials || {};\n this.decorators = decorators || {};\n\n _helpers.registerDefaultHelpers(this);\n _decorators.registerDefaultDecorators(this);\n}\n\nHandlebarsEnvironment.prototype = {\n constructor: HandlebarsEnvironment,\n\n logger: _logger2['default'],\n log: _logger2['default'].log,\n\n registerHelper: function registerHelper(name, fn) {\n if (_utils.toString.call(name) === objectType) {\n if (fn) {\n throw new _exception2['default']('Arg not supported with multiple helpers');\n }\n _utils.extend(this.helpers, name);\n } else {\n this.helpers[name] = fn;\n }\n },\n unregisterHelper: function unregisterHelper(name) {\n delete this.helpers[name];\n },\n\n registerPartial: function registerPartial(name, partial) {\n if (_utils.toString.call(name) === objectType) {\n _utils.extend(this.partials, name);\n } else {\n if (typeof partial === 'undefined') {\n throw new _exception2['default']('Attempting to register a partial called \"' + name + '\" as undefined');\n }\n this.partials[name] = partial;\n }\n },\n unregisterPartial: function unregisterPartial(name) {\n delete this.partials[name];\n },\n\n registerDecorator: function registerDecorator(name, fn) {\n if (_utils.toString.call(name) === objectType) {\n if (fn) {\n throw new _exception2['default']('Arg not supported with multiple decorators');\n }\n _utils.extend(this.decorators, name);\n } else {\n this.decorators[name] = fn;\n }\n },\n unregisterDecorator: function unregisterDecorator(name) {\n delete this.decorators[name];\n },\n /**\n * Reset the memory of illegal property accesses that have already been logged.\n * @deprecated should only be used in handlebars test-cases\n */\n resetLoggedPropertyAccesses: function resetLoggedPropertyAccesses() {\n _internalProtoAccess.resetLoggedProperties();\n }\n};\n\nvar log = _logger2['default'].log;\n\nexports.log = log;\nexports.createFrame = _utils.createFrame;\nexports.logger = _logger2['default'];\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2Jhc2UuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7cUJBQThDLFNBQVM7O3lCQUNqQyxhQUFhOzs7O3VCQUNJLFdBQVc7OzBCQUNSLGNBQWM7O3NCQUNyQyxVQUFVOzs7O21DQUNTLHlCQUF5Qjs7QUFFeEQsSUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDOztBQUN4QixJQUFNLGlCQUFpQixHQUFHLENBQUMsQ0FBQzs7QUFDNUIsSUFBTSxpQ0FBaUMsR0FBRyxDQUFDLENBQUM7OztBQUU1QyxJQUFNLGdCQUFnQixHQUFHO0FBQzlCLEdBQUMsRUFBRSxhQUFhO0FBQ2hCLEdBQUMsRUFBRSxlQUFlO0FBQ2xCLEdBQUMsRUFBRSxlQUFlO0FBQ2xCLEdBQUMsRUFBRSxVQUFVO0FBQ2IsR0FBQyxFQUFFLGtCQUFrQjtBQUNyQixHQUFDLEVBQUUsaUJBQWlCO0FBQ3BCLEdBQUMsRUFBRSxpQkFBaUI7QUFDcEIsR0FBQyxFQUFFLFVBQVU7Q0FDZCxDQUFDOzs7QUFFRixJQUFNLFVBQVUsR0FBRyxpQkFBaUIsQ0FBQzs7QUFFOUIsU0FBUyxxQkFBcUIsQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRTtBQUNuRSxNQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sSUFBSSxFQUFFLENBQUM7QUFDN0IsTUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLElBQUksRUFBRSxDQUFDO0FBQy9CLE1BQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxJQUFJLEVBQUUsQ0FBQzs7QUFFbkMsa0NBQXVCLElBQUksQ0FBQyxDQUFDO0FBQzdCLHdDQUEwQixJQUFJLENBQUMsQ0FBQztDQUNqQzs7QUFFRCxxQkFBcUIsQ0FBQyxTQUFTLEdBQUc7QUFDaEMsYUFBVyxFQUFFLHFCQUFxQjs7QUFFbEMsUUFBTSxxQkFBUTtBQUNkLEtBQUcsRUFBRSxvQkFBTyxHQUFHOztBQUVmLGdCQUFjLEVBQUUsd0JBQVMsSUFBSSxFQUFFLEVBQUUsRUFBRTtBQUNqQyxRQUFJLGdCQUFTLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxVQUFVLEVBQUU7QUFDdEMsVUFBSSxFQUFFLEVBQUU7QUFDTixjQUFNLDJCQUFjLHlDQUF5QyxDQUFDLENBQUM7T0FDaEU7QUFDRCxvQkFBTyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO0tBQzVCLE1BQU07QUFDTCxVQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztLQUN6QjtHQUNGO0FBQ0Qsa0JBQWdCLEVBQUUsMEJBQVMsSUFBSSxFQUFFO0FBQy9CLFdBQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztHQUMzQjs7QUFFRCxpQkFBZSxFQUFFLHlCQUFTLElBQUksRUFBRSxPQUFPLEVBQUU7QUFDdkMsUUFBSSxnQkFBUyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssVUFBVSxFQUFFO0FBQ3RDLG9CQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7S0FDN0IsTUFBTTtBQUNMLFVBQUksT0FBTyxPQUFPLEtBQUssV0FBVyxFQUFFO0FBQ2xDLGNBQU0seUVBQ3dDLElBQUksb0JBQ2pELENBQUM7T0FDSDtBQUNELFVBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsT0FBTyxDQUFDO0tBQy9CO0dBQ0Y7QUFDRCxtQkFBaUIsRUFBRSwyQkFBUyxJQUFJLEVBQUU7QUFDaEMsV0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO0dBQzVCOztBQUVELG1CQUFpQixFQUFFLDJCQUFTLElBQUksRUFBRSxFQUFFLEVBQUU7QUFDcEMsUUFBSSxnQkFBUyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssVUFBVSxFQUFFO0FBQ3RDLFVBQUksRUFBRSxFQUFFO0FBQ04sY0FBTSwyQkFBYyw0Q0FBNEMsQ0FBQyxDQUFDO09BQ25FO0FBQ0Qsb0JBQU8sSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQztLQUMvQixNQUFNO0FBQ0wsVUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7S0FDNUI7R0FDRjtBQUNELHFCQUFtQixFQUFFLDZCQUFTLElBQUksRUFBRTtBQUNsQyxXQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7R0FDOUI7Ozs7O0FBS0QsNkJBQTJCLEVBQUEsdUNBQUc7QUFDNUIsZ0RBQXVCLENBQUM7R0FDekI7Q0FDRixDQUFDOztBQUVLLElBQUksR0FBRyxHQUFHLG9CQUFPLEdBQUcsQ0FBQzs7O1FBRW5CLFdBQVc7UUFBRSxNQUFNIiwiZmlsZSI6ImJhc2UuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVGcmFtZSwgZXh0ZW5kLCB0b1N0cmluZyB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IEV4Y2VwdGlvbiBmcm9tICcuL2V4Y2VwdGlvbic7XG5pbXBvcnQgeyByZWdpc3RlckRlZmF1bHRIZWxwZXJzIH0gZnJvbSAnLi9oZWxwZXJzJztcbmltcG9ydCB7IHJlZ2lzdGVyRGVmYXVsdERlY29yYXRvcnMgfSBmcm9tICcuL2RlY29yYXRvcnMnO1xuaW1wb3J0IGxvZ2dlciBmcm9tICcuL2xvZ2dlcic7XG5pbXBvcnQgeyByZXNldExvZ2dlZFByb3BlcnRpZXMgfSBmcm9tICcuL2ludGVybmFsL3Byb3RvLWFjY2Vzcyc7XG5cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gJzQuNy45JztcbmV4cG9ydCBjb25zdCBDT01QSUxFUl9SRVZJU0lPTiA9IDg7XG5leHBvcnQgY29uc3QgTEFTVF9DT01QQVRJQkxFX0NPTVBJTEVSX1JFVklTSU9OID0gNztcblxuZXhwb3J0IGNvbnN0IFJFVklTSU9OX0NIQU5HRVMgPSB7XG4gIDE6ICc8PSAxLjAucmMuMicsIC8vIDEuMC5yYy4yIGlzIGFjdHVhbGx5IHJldjIgYnV0IGRvZXNuJ3QgcmVwb3J0IGl0XG4gIDI6ICc9PSAxLjAuMC1yYy4zJyxcbiAgMzogJz09IDEuMC4wLXJjLjQnLFxuICA0OiAnPT0gMS54LngnLFxuICA1OiAnPT0gMi4wLjAtYWxwaGEueCcsXG4gIDY6ICc+PSAyLjAuMC1iZXRhLjEnLFxuICA3OiAnPj0gNC4wLjAgPDQuMy4wJyxcbiAgODogJz49IDQuMy4wJ1xufTtcblxuY29uc3Qgb2JqZWN0VHlwZSA9ICdbb2JqZWN0IE9iamVjdF0nO1xuXG5leHBvcnQgZnVuY3Rpb24gSGFuZGxlYmFyc0Vudmlyb25tZW50KGhlbHBlcnMsIHBhcnRpYWxzLCBkZWNvcmF0b3JzKSB7XG4gIHRoaXMuaGVscGVycyA9IGhlbHBlcnMgfHwge307XG4gIHRoaXMucGFydGlhbHMgPSBwYXJ0aWFscyB8fCB7fTtcbiAgdGhpcy5kZWNvcmF0b3JzID0gZGVjb3JhdG9ycyB8fCB7fTtcblxuICByZWdpc3RlckRlZmF1bHRIZWxwZXJzKHRoaXMpO1xuICByZWdpc3RlckRlZmF1bHREZWNvcmF0b3JzKHRoaXMpO1xufVxuXG5IYW5kbGViYXJzRW52aXJvbm1lbnQucHJvdG90eXBlID0ge1xuICBjb25zdHJ1Y3RvcjogSGFuZGxlYmFyc0Vudmlyb25tZW50LFxuXG4gIGxvZ2dlcjogbG9nZ2VyLFxuICBsb2c6IGxvZ2dlci5sb2csXG5cbiAgcmVnaXN0ZXJIZWxwZXI6IGZ1bmN0aW9uKG5hbWUsIGZuKSB7XG4gICAgaWYgKHRvU3RyaW5nLmNhbGwobmFtZSkgPT09IG9iamVjdFR5cGUpIHtcbiAgICAgIGlmIChmbikge1xuICAgICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdBcmcgbm90IHN1cHBvcnRlZCB3aXRoIG11bHRpcGxlIGhlbHBlcnMnKTtcbiAgICAgIH1cbiAgICAgIGV4dGVuZCh0aGlzLmhlbHBlcnMsIG5hbWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmhlbHBlcnNbbmFtZV0gPSBmbjtcbiAgICB9XG4gIH0sXG4gIHVucmVnaXN0ZXJIZWxwZXI6IGZ1bmN0aW9uKG5hbWUpIHtcbiAgICBkZWxldGUgdGhpcy5oZWxwZXJzW25hbWVdO1xuICB9LFxuXG4gIHJlZ2lzdGVyUGFydGlhbDogZnVuY3Rpb24obmFtZSwgcGFydGlhbCkge1xuICAgIGlmICh0b1N0cmluZy5jYWxsKG5hbWUpID09PSBvYmplY3RUeXBlKSB7XG4gICAgICBleHRlbmQodGhpcy5wYXJ0aWFscywgbmFtZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0eXBlb2YgcGFydGlhbCA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbihcbiAgICAgICAgICBgQXR0ZW1wdGluZyB0byByZWdpc3RlciBhIHBhcnRpYWwgY2FsbGVkIFwiJHtuYW1lfVwiIGFzIHVuZGVmaW5lZGBcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIHRoaXMucGFydGlhbHNbbmFtZV0gPSBwYXJ0aWFsO1xuICAgIH1cbiAgfSxcbiAgdW5yZWdpc3RlclBhcnRpYWw6IGZ1bmN0aW9uKG5hbWUpIHtcbiAgICBkZWxldGUgdGhpcy5wYXJ0aWFsc1tuYW1lXTtcbiAgfSxcblxuICByZWdpc3RlckRlY29yYXRvcjogZnVuY3Rpb24obmFtZSwgZm4pIHtcbiAgICBpZiAodG9TdHJpbmcuY2FsbChuYW1lKSA9PT0gb2JqZWN0VHlwZSkge1xuICAgICAgaWYgKGZuKSB7XG4gICAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oJ0FyZyBub3Qgc3VwcG9ydGVkIHdpdGggbXVsdGlwbGUgZGVjb3JhdG9ycycpO1xuICAgICAgfVxuICAgICAgZXh0ZW5kKHRoaXMuZGVjb3JhdG9ycywgbmFtZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZGVjb3JhdG9yc1tuYW1lXSA9IGZuO1xuICAgIH1cbiAgfSxcbiAgdW5yZWdpc3RlckRlY29yYXRvcjogZnVuY3Rpb24obmFtZSkge1xuICAgIGRlbGV0ZSB0aGlzLmRlY29yYXRvcnNbbmFtZV07XG4gIH0sXG4gIC8qKlxuICAgKiBSZXNldCB0aGUgbWVtb3J5IG9mIGlsbGVnYWwgcHJvcGVydHkgYWNjZXNzZXMgdGhhdCBoYXZlIGFscmVhZHkgYmVlbiBsb2dnZWQuXG4gICAqIEBkZXByZWNhdGVkIHNob3VsZCBvbmx5IGJlIHVzZWQgaW4gaGFuZGxlYmFycyB0ZXN0LWNhc2VzXG4gICAqL1xuICByZXNldExvZ2dlZFByb3BlcnR5QWNjZXNzZXMoKSB7XG4gICAgcmVzZXRMb2dnZWRQcm9wZXJ0aWVzKCk7XG4gIH1cbn07XG5cbmV4cG9ydCBsZXQgbG9nID0gbG9nZ2VyLmxvZztcblxuZXhwb3J0IHsgY3JlYXRlRnJhbWUsIGxvZ2dlciB9O1xuIl19\n","'use strict';\n\nexports.__esModule = true;\nexports.registerDefaultDecorators = registerDefaultDecorators;\n// istanbul ignore next\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _decoratorsInline = require('./decorators/inline');\n\nvar _decoratorsInline2 = _interopRequireDefault(_decoratorsInline);\n\nfunction registerDefaultDecorators(instance) {\n _decoratorsInline2['default'](instance);\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2RlY29yYXRvcnMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Z0NBQTJCLHFCQUFxQjs7OztBQUV6QyxTQUFTLHlCQUF5QixDQUFDLFFBQVEsRUFBRTtBQUNsRCxnQ0FBZSxRQUFRLENBQUMsQ0FBQztDQUMxQiIsImZpbGUiOiJkZWNvcmF0b3JzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHJlZ2lzdGVySW5saW5lIGZyb20gJy4vZGVjb3JhdG9ycy9pbmxpbmUnO1xuXG5leHBvcnQgZnVuY3Rpb24gcmVnaXN0ZXJEZWZhdWx0RGVjb3JhdG9ycyhpbnN0YW5jZSkge1xuICByZWdpc3RlcklubGluZShpbnN0YW5jZSk7XG59XG4iXX0=\n","'use strict';\n\nexports.__esModule = true;\n\nvar _utils = require('../utils');\n\nexports['default'] = function (instance) {\n instance.registerDecorator('inline', function (fn, props, container, options) {\n var ret = fn;\n if (!props.partials) {\n props.partials = {};\n ret = function (context, options) {\n // Create a new partials stack frame prior to exec.\n var original = container.partials;\n container.partials = _utils.extend({}, original, props.partials);\n var ret = fn(context, options);\n container.partials = original;\n return ret;\n };\n }\n\n props.partials[options.args[0]] = options.fn;\n\n return ret;\n });\n};\n\nmodule.exports = exports['default'];\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2RlY29yYXRvcnMvaW5saW5lLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7cUJBQXVCLFVBQVU7O3FCQUVsQixVQUFTLFFBQVEsRUFBRTtBQUNoQyxVQUFRLENBQUMsaUJBQWlCLENBQUMsUUFBUSxFQUFFLFVBQVMsRUFBRSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFO0FBQzNFLFFBQUksR0FBRyxHQUFHLEVBQUUsQ0FBQztBQUNiLFFBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFO0FBQ25CLFdBQUssQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0FBQ3BCLFNBQUcsR0FBRyxVQUFTLE9BQU8sRUFBRSxPQUFPLEVBQUU7O0FBRS9CLFlBQUksUUFBUSxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUM7QUFDbEMsaUJBQVMsQ0FBQyxRQUFRLEdBQUcsY0FBTyxFQUFFLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUMxRCxZQUFJLEdBQUcsR0FBRyxFQUFFLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQy9CLGlCQUFTLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztBQUM5QixlQUFPLEdBQUcsQ0FBQztPQUNaLENBQUM7S0FDSDs7QUFFRCxTQUFLLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUMsRUFBRSxDQUFDOztBQUU3QyxXQUFPLEdBQUcsQ0FBQztHQUNaLENBQUMsQ0FBQztDQUNKIiwiZmlsZSI6ImlubGluZS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGV4dGVuZCB9IGZyb20gJy4uL3V0aWxzJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24oaW5zdGFuY2UpIHtcbiAgaW5zdGFuY2UucmVnaXN0ZXJEZWNvcmF0b3IoJ2lubGluZScsIGZ1bmN0aW9uKGZuLCBwcm9wcywgY29udGFpbmVyLCBvcHRpb25zKSB7XG4gICAgbGV0IHJldCA9IGZuO1xuICAgIGlmICghcHJvcHMucGFydGlhbHMpIHtcbiAgICAgIHByb3BzLnBhcnRpYWxzID0ge307XG4gICAgICByZXQgPSBmdW5jdGlvbihjb250ZXh0LCBvcHRpb25zKSB7XG4gICAgICAgIC8vIENyZWF0ZSBhIG5ldyBwYXJ0aWFscyBzdGFjayBmcmFtZSBwcmlvciB0byBleGVjLlxuICAgICAgICBsZXQgb3JpZ2luYWwgPSBjb250YWluZXIucGFydGlhbHM7XG4gICAgICAgIGNvbnRhaW5lci5wYXJ0aWFscyA9IGV4dGVuZCh7fSwgb3JpZ2luYWwsIHByb3BzLnBhcnRpYWxzKTtcbiAgICAgICAgbGV0IHJldCA9IGZuKGNvbnRleHQsIG9wdGlvbnMpO1xuICAgICAgICBjb250YWluZXIucGFydGlhbHMgPSBvcmlnaW5hbDtcbiAgICAgICAgcmV0dXJuIHJldDtcbiAgICAgIH07XG4gICAgfVxuXG4gICAgcHJvcHMucGFydGlhbHNbb3B0aW9ucy5hcmdzWzBdXSA9IG9wdGlvbnMuZm47XG5cbiAgICByZXR1cm4gcmV0O1xuICB9KTtcbn1cbiJdfQ==\n","'use strict';\n\nexports.__esModule = true;\nvar errorProps = ['description', 'fileName', 'lineNumber', 'endLineNumber', 'message', 'name', 'number', 'stack'];\n\nfunction Exception(message, node) {\n var loc = node && node.loc,\n line = undefined,\n endLineNumber = undefined,\n column = undefined,\n endColumn = undefined;\n\n if (loc) {\n line = loc.start.line;\n endLineNumber = loc.end.line;\n column = loc.start.column;\n endColumn = loc.end.column;\n\n message += ' - ' + line + ':' + column;\n }\n\n var tmp = Error.prototype.constructor.call(this, message);\n\n // Unfortunately errors are not enumerable in Chrome (at least), so `for prop in tmp` doesn't work.\n for (var idx = 0; idx < errorProps.length; idx++) {\n this[errorProps[idx]] = tmp[errorProps[idx]];\n }\n\n /* istanbul ignore else */\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, Exception);\n }\n\n try {\n if (loc) {\n this.lineNumber = line;\n this.endLineNumber = endLineNumber;\n\n // Work around issue under safari where we can't directly set the column value\n /* istanbul ignore next */\n if (Object.defineProperty) {\n Object.defineProperty(this, 'column', {\n value: column,\n enumerable: true\n });\n Object.defineProperty(this, 'endColumn', {\n value: endColumn,\n enumerable: true\n });\n } else {\n this.column = column;\n this.endColumn = endColumn;\n }\n }\n } catch (nop) {\n /* Ignore if the browser is very particular */\n }\n}\n\nException.prototype = new Error();\n\nexports['default'] = Exception;\nmodule.exports = exports['default'];\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2V4Y2VwdGlvbi5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxJQUFNLFVBQVUsR0FBRyxDQUNqQixhQUFhLEVBQ2IsVUFBVSxFQUNWLFlBQVksRUFDWixlQUFlLEVBQ2YsU0FBUyxFQUNULE1BQU0sRUFDTixRQUFRLEVBQ1IsT0FBTyxDQUNSLENBQUM7O0FBRUYsU0FBUyxTQUFTLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRTtBQUNoQyxNQUFJLEdBQUcsR0FBRyxJQUFJLElBQUksSUFBSSxDQUFDLEdBQUc7TUFDeEIsSUFBSSxZQUFBO01BQ0osYUFBYSxZQUFBO01BQ2IsTUFBTSxZQUFBO01BQ04sU0FBUyxZQUFBLENBQUM7O0FBRVosTUFBSSxHQUFHLEVBQUU7QUFDUCxRQUFJLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7QUFDdEIsaUJBQWEsR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQztBQUM3QixVQUFNLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7QUFDMUIsYUFBUyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDOztBQUUzQixXQUFPLElBQUksS0FBSyxHQUFHLElBQUksR0FBRyxHQUFHLEdBQUcsTUFBTSxDQUFDO0dBQ3hDOztBQUVELE1BQUksR0FBRyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7OztBQUcxRCxPQUFLLElBQUksR0FBRyxHQUFHLENBQUMsRUFBRSxHQUFHLEdBQUcsVUFBVSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsRUFBRTtBQUNoRCxRQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0dBQzlDOzs7QUFHRCxNQUFJLEtBQUssQ0FBQyxpQkFBaUIsRUFBRTtBQUMzQixTQUFLLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0dBQzFDOztBQUVELE1BQUk7QUFDRixRQUFJLEdBQUcsRUFBRTtBQUNQLFVBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO0FBQ3ZCLFVBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDOzs7O0FBSW5DLFVBQUksTUFBTSxDQUFDLGNBQWMsRUFBRTtBQUN6QixjQUFNLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUU7QUFDcEMsZUFBSyxFQUFFLE1BQU07QUFDYixvQkFBVSxFQUFFLElBQUk7U0FDakIsQ0FBQyxDQUFDO0FBQ0gsY0FBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFO0FBQ3ZDLGVBQUssRUFBRSxTQUFTO0FBQ2hCLG9CQUFVLEVBQUUsSUFBSTtTQUNqQixDQUFDLENBQUM7T0FDSixNQUFNO0FBQ0wsWUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7QUFDckIsWUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7T0FDNUI7S0FDRjtHQUNGLENBQUMsT0FBTyxHQUFHLEVBQUU7O0dBRWI7Q0FDRjs7QUFFRCxTQUFTLENBQUMsU0FBUyxHQUFHLElBQUksS0FBSyxFQUFFLENBQUM7O3FCQUVuQixTQUFTIiwiZmlsZSI6ImV4Y2VwdGlvbi5qcyIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IGVycm9yUHJvcHMgPSBbXG4gICdkZXNjcmlwdGlvbicsXG4gICdmaWxlTmFtZScsXG4gICdsaW5lTnVtYmVyJyxcbiAgJ2VuZExpbmVOdW1iZXInLFxuICAnbWVzc2FnZScsXG4gICduYW1lJyxcbiAgJ251bWJlcicsXG4gICdzdGFjaydcbl07XG5cbmZ1bmN0aW9uIEV4Y2VwdGlvbihtZXNzYWdlLCBub2RlKSB7XG4gIGxldCBsb2MgPSBub2RlICYmIG5vZGUubG9jLFxuICAgIGxpbmUsXG4gICAgZW5kTGluZU51bWJlcixcbiAgICBjb2x1bW4sXG4gICAgZW5kQ29sdW1uO1xuXG4gIGlmIChsb2MpIHtcbiAgICBsaW5lID0gbG9jLnN0YXJ0LmxpbmU7XG4gICAgZW5kTGluZU51bWJlciA9IGxvYy5lbmQubGluZTtcbiAgICBjb2x1bW4gPSBsb2Muc3RhcnQuY29sdW1uO1xuICAgIGVuZENvbHVtbiA9IGxvYy5lbmQuY29sdW1uO1xuXG4gICAgbWVzc2FnZSArPSAnIC0gJyArIGxpbmUgKyAnOicgKyBjb2x1bW47XG4gIH1cblxuICBsZXQgdG1wID0gRXJyb3IucHJvdG90eXBlLmNvbnN0cnVjdG9yLmNhbGwodGhpcywgbWVzc2FnZSk7XG5cbiAgLy8gVW5mb3J0dW5hdGVseSBlcnJvcnMgYXJlIG5vdCBlbnVtZXJhYmxlIGluIENocm9tZSAoYXQgbGVhc3QpLCBzbyBgZm9yIHByb3AgaW4gdG1wYCBkb2Vzbid0IHdvcmsuXG4gIGZvciAobGV0IGlkeCA9IDA7IGlkeCA8IGVycm9yUHJvcHMubGVuZ3RoOyBpZHgrKykge1xuICAgIHRoaXNbZXJyb3JQcm9wc1tpZHhdXSA9IHRtcFtlcnJvclByb3BzW2lkeF1dO1xuICB9XG5cbiAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgaWYgKEVycm9yLmNhcHR1cmVTdGFja1RyYWNlKSB7XG4gICAgRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UodGhpcywgRXhjZXB0aW9uKTtcbiAgfVxuXG4gIHRyeSB7XG4gICAgaWYgKGxvYykge1xuICAgICAgdGhpcy5saW5lTnVtYmVyID0gbGluZTtcbiAgICAgIHRoaXMuZW5kTGluZU51bWJlciA9IGVuZExpbmVOdW1iZXI7XG5cbiAgICAgIC8vIFdvcmsgYXJvdW5kIGlzc3VlIHVuZGVyIHNhZmFyaSB3aGVyZSB3ZSBjYW4ndCBkaXJlY3RseSBzZXQgdGhlIGNvbHVtbiB2YWx1ZVxuICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgIGlmIChPYmplY3QuZGVmaW5lUHJvcGVydHkpIHtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsICdjb2x1bW4nLCB7XG4gICAgICAgICAgdmFsdWU6IGNvbHVtbixcbiAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgJ2VuZENvbHVtbicsIHtcbiAgICAgICAgICB2YWx1ZTogZW5kQ29sdW1uLFxuICAgICAgICAgIGVudW1lcmFibGU6IHRydWVcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmNvbHVtbiA9IGNvbHVtbjtcbiAgICAgICAgdGhpcy5lbmRDb2x1bW4gPSBlbmRDb2x1bW47XG4gICAgICB9XG4gICAgfVxuICB9IGNhdGNoIChub3ApIHtcbiAgICAvKiBJZ25vcmUgaWYgdGhlIGJyb3dzZXIgaXMgdmVyeSBwYXJ0aWN1bGFyICovXG4gIH1cbn1cblxuRXhjZXB0aW9uLnByb3RvdHlwZSA9IG5ldyBFcnJvcigpO1xuXG5leHBvcnQgZGVmYXVsdCBFeGNlcHRpb247XG4iXX0=\n","'use strict';\n\nexports.__esModule = true;\nexports.registerDefaultHelpers = registerDefaultHelpers;\nexports.moveHelperToHooks = moveHelperToHooks;\n// istanbul ignore next\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _helpersBlockHelperMissing = require('./helpers/block-helper-missing');\n\nvar _helpersBlockHelperMissing2 = _interopRequireDefault(_helpersBlockHelperMissing);\n\nvar _helpersEach = require('./helpers/each');\n\nvar _helpersEach2 = _interopRequireDefault(_helpersEach);\n\nvar _helpersHelperMissing = require('./helpers/helper-missing');\n\nvar _helpersHelperMissing2 = _interopRequireDefault(_helpersHelperMissing);\n\nvar _helpersIf = require('./helpers/if');\n\nvar _helpersIf2 = _interopRequireDefault(_helpersIf);\n\nvar _helpersLog = require('./helpers/log');\n\nvar _helpersLog2 = _interopRequireDefault(_helpersLog);\n\nvar _helpersLookup = require('./helpers/lookup');\n\nvar _helpersLookup2 = _interopRequireDefault(_helpersLookup);\n\nvar _helpersWith = require('./helpers/with');\n\nvar _helpersWith2 = _interopRequireDefault(_helpersWith);\n\nfunction registerDefaultHelpers(instance) {\n _helpersBlockHelperMissing2['default'](instance);\n _helpersEach2['default'](instance);\n _helpersHelperMissing2['default'](instance);\n _helpersIf2['default'](instance);\n _helpersLog2['default'](instance);\n _helpersLookup2['default'](instance);\n _helpersWith2['default'](instance);\n}\n\nfunction moveHelperToHooks(instance, helperName, keepHelper) {\n if (instance.helpers[helperName]) {\n instance.hooks[helperName] = instance.helpers[helperName];\n if (!keepHelper) {\n // Using delete is slow\n instance.helpers[helperName] = undefined;\n }\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2hlbHBlcnMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O3lDQUF1QyxnQ0FBZ0M7Ozs7MkJBQzlDLGdCQUFnQjs7OztvQ0FDUCwwQkFBMEI7Ozs7eUJBQ3JDLGNBQWM7Ozs7MEJBQ2IsZUFBZTs7Ozs2QkFDWixrQkFBa0I7Ozs7MkJBQ3BCLGdCQUFnQjs7OztBQUVsQyxTQUFTLHNCQUFzQixDQUFDLFFBQVEsRUFBRTtBQUMvQyx5Q0FBMkIsUUFBUSxDQUFDLENBQUM7QUFDckMsMkJBQWEsUUFBUSxDQUFDLENBQUM7QUFDdkIsb0NBQXNCLFFBQVEsQ0FBQyxDQUFDO0FBQ2hDLHlCQUFXLFFBQVEsQ0FBQyxDQUFDO0FBQ3JCLDBCQUFZLFFBQVEsQ0FBQyxDQUFDO0FBQ3RCLDZCQUFlLFFBQVEsQ0FBQyxDQUFDO0FBQ3pCLDJCQUFhLFFBQVEsQ0FBQyxDQUFDO0NBQ3hCOztBQUVNLFNBQVMsaUJBQWlCLENBQUMsUUFBUSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUU7QUFDbEUsTUFBSSxRQUFRLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxFQUFFO0FBQ2hDLFlBQVEsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUMxRCxRQUFJLENBQUMsVUFBVSxFQUFFOztBQUVmLGNBQVEsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEdBQUcsU0FBUyxDQUFDO0tBQzFDO0dBQ0Y7Q0FDRiIsImZpbGUiOiJoZWxwZXJzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHJlZ2lzdGVyQmxvY2tIZWxwZXJNaXNzaW5nIGZyb20gJy4vaGVscGVycy9ibG9jay1oZWxwZXItbWlzc2luZyc7XG5pbXBvcnQgcmVnaXN0ZXJFYWNoIGZyb20gJy4vaGVscGVycy9lYWNoJztcbmltcG9ydCByZWdpc3RlckhlbHBlck1pc3NpbmcgZnJvbSAnLi9oZWxwZXJzL2hlbHBlci1taXNzaW5nJztcbmltcG9ydCByZWdpc3RlcklmIGZyb20gJy4vaGVscGVycy9pZic7XG5pbXBvcnQgcmVnaXN0ZXJMb2cgZnJvbSAnLi9oZWxwZXJzL2xvZyc7XG5pbXBvcnQgcmVnaXN0ZXJMb29rdXAgZnJvbSAnLi9oZWxwZXJzL2xvb2t1cCc7XG5pbXBvcnQgcmVnaXN0ZXJXaXRoIGZyb20gJy4vaGVscGVycy93aXRoJztcblxuZXhwb3J0IGZ1bmN0aW9uIHJlZ2lzdGVyRGVmYXVsdEhlbHBlcnMoaW5zdGFuY2UpIHtcbiAgcmVnaXN0ZXJCbG9ja0hlbHBlck1pc3NpbmcoaW5zdGFuY2UpO1xuICByZWdpc3RlckVhY2goaW5zdGFuY2UpO1xuICByZWdpc3RlckhlbHBlck1pc3NpbmcoaW5zdGFuY2UpO1xuICByZWdpc3RlcklmKGluc3RhbmNlKTtcbiAgcmVnaXN0ZXJMb2coaW5zdGFuY2UpO1xuICByZWdpc3Rlckxvb2t1cChpbnN0YW5jZSk7XG4gIHJlZ2lzdGVyV2l0aChpbnN0YW5jZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtb3ZlSGVscGVyVG9Ib29rcyhpbnN0YW5jZSwgaGVscGVyTmFtZSwga2VlcEhlbHBlcikge1xuICBpZiAoaW5zdGFuY2UuaGVscGVyc1toZWxwZXJOYW1lXSkge1xuICAgIGluc3RhbmNlLmhvb2tzW2hlbHBlck5hbWVdID0gaW5zdGFuY2UuaGVscGVyc1toZWxwZXJOYW1lXTtcbiAgICBpZiAoIWtlZXBIZWxwZXIpIHtcbiAgICAgIC8vIFVzaW5nIGRlbGV0ZSBpcyBzbG93XG4gICAgICBpbnN0YW5jZS5oZWxwZXJzW2hlbHBlck5hbWVdID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxufVxuIl19\n","'use strict';\n\nexports.__esModule = true;\n\nvar _utils = require('../utils');\n\nexports['default'] = function (instance) {\n instance.registerHelper('blockHelperMissing', function (context, options) {\n var inverse = options.inverse,\n fn = options.fn;\n\n if (context === true) {\n return fn(this);\n } else if (context === false || context == null) {\n return inverse(this);\n } else if (_utils.isArray(context)) {\n if (context.length > 0) {\n if (options.ids) {\n options.ids = [options.name];\n }\n\n return instance.helpers.each(context, options);\n } else {\n return inverse(this);\n }\n } else {\n if (options.data && options.ids) {\n var data = _utils.createFrame(options.data);\n data.contextPath = _utils.appendContextPath(options.data.contextPath, options.name);\n options = { data: data };\n }\n\n return fn(context, options);\n }\n });\n};\n\nmodule.exports = exports['default'];\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2hlbHBlcnMvYmxvY2staGVscGVyLW1pc3NpbmcuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztxQkFBd0QsVUFBVTs7cUJBRW5ELFVBQVMsUUFBUSxFQUFFO0FBQ2hDLFVBQVEsQ0FBQyxjQUFjLENBQUMsb0JBQW9CLEVBQUUsVUFBUyxPQUFPLEVBQUUsT0FBTyxFQUFFO0FBQ3ZFLFFBQUksT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPO1FBQzNCLEVBQUUsR0FBRyxPQUFPLENBQUMsRUFBRSxDQUFDOztBQUVsQixRQUFJLE9BQU8sS0FBSyxJQUFJLEVBQUU7QUFDcEIsYUFBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDakIsTUFBTSxJQUFJLE9BQU8sS0FBSyxLQUFLLElBQUksT0FBTyxJQUFJLElBQUksRUFBRTtBQUMvQyxhQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztLQUN0QixNQUFNLElBQUksZUFBUSxPQUFPLENBQUMsRUFBRTtBQUMzQixVQUFJLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO0FBQ3RCLFlBQUksT0FBTyxDQUFDLEdBQUcsRUFBRTtBQUNmLGlCQUFPLENBQUMsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzlCOztBQUVELGVBQU8sUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO09BQ2hELE1BQU07QUFDTCxlQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztPQUN0QjtLQUNGLE1BQU07QUFDTCxVQUFJLE9BQU8sQ0FBQyxJQUFJLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRTtBQUMvQixZQUFJLElBQUksR0FBRyxtQkFBWSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDckMsWUFBSSxDQUFDLFdBQVcsR0FBRyx5QkFDakIsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQ3hCLE9BQU8sQ0FBQyxJQUFJLENBQ2IsQ0FBQztBQUNGLGVBQU8sR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQztPQUMxQjs7QUFFRCxhQUFPLEVBQUUsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7S0FDN0I7R0FDRixDQUFDLENBQUM7Q0FDSiIsImZpbGUiOiJibG9jay1oZWxwZXItbWlzc2luZy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFwcGVuZENvbnRleHRQYXRoLCBjcmVhdGVGcmFtZSwgaXNBcnJheSB9IGZyb20gJy4uL3V0aWxzJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24oaW5zdGFuY2UpIHtcbiAgaW5zdGFuY2UucmVnaXN0ZXJIZWxwZXIoJ2Jsb2NrSGVscGVyTWlzc2luZycsIGZ1bmN0aW9uKGNvbnRleHQsIG9wdGlvbnMpIHtcbiAgICBsZXQgaW52ZXJzZSA9IG9wdGlvbnMuaW52ZXJzZSxcbiAgICAgIGZuID0gb3B0aW9ucy5mbjtcblxuICAgIGlmIChjb250ZXh0ID09PSB0cnVlKSB7XG4gICAgICByZXR1cm4gZm4odGhpcyk7XG4gICAgfSBlbHNlIGlmIChjb250ZXh0ID09PSBmYWxzZSB8fCBjb250ZXh0ID09IG51bGwpIHtcbiAgICAgIHJldHVybiBpbnZlcnNlKHRoaXMpO1xuICAgIH0gZWxzZSBpZiAoaXNBcnJheShjb250ZXh0KSkge1xuICAgICAgaWYgKGNvbnRleHQubGVuZ3RoID4gMCkge1xuICAgICAgICBpZiAob3B0aW9ucy5pZHMpIHtcbiAgICAgICAgICBvcHRpb25zLmlkcyA9IFtvcHRpb25zLm5hbWVdO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGluc3RhbmNlLmhlbHBlcnMuZWFjaChjb250ZXh0LCBvcHRpb25zKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBpbnZlcnNlKHRoaXMpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAob3B0aW9ucy5kYXRhICYmIG9wdGlvbnMuaWRzKSB7XG4gICAgICAgIGxldCBkYXRhID0gY3JlYXRlRnJhbWUob3B0aW9ucy5kYXRhKTtcbiAgICAgICAgZGF0YS5jb250ZXh0UGF0aCA9IGFwcGVuZENvbnRleHRQYXRoKFxuICAgICAgICAgIG9wdGlvbnMuZGF0YS5jb250ZXh0UGF0aCxcbiAgICAgICAgICBvcHRpb25zLm5hbWVcbiAgICAgICAgKTtcbiAgICAgICAgb3B0aW9ucyA9IHsgZGF0YTogZGF0YSB9O1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gZm4oY29udGV4dCwgb3B0aW9ucyk7XG4gICAgfVxuICB9KTtcbn1cbiJdfQ==\n","'use strict';\n\nexports.__esModule = true;\n// istanbul ignore next\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _utils = require('../utils');\n\nvar _exception = require('../exception');\n\nvar _exception2 = _interopRequireDefault(_exception);\n\nexports['default'] = function (instance) {\n instance.registerHelper('each', function (context, options) {\n if (!options) {\n throw new _exception2['default']('Must pass iterator to #each');\n }\n\n var fn = options.fn,\n inverse = options.inverse,\n i = 0,\n ret = '',\n data = undefined,\n contextPath = undefined;\n\n if (options.data && options.ids) {\n contextPath = _utils.appendContextPath(options.data.contextPath, options.ids[0]) + '.';\n }\n\n if (_utils.isFunction(context)) {\n context = context.call(this);\n }\n\n if (options.data) {\n data = _utils.createFrame(options.data);\n }\n\n function execIteration(field, index, last) {\n if (data) {\n data.key = field;\n data.index = index;\n data.first = index === 0;\n data.last = !!last;\n\n if (contextPath) {\n data.contextPath = contextPath + field;\n }\n }\n\n ret = ret + fn(context[field], {\n data: data,\n blockParams: _utils.blockParams([context[field], field], [contextPath + field, null])\n });\n }\n\n if (context && typeof context === 'object') {\n if (_utils.isArray(context)) {\n for (var j = context.length; i < j; i++) {\n if (i in context) {\n execIteration(i, i, i === context.length - 1);\n }\n }\n } else if (typeof Symbol === 'function' && context[Symbol.iterator]) {\n var newContext = [];\n var iterator = context[Symbol.iterator]();\n for (var it = iterator.next(); !it.done; it = iterator.next()) {\n newContext.push(it.value);\n }\n context = newContext;\n for (var j = context.length; i < j; i++) {\n execIteration(i, i, i === context.length - 1);\n }\n } else {\n (function () {\n var priorKey = undefined;\n\n Object.keys(context).forEach(function (key) {\n // We're running the iterations one step out of sync so we can detect\n // the last iteration without have to scan the object twice and create\n // an itermediate keys array.\n if (priorKey !== undefined) {\n execIteration(priorKey, i - 1);\n }\n priorKey = key;\n i++;\n });\n if (priorKey !== undefined) {\n execIteration(priorKey, i - 1, true);\n }\n })();\n }\n }\n\n if (i === 0) {\n ret = inverse(this);\n }\n\n return ret;\n });\n};\n\nmodule.exports = exports['default'];\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2hlbHBlcnMvZWFjaC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O3FCQU1PLFVBQVU7O3lCQUNLLGNBQWM7Ozs7cUJBRXJCLFVBQVMsUUFBUSxFQUFFO0FBQ2hDLFVBQVEsQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLFVBQVMsT0FBTyxFQUFFLE9BQU8sRUFBRTtBQUN6RCxRQUFJLENBQUMsT0FBTyxFQUFFO0FBQ1osWUFBTSwyQkFBYyw2QkFBNkIsQ0FBQyxDQUFDO0tBQ3BEOztBQUVELFFBQUksRUFBRSxHQUFHLE9BQU8sQ0FBQyxFQUFFO1FBQ2pCLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTztRQUN6QixDQUFDLEdBQUcsQ0FBQztRQUNMLEdBQUcsR0FBRyxFQUFFO1FBQ1IsSUFBSSxZQUFBO1FBQ0osV0FBVyxZQUFBLENBQUM7O0FBRWQsUUFBSSxPQUFPLENBQUMsSUFBSSxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUU7QUFDL0IsaUJBQVcsR0FDVCx5QkFBa0IsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQztLQUNyRTs7QUFFRCxRQUFJLGtCQUFXLE9BQU8sQ0FBQyxFQUFFO0FBQ3ZCLGFBQU8sR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQzlCOztBQUVELFFBQUksT0FBTyxDQUFDLElBQUksRUFBRTtBQUNoQixVQUFJLEdBQUcsbUJBQVksT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQ2xDOztBQUVELGFBQVMsYUFBYSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO0FBQ3pDLFVBQUksSUFBSSxFQUFFO0FBQ1IsWUFBSSxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUM7QUFDakIsWUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7QUFDbkIsWUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLEtBQUssQ0FBQyxDQUFDO0FBQ3pCLFlBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQzs7QUFFbkIsWUFBSSxXQUFXLEVBQUU7QUFDZixjQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsR0FBRyxLQUFLLENBQUM7U0FDeEM7T0FDRjs7QUFFRCxTQUFHLEdBQ0QsR0FBRyxHQUNILEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7QUFDakIsWUFBSSxFQUFFLElBQUk7QUFDVixtQkFBVyxFQUFFLG1CQUNYLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUN2QixDQUFDLFdBQVcsR0FBRyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQzVCO09BQ0YsQ0FBQyxDQUFDO0tBQ047O0FBRUQsUUFBSSxPQUFPLElBQUksT0FBTyxPQUFPLEtBQUssUUFBUSxFQUFFO0FBQzFDLFVBQUksZUFBUSxPQUFPLENBQUMsRUFBRTtBQUNwQixhQUFLLElBQUksQ0FBQyxHQUFHLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtBQUN2QyxjQUFJLENBQUMsSUFBSSxPQUFPLEVBQUU7QUFDaEIseUJBQWEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsS0FBSyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1dBQy9DO1NBQ0Y7T0FDRixNQUFNLElBQUksT0FBTyxNQUFNLEtBQUssVUFBVSxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUU7QUFDbkUsWUFBTSxVQUFVLEdBQUcsRUFBRSxDQUFDO0FBQ3RCLFlBQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztBQUM1QyxhQUFLLElBQUksRUFBRSxHQUFHLFFBQVEsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxHQUFHLFFBQVEsQ0FBQyxJQUFJLEVBQUUsRUFBRTtBQUM3RCxvQkFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDM0I7QUFDRCxlQUFPLEdBQUcsVUFBVSxDQUFDO0FBQ3JCLGFBQUssSUFBSSxDQUFDLEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO0FBQ3ZDLHVCQUFhLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEtBQUssT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztTQUMvQztPQUNGLE1BQU07O0FBQ0wsY0FBSSxRQUFRLFlBQUEsQ0FBQzs7QUFFYixnQkFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBQSxHQUFHLEVBQUk7Ozs7QUFJbEMsZ0JBQUksUUFBUSxLQUFLLFNBQVMsRUFBRTtBQUMxQiwyQkFBYSxDQUFDLFFBQVEsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7YUFDaEM7QUFDRCxvQkFBUSxHQUFHLEdBQUcsQ0FBQztBQUNmLGFBQUMsRUFBRSxDQUFDO1dBQ0wsQ0FBQyxDQUFDO0FBQ0gsY0FBSSxRQUFRLEtBQUssU0FBUyxFQUFFO0FBQzFCLHlCQUFhLENBQUMsUUFBUSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7V0FDdEM7O09BQ0Y7S0FDRjs7QUFFRCxRQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7QUFDWCxTQUFHLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQ3JCOztBQUVELFdBQU8sR0FBRyxDQUFDO0dBQ1osQ0FBQyxDQUFDO0NBQ0oiLCJmaWxlIjoiZWFjaC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGFwcGVuZENvbnRleHRQYXRoLFxuICBibG9ja1BhcmFtcyxcbiAgY3JlYXRlRnJhbWUsXG4gIGlzQXJyYXksXG4gIGlzRnVuY3Rpb25cbn0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IEV4Y2VwdGlvbiBmcm9tICcuLi9leGNlcHRpb24nO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbihpbnN0YW5jZSkge1xuICBpbnN0YW5jZS5yZWdpc3RlckhlbHBlcignZWFjaCcsIGZ1bmN0aW9uKGNvbnRleHQsIG9wdGlvbnMpIHtcbiAgICBpZiAoIW9wdGlvbnMpIHtcbiAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oJ011c3QgcGFzcyBpdGVyYXRvciB0byAjZWFjaCcpO1xuICAgIH1cblxuICAgIGxldCBmbiA9IG9wdGlvbnMuZm4sXG4gICAgICBpbnZlcnNlID0gb3B0aW9ucy5pbnZlcnNlLFxuICAgICAgaSA9IDAsXG4gICAgICByZXQgPSAnJyxcbiAgICAgIGRhdGEsXG4gICAgICBjb250ZXh0UGF0aDtcblxuICAgIGlmIChvcHRpb25zLmRhdGEgJiYgb3B0aW9ucy5pZHMpIHtcbiAgICAgIGNvbnRleHRQYXRoID1cbiAgICAgICAgYXBwZW5kQ29udGV4dFBhdGgob3B0aW9ucy5kYXRhLmNvbnRleHRQYXRoLCBvcHRpb25zLmlkc1swXSkgKyAnLic7XG4gICAgfVxuXG4gICAgaWYgKGlzRnVuY3Rpb24oY29udGV4dCkpIHtcbiAgICAgIGNvbnRleHQgPSBjb250ZXh0LmNhbGwodGhpcyk7XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnMuZGF0YSkge1xuICAgICAgZGF0YSA9IGNyZWF0ZUZyYW1lKG9wdGlvbnMuZGF0YSk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gZXhlY0l0ZXJhdGlvbihmaWVsZCwgaW5kZXgsIGxhc3QpIHtcbiAgICAgIGlmIChkYXRhKSB7XG4gICAgICAgIGRhdGEua2V5ID0gZmllbGQ7XG4gICAgICAgIGRhdGEuaW5kZXggPSBpbmRleDtcbiAgICAgICAgZGF0YS5maXJzdCA9IGluZGV4ID09PSAwO1xuICAgICAgICBkYXRhLmxhc3QgPSAhIWxhc3Q7XG5cbiAgICAgICAgaWYgKGNvbnRleHRQYXRoKSB7XG4gICAgICAgICAgZGF0YS5jb250ZXh0UGF0aCA9IGNvbnRleHRQYXRoICsgZmllbGQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0ID1cbiAgICAgICAgcmV0ICtcbiAgICAgICAgZm4oY29udGV4dFtmaWVsZF0sIHtcbiAgICAgICAgICBkYXRhOiBkYXRhLFxuICAgICAgICAgIGJsb2NrUGFyYW1zOiBibG9ja1BhcmFtcyhcbiAgICAgICAgICAgIFtjb250ZXh0W2ZpZWxkXSwgZmllbGRdLFxuICAgICAgICAgICAgW2NvbnRleHRQYXRoICsgZmllbGQsIG51bGxdXG4gICAgICAgICAgKVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAoY29udGV4dCAmJiB0eXBlb2YgY29udGV4dCA9PT0gJ29iamVjdCcpIHtcbiAgICAgIGlmIChpc0FycmF5KGNvbnRleHQpKSB7XG4gICAgICAgIGZvciAobGV0IGogPSBjb250ZXh0Lmxlbmd0aDsgaSA8IGo7IGkrKykge1xuICAgICAgICAgIGlmIChpIGluIGNvbnRleHQpIHtcbiAgICAgICAgICAgIGV4ZWNJdGVyYXRpb24oaSwgaSwgaSA9PT0gY29udGV4dC5sZW5ndGggLSAxKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIFN5bWJvbCA9PT0gJ2Z1bmN0aW9uJyAmJiBjb250ZXh0W1N5bWJvbC5pdGVyYXRvcl0pIHtcbiAgICAgICAgY29uc3QgbmV3Q29udGV4dCA9IFtdO1xuICAgICAgICBjb25zdCBpdGVyYXRvciA9IGNvbnRleHRbU3ltYm9sLml0ZXJhdG9yXSgpO1xuICAgICAgICBmb3IgKGxldCBpdCA9IGl0ZXJhdG9yLm5leHQoKTsgIWl0LmRvbmU7IGl0ID0gaXRlcmF0b3IubmV4dCgpKSB7XG4gICAgICAgICAgbmV3Q29udGV4dC5wdXNoKGl0LnZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICBjb250ZXh0ID0gbmV3Q29udGV4dDtcbiAgICAgICAgZm9yIChsZXQgaiA9IGNvbnRleHQubGVuZ3RoOyBpIDwgajsgaSsrKSB7XG4gICAgICAgICAgZXhlY0l0ZXJhdGlvbihpLCBpLCBpID09PSBjb250ZXh0Lmxlbmd0aCAtIDEpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBsZXQgcHJpb3JLZXk7XG5cbiAgICAgICAgT2JqZWN0LmtleXMoY29udGV4dCkuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgICAgIC8vIFdlJ3JlIHJ1bm5pbmcgdGhlIGl0ZXJhdGlvbnMgb25lIHN0ZXAgb3V0IG9mIHN5bmMgc28gd2UgY2FuIGRldGVjdFxuICAgICAgICAgIC8vIHRoZSBsYXN0IGl0ZXJhdGlvbiB3aXRob3V0IGhhdmUgdG8gc2NhbiB0aGUgb2JqZWN0IHR3aWNlIGFuZCBjcmVhdGVcbiAgICAgICAgICAvLyBhbiBpdGVybWVkaWF0ZSBrZXlzIGFycmF5LlxuICAgICAgICAgIGlmIChwcmlvcktleSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBleGVjSXRlcmF0aW9uKHByaW9yS2V5LCBpIC0gMSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHByaW9yS2V5ID0ga2V5O1xuICAgICAgICAgIGkrKztcbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChwcmlvcktleSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgZXhlY0l0ZXJhdGlvbihwcmlvcktleSwgaSAtIDEsIHRydWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGkgPT09IDApIHtcbiAgICAgIHJldCA9IGludmVyc2UodGhpcyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJldDtcbiAgfSk7XG59XG4iXX0=\n","'use strict';\n\nexports.__esModule = true;\n// istanbul ignore next\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _exception = require('../exception');\n\nvar _exception2 = _interopRequireDefault(_exception);\n\nexports['default'] = function (instance) {\n instance.registerHelper('helperMissing', function () /* [args, ]options */{\n if (arguments.length === 1) {\n // A missing field in a {{foo}} construct.\n return undefined;\n } else {\n // Someone is actually trying to call something, blow up.\n throw new _exception2['default']('Missing helper: \"' + arguments[arguments.length - 1].name + '\"');\n }\n });\n};\n\nmodule.exports = exports['default'];\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2hlbHBlcnMvaGVscGVyLW1pc3NpbmcuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozt5QkFBc0IsY0FBYzs7OztxQkFFckIsVUFBUyxRQUFRLEVBQUU7QUFDaEMsVUFBUSxDQUFDLGNBQWMsQ0FBQyxlQUFlLEVBQUUsaUNBQWdDO0FBQ3ZFLFFBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7O0FBRTFCLGFBQU8sU0FBUyxDQUFDO0tBQ2xCLE1BQU07O0FBRUwsWUFBTSwyQkFDSixtQkFBbUIsR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUNqRSxDQUFDO0tBQ0g7R0FDRixDQUFDLENBQUM7Q0FDSiIsImZpbGUiOiJoZWxwZXItbWlzc2luZy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBFeGNlcHRpb24gZnJvbSAnLi4vZXhjZXB0aW9uJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24oaW5zdGFuY2UpIHtcbiAgaW5zdGFuY2UucmVnaXN0ZXJIZWxwZXIoJ2hlbHBlck1pc3NpbmcnLCBmdW5jdGlvbigvKiBbYXJncywgXW9wdGlvbnMgKi8pIHtcbiAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgLy8gQSBtaXNzaW5nIGZpZWxkIGluIGEge3tmb299fSBjb25zdHJ1Y3QuXG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBTb21lb25lIGlzIGFjdHVhbGx5IHRyeWluZyB0byBjYWxsIHNvbWV0aGluZywgYmxvdyB1cC5cbiAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oXG4gICAgICAgICdNaXNzaW5nIGhlbHBlcjogXCInICsgYXJndW1lbnRzW2FyZ3VtZW50cy5sZW5ndGggLSAxXS5uYW1lICsgJ1wiJ1xuICAgICAgKTtcbiAgICB9XG4gIH0pO1xufVxuIl19\n","'use strict';\n\nexports.__esModule = true;\n// istanbul ignore next\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _utils = require('../utils');\n\nvar _exception = require('../exception');\n\nvar _exception2 = _interopRequireDefault(_exception);\n\nexports['default'] = function (instance) {\n instance.registerHelper('if', function (conditional, options) {\n if (arguments.length != 2) {\n throw new _exception2['default']('#if requires exactly one argument');\n }\n if (_utils.isFunction(conditional)) {\n conditional = conditional.call(this);\n }\n\n // Default behavior is to render the positive path if the value is truthy and not empty.\n // The `includeZero` option may be set to treat the condtional as purely not empty based on the\n // behavior of isEmpty. Effectively this determines if 0 is handled by the positive path or negative.\n if (!options.hash.includeZero && !conditional || _utils.isEmpty(conditional)) {\n return options.inverse(this);\n } else {\n return options.fn(this);\n }\n });\n\n instance.registerHelper('unless', function (conditional, options) {\n if (arguments.length != 2) {\n throw new _exception2['default']('#unless requires exactly one argument');\n }\n return instance.helpers['if'].call(this, conditional, {\n fn: options.inverse,\n inverse: options.fn,\n hash: options.hash\n });\n });\n};\n\nmodule.exports = exports['default'];\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2hlbHBlcnMvaWYuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztxQkFBb0MsVUFBVTs7eUJBQ3hCLGNBQWM7Ozs7cUJBRXJCLFVBQVMsUUFBUSxFQUFFO0FBQ2hDLFVBQVEsQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLFVBQVMsV0FBVyxFQUFFLE9BQU8sRUFBRTtBQUMzRCxRQUFJLFNBQVMsQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFFO0FBQ3pCLFlBQU0sMkJBQWMsbUNBQW1DLENBQUMsQ0FBQztLQUMxRDtBQUNELFFBQUksa0JBQVcsV0FBVyxDQUFDLEVBQUU7QUFDM0IsaUJBQVcsR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQ3RDOzs7OztBQUtELFFBQUksQUFBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLENBQUMsV0FBVyxJQUFLLGVBQVEsV0FBVyxDQUFDLEVBQUU7QUFDdkUsYUFBTyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQzlCLE1BQU07QUFDTCxhQUFPLE9BQU8sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDekI7R0FDRixDQUFDLENBQUM7O0FBRUgsVUFBUSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsVUFBUyxXQUFXLEVBQUUsT0FBTyxFQUFFO0FBQy9ELFFBQUksU0FBUyxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUU7QUFDekIsWUFBTSwyQkFBYyx1Q0FBdUMsQ0FBQyxDQUFDO0tBQzlEO0FBQ0QsV0FBTyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFO0FBQ3BELFFBQUUsRUFBRSxPQUFPLENBQUMsT0FBTztBQUNuQixhQUFPLEVBQUUsT0FBTyxDQUFDLEVBQUU7QUFDbkIsVUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJO0tBQ25CLENBQUMsQ0FBQztHQUNKLENBQUMsQ0FBQztDQUNKIiwiZmlsZSI6ImlmLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNFbXB0eSwgaXNGdW5jdGlvbiB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCBFeGNlcHRpb24gZnJvbSAnLi4vZXhjZXB0aW9uJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24oaW5zdGFuY2UpIHtcbiAgaW5zdGFuY2UucmVnaXN0ZXJIZWxwZXIoJ2lmJywgZnVuY3Rpb24oY29uZGl0aW9uYWwsIG9wdGlvbnMpIHtcbiAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCAhPSAyKSB7XG4gICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCcjaWYgcmVxdWlyZXMgZXhhY3RseSBvbmUgYXJndW1lbnQnKTtcbiAgICB9XG4gICAgaWYgKGlzRnVuY3Rpb24oY29uZGl0aW9uYWwpKSB7XG4gICAgICBjb25kaXRpb25hbCA9IGNvbmRpdGlvbmFsLmNhbGwodGhpcyk7XG4gICAgfVxuXG4gICAgLy8gRGVmYXVsdCBiZWhhdmlvciBpcyB0byByZW5kZXIgdGhlIHBvc2l0aXZlIHBhdGggaWYgdGhlIHZhbHVlIGlzIHRydXRoeSBhbmQgbm90IGVtcHR5LlxuICAgIC8vIFRoZSBgaW5jbHVkZVplcm9gIG9wdGlvbiBtYXkgYmUgc2V0IHRvIHRyZWF0IHRoZSBjb25kdGlvbmFsIGFzIHB1cmVseSBub3QgZW1wdHkgYmFzZWQgb24gdGhlXG4gICAgLy8gYmVoYXZpb3Igb2YgaXNFbXB0eS4gRWZmZWN0aXZlbHkgdGhpcyBkZXRlcm1pbmVzIGlmIDAgaXMgaGFuZGxlZCBieSB0aGUgcG9zaXRpdmUgcGF0aCBvciBuZWdhdGl2ZS5cbiAgICBpZiAoKCFvcHRpb25zLmhhc2guaW5jbHVkZVplcm8gJiYgIWNvbmRpdGlvbmFsKSB8fCBpc0VtcHR5KGNvbmRpdGlvbmFsKSkge1xuICAgICAgcmV0dXJuIG9wdGlvbnMuaW52ZXJzZSh0aGlzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG9wdGlvbnMuZm4odGhpcyk7XG4gICAgfVxuICB9KTtcblxuICBpbnN0YW5jZS5yZWdpc3RlckhlbHBlcigndW5sZXNzJywgZnVuY3Rpb24oY29uZGl0aW9uYWwsIG9wdGlvbnMpIHtcbiAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCAhPSAyKSB7XG4gICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCcjdW5sZXNzIHJlcXVpcmVzIGV4YWN0bHkgb25lIGFyZ3VtZW50Jyk7XG4gICAgfVxuICAgIHJldHVybiBpbnN0YW5jZS5oZWxwZXJzWydpZiddLmNhbGwodGhpcywgY29uZGl0aW9uYWwsIHtcbiAgICAgIGZuOiBvcHRpb25zLmludmVyc2UsXG4gICAgICBpbnZlcnNlOiBvcHRpb25zLmZuLFxuICAgICAgaGFzaDogb3B0aW9ucy5oYXNoXG4gICAgfSk7XG4gIH0pO1xufVxuIl19\n","'use strict';\n\nexports.__esModule = true;\n\nexports['default'] = function (instance) {\n instance.registerHelper('log', function () /* message, options */{\n var args = [undefined],\n options = arguments[arguments.length - 1];\n for (var i = 0; i < arguments.length - 1; i++) {\n args.push(arguments[i]);\n }\n\n var level = 1;\n if (options.hash.level != null) {\n level = options.hash.level;\n } else if (options.data && options.data.level != null) {\n level = options.data.level;\n }\n args[0] = level;\n\n instance.log.apply(instance, args);\n });\n};\n\nmodule.exports = exports['default'];\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2hlbHBlcnMvbG9nLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7cUJBQWUsVUFBUyxRQUFRLEVBQUU7QUFDaEMsVUFBUSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsa0NBQWlDO0FBQzlELFFBQUksSUFBSSxHQUFHLENBQUMsU0FBUyxDQUFDO1FBQ3BCLE9BQU8sR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztBQUM1QyxTQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7QUFDN0MsVUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUN6Qjs7QUFFRCxRQUFJLEtBQUssR0FBRyxDQUFDLENBQUM7QUFDZCxRQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksRUFBRTtBQUM5QixXQUFLLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7S0FDNUIsTUFBTSxJQUFJLE9BQU8sQ0FBQyxJQUFJLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxFQUFFO0FBQ3JELFdBQUssR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztLQUM1QjtBQUNELFFBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUM7O0FBRWhCLFlBQVEsQ0FBQyxHQUFHLE1BQUEsQ0FBWixRQUFRLEVBQVEsSUFBSSxDQUFDLENBQUM7R0FDdkIsQ0FBQyxDQUFDO0NBQ0oiLCJmaWxlIjoibG9nLmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24oaW5zdGFuY2UpIHtcbiAgaW5zdGFuY2UucmVnaXN0ZXJIZWxwZXIoJ2xvZycsIGZ1bmN0aW9uKC8qIG1lc3NhZ2UsIG9wdGlvbnMgKi8pIHtcbiAgICBsZXQgYXJncyA9IFt1bmRlZmluZWRdLFxuICAgICAgb3B0aW9ucyA9IGFyZ3VtZW50c1thcmd1bWVudHMubGVuZ3RoIC0gMV07XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhcmd1bWVudHMubGVuZ3RoIC0gMTsgaSsrKSB7XG4gICAgICBhcmdzLnB1c2goYXJndW1lbnRzW2ldKTtcbiAgICB9XG5cbiAgICBsZXQgbGV2ZWwgPSAxO1xuICAgIGlmIChvcHRpb25zLmhhc2gubGV2ZWwgIT0gbnVsbCkge1xuICAgICAgbGV2ZWwgPSBvcHRpb25zLmhhc2gubGV2ZWw7XG4gICAgfSBlbHNlIGlmIChvcHRpb25zLmRhdGEgJiYgb3B0aW9ucy5kYXRhLmxldmVsICE9IG51bGwpIHtcbiAgICAgIGxldmVsID0gb3B0aW9ucy5kYXRhLmxldmVsO1xuICAgIH1cbiAgICBhcmdzWzBdID0gbGV2ZWw7XG5cbiAgICBpbnN0YW5jZS5sb2coLi4uYXJncyk7XG4gIH0pO1xufVxuIl19\n","'use strict';\n\nexports.__esModule = true;\n\nexports['default'] = function (instance) {\n instance.registerHelper('lookup', function (obj, field, options) {\n if (!obj) {\n // Note for 5.0: Change to \"obj == null\" in 5.0\n return obj;\n }\n return options.lookupProperty(obj, field);\n });\n};\n\nmodule.exports = exports['default'];\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2hlbHBlcnMvbG9va3VwLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7cUJBQWUsVUFBUyxRQUFRLEVBQUU7QUFDaEMsVUFBUSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsVUFBUyxHQUFHLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRTtBQUM5RCxRQUFJLENBQUMsR0FBRyxFQUFFOztBQUVSLGFBQU8sR0FBRyxDQUFDO0tBQ1o7QUFDRCxXQUFPLE9BQU8sQ0FBQyxjQUFjLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO0dBQzNDLENBQUMsQ0FBQztDQUNKIiwiZmlsZSI6Imxvb2t1cC5qcyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uKGluc3RhbmNlKSB7XG4gIGluc3RhbmNlLnJlZ2lzdGVySGVscGVyKCdsb29rdXAnLCBmdW5jdGlvbihvYmosIGZpZWxkLCBvcHRpb25zKSB7XG4gICAgaWYgKCFvYmopIHtcbiAgICAgIC8vIE5vdGUgZm9yIDUuMDogQ2hhbmdlIHRvIFwib2JqID09IG51bGxcIiBpbiA1LjBcbiAgICAgIHJldHVybiBvYmo7XG4gICAgfVxuICAgIHJldHVybiBvcHRpb25zLmxvb2t1cFByb3BlcnR5KG9iaiwgZmllbGQpO1xuICB9KTtcbn1cbiJdfQ==\n","'use strict';\n\nexports.__esModule = true;\n// istanbul ignore next\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _utils = require('../utils');\n\nvar _exception = require('../exception');\n\nvar _exception2 = _interopRequireDefault(_exception);\n\nexports['default'] = function (instance) {\n instance.registerHelper('with', function (context, options) {\n if (arguments.length != 2) {\n throw new _exception2['default']('#with requires exactly one argument');\n }\n if (_utils.isFunction(context)) {\n context = context.call(this);\n }\n\n var fn = options.fn;\n\n if (!_utils.isEmpty(context)) {\n var data = options.data;\n if (options.data && options.ids) {\n data = _utils.createFrame(options.data);\n data.contextPath = _utils.appendContextPath(options.data.contextPath, options.ids[0]);\n }\n\n return fn(context, {\n data: data,\n blockParams: _utils.blockParams([context], [data && data.contextPath])\n });\n } else {\n return options.inverse(this);\n }\n });\n};\n\nmodule.exports = exports['default'];\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2hlbHBlcnMvd2l0aC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O3FCQU1PLFVBQVU7O3lCQUNLLGNBQWM7Ozs7cUJBRXJCLFVBQVMsUUFBUSxFQUFFO0FBQ2hDLFVBQVEsQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLFVBQVMsT0FBTyxFQUFFLE9BQU8sRUFBRTtBQUN6RCxRQUFJLFNBQVMsQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFFO0FBQ3pCLFlBQU0sMkJBQWMscUNBQXFDLENBQUMsQ0FBQztLQUM1RDtBQUNELFFBQUksa0JBQVcsT0FBTyxDQUFDLEVBQUU7QUFDdkIsYUFBTyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDOUI7O0FBRUQsUUFBSSxFQUFFLEdBQUcsT0FBTyxDQUFDLEVBQUUsQ0FBQzs7QUFFcEIsUUFBSSxDQUFDLGVBQVEsT0FBTyxDQUFDLEVBQUU7QUFDckIsVUFBSSxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQztBQUN4QixVQUFJLE9BQU8sQ0FBQyxJQUFJLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRTtBQUMvQixZQUFJLEdBQUcsbUJBQVksT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ2pDLFlBQUksQ0FBQyxXQUFXLEdBQUcseUJBQ2pCLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUN4QixPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUNmLENBQUM7T0FDSDs7QUFFRCxhQUFPLEVBQUUsQ0FBQyxPQUFPLEVBQUU7QUFDakIsWUFBSSxFQUFFLElBQUk7QUFDVixtQkFBVyxFQUFFLG1CQUFZLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO09BQ2hFLENBQUMsQ0FBQztLQUNKLE1BQU07QUFDTCxhQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDOUI7R0FDRixDQUFDLENBQUM7Q0FDSiIsImZpbGUiOiJ3aXRoLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgYXBwZW5kQ29udGV4dFBhdGgsXG4gIGJsb2NrUGFyYW1zLFxuICBjcmVhdGVGcmFtZSxcbiAgaXNFbXB0eSxcbiAgaXNGdW5jdGlvblxufSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgRXhjZXB0aW9uIGZyb20gJy4uL2V4Y2VwdGlvbic7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uKGluc3RhbmNlKSB7XG4gIGluc3RhbmNlLnJlZ2lzdGVySGVscGVyKCd3aXRoJywgZnVuY3Rpb24oY29udGV4dCwgb3B0aW9ucykge1xuICAgIGlmIChhcmd1bWVudHMubGVuZ3RoICE9IDIpIHtcbiAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oJyN3aXRoIHJlcXVpcmVzIGV4YWN0bHkgb25lIGFyZ3VtZW50Jyk7XG4gICAgfVxuICAgIGlmIChpc0Z1bmN0aW9uKGNvbnRleHQpKSB7XG4gICAgICBjb250ZXh0ID0gY29udGV4dC5jYWxsKHRoaXMpO1xuICAgIH1cblxuICAgIGxldCBmbiA9IG9wdGlvbnMuZm47XG5cbiAgICBpZiAoIWlzRW1wdHkoY29udGV4dCkpIHtcbiAgICAgIGxldCBkYXRhID0gb3B0aW9ucy5kYXRhO1xuICAgICAgaWYgKG9wdGlvbnMuZGF0YSAmJiBvcHRpb25zLmlkcykge1xuICAgICAgICBkYXRhID0gY3JlYXRlRnJhbWUob3B0aW9ucy5kYXRhKTtcbiAgICAgICAgZGF0YS5jb250ZXh0UGF0aCA9IGFwcGVuZENvbnRleHRQYXRoKFxuICAgICAgICAgIG9wdGlvbnMuZGF0YS5jb250ZXh0UGF0aCxcbiAgICAgICAgICBvcHRpb25zLmlkc1swXVxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gZm4oY29udGV4dCwge1xuICAgICAgICBkYXRhOiBkYXRhLFxuICAgICAgICBibG9ja1BhcmFtczogYmxvY2tQYXJhbXMoW2NvbnRleHRdLCBbZGF0YSAmJiBkYXRhLmNvbnRleHRQYXRoXSlcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gb3B0aW9ucy5pbnZlcnNlKHRoaXMpO1xuICAgIH1cbiAgfSk7XG59XG4iXX0=\n","'use strict';\n\nexports.__esModule = true;\nexports.createProtoAccessControl = createProtoAccessControl;\nexports.resultIsAllowed = resultIsAllowed;\nexports.resetLoggedProperties = resetLoggedProperties;\n// istanbul ignore next\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _utils = require('../utils');\n\nvar _logger = require('../logger');\n\nvar _logger2 = _interopRequireDefault(_logger);\n\nvar loggedProperties = Object.create(null);\n\nfunction createProtoAccessControl(runtimeOptions) {\n // Create an object with \"null\"-prototype to avoid truthy results on\n // prototype properties.\n var propertyWhiteList = Object.create(null);\n // eslint-disable-next-line no-proto\n propertyWhiteList['__proto__'] = false;\n _utils.extend(propertyWhiteList, runtimeOptions.allowedProtoProperties);\n\n var methodWhiteList = Object.create(null);\n methodWhiteList['constructor'] = false;\n methodWhiteList['__defineGetter__'] = false;\n methodWhiteList['__defineSetter__'] = false;\n methodWhiteList['__lookupGetter__'] = false;\n methodWhiteList['__lookupSetter__'] = false;\n _utils.extend(methodWhiteList, runtimeOptions.allowedProtoMethods);\n\n return {\n properties: {\n whitelist: propertyWhiteList,\n defaultValue: runtimeOptions.allowProtoPropertiesByDefault\n },\n methods: {\n whitelist: methodWhiteList,\n defaultValue: runtimeOptions.allowProtoMethodsByDefault\n }\n };\n}\n\nfunction resultIsAllowed(result, protoAccessControl, propertyName) {\n if (typeof result === 'function') {\n return checkWhiteList(protoAccessControl.methods, propertyName);\n } else {\n return checkWhiteList(protoAccessControl.properties, propertyName);\n }\n}\n\nfunction checkWhiteList(protoAccessControlForType, propertyName) {\n if (protoAccessControlForType.whitelist[propertyName] !== undefined) {\n return protoAccessControlForType.whitelist[propertyName] === true;\n }\n if (protoAccessControlForType.defaultValue !== undefined) {\n return protoAccessControlForType.defaultValue;\n }\n logUnexpecedPropertyAccessOnce(propertyName);\n return false;\n}\n\nfunction logUnexpecedPropertyAccessOnce(propertyName) {\n if (loggedProperties[propertyName] !== true) {\n loggedProperties[propertyName] = true;\n _logger2['default'].log('error', 'Handlebars: Access has been denied to resolve the property \"' + propertyName + '\" because it is not an \"own property\" of its parent.\\n' + 'You can add a runtime option to disable the check or this warning:\\n' + 'See https://handlebarsjs.com/api-reference/runtime-options.html#options-to-control-prototype-access for details');\n }\n}\n\nfunction resetLoggedProperties() {\n Object.keys(loggedProperties).forEach(function (propertyName) {\n delete loggedProperties[propertyName];\n });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2ludGVybmFsL3Byb3RvLWFjY2Vzcy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O3FCQUF1QixVQUFVOztzQkFDZCxXQUFXOzs7O0FBRTlCLElBQU0sZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQzs7QUFFdEMsU0FBUyx3QkFBd0IsQ0FBQyxjQUFjLEVBQUU7OztBQUd2RCxNQUFNLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7O0FBRTlDLG1CQUFpQixDQUFDLFdBQVcsQ0FBQyxHQUFHLEtBQUssQ0FBQztBQUN2QyxnQkFBTyxpQkFBaUIsRUFBRSxjQUFjLENBQUMsc0JBQXNCLENBQUMsQ0FBQzs7QUFFakUsTUFBTSxlQUFlLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUM1QyxpQkFBZSxDQUFDLGFBQWEsQ0FBQyxHQUFHLEtBQUssQ0FBQztBQUN2QyxpQkFBZSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsS0FBSyxDQUFDO0FBQzVDLGlCQUFlLENBQUMsa0JBQWtCLENBQUMsR0FBRyxLQUFLLENBQUM7QUFDNUMsaUJBQWUsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLEtBQUssQ0FBQztBQUM1QyxpQkFBZSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsS0FBSyxDQUFDO0FBQzVDLGdCQUFPLGVBQWUsRUFBRSxjQUFjLENBQUMsbUJBQW1CLENBQUMsQ0FBQzs7QUFFNUQsU0FBTztBQUNMLGNBQVUsRUFBRTtBQUNWLGVBQVMsRUFBRSxpQkFBaUI7QUFDNUIsa0JBQVksRUFBRSxjQUFjLENBQUMsNkJBQTZCO0tBQzNEO0FBQ0QsV0FBTyxFQUFFO0FBQ1AsZUFBUyxFQUFFLGVBQWU7QUFDMUIsa0JBQVksRUFBRSxjQUFjLENBQUMsMEJBQTBCO0tBQ3hEO0dBQ0YsQ0FBQztDQUNIOztBQUVNLFNBQVMsZUFBZSxDQUFDLE1BQU0sRUFBRSxrQkFBa0IsRUFBRSxZQUFZLEVBQUU7QUFDeEUsTUFBSSxPQUFPLE1BQU0sS0FBSyxVQUFVLEVBQUU7QUFDaEMsV0FBTyxjQUFjLENBQUMsa0JBQWtCLENBQUMsT0FBTyxFQUFFLFlBQVksQ0FBQyxDQUFDO0dBQ2pFLE1BQU07QUFDTCxXQUFPLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLEVBQUUsWUFBWSxDQUFDLENBQUM7R0FDcEU7Q0FDRjs7QUFFRCxTQUFTLGNBQWMsQ0FBQyx5QkFBeUIsRUFBRSxZQUFZLEVBQUU7QUFDL0QsTUFBSSx5QkFBeUIsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLEtBQUssU0FBUyxFQUFFO0FBQ25FLFdBQU8seUJBQXlCLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxLQUFLLElBQUksQ0FBQztHQUNuRTtBQUNELE1BQUkseUJBQXlCLENBQUMsWUFBWSxLQUFLLFNBQVMsRUFBRTtBQUN4RCxXQUFPLHlCQUF5QixDQUFDLFlBQVksQ0FBQztHQUMvQztBQUNELGdDQUE4QixDQUFDLFlBQVksQ0FBQyxDQUFDO0FBQzdDLFNBQU8sS0FBSyxDQUFDO0NBQ2Q7O0FBRUQsU0FBUyw4QkFBOEIsQ0FBQyxZQUFZLEVBQUU7QUFDcEQsTUFBSSxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsS0FBSyxJQUFJLEVBQUU7QUFDM0Msb0JBQWdCLENBQUMsWUFBWSxDQUFDLEdBQUcsSUFBSSxDQUFDO0FBQ3RDLHdCQUFPLEdBQUcsQ0FDUixPQUFPLEVBQ1AsaUVBQStELFlBQVksb0lBQ0gsb0hBQzJDLENBQ3BILENBQUM7R0FDSDtDQUNGOztBQUVNLFNBQVMscUJBQXFCLEdBQUc7QUFDdEMsUUFBTSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFBLFlBQVksRUFBSTtBQUNwRCxXQUFPLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxDQUFDO0dBQ3ZDLENBQUMsQ0FBQztDQUNKIiwiZmlsZSI6InByb3RvLWFjY2Vzcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGV4dGVuZCB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCBsb2dnZXIgZnJvbSAnLi4vbG9nZ2VyJztcblxuY29uc3QgbG9nZ2VkUHJvcGVydGllcyA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVQcm90b0FjY2Vzc0NvbnRyb2wocnVudGltZU9wdGlvbnMpIHtcbiAgLy8gQ3JlYXRlIGFuIG9iamVjdCB3aXRoIFwibnVsbFwiLXByb3RvdHlwZSB0byBhdm9pZCB0cnV0aHkgcmVzdWx0cyBvblxuICAvLyBwcm90b3R5cGUgcHJvcGVydGllcy5cbiAgY29uc3QgcHJvcGVydHlXaGl0ZUxpc3QgPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcHJvdG9cbiAgcHJvcGVydHlXaGl0ZUxpc3RbJ19fcHJvdG9fXyddID0gZmFsc2U7XG4gIGV4dGVuZChwcm9wZXJ0eVdoaXRlTGlzdCwgcnVudGltZU9wdGlvbnMuYWxsb3dlZFByb3RvUHJvcGVydGllcyk7XG5cbiAgY29uc3QgbWV0aG9kV2hpdGVMaXN0ID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiAgbWV0aG9kV2hpdGVMaXN0Wydjb25zdHJ1Y3RvciddID0gZmFsc2U7XG4gIG1ldGhvZFdoaXRlTGlzdFsnX19kZWZpbmVHZXR0ZXJfXyddID0gZmFsc2U7XG4gIG1ldGhvZFdoaXRlTGlzdFsnX19kZWZpbmVTZXR0ZXJfXyddID0gZmFsc2U7XG4gIG1ldGhvZFdoaXRlTGlzdFsnX19sb29rdXBHZXR0ZXJfXyddID0gZmFsc2U7XG4gIG1ldGhvZFdoaXRlTGlzdFsnX19sb29rdXBTZXR0ZXJfXyddID0gZmFsc2U7XG4gIGV4dGVuZChtZXRob2RXaGl0ZUxpc3QsIHJ1bnRpbWVPcHRpb25zLmFsbG93ZWRQcm90b01ldGhvZHMpO1xuXG4gIHJldHVybiB7XG4gICAgcHJvcGVydGllczoge1xuICAgICAgd2hpdGVsaXN0OiBwcm9wZXJ0eVdoaXRlTGlzdCxcbiAgICAgIGRlZmF1bHRWYWx1ZTogcnVudGltZU9wdGlvbnMuYWxsb3dQcm90b1Byb3BlcnRpZXNCeURlZmF1bHRcbiAgICB9LFxuICAgIG1ldGhvZHM6IHtcbiAgICAgIHdoaXRlbGlzdDogbWV0aG9kV2hpdGVMaXN0LFxuICAgICAgZGVmYXVsdFZhbHVlOiBydW50aW1lT3B0aW9ucy5hbGxvd1Byb3RvTWV0aG9kc0J5RGVmYXVsdFxuICAgIH1cbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlc3VsdElzQWxsb3dlZChyZXN1bHQsIHByb3RvQWNjZXNzQ29udHJvbCwgcHJvcGVydHlOYW1lKSB7XG4gIGlmICh0eXBlb2YgcmVzdWx0ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgcmV0dXJuIGNoZWNrV2hpdGVMaXN0KHByb3RvQWNjZXNzQ29udHJvbC5tZXRob2RzLCBwcm9wZXJ0eU5hbWUpO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBjaGVja1doaXRlTGlzdChwcm90b0FjY2Vzc0NvbnRyb2wucHJvcGVydGllcywgcHJvcGVydHlOYW1lKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBjaGVja1doaXRlTGlzdChwcm90b0FjY2Vzc0NvbnRyb2xGb3JUeXBlLCBwcm9wZXJ0eU5hbWUpIHtcbiAgaWYgKHByb3RvQWNjZXNzQ29udHJvbEZvclR5cGUud2hpdGVsaXN0W3Byb3BlcnR5TmFtZV0gIT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiBwcm90b0FjY2Vzc0NvbnRyb2xGb3JUeXBlLndoaXRlbGlzdFtwcm9wZXJ0eU5hbWVdID09PSB0cnVlO1xuICB9XG4gIGlmIChwcm90b0FjY2Vzc0NvbnRyb2xGb3JUeXBlLmRlZmF1bHRWYWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIHByb3RvQWNjZXNzQ29udHJvbEZvclR5cGUuZGVmYXVsdFZhbHVlO1xuICB9XG4gIGxvZ1VuZXhwZWNlZFByb3BlcnR5QWNjZXNzT25jZShwcm9wZXJ0eU5hbWUpO1xuICByZXR1cm4gZmFsc2U7XG59XG5cbmZ1bmN0aW9uIGxvZ1VuZXhwZWNlZFByb3BlcnR5QWNjZXNzT25jZShwcm9wZXJ0eU5hbWUpIHtcbiAgaWYgKGxvZ2dlZFByb3BlcnRpZXNbcHJvcGVydHlOYW1lXSAhPT0gdHJ1ZSkge1xuICAgIGxvZ2dlZFByb3BlcnRpZXNbcHJvcGVydHlOYW1lXSA9IHRydWU7XG4gICAgbG9nZ2VyLmxvZyhcbiAgICAgICdlcnJvcicsXG4gICAgICBgSGFuZGxlYmFyczogQWNjZXNzIGhhcyBiZWVuIGRlbmllZCB0byByZXNvbHZlIHRoZSBwcm9wZXJ0eSBcIiR7cHJvcGVydHlOYW1lfVwiIGJlY2F1c2UgaXQgaXMgbm90IGFuIFwib3duIHByb3BlcnR5XCIgb2YgaXRzIHBhcmVudC5cXG5gICtcbiAgICAgICAgYFlvdSBjYW4gYWRkIGEgcnVudGltZSBvcHRpb24gdG8gZGlzYWJsZSB0aGUgY2hlY2sgb3IgdGhpcyB3YXJuaW5nOlxcbmAgK1xuICAgICAgICBgU2VlIGh0dHBzOi8vaGFuZGxlYmFyc2pzLmNvbS9hcGktcmVmZXJlbmNlL3J1bnRpbWUtb3B0aW9ucy5odG1sI29wdGlvbnMtdG8tY29udHJvbC1wcm90b3R5cGUtYWNjZXNzIGZvciBkZXRhaWxzYFxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlc2V0TG9nZ2VkUHJvcGVydGllcygpIHtcbiAgT2JqZWN0LmtleXMobG9nZ2VkUHJvcGVydGllcykuZm9yRWFjaChwcm9wZXJ0eU5hbWUgPT4ge1xuICAgIGRlbGV0ZSBsb2dnZWRQcm9wZXJ0aWVzW3Byb3BlcnR5TmFtZV07XG4gIH0pO1xufVxuIl19\n","'use strict';\n\nexports.__esModule = true;\nexports.wrapHelper = wrapHelper;\n\nfunction wrapHelper(helper, transformOptionsFn) {\n if (typeof helper !== 'function') {\n // This should not happen, but apparently it does in https://github.com/wycats/handlebars.js/issues/1639\n // We try to make the wrapper least-invasive by not wrapping it, if the helper is not a function.\n return helper;\n }\n var wrapper = function wrapper() /* dynamic arguments */{\n var options = arguments[arguments.length - 1];\n arguments[arguments.length - 1] = transformOptionsFn(options);\n return helper.apply(this, arguments);\n };\n return wrapper;\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2ludGVybmFsL3dyYXBIZWxwZXIuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBTyxTQUFTLFVBQVUsQ0FBQyxNQUFNLEVBQUUsa0JBQWtCLEVBQUU7QUFDckQsTUFBSSxPQUFPLE1BQU0sS0FBSyxVQUFVLEVBQUU7OztBQUdoQyxXQUFPLE1BQU0sQ0FBQztHQUNmO0FBQ0QsTUFBSSxPQUFPLEdBQUcsU0FBVixPQUFPLDBCQUFxQztBQUM5QyxRQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztBQUNoRCxhQUFTLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsR0FBRyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUM5RCxXQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0dBQ3RDLENBQUM7QUFDRixTQUFPLE9BQU8sQ0FBQztDQUNoQiIsImZpbGUiOiJ3cmFwSGVscGVyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIHdyYXBIZWxwZXIoaGVscGVyLCB0cmFuc2Zvcm1PcHRpb25zRm4pIHtcbiAgaWYgKHR5cGVvZiBoZWxwZXIgIT09ICdmdW5jdGlvbicpIHtcbiAgICAvLyBUaGlzIHNob3VsZCBub3QgaGFwcGVuLCBidXQgYXBwYXJlbnRseSBpdCBkb2VzIGluIGh0dHBzOi8vZ2l0aHViLmNvbS93eWNhdHMvaGFuZGxlYmFycy5qcy9pc3N1ZXMvMTYzOVxuICAgIC8vIFdlIHRyeSB0byBtYWtlIHRoZSB3cmFwcGVyIGxlYXN0LWludmFzaXZlIGJ5IG5vdCB3cmFwcGluZyBpdCwgaWYgdGhlIGhlbHBlciBpcyBub3QgYSBmdW5jdGlvbi5cbiAgICByZXR1cm4gaGVscGVyO1xuICB9XG4gIGxldCB3cmFwcGVyID0gZnVuY3Rpb24oLyogZHluYW1pYyBhcmd1bWVudHMgKi8pIHtcbiAgICBjb25zdCBvcHRpb25zID0gYXJndW1lbnRzW2FyZ3VtZW50cy5sZW5ndGggLSAxXTtcbiAgICBhcmd1bWVudHNbYXJndW1lbnRzLmxlbmd0aCAtIDFdID0gdHJhbnNmb3JtT3B0aW9uc0ZuKG9wdGlvbnMpO1xuICAgIHJldHVybiBoZWxwZXIuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgfTtcbiAgcmV0dXJuIHdyYXBwZXI7XG59XG4iXX0=\n","'use strict';\n\nexports.__esModule = true;\n\nvar _utils = require('./utils');\n\nvar logger = {\n methodMap: ['debug', 'info', 'warn', 'error'],\n level: 'info',\n\n // Maps a given level value to the `methodMap` indexes above.\n lookupLevel: function lookupLevel(level) {\n if (typeof level === 'string') {\n var levelMap = _utils.indexOf(logger.methodMap, level.toLowerCase());\n if (levelMap >= 0) {\n level = levelMap;\n } else {\n level = parseInt(level, 10);\n }\n }\n\n return level;\n },\n\n // Can be overridden in the host environment\n log: function log(level) {\n level = logger.lookupLevel(level);\n\n if (typeof console !== 'undefined' && logger.lookupLevel(logger.level) <= level) {\n var method = logger.methodMap[level];\n // eslint-disable-next-line no-console\n if (!console[method]) {\n method = 'log';\n }\n\n for (var _len = arguments.length, message = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n message[_key - 1] = arguments[_key];\n }\n\n console[method].apply(console, message); // eslint-disable-line no-console\n }\n }\n};\n\nexports['default'] = logger;\nmodule.exports = exports['default'];\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2xvZ2dlci5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O3FCQUF3QixTQUFTOztBQUVqQyxJQUFJLE1BQU0sR0FBRztBQUNYLFdBQVMsRUFBRSxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQztBQUM3QyxPQUFLLEVBQUUsTUFBTTs7O0FBR2IsYUFBVyxFQUFFLHFCQUFTLEtBQUssRUFBRTtBQUMzQixRQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRTtBQUM3QixVQUFJLFFBQVEsR0FBRyxlQUFRLE1BQU0sQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7QUFDOUQsVUFBSSxRQUFRLElBQUksQ0FBQyxFQUFFO0FBQ2pCLGFBQUssR0FBRyxRQUFRLENBQUM7T0FDbEIsTUFBTTtBQUNMLGFBQUssR0FBRyxRQUFRLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO09BQzdCO0tBQ0Y7O0FBRUQsV0FBTyxLQUFLLENBQUM7R0FDZDs7O0FBR0QsS0FBRyxFQUFFLGFBQVMsS0FBSyxFQUFjO0FBQy9CLFNBQUssR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDOztBQUVsQyxRQUNFLE9BQU8sT0FBTyxLQUFLLFdBQVcsSUFDOUIsTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxFQUN6QztBQUNBLFVBQUksTUFBTSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7O0FBRXJDLFVBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7QUFDcEIsY0FBTSxHQUFHLEtBQUssQ0FBQztPQUNoQjs7d0NBWG1CLE9BQU87QUFBUCxlQUFPOzs7QUFZM0IsYUFBTyxDQUFDLE1BQU0sT0FBQyxDQUFmLE9BQU8sRUFBWSxPQUFPLENBQUMsQ0FBQztLQUM3QjtHQUNGO0NBQ0YsQ0FBQzs7cUJBRWEsTUFBTSIsImZpbGUiOiJsb2dnZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmRleE9mIH0gZnJvbSAnLi91dGlscyc7XG5cbmxldCBsb2dnZXIgPSB7XG4gIG1ldGhvZE1hcDogWydkZWJ1ZycsICdpbmZvJywgJ3dhcm4nLCAnZXJyb3InXSxcbiAgbGV2ZWw6ICdpbmZvJyxcblxuICAvLyBNYXBzIGEgZ2l2ZW4gbGV2ZWwgdmFsdWUgdG8gdGhlIGBtZXRob2RNYXBgIGluZGV4ZXMgYWJvdmUuXG4gIGxvb2t1cExldmVsOiBmdW5jdGlvbihsZXZlbCkge1xuICAgIGlmICh0eXBlb2YgbGV2ZWwgPT09ICdzdHJpbmcnKSB7XG4gICAgICBsZXQgbGV2ZWxNYXAgPSBpbmRleE9mKGxvZ2dlci5tZXRob2RNYXAsIGxldmVsLnRvTG93ZXJDYXNlKCkpO1xuICAgICAgaWYgKGxldmVsTWFwID49IDApIHtcbiAgICAgICAgbGV2ZWwgPSBsZXZlbE1hcDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxldmVsID0gcGFyc2VJbnQobGV2ZWwsIDEwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gbGV2ZWw7XG4gIH0sXG5cbiAgLy8gQ2FuIGJlIG92ZXJyaWRkZW4gaW4gdGhlIGhvc3QgZW52aXJvbm1lbnRcbiAgbG9nOiBmdW5jdGlvbihsZXZlbCwgLi4ubWVzc2FnZSkge1xuICAgIGxldmVsID0gbG9nZ2VyLmxvb2t1cExldmVsKGxldmVsKTtcblxuICAgIGlmIChcbiAgICAgIHR5cGVvZiBjb25zb2xlICE9PSAndW5kZWZpbmVkJyAmJlxuICAgICAgbG9nZ2VyLmxvb2t1cExldmVsKGxvZ2dlci5sZXZlbCkgPD0gbGV2ZWxcbiAgICApIHtcbiAgICAgIGxldCBtZXRob2QgPSBsb2dnZXIubWV0aG9kTWFwW2xldmVsXTtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgICBpZiAoIWNvbnNvbGVbbWV0aG9kXSkge1xuICAgICAgICBtZXRob2QgPSAnbG9nJztcbiAgICAgIH1cbiAgICAgIGNvbnNvbGVbbWV0aG9kXSguLi5tZXNzYWdlKTsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby1jb25zb2xlXG4gICAgfVxuICB9XG59O1xuXG5leHBvcnQgZGVmYXVsdCBsb2dnZXI7XG4iXX0=\n","/* global globalThis */\n'use strict';\n\nexports.__esModule = true;\n\nexports['default'] = function (Handlebars) {\n /* istanbul ignore next */\n // https://mathiasbynens.be/notes/globalthis\n (function () {\n if (typeof globalThis === 'object') return;\n Object.prototype.__defineGetter__('__magic__', function () {\n return this;\n });\n __magic__.globalThis = __magic__; // eslint-disable-line no-undef\n delete Object.prototype.__magic__;\n })();\n\n var $Handlebars = globalThis.Handlebars;\n\n /* istanbul ignore next */\n Handlebars.noConflict = function () {\n if (globalThis.Handlebars === Handlebars) {\n globalThis.Handlebars = $Handlebars;\n }\n return Handlebars;\n };\n};\n\nmodule.exports = exports['default'];\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL25vLWNvbmZsaWN0LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O3FCQUNlLFVBQVMsVUFBVSxFQUFFOzs7QUFHbEMsR0FBQyxZQUFXO0FBQ1YsUUFBSSxPQUFPLFVBQVUsS0FBSyxRQUFRLEVBQUUsT0FBTztBQUMzQyxVQUFNLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLFdBQVcsRUFBRSxZQUFXO0FBQ3hELGFBQU8sSUFBSSxDQUFDO0tBQ2IsQ0FBQyxDQUFDO0FBQ0gsYUFBUyxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUM7QUFDakMsV0FBTyxNQUFNLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQztHQUNuQyxDQUFBLEVBQUcsQ0FBQzs7QUFFTCxNQUFNLFdBQVcsR0FBRyxVQUFVLENBQUMsVUFBVSxDQUFDOzs7QUFHMUMsWUFBVSxDQUFDLFVBQVUsR0FBRyxZQUFXO0FBQ2pDLFFBQUksVUFBVSxDQUFDLFVBQVUsS0FBSyxVQUFVLEVBQUU7QUFDeEMsZ0JBQVUsQ0FBQyxVQUFVLEdBQUcsV0FBVyxDQUFDO0tBQ3JDO0FBQ0QsV0FBTyxVQUFVLENBQUM7R0FDbkIsQ0FBQztDQUNIIiwiZmlsZSI6Im5vLWNvbmZsaWN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyogZ2xvYmFsIGdsb2JhbFRoaXMgKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uKEhhbmRsZWJhcnMpIHtcbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgLy8gaHR0cHM6Ly9tYXRoaWFzYnluZW5zLmJlL25vdGVzL2dsb2JhbHRoaXNcbiAgKGZ1bmN0aW9uKCkge1xuICAgIGlmICh0eXBlb2YgZ2xvYmFsVGhpcyA9PT0gJ29iamVjdCcpIHJldHVybjtcbiAgICBPYmplY3QucHJvdG90eXBlLl9fZGVmaW5lR2V0dGVyX18oJ19fbWFnaWNfXycsIGZ1bmN0aW9uKCkge1xuICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfSk7XG4gICAgX19tYWdpY19fLmdsb2JhbFRoaXMgPSBfX21hZ2ljX187IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tdW5kZWZcbiAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZS5fX21hZ2ljX187XG4gIH0pKCk7XG5cbiAgY29uc3QgJEhhbmRsZWJhcnMgPSBnbG9iYWxUaGlzLkhhbmRsZWJhcnM7XG5cbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgSGFuZGxlYmFycy5ub0NvbmZsaWN0ID0gZnVuY3Rpb24oKSB7XG4gICAgaWYgKGdsb2JhbFRoaXMuSGFuZGxlYmFycyA9PT0gSGFuZGxlYmFycykge1xuICAgICAgZ2xvYmFsVGhpcy5IYW5kbGViYXJzID0gJEhhbmRsZWJhcnM7XG4gICAgfVxuICAgIHJldHVybiBIYW5kbGViYXJzO1xuICB9O1xufVxuIl19\n","'use strict';\n\nexports.__esModule = true;\nexports.checkRevision = checkRevision;\nexports.template = template;\nexports.wrapProgram = wrapProgram;\nexports.resolvePartial = resolvePartial;\nexports.invokePartial = invokePartial;\nexports.noop = noop;\n// istanbul ignore next\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\n// istanbul ignore next\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }\n\nvar _utils = require('./utils');\n\nvar Utils = _interopRequireWildcard(_utils);\n\nvar _exception = require('./exception');\n\nvar _exception2 = _interopRequireDefault(_exception);\n\nvar _base = require('./base');\n\nvar _helpers = require('./helpers');\n\nvar _internalWrapHelper = require('./internal/wrapHelper');\n\nvar _internalProtoAccess = require('./internal/proto-access');\n\nfunction checkRevision(compilerInfo) {\n var compilerRevision = compilerInfo && compilerInfo[0] || 1,\n currentRevision = _base.COMPILER_REVISION;\n\n if (compilerRevision >= _base.LAST_COMPATIBLE_COMPILER_REVISION && compilerRevision <= _base.COMPILER_REVISION) {\n return;\n }\n\n if (compilerRevision < _base.LAST_COMPATIBLE_COMPILER_REVISION) {\n var runtimeVersions = _base.REVISION_CHANGES[currentRevision],\n compilerVersions = _base.REVISION_CHANGES[compilerRevision];\n throw new _exception2['default']('Template was precompiled with an older version of Handlebars than the current runtime. ' + 'Please update your precompiler to a newer version (' + runtimeVersions + ') or downgrade your runtime to an older version (' + compilerVersions + ').');\n } else {\n // Use the embedded version info since the runtime doesn't know about this revision yet\n throw new _exception2['default']('Template was precompiled with a newer version of Handlebars than the current runtime. ' + 'Please update your runtime to a newer version (' + compilerInfo[1] + ').');\n }\n}\n\nfunction template(templateSpec, env) {\n /* istanbul ignore next */\n if (!env) {\n throw new _exception2['default']('No environment passed to template');\n }\n if (!templateSpec || !templateSpec.main) {\n throw new _exception2['default']('Unknown template object: ' + typeof templateSpec);\n }\n\n templateSpec.main.decorator = templateSpec.main_d;\n\n // Note: Using env.VM references rather than local var references throughout this section to allow\n // for external users to override these as pseudo-supported APIs.\n env.VM.checkRevision(templateSpec.compiler);\n\n // backwards compatibility for precompiled templates with compiler-version 7 (<4.3.0)\n var templateWasPrecompiledWithCompilerV7 = templateSpec.compiler && templateSpec.compiler[0] === 7;\n\n function invokePartialWrapper(partial, context, options) {\n if (options.hash) {\n context = Utils.extend({}, context, options.hash);\n if (options.ids) {\n options.ids[0] = true;\n }\n }\n partial = env.VM.resolvePartial.call(this, partial, context, options);\n\n options.hooks = this.hooks;\n options.protoAccessControl = this.protoAccessControl;\n\n var result = env.VM.invokePartial.call(this, partial, context, options);\n\n if (result == null && env.compile) {\n options.partials[options.name] = env.compile(partial, templateSpec.compilerOptions, env);\n result = options.partials[options.name](context, options);\n }\n if (result != null) {\n if (options.indent) {\n var lines = result.split('\\n');\n for (var i = 0, l = lines.length; i < l; i++) {\n if (!lines[i] && i + 1 === l) {\n break;\n }\n\n lines[i] = options.indent + lines[i];\n }\n result = lines.join('\\n');\n }\n return result;\n } else {\n throw new _exception2['default']('The partial ' + options.name + ' could not be compiled when running in runtime-only mode');\n }\n }\n\n // Just add water\n var container = {\n strict: function strict(obj, name, loc) {\n if (!obj || !(name in obj)) {\n throw new _exception2['default']('\"' + name + '\" not defined in ' + obj, {\n loc: loc\n });\n }\n return container.lookupProperty(obj, name);\n },\n lookupProperty: function lookupProperty(parent, propertyName) {\n var result = parent[propertyName];\n if (result == null) {\n return result;\n }\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return result;\n }\n\n if (_internalProtoAccess.resultIsAllowed(result, container.protoAccessControl, propertyName)) {\n return result;\n }\n return undefined;\n },\n lookup: function lookup(depths, name) {\n var len = depths.length;\n for (var i = 0; i < len; i++) {\n var result = depths[i] && container.lookupProperty(depths[i], name);\n if (result != null) {\n return result;\n }\n }\n },\n lambda: function lambda(current, context) {\n return typeof current === 'function' ? current.call(context) : current;\n },\n\n escapeExpression: Utils.escapeExpression,\n invokePartial: invokePartialWrapper,\n\n fn: function fn(i) {\n var ret = templateSpec[i];\n ret.decorator = templateSpec[i + '_d'];\n return ret;\n },\n\n programs: [],\n program: function program(i, data, declaredBlockParams, blockParams, depths) {\n var programWrapper = this.programs[i],\n fn = this.fn(i);\n if (data || depths || blockParams || declaredBlockParams) {\n programWrapper = wrapProgram(this, i, fn, data, declaredBlockParams, blockParams, depths);\n } else if (!programWrapper) {\n programWrapper = this.programs[i] = wrapProgram(this, i, fn);\n }\n return programWrapper;\n },\n\n data: function data(value, depth) {\n while (value && depth--) {\n value = value._parent;\n }\n return value;\n },\n mergeIfNeeded: function mergeIfNeeded(param, common) {\n var obj = param || common;\n\n if (param && common && param !== common) {\n obj = Utils.extend({}, common, param);\n }\n\n return obj;\n },\n // An empty object to use as replacement for null-contexts\n nullContext: Object.seal({}),\n\n noop: env.VM.noop,\n compilerInfo: templateSpec.compiler\n };\n\n function ret(context) {\n var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n var data = options.data;\n\n ret._setup(options);\n if (!options.partial && templateSpec.useData) {\n data = initData(context, data);\n }\n var depths = undefined,\n blockParams = templateSpec.useBlockParams ? [] : undefined;\n if (templateSpec.useDepths) {\n if (options.depths) {\n depths = context != options.depths[0] ? [context].concat(options.depths) : options.depths;\n } else {\n depths = [context];\n }\n }\n\n function main(context /*, options*/) {\n return '' + templateSpec.main(container, context, container.helpers, container.partials, data, blockParams, depths);\n }\n\n main = executeDecorators(templateSpec.main, main, container, options.depths || [], data, blockParams);\n return main(context, options);\n }\n\n ret.isTop = true;\n\n ret._setup = function (options) {\n if (!options.partial) {\n var mergedHelpers = {};\n addHelpers(mergedHelpers, env.helpers, container);\n addHelpers(mergedHelpers, options.helpers, container);\n container.helpers = mergedHelpers;\n\n if (templateSpec.usePartial) {\n // Use mergeIfNeeded here to prevent compiling global partials multiple times\n container.partials = container.mergeIfNeeded(options.partials, env.partials);\n }\n if (templateSpec.usePartial || templateSpec.useDecorators) {\n container.decorators = Utils.extend({}, env.decorators, options.decorators);\n }\n\n container.hooks = {};\n container.protoAccessControl = _internalProtoAccess.createProtoAccessControl(options);\n\n var keepHelperInHelpers = options.allowCallsToHelperMissing || templateWasPrecompiledWithCompilerV7;\n _helpers.moveHelperToHooks(container, 'helperMissing', keepHelperInHelpers);\n _helpers.moveHelperToHooks(container, 'blockHelperMissing', keepHelperInHelpers);\n } else {\n container.protoAccessControl = options.protoAccessControl; // internal option\n container.helpers = options.helpers;\n container.partials = options.partials;\n container.decorators = options.decorators;\n container.hooks = options.hooks;\n }\n };\n\n ret._child = function (i, data, blockParams, depths) {\n if (templateSpec.useBlockParams && !blockParams) {\n throw new _exception2['default']('must pass block params');\n }\n if (templateSpec.useDepths && !depths) {\n throw new _exception2['default']('must pass parent depths');\n }\n\n return wrapProgram(container, i, templateSpec[i], data, 0, blockParams, depths);\n };\n return ret;\n}\n\nfunction wrapProgram(container, i, fn, data, declaredBlockParams, blockParams, depths) {\n function prog(context) {\n var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n var currentDepths = depths;\n if (depths && context != depths[0] && !(context === container.nullContext && depths[0] === null)) {\n currentDepths = [context].concat(depths);\n }\n\n return fn(container, context, container.helpers, container.partials, options.data || data, blockParams && [options.blockParams].concat(blockParams), currentDepths);\n }\n\n prog = executeDecorators(fn, prog, container, depths, data, blockParams);\n\n prog.program = i;\n prog.depth = depths ? depths.length : 0;\n prog.blockParams = declaredBlockParams || 0;\n return prog;\n}\n\n/**\n * This is currently part of the official API, therefore implementation details should not be changed.\n */\n\nfunction resolvePartial(partial, context, options) {\n if (!partial) {\n if (options.name === '@partial-block') {\n partial = lookupOwnProperty(options.data, 'partial-block');\n } else {\n partial = lookupOwnProperty(options.partials, options.name);\n }\n } else if (!partial.call && !options.name) {\n // This is a dynamic partial that returned a string\n options.name = partial;\n partial = lookupOwnProperty(options.partials, partial);\n }\n return partial;\n}\n\nfunction invokePartial(partial, context, options) {\n // Use the current closure context to save the partial-block if this partial\n var currentPartialBlock = lookupOwnProperty(options.data, 'partial-block');\n options.partial = true;\n if (options.ids) {\n options.data.contextPath = options.ids[0] || options.data.contextPath;\n }\n\n var partialBlock = undefined;\n if (options.fn && options.fn !== noop) {\n (function () {\n options.data = _base.createFrame(options.data);\n // Wrapper function to get access to currentPartialBlock from the closure\n var fn = options.fn;\n partialBlock = options.data['partial-block'] = function partialBlockWrapper(context) {\n var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n // Restore the partial-block from the closure for the execution of the block\n // i.e. the part inside the block of the partial call.\n options.data = _base.createFrame(options.data);\n options.data['partial-block'] = currentPartialBlock;\n return fn(context, options);\n };\n if (fn.partials) {\n options.partials = Utils.extend({}, options.partials, fn.partials);\n }\n })();\n }\n\n if (partial === undefined && partialBlock) {\n partial = partialBlock;\n }\n\n if (partial === undefined) {\n throw new _exception2['default']('The partial ' + options.name + ' could not be found');\n } else if (partial instanceof Function) {\n return partial(context, options);\n }\n}\n\nfunction noop() {\n return '';\n}\n\nfunction lookupOwnProperty(obj, name) {\n if (obj && Object.prototype.hasOwnProperty.call(obj, name)) {\n return obj[name];\n }\n}\n\nfunction initData(context, data) {\n if (!data || !('root' in data)) {\n data = data ? _base.createFrame(data) : {};\n data.root = context;\n }\n return data;\n}\n\nfunction executeDecorators(fn, prog, container, depths, data, blockParams) {\n if (fn.decorator) {\n var props = {};\n prog = fn.decorator(prog, props, container, depths && depths[0], data, blockParams, depths);\n Utils.extend(prog, props);\n }\n return prog;\n}\n\nfunction addHelpers(mergedHelpers, helpers, container) {\n if (!helpers) return;\n Object.keys(helpers).forEach(function (helperName) {\n var helper = helpers[helperName];\n mergedHelpers[helperName] = passLookupPropertyOption(helper, container);\n });\n}\n\nfunction passLookupPropertyOption(helper, container) {\n var lookupProperty = container.lookupProperty;\n return _internalWrapHelper.wrapHelper(helper, function (options) {\n options.lookupProperty = lookupProperty;\n return options;\n });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL3J1bnRpbWUuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7cUJBQXVCLFNBQVM7O0lBQXBCLEtBQUs7O3lCQUNLLGFBQWE7Ozs7b0JBTTVCLFFBQVE7O3VCQUNtQixXQUFXOztrQ0FDbEIsdUJBQXVCOzttQ0FJM0MseUJBQXlCOztBQUV6QixTQUFTLGFBQWEsQ0FBQyxZQUFZLEVBQUU7QUFDMUMsTUFBTSxnQkFBZ0IsR0FBRyxBQUFDLFlBQVksSUFBSSxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUssQ0FBQztNQUM3RCxlQUFlLDBCQUFvQixDQUFDOztBQUV0QyxNQUNFLGdCQUFnQiwyQ0FBcUMsSUFDckQsZ0JBQWdCLDJCQUFxQixFQUNyQztBQUNBLFdBQU87R0FDUjs7QUFFRCxNQUFJLGdCQUFnQiwwQ0FBb0MsRUFBRTtBQUN4RCxRQUFNLGVBQWUsR0FBRyx1QkFBaUIsZUFBZSxDQUFDO1FBQ3ZELGdCQUFnQixHQUFHLHVCQUFpQixnQkFBZ0IsQ0FBQyxDQUFDO0FBQ3hELFVBQU0sMkJBQ0oseUZBQXlGLEdBQ3ZGLHFEQUFxRCxHQUNyRCxlQUFlLEdBQ2YsbURBQW1ELEdBQ25ELGdCQUFnQixHQUNoQixJQUFJLENBQ1AsQ0FBQztHQUNILE1BQU07O0FBRUwsVUFBTSwyQkFDSix3RkFBd0YsR0FDdEYsaURBQWlELEdBQ2pELFlBQVksQ0FBQyxDQUFDLENBQUMsR0FDZixJQUFJLENBQ1AsQ0FBQztHQUNIO0NBQ0Y7O0FBRU0sU0FBUyxRQUFRLENBQUMsWUFBWSxFQUFFLEdBQUcsRUFBRTs7QUFFMUMsTUFBSSxDQUFDLEdBQUcsRUFBRTtBQUNSLFVBQU0sMkJBQWMsbUNBQW1DLENBQUMsQ0FBQztHQUMxRDtBQUNELE1BQUksQ0FBQyxZQUFZLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFO0FBQ3ZDLFVBQU0sMkJBQWMsMkJBQTJCLEdBQUcsT0FBTyxZQUFZLENBQUMsQ0FBQztH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QXdCLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0dBQ3pFLENBQUMsQ0FBQztDQUNKOztBQUVELFNBQVMsd0JBQXdCLENBQUMsTUFBTSxFQUFFLFNBQVMsRUFBRTtBQUNuRCxNQUFNLGNBQWMsR0FBRyxTQUFTLENBQUMsY0FBYyxDQUFDO0FBQ2hELFNBQU8sK0JBQVcsTUFBTSxFQUFFLFVBQUEsT0FBTyxFQUFJO0FBQ25DLFdBQU8sQ0FBQyxjQUFjLEdBQUcsY0FBYyxDQUFDO0FBQ3hDLFdBQU8sT0FBTyxDQUFDO0dBQ2hCLENBQUMsQ0FBQztDQUNKIiwiZmlsZSI6InJ1bnRpbWUuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBVdGlscyBmcm9tICcuL3V0aWxzJztcbmltcG9ydCBFeGNlcHRpb24gZnJvbSAnLi9leGNlcHRpb24nO1xuaW1wb3J0IHtcbiAgQ09NUElMRVJfUkVWSVNJT04sXG4gIGNyZWF0ZUZyYW1lLFxuICBMQVNUX0NPTVBBVElCTEVfQ09NUElMRVJfUkVWSVNJT04sXG4gIFJFVklTSU9OX0NIQU5HRVNcbn0gZnJvbSAnLi9iYXNlJztcbmltcG9ydCB7IG1vdmVIZWxwZXJUb0hvb2tzIH0gZnJvbSAnLi9oZWxwZXJzJztcbmltcG9ydCB7IHdyYXBIZWxwZXIgfSBmcm9tICcuL2ludGVybmFsL3dyYXBIZWxwZXInO1xuaW1wb3J0IHtcbiAgY3JlYXRlUHJvdG9BY2Nlc3NDb250cm9sLFxuICByZXN1bHRJc0FsbG93ZWRcbn0gZnJvbSAnLi9pbnRlcm5hbC9wcm90by1hY2Nlc3MnO1xuXG5leHBvcnQgZnVuY3Rpb24gY2hlY2tSZXZpc2lvbihjb21waWxlckluZm8pIHtcbiAgY29uc3QgY29tcGlsZXJSZXZpc2lvbiA9IChjb21waWxlckluZm8gJiYgY29tcGlsZXJJbmZvWzBdKSB8fCAxLFxuICAgIGN1cnJlbnRSZXZpc2lvbiA9IENPTVBJTEVSX1JFVklTSU9OO1xuXG4gIGlmIChcbiAgICBjb21waWxlclJldmlzaW9uID49IExBU1RfQ09NUEFUSUJMRV9DT01QSUxFUl9SRVZJU0lPTiAmJlxuICAgIGNvbXBpbGVyUmV2aXNpb24gPD0gQ09NUElMRVJfUkVWSVNJT05cbiAgKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgaWYgKGNvbXBpbGVyUmV2aXNpb24gPCBMQVNUX0NPTVBBVElCTEVfQ09NUElMRVJfUkVWSVNJT04pIHtcbiAgICBjb25zdCBydW50aW1lVmVyc2lvbnMgPSBSRVZJU0lPTl9DSEFOR0VTW2N1cnJlbnRSZXZpc2lvbl0sXG4gICAgICBjb21waWxlclZlcnNpb25zID0gUkVWSVNJT05fQ0hBTkdFU1tjb21waWxlclJldmlzaW9uXTtcbiAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKFxuICAgICAgJ1RlbXBsYXRlIHdhcyBwcmVjb21waWxlZCB3aXRoIGFuIG9sZGVyIHZlcnNpb24gb2YgSGFuZGxlYmFycyB0aGFuIHRoZSBjdXJyZW50IHJ1bnRpbWUuICcgK1xuICAgICAgICAnUGxlYXNlIHVwZGF0ZSB5b3VyIHByZWNvbXBpbGVyIHRvIGEgbmV3ZXIgdmVyc2lvbiAoJyArXG4gICAgICAgIHJ1bnRpbWVWZXJzaW9ucyArXG4gICAgICAgICcpIG9yIGRvd25ncmFkZSB5b3VyIHJ1bnRpbWUgdG8gYW4gb2xkZXIgdmVyc2lvbiAoJyArXG4gICAgICAgIGNvbXBpbGVyVmVyc2lvbnMgK1xuICAgICAgICAnKS4nXG4gICAgKTtcbiAgfSBlbHNlIHtcbiAgICAvLyBVc2UgdGhlIGVtYmVkZGVkIHZlcnNpb24gaW5mbyBzaW5jZSB0aGUgcnVudGltZSBkb2Vzbid0IGtub3cgYWJvdXQgdGhpcyByZXZpc2lvbiB5ZXRcbiAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKFxuICAgICAgJ1RlbXBsYXRlIHdhcyBwcmVjb21waWxlZCB3aXRoIGEgbmV3ZXIgdmVyc2lvbiBvZiBIYW5kbGViYXJzIHRoYW4gdGhlIGN1cnJlbnQgcnVudGltZS4gJyArXG4gICAgICAgICdQbGVhc2UgdXBkYXRlIHlvdXIgcnVudGltZSB0byBhIG5ld2VyIHZlcnNpb24gKCcgK1xuICAgICAgICBjb21waWxlckluZm9bMV0gK1xuICAgICAgICAnKS4nXG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdGVtcGxhdGUodGVtcGxhdGVTcGVjLCBlbnYpIHtcbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgaWYgKCFlbnYpIHtcbiAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdObyBlbnZpcm9ubWVudCBwYXNzZWQgdG8gdGVtcGxhdGUnKTtcbiAgfVxuICBpZiAoIXRlbXBsYXRlU3BlYyB8fCAhdGVtcGxhdGVTcGVjLm1haW4pIHtcbiAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdVbmtub3duIHRlbXBsYXRlIG9iamVjdDogJyArIHR5cGVvZiB0ZW1wbGF0ZVNwZWMpO1xuICB9XG5cbiAgdGVtcGxhdGVTcGVjLm1haW4uZGVjb3JhdG9yID0gdGVtcGxhdGVTcGVjLm1haW5fZDtcblxuICAvLyBOb3RlOiBVc2luZyBlbnYuVk0gcmVmZXJlbmNlcyByYXRoZXIgdGhhbiBsb2NhbCB2YXIgcmVmZXJlbmNlcyB0aHJvdWdob3V0IHRoaXMgc2VjdGlvbiB0byBhbGxvd1xuICAvLyBmb3IgZXh0ZXJuYWwgdXNlcnMgdG8gb3ZlcnJpZGUgdGhlc2UgYXMgcHNldWRvLXN1cHBvcnRlZCBBUElzLlxuICBlbnYuVk0uY2hlY2tSZXZpc2lvbih0ZW1wbGF0ZVNwZWMuY29tcGlsZXIpO1xuXG4gIC8vIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IGZvciBwcmVjb21waWxlZCB0ZW1wbGF0ZXMgd2l0aCBjb21waWxlci12ZXJzaW9uIDcgKDw0LjMuMClcbiAgY29uc3QgdGVtcGxhdGVXYXNQcmVjb21waWxlZFdpdGhDb21waWxlclY3ID1cbiAgICB0ZW1wbGF0ZVNwZWMuY29tcGlsZXIgJiYgdGVtcGxhdGVTcGVjLmNvbXBpbGVyWzBdID09PSA3O1xuXG4gIGZ1bmN0aW9uIGludm9rZVBhcnRpYWxXcmFwcGVyKHBhcnRpYWwsIGNvbnRleHQsIG9wdGlvbnMpIHtcbiAgICBpZiAob3B0aW9ucy5oYXNoKSB7XG4gICAgICBjb250ZXh0ID0gVXRpbHMuZXh0ZW5kKHt9LCBjb250ZXh0LCBvcHRpb25zLmhhc2gpO1xuICAgICAgaWYgKG9wdGlvbnMuaWRzKSB7XG4gICAgICAgIG9wdGlvbnMuaWRzWzBdID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcGFydGlhbCA9IGVudi5WTS5yZXNvbHZlUGFydGlhbC5jYWxsKHRoaXMsIHBhcnRpYWwsIGNvbnRleHQsIG9wdGlvbnMpO1xuXG4gICAgb3B0aW9ucy5ob29rcyA9IHRoaXMuaG9va3M7XG4gICAgb3B0aW9ucy5wcm90b0FjY2Vzc0NvbnRyb2wgPSB0aGlzLnByb3RvQWNjZXNzQ29udHJvbDtcblxuICAgIGxldCByZXN1bHQgPSBlbnYuVk0uaW52b2tlUGFydGlhbC5jYWxsKHRoaXMsIHBhcnRpYWwsIGNvbnRleHQsIG9wdGlvbnMpO1xuXG4gICAgaWYgKHJlc3VsdCA9PSBudWxsICYmIGVudi5jb21waWxlKSB7XG4gICAgICBvcHRpb25zLnBhcnRpYWxzW29wdGlvbnMubmFtZV0gPSBlbnYuY29tcGlsZShcbiAgICAgICAgcGFydGlhbCxcbiAgICAgICAgdGVtcGxhdGVTcGVjLmNvbXBpbGVyT3B0aW9ucyxcbiAgICAgICAgZW52XG4gICAgICApO1xuICAgICAgcmVzdWx0ID0gb3B0aW9ucy5wYXJ0aWFsc1tvcHRpb25zLm5hbWVdKGNvbnRleHQsIG9wdGlvbnMpO1xuICAgIH1cbiAgICBpZiAocmVzdWx0ICE9IG51bGwpIHtcbiAgICAgIGlmIChvcHRpb25zLmluZGVudCkge1xuICAgICAgICBsZXQgbGluZXMgPSByZXN1bHQuc3BsaXQoJ1xcbicpO1xuICAgICAgICBmb3IgKGxldCBpID0gMCwgbCA9IGxpbmVzLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgICAgICAgIGlmICghbGluZXNbaV0gJiYgaSArIDEgPT09IGwpIHtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGxpbmVzW2ldID0gb3B0aW9ucy5pbmRlbnQgKyBsaW5lc1tpXTtcbiAgICAgICAgfVxuICAgICAgICByZXN1bHQgPSBsaW5lcy5qb2luKCdcXG4nKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oXG4gICAgICAgICdUaGUgcGFydGlhbCAnICtcbiAgICAgICAgICBvcHRpb25zLm5hbWUgK1xuICAgICAgICAgICcgY291bGQgbm90IGJlIGNvbXBpbGVkIHdoZW4gcnVubmluZyBpbiBydW50aW1lLW9ubHkgbW9kZSdcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgLy8gSnVzdCBhZGQgd2F0ZXJcbiAgbGV0IGNvbnRhaW5lciA9IHtcbiAgICBzdHJpY3Q6IGZ1bmN0aW9uKG9iaiwgbmFtZSwgbG9jKSB7XG4gICAgICBpZiAoIW9iaiB8fCAhKG5hbWUgaW4gb2JqKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdcIicgKyBuYW1lICsgJ1wiIG5vdCBkZWZpbmVkIGluICcgKyBvYmosIHtcbiAgICAgICAgICBsb2M6IGxvY1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBjb250YWluZXIubG9va3VwUHJvcGVydHkob2JqLCBuYW1lKTtcbiAgICB9LFxuICAgIGxvb2t1cFByb3BlcnR5OiBmdW5jdGlvbihwYXJlbnQsIHByb3BlcnR5TmFtZSkge1xuICAgICAgbGV0IHJlc3VsdCA9IHBhcmVudFtwcm9wZXJ0eU5hbWVdO1xuICAgICAgaWYgKHJlc3VsdCA9PSBudWxsKSB7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICB9XG4gICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHBhcmVudCwgcHJvcGVydHlOYW1lKSkge1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgfVxuXG4gICAgICBpZiAocmVzdWx0SXNBbGxvd2VkKHJlc3VsdCwgY29udGFpbmVyLnByb3RvQWNjZXNzQ29udHJvbCwgcHJvcGVydHlOYW1lKSkge1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgfVxuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9LFxuICAgIGxvb2t1cDogZnVuY3Rpb24oZGVwdGhzLCBuYW1lKSB7XG4gICAgICBjb25zdCBsZW4gPSBkZXB0aHMubGVuZ3RoO1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW47IGkrKykge1xuICAgICAgICBsZXQgcmVzdWx0ID0gZGVwdGhzW2ldICYmIGNvbnRhaW5lci5sb29rdXBQcm9wZXJ0eShkZXB0aHNbaV0sIG5hbWUpO1xuICAgICAgICBpZiAocmVzdWx0ICE9IG51bGwpIHtcbiAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcbiAgICBsYW1iZGE6IGZ1bmN0aW9uKGN1cnJlbnQsIGNvbnRleHQpIHtcbiAgICAgIHJldHVybiB0eXBlb2YgY3VycmVudCA9PT0gJ2Z1bmN0aW9uJyA/IGN1cnJlbnQuY2FsbChjb250ZXh0KSA6IGN1cnJlbnQ7XG4gICAgfSxcblxuICAgIGVzY2FwZUV4cHJlc3Npb246IFV0aWxzLmVzY2FwZUV4cHJlc3Npb24sXG4gICAgaW52b2tlUGFydGlhbDogaW52b2tlUGFydGlhbFdyYXBwZXIsXG5cbiAgICBmbjogZnVuY3Rpb24oaSkge1xuICAgICAgbGV0IHJldCA9IHRlbXBsYXRlU3BlY1tpXTtcbiAgICAgIHJldC5kZWNvcmF0b3IgPSB0ZW1wbGF0ZVNwZWNbaSArICdfZCddO1xuICAgICAgcmV0dXJuIHJldDtcbiAgICB9LFxuXG4gICAgcHJvZ3JhbXM6IFtdLFxuICAgIHByb2dyYW06IGZ1bmN0aW9uKGksIGRhdGEsIGRlY2xhcmVkQmxvY2tQYXJhbXMsIGJsb2NrUGFyYW1zLCBkZXB0aHMpIHtcbiAgICAgIGxldCBwcm9ncmFtV3JhcHBlciA9IHRoaXMucHJvZ3JhbXNbaV0sXG4gICAgICAgIGZuID0gdGhpcy5mbihpKTtcbiAgICAgIGlmIChkYXRhIHx8IGRlcHRocyB8fCBibG9ja1BhcmFtcyB8fCBkZWNsYXJlZEJsb2NrUGFyYW1zKSB7XG4gICAgICAgIHByb2dyYW1XcmFwcGVyID0gd3JhcFByb2dyYW0oXG4gICAgICAgICAgdGhpcyxcbiAgICAgICAgICBpLFxuICAgICAgICAgIGZuLFxuICAgICAgICAgIGRhdGEsXG4gICAgICAgICAgZGVjbGFyZWRCbG9ja1BhcmFtcyxcbiAgICAgICAgICBibG9ja1BhcmFtcyxcbiAgICAgICAgICBkZXB0aHNcbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSBpZiAoIXByb2dyYW1XcmFwcGVyKSB7XG4gICAgICAgIHByb2dyYW1XcmFwcGVyID0gdGhpcy5wcm9ncmFtc1tpXSA9IHdyYXBQcm9ncmFtKHRoaXMsIGksIGZuKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBwcm9ncmFtV3JhcHBlcjtcbiAgICB9LFxuXG4gICAgZGF0YTogZnVuY3Rpb24odmFsdWUsIGRlcHRoKSB7XG4gICAgICB3aGlsZSAodmFsdWUgJiYgZGVwdGgtLSkge1xuICAgICAgICB2YWx1ZSA9IHZhbHVlLl9wYXJlbnQ7XG4gICAgICB9XG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfSxcbiAgICBtZXJnZUlmTmVlZGVkOiBmdW5jdGlvbihwYXJhbSwgY29tbW9uKSB7XG4gICAgICBsZXQgb2JqID0gcGFyYW0gfHwgY29tbW9uO1xuXG4gICAgICBpZiAocGFyYW0gJiYgY29tbW9uICYmIHBhcmFtICE9PSBjb21tb24pIHtcbiAgICAgICAgb2JqID0gVXRpbHMuZXh0ZW5kKHt9LCBjb21tb24sIHBhcmFtKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG9iajtcbiAgICB9LFxuICAgIC8vIEFuIGVtcHR5IG9iamVjdCB0byB1c2UgYXMgcmVwbGFjZW1lbnQgZm9yIG51bGwtY29udGV4dHNcbiAgICBudWxsQ29udGV4dDogT2JqZWN0LnNlYWwoe30pLFxuXG4gICAgbm9vcDogZW52LlZNLm5vb3AsXG4gICAgY29tcGlsZXJJbmZvOiB0ZW1wbGF0ZVNwZWMuY29tcGlsZXJcbiAgfTtcblxuICBmdW5jdGlvbiByZXQoY29udGV4dCwgb3B0aW9ucyA9IHt9KSB7XG4gICAgbGV0IGRhdGEgPSBvcHRpb25zLmRhdGE7XG5cbiAgICByZXQuX3NldHVwKG9wdGlvbnMpO1xuICAgIGlmICghb3B0aW9ucy5wYXJ0aWFsICYmIHRlbXBsYXRlU3BlYy51c2VEYXRhKSB7XG4gICAgICBkYXRhID0gaW5pdERhdGEoY29udGV4dCwgZGF0YSk7XG4gICAgfVxuICAgIGxldCBkZXB0aHMsXG4gICAgICBibG9ja1BhcmFtcyA9IHRlbXBsYXRlU3BlYy51c2VCbG9ja1BhcmFtcyA/IFtdIDogdW5kZWZpbmVkO1xuICAgIGlmICh0ZW1wbGF0ZVNwZWMudXNlRGVwdGhzKSB7XG4gICAgICBpZiAob3B0aW9ucy5kZXB0aHMpIHtcbiAgICAgICAgZGVwdGhzID1cbiAgICAgICAgICBjb250ZXh0ICE9IG9wdGlvbnMuZGVwdGhzWzBdXG4gICAgICAgICAgICA/IFtjb250ZXh0XS5jb25jYXQob3B0aW9ucy5kZXB0aHMpXG4gICAgICAgICAgICA6IG9wdGlvbnMuZGVwdGhzO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZGVwdGhzID0gW2NvbnRleHRdO1xuICAgICAgfVxuICAgIH1cblxuICAgIGZ1bmN0aW9uIG1haW4oY29udGV4dCAvKiwgb3B0aW9ucyovKSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICAnJyArXG4gICAgICAgIHRlbXBsYXRlU3BlYy5tYWluKFxuICAgICAgICAgIGNvbnRhaW5lcixcbiAgICAgICAgICBjb250ZXh0LFxuICAgICAgICAgIGNvbnRhaW5lci5oZWxwZXJzLFxuICAgICAgICAgIGNvbnRhaW5lci5wYXJ0aWFscyxcbiAgICAgICAgICBkYXRhLFxuICAgICAgICAgIGJsb2NrUGFyYW1zLFxuICAgICAgICAgIGRlcHRoc1xuICAgICAgICApXG4gICAgICApO1xuICAgIH1cblxuICAgIG1haW4gPSBleGVjdXRlRGVjb3JhdG9ycyhcbiAgICAgIHRlbXBsYXRlU3BlYy5tYWluLFxuICAgICAgbWFpbixcbiAgICAgIGNvbnRhaW5lcixcbiAgICAgIG9wdGlvbnMuZGVwdGhzIHx8IFtdLFxuICAgICAgZGF0YSxcbiAgICAgIGJsb2NrUGFyYW1zXG4gICAgKTtcbiAgICByZXR1cm4gbWFpbihjb250ZXh0LCBvcHRpb25zKTtcbiAgfVxuXG4gIHJldC5pc1RvcCA9IHRydWU7XG5cbiAgcmV0Ll9zZXR1cCA9IGZ1bmN0aW9uKG9wdGlvbnMpIHtcbiAgICBpZiAoIW9wdGlvbnMucGFydGlhbCkge1xuICAgICAgbGV0IG1lcmdlZEhlbHBlcnMgPSB7fTtcbiAgICAgIGFkZEhlbHBlcnMobWVyZ2VkSGVscGVycywgZW52LmhlbHBlcnMsIGNvbnRhaW5lcik7XG4gICAgICBhZGRIZWxwZXJzKG1lcmdlZEhlbHBlcnMsIG9wdGlvbnMuaGVscGVycywgY29udGFpbmVyKTtcbiAgICAgIGNvbnRhaW5lci5oZWxwZXJzID0gbWVyZ2VkSGVscGVycztcblxuICAgICAgaWYgKHRlbXBsYXRlU3BlYy51c2VQYXJ0aWFsKSB7XG4gICAgICAgIC8vIFVzZSBtZXJnZUlmTmVlZGVkIGhlcmUgdG8gcHJldmVudCBjb21waWxpbmcgZ2xvYmFsIHBhcnRpYWxzIG11bHRpcGxlIHRpbWVzXG4gICAgICAgIGNvbnRhaW5lci5wYXJ0aWFscyA9IGNvbnRhaW5lci5tZXJnZUlmTmVlZGVkKFxuICAgICAgICAgIG9wdGlvbnMucGFydGlhbHMsXG4gICAgICAgICAgZW52LnBhcnRpYWxzXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICBpZiAodGVtcGxhdGVTcGVjLnVzZVBhcnRpYWwgfHwgdGVtcGxhdGVTcGVjLnVzZURlY29yYXRvcnMpIHtcbiAgICAgICAgY29udGFpbmVyLmRlY29yYXRvcnMgPSBVdGlscy5leHRlbmQoXG4gICAgICAgICAge30sXG4gICAgICAgICAgZW52LmRlY29yYXRvcnMsXG4gICAgICAgICAgb3B0aW9ucy5kZWNvcmF0b3JzXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIGNvbnRhaW5lci5ob29rcyA9IHt9O1xuICAgICAgY29udGFpbmVyLnByb3RvQWNjZXNzQ29udHJvbCA9IGNyZWF0ZVByb3RvQWNjZXNzQ29udHJvbChvcHRpb25zKTtcblxuICAgICAgbGV0IGtlZXBIZWxwZXJJbkhlbHBlcnMgPVxuICAgICAgICBvcHRpb25zLmFsbG93Q2FsbHNUb0hlbHBlck1pc3NpbmcgfHxcbiAgICAgICAgdGVtcGxhdGVXYXNQcmVjb21waWxlZFdpdGhDb21waWxlclY3O1xuICAgICAgbW92ZUhlbHBlclRvSG9va3MoY29udGFpbmVyLCAnaGVscGVyTWlzc2luZycsIGtlZXBIZWxwZXJJbkhlbHBlcnMpO1xuICAgICAgbW92ZUhlbHBlclRvSG9va3MoY29udGFpbmVyLCAnYmxvY2tIZWxwZXJNaXNzaW5nJywga2VlcEhlbHBlckluSGVscGVycyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnRhaW5lci5wcm90b0FjY2Vzc0NvbnRyb2wgPSBvcHRpb25zLnByb3RvQWNjZXNzQ29udHJvbDsgLy8gaW50ZXJuYWwgb3B0aW9uXG4gICAgICBjb250YWluZXIuaGVscGVycyA9IG9wdGlvbnMuaGVscGVycztcbiAgICAgIGNvbnRhaW5lci5wYXJ0aWFscyA9IG9wdGlvbnMucGFydGlhbHM7XG4gICAgICBjb250YWluZXIuZGVjb3JhdG9ycyA9IG9wdGlvbnMuZGVjb3JhdG9ycztcbiAgICAgIGNvbnRhaW5lci5ob29rcyA9IG9wdGlvbnMuaG9va3M7XG4gICAgfVxuICB9O1xuXG4gIHJldC5fY2hpbGQgPSBmdW5jdGlvbihpLCBkYXRhLCBibG9ja1BhcmFtcywgZGVwdGhzKSB7XG4gICAgaWYgKHRlbXBsYXRlU3BlYy51c2VCbG9ja1BhcmFtcyAmJiAhYmxvY2tQYXJhbXMpIHtcbiAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oJ211c3QgcGFzcyBibG9jayBwYXJhbXMnKTtcbiAgICB9XG4gICAgaWYgKHRlbXBsYXRlU3BlYy51c2VEZXB0aHMgJiYgIWRlcHRocykge1xuICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbignbXVzdCBwYXNzIHBhcmVudCBkZXB0aHMnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gd3JhcFByb2dyYW0oXG4gICAgICBjb250YWluZXIsXG4gICAgICBpLFxuICAgICAgdGVtcGxhdGVTcGVjW2ldLFxuICAgICAgZGF0YSxcbiAgICAgIDAsXG4gICAgICBibG9ja1BhcmFtcyxcbiAgICAgIGRlcHRoc1xuICAgICk7XG4gIH07XG4gIHJldHVybiByZXQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB3cmFwUHJvZ3JhbShcbiAgY29udGFpbmVyLFxuICBpLFxuICBmbixcbiAgZGF0YSxcbiAgZGVjbGFyZWRCbG9ja1BhcmFtcyxcbiAgYmxvY2tQYXJhbXMsXG4gIGRlcHRoc1xuKSB7XG4gIGZ1bmN0aW9uIHByb2coY29udGV4dCwgb3B0aW9ucyA9IHt9KSB7XG4gICAgbGV0IGN1cnJlbnREZXB0aHMgPSBkZXB0aHM7XG4gICAgaWYgKFxuICAgICAgZGVwdGhzICYmXG4gICAgICBjb250ZXh0ICE9IGRlcHRoc1swXSAmJlxuICAgICAgIShjb250ZXh0ID09PSBjb250YWluZXIubnVsbENvbnRleHQgJiYgZGVwdGhzWzBdID09PSBudWxsKVxuICAgICkge1xuICAgICAgY3VycmVudERlcHRocyA9IFtjb250ZXh0XS5jb25jYXQoZGVwdGhzKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZm4oXG4gICAgICBjb250YWluZXIsXG4gICAgICBjb250ZXh0LFxuICAgICAgY29udGFpbmVyLmhlbHBlcnMsXG4gICAgICBjb250YWluZXIucGFydGlhbHMsXG4gICAgICBvcHRpb25zLmRhdGEgfHwgZGF0YSxcbiAgICAgIGJsb2NrUGFyYW1zICYmIFtvcHRpb25zLmJsb2NrUGFyYW1zXS5jb25jYXQoYmxvY2tQYXJhbXMpLFxuICAgICAgY3VycmVudERlcHRoc1xuICAgICk7XG4gIH1cblxuICBwcm9nID0gZXhlY3V0ZURlY29yYXRvcnMoZm4sIHByb2csIGNvbnRhaW5lciwgZGVwdGhzLCBkYXRhLCBibG9ja1BhcmFtcyk7XG5cbiAgcHJvZy5wcm9ncmFtID0gaTtcbiAgcHJvZy5kZXB0aCA9IGRlcHRocyA/IGRlcHRocy5sZW5ndGggOiAwO1xuICBwcm9nLmJsb2NrUGFyYW1zID0gZGVjbGFyZWRCbG9ja1BhcmFtcyB8fCAwO1xuICByZXR1cm4gcHJvZztcbn1cblxuLyoqXG4gKiBUaGlzIGlzIGN1cnJlbnRseSBwYXJ0IG9mIHRoZSBvZmZpY2lhbCBBUEksIHRoZXJlZm9yZSBpbXBsZW1lbnRhdGlvbiBkZXRhaWxzIHNob3VsZCBub3QgYmUgY2hhbmdlZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVQYXJ0aWFsKHBhcnRpYWwsIGNvbnRleHQsIG9wdGlvbnMpIHtcbiAgaWYgKCFwYXJ0aWFsKSB7XG4gICAgaWYgKG9wdGlvbnMubmFtZSA9PT0gJ0BwYXJ0aWFsLWJsb2NrJykge1xuICAgICAgcGFydGlhbCA9IGxvb2t1cE93blByb3BlcnR5KG9wdGlvbnMuZGF0YSwgJ3BhcnRpYWwtYmxvY2snKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcGFydGlhbCA9IGxvb2t1cE93blByb3BlcnR5KG9wdGlvbnMucGFydGlhbHMsIG9wdGlvbnMubmFtZSk7XG4gICAgfVxuICB9IGVsc2UgaWYgKCFwYXJ0aWFsLmNhbGwgJiYgIW9wdGlvbnMubmFtZSkge1xuICAgIC8vIFRoaXMgaXMgYSBkeW5hbWljIHBhcnRpYWwgdGhhdCByZXR1cm5lZCBhIHN0cmluZ1xuICAgIG9wdGlvbnMubmFtZSA9IHBhcnRpYWw7XG4gICAgcGFydGlhbCA9IGxvb2t1cE93blByb3BlcnR5KG9wdGlvbnMucGFydGlhbHMsIHBhcnRpYWwpO1xuICB9XG4gIHJldHVybiBwYXJ0aWFsO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW52b2tlUGFydGlhbChwYXJ0aWFsLCBjb250ZXh0LCBvcHRpb25zKSB7XG4gIC8vIFVzZSB0aGUgY3VycmVudCBjbG9zdXJlIGNvbnRleHQgdG8gc2F2ZSB0aGUgcGFydGlhbC1ibG9jayBpZiB0aGlzIHBhcnRpYWxcbiAgY29uc3QgY3VycmVudFBhcnRpYWxCbG9jayA9IGxvb2t1cE93blByb3BlcnR5KG9wdGlvbnMuZGF0YSwgJ3BhcnRpYWwtYmxvY2snKTtcbiAgb3B0aW9ucy5wYXJ0aWFsID0gdHJ1ZTtcbiAgaWYgKG9wdGlvbnMuaWRzKSB7XG4gICAgb3B0aW9ucy5kYXRhLmNvbnRleHRQYXRoID0gb3B0aW9ucy5pZHNbMF0gfHwgb3B0aW9ucy5kYXRhLmNvbnRleHRQYXRoO1xuICB9XG5cbiAgbGV0IHBhcnRpYWxCbG9jaztcbiAgaWYgKG9wdGlvbnMuZm4gJiYgb3B0aW9ucy5mbiAhPT0gbm9vcCkge1xuICAgIG9wdGlvbnMuZGF0YSA9IGNyZWF0ZUZyYW1lKG9wdGlvbnMuZGF0YSk7XG4gICAgLy8gV3JhcHBlciBmdW5jdGlvbiB0byBnZXQgYWNjZXNzIHRvIGN1cnJlbnRQYXJ0aWFsQmxvY2sgZnJvbSB0aGUgY2xvc3VyZVxuICAgIGxldCBmbiA9IG9wdGlvbnMuZm47XG4gICAgcGFydGlhbEJsb2NrID0gb3B0aW9ucy5kYXRhWydwYXJ0aWFsLWJsb2NrJ10gPSBmdW5jdGlvbiBwYXJ0aWFsQmxvY2tXcmFwcGVyKFxuICAgICAgY29udGV4dCxcbiAgICAgIG9wdGlvbnMgPSB7fVxuICAgICkge1xuICAgICAgLy8gUmVzdG9yZSB0aGUgcGFydGlhbC1ibG9jayBmcm9tIHRoZSBjbG9zdXJlIGZvciB0aGUgZXhlY3V0aW9uIG9mIHRoZSBibG9ja1xuICAgICAgLy8gaS5lLiB0aGUgcGFydCBpbnNpZGUgdGhlIGJsb2NrIG9mIHRoZSBwYXJ0aWFsIGNhbGwuXG4gICAgICBvcHRpb25zLmRhdGEgPSBjcmVhdGVGcmFtZShvcHRpb25zLmRhdGEpO1xuICAgICAgb3B0aW9ucy5kYXRhWydwYXJ0aWFsLWJsb2NrJ10gPSBjdXJyZW50UGFydGlhbEJsb2NrO1xuICAgICAgcmV0dXJuIGZuKGNvbnRleHQsIG9wdGlvbnMpO1xuICAgIH07XG4gICAgaWYgKGZuLnBhcnRpYWxzKSB7XG4gICAgICBvcHRpb25zLnBhcnRpYWxzID0gVXRpbHMuZXh0ZW5kKHt9LCBvcHRpb25zLnBhcnRpYWxzLCBmbi5wYXJ0aWFscyk7XG4gICAgfVxuICB9XG5cbiAgaWYgKHBhcnRpYWwgPT09IHVuZGVmaW5lZCAmJiBwYXJ0aWFsQmxvY2spIHtcbiAgICBwYXJ0aWFsID0gcGFydGlhbEJsb2NrO1xuICB9XG5cbiAgaWYgKHBhcnRpYWwgPT09IHVuZGVmaW5lZCkge1xuICAgIHRocm93IG5ldyBFeGNlcHRpb24oJ1RoZSBwYXJ0aWFsICcgKyBvcHRpb25zLm5hbWUgKyAnIGNvdWxkIG5vdCBiZSBmb3VuZCcpO1xuICB9IGVsc2UgaWYgKHBhcnRpYWwgaW5zdGFuY2VvZiBGdW5jdGlvbikge1xuICAgIHJldHVybiBwYXJ0aWFsKGNvbnRleHQsIG9wdGlvbnMpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBub29wKCkge1xuICByZXR1cm4gJyc7XG59XG5cbmZ1bmN0aW9uIGxvb2t1cE93blByb3BlcnR5KG9iaiwgbmFtZSkge1xuICBpZiAob2JqICYmIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmosIG5hbWUpKSB7XG4gICAgcmV0dXJuIG9ialtuYW1lXTtcbiAgfVxufVxuXG5mdW5jdGlvbiBpbml0RGF0YShjb250ZXh0LCBkYXRhKSB7XG4gIGlmICghZGF0YSB8fCAhKCdyb290JyBpbiBkYXRhKSkge1xuICAgIGRhdGEgPSBkYXRhID8gY3JlYXRlRnJhbWUoZGF0YSkgOiB7fTtcbiAgICBkYXRhLnJvb3QgPSBjb250ZXh0O1xuICB9XG4gIHJldHVybiBkYXRhO1xufVxuXG5mdW5jdGlvbiBleGVjdXRlRGVjb3JhdG9ycyhmbiwgcHJvZywgY29udGFpbmVyLCBkZXB0aHMsIGRhdGEsIGJsb2NrUGFyYW1zKSB7XG4gIGlmIChmbi5kZWNvcmF0b3IpIHtcbiAgICBsZXQgcHJvcHMgPSB7fTtcbiAgICBwcm9nID0gZm4uZGVjb3JhdG9yKFxuICAgICAgcHJvZyxcbiAgICAgIHByb3BzLFxuICAgICAgY29udGFpbmVyLFxuICAgICAgZGVwdGhzICYmIGRlcHRoc1swXSxcbiAgICAgIGRhdGEsXG4gICAgICBibG9ja1BhcmFtcyxcbiAgICAgIGRlcHRoc1xuICAgICk7XG4gICAgVXRpbHMuZXh0ZW5kKHByb2csIHByb3BzKTtcbiAgfVxuICByZXR1cm4gcHJvZztcbn1cblxuZnVuY3Rpb24gYWRkSGVscGVycyhtZXJnZWRIZWxwZXJzLCBoZWxwZXJzLCBjb250YWluZXIpIHtcbiAgaWYgKCFoZWxwZXJzKSByZXR1cm47XG4gIE9iamVjdC5rZXlzKGhlbHBlcnMpLmZvckVhY2goaGVscGVyTmFtZSA9PiB7XG4gICAgbGV0IGhlbHBlciA9IGhlbHBlcnNbaGVscGVyTmFtZV07XG4gICAgbWVyZ2VkSGVscGVyc1toZWxwZXJOYW1lXSA9IHBhc3NMb29rdXBQcm9wZXJ0eU9wdGlvbihoZWxwZXIsIGNvbnRhaW5lcik7XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBwYXNzTG9va3VwUHJvcGVydHlPcHRpb24oaGVscGVyLCBjb250YWluZXIpIHtcbiAgY29uc3QgbG9va3VwUHJvcGVydHkgPSBjb250YWluZXIubG9va3VwUHJvcGVydHk7XG4gIHJldHVybiB3cmFwSGVscGVyKGhlbHBlciwgb3B0aW9ucyA9PiB7XG4gICAgb3B0aW9ucy5sb29rdXBQcm9wZXJ0eSA9IGxvb2t1cFByb3BlcnR5O1xuICAgIHJldHVybiBvcHRpb25zO1xuICB9KTtcbn1cbiJdfQ==\n","// Build out our basic SafeString type\n'use strict';\n\nexports.__esModule = true;\nfunction SafeString(string) {\n this.string = string;\n}\n\nSafeString.prototype.toString = SafeString.prototype.toHTML = function () {\n return '' + this.string;\n};\n\nexports['default'] = SafeString;\nmodule.exports = exports['default'];\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL3NhZmUtc3RyaW5nLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFDQSxTQUFTLFVBQVUsQ0FBQyxNQUFNLEVBQUU7QUFDMUIsTUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7Q0FDdEI7O0FBRUQsVUFBVSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsWUFBVztBQUN2RSxTQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO0NBQ3pCLENBQUM7O3FCQUVhLFVBQVUiLCJmaWxlIjoic2FmZS1zdHJpbmcuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBCdWlsZCBvdXQgb3VyIGJhc2ljIFNhZmVTdHJpbmcgdHlwZVxuZnVuY3Rpb24gU2FmZVN0cmluZyhzdHJpbmcpIHtcbiAgdGhpcy5zdHJpbmcgPSBzdHJpbmc7XG59XG5cblNhZmVTdHJpbmcucHJvdG90eXBlLnRvU3RyaW5nID0gU2FmZVN0cmluZy5wcm90b3R5cGUudG9IVE1MID0gZnVuY3Rpb24oKSB7XG4gIHJldHVybiAnJyArIHRoaXMuc3RyaW5nO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgU2FmZVN0cmluZztcbiJdfQ==\n","'use strict';\n\nexports.__esModule = true;\nexports.extend = extend;\nexports.indexOf = indexOf;\nexports.escapeExpression = escapeExpression;\nexports.isEmpty = isEmpty;\nexports.createFrame = createFrame;\nexports.blockParams = blockParams;\nexports.appendContextPath = appendContextPath;\nvar escape = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": ''',\n '`': '`',\n '=': '='\n};\n\nvar badChars = /[&<>\"'`=]/g,\n possible = /[&<>\"'`=]/;\n\nfunction escapeChar(chr) {\n return escape[chr];\n}\n\nfunction extend(obj /* , ...source */) {\n for (var i = 1; i < arguments.length; i++) {\n for (var key in arguments[i]) {\n if (Object.prototype.hasOwnProperty.call(arguments[i], key)) {\n obj[key] = arguments[i][key];\n }\n }\n }\n\n return obj;\n}\n\nvar toString = Object.prototype.toString;\n\nexports.toString = toString;\n// Sourced from lodash\n// https://github.com/bestiejs/lodash/blob/master/LICENSE.txt\n/* eslint-disable func-style */\nvar isFunction = function isFunction(value) {\n return typeof value === 'function';\n};\n// fallback for older versions of Chrome and Safari\n/* istanbul ignore next */\nif (isFunction(/x/)) {\n exports.isFunction = isFunction = function (value) {\n return typeof value === 'function' && toString.call(value) === '[object Function]';\n };\n}\nexports.isFunction = isFunction;\n\n/* eslint-enable func-style */\n\n/* istanbul ignore next */\nvar isArray = Array.isArray || function (value) {\n return value && typeof value === 'object' ? toString.call(value) === '[object Array]' : false;\n};\n\nexports.isArray = isArray;\n// Older IE versions do not directly support indexOf so we must implement our own, sadly.\n\nfunction indexOf(array, value) {\n for (var i = 0, len = array.length; i < len; i++) {\n if (array[i] === value) {\n return i;\n }\n }\n return -1;\n}\n\nfunction escapeExpression(string) {\n if (typeof string !== 'string') {\n // don't escape SafeStrings, since they're already safe\n if (string && string.toHTML) {\n return string.toHTML();\n } else if (string == null) {\n return '';\n } else if (!string) {\n return string + '';\n }\n\n // Force a string conversion as this will be done by the append regardless and\n // the regex test will do this transparently behind the scenes, causing issues if\n // an object's to string has escaped characters in it.\n string = '' + string;\n }\n\n if (!possible.test(string)) {\n return string;\n }\n return string.replace(badChars, escapeChar);\n}\n\nfunction isEmpty(value) {\n if (!value && value !== 0) {\n return true;\n } else if (isArray(value) && value.length === 0) {\n return true;\n } else {\n return false;\n }\n}\n\nfunction createFrame(object) {\n var frame = extend({}, object);\n frame._parent = object;\n return frame;\n}\n\nfunction blockParams(params, ids) {\n params.path = ids;\n return params;\n}\n\nfunction appendContextPath(contextPath, id) {\n return (contextPath ? contextPath + '.' : '') + id;\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL3V0aWxzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBQSxJQUFNLE1BQU0sR0FBRztBQUNiLEtBQUcsRUFBRSxPQUFPO0FBQ1osS0FBRyxFQUFFLE1BQU07QUFDWCxLQUFHLEVBQUUsTUFBTTtBQUNYLEtBQUcsRUFBRSxRQUFRO0FBQ2IsS0FBRyxFQUFFLFFBQVE7QUFDYixLQUFHLEVBQUUsUUFBUTtBQUNiLEtBQUcsRUFBRSxRQUFRO0NBQ2QsQ0FBQzs7QUFFRixJQUFNLFFBQVEsR0FBRyxZQUFZO0lBQzNCLFFBQVEsR0FBRyxXQUFXLENBQUM7O0FBRXpCLFNBQVMsVUFBVSxDQUFDLEdBQUcsRUFBRTtBQUN2QixTQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztDQUNwQjs7QUFFTSxTQUFTLE1BQU0sQ0FBQyxHQUFHLG9CQUFvQjtBQUM1QyxPQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtBQUN6QyxTQUFLLElBQUksR0FBRyxJQUFJLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtBQUM1QixVQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUU7QUFDM0QsV0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztPQUM5QjtLQUNGO0dBQ0Y7O0FBRUQsU0FBTyxHQUFHLENBQUM7Q0FDWjs7QUFFTSxJQUFJLFFBQVEsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQzs7Ozs7O0FBS2hELElBQUksVUFBVSxHQUFHLG9CQUFTLEtBQUssRUFBRTtBQUMvQixTQUFPLE9BQU8sS0FBSyxLQUFLLFVBQVUsQ0FBQztDQUNwQyxDQUFDOzs7QUFHRixJQUFJLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRTtBQUNuQixVQU9PLFVBQVUsR0FQakIsVUFBVSxHQUFHLFVBQVMsS0FBSyxFQUFFO0FBQzNCLFdBQ0UsT0FBTyxLQUFLLEtBQUssVUFBVSxJQUMzQixRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLG1CQUFtQixDQUM1QztHQUNILENBQUM7Q0FDSDtRQUNRLFVBQVUsR0FBVixVQUFVOzs7OztBQUlaLElBQU0sT0FBTyxHQUNsQixLQUFLLENBQUMsT0FBTyxJQUNiLFVBQVMsS0FBSyxFQUFFO0FBQ2QsU0FBTyxLQUFLLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxHQUNyQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLGdCQUFnQixHQUN6QyxLQUFLLENBQUM7Q0FDWCxDQUFDOzs7OztBQUdHLFNBQVMsT0FBTyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUU7QUFDcEMsT0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRTtBQUNoRCxRQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLEVBQUU7QUFDdEIsYUFBTyxDQUFDLENBQUM7S0FDVjtHQUNGO0FBQ0QsU0FBTyxDQUFDLENBQUMsQ0FBQztDQUNYOztBQUVNLFNBQVMsZ0JBQWdCLENBQUMsTUFBTSxFQUFFO0FBQ3ZDLE1BQUksT0FBTyxNQUFNLEtBQUssUUFBUSxFQUFFOztBQUU5QixRQUFJLE1BQU0sSUFBSSxNQUFNLENBQUMsTUFBTSxFQUFFO0FBQzNCLGFBQU8sTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO0tBQ3hCLE1BQU0sSUFBSSxNQUFNLElBQUksSUFBSSxFQUFFO0FBQ3pCLGFBQU8sRUFBRSxDQUFDO0tBQ1gsTUFBTSxJQUFJLENBQUMsTUFBTSxFQUFFO0FBQ2xCLGFBQU8sTUFBTSxHQUFHLEVBQUUsQ0FBQztLQUNwQjs7Ozs7QUFLRCxVQUFNLEdBQUcsRUFBRSxHQUFHLE1BQU0sQ0FBQztHQUN0Qjs7QUFFRCxNQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRTtBQUMxQixXQUFPLE1BQU0sQ0FBQztHQUNmO0FBQ0QsU0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQztDQUM3Qzs7QUFFTSxTQUFTLE9BQU8sQ0FBQyxLQUFLLEVBQUU7QUFDN0IsTUFBSSxDQUFDLEtBQUssSUFBSSxLQUFLLEtBQUssQ0FBQyxFQUFFO0FBQ3pCLFdBQU8sSUFBSSxDQUFDO0dBQ2IsTUFBTSxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtBQUMvQyxXQUFPLElBQUksQ0FBQztHQUNiLE1BQU07QUFDTCxXQUFPLEtBQUssQ0FBQztHQUNkO0NBQ0Y7O0FBRU0sU0FBUyxXQUFXLENBQUMsTUFBTSxFQUFFO0FBQ2xDLE1BQUksS0FBSyxHQUFHLE1BQU0sQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDL0IsT0FBSyxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7QUFDdkIsU0FBTyxLQUFLLENBQUM7Q0FDZDs7QUFFTSxTQUFTLFdBQVcsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFO0FBQ3ZDLFFBQU0sQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDO0FBQ2xCLFNBQU8sTUFBTSxDQUFDO0NBQ2Y7O0FBRU0sU0FBUyxpQkFBaUIsQ0FBQyxXQUFXLEVBQUUsRUFBRSxFQUFFO0FBQ2pELFNBQU8sQ0FBQyxXQUFXLEdBQUcsV0FBVyxHQUFHLEdBQUcsR0FBRyxFQUFFLENBQUEsR0FBSSxFQUFFLENBQUM7Q0FDcEQiLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBlc2NhcGUgPSB7XG4gICcmJzogJyZhbXA7JyxcbiAgJzwnOiAnJmx0OycsXG4gICc+JzogJyZndDsnLFxuICAnXCInOiAnJnF1b3Q7JyxcbiAgXCInXCI6ICcmI3gyNzsnLFxuICAnYCc6ICcmI3g2MDsnLFxuICAnPSc6ICcmI3gzRDsnXG59O1xuXG5jb25zdCBiYWRDaGFycyA9IC9bJjw+XCInYD1dL2csXG4gIHBvc3NpYmxlID0gL1smPD5cIidgPV0vO1xuXG5mdW5jdGlvbiBlc2NhcGVDaGFyKGNocikge1xuICByZXR1cm4gZXNjYXBlW2Nocl07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBleHRlbmQob2JqIC8qICwgLi4uc291cmNlICovKSB7XG4gIGZvciAobGV0IGkgPSAxOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7XG4gICAgZm9yIChsZXQga2V5IGluIGFyZ3VtZW50c1tpXSkge1xuICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChhcmd1bWVudHNbaV0sIGtleSkpIHtcbiAgICAgICAgb2JqW2tleV0gPSBhcmd1bWVudHNbaV1ba2V5XTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gb2JqO1xufVxuXG5leHBvcnQgbGV0IHRvU3RyaW5nID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZztcblxuLy8gU291cmNlZCBmcm9tIGxvZGFzaFxuLy8gaHR0cHM6Ly9naXRodWIuY29tL2Jlc3RpZWpzL2xvZGFzaC9ibG9iL21hc3Rlci9MSUNFTlNFLnR4dFxuLyogZXNsaW50LWRpc2FibGUgZnVuYy1zdHlsZSAqL1xubGV0IGlzRnVuY3Rpb24gPSBmdW5jdGlvbih2YWx1ZSkge1xuICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnZnVuY3Rpb24nO1xufTtcbi8vIGZhbGxiYWNrIGZvciBvbGRlciB2ZXJzaW9ucyBvZiBDaHJvbWUgYW5kIFNhZmFyaVxuLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbmlmIChpc0Z1bmN0aW9uKC94LykpIHtcbiAgaXNGdW5jdGlvbiA9IGZ1bmN0aW9uKHZhbHVlKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIHR5cGVvZiB2YWx1ZSA9PT0gJ2Z1bmN0aW9uJyAmJlxuICAgICAgdG9TdHJpbmcuY2FsbCh2YWx1ZSkgPT09ICdbb2JqZWN0IEZ1bmN0aW9uXSdcbiAgICApO1xuICB9O1xufVxuZXhwb3J0IHsgaXNGdW5jdGlvbiB9O1xuLyogZXNsaW50LWVuYWJsZSBmdW5jLXN0eWxlICovXG5cbi8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG5leHBvcnQgY29uc3QgaXNBcnJheSA9XG4gIEFycmF5LmlzQXJyYXkgfHxcbiAgZnVuY3Rpb24odmFsdWUpIHtcbiAgICByZXR1cm4gdmFsdWUgJiYgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0J1xuICAgICAgPyB0b1N0cmluZy5jYWxsKHZhbHVlKSA9PT0gJ1tvYmplY3QgQXJyYXldJ1xuICAgICAgOiBmYWxzZTtcbiAgfTtcblxuLy8gT2xkZXIgSUUgdmVyc2lvbnMgZG8gbm90IGRpcmVjdGx5IHN1cHBvcnQgaW5kZXhPZiBzbyB3ZSBtdXN0IGltcGxlbWVudCBvdXIgb3duLCBzYWRseS5cbmV4cG9ydCBmdW5jdGlvbiBpbmRleE9mKGFycmF5LCB2YWx1ZSkge1xuICBmb3IgKGxldCBpID0gMCwgbGVuID0gYXJyYXkubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcbiAgICBpZiAoYXJyYXlbaV0gPT09IHZhbHVlKSB7XG4gICAgICByZXR1cm4gaTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIC0xO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZXNjYXBlRXhwcmVzc2lvbihzdHJpbmcpIHtcbiAgaWYgKHR5cGVvZiBzdHJpbmcgIT09ICdzdHJpbmcnKSB7XG4gICAgLy8gZG9uJ3QgZXNjYXBlIFNhZmVTdHJpbmdzLCBzaW5jZSB0aGV5J3JlIGFscmVhZHkgc2FmZVxuICAgIGlmIChzdHJpbmcgJiYgc3RyaW5nLnRvSFRNTCkge1xuICAgICAgcmV0dXJuIHN0cmluZy50b0hUTUwoKTtcbiAgICB9IGVsc2UgaWYgKHN0cmluZyA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfSBlbHNlIGlmICghc3RyaW5nKSB7XG4gICAgICByZXR1cm4gc3RyaW5nICsgJyc7XG4gICAgfVxuXG4gICAgLy8gRm9yY2UgYSBzdHJpbmcgY29udmVyc2lvbiBhcyB0aGlzIHdpbGwgYmUgZG9uZSBieSB0aGUgYXBwZW5kIHJlZ2FyZGxlc3MgYW5kXG4gICAgLy8gdGhlIHJlZ2V4IHRlc3Qgd2lsbCBkbyB0aGlzIHRyYW5zcGFyZW50bHkgYmVoaW5kIHRoZSBzY2VuZXMsIGNhdXNpbmcgaXNzdWVzIGlmXG4gICAgLy8gYW4gb2JqZWN0J3MgdG8gc3RyaW5nIGhhcyBlc2NhcGVkIGNoYXJhY3RlcnMgaW4gaXQuXG4gICAgc3RyaW5nID0gJycgKyBzdHJpbmc7XG4gIH1cblxuICBpZiAoIXBvc3NpYmxlLnRlc3Qoc3RyaW5nKSkge1xuICAgIHJldHVybiBzdHJpbmc7XG4gIH1cbiAgcmV0dXJuIHN0cmluZy5yZXBsYWNlKGJhZENoYXJzLCBlc2NhcGVDaGFyKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzRW1wdHkodmFsdWUpIHtcbiAgaWYgKCF2YWx1ZSAmJiB2YWx1ZSAhPT0gMCkge1xuICAgIHJldHVybiB0cnVlO1xuICB9IGVsc2UgaWYgKGlzQXJyYXkodmFsdWUpICYmIHZhbHVlLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiB0cnVlO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRnJhbWUob2JqZWN0KSB7XG4gIGxldCBmcmFtZSA9IGV4dGVuZCh7fSwgb2JqZWN0KTtcbiAgZnJhbWUuX3BhcmVudCA9IG9iamVjdDtcbiAgcmV0dXJuIGZyYW1lO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYmxvY2tQYXJhbXMocGFyYW1zLCBpZHMpIHtcbiAgcGFyYW1zLnBhdGggPSBpZHM7XG4gIHJldHVybiBwYXJhbXM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhcHBlbmRDb250ZXh0UGF0aChjb250ZXh0UGF0aCwgaWQpIHtcbiAgcmV0dXJuIChjb250ZXh0UGF0aCA/IGNvbnRleHRQYXRoICsgJy4nIDogJycpICsgaWQ7XG59XG4iXX0=\n","// Create a simple path alias to allow browserify to resolve\n// the runtime on a supported path.\nmodule.exports = require('./dist/cjs/handlebars.runtime')['default'];\n","'use strict'\nvar Buffer = require('safe-buffer').Buffer\nvar Transform = require('stream').Transform\nvar inherits = require('inherits')\n\nfunction HashBase (blockSize) {\n Transform.call(this)\n\n this._block = Buffer.allocUnsafe(blockSize)\n this._blockSize = blockSize\n this._blockOffset = 0\n this._length = [0, 0, 0, 0]\n\n this._finalized = false\n}\n\ninherits(HashBase, Transform)\n\nHashBase.prototype._transform = function (chunk, encoding, callback) {\n var error = null\n try {\n this.update(chunk, encoding)\n } catch (err) {\n error = err\n }\n\n callback(error)\n}\n\nHashBase.prototype._flush = function (callback) {\n var error = null\n try {\n this.push(this.digest())\n } catch (err) {\n error = err\n }\n\n callback(error)\n}\n\nvar useUint8Array = typeof Uint8Array !== 'undefined'\nvar useArrayBuffer = typeof ArrayBuffer !== 'undefined' &&\n typeof Uint8Array !== 'undefined' &&\n ArrayBuffer.isView &&\n (Buffer.prototype instanceof Uint8Array || Buffer.TYPED_ARRAY_SUPPORT)\n\nfunction toBuffer (data, encoding) {\n // No need to do anything for exact instance\n // This is only valid when safe-buffer.Buffer === buffer.Buffer, i.e. when Buffer.from/Buffer.alloc existed\n if (data instanceof Buffer) return data\n\n // Convert strings to Buffer\n if (typeof data === 'string') return Buffer.from(data, encoding)\n\n /*\n * Wrap any TypedArray instances and DataViews\n * Makes sense only on engines with full TypedArray support -- let Buffer detect that\n */\n if (useArrayBuffer && ArrayBuffer.isView(data)) {\n if (data.byteLength === 0) return Buffer.alloc(0) // Bug in Node.js <6.3.1, which treats this as out-of-bounds\n var res = Buffer.from(data.buffer, data.byteOffset, data.byteLength)\n // Recheck result size, as offset/length doesn't work on Node.js <5.10\n // We just go to Uint8Array case if this fails\n if (res.byteLength === data.byteLength) return res\n }\n\n /*\n * Uint8Array in engines where Buffer.from might not work with ArrayBuffer, just copy over\n * Doesn't make sense with other TypedArray instances\n */\n if (useUint8Array && data instanceof Uint8Array) return Buffer.from(data)\n\n /*\n * Old Buffer polyfill on an engine that doesn't have TypedArray support\n * Also, this is from a different Buffer polyfill implementation then we have, as instanceof check failed\n * Convert to our current Buffer implementation\n */\n if (\n Buffer.isBuffer(data) &&\n data.constructor &&\n typeof data.constructor.isBuffer === 'function' &&\n data.constructor.isBuffer(data)\n ) {\n return Buffer.from(data)\n }\n\n throw new TypeError('The \"data\" argument must be of type string or an instance of Buffer, TypedArray, or DataView.')\n}\n\nHashBase.prototype.update = function (data, encoding) {\n if (this._finalized) throw new Error('Digest already called')\n\n data = toBuffer(data, encoding) // asserts correct input type\n\n // consume data\n var block = this._block\n var offset = 0\n while (this._blockOffset + data.length - offset >= this._blockSize) {\n for (var i = this._blockOffset; i < this._blockSize;) block[i++] = data[offset++]\n this._update()\n this._blockOffset = 0\n }\n while (offset < data.length) block[this._blockOffset++] = data[offset++]\n\n // update length\n for (var j = 0, carry = data.length * 8; carry > 0; ++j) {\n this._length[j] += carry\n carry = (this._length[j] / 0x0100000000) | 0\n if (carry > 0) this._length[j] -= 0x0100000000 * carry\n }\n\n return this\n}\n\nHashBase.prototype._update = function () {\n throw new Error('_update is not implemented')\n}\n\nHashBase.prototype.digest = function (encoding) {\n if (this._finalized) throw new Error('Digest already called')\n this._finalized = true\n\n var digest = this._digest()\n if (encoding !== undefined) digest = digest.toString(encoding)\n\n // reset state\n this._block.fill(0)\n this._blockOffset = 0\n for (var i = 0; i < 4; ++i) this._length[i] = 0\n\n return digest\n}\n\nHashBase.prototype._digest = function () {\n throw new Error('_digest is not implemented')\n}\n\nmodule.exports = HashBase\n","var hash = exports;\n\nhash.utils = require('./hash/utils');\nhash.common = require('./hash/common');\nhash.sha = require('./hash/sha');\nhash.ripemd = require('./hash/ripemd');\nhash.hmac = require('./hash/hmac');\n\n// Proxy hash functions to the main object\nhash.sha1 = hash.sha.sha1;\nhash.sha256 = hash.sha.sha256;\nhash.sha224 = hash.sha.sha224;\nhash.sha384 = hash.sha.sha384;\nhash.sha512 = hash.sha.sha512;\nhash.ripemd160 = hash.ripemd.ripemd160;\n","'use strict';\n\nvar utils = require('./utils');\nvar assert = require('minimalistic-assert');\n\nfunction BlockHash() {\n this.pending = null;\n this.pendingTotal = 0;\n this.blockSize = this.constructor.blockSize;\n this.outSize = this.constructor.outSize;\n this.hmacStrength = this.constructor.hmacStrength;\n this.padLength = this.constructor.padLength / 8;\n this.endian = 'big';\n\n this._delta8 = this.blockSize / 8;\n this._delta32 = this.blockSize / 32;\n}\nexports.BlockHash = BlockHash;\n\nBlockHash.prototype.update = function update(msg, enc) {\n // Convert message to array, pad it, and join into 32bit blocks\n msg = utils.toArray(msg, enc);\n if (!this.pending)\n this.pending = msg;\n else\n this.pending = this.pending.concat(msg);\n this.pendingTotal += msg.length;\n\n // Enough data, try updating\n if (this.pending.length >= this._delta8) {\n msg = this.pending;\n\n // Process pending data in blocks\n var r = msg.length % this._delta8;\n this.pending = msg.slice(msg.length - r, msg.length);\n if (this.pending.length === 0)\n this.pending = null;\n\n msg = utils.join32(msg, 0, msg.length - r, this.endian);\n for (var i = 0; i < msg.length; i += this._delta32)\n this._update(msg, i, i + this._delta32);\n }\n\n return this;\n};\n\nBlockHash.prototype.digest = function digest(enc) {\n this.update(this._pad());\n assert(this.pending === null);\n\n return this._digest(enc);\n};\n\nBlockHash.prototype._pad = function pad() {\n var len = this.pendingTotal;\n var bytes = this._delta8;\n var k = bytes - ((len + this.padLength) % bytes);\n var res = new Array(k + this.padLength);\n res[0] = 0x80;\n for (var i = 1; i < k; i++)\n res[i] = 0;\n\n // Append length\n len <<= 3;\n if (this.endian === 'big') {\n for (var t = 8; t < this.padLength; t++)\n res[i++] = 0;\n\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = (len >>> 24) & 0xff;\n res[i++] = (len >>> 16) & 0xff;\n res[i++] = (len >>> 8) & 0xff;\n res[i++] = len & 0xff;\n } else {\n res[i++] = len & 0xff;\n res[i++] = (len >>> 8) & 0xff;\n res[i++] = (len >>> 16) & 0xff;\n res[i++] = (len >>> 24) & 0xff;\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = 0;\n\n for (t = 8; t < this.padLength; t++)\n res[i++] = 0;\n }\n\n return res;\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar assert = require('minimalistic-assert');\n\nfunction Hmac(hash, key, enc) {\n if (!(this instanceof Hmac))\n return new Hmac(hash, key, enc);\n this.Hash = hash;\n this.blockSize = hash.blockSize / 8;\n this.outSize = hash.outSize / 8;\n this.inner = null;\n this.outer = null;\n\n this._init(utils.toArray(key, enc));\n}\nmodule.exports = Hmac;\n\nHmac.prototype._init = function init(key) {\n // Shorten key, if needed\n if (key.length > this.blockSize)\n key = new this.Hash().update(key).digest();\n assert(key.length <= this.blockSize);\n\n // Add padding to key\n for (var i = key.length; i < this.blockSize; i++)\n key.push(0);\n\n for (i = 0; i < key.length; i++)\n key[i] ^= 0x36;\n this.inner = new this.Hash().update(key);\n\n // 0x36 ^ 0x5c = 0x6a\n for (i = 0; i < key.length; i++)\n key[i] ^= 0x6a;\n this.outer = new this.Hash().update(key);\n};\n\nHmac.prototype.update = function update(msg, enc) {\n this.inner.update(msg, enc);\n return this;\n};\n\nHmac.prototype.digest = function digest(enc) {\n this.outer.update(this.inner.digest());\n return this.outer.digest(enc);\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar common = require('./common');\n\nvar rotl32 = utils.rotl32;\nvar sum32 = utils.sum32;\nvar sum32_3 = utils.sum32_3;\nvar sum32_4 = utils.sum32_4;\nvar BlockHash = common.BlockHash;\n\nfunction RIPEMD160() {\n if (!(this instanceof RIPEMD160))\n return new RIPEMD160();\n\n BlockHash.call(this);\n\n this.h = [ 0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0 ];\n this.endian = 'little';\n}\nutils.inherits(RIPEMD160, BlockHash);\nexports.ripemd160 = RIPEMD160;\n\nRIPEMD160.blockSize = 512;\nRIPEMD160.outSize = 160;\nRIPEMD160.hmacStrength = 192;\nRIPEMD160.padLength = 64;\n\nRIPEMD160.prototype._update = function update(msg, start) {\n var A = this.h[0];\n var B = this.h[1];\n var C = this.h[2];\n var D = this.h[3];\n var E = this.h[4];\n var Ah = A;\n var Bh = B;\n var Ch = C;\n var Dh = D;\n var Eh = E;\n for (var j = 0; j < 80; j++) {\n var T = sum32(\n rotl32(\n sum32_4(A, f(j, B, C, D), msg[r[j] + start], K(j)),\n s[j]),\n E);\n A = E;\n E = D;\n D = rotl32(C, 10);\n C = B;\n B = T;\n T = sum32(\n rotl32(\n sum32_4(Ah, f(79 - j, Bh, Ch, Dh), msg[rh[j] + start], Kh(j)),\n sh[j]),\n Eh);\n Ah = Eh;\n Eh = Dh;\n Dh = rotl32(Ch, 10);\n Ch = Bh;\n Bh = T;\n }\n T = sum32_3(this.h[1], C, Dh);\n this.h[1] = sum32_3(this.h[2], D, Eh);\n this.h[2] = sum32_3(this.h[3], E, Ah);\n this.h[3] = sum32_3(this.h[4], A, Bh);\n this.h[4] = sum32_3(this.h[0], B, Ch);\n this.h[0] = T;\n};\n\nRIPEMD160.prototype._digest = function digest(enc) {\n if (enc === 'hex')\n return utils.toHex32(this.h, 'little');\n else\n return utils.split32(this.h, 'little');\n};\n\nfunction f(j, x, y, z) {\n if (j <= 15)\n return x ^ y ^ z;\n else if (j <= 31)\n return (x & y) | ((~x) & z);\n else if (j <= 47)\n return (x | (~y)) ^ z;\n else if (j <= 63)\n return (x & z) | (y & (~z));\n else\n return x ^ (y | (~z));\n}\n\nfunction K(j) {\n if (j <= 15)\n return 0x00000000;\n else if (j <= 31)\n return 0x5a827999;\n else if (j <= 47)\n return 0x6ed9eba1;\n else if (j <= 63)\n return 0x8f1bbcdc;\n else\n return 0xa953fd4e;\n}\n\nfunction Kh(j) {\n if (j <= 15)\n return 0x50a28be6;\n else if (j <= 31)\n return 0x5c4dd124;\n else if (j <= 47)\n return 0x6d703ef3;\n else if (j <= 63)\n return 0x7a6d76e9;\n else\n return 0x00000000;\n}\n\nvar r = [\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,\n 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8,\n 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12,\n 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2,\n 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13\n];\n\nvar rh = [\n 5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12,\n 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2,\n 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13,\n 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14,\n 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11\n];\n\nvar s = [\n 11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8,\n 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12,\n 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5,\n 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12,\n 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6\n];\n\nvar sh = [\n 8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6,\n 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11,\n 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5,\n 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8,\n 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11\n];\n","'use strict';\n\nexports.sha1 = require('./sha/1');\nexports.sha224 = require('./sha/224');\nexports.sha256 = require('./sha/256');\nexports.sha384 = require('./sha/384');\nexports.sha512 = require('./sha/512');\n","'use strict';\n\nvar utils = require('../utils');\nvar common = require('../common');\nvar shaCommon = require('./common');\n\nvar rotl32 = utils.rotl32;\nvar sum32 = utils.sum32;\nvar sum32_5 = utils.sum32_5;\nvar ft_1 = shaCommon.ft_1;\nvar BlockHash = common.BlockHash;\n\nvar sha1_K = [\n 0x5A827999, 0x6ED9EBA1,\n 0x8F1BBCDC, 0xCA62C1D6\n];\n\nfunction SHA1() {\n if (!(this instanceof SHA1))\n return new SHA1();\n\n BlockHash.call(this);\n this.h = [\n 0x67452301, 0xefcdab89, 0x98badcfe,\n 0x10325476, 0xc3d2e1f0 ];\n this.W = new Array(80);\n}\n\nutils.inherits(SHA1, BlockHash);\nmodule.exports = SHA1;\n\nSHA1.blockSize = 512;\nSHA1.outSize = 160;\nSHA1.hmacStrength = 80;\nSHA1.padLength = 64;\n\nSHA1.prototype._update = function _update(msg, start) {\n var W = this.W;\n\n for (var i = 0; i < 16; i++)\n W[i] = msg[start + i];\n\n for(; i < W.length; i++)\n W[i] = rotl32(W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16], 1);\n\n var a = this.h[0];\n var b = this.h[1];\n var c = this.h[2];\n var d = this.h[3];\n var e = this.h[4];\n\n for (i = 0; i < W.length; i++) {\n var s = ~~(i / 20);\n var t = sum32_5(rotl32(a, 5), ft_1(s, b, c, d), e, W[i], sha1_K[s]);\n e = d;\n d = c;\n c = rotl32(b, 30);\n b = a;\n a = t;\n }\n\n this.h[0] = sum32(this.h[0], a);\n this.h[1] = sum32(this.h[1], b);\n this.h[2] = sum32(this.h[2], c);\n this.h[3] = sum32(this.h[3], d);\n this.h[4] = sum32(this.h[4], e);\n};\n\nSHA1.prototype._digest = function digest(enc) {\n if (enc === 'hex')\n return utils.toHex32(this.h, 'big');\n else\n return utils.split32(this.h, 'big');\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar SHA256 = require('./256');\n\nfunction SHA224() {\n if (!(this instanceof SHA224))\n return new SHA224();\n\n SHA256.call(this);\n this.h = [\n 0xc1059ed8, 0x367cd507, 0x3070dd17, 0xf70e5939,\n 0xffc00b31, 0x68581511, 0x64f98fa7, 0xbefa4fa4 ];\n}\nutils.inherits(SHA224, SHA256);\nmodule.exports = SHA224;\n\nSHA224.blockSize = 512;\nSHA224.outSize = 224;\nSHA224.hmacStrength = 192;\nSHA224.padLength = 64;\n\nSHA224.prototype._digest = function digest(enc) {\n // Just truncate output\n if (enc === 'hex')\n return utils.toHex32(this.h.slice(0, 7), 'big');\n else\n return utils.split32(this.h.slice(0, 7), 'big');\n};\n\n","'use strict';\n\nvar utils = require('../utils');\nvar common = require('../common');\nvar shaCommon = require('./common');\nvar assert = require('minimalistic-assert');\n\nvar sum32 = utils.sum32;\nvar sum32_4 = utils.sum32_4;\nvar sum32_5 = utils.sum32_5;\nvar ch32 = shaCommon.ch32;\nvar maj32 = shaCommon.maj32;\nvar s0_256 = shaCommon.s0_256;\nvar s1_256 = shaCommon.s1_256;\nvar g0_256 = shaCommon.g0_256;\nvar g1_256 = shaCommon.g1_256;\n\nvar BlockHash = common.BlockHash;\n\nvar sha256_K = [\n 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5,\n 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,\n 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3,\n 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,\n 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc,\n 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,\n 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7,\n 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,\n 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13,\n 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,\n 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3,\n 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,\n 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5,\n 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,\n 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208,\n 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2\n];\n\nfunction SHA256() {\n if (!(this instanceof SHA256))\n return new SHA256();\n\n BlockHash.call(this);\n this.h = [\n 0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a,\n 0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19\n ];\n this.k = sha256_K;\n this.W = new Array(64);\n}\nutils.inherits(SHA256, BlockHash);\nmodule.exports = SHA256;\n\nSHA256.blockSize = 512;\nSHA256.outSize = 256;\nSHA256.hmacStrength = 192;\nSHA256.padLength = 64;\n\nSHA256.prototype._update = function _update(msg, start) {\n var W = this.W;\n\n for (var i = 0; i < 16; i++)\n W[i] = msg[start + i];\n for (; i < W.length; i++)\n W[i] = sum32_4(g1_256(W[i - 2]), W[i - 7], g0_256(W[i - 15]), W[i - 16]);\n\n var a = this.h[0];\n var b = this.h[1];\n var c = this.h[2];\n var d = this.h[3];\n var e = this.h[4];\n var f = this.h[5];\n var g = this.h[6];\n var h = this.h[7];\n\n assert(this.k.length === W.length);\n for (i = 0; i < W.length; i++) {\n var T1 = sum32_5(h, s1_256(e), ch32(e, f, g), this.k[i], W[i]);\n var T2 = sum32(s0_256(a), maj32(a, b, c));\n h = g;\n g = f;\n f = e;\n e = sum32(d, T1);\n d = c;\n c = b;\n b = a;\n a = sum32(T1, T2);\n }\n\n this.h[0] = sum32(this.h[0], a);\n this.h[1] = sum32(this.h[1], b);\n this.h[2] = sum32(this.h[2], c);\n this.h[3] = sum32(this.h[3], d);\n this.h[4] = sum32(this.h[4], e);\n this.h[5] = sum32(this.h[5], f);\n this.h[6] = sum32(this.h[6], g);\n this.h[7] = sum32(this.h[7], h);\n};\n\nSHA256.prototype._digest = function digest(enc) {\n if (enc === 'hex')\n return utils.toHex32(this.h, 'big');\n else\n return utils.split32(this.h, 'big');\n};\n","'use strict';\n\nvar utils = require('../utils');\n\nvar SHA512 = require('./512');\n\nfunction SHA384() {\n if (!(this instanceof SHA384))\n return new SHA384();\n\n SHA512.call(this);\n this.h = [\n 0xcbbb9d5d, 0xc1059ed8,\n 0x629a292a, 0x367cd507,\n 0x9159015a, 0x3070dd17,\n 0x152fecd8, 0xf70e5939,\n 0x67332667, 0xffc00b31,\n 0x8eb44a87, 0x68581511,\n 0xdb0c2e0d, 0x64f98fa7,\n 0x47b5481d, 0xbefa4fa4 ];\n}\nutils.inherits(SHA384, SHA512);\nmodule.exports = SHA384;\n\nSHA384.blockSize = 1024;\nSHA384.outSize = 384;\nSHA384.hmacStrength = 192;\nSHA384.padLength = 128;\n\nSHA384.prototype._digest = function digest(enc) {\n if (enc === 'hex')\n return utils.toHex32(this.h.slice(0, 12), 'big');\n else\n return utils.split32(this.h.slice(0, 12), 'big');\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar common = require('../common');\nvar assert = require('minimalistic-assert');\n\nvar rotr64_hi = utils.rotr64_hi;\nvar rotr64_lo = utils.rotr64_lo;\nvar shr64_hi = utils.shr64_hi;\nvar shr64_lo = utils.shr64_lo;\nvar sum64 = utils.sum64;\nvar sum64_hi = utils.sum64_hi;\nvar sum64_lo = utils.sum64_lo;\nvar sum64_4_hi = utils.sum64_4_hi;\nvar sum64_4_lo = utils.sum64_4_lo;\nvar sum64_5_hi = utils.sum64_5_hi;\nvar sum64_5_lo = utils.sum64_5_lo;\n\nvar BlockHash = common.BlockHash;\n\nvar sha512_K = [\n 0x428a2f98, 0xd728ae22, 0x71374491, 0x23ef65cd,\n 0xb5c0fbcf, 0xec4d3b2f, 0xe9b5dba5, 0x8189dbbc,\n 0x3956c25b, 0xf348b538, 0x59f111f1, 0xb605d019,\n 0x923f82a4, 0xaf194f9b, 0xab1c5ed5, 0xda6d8118,\n 0xd807aa98, 0xa3030242, 0x12835b01, 0x45706fbe,\n 0x243185be, 0x4ee4b28c, 0x550c7dc3, 0xd5ffb4e2,\n 0x72be5d74, 0xf27b896f, 0x80deb1fe, 0x3b1696b1,\n 0x9bdc06a7, 0x25c71235, 0xc19bf174, 0xcf692694,\n 0xe49b69c1, 0x9ef14ad2, 0xefbe4786, 0x384f25e3,\n 0x0fc19dc6, 0x8b8cd5b5, 0x240ca1cc, 0x77ac9c65,\n 0x2de92c6f, 0x592b0275, 0x4a7484aa, 0x6ea6e483,\n 0x5cb0a9dc, 0xbd41fbd4, 0x76f988da, 0x831153b5,\n 0x983e5152, 0xee66dfab, 0xa831c66d, 0x2db43210,\n 0xb00327c8, 0x98fb213f, 0xbf597fc7, 0xbeef0ee4,\n 0xc6e00bf3, 0x3da88fc2, 0xd5a79147, 0x930aa725,\n 0x06ca6351, 0xe003826f, 0x14292967, 0x0a0e6e70,\n 0x27b70a85, 0x46d22ffc, 0x2e1b2138, 0x5c26c926,\n 0x4d2c6dfc, 0x5ac42aed, 0x53380d13, 0x9d95b3df,\n 0x650a7354, 0x8baf63de, 0x766a0abb, 0x3c77b2a8,\n 0x81c2c92e, 0x47edaee6, 0x92722c85, 0x1482353b,\n 0xa2bfe8a1, 0x4cf10364, 0xa81a664b, 0xbc423001,\n 0xc24b8b70, 0xd0f89791, 0xc76c51a3, 0x0654be30,\n 0xd192e819, 0xd6ef5218, 0xd6990624, 0x5565a910,\n 0xf40e3585, 0x5771202a, 0x106aa070, 0x32bbd1b8,\n 0x19a4c116, 0xb8d2d0c8, 0x1e376c08, 0x5141ab53,\n 0x2748774c, 0xdf8eeb99, 0x34b0bcb5, 0xe19b48a8,\n 0x391c0cb3, 0xc5c95a63, 0x4ed8aa4a, 0xe3418acb,\n 0x5b9cca4f, 0x7763e373, 0x682e6ff3, 0xd6b2b8a3,\n 0x748f82ee, 0x5defb2fc, 0x78a5636f, 0x43172f60,\n 0x84c87814, 0xa1f0ab72, 0x8cc70208, 0x1a6439ec,\n 0x90befffa, 0x23631e28, 0xa4506ceb, 0xde82bde9,\n 0xbef9a3f7, 0xb2c67915, 0xc67178f2, 0xe372532b,\n 0xca273ece, 0xea26619c, 0xd186b8c7, 0x21c0c207,\n 0xeada7dd6, 0xcde0eb1e, 0xf57d4f7f, 0xee6ed178,\n 0x06f067aa, 0x72176fba, 0x0a637dc5, 0xa2c898a6,\n 0x113f9804, 0xbef90dae, 0x1b710b35, 0x131c471b,\n 0x28db77f5, 0x23047d84, 0x32caab7b, 0x40c72493,\n 0x3c9ebe0a, 0x15c9bebc, 0x431d67c4, 0x9c100d4c,\n 0x4cc5d4be, 0xcb3e42b6, 0x597f299c, 0xfc657e2a,\n 0x5fcb6fab, 0x3ad6faec, 0x6c44198c, 0x4a475817\n];\n\nfunction SHA512() {\n if (!(this instanceof SHA512))\n return new SHA512();\n\n BlockHash.call(this);\n this.h = [\n 0x6a09e667, 0xf3bcc908,\n 0xbb67ae85, 0x84caa73b,\n 0x3c6ef372, 0xfe94f82b,\n 0xa54ff53a, 0x5f1d36f1,\n 0x510e527f, 0xade682d1,\n 0x9b05688c, 0x2b3e6c1f,\n 0x1f83d9ab, 0xfb41bd6b,\n 0x5be0cd19, 0x137e2179 ];\n this.k = sha512_K;\n this.W = new Array(160);\n}\nutils.inherits(SHA512, BlockHash);\nmodule.exports = SHA512;\n\nSHA512.blockSize = 1024;\nSHA512.outSize = 512;\nSHA512.hmacStrength = 192;\nSHA512.padLength = 128;\n\nSHA512.prototype._prepareBlock = function _prepareBlock(msg, start) {\n var W = this.W;\n\n // 32 x 32bit words\n for (var i = 0; i < 32; i++)\n W[i] = msg[start + i];\n for (; i < W.length; i += 2) {\n var c0_hi = g1_512_hi(W[i - 4], W[i - 3]); // i - 2\n var c0_lo = g1_512_lo(W[i - 4], W[i - 3]);\n var c1_hi = W[i - 14]; // i - 7\n var c1_lo = W[i - 13];\n var c2_hi = g0_512_hi(W[i - 30], W[i - 29]); // i - 15\n var c2_lo = g0_512_lo(W[i - 30], W[i - 29]);\n var c3_hi = W[i - 32]; // i - 16\n var c3_lo = W[i - 31];\n\n W[i] = sum64_4_hi(\n c0_hi, c0_lo,\n c1_hi, c1_lo,\n c2_hi, c2_lo,\n c3_hi, c3_lo);\n W[i + 1] = sum64_4_lo(\n c0_hi, c0_lo,\n c1_hi, c1_lo,\n c2_hi, c2_lo,\n c3_hi, c3_lo);\n }\n};\n\nSHA512.prototype._update = function _update(msg, start) {\n this._prepareBlock(msg, start);\n\n var W = this.W;\n\n var ah = this.h[0];\n var al = this.h[1];\n var bh = this.h[2];\n var bl = this.h[3];\n var ch = this.h[4];\n var cl = this.h[5];\n var dh = this.h[6];\n var dl = this.h[7];\n var eh = this.h[8];\n var el = this.h[9];\n var fh = this.h[10];\n var fl = this.h[11];\n var gh = this.h[12];\n var gl = this.h[13];\n var hh = this.h[14];\n var hl = this.h[15];\n\n assert(this.k.length === W.length);\n for (var i = 0; i < W.length; i += 2) {\n var c0_hi = hh;\n var c0_lo = hl;\n var c1_hi = s1_512_hi(eh, el);\n var c1_lo = s1_512_lo(eh, el);\n var c2_hi = ch64_hi(eh, el, fh, fl, gh, gl);\n var c2_lo = ch64_lo(eh, el, fh, fl, gh, gl);\n var c3_hi = this.k[i];\n var c3_lo = this.k[i + 1];\n var c4_hi = W[i];\n var c4_lo = W[i + 1];\n\n var T1_hi = sum64_5_hi(\n c0_hi, c0_lo,\n c1_hi, c1_lo,\n c2_hi, c2_lo,\n c3_hi, c3_lo,\n c4_hi, c4_lo);\n var T1_lo = sum64_5_lo(\n c0_hi, c0_lo,\n c1_hi, c1_lo,\n c2_hi, c2_lo,\n c3_hi, c3_lo,\n c4_hi, c4_lo);\n\n c0_hi = s0_512_hi(ah, al);\n c0_lo = s0_512_lo(ah, al);\n c1_hi = maj64_hi(ah, al, bh, bl, ch, cl);\n c1_lo = maj64_lo(ah, al, bh, bl, ch, cl);\n\n var T2_hi = sum64_hi(c0_hi, c0_lo, c1_hi, c1_lo);\n var T2_lo = sum64_lo(c0_hi, c0_lo, c1_hi, c1_lo);\n\n hh = gh;\n hl = gl;\n\n gh = fh;\n gl = fl;\n\n fh = eh;\n fl = el;\n\n eh = sum64_hi(dh, dl, T1_hi, T1_lo);\n el = sum64_lo(dl, dl, T1_hi, T1_lo);\n\n dh = ch;\n dl = cl;\n\n ch = bh;\n cl = bl;\n\n bh = ah;\n bl = al;\n\n ah = sum64_hi(T1_hi, T1_lo, T2_hi, T2_lo);\n al = sum64_lo(T1_hi, T1_lo, T2_hi, T2_lo);\n }\n\n sum64(this.h, 0, ah, al);\n sum64(this.h, 2, bh, bl);\n sum64(this.h, 4, ch, cl);\n sum64(this.h, 6, dh, dl);\n sum64(this.h, 8, eh, el);\n sum64(this.h, 10, fh, fl);\n sum64(this.h, 12, gh, gl);\n sum64(this.h, 14, hh, hl);\n};\n\nSHA512.prototype._digest = function digest(enc) {\n if (enc === 'hex')\n return utils.toHex32(this.h, 'big');\n else\n return utils.split32(this.h, 'big');\n};\n\nfunction ch64_hi(xh, xl, yh, yl, zh) {\n var r = (xh & yh) ^ ((~xh) & zh);\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction ch64_lo(xh, xl, yh, yl, zh, zl) {\n var r = (xl & yl) ^ ((~xl) & zl);\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction maj64_hi(xh, xl, yh, yl, zh) {\n var r = (xh & yh) ^ (xh & zh) ^ (yh & zh);\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction maj64_lo(xh, xl, yh, yl, zh, zl) {\n var r = (xl & yl) ^ (xl & zl) ^ (yl & zl);\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction s0_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 28);\n var c1_hi = rotr64_hi(xl, xh, 2); // 34\n var c2_hi = rotr64_hi(xl, xh, 7); // 39\n\n var r = c0_hi ^ c1_hi ^ c2_hi;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction s0_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 28);\n var c1_lo = rotr64_lo(xl, xh, 2); // 34\n var c2_lo = rotr64_lo(xl, xh, 7); // 39\n\n var r = c0_lo ^ c1_lo ^ c2_lo;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction s1_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 14);\n var c1_hi = rotr64_hi(xh, xl, 18);\n var c2_hi = rotr64_hi(xl, xh, 9); // 41\n\n var r = c0_hi ^ c1_hi ^ c2_hi;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction s1_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 14);\n var c1_lo = rotr64_lo(xh, xl, 18);\n var c2_lo = rotr64_lo(xl, xh, 9); // 41\n\n var r = c0_lo ^ c1_lo ^ c2_lo;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction g0_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 1);\n var c1_hi = rotr64_hi(xh, xl, 8);\n var c2_hi = shr64_hi(xh, xl, 7);\n\n var r = c0_hi ^ c1_hi ^ c2_hi;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction g0_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 1);\n var c1_lo = rotr64_lo(xh, xl, 8);\n var c2_lo = shr64_lo(xh, xl, 7);\n\n var r = c0_lo ^ c1_lo ^ c2_lo;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction g1_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 19);\n var c1_hi = rotr64_hi(xl, xh, 29); // 61\n var c2_hi = shr64_hi(xh, xl, 6);\n\n var r = c0_hi ^ c1_hi ^ c2_hi;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction g1_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 19);\n var c1_lo = rotr64_lo(xl, xh, 29); // 61\n var c2_lo = shr64_lo(xh, xl, 6);\n\n var r = c0_lo ^ c1_lo ^ c2_lo;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n","'use strict';\n\nvar utils = require('../utils');\nvar rotr32 = utils.rotr32;\n\nfunction ft_1(s, x, y, z) {\n if (s === 0)\n return ch32(x, y, z);\n if (s === 1 || s === 3)\n return p32(x, y, z);\n if (s === 2)\n return maj32(x, y, z);\n}\nexports.ft_1 = ft_1;\n\nfunction ch32(x, y, z) {\n return (x & y) ^ ((~x) & z);\n}\nexports.ch32 = ch32;\n\nfunction maj32(x, y, z) {\n return (x & y) ^ (x & z) ^ (y & z);\n}\nexports.maj32 = maj32;\n\nfunction p32(x, y, z) {\n return x ^ y ^ z;\n}\nexports.p32 = p32;\n\nfunction s0_256(x) {\n return rotr32(x, 2) ^ rotr32(x, 13) ^ rotr32(x, 22);\n}\nexports.s0_256 = s0_256;\n\nfunction s1_256(x) {\n return rotr32(x, 6) ^ rotr32(x, 11) ^ rotr32(x, 25);\n}\nexports.s1_256 = s1_256;\n\nfunction g0_256(x) {\n return rotr32(x, 7) ^ rotr32(x, 18) ^ (x >>> 3);\n}\nexports.g0_256 = g0_256;\n\nfunction g1_256(x) {\n return rotr32(x, 17) ^ rotr32(x, 19) ^ (x >>> 10);\n}\nexports.g1_256 = g1_256;\n","'use strict';\n\nvar assert = require('minimalistic-assert');\nvar inherits = require('inherits');\n\nexports.inherits = inherits;\n\nfunction isSurrogatePair(msg, i) {\n if ((msg.charCodeAt(i) & 0xFC00) !== 0xD800) {\n return false;\n }\n if (i < 0 || i + 1 >= msg.length) {\n return false;\n }\n return (msg.charCodeAt(i + 1) & 0xFC00) === 0xDC00;\n}\n\nfunction toArray(msg, enc) {\n if (Array.isArray(msg))\n return msg.slice();\n if (!msg)\n return [];\n var res = [];\n if (typeof msg === 'string') {\n if (!enc) {\n // Inspired by stringToUtf8ByteArray() in closure-library by Google\n // https://github.com/google/closure-library/blob/8598d87242af59aac233270742c8984e2b2bdbe0/closure/goog/crypt/crypt.js#L117-L143\n // Apache License 2.0\n // https://github.com/google/closure-library/blob/master/LICENSE\n var p = 0;\n for (var i = 0; i < msg.length; i++) {\n var c = msg.charCodeAt(i);\n if (c < 128) {\n res[p++] = c;\n } else if (c < 2048) {\n res[p++] = (c >> 6) | 192;\n res[p++] = (c & 63) | 128;\n } else if (isSurrogatePair(msg, i)) {\n c = 0x10000 + ((c & 0x03FF) << 10) + (msg.charCodeAt(++i) & 0x03FF);\n res[p++] = (c >> 18) | 240;\n res[p++] = ((c >> 12) & 63) | 128;\n res[p++] = ((c >> 6) & 63) | 128;\n res[p++] = (c & 63) | 128;\n } else {\n res[p++] = (c >> 12) | 224;\n res[p++] = ((c >> 6) & 63) | 128;\n res[p++] = (c & 63) | 128;\n }\n }\n } else if (enc === 'hex') {\n msg = msg.replace(/[^a-z0-9]+/ig, '');\n if (msg.length % 2 !== 0)\n msg = '0' + msg;\n for (i = 0; i < msg.length; i += 2)\n res.push(parseInt(msg[i] + msg[i + 1], 16));\n }\n } else {\n for (i = 0; i < msg.length; i++)\n res[i] = msg[i] | 0;\n }\n return res;\n}\nexports.toArray = toArray;\n\nfunction toHex(msg) {\n var res = '';\n for (var i = 0; i < msg.length; i++)\n res += zero2(msg[i].toString(16));\n return res;\n}\nexports.toHex = toHex;\n\nfunction htonl(w) {\n var res = (w >>> 24) |\n ((w >>> 8) & 0xff00) |\n ((w << 8) & 0xff0000) |\n ((w & 0xff) << 24);\n return res >>> 0;\n}\nexports.htonl = htonl;\n\nfunction toHex32(msg, endian) {\n var res = '';\n for (var i = 0; i < msg.length; i++) {\n var w = msg[i];\n if (endian === 'little')\n w = htonl(w);\n res += zero8(w.toString(16));\n }\n return res;\n}\nexports.toHex32 = toHex32;\n\nfunction zero2(word) {\n if (word.length === 1)\n return '0' + word;\n else\n return word;\n}\nexports.zero2 = zero2;\n\nfunction zero8(word) {\n if (word.length === 7)\n return '0' + word;\n else if (word.length === 6)\n return '00' + word;\n else if (word.length === 5)\n return '000' + word;\n else if (word.length === 4)\n return '0000' + word;\n else if (word.length === 3)\n return '00000' + word;\n else if (word.length === 2)\n return '000000' + word;\n else if (word.length === 1)\n return '0000000' + word;\n else\n return word;\n}\nexports.zero8 = zero8;\n\nfunction join32(msg, start, end, endian) {\n var len = end - start;\n assert(len % 4 === 0);\n var res = new Array(len / 4);\n for (var i = 0, k = start; i < res.length; i++, k += 4) {\n var w;\n if (endian === 'big')\n w = (msg[k] << 24) | (msg[k + 1] << 16) | (msg[k + 2] << 8) | msg[k + 3];\n else\n w = (msg[k + 3] << 24) | (msg[k + 2] << 16) | (msg[k + 1] << 8) | msg[k];\n res[i] = w >>> 0;\n }\n return res;\n}\nexports.join32 = join32;\n\nfunction split32(msg, endian) {\n var res = new Array(msg.length * 4);\n for (var i = 0, k = 0; i < msg.length; i++, k += 4) {\n var m = msg[i];\n if (endian === 'big') {\n res[k] = m >>> 24;\n res[k + 1] = (m >>> 16) & 0xff;\n res[k + 2] = (m >>> 8) & 0xff;\n res[k + 3] = m & 0xff;\n } else {\n res[k + 3] = m >>> 24;\n res[k + 2] = (m >>> 16) & 0xff;\n res[k + 1] = (m >>> 8) & 0xff;\n res[k] = m & 0xff;\n }\n }\n return res;\n}\nexports.split32 = split32;\n\nfunction rotr32(w, b) {\n return (w >>> b) | (w << (32 - b));\n}\nexports.rotr32 = rotr32;\n\nfunction rotl32(w, b) {\n return (w << b) | (w >>> (32 - b));\n}\nexports.rotl32 = rotl32;\n\nfunction sum32(a, b) {\n return (a + b) >>> 0;\n}\nexports.sum32 = sum32;\n\nfunction sum32_3(a, b, c) {\n return (a + b + c) >>> 0;\n}\nexports.sum32_3 = sum32_3;\n\nfunction sum32_4(a, b, c, d) {\n return (a + b + c + d) >>> 0;\n}\nexports.sum32_4 = sum32_4;\n\nfunction sum32_5(a, b, c, d, e) {\n return (a + b + c + d + e) >>> 0;\n}\nexports.sum32_5 = sum32_5;\n\nfunction sum64(buf, pos, ah, al) {\n var bh = buf[pos];\n var bl = buf[pos + 1];\n\n var lo = (al + bl) >>> 0;\n var hi = (lo < al ? 1 : 0) + ah + bh;\n buf[pos] = hi >>> 0;\n buf[pos + 1] = lo;\n}\nexports.sum64 = sum64;\n\nfunction sum64_hi(ah, al, bh, bl) {\n var lo = (al + bl) >>> 0;\n var hi = (lo < al ? 1 : 0) + ah + bh;\n return hi >>> 0;\n}\nexports.sum64_hi = sum64_hi;\n\nfunction sum64_lo(ah, al, bh, bl) {\n var lo = al + bl;\n return lo >>> 0;\n}\nexports.sum64_lo = sum64_lo;\n\nfunction sum64_4_hi(ah, al, bh, bl, ch, cl, dh, dl) {\n var carry = 0;\n var lo = al;\n lo = (lo + bl) >>> 0;\n carry += lo < al ? 1 : 0;\n lo = (lo + cl) >>> 0;\n carry += lo < cl ? 1 : 0;\n lo = (lo + dl) >>> 0;\n carry += lo < dl ? 1 : 0;\n\n var hi = ah + bh + ch + dh + carry;\n return hi >>> 0;\n}\nexports.sum64_4_hi = sum64_4_hi;\n\nfunction sum64_4_lo(ah, al, bh, bl, ch, cl, dh, dl) {\n var lo = al + bl + cl + dl;\n return lo >>> 0;\n}\nexports.sum64_4_lo = sum64_4_lo;\n\nfunction sum64_5_hi(ah, al, bh, bl, ch, cl, dh, dl, eh, el) {\n var carry = 0;\n var lo = al;\n lo = (lo + bl) >>> 0;\n carry += lo < al ? 1 : 0;\n lo = (lo + cl) >>> 0;\n carry += lo < cl ? 1 : 0;\n lo = (lo + dl) >>> 0;\n carry += lo < dl ? 1 : 0;\n lo = (lo + el) >>> 0;\n carry += lo < el ? 1 : 0;\n\n var hi = ah + bh + ch + dh + eh + carry;\n return hi >>> 0;\n}\nexports.sum64_5_hi = sum64_5_hi;\n\nfunction sum64_5_lo(ah, al, bh, bl, ch, cl, dh, dl, eh, el) {\n var lo = al + bl + cl + dl + el;\n\n return lo >>> 0;\n}\nexports.sum64_5_lo = sum64_5_lo;\n\nfunction rotr64_hi(ah, al, num) {\n var r = (al << (32 - num)) | (ah >>> num);\n return r >>> 0;\n}\nexports.rotr64_hi = rotr64_hi;\n\nfunction rotr64_lo(ah, al, num) {\n var r = (ah << (32 - num)) | (al >>> num);\n return r >>> 0;\n}\nexports.rotr64_lo = rotr64_lo;\n\nfunction shr64_hi(ah, al, num) {\n return ah >>> num;\n}\nexports.shr64_hi = shr64_hi;\n\nfunction shr64_lo(ah, al, num) {\n var r = (ah << (32 - num)) | (al >>> num);\n return r >>> 0;\n}\nexports.shr64_lo = shr64_lo;\n","'use strict';\n\nvar hash = require('hash.js');\nvar utils = require('minimalistic-crypto-utils');\nvar assert = require('minimalistic-assert');\n\nfunction HmacDRBG(options) {\n if (!(this instanceof HmacDRBG))\n return new HmacDRBG(options);\n this.hash = options.hash;\n this.predResist = !!options.predResist;\n\n this.outLen = this.hash.outSize;\n this.minEntropy = options.minEntropy || this.hash.hmacStrength;\n\n this._reseed = null;\n this.reseedInterval = null;\n this.K = null;\n this.V = null;\n\n var entropy = utils.toArray(options.entropy, options.entropyEnc || 'hex');\n var nonce = utils.toArray(options.nonce, options.nonceEnc || 'hex');\n var pers = utils.toArray(options.pers, options.persEnc || 'hex');\n assert(entropy.length >= (this.minEntropy / 8),\n 'Not enough entropy. Minimum is: ' + this.minEntropy + ' bits');\n this._init(entropy, nonce, pers);\n}\nmodule.exports = HmacDRBG;\n\nHmacDRBG.prototype._init = function init(entropy, nonce, pers) {\n var seed = entropy.concat(nonce).concat(pers);\n\n this.K = new Array(this.outLen / 8);\n this.V = new Array(this.outLen / 8);\n for (var i = 0; i < this.V.length; i++) {\n this.K[i] = 0x00;\n this.V[i] = 0x01;\n }\n\n this._update(seed);\n this._reseed = 1;\n this.reseedInterval = 0x1000000000000; // 2^48\n};\n\nHmacDRBG.prototype._hmac = function hmac() {\n return new hash.hmac(this.hash, this.K);\n};\n\nHmacDRBG.prototype._update = function update(seed) {\n var kmac = this._hmac()\n .update(this.V)\n .update([ 0x00 ]);\n if (seed)\n kmac = kmac.update(seed);\n this.K = kmac.digest();\n this.V = this._hmac().update(this.V).digest();\n if (!seed)\n return;\n\n this.K = this._hmac()\n .update(this.V)\n .update([ 0x01 ])\n .update(seed)\n .digest();\n this.V = this._hmac().update(this.V).digest();\n};\n\nHmacDRBG.prototype.reseed = function reseed(entropy, entropyEnc, add, addEnc) {\n // Optional entropy enc\n if (typeof entropyEnc !== 'string') {\n addEnc = add;\n add = entropyEnc;\n entropyEnc = null;\n }\n\n entropy = utils.toArray(entropy, entropyEnc);\n add = utils.toArray(add, addEnc);\n\n assert(entropy.length >= (this.minEntropy / 8),\n 'Not enough entropy. Minimum is: ' + this.minEntropy + ' bits');\n\n this._update(entropy.concat(add || []));\n this._reseed = 1;\n};\n\nHmacDRBG.prototype.generate = function generate(len, enc, add, addEnc) {\n if (this._reseed > this.reseedInterval)\n throw new Error('Reseed is required');\n\n // Optional encoding\n if (typeof enc !== 'string') {\n addEnc = add;\n add = enc;\n enc = null;\n }\n\n // Optional additional data\n if (add) {\n add = utils.toArray(add, addEnc || 'hex');\n this._update(add);\n }\n\n var temp = [];\n while (temp.length < len) {\n this.V = this._hmac().update(this.V).digest();\n temp = temp.concat(this.V);\n }\n\n var res = temp.slice(0, len);\n this._update(add);\n this._reseed++;\n return utils.encode(res, enc);\n};\n","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n","/*! jQuery UI - v1.13.3 - 2024-04-26\n* https://jqueryui.com\n* Includes: widget.js, position.js, data.js, disable-selection.js, effect.js, effects/effect-blind.js, effects/effect-bounce.js, effects/effect-clip.js, effects/effect-drop.js, effects/effect-explode.js, effects/effect-fade.js, effects/effect-fold.js, effects/effect-highlight.js, effects/effect-puff.js, effects/effect-pulsate.js, effects/effect-scale.js, effects/effect-shake.js, effects/effect-size.js, effects/effect-slide.js, effects/effect-transfer.js, focusable.js, form-reset-mixin.js, jquery-patch.js, keycode.js, labels.js, scroll-parent.js, tabbable.js, unique-id.js, widgets/accordion.js, widgets/autocomplete.js, widgets/button.js, widgets/checkboxradio.js, widgets/controlgroup.js, widgets/datepicker.js, widgets/dialog.js, widgets/draggable.js, widgets/droppable.js, widgets/menu.js, widgets/mouse.js, widgets/progressbar.js, widgets/resizable.js, widgets/selectable.js, widgets/selectmenu.js, widgets/slider.js, widgets/sortable.js, widgets/spinner.js, widgets/tabs.js, widgets/tooltip.js\n* Copyright OpenJS Foundation and other contributors; Licensed MIT */\n\n( function( factory ) {\n\t\"use strict\";\n\t\n\tif ( typeof define === \"function\" && define.amd ) {\n\n\t\t// AMD. Register as an anonymous module.\n\t\tdefine( [ \"jquery\" ], factory );\n\t} else {\n\n\t\t// Browser globals\n\t\tfactory( jQuery );\n\t}\n} )( function( $ ) {\n\"use strict\";\n\n$.ui = $.ui || {};\n\nvar version = $.ui.version = \"1.13.3\";\n\n\n/*!\n * jQuery UI Widget 1.13.3\n * https://jqueryui.com\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license.\n * https://jquery.org/license\n */\n\n//>>label: Widget\n//>>group: Core\n//>>description: Provides a factory for creating stateful widgets with a common API.\n//>>docs: https://api.jqueryui.com/jQuery.widget/\n//>>demos: https://jqueryui.com/widget/\n\n\nvar widgetUuid = 0;\nvar widgetHasOwnProperty = Array.prototype.hasOwnProperty;\nvar widgetSlice = Array.prototype.slice;\n\n$.cleanData = ( function( orig ) {\n\treturn function( elems ) {\n\t\tvar events, elem, i;\n\t\tfor ( i = 0; ( elem = elems[ i ] ) != null; i++ ) {\n\n\t\t\t// Only trigger remove when necessary to save time\n\t\t\tevents = $._data( elem, \"events\" );\n\t\t\tif ( events && events.remove ) {\n\t\t\t\t$( elem ).triggerHandler( \"remove\" );\n\t\t\t}\n\t\t}\n\t\torig( elems );\n\t};\n} )( $.cleanData );\n\n$.widget = function( name, base, prototype ) {\n\tvar existingConstructor, constructor, basePrototype;\n\n\t// ProxiedPrototype allows the provided prototype to remain unmodified\n\t// so that it can be used as a mixin for multiple widgets (#8876)\n\tvar proxiedPrototype = {};\n\n\tvar namespace = name.split( \".\" )[ 0 ];\n\tname = name.split( \".\" )[ 1 ];\n\tvar fullName = namespace + \"-\" + name;\n\n\tif ( !prototype ) {\n\t\tprototype = base;\n\t\tbase = $.Widget;\n\t}\n\n\tif ( Array.isArray( prototype ) ) {\n\t\tprototype = $.extend.apply( null, [ {} ].concat( prototype ) );\n\t}\n\n\t// Create selector for plugin\n\t$.expr.pseudos[ fullName.toLowerCase() ] = function( elem ) {\n\t\treturn !!$.data( elem, fullName );\n\t};\n\n\t$[ namespace ] = $[ namespace ] || {};\n\texistingConstructor = $[ namespace ][ name ];\n\tconstructor = $[ namespace ][ name ] = function( options, element ) {\n\n\t\t// Allow instantiation without \"new\" keyword\n\t\tif ( !this || !this._createWidget ) {\n\t\t\treturn new constructor( options, element );\n\t\t}\n\n\t\t// Allow instantiation without initializing for simple inheritance\n\t\t// must use \"new\" keyword (the code above always passes args)\n\t\tif ( arguments.length ) {\n\t\t\tthis._createWidget( options, element );\n\t\t}\n\t};\n\n\t// Extend with the existing constructor to carry over any static properties\n\t$.extend( constructor, existingConstructor, {\n\t\tversion: prototype.version,\n\n\t\t// Copy the object used to create the prototype in case we need to\n\t\t// redefine the widget later\n\t\t_proto: $.extend( {}, prototype ),\n\n\t\t// Track widgets that inherit from this widget in case this widget is\n\t\t// redefined after a widget inherits from it\n\t\t_childConstructors: []\n\t} );\n\n\tbasePrototype = new base();\n\n\t// We need to make the options hash a property directly on the new instance\n\t// otherwise we'll modify the options hash on the prototype that we're\n\t// inheriting from\n\tbasePrototype.options = $.widget.extend( {}, basePrototype.options );\n\t$.each( prototype, function( prop, value ) {\n\t\tif ( typeof value !== \"function\" ) {\n\t\t\tproxiedPrototype[ prop ] = value;\n\t\t\treturn;\n\t\t}\n\t\tproxiedPrototype[ prop ] = ( function() {\n\t\t\tfunction _super() {\n\t\t\t\treturn base.prototype[ prop ].apply( this, arguments );\n\t\t\t}\n\n\t\t\tfunction _superApply( args ) {\n\t\t\t\treturn base.prototype[ prop ].apply( this, args );\n\t\t\t}\n\n\t\t\treturn function() {\n\t\t\t\tvar __super = this._super;\n\t\t\t\tvar __superApply = this._superApply;\n\t\t\t\tvar returnValue;\n\n\t\t\t\tthis._super = _super;\n\t\t\t\tthis._superApply = _superApply;\n\n\t\t\t\treturnValue = value.apply( this, arguments );\n\n\t\t\t\tthis._super = __super;\n\t\t\t\tthis._superApply = __superApply;\n\n\t\t\t\treturn returnValue;\n\t\t\t};\n\t\t} )();\n\t} );\n\tconstructor.prototype = $.widget.extend( basePrototype, {\n\n\t\t// TODO: remove support for widgetEventPrefix\n\t\t// always use the name + a colon as the prefix, e.g., draggable:start\n\t\t// don't prefix for widgets that aren't DOM-based\n\t\twidgetEventPrefix: existingConstructor ? ( basePrototype.widgetEventPrefix || name ) : name\n\t}, proxiedPrototype, {\n\t\tconstructor: constructor,\n\t\tnamespace: namespace,\n\t\twidgetName: name,\n\t\twidgetFullName: fullName\n\t} );\n\n\t// If this widget is being redefined then we need to find all widgets that\n\t// are inheriting from it and redefine all of them so that they inherit from\n\t// the new version of this widget. We're essentially trying to replace one\n\t// level in the prototype chain.\n\tif ( existingConstructor ) {\n\t\t$.each( existingConstructor._childConstructors, function( i, child ) {\n\t\t\tvar childPrototype = child.prototype;\n\n\t\t\t// Redefine the child widget using the same prototype that was\n\t\t\t// originally used, but inherit from the new version of the base\n\t\t\t$.widget( childPrototype.namespace + \".\" + childPrototype.widgetName, constructor,\n\t\t\t\tchild._proto );\n\t\t} );\n\n\t\t// Remove the list of existing child constructors from the old constructor\n\t\t// so the old child constructors can be garbage collected\n\t\tdelete existingConstructor._childConstructors;\n\t} else {\n\t\tbase._childConstructors.push( constructor );\n\t}\n\n\t$.widget.bridge( name, constructor );\n\n\treturn constructor;\n};\n\n$.widget.extend = function( target ) {\n\tvar input = widgetSlice.call( arguments, 1 );\n\tvar inputIndex = 0;\n\tvar inputLength = input.length;\n\tvar key;\n\tvar value;\n\n\tfor ( ; inputIndex < inputLength; inputIndex++ ) {\n\t\tfor ( key in input[ inputIndex ] ) {\n\t\t\tvalue = input[ inputIndex ][ key ];\n\t\t\tif ( widgetHasOwnProperty.call( input[ inputIndex ], key ) && value !== undefined ) {\n\n\t\t\t\t// Clone objects\n\t\t\t\tif ( $.isPlainObject( value ) ) {\n\t\t\t\t\ttarget[ key ] = $.isPlainObject( target[ key ] ) ?\n\t\t\t\t\t\t$.widget.extend( {}, target[ key ], value ) :\n\n\t\t\t\t\t\t// Don't extend strings, arrays, etc. with objects\n\t\t\t\t\t\t$.widget.extend( {}, value );\n\n\t\t\t\t// Copy everything else by reference\n\t\t\t\t} else {\n\t\t\t\t\ttarget[ key ] = value;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn target;\n};\n\n$.widget.bridge = function( name, object ) {\n\tvar fullName = object.prototype.widgetFullName || name;\n\t$.fn[ name ] = function( options ) {\n\t\tvar isMethodCall = typeof options === \"string\";\n\t\tvar args = widgetSlice.call( arguments, 1 );\n\t\tvar returnValue = this;\n\n\t\tif ( isMethodCall ) {\n\n\t\t\t// If this is an empty collection, we need to have the instance method\n\t\t\t// return undefined instead of the jQuery instance\n\t\t\tif ( !this.length && options === \"instance\" ) {\n\t\t\t\treturnValue = undefined;\n\t\t\t} else {\n\t\t\t\tthis.each( function() {\n\t\t\t\t\tvar methodValue;\n\t\t\t\t\tvar instance = $.data( this, fullName );\n\n\t\t\t\t\tif ( options === \"instance\" ) {\n\t\t\t\t\t\treturnValue = instance;\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( !instance ) {\n\t\t\t\t\t\treturn $.error( \"cannot call methods on \" + name +\n\t\t\t\t\t\t\t\" prior to initialization; \" +\n\t\t\t\t\t\t\t\"attempted to call method '\" + options + \"'\" );\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( typeof instance[ options ] !== \"function\" ||\n\t\t\t\t\t\toptions.charAt( 0 ) === \"_\" ) {\n\t\t\t\t\t\treturn $.error( \"no such method '\" + options + \"' for \" + name +\n\t\t\t\t\t\t\t\" widget instance\" );\n\t\t\t\t\t}\n\n\t\t\t\t\tmethodValue = instance[ options ].apply( instance, args );\n\n\t\t\t\t\tif ( methodValue !== instance && methodValue !== undefined ) {\n\t\t\t\t\t\treturnValue = methodValue && methodValue.jquery ?\n\t\t\t\t\t\t\treturnValue.pushStack( methodValue.get() ) :\n\t\t\t\t\t\t\tmethodValue;\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t}\n\t\t} else {\n\n\t\t\t// Allow multiple hashes to be passed on init\n\t\t\tif ( args.length ) {\n\t\t\t\toptions = $.widget.extend.apply( null, [ options ].concat( args ) );\n\t\t\t}\n\n\t\t\tthis.each( function() {\n\t\t\t\tvar instance = $.data( this, fullName );\n\t\t\t\tif ( instance ) {\n\t\t\t\t\tinstance.option( options || {} );\n\t\t\t\t\tif ( instance._init ) {\n\t\t\t\t\t\tinstance._init();\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t$.data( this, fullName, new object( options, this ) );\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\n\t\treturn returnValue;\n\t};\n};\n\n$.Widget = function( /* options, element */ ) {};\n$.Widget._childConstructors = [];\n\n$.Widget.prototype = {\n\twidgetName: \"widget\",\n\twidgetEventPrefix: \"\",\n\tdefaultElement: \"
          \",\n\n\toptions: {\n\t\tclasses: {},\n\t\tdisabled: false,\n\n\t\t// Callbacks\n\t\tcreate: null\n\t},\n\n\t_createWidget: function( options, element ) {\n\t\telement = $( element || this.defaultElement || this )[ 0 ];\n\t\tthis.element = $( element );\n\t\tthis.uuid = widgetUuid++;\n\t\tthis.eventNamespace = \".\" + this.widgetName + this.uuid;\n\n\t\tthis.bindings = $();\n\t\tthis.hoverable = $();\n\t\tthis.focusable = $();\n\t\tthis.classesElementLookup = {};\n\n\t\tif ( element !== this ) {\n\t\t\t$.data( element, this.widgetFullName, this );\n\t\t\tthis._on( true, this.element, {\n\t\t\t\tremove: function( event ) {\n\t\t\t\t\tif ( event.target === element ) {\n\t\t\t\t\t\tthis.destroy();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} );\n\t\t\tthis.document = $( element.style ?\n\n\t\t\t\t// Element within the document\n\t\t\t\telement.ownerDocument :\n\n\t\t\t\t// Element is window or document\n\t\t\t\telement.document || element );\n\t\t\tthis.window = $( this.document[ 0 ].defaultView || this.document[ 0 ].parentWindow );\n\t\t}\n\n\t\tthis.options = $.widget.extend( {},\n\t\t\tthis.options,\n\t\t\tthis._getCreateOptions(),\n\t\t\toptions );\n\n\t\tthis._create();\n\n\t\tif ( this.options.disabled ) {\n\t\t\tthis._setOptionDisabled( this.options.disabled );\n\t\t}\n\n\t\tthis._trigger( \"create\", null, this._getCreateEventData() );\n\t\tthis._init();\n\t},\n\n\t_getCreateOptions: function() {\n\t\treturn {};\n\t},\n\n\t_getCreateEventData: $.noop,\n\n\t_create: $.noop,\n\n\t_init: $.noop,\n\n\tdestroy: function() {\n\t\tvar that = this;\n\n\t\tthis._destroy();\n\t\t$.each( this.classesElementLookup, function( key, value ) {\n\t\t\tthat._removeClass( value, key );\n\t\t} );\n\n\t\t// We can probably remove the unbind calls in 2.0\n\t\t// all event bindings should go through this._on()\n\t\tthis.element\n\t\t\t.off( this.eventNamespace )\n\t\t\t.removeData( this.widgetFullName );\n\t\tthis.widget()\n\t\t\t.off( this.eventNamespace )\n\t\t\t.removeAttr( \"aria-disabled\" );\n\n\t\t// Clean up events and states\n\t\tthis.bindings.off( this.eventNamespace );\n\t},\n\n\t_destroy: $.noop,\n\n\twidget: function() {\n\t\treturn this.element;\n\t},\n\n\toption: function( key, value ) {\n\t\tvar options = key;\n\t\tvar parts;\n\t\tvar curOption;\n\t\tvar i;\n\n\t\tif ( arguments.length === 0 ) {\n\n\t\t\t// Don't return a reference to the internal hash\n\t\t\treturn $.widget.extend( {}, this.options );\n\t\t}\n\n\t\tif ( typeof key === \"string\" ) {\n\n\t\t\t// Handle nested keys, e.g., \"foo.bar\" => { foo: { bar: ___ } }\n\t\t\toptions = {};\n\t\t\tparts = key.split( \".\" );\n\t\t\tkey = parts.shift();\n\t\t\tif ( parts.length ) {\n\t\t\t\tcurOption = options[ key ] = $.widget.extend( {}, this.options[ key ] );\n\t\t\t\tfor ( i = 0; i < parts.length - 1; i++ ) {\n\t\t\t\t\tcurOption[ parts[ i ] ] = curOption[ parts[ i ] ] || {};\n\t\t\t\t\tcurOption = curOption[ parts[ i ] ];\n\t\t\t\t}\n\t\t\t\tkey = parts.pop();\n\t\t\t\tif ( arguments.length === 1 ) {\n\t\t\t\t\treturn curOption[ key ] === undefined ? null : curOption[ key ];\n\t\t\t\t}\n\t\t\t\tcurOption[ key ] = value;\n\t\t\t} else {\n\t\t\t\tif ( arguments.length === 1 ) {\n\t\t\t\t\treturn this.options[ key ] === undefined ? null : this.options[ key ];\n\t\t\t\t}\n\t\t\t\toptions[ key ] = value;\n\t\t\t}\n\t\t}\n\n\t\tthis._setOptions( options );\n\n\t\treturn this;\n\t},\n\n\t_setOptions: function( options ) {\n\t\tvar key;\n\n\t\tfor ( key in options ) {\n\t\t\tthis._setOption( key, options[ key ] );\n\t\t}\n\n\t\treturn this;\n\t},\n\n\t_setOption: function( key, value ) {\n\t\tif ( key === \"classes\" ) {\n\t\t\tthis._setOptionClasses( value );\n\t\t}\n\n\t\tthis.options[ key ] = value;\n\n\t\tif ( key === \"disabled\" ) {\n\t\t\tthis._setOptionDisabled( value );\n\t\t}\n\n\t\treturn this;\n\t},\n\n\t_setOptionClasses: function( value ) {\n\t\tvar classKey, elements, currentElements;\n\n\t\tfor ( classKey in value ) {\n\t\t\tcurrentElements = this.classesElementLookup[ classKey ];\n\t\t\tif ( value[ classKey ] === this.options.classes[ classKey ] ||\n\t\t\t\t\t!currentElements ||\n\t\t\t\t\t!currentElements.length ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// We are doing this to create a new jQuery object because the _removeClass() call\n\t\t\t// on the next line is going to destroy the reference to the current elements being\n\t\t\t// tracked. We need to save a copy of this collection so that we can add the new classes\n\t\t\t// below.\n\t\t\telements = $( currentElements.get() );\n\t\t\tthis._removeClass( currentElements, classKey );\n\n\t\t\t// We don't use _addClass() here, because that uses this.options.classes\n\t\t\t// for generating the string of classes. We want to use the value passed in from\n\t\t\t// _setOption(), this is the new value of the classes option which was passed to\n\t\t\t// _setOption(). We pass this value directly to _classes().\n\t\t\telements.addClass( this._classes( {\n\t\t\t\telement: elements,\n\t\t\t\tkeys: classKey,\n\t\t\t\tclasses: value,\n\t\t\t\tadd: true\n\t\t\t} ) );\n\t\t}\n\t},\n\n\t_setOptionDisabled: function( value ) {\n\t\tthis._toggleClass( this.widget(), this.widgetFullName + \"-disabled\", null, !!value );\n\n\t\t// If the widget is becoming disabled, then nothing is interactive\n\t\tif ( value ) {\n\t\t\tthis._removeClass( this.hoverable, null, \"ui-state-hover\" );\n\t\t\tthis._removeClass( this.focusable, null, \"ui-state-focus\" );\n\t\t}\n\t},\n\n\tenable: function() {\n\t\treturn this._setOptions( { disabled: false } );\n\t},\n\n\tdisable: function() {\n\t\treturn this._setOptions( { disabled: true } );\n\t},\n\n\t_classes: function( options ) {\n\t\tvar full = [];\n\t\tvar that = this;\n\n\t\toptions = $.extend( {\n\t\t\telement: this.element,\n\t\t\tclasses: this.options.classes || {}\n\t\t}, options );\n\n\t\tfunction bindRemoveEvent() {\n\t\t\tvar nodesToBind = [];\n\n\t\t\toptions.element.each( function( _, element ) {\n\t\t\t\tvar isTracked = $.map( that.classesElementLookup, function( elements ) {\n\t\t\t\t\treturn elements;\n\t\t\t\t} )\n\t\t\t\t\t.some( function( elements ) {\n\t\t\t\t\t\treturn elements.is( element );\n\t\t\t\t\t} );\n\n\t\t\t\tif ( !isTracked ) {\n\t\t\t\t\tnodesToBind.push( element );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tthat._on( $( nodesToBind ), {\n\t\t\t\tremove: \"_untrackClassesElement\"\n\t\t\t} );\n\t\t}\n\n\t\tfunction processClassString( classes, checkOption ) {\n\t\t\tvar current, i;\n\t\t\tfor ( i = 0; i < classes.length; i++ ) {\n\t\t\t\tcurrent = that.classesElementLookup[ classes[ i ] ] || $();\n\t\t\t\tif ( options.add ) {\n\t\t\t\t\tbindRemoveEvent();\n\t\t\t\t\tcurrent = $( $.uniqueSort( current.get().concat( options.element.get() ) ) );\n\t\t\t\t} else {\n\t\t\t\t\tcurrent = $( current.not( options.element ).get() );\n\t\t\t\t}\n\t\t\t\tthat.classesElementLookup[ classes[ i ] ] = current;\n\t\t\t\tfull.push( classes[ i ] );\n\t\t\t\tif ( checkOption && options.classes[ classes[ i ] ] ) {\n\t\t\t\t\tfull.push( options.classes[ classes[ i ] ] );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ( options.keys ) {\n\t\t\tprocessClassString( options.keys.match( /\\S+/g ) || [], true );\n\t\t}\n\t\tif ( options.extra ) {\n\t\t\tprocessClassString( options.extra.match( /\\S+/g ) || [] );\n\t\t}\n\n\t\treturn full.join( \" \" );\n\t},\n\n\t_untrackClassesElement: function( event ) {\n\t\tvar that = this;\n\t\t$.each( that.classesElementLookup, function( key, value ) {\n\t\t\tif ( $.inArray( event.target, value ) !== -1 ) {\n\t\t\t\tthat.classesElementLookup[ key ] = $( value.not( event.target ).get() );\n\t\t\t}\n\t\t} );\n\n\t\tthis._off( $( event.target ) );\n\t},\n\n\t_removeClass: function( element, keys, extra ) {\n\t\treturn this._toggleClass( element, keys, extra, false );\n\t},\n\n\t_addClass: function( element, keys, extra ) {\n\t\treturn this._toggleClass( element, keys, extra, true );\n\t},\n\n\t_toggleClass: function( element, keys, extra, add ) {\n\t\tadd = ( typeof add === \"boolean\" ) ? add : extra;\n\t\tvar shift = ( typeof element === \"string\" || element === null ),\n\t\t\toptions = {\n\t\t\t\textra: shift ? keys : extra,\n\t\t\t\tkeys: shift ? element : keys,\n\t\t\t\telement: shift ? this.element : element,\n\t\t\t\tadd: add\n\t\t\t};\n\t\toptions.element.toggleClass( this._classes( options ), add );\n\t\treturn this;\n\t},\n\n\t_on: function( suppressDisabledCheck, element, handlers ) {\n\t\tvar delegateElement;\n\t\tvar instance = this;\n\n\t\t// No suppressDisabledCheck flag, shuffle arguments\n\t\tif ( typeof suppressDisabledCheck !== \"boolean\" ) {\n\t\t\thandlers = element;\n\t\t\telement = suppressDisabledCheck;\n\t\t\tsuppressDisabledCheck = false;\n\t\t}\n\n\t\t// No element argument, shuffle and use this.element\n\t\tif ( !handlers ) {\n\t\t\thandlers = element;\n\t\t\telement = this.element;\n\t\t\tdelegateElement = this.widget();\n\t\t} else {\n\t\t\telement = delegateElement = $( element );\n\t\t\tthis.bindings = this.bindings.add( element );\n\t\t}\n\n\t\t$.each( handlers, function( event, handler ) {\n\t\t\tfunction handlerProxy() {\n\n\t\t\t\t// Allow widgets to customize the disabled handling\n\t\t\t\t// - disabled as an array instead of boolean\n\t\t\t\t// - disabled class as method for disabling individual parts\n\t\t\t\tif ( !suppressDisabledCheck &&\n\t\t\t\t\t\t( instance.options.disabled === true ||\n\t\t\t\t\t\t$( this ).hasClass( \"ui-state-disabled\" ) ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\treturn ( typeof handler === \"string\" ? instance[ handler ] : handler )\n\t\t\t\t\t.apply( instance, arguments );\n\t\t\t}\n\n\t\t\t// Copy the guid so direct unbinding works\n\t\t\tif ( typeof handler !== \"string\" ) {\n\t\t\t\thandlerProxy.guid = handler.guid =\n\t\t\t\t\thandler.guid || handlerProxy.guid || $.guid++;\n\t\t\t}\n\n\t\t\tvar match = event.match( /^([\\w:-]*)\\s*(.*)$/ );\n\t\t\tvar eventName = match[ 1 ] + instance.eventNamespace;\n\t\t\tvar selector = match[ 2 ];\n\n\t\t\tif ( selector ) {\n\t\t\t\tdelegateElement.on( eventName, selector, handlerProxy );\n\t\t\t} else {\n\t\t\t\telement.on( eventName, handlerProxy );\n\t\t\t}\n\t\t} );\n\t},\n\n\t_off: function( element, eventName ) {\n\t\teventName = ( eventName || \"\" ).split( \" \" ).join( this.eventNamespace + \" \" ) +\n\t\t\tthis.eventNamespace;\n\t\telement.off( eventName );\n\n\t\t// Clear the stack to avoid memory leaks (#10056)\n\t\tthis.bindings = $( this.bindings.not( element ).get() );\n\t\tthis.focusable = $( this.focusable.not( element ).get() );\n\t\tthis.hoverable = $( this.hoverable.not( element ).get() );\n\t},\n\n\t_delay: function( handler, delay ) {\n\t\tfunction handlerProxy() {\n\t\t\treturn ( typeof handler === \"string\" ? instance[ handler ] : handler )\n\t\t\t\t.apply( instance, arguments );\n\t\t}\n\t\tvar instance = this;\n\t\treturn setTimeout( handlerProxy, delay || 0 );\n\t},\n\n\t_hoverable: function( element ) {\n\t\tthis.hoverable = this.hoverable.add( element );\n\t\tthis._on( element, {\n\t\t\tmouseenter: function( event ) {\n\t\t\t\tthis._addClass( $( event.currentTarget ), null, \"ui-state-hover\" );\n\t\t\t},\n\t\t\tmouseleave: function( event ) {\n\t\t\t\tthis._removeClass( $( event.currentTarget ), null, \"ui-state-hover\" );\n\t\t\t}\n\t\t} );\n\t},\n\n\t_focusable: function( element ) {\n\t\tthis.focusable = this.focusable.add( element );\n\t\tthis._on( element, {\n\t\t\tfocusin: function( event ) {\n\t\t\t\tthis._addClass( $( event.currentTarget ), null, \"ui-state-focus\" );\n\t\t\t},\n\t\t\tfocusout: function( event ) {\n\t\t\t\tthis._removeClass( $( event.currentTarget ), null, \"ui-state-focus\" );\n\t\t\t}\n\t\t} );\n\t},\n\n\t_trigger: function( type, event, data ) {\n\t\tvar prop, orig;\n\t\tvar callback = this.options[ type ];\n\n\t\tdata = data || {};\n\t\tevent = $.Event( event );\n\t\tevent.type = ( type === this.widgetEventPrefix ?\n\t\t\ttype :\n\t\t\tthis.widgetEventPrefix + type ).toLowerCase();\n\n\t\t// The original event may come from any element\n\t\t// so we need to reset the target on the new event\n\t\tevent.target = this.element[ 0 ];\n\n\t\t// Copy original event properties over to the new event\n\t\torig = event.originalEvent;\n\t\tif ( orig ) {\n\t\t\tfor ( prop in orig ) {\n\t\t\t\tif ( !( prop in event ) ) {\n\t\t\t\t\tevent[ prop ] = orig[ prop ];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tthis.element.trigger( event, data );\n\t\treturn !( typeof callback === \"function\" &&\n\t\t\tcallback.apply( this.element[ 0 ], [ event ].concat( data ) ) === false ||\n\t\t\tevent.isDefaultPrevented() );\n\t}\n};\n\n$.each( { show: \"fadeIn\", hide: \"fadeOut\" }, function( method, defaultEffect ) {\n\t$.Widget.prototype[ \"_\" + method ] = function( element, options, callback ) {\n\t\tif ( typeof options === \"string\" ) {\n\t\t\toptions = { effect: options };\n\t\t}\n\n\t\tvar hasOptions;\n\t\tvar effectName = !options ?\n\t\t\tmethod :\n\t\t\toptions === true || typeof options === \"number\" ?\n\t\t\t\tdefaultEffect :\n\t\t\t\toptions.effect || defaultEffect;\n\n\t\toptions = options || {};\n\t\tif ( typeof options === \"number\" ) {\n\t\t\toptions = { duration: options };\n\t\t} else if ( options === true ) {\n\t\t\toptions = {};\n\t\t}\n\n\t\thasOptions = !$.isEmptyObject( options );\n\t\toptions.complete = callback;\n\n\t\tif ( options.delay ) {\n\t\t\telement.delay( options.delay );\n\t\t}\n\n\t\tif ( hasOptions && $.effects && $.effects.effect[ effectName ] ) {\n\t\t\telement[ method ]( options );\n\t\t} else if ( effectName !== method && element[ effectName ] ) {\n\t\t\telement[ effectName ]( options.duration, options.easing, callback );\n\t\t} else {\n\t\t\telement.queue( function( next ) {\n\t\t\t\t$( this )[ method ]();\n\t\t\t\tif ( callback ) {\n\t\t\t\t\tcallback.call( element[ 0 ] );\n\t\t\t\t}\n\t\t\t\tnext();\n\t\t\t} );\n\t\t}\n\t};\n} );\n\nvar widget = $.widget;\n\n\n/*!\n * jQuery UI Position 1.13.3\n * https://jqueryui.com\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license.\n * https://jquery.org/license\n *\n * https://api.jqueryui.com/position/\n */\n\n//>>label: Position\n//>>group: Core\n//>>description: Positions elements relative to other elements.\n//>>docs: https://api.jqueryui.com/position/\n//>>demos: https://jqueryui.com/position/\n\n\n( function() {\nvar cachedScrollbarWidth,\n\tmax = Math.max,\n\tabs = Math.abs,\n\trhorizontal = /left|center|right/,\n\trvertical = /top|center|bottom/,\n\troffset = /[\\+\\-]\\d+(\\.[\\d]+)?%?/,\n\trposition = /^\\w+/,\n\trpercent = /%$/,\n\t_position = $.fn.position;\n\nfunction getOffsets( offsets, width, height ) {\n\treturn [\n\t\tparseFloat( offsets[ 0 ] ) * ( rpercent.test( offsets[ 0 ] ) ? width / 100 : 1 ),\n\t\tparseFloat( offsets[ 1 ] ) * ( rpercent.test( offsets[ 1 ] ) ? height / 100 : 1 )\n\t];\n}\n\nfunction parseCss( element, property ) {\n\treturn parseInt( $.css( element, property ), 10 ) || 0;\n}\n\nfunction isWindow( obj ) {\n\treturn obj != null && obj === obj.window;\n}\n\nfunction getDimensions( elem ) {\n\tvar raw = elem[ 0 ];\n\tif ( raw.nodeType === 9 ) {\n\t\treturn {\n\t\t\twidth: elem.width(),\n\t\t\theight: elem.height(),\n\t\t\toffset: { top: 0, left: 0 }\n\t\t};\n\t}\n\tif ( isWindow( raw ) ) {\n\t\treturn {\n\t\t\twidth: elem.width(),\n\t\t\theight: elem.height(),\n\t\t\toffset: { top: elem.scrollTop(), left: elem.scrollLeft() }\n\t\t};\n\t}\n\tif ( raw.preventDefault ) {\n\t\treturn {\n\t\t\twidth: 0,\n\t\t\theight: 0,\n\t\t\toffset: { top: raw.pageY, left: raw.pageX }\n\t\t};\n\t}\n\treturn {\n\t\twidth: elem.outerWidth(),\n\t\theight: elem.outerHeight(),\n\t\toffset: elem.offset()\n\t};\n}\n\n$.position = {\n\tscrollbarWidth: function() {\n\t\tif ( cachedScrollbarWidth !== undefined ) {\n\t\t\treturn cachedScrollbarWidth;\n\t\t}\n\t\tvar w1, w2,\n\t\t\tdiv = $( \"
          \" +\n\t\t\t\t\"
          \" ),\n\t\t\tinnerDiv = div.children()[ 0 ];\n\n\t\t$( \"body\" ).append( div );\n\t\tw1 = innerDiv.offsetWidth;\n\t\tdiv.css( \"overflow\", \"scroll\" );\n\n\t\tw2 = innerDiv.offsetWidth;\n\n\t\tif ( w1 === w2 ) {\n\t\t\tw2 = div[ 0 ].clientWidth;\n\t\t}\n\n\t\tdiv.remove();\n\n\t\treturn ( cachedScrollbarWidth = w1 - w2 );\n\t},\n\tgetScrollInfo: function( within ) {\n\t\tvar overflowX = within.isWindow || within.isDocument ? \"\" :\n\t\t\t\twithin.element.css( \"overflow-x\" ),\n\t\t\toverflowY = within.isWindow || within.isDocument ? \"\" :\n\t\t\t\twithin.element.css( \"overflow-y\" ),\n\t\t\thasOverflowX = overflowX === \"scroll\" ||\n\t\t\t\t( overflowX === \"auto\" && within.width < within.element[ 0 ].scrollWidth ),\n\t\t\thasOverflowY = overflowY === \"scroll\" ||\n\t\t\t\t( overflowY === \"auto\" && within.height < within.element[ 0 ].scrollHeight );\n\t\treturn {\n\t\t\twidth: hasOverflowY ? $.position.scrollbarWidth() : 0,\n\t\t\theight: hasOverflowX ? $.position.scrollbarWidth() : 0\n\t\t};\n\t},\n\tgetWithinInfo: function( element ) {\n\t\tvar withinElement = $( element || window ),\n\t\t\tisElemWindow = isWindow( withinElement[ 0 ] ),\n\t\t\tisDocument = !!withinElement[ 0 ] && withinElement[ 0 ].nodeType === 9,\n\t\t\thasOffset = !isElemWindow && !isDocument;\n\t\treturn {\n\t\t\telement: withinElement,\n\t\t\tisWindow: isElemWindow,\n\t\t\tisDocument: isDocument,\n\t\t\toffset: hasOffset ? $( element ).offset() : { left: 0, top: 0 },\n\t\t\tscrollLeft: withinElement.scrollLeft(),\n\t\t\tscrollTop: withinElement.scrollTop(),\n\t\t\twidth: withinElement.outerWidth(),\n\t\t\theight: withinElement.outerHeight()\n\t\t};\n\t}\n};\n\n$.fn.position = function( options ) {\n\tif ( !options || !options.of ) {\n\t\treturn _position.apply( this, arguments );\n\t}\n\n\t// Make a copy, we don't want to modify arguments\n\toptions = $.extend( {}, options );\n\n\tvar atOffset, targetWidth, targetHeight, targetOffset, basePosition, dimensions,\n\n\t\t// Make sure string options are treated as CSS selectors\n\t\ttarget = typeof options.of === \"string\" ?\n\t\t\t$( document ).find( options.of ) :\n\t\t\t$( options.of ),\n\n\t\twithin = $.position.getWithinInfo( options.within ),\n\t\tscrollInfo = $.position.getScrollInfo( within ),\n\t\tcollision = ( options.collision || \"flip\" ).split( \" \" ),\n\t\toffsets = {};\n\n\tdimensions = getDimensions( target );\n\tif ( target[ 0 ].preventDefault ) {\n\n\t\t// Force left top to allow flipping\n\t\toptions.at = \"left top\";\n\t}\n\ttargetWidth = dimensions.width;\n\ttargetHeight = dimensions.height;\n\ttargetOffset = dimensions.offset;\n\n\t// Clone to reuse original targetOffset later\n\tbasePosition = $.extend( {}, targetOffset );\n\n\t// Force my and at to have valid horizontal and vertical positions\n\t// if a value is missing or invalid, it will be converted to center\n\t$.each( [ \"my\", \"at\" ], function() {\n\t\tvar pos = ( options[ this ] || \"\" ).split( \" \" ),\n\t\t\thorizontalOffset,\n\t\t\tverticalOffset;\n\n\t\tif ( pos.length === 1 ) {\n\t\t\tpos = rhorizontal.test( pos[ 0 ] ) ?\n\t\t\t\tpos.concat( [ \"center\" ] ) :\n\t\t\t\trvertical.test( pos[ 0 ] ) ?\n\t\t\t\t\t[ \"center\" ].concat( pos ) :\n\t\t\t\t\t[ \"center\", \"center\" ];\n\t\t}\n\t\tpos[ 0 ] = rhorizontal.test( pos[ 0 ] ) ? pos[ 0 ] : \"center\";\n\t\tpos[ 1 ] = rvertical.test( pos[ 1 ] ) ? pos[ 1 ] : \"center\";\n\n\t\t// Calculate offsets\n\t\thorizontalOffset = roffset.exec( pos[ 0 ] );\n\t\tverticalOffset = roffset.exec( pos[ 1 ] );\n\t\toffsets[ this ] = [\n\t\t\thorizontalOffset ? horizontalOffset[ 0 ] : 0,\n\t\t\tverticalOffset ? verticalOffset[ 0 ] : 0\n\t\t];\n\n\t\t// Reduce to just the positions without the offsets\n\t\toptions[ this ] = [\n\t\t\trposition.exec( pos[ 0 ] )[ 0 ],\n\t\t\trposition.exec( pos[ 1 ] )[ 0 ]\n\t\t];\n\t} );\n\n\t// Normalize collision option\n\tif ( collision.length === 1 ) {\n\t\tcollision[ 1 ] = collision[ 0 ];\n\t}\n\n\tif ( options.at[ 0 ] === \"right\" ) {\n\t\tbasePosition.left += targetWidth;\n\t} else if ( options.at[ 0 ] === \"center\" ) {\n\t\tbasePosition.left += targetWidth / 2;\n\t}\n\n\tif ( options.at[ 1 ] === \"bottom\" ) {\n\t\tbasePosition.top += targetHeight;\n\t} else if ( options.at[ 1 ] === \"center\" ) {\n\t\tbasePosition.top += targetHeight / 2;\n\t}\n\n\tatOffset = getOffsets( offsets.at, targetWidth, targetHeight );\n\tbasePosition.left += atOffset[ 0 ];\n\tbasePosition.top += atOffset[ 1 ];\n\n\treturn this.each( function() {\n\t\tvar collisionPosition, using,\n\t\t\telem = $( this ),\n\t\t\telemWidth = elem.outerWidth(),\n\t\t\telemHeight = elem.outerHeight(),\n\t\t\tmarginLeft = parseCss( this, \"marginLeft\" ),\n\t\t\tmarginTop = parseCss( this, \"marginTop\" ),\n\t\t\tcollisionWidth = elemWidth + marginLeft + parseCss( this, \"marginRight\" ) +\n\t\t\t\tscrollInfo.width,\n\t\t\tcollisionHeight = elemHeight + marginTop + parseCss( this, \"marginBottom\" ) +\n\t\t\t\tscrollInfo.height,\n\t\t\tposition = $.extend( {}, basePosition ),\n\t\t\tmyOffset = getOffsets( offsets.my, elem.outerWidth(), elem.outerHeight() );\n\n\t\tif ( options.my[ 0 ] === \"right\" ) {\n\t\t\tposition.left -= elemWidth;\n\t\t} else if ( options.my[ 0 ] === \"center\" ) {\n\t\t\tposition.left -= elemWidth / 2;\n\t\t}\n\n\t\tif ( options.my[ 1 ] === \"bottom\" ) {\n\t\t\tposition.top -= elemHeight;\n\t\t} else if ( options.my[ 1 ] === \"center\" ) {\n\t\t\tposition.top -= elemHeight / 2;\n\t\t}\n\n\t\tposition.left += myOffset[ 0 ];\n\t\tposition.top += myOffset[ 1 ];\n\n\t\tcollisionPosition = {\n\t\t\tmarginLeft: marginLeft,\n\t\t\tmarginTop: marginTop\n\t\t};\n\n\t\t$.each( [ \"left\", \"top\" ], function( i, dir ) {\n\t\t\tif ( $.ui.position[ collision[ i ] ] ) {\n\t\t\t\t$.ui.position[ collision[ i ] ][ dir ]( position, {\n\t\t\t\t\ttargetWidth: targetWidth,\n\t\t\t\t\ttargetHeight: targetHeight,\n\t\t\t\t\telemWidth: elemWidth,\n\t\t\t\t\telemHeight: elemHeight,\n\t\t\t\t\tcollisionPosition: collisionPosition,\n\t\t\t\t\tcollisionWidth: collisionWidth,\n\t\t\t\t\tcollisionHeight: collisionHeight,\n\t\t\t\t\toffset: [ atOffset[ 0 ] + myOffset[ 0 ], atOffset [ 1 ] + myOffset[ 1 ] ],\n\t\t\t\t\tmy: options.my,\n\t\t\t\t\tat: options.at,\n\t\t\t\t\twithin: within,\n\t\t\t\t\telem: elem\n\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\n\t\tif ( options.using ) {\n\n\t\t\t// Adds feedback as second argument to using callback, if present\n\t\t\tusing = function( props ) {\n\t\t\t\tvar left = targetOffset.left - position.left,\n\t\t\t\t\tright = left + targetWidth - elemWidth,\n\t\t\t\t\ttop = targetOffset.top - position.top,\n\t\t\t\t\tbottom = top + targetHeight - elemHeight,\n\t\t\t\t\tfeedback = {\n\t\t\t\t\t\ttarget: {\n\t\t\t\t\t\t\telement: target,\n\t\t\t\t\t\t\tleft: targetOffset.left,\n\t\t\t\t\t\t\ttop: targetOffset.top,\n\t\t\t\t\t\t\twidth: targetWidth,\n\t\t\t\t\t\t\theight: targetHeight\n\t\t\t\t\t\t},\n\t\t\t\t\t\telement: {\n\t\t\t\t\t\t\telement: elem,\n\t\t\t\t\t\t\tleft: position.left,\n\t\t\t\t\t\t\ttop: position.top,\n\t\t\t\t\t\t\twidth: elemWidth,\n\t\t\t\t\t\t\theight: elemHeight\n\t\t\t\t\t\t},\n\t\t\t\t\t\thorizontal: right < 0 ? \"left\" : left > 0 ? \"right\" : \"center\",\n\t\t\t\t\t\tvertical: bottom < 0 ? \"top\" : top > 0 ? \"bottom\" : \"middle\"\n\t\t\t\t\t};\n\t\t\t\tif ( targetWidth < elemWidth && abs( left + right ) < targetWidth ) {\n\t\t\t\t\tfeedback.horizontal = \"center\";\n\t\t\t\t}\n\t\t\t\tif ( targetHeight < elemHeight && abs( top + bottom ) < targetHeight ) {\n\t\t\t\t\tfeedback.vertical = \"middle\";\n\t\t\t\t}\n\t\t\t\tif ( max( abs( left ), abs( right ) ) > max( abs( top ), abs( bottom ) ) ) {\n\t\t\t\t\tfeedback.important = \"horizontal\";\n\t\t\t\t} else {\n\t\t\t\t\tfeedback.important = \"vertical\";\n\t\t\t\t}\n\t\t\t\toptions.using.call( this, props, feedback );\n\t\t\t};\n\t\t}\n\n\t\telem.offset( $.extend( position, { using: using } ) );\n\t} );\n};\n\n$.ui.position = {\n\tfit: {\n\t\tleft: function( position, data ) {\n\t\t\tvar within = data.within,\n\t\t\t\twithinOffset = within.isWindow ? within.scrollLeft : within.offset.left,\n\t\t\t\touterWidth = within.width,\n\t\t\t\tcollisionPosLeft = position.left - data.collisionPosition.marginLeft,\n\t\t\t\toverLeft = withinOffset - collisionPosLeft,\n\t\t\t\toverRight = collisionPosLeft + data.collisionWidth - outerWidth - withinOffset,\n\t\t\t\tnewOverRight;\n\n\t\t\t// Element is wider than within\n\t\t\tif ( data.collisionWidth > outerWidth ) {\n\n\t\t\t\t// Element is initially over the left side of within\n\t\t\t\tif ( overLeft > 0 && overRight <= 0 ) {\n\t\t\t\t\tnewOverRight = position.left + overLeft + data.collisionWidth - outerWidth -\n\t\t\t\t\t\twithinOffset;\n\t\t\t\t\tposition.left += overLeft - newOverRight;\n\n\t\t\t\t// Element is initially over right side of within\n\t\t\t\t} else if ( overRight > 0 && overLeft <= 0 ) {\n\t\t\t\t\tposition.left = withinOffset;\n\n\t\t\t\t// Element is initially over both left and right sides of within\n\t\t\t\t} else {\n\t\t\t\t\tif ( overLeft > overRight ) {\n\t\t\t\t\t\tposition.left = withinOffset + outerWidth - data.collisionWidth;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tposition.left = withinOffset;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t// Too far left -> align with left edge\n\t\t\t} else if ( overLeft > 0 ) {\n\t\t\t\tposition.left += overLeft;\n\n\t\t\t// Too far right -> align with right edge\n\t\t\t} else if ( overRight > 0 ) {\n\t\t\t\tposition.left -= overRight;\n\n\t\t\t// Adjust based on position and margin\n\t\t\t} else {\n\t\t\t\tposition.left = max( position.left - collisionPosLeft, position.left );\n\t\t\t}\n\t\t},\n\t\ttop: function( position, data ) {\n\t\t\tvar within = data.within,\n\t\t\t\twithinOffset = within.isWindow ? within.scrollTop : within.offset.top,\n\t\t\t\touterHeight = data.within.height,\n\t\t\t\tcollisionPosTop = position.top - data.collisionPosition.marginTop,\n\t\t\t\toverTop = withinOffset - collisionPosTop,\n\t\t\t\toverBottom = collisionPosTop + data.collisionHeight - outerHeight - withinOffset,\n\t\t\t\tnewOverBottom;\n\n\t\t\t// Element is taller than within\n\t\t\tif ( data.collisionHeight > outerHeight ) {\n\n\t\t\t\t// Element is initially over the top of within\n\t\t\t\tif ( overTop > 0 && overBottom <= 0 ) {\n\t\t\t\t\tnewOverBottom = position.top + overTop + data.collisionHeight - outerHeight -\n\t\t\t\t\t\twithinOffset;\n\t\t\t\t\tposition.top += overTop - newOverBottom;\n\n\t\t\t\t// Element is initially over bottom of within\n\t\t\t\t} else if ( overBottom > 0 && overTop <= 0 ) {\n\t\t\t\t\tposition.top = withinOffset;\n\n\t\t\t\t// Element is initially over both top and bottom of within\n\t\t\t\t} else {\n\t\t\t\t\tif ( overTop > overBottom ) {\n\t\t\t\t\t\tposition.top = withinOffset + outerHeight - data.collisionHeight;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tposition.top = withinOffset;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t// Too far up -> align with top\n\t\t\t} else if ( overTop > 0 ) {\n\t\t\t\tposition.top += overTop;\n\n\t\t\t// Too far down -> align with bottom edge\n\t\t\t} else if ( overBottom > 0 ) {\n\t\t\t\tposition.top -= overBottom;\n\n\t\t\t// Adjust based on position and margin\n\t\t\t} else {\n\t\t\t\tposition.top = max( position.top - collisionPosTop, position.top );\n\t\t\t}\n\t\t}\n\t},\n\tflip: {\n\t\tleft: function( position, data ) {\n\t\t\tvar within = data.within,\n\t\t\t\twithinOffset = within.offset.left + within.scrollLeft,\n\t\t\t\touterWidth = within.width,\n\t\t\t\toffsetLeft = within.isWindow ? within.scrollLeft : within.offset.left,\n\t\t\t\tcollisionPosLeft = position.left - data.collisionPosition.marginLeft,\n\t\t\t\toverLeft = collisionPosLeft - offsetLeft,\n\t\t\t\toverRight = collisionPosLeft + data.collisionWidth - outerWidth - offsetLeft,\n\t\t\t\tmyOffset = data.my[ 0 ] === \"left\" ?\n\t\t\t\t\t-data.elemWidth :\n\t\t\t\t\tdata.my[ 0 ] === \"right\" ?\n\t\t\t\t\t\tdata.elemWidth :\n\t\t\t\t\t\t0,\n\t\t\t\tatOffset = data.at[ 0 ] === \"left\" ?\n\t\t\t\t\tdata.targetWidth :\n\t\t\t\t\tdata.at[ 0 ] === \"right\" ?\n\t\t\t\t\t\t-data.targetWidth :\n\t\t\t\t\t\t0,\n\t\t\t\toffset = -2 * data.offset[ 0 ],\n\t\t\t\tnewOverRight,\n\t\t\t\tnewOverLeft;\n\n\t\t\tif ( overLeft < 0 ) {\n\t\t\t\tnewOverRight = position.left + myOffset + atOffset + offset + data.collisionWidth -\n\t\t\t\t\touterWidth - withinOffset;\n\t\t\t\tif ( newOverRight < 0 || newOverRight < abs( overLeft ) ) {\n\t\t\t\t\tposition.left += myOffset + atOffset + offset;\n\t\t\t\t}\n\t\t\t} else if ( overRight > 0 ) {\n\t\t\t\tnewOverLeft = position.left - data.collisionPosition.marginLeft + myOffset +\n\t\t\t\t\tatOffset + offset - offsetLeft;\n\t\t\t\tif ( newOverLeft > 0 || abs( newOverLeft ) < overRight ) {\n\t\t\t\t\tposition.left += myOffset + atOffset + offset;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\ttop: function( position, data ) {\n\t\t\tvar within = data.within,\n\t\t\t\twithinOffset = within.offset.top + within.scrollTop,\n\t\t\t\touterHeight = within.height,\n\t\t\t\toffsetTop = within.isWindow ? within.scrollTop : within.offset.top,\n\t\t\t\tcollisionPosTop = position.top - data.collisionPosition.marginTop,\n\t\t\t\toverTop = collisionPosTop - offsetTop,\n\t\t\t\toverBottom = collisionPosTop + data.collisionHeight - outerHeight - offsetTop,\n\t\t\t\ttop = data.my[ 1 ] === \"top\",\n\t\t\t\tmyOffset = top ?\n\t\t\t\t\t-data.elemHeight :\n\t\t\t\t\tdata.my[ 1 ] === \"bottom\" ?\n\t\t\t\t\t\tdata.elemHeight :\n\t\t\t\t\t\t0,\n\t\t\t\tatOffset = data.at[ 1 ] === \"top\" ?\n\t\t\t\t\tdata.targetHeight :\n\t\t\t\t\tdata.at[ 1 ] === \"bottom\" ?\n\t\t\t\t\t\t-data.targetHeight :\n\t\t\t\t\t\t0,\n\t\t\t\toffset = -2 * data.offset[ 1 ],\n\t\t\t\tnewOverTop,\n\t\t\t\tnewOverBottom;\n\t\t\tif ( overTop < 0 ) {\n\t\t\t\tnewOverBottom = position.top + myOffset + atOffset + offset + data.collisionHeight -\n\t\t\t\t\touterHeight - withinOffset;\n\t\t\t\tif ( newOverBottom < 0 || newOverBottom < abs( overTop ) ) {\n\t\t\t\t\tposition.top += myOffset + atOffset + offset;\n\t\t\t\t}\n\t\t\t} else if ( overBottom > 0 ) {\n\t\t\t\tnewOverTop = position.top - data.collisionPosition.marginTop + myOffset + atOffset +\n\t\t\t\t\toffset - offsetTop;\n\t\t\t\tif ( newOverTop > 0 || abs( newOverTop ) < overBottom ) {\n\t\t\t\t\tposition.top += myOffset + atOffset + offset;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\tflipfit: {\n\t\tleft: function() {\n\t\t\t$.ui.position.flip.left.apply( this, arguments );\n\t\t\t$.ui.position.fit.left.apply( this, arguments );\n\t\t},\n\t\ttop: function() {\n\t\t\t$.ui.position.flip.top.apply( this, arguments );\n\t\t\t$.ui.position.fit.top.apply( this, arguments );\n\t\t}\n\t}\n};\n\n} )();\n\nvar position = $.ui.position;\n\n\n/*!\n * jQuery UI :data 1.13.3\n * https://jqueryui.com\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license.\n * https://jquery.org/license\n */\n\n//>>label: :data Selector\n//>>group: Core\n//>>description: Selects elements which have data stored under the specified key.\n//>>docs: https://api.jqueryui.com/data-selector/\n\n\nvar data = $.extend( $.expr.pseudos, {\n\tdata: $.expr.createPseudo ?\n\t\t$.expr.createPseudo( function( dataName ) {\n\t\t\treturn function( elem ) {\n\t\t\t\treturn !!$.data( elem, dataName );\n\t\t\t};\n\t\t} ) :\n\n\t\t// Support: jQuery <1.8\n\t\tfunction( elem, i, match ) {\n\t\t\treturn !!$.data( elem, match[ 3 ] );\n\t\t}\n} );\n\n/*!\n * jQuery UI Disable Selection 1.13.3\n * https://jqueryui.com\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license.\n * https://jquery.org/license\n */\n\n//>>label: disableSelection\n//>>group: Core\n//>>description: Disable selection of text content within the set of matched elements.\n//>>docs: https://api.jqueryui.com/disableSelection/\n\n// This file is deprecated\n\nvar disableSelection = $.fn.extend( {\n\tdisableSelection: ( function() {\n\t\tvar eventType = \"onselectstart\" in document.createElement( \"div\" ) ?\n\t\t\t\"selectstart\" :\n\t\t\t\"mousedown\";\n\n\t\treturn function() {\n\t\t\treturn this.on( eventType + \".ui-disableSelection\", function( event ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t} );\n\t\t};\n\t} )(),\n\n\tenableSelection: function() {\n\t\treturn this.off( \".ui-disableSelection\" );\n\t}\n} );\n\n\n\n// Create a local jQuery because jQuery Color relies on it and the\n// global may not exist with AMD and a custom build (#10199).\n// This module is a noop if used as a regular AMD module.\n// eslint-disable-next-line no-unused-vars\nvar jQuery = $;\n\n\n/*!\n * jQuery Color Animations v2.2.0\n * https://github.com/jquery/jquery-color\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license.\n * https://jquery.org/license\n *\n * Date: Sun May 10 09:02:36 2020 +0200\n */\n\n\n\n\tvar stepHooks = \"backgroundColor borderBottomColor borderLeftColor borderRightColor \" +\n\t\t\"borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor\",\n\n\tclass2type = {},\n\ttoString = class2type.toString,\n\n\t// plusequals test for += 100 -= 100\n\trplusequals = /^([\\-+])=\\s*(\\d+\\.?\\d*)/,\n\n\t// a set of RE's that can match strings and generate color tuples.\n\tstringParsers = [ {\n\t\t\tre: /rgba?\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*(?:,\\s*(\\d?(?:\\.\\d+)?)\\s*)?\\)/,\n\t\t\tparse: function( execResult ) {\n\t\t\t\treturn [\n\t\t\t\t\texecResult[ 1 ],\n\t\t\t\t\texecResult[ 2 ],\n\t\t\t\t\texecResult[ 3 ],\n\t\t\t\t\texecResult[ 4 ]\n\t\t\t\t];\n\t\t\t}\n\t\t}, {\n\t\t\tre: /rgba?\\(\\s*(\\d+(?:\\.\\d+)?)\\%\\s*,\\s*(\\d+(?:\\.\\d+)?)\\%\\s*,\\s*(\\d+(?:\\.\\d+)?)\\%\\s*(?:,\\s*(\\d?(?:\\.\\d+)?)\\s*)?\\)/,\n\t\t\tparse: function( execResult ) {\n\t\t\t\treturn [\n\t\t\t\t\texecResult[ 1 ] * 2.55,\n\t\t\t\t\texecResult[ 2 ] * 2.55,\n\t\t\t\t\texecResult[ 3 ] * 2.55,\n\t\t\t\t\texecResult[ 4 ]\n\t\t\t\t];\n\t\t\t}\n\t\t}, {\n\n\t\t\t// this regex ignores A-F because it's compared against an already lowercased string\n\t\t\tre: /#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})?/,\n\t\t\tparse: function( execResult ) {\n\t\t\t\treturn [\n\t\t\t\t\tparseInt( execResult[ 1 ], 16 ),\n\t\t\t\t\tparseInt( execResult[ 2 ], 16 ),\n\t\t\t\t\tparseInt( execResult[ 3 ], 16 ),\n\t\t\t\t\texecResult[ 4 ] ?\n\t\t\t\t\t\t( parseInt( execResult[ 4 ], 16 ) / 255 ).toFixed( 2 ) :\n\t\t\t\t\t\t1\n\t\t\t\t];\n\t\t\t}\n\t\t}, {\n\n\t\t\t// this regex ignores A-F because it's compared against an already lowercased string\n\t\t\tre: /#([a-f0-9])([a-f0-9])([a-f0-9])([a-f0-9])?/,\n\t\t\tparse: function( execResult ) {\n\t\t\t\treturn [\n\t\t\t\t\tparseInt( execResult[ 1 ] + execResult[ 1 ], 16 ),\n\t\t\t\t\tparseInt( execResult[ 2 ] + execResult[ 2 ], 16 ),\n\t\t\t\t\tparseInt( execResult[ 3 ] + execResult[ 3 ], 16 ),\n\t\t\t\t\texecResult[ 4 ] ?\n\t\t\t\t\t\t( parseInt( execResult[ 4 ] + execResult[ 4 ], 16 ) / 255 )\n\t\t\t\t\t\t\t.toFixed( 2 ) :\n\t\t\t\t\t\t1\n\t\t\t\t];\n\t\t\t}\n\t\t}, {\n\t\t\tre: /hsla?\\(\\s*(\\d+(?:\\.\\d+)?)\\s*,\\s*(\\d+(?:\\.\\d+)?)\\%\\s*,\\s*(\\d+(?:\\.\\d+)?)\\%\\s*(?:,\\s*(\\d?(?:\\.\\d+)?)\\s*)?\\)/,\n\t\t\tspace: \"hsla\",\n\t\t\tparse: function( execResult ) {\n\t\t\t\treturn [\n\t\t\t\t\texecResult[ 1 ],\n\t\t\t\t\texecResult[ 2 ] / 100,\n\t\t\t\t\texecResult[ 3 ] / 100,\n\t\t\t\t\texecResult[ 4 ]\n\t\t\t\t];\n\t\t\t}\n\t\t} ],\n\n\t// jQuery.Color( )\n\tcolor = jQuery.Color = function( color, green, blue, alpha ) {\n\t\treturn new jQuery.Color.fn.parse( color, green, blue, alpha );\n\t},\n\tspaces = {\n\t\trgba: {\n\t\t\tprops: {\n\t\t\t\tred: {\n\t\t\t\t\tidx: 0,\n\t\t\t\t\ttype: \"byte\"\n\t\t\t\t},\n\t\t\t\tgreen: {\n\t\t\t\t\tidx: 1,\n\t\t\t\t\ttype: \"byte\"\n\t\t\t\t},\n\t\t\t\tblue: {\n\t\t\t\t\tidx: 2,\n\t\t\t\t\ttype: \"byte\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\thsla: {\n\t\t\tprops: {\n\t\t\t\thue: {\n\t\t\t\t\tidx: 0,\n\t\t\t\t\ttype: \"degrees\"\n\t\t\t\t},\n\t\t\t\tsaturation: {\n\t\t\t\t\tidx: 1,\n\t\t\t\t\ttype: \"percent\"\n\t\t\t\t},\n\t\t\t\tlightness: {\n\t\t\t\t\tidx: 2,\n\t\t\t\t\ttype: \"percent\"\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\tpropTypes = {\n\t\t\"byte\": {\n\t\t\tfloor: true,\n\t\t\tmax: 255\n\t\t},\n\t\t\"percent\": {\n\t\t\tmax: 1\n\t\t},\n\t\t\"degrees\": {\n\t\t\tmod: 360,\n\t\t\tfloor: true\n\t\t}\n\t},\n\tsupport = color.support = {},\n\n\t// element for support tests\n\tsupportElem = jQuery( \"

          \" )[ 0 ],\n\n\t// colors = jQuery.Color.names\n\tcolors,\n\n\t// local aliases of functions called often\n\teach = jQuery.each;\n\n// determine rgba support immediately\nsupportElem.style.cssText = \"background-color:rgba(1,1,1,.5)\";\nsupport.rgba = supportElem.style.backgroundColor.indexOf( \"rgba\" ) > -1;\n\n// define cache name and alpha properties\n// for rgba and hsla spaces\neach( spaces, function( spaceName, space ) {\n\tspace.cache = \"_\" + spaceName;\n\tspace.props.alpha = {\n\t\tidx: 3,\n\t\ttype: \"percent\",\n\t\tdef: 1\n\t};\n} );\n\n// Populate the class2type map\njQuery.each( \"Boolean Number String Function Array Date RegExp Object Error Symbol\".split( \" \" ),\n\tfunction( _i, name ) {\n\t\tclass2type[ \"[object \" + name + \"]\" ] = name.toLowerCase();\n\t} );\n\nfunction getType( obj ) {\n\tif ( obj == null ) {\n\t\treturn obj + \"\";\n\t}\n\n\treturn typeof obj === \"object\" ?\n\t\tclass2type[ toString.call( obj ) ] || \"object\" :\n\t\ttypeof obj;\n}\n\nfunction clamp( value, prop, allowEmpty ) {\n\tvar type = propTypes[ prop.type ] || {};\n\n\tif ( value == null ) {\n\t\treturn ( allowEmpty || !prop.def ) ? null : prop.def;\n\t}\n\n\t// ~~ is an short way of doing floor for positive numbers\n\tvalue = type.floor ? ~~value : parseFloat( value );\n\n\t// IE will pass in empty strings as value for alpha,\n\t// which will hit this case\n\tif ( isNaN( value ) ) {\n\t\treturn prop.def;\n\t}\n\n\tif ( type.mod ) {\n\n\t\t// we add mod before modding to make sure that negatives values\n\t\t// get converted properly: -10 -> 350\n\t\treturn ( value + type.mod ) % type.mod;\n\t}\n\n\t// for now all property types without mod have min and max\n\treturn Math.min( type.max, Math.max( 0, value ) );\n}\n\nfunction stringParse( string ) {\n\tvar inst = color(),\n\t\trgba = inst._rgba = [];\n\n\tstring = string.toLowerCase();\n\n\teach( stringParsers, function( _i, parser ) {\n\t\tvar parsed,\n\t\t\tmatch = parser.re.exec( string ),\n\t\t\tvalues = match && parser.parse( match ),\n\t\t\tspaceName = parser.space || \"rgba\";\n\n\t\tif ( values ) {\n\t\t\tparsed = inst[ spaceName ]( values );\n\n\t\t\t// if this was an rgba parse the assignment might happen twice\n\t\t\t// oh well....\n\t\t\tinst[ spaces[ spaceName ].cache ] = parsed[ spaces[ spaceName ].cache ];\n\t\t\trgba = inst._rgba = parsed._rgba;\n\n\t\t\t// exit each( stringParsers ) here because we matched\n\t\t\treturn false;\n\t\t}\n\t} );\n\n\t// Found a stringParser that handled it\n\tif ( rgba.length ) {\n\n\t\t// if this came from a parsed string, force \"transparent\" when alpha is 0\n\t\t// chrome, (and maybe others) return \"transparent\" as rgba(0,0,0,0)\n\t\tif ( rgba.join() === \"0,0,0,0\" ) {\n\t\t\tjQuery.extend( rgba, colors.transparent );\n\t\t}\n\t\treturn inst;\n\t}\n\n\t// named colors\n\treturn colors[ string ];\n}\n\ncolor.fn = jQuery.extend( color.prototype, {\n\tparse: function( red, green, blue, alpha ) {\n\t\tif ( red === undefined ) {\n\t\t\tthis._rgba = [ null, null, null, null ];\n\t\t\treturn this;\n\t\t}\n\t\tif ( red.jquery || red.nodeType ) {\n\t\t\tred = jQuery( red ).css( green );\n\t\t\tgreen = undefined;\n\t\t}\n\n\t\tvar inst = this,\n\t\t\ttype = getType( red ),\n\t\t\trgba = this._rgba = [];\n\n\t\t// more than 1 argument specified - assume ( red, green, blue, alpha )\n\t\tif ( green !== undefined ) {\n\t\t\tred = [ red, green, blue, alpha ];\n\t\t\ttype = \"array\";\n\t\t}\n\n\t\tif ( type === \"string\" ) {\n\t\t\treturn this.parse( stringParse( red ) || colors._default );\n\t\t}\n\n\t\tif ( type === \"array\" ) {\n\t\t\teach( spaces.rgba.props, function( _key, prop ) {\n\t\t\t\trgba[ prop.idx ] = clamp( red[ prop.idx ], prop );\n\t\t\t} );\n\t\t\treturn this;\n\t\t}\n\n\t\tif ( type === \"object\" ) {\n\t\t\tif ( red instanceof color ) {\n\t\t\t\teach( spaces, function( _spaceName, space ) {\n\t\t\t\t\tif ( red[ space.cache ] ) {\n\t\t\t\t\t\tinst[ space.cache ] = red[ space.cache ].slice();\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t} else {\n\t\t\t\teach( spaces, function( _spaceName, space ) {\n\t\t\t\t\tvar cache = space.cache;\n\t\t\t\t\teach( space.props, function( key, prop ) {\n\n\t\t\t\t\t\t// if the cache doesn't exist, and we know how to convert\n\t\t\t\t\t\tif ( !inst[ cache ] && space.to ) {\n\n\t\t\t\t\t\t\t// if the value was null, we don't need to copy it\n\t\t\t\t\t\t\t// if the key was alpha, we don't need to copy it either\n\t\t\t\t\t\t\tif ( key === \"alpha\" || red[ key ] == null ) {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tinst[ cache ] = space.to( inst._rgba );\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// this is the only case where we allow nulls for ALL properties.\n\t\t\t\t\t\t// call clamp with alwaysAllowEmpty\n\t\t\t\t\t\tinst[ cache ][ prop.idx ] = clamp( red[ key ], prop, true );\n\t\t\t\t\t} );\n\n\t\t\t\t\t// everything defined but alpha?\n\t\t\t\t\tif ( inst[ cache ] && jQuery.inArray( null, inst[ cache ].slice( 0, 3 ) ) < 0 ) {\n\n\t\t\t\t\t\t// use the default of 1\n\t\t\t\t\t\tif ( inst[ cache ][ 3 ] == null ) {\n\t\t\t\t\t\t\tinst[ cache ][ 3 ] = 1;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif ( space.from ) {\n\t\t\t\t\t\t\tinst._rgba = space.from( inst[ cache ] );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t}\n\t\t\treturn this;\n\t\t}\n\t},\n\tis: function( compare ) {\n\t\tvar is = color( compare ),\n\t\t\tsame = true,\n\t\t\tinst = this;\n\n\t\teach( spaces, function( _, space ) {\n\t\t\tvar localCache,\n\t\t\t\tisCache = is[ space.cache ];\n\t\t\tif ( isCache ) {\n\t\t\t\tlocalCache = inst[ space.cache ] || space.to && space.to( inst._rgba ) || [];\n\t\t\t\teach( space.props, function( _, prop ) {\n\t\t\t\t\tif ( isCache[ prop.idx ] != null ) {\n\t\t\t\t\t\tsame = ( isCache[ prop.idx ] === localCache[ prop.idx ] );\n\t\t\t\t\t\treturn same;\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t}\n\t\t\treturn same;\n\t\t} );\n\t\treturn same;\n\t},\n\t_space: function() {\n\t\tvar used = [],\n\t\t\tinst = this;\n\t\teach( spaces, function( spaceName, space ) {\n\t\t\tif ( inst[ space.cache ] ) {\n\t\t\t\tused.push( spaceName );\n\t\t\t}\n\t\t} );\n\t\treturn used.pop();\n\t},\n\ttransition: function( other, distance ) {\n\t\tvar end = color( other ),\n\t\t\tspaceName = end._space(),\n\t\t\tspace = spaces[ spaceName ],\n\t\t\tstartColor = this.alpha() === 0 ? color( \"transparent\" ) : this,\n\t\t\tstart = startColor[ space.cache ] || space.to( startColor._rgba ),\n\t\t\tresult = start.slice();\n\n\t\tend = end[ space.cache ];\n\t\teach( space.props, function( _key, prop ) {\n\t\t\tvar index = prop.idx,\n\t\t\t\tstartValue = start[ index ],\n\t\t\t\tendValue = end[ index ],\n\t\t\t\ttype = propTypes[ prop.type ] || {};\n\n\t\t\t// if null, don't override start value\n\t\t\tif ( endValue === null ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// if null - use end\n\t\t\tif ( startValue === null ) {\n\t\t\t\tresult[ index ] = endValue;\n\t\t\t} else {\n\t\t\t\tif ( type.mod ) {\n\t\t\t\t\tif ( endValue - startValue > type.mod / 2 ) {\n\t\t\t\t\t\tstartValue += type.mod;\n\t\t\t\t\t} else if ( startValue - endValue > type.mod / 2 ) {\n\t\t\t\t\t\tstartValue -= type.mod;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tresult[ index ] = clamp( ( endValue - startValue ) * distance + startValue, prop );\n\t\t\t}\n\t\t} );\n\t\treturn this[ spaceName ]( result );\n\t},\n\tblend: function( opaque ) {\n\n\t\t// if we are already opaque - return ourself\n\t\tif ( this._rgba[ 3 ] === 1 ) {\n\t\t\treturn this;\n\t\t}\n\n\t\tvar rgb = this._rgba.slice(),\n\t\t\ta = rgb.pop(),\n\t\t\tblend = color( opaque )._rgba;\n\n\t\treturn color( jQuery.map( rgb, function( v, i ) {\n\t\t\treturn ( 1 - a ) * blend[ i ] + a * v;\n\t\t} ) );\n\t},\n\ttoRgbaString: function() {\n\t\tvar prefix = \"rgba(\",\n\t\t\trgba = jQuery.map( this._rgba, function( v, i ) {\n\t\t\t\tif ( v != null ) {\n\t\t\t\t\treturn v;\n\t\t\t\t}\n\t\t\t\treturn i > 2 ? 1 : 0;\n\t\t\t} );\n\n\t\tif ( rgba[ 3 ] === 1 ) {\n\t\t\trgba.pop();\n\t\t\tprefix = \"rgb(\";\n\t\t}\n\n\t\treturn prefix + rgba.join() + \")\";\n\t},\n\ttoHslaString: function() {\n\t\tvar prefix = \"hsla(\",\n\t\t\thsla = jQuery.map( this.hsla(), function( v, i ) {\n\t\t\t\tif ( v == null ) {\n\t\t\t\t\tv = i > 2 ? 1 : 0;\n\t\t\t\t}\n\n\t\t\t\t// catch 1 and 2\n\t\t\t\tif ( i && i < 3 ) {\n\t\t\t\t\tv = Math.round( v * 100 ) + \"%\";\n\t\t\t\t}\n\t\t\t\treturn v;\n\t\t\t} );\n\n\t\tif ( hsla[ 3 ] === 1 ) {\n\t\t\thsla.pop();\n\t\t\tprefix = \"hsl(\";\n\t\t}\n\t\treturn prefix + hsla.join() + \")\";\n\t},\n\ttoHexString: function( includeAlpha ) {\n\t\tvar rgba = this._rgba.slice(),\n\t\t\talpha = rgba.pop();\n\n\t\tif ( includeAlpha ) {\n\t\t\trgba.push( ~~( alpha * 255 ) );\n\t\t}\n\n\t\treturn \"#\" + jQuery.map( rgba, function( v ) {\n\n\t\t\t// default to 0 when nulls exist\n\t\t\tv = ( v || 0 ).toString( 16 );\n\t\t\treturn v.length === 1 ? \"0\" + v : v;\n\t\t} ).join( \"\" );\n\t},\n\ttoString: function() {\n\t\treturn this._rgba[ 3 ] === 0 ? \"transparent\" : this.toRgbaString();\n\t}\n} );\ncolor.fn.parse.prototype = color.fn;\n\n// hsla conversions adapted from:\n// https://code.google.com/p/maashaack/source/browse/packages/graphics/trunk/src/graphics/colors/HUE2RGB.as?r=5021\n\nfunction hue2rgb( p, q, h ) {\n\th = ( h + 1 ) % 1;\n\tif ( h * 6 < 1 ) {\n\t\treturn p + ( q - p ) * h * 6;\n\t}\n\tif ( h * 2 < 1 ) {\n\t\treturn q;\n\t}\n\tif ( h * 3 < 2 ) {\n\t\treturn p + ( q - p ) * ( ( 2 / 3 ) - h ) * 6;\n\t}\n\treturn p;\n}\n\nspaces.hsla.to = function( rgba ) {\n\tif ( rgba[ 0 ] == null || rgba[ 1 ] == null || rgba[ 2 ] == null ) {\n\t\treturn [ null, null, null, rgba[ 3 ] ];\n\t}\n\tvar r = rgba[ 0 ] / 255,\n\t\tg = rgba[ 1 ] / 255,\n\t\tb = rgba[ 2 ] / 255,\n\t\ta = rgba[ 3 ],\n\t\tmax = Math.max( r, g, b ),\n\t\tmin = Math.min( r, g, b ),\n\t\tdiff = max - min,\n\t\tadd = max + min,\n\t\tl = add * 0.5,\n\t\th, s;\n\n\tif ( min === max ) {\n\t\th = 0;\n\t} else if ( r === max ) {\n\t\th = ( 60 * ( g - b ) / diff ) + 360;\n\t} else if ( g === max ) {\n\t\th = ( 60 * ( b - r ) / diff ) + 120;\n\t} else {\n\t\th = ( 60 * ( r - g ) / diff ) + 240;\n\t}\n\n\t// chroma (diff) == 0 means greyscale which, by definition, saturation = 0%\n\t// otherwise, saturation is based on the ratio of chroma (diff) to lightness (add)\n\tif ( diff === 0 ) {\n\t\ts = 0;\n\t} else if ( l <= 0.5 ) {\n\t\ts = diff / add;\n\t} else {\n\t\ts = diff / ( 2 - add );\n\t}\n\treturn [ Math.round( h ) % 360, s, l, a == null ? 1 : a ];\n};\n\nspaces.hsla.from = function( hsla ) {\n\tif ( hsla[ 0 ] == null || hsla[ 1 ] == null || hsla[ 2 ] == null ) {\n\t\treturn [ null, null, null, hsla[ 3 ] ];\n\t}\n\tvar h = hsla[ 0 ] / 360,\n\t\ts = hsla[ 1 ],\n\t\tl = hsla[ 2 ],\n\t\ta = hsla[ 3 ],\n\t\tq = l <= 0.5 ? l * ( 1 + s ) : l + s - l * s,\n\t\tp = 2 * l - q;\n\n\treturn [\n\t\tMath.round( hue2rgb( p, q, h + ( 1 / 3 ) ) * 255 ),\n\t\tMath.round( hue2rgb( p, q, h ) * 255 ),\n\t\tMath.round( hue2rgb( p, q, h - ( 1 / 3 ) ) * 255 ),\n\t\ta\n\t];\n};\n\n\neach( spaces, function( spaceName, space ) {\n\tvar props = space.props,\n\t\tcache = space.cache,\n\t\tto = space.to,\n\t\tfrom = space.from;\n\n\t// makes rgba() and hsla()\n\tcolor.fn[ spaceName ] = function( value ) {\n\n\t\t// generate a cache for this space if it doesn't exist\n\t\tif ( to && !this[ cache ] ) {\n\t\t\tthis[ cache ] = to( this._rgba );\n\t\t}\n\t\tif ( value === undefined ) {\n\t\t\treturn this[ cache ].slice();\n\t\t}\n\n\t\tvar ret,\n\t\t\ttype = getType( value ),\n\t\t\tarr = ( type === \"array\" || type === \"object\" ) ? value : arguments,\n\t\t\tlocal = this[ cache ].slice();\n\n\t\teach( props, function( key, prop ) {\n\t\t\tvar val = arr[ type === \"object\" ? key : prop.idx ];\n\t\t\tif ( val == null ) {\n\t\t\t\tval = local[ prop.idx ];\n\t\t\t}\n\t\t\tlocal[ prop.idx ] = clamp( val, prop );\n\t\t} );\n\n\t\tif ( from ) {\n\t\t\tret = color( from( local ) );\n\t\t\tret[ cache ] = local;\n\t\t\treturn ret;\n\t\t} else {\n\t\t\treturn color( local );\n\t\t}\n\t};\n\n\t// makes red() green() blue() alpha() hue() saturation() lightness()\n\teach( props, function( key, prop ) {\n\n\t\t// alpha is included in more than one space\n\t\tif ( color.fn[ key ] ) {\n\t\t\treturn;\n\t\t}\n\t\tcolor.fn[ key ] = function( value ) {\n\t\t\tvar local, cur, match, fn,\n\t\t\t\tvtype = getType( value );\n\n\t\t\tif ( key === \"alpha\" ) {\n\t\t\t\tfn = this._hsla ? \"hsla\" : \"rgba\";\n\t\t\t} else {\n\t\t\t\tfn = spaceName;\n\t\t\t}\n\t\t\tlocal = this[ fn ]();\n\t\t\tcur = local[ prop.idx ];\n\n\t\t\tif ( vtype === \"undefined\" ) {\n\t\t\t\treturn cur;\n\t\t\t}\n\n\t\t\tif ( vtype === \"function\" ) {\n\t\t\t\tvalue = value.call( this, cur );\n\t\t\t\tvtype = getType( value );\n\t\t\t}\n\t\t\tif ( value == null && prop.empty ) {\n\t\t\t\treturn this;\n\t\t\t}\n\t\t\tif ( vtype === \"string\" ) {\n\t\t\t\tmatch = rplusequals.exec( value );\n\t\t\t\tif ( match ) {\n\t\t\t\t\tvalue = cur + parseFloat( match[ 2 ] ) * ( match[ 1 ] === \"+\" ? 1 : -1 );\n\t\t\t\t}\n\t\t\t}\n\t\t\tlocal[ prop.idx ] = value;\n\t\t\treturn this[ fn ]( local );\n\t\t};\n\t} );\n} );\n\n// add cssHook and .fx.step function for each named hook.\n// accept a space separated string of properties\ncolor.hook = function( hook ) {\n\tvar hooks = hook.split( \" \" );\n\teach( hooks, function( _i, hook ) {\n\t\tjQuery.cssHooks[ hook ] = {\n\t\t\tset: function( elem, value ) {\n\t\t\t\tvar parsed, curElem,\n\t\t\t\t\tbackgroundColor = \"\";\n\n\t\t\t\tif ( value !== \"transparent\" && ( getType( value ) !== \"string\" || ( parsed = stringParse( value ) ) ) ) {\n\t\t\t\t\tvalue = color( parsed || value );\n\t\t\t\t\tif ( !support.rgba && value._rgba[ 3 ] !== 1 ) {\n\t\t\t\t\t\tcurElem = hook === \"backgroundColor\" ? elem.parentNode : elem;\n\t\t\t\t\t\twhile (\n\t\t\t\t\t\t\t( backgroundColor === \"\" || backgroundColor === \"transparent\" ) &&\n\t\t\t\t\t\t\tcurElem && curElem.style\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\tbackgroundColor = jQuery.css( curElem, \"backgroundColor\" );\n\t\t\t\t\t\t\t\tcurElem = curElem.parentNode;\n\t\t\t\t\t\t\t} catch ( e ) {\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tvalue = value.blend( backgroundColor && backgroundColor !== \"transparent\" ?\n\t\t\t\t\t\t\tbackgroundColor :\n\t\t\t\t\t\t\t\"_default\" );\n\t\t\t\t\t}\n\n\t\t\t\t\tvalue = value.toRgbaString();\n\t\t\t\t}\n\t\t\t\ttry {\n\t\t\t\t\telem.style[ hook ] = value;\n\t\t\t\t} catch ( e ) {\n\n\t\t\t\t\t// wrapped to prevent IE from throwing errors on \"invalid\" values like 'auto' or 'inherit'\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\tjQuery.fx.step[ hook ] = function( fx ) {\n\t\t\tif ( !fx.colorInit ) {\n\t\t\t\tfx.start = color( fx.elem, hook );\n\t\t\t\tfx.end = color( fx.end );\n\t\t\t\tfx.colorInit = true;\n\t\t\t}\n\t\t\tjQuery.cssHooks[ hook ].set( fx.elem, fx.start.transition( fx.end, fx.pos ) );\n\t\t};\n\t} );\n\n};\n\ncolor.hook( stepHooks );\n\njQuery.cssHooks.borderColor = {\n\texpand: function( value ) {\n\t\tvar expanded = {};\n\n\t\teach( [ \"Top\", \"Right\", \"Bottom\", \"Left\" ], function( _i, part ) {\n\t\t\texpanded[ \"border\" + part + \"Color\" ] = value;\n\t\t} );\n\t\treturn expanded;\n\t}\n};\n\n// Basic color names only.\n// Usage of any of the other color names requires adding yourself or including\n// jquery.color.svg-names.js.\ncolors = jQuery.Color.names = {\n\n\t// 4.1. Basic color keywords\n\taqua: \"#00ffff\",\n\tblack: \"#000000\",\n\tblue: \"#0000ff\",\n\tfuchsia: \"#ff00ff\",\n\tgray: \"#808080\",\n\tgreen: \"#008000\",\n\tlime: \"#00ff00\",\n\tmaroon: \"#800000\",\n\tnavy: \"#000080\",\n\tolive: \"#808000\",\n\tpurple: \"#800080\",\n\tred: \"#ff0000\",\n\tsilver: \"#c0c0c0\",\n\tteal: \"#008080\",\n\twhite: \"#ffffff\",\n\tyellow: \"#ffff00\",\n\n\t// 4.2.3. \"transparent\" color keyword\n\ttransparent: [ null, null, null, 0 ],\n\n\t_default: \"#ffffff\"\n};\n\n\n/*!\n * jQuery UI Effects 1.13.3\n * https://jqueryui.com\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license.\n * https://jquery.org/license\n */\n\n//>>label: Effects Core\n//>>group: Effects\n/* eslint-disable max-len */\n//>>description: Extends the internal jQuery effects. Includes morphing and easing. Required by all other effects.\n/* eslint-enable max-len */\n//>>docs: https://api.jqueryui.com/category/effects-core/\n//>>demos: https://jqueryui.com/effect/\n\n\nvar dataSpace = \"ui-effects-\",\n\tdataSpaceStyle = \"ui-effects-style\",\n\tdataSpaceAnimated = \"ui-effects-animated\";\n\n$.effects = {\n\teffect: {}\n};\n\n/******************************************************************************/\n/****************************** CLASS ANIMATIONS ******************************/\n/******************************************************************************/\n( function() {\n\nvar classAnimationActions = [ \"add\", \"remove\", \"toggle\" ],\n\tshorthandStyles = {\n\t\tborder: 1,\n\t\tborderBottom: 1,\n\t\tborderColor: 1,\n\t\tborderLeft: 1,\n\t\tborderRight: 1,\n\t\tborderTop: 1,\n\t\tborderWidth: 1,\n\t\tmargin: 1,\n\t\tpadding: 1\n\t};\n\n$.each(\n\t[ \"borderLeftStyle\", \"borderRightStyle\", \"borderBottomStyle\", \"borderTopStyle\" ],\n\tfunction( _, prop ) {\n\t\t$.fx.step[ prop ] = function( fx ) {\n\t\t\tif ( fx.end !== \"none\" && !fx.setAttr || fx.pos === 1 && !fx.setAttr ) {\n\t\t\t\tjQuery.style( fx.elem, prop, fx.end );\n\t\t\t\tfx.setAttr = true;\n\t\t\t}\n\t\t};\n\t}\n);\n\nfunction camelCase( string ) {\n\treturn string.replace( /-([\\da-z])/gi, function( all, letter ) {\n\t\treturn letter.toUpperCase();\n\t} );\n}\n\nfunction getElementStyles( elem ) {\n\tvar key, len,\n\t\tstyle = elem.ownerDocument.defaultView ?\n\t\t\telem.ownerDocument.defaultView.getComputedStyle( elem, null ) :\n\t\t\telem.currentStyle,\n\t\tstyles = {};\n\n\tif ( style && style.length && style[ 0 ] && style[ style[ 0 ] ] ) {\n\t\tlen = style.length;\n\t\twhile ( len-- ) {\n\t\t\tkey = style[ len ];\n\t\t\tif ( typeof style[ key ] === \"string\" ) {\n\t\t\t\tstyles[ camelCase( key ) ] = style[ key ];\n\t\t\t}\n\t\t}\n\n\t// Support: Opera, IE <9\n\t} else {\n\t\tfor ( key in style ) {\n\t\t\tif ( typeof style[ key ] === \"string\" ) {\n\t\t\t\tstyles[ key ] = style[ key ];\n\t\t\t}\n\t\t}\n\t}\n\n\treturn styles;\n}\n\nfunction styleDifference( oldStyle, newStyle ) {\n\tvar diff = {},\n\t\tname, value;\n\n\tfor ( name in newStyle ) {\n\t\tvalue = newStyle[ name ];\n\t\tif ( oldStyle[ name ] !== value ) {\n\t\t\tif ( !shorthandStyles[ name ] ) {\n\t\t\t\tif ( $.fx.step[ name ] || !isNaN( parseFloat( value ) ) ) {\n\t\t\t\t\tdiff[ name ] = value;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn diff;\n}\n\n// Support: jQuery <1.8\nif ( !$.fn.addBack ) {\n\t$.fn.addBack = function( selector ) {\n\t\treturn this.add( selector == null ?\n\t\t\tthis.prevObject : this.prevObject.filter( selector )\n\t\t);\n\t};\n}\n\n$.effects.animateClass = function( value, duration, easing, callback ) {\n\tvar o = $.speed( duration, easing, callback );\n\n\treturn this.queue( function() {\n\t\tvar animated = $( this ),\n\t\t\tbaseClass = animated.attr( \"class\" ) || \"\",\n\t\t\tapplyClassChange,\n\t\t\tallAnimations = o.children ? animated.find( \"*\" ).addBack() : animated;\n\n\t\t// Map the animated objects to store the original styles.\n\t\tallAnimations = allAnimations.map( function() {\n\t\t\tvar el = $( this );\n\t\t\treturn {\n\t\t\t\tel: el,\n\t\t\t\tstart: getElementStyles( this )\n\t\t\t};\n\t\t} );\n\n\t\t// Apply class change\n\t\tapplyClassChange = function() {\n\t\t\t$.each( classAnimationActions, function( i, action ) {\n\t\t\t\tif ( value[ action ] ) {\n\t\t\t\t\tanimated[ action + \"Class\" ]( value[ action ] );\n\t\t\t\t}\n\t\t\t} );\n\t\t};\n\t\tapplyClassChange();\n\n\t\t// Map all animated objects again - calculate new styles and diff\n\t\tallAnimations = allAnimations.map( function() {\n\t\t\tthis.end = getElementStyles( this.el[ 0 ] );\n\t\t\tthis.diff = styleDifference( this.start, this.end );\n\t\t\treturn this;\n\t\t} );\n\n\t\t// Apply original class\n\t\tanimated.attr( \"class\", baseClass );\n\n\t\t// Map all animated objects again - this time collecting a promise\n\t\tallAnimations = allAnimations.map( function() {\n\t\t\tvar styleInfo = this,\n\t\t\t\tdfd = $.Deferred(),\n\t\t\t\topts = $.extend( {}, o, {\n\t\t\t\t\tqueue: false,\n\t\t\t\t\tcomplete: function() {\n\t\t\t\t\t\tdfd.resolve( styleInfo );\n\t\t\t\t\t}\n\t\t\t\t} );\n\n\t\t\tthis.el.animate( this.diff, opts );\n\t\t\treturn dfd.promise();\n\t\t} );\n\n\t\t// Once all animations have completed:\n\t\t$.when.apply( $, allAnimations.get() ).done( function() {\n\n\t\t\t// Set the final class\n\t\t\tapplyClassChange();\n\n\t\t\t// For each animated element,\n\t\t\t// clear all css properties that were animated\n\t\t\t$.each( arguments, function() {\n\t\t\t\tvar el = this.el;\n\t\t\t\t$.each( this.diff, function( key ) {\n\t\t\t\t\tel.css( key, \"\" );\n\t\t\t\t} );\n\t\t\t} );\n\n\t\t\t// This is guarnteed to be there if you use jQuery.speed()\n\t\t\t// it also handles dequeuing the next anim...\n\t\t\to.complete.call( animated[ 0 ] );\n\t\t} );\n\t} );\n};\n\n$.fn.extend( {\n\taddClass: ( function( orig ) {\n\t\treturn function( classNames, speed, easing, callback ) {\n\t\t\treturn speed ?\n\t\t\t\t$.effects.animateClass.call( this,\n\t\t\t\t\t{ add: classNames }, speed, easing, callback ) :\n\t\t\t\torig.apply( this, arguments );\n\t\t};\n\t} )( $.fn.addClass ),\n\n\tremoveClass: ( function( orig ) {\n\t\treturn function( classNames, speed, easing, callback ) {\n\t\t\treturn arguments.length > 1 ?\n\t\t\t\t$.effects.animateClass.call( this,\n\t\t\t\t\t{ remove: classNames }, speed, easing, callback ) :\n\t\t\t\torig.apply( this, arguments );\n\t\t};\n\t} )( $.fn.removeClass ),\n\n\ttoggleClass: ( function( orig ) {\n\t\treturn function( classNames, force, speed, easing, callback ) {\n\t\t\tif ( typeof force === \"boolean\" || force === undefined ) {\n\t\t\t\tif ( !speed ) {\n\n\t\t\t\t\t// Without speed parameter\n\t\t\t\t\treturn orig.apply( this, arguments );\n\t\t\t\t} else {\n\t\t\t\t\treturn $.effects.animateClass.call( this,\n\t\t\t\t\t\t( force ? { add: classNames } : { remove: classNames } ),\n\t\t\t\t\t\tspeed, easing, callback );\n\t\t\t\t}\n\t\t\t} else {\n\n\t\t\t\t// Without force parameter\n\t\t\t\treturn $.effects.animateClass.call( this,\n\t\t\t\t\t{ toggle: classNames }, force, speed, easing );\n\t\t\t}\n\t\t};\n\t} )( $.fn.toggleClass ),\n\n\tswitchClass: function( remove, add, speed, easing, callback ) {\n\t\treturn $.effects.animateClass.call( this, {\n\t\t\tadd: add,\n\t\t\tremove: remove\n\t\t}, speed, easing, callback );\n\t}\n} );\n\n} )();\n\n/******************************************************************************/\n/*********************************** EFFECTS **********************************/\n/******************************************************************************/\n\n( function() {\n\nif ( $.expr && $.expr.pseudos && $.expr.pseudos.animated ) {\n\t$.expr.pseudos.animated = ( function( orig ) {\n\t\treturn function( elem ) {\n\t\t\treturn !!$( elem ).data( dataSpaceAnimated ) || orig( elem );\n\t\t};\n\t} )( $.expr.pseudos.animated );\n}\n\nif ( $.uiBackCompat !== false ) {\n\t$.extend( $.effects, {\n\n\t\t// Saves a set of properties in a data storage\n\t\tsave: function( element, set ) {\n\t\t\tvar i = 0, length = set.length;\n\t\t\tfor ( ; i < length; i++ ) {\n\t\t\t\tif ( set[ i ] !== null ) {\n\t\t\t\t\telement.data( dataSpace + set[ i ], element[ 0 ].style[ set[ i ] ] );\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t// Restores a set of previously saved properties from a data storage\n\t\trestore: function( element, set ) {\n\t\t\tvar val, i = 0, length = set.length;\n\t\t\tfor ( ; i < length; i++ ) {\n\t\t\t\tif ( set[ i ] !== null ) {\n\t\t\t\t\tval = element.data( dataSpace + set[ i ] );\n\t\t\t\t\telement.css( set[ i ], val );\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tsetMode: function( el, mode ) {\n\t\t\tif ( mode === \"toggle\" ) {\n\t\t\t\tmode = el.is( \":hidden\" ) ? \"show\" : \"hide\";\n\t\t\t}\n\t\t\treturn mode;\n\t\t},\n\n\t\t// Wraps the element around a wrapper that copies position properties\n\t\tcreateWrapper: function( element ) {\n\n\t\t\t// If the element is already wrapped, return it\n\t\t\tif ( element.parent().is( \".ui-effects-wrapper\" ) ) {\n\t\t\t\treturn element.parent();\n\t\t\t}\n\n\t\t\t// Wrap the element\n\t\t\tvar props = {\n\t\t\t\t\twidth: element.outerWidth( true ),\n\t\t\t\t\theight: element.outerHeight( true ),\n\t\t\t\t\t\"float\": element.css( \"float\" )\n\t\t\t\t},\n\t\t\t\twrapper = $( \"

          \" )\n\t\t\t\t\t.addClass( \"ui-effects-wrapper\" )\n\t\t\t\t\t.css( {\n\t\t\t\t\t\tfontSize: \"100%\",\n\t\t\t\t\t\tbackground: \"transparent\",\n\t\t\t\t\t\tborder: \"none\",\n\t\t\t\t\t\tmargin: 0,\n\t\t\t\t\t\tpadding: 0\n\t\t\t\t\t} ),\n\n\t\t\t\t// Store the size in case width/height are defined in % - Fixes #5245\n\t\t\t\tsize = {\n\t\t\t\t\twidth: element.width(),\n\t\t\t\t\theight: element.height()\n\t\t\t\t},\n\t\t\t\tactive = document.activeElement;\n\n\t\t\t// Support: Firefox\n\t\t\t// Firefox incorrectly exposes anonymous content\n\t\t\t// https://bugzilla.mozilla.org/show_bug.cgi?id=561664\n\t\t\ttry {\n\t\t\t\t// eslint-disable-next-line no-unused-expressions\n\t\t\t\tactive.id;\n\t\t\t} catch ( e ) {\n\t\t\t\tactive = document.body;\n\t\t\t}\n\n\t\t\telement.wrap( wrapper );\n\n\t\t\t// Fixes #7595 - Elements lose focus when wrapped.\n\t\t\tif ( element[ 0 ] === active || $.contains( element[ 0 ], active ) ) {\n\t\t\t\t$( active ).trigger( \"focus\" );\n\t\t\t}\n\n\t\t\t// Hotfix for jQuery 1.4 since some change in wrap() seems to actually\n\t\t\t// lose the reference to the wrapped element\n\t\t\twrapper = element.parent();\n\n\t\t\t// Transfer positioning properties to the wrapper\n\t\t\tif ( element.css( \"position\" ) === \"static\" ) {\n\t\t\t\twrapper.css( { position: \"relative\" } );\n\t\t\t\telement.css( { position: \"relative\" } );\n\t\t\t} else {\n\t\t\t\t$.extend( props, {\n\t\t\t\t\tposition: element.css( \"position\" ),\n\t\t\t\t\tzIndex: element.css( \"z-index\" )\n\t\t\t\t} );\n\t\t\t\t$.each( [ \"top\", \"left\", \"bottom\", \"right\" ], function( i, pos ) {\n\t\t\t\t\tprops[ pos ] = element.css( pos );\n\t\t\t\t\tif ( isNaN( parseInt( props[ pos ], 10 ) ) ) {\n\t\t\t\t\t\tprops[ pos ] = \"auto\";\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t\telement.css( {\n\t\t\t\t\tposition: \"relative\",\n\t\t\t\t\ttop: 0,\n\t\t\t\t\tleft: 0,\n\t\t\t\t\tright: \"auto\",\n\t\t\t\t\tbottom: \"auto\"\n\t\t\t\t} );\n\t\t\t}\n\t\t\telement.css( size );\n\n\t\t\treturn wrapper.css( props ).show();\n\t\t},\n\n\t\tremoveWrapper: function( element ) {\n\t\t\tvar active = document.activeElement;\n\n\t\t\tif ( element.parent().is( \".ui-effects-wrapper\" ) ) {\n\t\t\t\telement.parent().replaceWith( element );\n\n\t\t\t\t// Fixes #7595 - Elements lose focus when wrapped.\n\t\t\t\tif ( element[ 0 ] === active || $.contains( element[ 0 ], active ) ) {\n\t\t\t\t\t$( active ).trigger( \"focus\" );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn element;\n\t\t}\n\t} );\n}\n\n$.extend( $.effects, {\n\tversion: \"1.13.3\",\n\n\tdefine: function( name, mode, effect ) {\n\t\tif ( !effect ) {\n\t\t\teffect = mode;\n\t\t\tmode = \"effect\";\n\t\t}\n\n\t\t$.effects.effect[ name ] = effect;\n\t\t$.effects.effect[ name ].mode = mode;\n\n\t\treturn effect;\n\t},\n\n\tscaledDimensions: function( element, percent, direction ) {\n\t\tif ( percent === 0 ) {\n\t\t\treturn {\n\t\t\t\theight: 0,\n\t\t\t\twidth: 0,\n\t\t\t\touterHeight: 0,\n\t\t\t\touterWidth: 0\n\t\t\t};\n\t\t}\n\n\t\tvar x = direction !== \"horizontal\" ? ( ( percent || 100 ) / 100 ) : 1,\n\t\t\ty = direction !== \"vertical\" ? ( ( percent || 100 ) / 100 ) : 1;\n\n\t\treturn {\n\t\t\theight: element.height() * y,\n\t\t\twidth: element.width() * x,\n\t\t\touterHeight: element.outerHeight() * y,\n\t\t\touterWidth: element.outerWidth() * x\n\t\t};\n\n\t},\n\n\tclipToBox: function( animation ) {\n\t\treturn {\n\t\t\twidth: animation.clip.right - animation.clip.left,\n\t\t\theight: animation.clip.bottom - animation.clip.top,\n\t\t\tleft: animation.clip.left,\n\t\t\ttop: animation.clip.top\n\t\t};\n\t},\n\n\t// Injects recently queued functions to be first in line (after \"inprogress\")\n\tunshift: function( element, queueLength, count ) {\n\t\tvar queue = element.queue();\n\n\t\tif ( queueLength > 1 ) {\n\t\t\tqueue.splice.apply( queue,\n\t\t\t\t[ 1, 0 ].concat( queue.splice( queueLength, count ) ) );\n\t\t}\n\t\telement.dequeue();\n\t},\n\n\tsaveStyle: function( element ) {\n\t\telement.data( dataSpaceStyle, element[ 0 ].style.cssText );\n\t},\n\n\trestoreStyle: function( element ) {\n\t\telement[ 0 ].style.cssText = element.data( dataSpaceStyle ) || \"\";\n\t\telement.removeData( dataSpaceStyle );\n\t},\n\n\tmode: function( element, mode ) {\n\t\tvar hidden = element.is( \":hidden\" );\n\n\t\tif ( mode === \"toggle\" ) {\n\t\t\tmode = hidden ? \"show\" : \"hide\";\n\t\t}\n\t\tif ( hidden ? mode === \"hide\" : mode === \"show\" ) {\n\t\t\tmode = \"none\";\n\t\t}\n\t\treturn mode;\n\t},\n\n\t// Translates a [top,left] array into a baseline value\n\tgetBaseline: function( origin, original ) {\n\t\tvar y, x;\n\n\t\tswitch ( origin[ 0 ] ) {\n\t\tcase \"top\":\n\t\t\ty = 0;\n\t\t\tbreak;\n\t\tcase \"middle\":\n\t\t\ty = 0.5;\n\t\t\tbreak;\n\t\tcase \"bottom\":\n\t\t\ty = 1;\n\t\t\tbreak;\n\t\tdefault:\n\t\t\ty = origin[ 0 ] / original.height;\n\t\t}\n\n\t\tswitch ( origin[ 1 ] ) {\n\t\tcase \"left\":\n\t\t\tx = 0;\n\t\t\tbreak;\n\t\tcase \"center\":\n\t\t\tx = 0.5;\n\t\t\tbreak;\n\t\tcase \"right\":\n\t\t\tx = 1;\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tx = origin[ 1 ] / original.width;\n\t\t}\n\n\t\treturn {\n\t\t\tx: x,\n\t\t\ty: y\n\t\t};\n\t},\n\n\t// Creates a placeholder element so that the original element can be made absolute\n\tcreatePlaceholder: function( element ) {\n\t\tvar placeholder,\n\t\t\tcssPosition = element.css( \"position\" ),\n\t\t\tposition = element.position();\n\n\t\t// Lock in margins first to account for form elements, which\n\t\t// will change margin if you explicitly set height\n\t\t// see: https://jsfiddle.net/JZSMt/3/ https://bugs.webkit.org/show_bug.cgi?id=107380\n\t\t// Support: Safari\n\t\telement.css( {\n\t\t\tmarginTop: element.css( \"marginTop\" ),\n\t\t\tmarginBottom: element.css( \"marginBottom\" ),\n\t\t\tmarginLeft: element.css( \"marginLeft\" ),\n\t\t\tmarginRight: element.css( \"marginRight\" )\n\t\t} )\n\t\t.outerWidth( element.outerWidth() )\n\t\t.outerHeight( element.outerHeight() );\n\n\t\tif ( /^(static|relative)/.test( cssPosition ) ) {\n\t\t\tcssPosition = \"absolute\";\n\n\t\t\tplaceholder = $( \"<\" + element[ 0 ].nodeName + \">\" ).insertAfter( element ).css( {\n\n\t\t\t\t// Convert inline to inline block to account for inline elements\n\t\t\t\t// that turn to inline block based on content (like img)\n\t\t\t\tdisplay: /^(inline|ruby)/.test( element.css( \"display\" ) ) ?\n\t\t\t\t\t\"inline-block\" :\n\t\t\t\t\t\"block\",\n\t\t\t\tvisibility: \"hidden\",\n\n\t\t\t\t// Margins need to be set to account for margin collapse\n\t\t\t\tmarginTop: element.css( \"marginTop\" ),\n\t\t\t\tmarginBottom: element.css( \"marginBottom\" ),\n\t\t\t\tmarginLeft: element.css( \"marginLeft\" ),\n\t\t\t\tmarginRight: element.css( \"marginRight\" ),\n\t\t\t\t\"float\": element.css( \"float\" )\n\t\t\t} )\n\t\t\t.outerWidth( element.outerWidth() )\n\t\t\t.outerHeight( element.outerHeight() )\n\t\t\t.addClass( \"ui-effects-placeholder\" );\n\n\t\t\telement.data( dataSpace + \"placeholder\", placeholder );\n\t\t}\n\n\t\telement.css( {\n\t\t\tposition: cssPosition,\n\t\t\tleft: position.left,\n\t\t\ttop: position.top\n\t\t} );\n\n\t\treturn placeholder;\n\t},\n\n\tremovePlaceholder: function( element ) {\n\t\tvar dataKey = dataSpace + \"placeholder\",\n\t\t\t\tplaceholder = element.data( dataKey );\n\n\t\tif ( placeholder ) {\n\t\t\tplaceholder.remove();\n\t\t\telement.removeData( dataKey );\n\t\t}\n\t},\n\n\t// Removes a placeholder if it exists and restores\n\t// properties that were modified during placeholder creation\n\tcleanUp: function( element ) {\n\t\t$.effects.restoreStyle( element );\n\t\t$.effects.removePlaceholder( element );\n\t},\n\n\tsetTransition: function( element, list, factor, value ) {\n\t\tvalue = value || {};\n\t\t$.each( list, function( i, x ) {\n\t\t\tvar unit = element.cssUnit( x );\n\t\t\tif ( unit[ 0 ] > 0 ) {\n\t\t\t\tvalue[ x ] = unit[ 0 ] * factor + unit[ 1 ];\n\t\t\t}\n\t\t} );\n\t\treturn value;\n\t}\n} );\n\n// Return an effect options object for the given parameters:\nfunction _normalizeArguments( effect, options, speed, callback ) {\n\n\t// Allow passing all options as the first parameter\n\tif ( $.isPlainObject( effect ) ) {\n\t\toptions = effect;\n\t\teffect = effect.effect;\n\t}\n\n\t// Convert to an object\n\teffect = { effect: effect };\n\n\t// Catch (effect, null, ...)\n\tif ( options == null ) {\n\t\toptions = {};\n\t}\n\n\t// Catch (effect, callback)\n\tif ( typeof options === \"function\" ) {\n\t\tcallback = options;\n\t\tspeed = null;\n\t\toptions = {};\n\t}\n\n\t// Catch (effect, speed, ?)\n\tif ( typeof options === \"number\" || $.fx.speeds[ options ] ) {\n\t\tcallback = speed;\n\t\tspeed = options;\n\t\toptions = {};\n\t}\n\n\t// Catch (effect, options, callback)\n\tif ( typeof speed === \"function\" ) {\n\t\tcallback = speed;\n\t\tspeed = null;\n\t}\n\n\t// Add options to effect\n\tif ( options ) {\n\t\t$.extend( effect, options );\n\t}\n\n\tspeed = speed || options.duration;\n\teffect.duration = $.fx.off ? 0 :\n\t\ttypeof speed === \"number\" ? speed :\n\t\tspeed in $.fx.speeds ? $.fx.speeds[ speed ] :\n\t\t$.fx.speeds._default;\n\n\teffect.complete = callback || options.complete;\n\n\treturn effect;\n}\n\nfunction standardAnimationOption( option ) {\n\n\t// Valid standard speeds (nothing, number, named speed)\n\tif ( !option || typeof option === \"number\" || $.fx.speeds[ option ] ) {\n\t\treturn true;\n\t}\n\n\t// Invalid strings - treat as \"normal\" speed\n\tif ( typeof option === \"string\" && !$.effects.effect[ option ] ) {\n\t\treturn true;\n\t}\n\n\t// Complete callback\n\tif ( typeof option === \"function\" ) {\n\t\treturn true;\n\t}\n\n\t// Options hash (but not naming an effect)\n\tif ( typeof option === \"object\" && !option.effect ) {\n\t\treturn true;\n\t}\n\n\t// Didn't match any standard API\n\treturn false;\n}\n\n$.fn.extend( {\n\teffect: function( /* effect, options, speed, callback */ ) {\n\t\tvar args = _normalizeArguments.apply( this, arguments ),\n\t\t\teffectMethod = $.effects.effect[ args.effect ],\n\t\t\tdefaultMode = effectMethod.mode,\n\t\t\tqueue = args.queue,\n\t\t\tqueueName = queue || \"fx\",\n\t\t\tcomplete = args.complete,\n\t\t\tmode = args.mode,\n\t\t\tmodes = [],\n\t\t\tprefilter = function( next ) {\n\t\t\t\tvar el = $( this ),\n\t\t\t\t\tnormalizedMode = $.effects.mode( el, mode ) || defaultMode;\n\n\t\t\t\t// Sentinel for duck-punching the :animated pseudo-selector\n\t\t\t\tel.data( dataSpaceAnimated, true );\n\n\t\t\t\t// Save effect mode for later use,\n\t\t\t\t// we can't just call $.effects.mode again later,\n\t\t\t\t// as the .show() below destroys the initial state\n\t\t\t\tmodes.push( normalizedMode );\n\n\t\t\t\t// See $.uiBackCompat inside of run() for removal of defaultMode in 1.14\n\t\t\t\tif ( defaultMode && ( normalizedMode === \"show\" ||\n\t\t\t\t\t\t( normalizedMode === defaultMode && normalizedMode === \"hide\" ) ) ) {\n\t\t\t\t\tel.show();\n\t\t\t\t}\n\n\t\t\t\tif ( !defaultMode || normalizedMode !== \"none\" ) {\n\t\t\t\t\t$.effects.saveStyle( el );\n\t\t\t\t}\n\n\t\t\t\tif ( typeof next === \"function\" ) {\n\t\t\t\t\tnext();\n\t\t\t\t}\n\t\t\t};\n\n\t\tif ( $.fx.off || !effectMethod ) {\n\n\t\t\t// Delegate to the original method (e.g., .show()) if possible\n\t\t\tif ( mode ) {\n\t\t\t\treturn this[ mode ]( args.duration, complete );\n\t\t\t} else {\n\t\t\t\treturn this.each( function() {\n\t\t\t\t\tif ( complete ) {\n\t\t\t\t\t\tcomplete.call( this );\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\n\t\tfunction run( next ) {\n\t\t\tvar elem = $( this );\n\n\t\t\tfunction cleanup() {\n\t\t\t\telem.removeData( dataSpaceAnimated );\n\n\t\t\t\t$.effects.cleanUp( elem );\n\n\t\t\t\tif ( args.mode === \"hide\" ) {\n\t\t\t\t\telem.hide();\n\t\t\t\t}\n\n\t\t\t\tdone();\n\t\t\t}\n\n\t\t\tfunction done() {\n\t\t\t\tif ( typeof complete === \"function\" ) {\n\t\t\t\t\tcomplete.call( elem[ 0 ] );\n\t\t\t\t}\n\n\t\t\t\tif ( typeof next === \"function\" ) {\n\t\t\t\t\tnext();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Override mode option on a per element basis,\n\t\t\t// as toggle can be either show or hide depending on element state\n\t\t\targs.mode = modes.shift();\n\n\t\t\tif ( $.uiBackCompat !== false && !defaultMode ) {\n\t\t\t\tif ( elem.is( \":hidden\" ) ? mode === \"hide\" : mode === \"show\" ) {\n\n\t\t\t\t\t// Call the core method to track \"olddisplay\" properly\n\t\t\t\t\telem[ mode ]();\n\t\t\t\t\tdone();\n\t\t\t\t} else {\n\t\t\t\t\teffectMethod.call( elem[ 0 ], args, done );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif ( args.mode === \"none\" ) {\n\n\t\t\t\t\t// Call the core method to track \"olddisplay\" properly\n\t\t\t\t\telem[ mode ]();\n\t\t\t\t\tdone();\n\t\t\t\t} else {\n\t\t\t\t\teffectMethod.call( elem[ 0 ], args, cleanup );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Run prefilter on all elements first to ensure that\n\t\t// any showing or hiding happens before placeholder creation,\n\t\t// which ensures that any layout changes are correctly captured.\n\t\treturn queue === false ?\n\t\t\tthis.each( prefilter ).each( run ) :\n\t\t\tthis.queue( queueName, prefilter ).queue( queueName, run );\n\t},\n\n\tshow: ( function( orig ) {\n\t\treturn function( option ) {\n\t\t\tif ( standardAnimationOption( option ) ) {\n\t\t\t\treturn orig.apply( this, arguments );\n\t\t\t} else {\n\t\t\t\tvar args = _normalizeArguments.apply( this, arguments );\n\t\t\t\targs.mode = \"show\";\n\t\t\t\treturn this.effect.call( this, args );\n\t\t\t}\n\t\t};\n\t} )( $.fn.show ),\n\n\thide: ( function( orig ) {\n\t\treturn function( option ) {\n\t\t\tif ( standardAnimationOption( option ) ) {\n\t\t\t\treturn orig.apply( this, arguments );\n\t\t\t} else {\n\t\t\t\tvar args = _normalizeArguments.apply( this, arguments );\n\t\t\t\targs.mode = \"hide\";\n\t\t\t\treturn this.effect.call( this, args );\n\t\t\t}\n\t\t};\n\t} )( $.fn.hide ),\n\n\ttoggle: ( function( orig ) {\n\t\treturn function( option ) {\n\t\t\tif ( standardAnimationOption( option ) || typeof option === \"boolean\" ) {\n\t\t\t\treturn orig.apply( this, arguments );\n\t\t\t} else {\n\t\t\t\tvar args = _normalizeArguments.apply( this, arguments );\n\t\t\t\targs.mode = \"toggle\";\n\t\t\t\treturn this.effect.call( this, args );\n\t\t\t}\n\t\t};\n\t} )( $.fn.toggle ),\n\n\tcssUnit: function( key ) {\n\t\tvar style = this.css( key ),\n\t\t\tval = [];\n\n\t\t$.each( [ \"em\", \"px\", \"%\", \"pt\" ], function( i, unit ) {\n\t\t\tif ( style.indexOf( unit ) > 0 ) {\n\t\t\t\tval = [ parseFloat( style ), unit ];\n\t\t\t}\n\t\t} );\n\t\treturn val;\n\t},\n\n\tcssClip: function( clipObj ) {\n\t\tif ( clipObj ) {\n\t\t\treturn this.css( \"clip\", \"rect(\" + clipObj.top + \"px \" + clipObj.right + \"px \" +\n\t\t\t\tclipObj.bottom + \"px \" + clipObj.left + \"px)\" );\n\t\t}\n\t\treturn parseClip( this.css( \"clip\" ), this );\n\t},\n\n\ttransfer: function( options, done ) {\n\t\tvar element = $( this ),\n\t\t\ttarget = $( options.to ),\n\t\t\ttargetFixed = target.css( \"position\" ) === \"fixed\",\n\t\t\tbody = $( \"body\" ),\n\t\t\tfixTop = targetFixed ? body.scrollTop() : 0,\n\t\t\tfixLeft = targetFixed ? body.scrollLeft() : 0,\n\t\t\tendPosition = target.offset(),\n\t\t\tanimation = {\n\t\t\t\ttop: endPosition.top - fixTop,\n\t\t\t\tleft: endPosition.left - fixLeft,\n\t\t\t\theight: target.innerHeight(),\n\t\t\t\twidth: target.innerWidth()\n\t\t\t},\n\t\t\tstartPosition = element.offset(),\n\t\t\ttransfer = $( \"
          \" );\n\n\t\ttransfer\n\t\t\t.appendTo( \"body\" )\n\t\t\t.addClass( options.className )\n\t\t\t.css( {\n\t\t\t\ttop: startPosition.top - fixTop,\n\t\t\t\tleft: startPosition.left - fixLeft,\n\t\t\t\theight: element.innerHeight(),\n\t\t\t\twidth: element.innerWidth(),\n\t\t\t\tposition: targetFixed ? \"fixed\" : \"absolute\"\n\t\t\t} )\n\t\t\t.animate( animation, options.duration, options.easing, function() {\n\t\t\t\ttransfer.remove();\n\t\t\t\tif ( typeof done === \"function\" ) {\n\t\t\t\t\tdone();\n\t\t\t\t}\n\t\t\t} );\n\t}\n} );\n\nfunction parseClip( str, element ) {\n\t\tvar outerWidth = element.outerWidth(),\n\t\t\touterHeight = element.outerHeight(),\n\t\t\tclipRegex = /^rect\\((-?\\d*\\.?\\d*px|-?\\d+%|auto),?\\s*(-?\\d*\\.?\\d*px|-?\\d+%|auto),?\\s*(-?\\d*\\.?\\d*px|-?\\d+%|auto),?\\s*(-?\\d*\\.?\\d*px|-?\\d+%|auto)\\)$/,\n\t\t\tvalues = clipRegex.exec( str ) || [ \"\", 0, outerWidth, outerHeight, 0 ];\n\n\t\treturn {\n\t\t\ttop: parseFloat( values[ 1 ] ) || 0,\n\t\t\tright: values[ 2 ] === \"auto\" ? outerWidth : parseFloat( values[ 2 ] ),\n\t\t\tbottom: values[ 3 ] === \"auto\" ? outerHeight : parseFloat( values[ 3 ] ),\n\t\t\tleft: parseFloat( values[ 4 ] ) || 0\n\t\t};\n}\n\n$.fx.step.clip = function( fx ) {\n\tif ( !fx.clipInit ) {\n\t\tfx.start = $( fx.elem ).cssClip();\n\t\tif ( typeof fx.end === \"string\" ) {\n\t\t\tfx.end = parseClip( fx.end, fx.elem );\n\t\t}\n\t\tfx.clipInit = true;\n\t}\n\n\t$( fx.elem ).cssClip( {\n\t\ttop: fx.pos * ( fx.end.top - fx.start.top ) + fx.start.top,\n\t\tright: fx.pos * ( fx.end.right - fx.start.right ) + fx.start.right,\n\t\tbottom: fx.pos * ( fx.end.bottom - fx.start.bottom ) + fx.start.bottom,\n\t\tleft: fx.pos * ( fx.end.left - fx.start.left ) + fx.start.left\n\t} );\n};\n\n} )();\n\n/******************************************************************************/\n/*********************************** EASING ***********************************/\n/******************************************************************************/\n\n( function() {\n\n// Based on easing equations from Robert Penner (http://robertpenner.com/easing)\n\nvar baseEasings = {};\n\n$.each( [ \"Quad\", \"Cubic\", \"Quart\", \"Quint\", \"Expo\" ], function( i, name ) {\n\tbaseEasings[ name ] = function( p ) {\n\t\treturn Math.pow( p, i + 2 );\n\t};\n} );\n\n$.extend( baseEasings, {\n\tSine: function( p ) {\n\t\treturn 1 - Math.cos( p * Math.PI / 2 );\n\t},\n\tCirc: function( p ) {\n\t\treturn 1 - Math.sqrt( 1 - p * p );\n\t},\n\tElastic: function( p ) {\n\t\treturn p === 0 || p === 1 ? p :\n\t\t\t-Math.pow( 2, 8 * ( p - 1 ) ) * Math.sin( ( ( p - 1 ) * 80 - 7.5 ) * Math.PI / 15 );\n\t},\n\tBack: function( p ) {\n\t\treturn p * p * ( 3 * p - 2 );\n\t},\n\tBounce: function( p ) {\n\t\tvar pow2,\n\t\t\tbounce = 4;\n\n\t\twhile ( p < ( ( pow2 = Math.pow( 2, --bounce ) ) - 1 ) / 11 ) {}\n\t\treturn 1 / Math.pow( 4, 3 - bounce ) - 7.5625 * Math.pow( ( pow2 * 3 - 2 ) / 22 - p, 2 );\n\t}\n} );\n\n$.each( baseEasings, function( name, easeIn ) {\n\t$.easing[ \"easeIn\" + name ] = easeIn;\n\t$.easing[ \"easeOut\" + name ] = function( p ) {\n\t\treturn 1 - easeIn( 1 - p );\n\t};\n\t$.easing[ \"easeInOut\" + name ] = function( p ) {\n\t\treturn p < 0.5 ?\n\t\t\teaseIn( p * 2 ) / 2 :\n\t\t\t1 - easeIn( p * -2 + 2 ) / 2;\n\t};\n} );\n\n} )();\n\nvar effect = $.effects;\n\n\n/*!\n * jQuery UI Effects Blind 1.13.3\n * https://jqueryui.com\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license.\n * https://jquery.org/license\n */\n\n//>>label: Blind Effect\n//>>group: Effects\n//>>description: Blinds the element.\n//>>docs: https://api.jqueryui.com/blind-effect/\n//>>demos: https://jqueryui.com/effect/\n\n\nvar effectsEffectBlind = $.effects.define( \"blind\", \"hide\", function( options, done ) {\n\tvar map = {\n\t\t\tup: [ \"bottom\", \"top\" ],\n\t\t\tvertical: [ \"bottom\", \"top\" ],\n\t\t\tdown: [ \"top\", \"bottom\" ],\n\t\t\tleft: [ \"right\", \"left\" ],\n\t\t\thorizontal: [ \"right\", \"left\" ],\n\t\t\tright: [ \"left\", \"right\" ]\n\t\t},\n\t\telement = $( this ),\n\t\tdirection = options.direction || \"up\",\n\t\tstart = element.cssClip(),\n\t\tanimate = { clip: $.extend( {}, start ) },\n\t\tplaceholder = $.effects.createPlaceholder( element );\n\n\tanimate.clip[ map[ direction ][ 0 ] ] = animate.clip[ map[ direction ][ 1 ] ];\n\n\tif ( options.mode === \"show\" ) {\n\t\telement.cssClip( animate.clip );\n\t\tif ( placeholder ) {\n\t\t\tplaceholder.css( $.effects.clipToBox( animate ) );\n\t\t}\n\n\t\tanimate.clip = start;\n\t}\n\n\tif ( placeholder ) {\n\t\tplaceholder.animate( $.effects.clipToBox( animate ), options.duration, options.easing );\n\t}\n\n\telement.animate( animate, {\n\t\tqueue: false,\n\t\tduration: options.duration,\n\t\teasing: options.easing,\n\t\tcomplete: done\n\t} );\n} );\n\n\n/*!\n * jQuery UI Effects Bounce 1.13.3\n * https://jqueryui.com\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license.\n * https://jquery.org/license\n */\n\n//>>label: Bounce Effect\n//>>group: Effects\n//>>description: Bounces an element horizontally or vertically n times.\n//>>docs: https://api.jqueryui.com/bounce-effect/\n//>>demos: https://jqueryui.com/effect/\n\n\nvar effectsEffectBounce = $.effects.define( \"bounce\", function( options, done ) {\n\tvar upAnim, downAnim, refValue,\n\t\telement = $( this ),\n\n\t\t// Defaults:\n\t\tmode = options.mode,\n\t\thide = mode === \"hide\",\n\t\tshow = mode === \"show\",\n\t\tdirection = options.direction || \"up\",\n\t\tdistance = options.distance,\n\t\ttimes = options.times || 5,\n\n\t\t// Number of internal animations\n\t\tanims = times * 2 + ( show || hide ? 1 : 0 ),\n\t\tspeed = options.duration / anims,\n\t\teasing = options.easing,\n\n\t\t// Utility:\n\t\tref = ( direction === \"up\" || direction === \"down\" ) ? \"top\" : \"left\",\n\t\tmotion = ( direction === \"up\" || direction === \"left\" ),\n\t\ti = 0,\n\n\t\tqueuelen = element.queue().length;\n\n\t$.effects.createPlaceholder( element );\n\n\trefValue = element.css( ref );\n\n\t// Default distance for the BIGGEST bounce is the outer Distance / 3\n\tif ( !distance ) {\n\t\tdistance = element[ ref === \"top\" ? \"outerHeight\" : \"outerWidth\" ]() / 3;\n\t}\n\n\tif ( show ) {\n\t\tdownAnim = { opacity: 1 };\n\t\tdownAnim[ ref ] = refValue;\n\n\t\t// If we are showing, force opacity 0 and set the initial position\n\t\t// then do the \"first\" animation\n\t\telement\n\t\t\t.css( \"opacity\", 0 )\n\t\t\t.css( ref, motion ? -distance * 2 : distance * 2 )\n\t\t\t.animate( downAnim, speed, easing );\n\t}\n\n\t// Start at the smallest distance if we are hiding\n\tif ( hide ) {\n\t\tdistance = distance / Math.pow( 2, times - 1 );\n\t}\n\n\tdownAnim = {};\n\tdownAnim[ ref ] = refValue;\n\n\t// Bounces up/down/left/right then back to 0 -- times * 2 animations happen here\n\tfor ( ; i < times; i++ ) {\n\t\tupAnim = {};\n\t\tupAnim[ ref ] = ( motion ? \"-=\" : \"+=\" ) + distance;\n\n\t\telement\n\t\t\t.animate( upAnim, speed, easing )\n\t\t\t.animate( downAnim, speed, easing );\n\n\t\tdistance = hide ? distance * 2 : distance / 2;\n\t}\n\n\t// Last Bounce when Hiding\n\tif ( hide ) {\n\t\tupAnim = { opacity: 0 };\n\t\tupAnim[ ref ] = ( motion ? \"-=\" : \"+=\" ) + distance;\n\n\t\telement.animate( upAnim, speed, easing );\n\t}\n\n\telement.queue( done );\n\n\t$.effects.unshift( element, queuelen, anims + 1 );\n} );\n\n\n/*!\n * jQuery UI Effects Clip 1.13.3\n * https://jqueryui.com\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license.\n * https://jquery.org/license\n */\n\n//>>label: Clip Effect\n//>>group: Effects\n//>>description: Clips the element on and off like an old TV.\n//>>docs: https://api.jqueryui.com/clip-effect/\n//>>demos: https://jqueryui.com/effect/\n\n\nvar effectsEffectClip = $.effects.define( \"clip\", \"hide\", function( options, done ) {\n\tvar start,\n\t\tanimate = {},\n\t\telement = $( this ),\n\t\tdirection = options.direction || \"vertical\",\n\t\tboth = direction === \"both\",\n\t\thorizontal = both || direction === \"horizontal\",\n\t\tvertical = both || direction === \"vertical\";\n\n\tstart = element.cssClip();\n\tanimate.clip = {\n\t\ttop: vertical ? ( start.bottom - start.top ) / 2 : start.top,\n\t\tright: horizontal ? ( start.right - start.left ) / 2 : start.right,\n\t\tbottom: vertical ? ( start.bottom - start.top ) / 2 : start.bottom,\n\t\tleft: horizontal ? ( start.right - start.left ) / 2 : start.left\n\t};\n\n\t$.effects.createPlaceholder( element );\n\n\tif ( options.mode === \"show\" ) {\n\t\telement.cssClip( animate.clip );\n\t\tanimate.clip = start;\n\t}\n\n\telement.animate( animate, {\n\t\tqueue: false,\n\t\tduration: options.duration,\n\t\teasing: options.easing,\n\t\tcomplete: done\n\t} );\n\n} );\n\n\n/*!\n * jQuery UI Effects Drop 1.13.3\n * https://jqueryui.com\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license.\n * https://jquery.org/license\n */\n\n//>>label: Drop Effect\n//>>group: Effects\n//>>description: Moves an element in one direction and hides it at the same time.\n//>>docs: https://api.jqueryui.com/drop-effect/\n//>>demos: https://jqueryui.com/effect/\n\n\nvar effectsEffectDrop = $.effects.define( \"drop\", \"hide\", function( options, done ) {\n\n\tvar distance,\n\t\telement = $( this ),\n\t\tmode = options.mode,\n\t\tshow = mode === \"show\",\n\t\tdirection = options.direction || \"left\",\n\t\tref = ( direction === \"up\" || direction === \"down\" ) ? \"top\" : \"left\",\n\t\tmotion = ( direction === \"up\" || direction === \"left\" ) ? \"-=\" : \"+=\",\n\t\toppositeMotion = ( motion === \"+=\" ) ? \"-=\" : \"+=\",\n\t\tanimation = {\n\t\t\topacity: 0\n\t\t};\n\n\t$.effects.createPlaceholder( element );\n\n\tdistance = options.distance ||\n\t\telement[ ref === \"top\" ? \"outerHeight\" : \"outerWidth\" ]( true ) / 2;\n\n\tanimation[ ref ] = motion + distance;\n\n\tif ( show ) {\n\t\telement.css( animation );\n\n\t\tanimation[ ref ] = oppositeMotion + distance;\n\t\tanimation.opacity = 1;\n\t}\n\n\t// Animate\n\telement.animate( animation, {\n\t\tqueue: false,\n\t\tduration: options.duration,\n\t\teasing: options.easing,\n\t\tcomplete: done\n\t} );\n} );\n\n\n/*!\n * jQuery UI Effects Explode 1.13.3\n * https://jqueryui.com\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license.\n * https://jquery.org/license\n */\n\n//>>label: Explode Effect\n//>>group: Effects\n/* eslint-disable max-len */\n//>>description: Explodes an element in all directions into n pieces. Implodes an element to its original wholeness.\n/* eslint-enable max-len */\n//>>docs: https://api.jqueryui.com/explode-effect/\n//>>demos: https://jqueryui.com/effect/\n\n\nvar effectsEffectExplode = $.effects.define( \"explode\", \"hide\", function( options, done ) {\n\n\tvar i, j, left, top, mx, my,\n\t\trows = options.pieces ? Math.round( Math.sqrt( options.pieces ) ) : 3,\n\t\tcells = rows,\n\t\telement = $( this ),\n\t\tmode = options.mode,\n\t\tshow = mode === \"show\",\n\n\t\t// Show and then visibility:hidden the element before calculating offset\n\t\toffset = element.show().css( \"visibility\", \"hidden\" ).offset(),\n\n\t\t// Width and height of a piece\n\t\twidth = Math.ceil( element.outerWidth() / cells ),\n\t\theight = Math.ceil( element.outerHeight() / rows ),\n\t\tpieces = [];\n\n\t// Children animate complete:\n\tfunction childComplete() {\n\t\tpieces.push( this );\n\t\tif ( pieces.length === rows * cells ) {\n\t\t\tanimComplete();\n\t\t}\n\t}\n\n\t// Clone the element for each row and cell.\n\tfor ( i = 0; i < rows; i++ ) { // ===>\n\t\ttop = offset.top + i * height;\n\t\tmy = i - ( rows - 1 ) / 2;\n\n\t\tfor ( j = 0; j < cells; j++ ) { // |||\n\t\t\tleft = offset.left + j * width;\n\t\t\tmx = j - ( cells - 1 ) / 2;\n\n\t\t\t// Create a clone of the now hidden main element that will be absolute positioned\n\t\t\t// within a wrapper div off the -left and -top equal to size of our pieces\n\t\t\telement\n\t\t\t\t.clone()\n\t\t\t\t.appendTo( \"body\" )\n\t\t\t\t.wrap( \"
          \" )\n\t\t\t\t.css( {\n\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\tvisibility: \"visible\",\n\t\t\t\t\tleft: -j * width,\n\t\t\t\t\ttop: -i * height\n\t\t\t\t} )\n\n\t\t\t\t// Select the wrapper - make it overflow: hidden and absolute positioned based on\n\t\t\t\t// where the original was located +left and +top equal to the size of pieces\n\t\t\t\t.parent()\n\t\t\t\t\t.addClass( \"ui-effects-explode\" )\n\t\t\t\t\t.css( {\n\t\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\t\toverflow: \"hidden\",\n\t\t\t\t\t\twidth: width,\n\t\t\t\t\t\theight: height,\n\t\t\t\t\t\tleft: left + ( show ? mx * width : 0 ),\n\t\t\t\t\t\ttop: top + ( show ? my * height : 0 ),\n\t\t\t\t\t\topacity: show ? 0 : 1\n\t\t\t\t\t} )\n\t\t\t\t\t.animate( {\n\t\t\t\t\t\tleft: left + ( show ? 0 : mx * width ),\n\t\t\t\t\t\ttop: top + ( show ? 0 : my * height ),\n\t\t\t\t\t\topacity: show ? 1 : 0\n\t\t\t\t\t}, options.duration || 500, options.easing, childComplete );\n\t\t}\n\t}\n\n\tfunction animComplete() {\n\t\telement.css( {\n\t\t\tvisibility: \"visible\"\n\t\t} );\n\t\t$( pieces ).remove();\n\t\tdone();\n\t}\n} );\n\n\n/*!\n * jQuery UI Effects Fade 1.13.3\n * https://jqueryui.com\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license.\n * https://jquery.org/license\n */\n\n//>>label: Fade Effect\n//>>group: Effects\n//>>description: Fades the element.\n//>>docs: https://api.jqueryui.com/fade-effect/\n//>>demos: https://jqueryui.com/effect/\n\n\nvar effectsEffectFade = $.effects.define( \"fade\", \"toggle\", function( options, done ) {\n\tvar show = options.mode === \"show\";\n\n\t$( this )\n\t\t.css( \"opacity\", show ? 0 : 1 )\n\t\t.animate( {\n\t\t\topacity: show ? 1 : 0\n\t\t}, {\n\t\t\tqueue: false,\n\t\t\tduration: options.duration,\n\t\t\teasing: options.easing,\n\t\t\tcomplete: done\n\t\t} );\n} );\n\n\n/*!\n * jQuery UI Effects Fold 1.13.3\n * https://jqueryui.com\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license.\n * https://jquery.org/license\n */\n\n//>>label: Fold Effect\n//>>group: Effects\n//>>description: Folds an element first horizontally and then vertically.\n//>>docs: https://api.jqueryui.com/fold-effect/\n//>>demos: https://jqueryui.com/effect/\n\n\nvar effectsEffectFold = $.effects.define( \"fold\", \"hide\", function( options, done ) {\n\n\t// Create element\n\tvar element = $( this ),\n\t\tmode = options.mode,\n\t\tshow = mode === \"show\",\n\t\thide = mode === \"hide\",\n\t\tsize = options.size || 15,\n\t\tpercent = /([0-9]+)%/.exec( size ),\n\t\thorizFirst = !!options.horizFirst,\n\t\tref = horizFirst ? [ \"right\", \"bottom\" ] : [ \"bottom\", \"right\" ],\n\t\tduration = options.duration / 2,\n\n\t\tplaceholder = $.effects.createPlaceholder( element ),\n\n\t\tstart = element.cssClip(),\n\t\tanimation1 = { clip: $.extend( {}, start ) },\n\t\tanimation2 = { clip: $.extend( {}, start ) },\n\n\t\tdistance = [ start[ ref[ 0 ] ], start[ ref[ 1 ] ] ],\n\n\t\tqueuelen = element.queue().length;\n\n\tif ( percent ) {\n\t\tsize = parseInt( percent[ 1 ], 10 ) / 100 * distance[ hide ? 0 : 1 ];\n\t}\n\tanimation1.clip[ ref[ 0 ] ] = size;\n\tanimation2.clip[ ref[ 0 ] ] = size;\n\tanimation2.clip[ ref[ 1 ] ] = 0;\n\n\tif ( show ) {\n\t\telement.cssClip( animation2.clip );\n\t\tif ( placeholder ) {\n\t\t\tplaceholder.css( $.effects.clipToBox( animation2 ) );\n\t\t}\n\n\t\tanimation2.clip = start;\n\t}\n\n\t// Animate\n\telement\n\t\t.queue( function( next ) {\n\t\t\tif ( placeholder ) {\n\t\t\t\tplaceholder\n\t\t\t\t\t.animate( $.effects.clipToBox( animation1 ), duration, options.easing )\n\t\t\t\t\t.animate( $.effects.clipToBox( animation2 ), duration, options.easing );\n\t\t\t}\n\n\t\t\tnext();\n\t\t} )\n\t\t.animate( animation1, duration, options.easing )\n\t\t.animate( animation2, duration, options.easing )\n\t\t.queue( done );\n\n\t$.effects.unshift( element, queuelen, 4 );\n} );\n\n\n/*!\n * jQuery UI Effects Highlight 1.13.3\n * https://jqueryui.com\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license.\n * https://jquery.org/license\n */\n\n//>>label: Highlight Effect\n//>>group: Effects\n//>>description: Highlights the background of an element in a defined color for a custom duration.\n//>>docs: https://api.jqueryui.com/highlight-effect/\n//>>demos: https://jqueryui.com/effect/\n\n\nvar effectsEffectHighlight = $.effects.define( \"highlight\", \"show\", function( options, done ) {\n\tvar element = $( this ),\n\t\tanimation = {\n\t\t\tbackgroundColor: element.css( \"backgroundColor\" )\n\t\t};\n\n\tif ( options.mode === \"hide\" ) {\n\t\tanimation.opacity = 0;\n\t}\n\n\t$.effects.saveStyle( element );\n\n\telement\n\t\t.css( {\n\t\t\tbackgroundImage: \"none\",\n\t\t\tbackgroundColor: options.color || \"#ffff99\"\n\t\t} )\n\t\t.animate( animation, {\n\t\t\tqueue: false,\n\t\t\tduration: options.duration,\n\t\t\teasing: options.easing,\n\t\t\tcomplete: done\n\t\t} );\n} );\n\n\n/*!\n * jQuery UI Effects Size 1.13.3\n * https://jqueryui.com\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license.\n * https://jquery.org/license\n */\n\n//>>label: Size Effect\n//>>group: Effects\n//>>description: Resize an element to a specified width and height.\n//>>docs: https://api.jqueryui.com/size-effect/\n//>>demos: https://jqueryui.com/effect/\n\n\nvar effectsEffectSize = $.effects.define( \"size\", function( options, done ) {\n\n\t// Create element\n\tvar baseline, factor, temp,\n\t\telement = $( this ),\n\n\t\t// Copy for children\n\t\tcProps = [ \"fontSize\" ],\n\t\tvProps = [ \"borderTopWidth\", \"borderBottomWidth\", \"paddingTop\", \"paddingBottom\" ],\n\t\thProps = [ \"borderLeftWidth\", \"borderRightWidth\", \"paddingLeft\", \"paddingRight\" ],\n\n\t\t// Set options\n\t\tmode = options.mode,\n\t\trestore = mode !== \"effect\",\n\t\tscale = options.scale || \"both\",\n\t\torigin = options.origin || [ \"middle\", \"center\" ],\n\t\tposition = element.css( \"position\" ),\n\t\tpos = element.position(),\n\t\toriginal = $.effects.scaledDimensions( element ),\n\t\tfrom = options.from || original,\n\t\tto = options.to || $.effects.scaledDimensions( element, 0 );\n\n\t$.effects.createPlaceholder( element );\n\n\tif ( mode === \"show\" ) {\n\t\ttemp = from;\n\t\tfrom = to;\n\t\tto = temp;\n\t}\n\n\t// Set scaling factor\n\tfactor = {\n\t\tfrom: {\n\t\t\ty: from.height / original.height,\n\t\t\tx: from.width / original.width\n\t\t},\n\t\tto: {\n\t\t\ty: to.height / original.height,\n\t\t\tx: to.width / original.width\n\t\t}\n\t};\n\n\t// Scale the css box\n\tif ( scale === \"box\" || scale === \"both\" ) {\n\n\t\t// Vertical props scaling\n\t\tif ( factor.from.y !== factor.to.y ) {\n\t\t\tfrom = $.effects.setTransition( element, vProps, factor.from.y, from );\n\t\t\tto = $.effects.setTransition( element, vProps, factor.to.y, to );\n\t\t}\n\n\t\t// Horizontal props scaling\n\t\tif ( factor.from.x !== factor.to.x ) {\n\t\t\tfrom = $.effects.setTransition( element, hProps, factor.from.x, from );\n\t\t\tto = $.effects.setTransition( element, hProps, factor.to.x, to );\n\t\t}\n\t}\n\n\t// Scale the content\n\tif ( scale === \"content\" || scale === \"both\" ) {\n\n\t\t// Vertical props scaling\n\t\tif ( factor.from.y !== factor.to.y ) {\n\t\t\tfrom = $.effects.setTransition( element, cProps, factor.from.y, from );\n\t\t\tto = $.effects.setTransition( element, cProps, factor.to.y, to );\n\t\t}\n\t}\n\n\t// Adjust the position properties based on the provided origin points\n\tif ( origin ) {\n\t\tbaseline = $.effects.getBaseline( origin, original );\n\t\tfrom.top = ( original.outerHeight - from.outerHeight ) * baseline.y + pos.top;\n\t\tfrom.left = ( original.outerWidth - from.outerWidth ) * baseline.x + pos.left;\n\t\tto.top = ( original.outerHeight - to.outerHeight ) * baseline.y + pos.top;\n\t\tto.left = ( original.outerWidth - to.outerWidth ) * baseline.x + pos.left;\n\t}\n\tdelete from.outerHeight;\n\tdelete from.outerWidth;\n\telement.css( from );\n\n\t// Animate the children if desired\n\tif ( scale === \"content\" || scale === \"both\" ) {\n\n\t\tvProps = vProps.concat( [ \"marginTop\", \"marginBottom\" ] ).concat( cProps );\n\t\thProps = hProps.concat( [ \"marginLeft\", \"marginRight\" ] );\n\n\t\t// Only animate children with width attributes specified\n\t\t// TODO: is this right? should we include anything with css width specified as well\n\t\telement.find( \"*[width]\" ).each( function() {\n\t\t\tvar child = $( this ),\n\t\t\t\tchildOriginal = $.effects.scaledDimensions( child ),\n\t\t\t\tchildFrom = {\n\t\t\t\t\theight: childOriginal.height * factor.from.y,\n\t\t\t\t\twidth: childOriginal.width * factor.from.x,\n\t\t\t\t\touterHeight: childOriginal.outerHeight * factor.from.y,\n\t\t\t\t\touterWidth: childOriginal.outerWidth * factor.from.x\n\t\t\t\t},\n\t\t\t\tchildTo = {\n\t\t\t\t\theight: childOriginal.height * factor.to.y,\n\t\t\t\t\twidth: childOriginal.width * factor.to.x,\n\t\t\t\t\touterHeight: childOriginal.height * factor.to.y,\n\t\t\t\t\touterWidth: childOriginal.width * factor.to.x\n\t\t\t\t};\n\n\t\t\t// Vertical props scaling\n\t\t\tif ( factor.from.y !== factor.to.y ) {\n\t\t\t\tchildFrom = $.effects.setTransition( child, vProps, factor.from.y, childFrom );\n\t\t\t\tchildTo = $.effects.setTransition( child, vProps, factor.to.y, childTo );\n\t\t\t}\n\n\t\t\t// Horizontal props scaling\n\t\t\tif ( factor.from.x !== factor.to.x ) {\n\t\t\t\tchildFrom = $.effects.setTransition( child, hProps, factor.from.x, childFrom );\n\t\t\t\tchildTo = $.effects.setTransition( child, hProps, factor.to.x, childTo );\n\t\t\t}\n\n\t\t\tif ( restore ) {\n\t\t\t\t$.effects.saveStyle( child );\n\t\t\t}\n\n\t\t\t// Animate children\n\t\t\tchild.css( childFrom );\n\t\t\tchild.animate( childTo, options.duration, options.easing, function() {\n\n\t\t\t\t// Restore children\n\t\t\t\tif ( restore ) {\n\t\t\t\t\t$.effects.restoreStyle( child );\n\t\t\t\t}\n\t\t\t} );\n\t\t} );\n\t}\n\n\t// Animate\n\telement.animate( to, {\n\t\tqueue: false,\n\t\tduration: options.duration,\n\t\teasing: options.easing,\n\t\tcomplete: function() {\n\n\t\t\tvar offset = element.offset();\n\n\t\t\tif ( to.opacity === 0 ) {\n\t\t\t\telement.css( \"opacity\", from.opacity );\n\t\t\t}\n\n\t\t\tif ( !restore ) {\n\t\t\t\telement\n\t\t\t\t\t.css( \"position\", position === \"static\" ? \"relative\" : position )\n\t\t\t\t\t.offset( offset );\n\n\t\t\t\t// Need to save style here so that automatic style restoration\n\t\t\t\t// doesn't restore to the original styles from before the animation.\n\t\t\t\t$.effects.saveStyle( element );\n\t\t\t}\n\n\t\t\tdone();\n\t\t}\n\t} );\n\n} );\n\n\n/*!\n * jQuery UI Effects Scale 1.13.3\n * https://jqueryui.com\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license.\n * https://jquery.org/license\n */\n\n//>>label: Scale Effect\n//>>group: Effects\n//>>description: Grows or shrinks an element and its content.\n//>>docs: https://api.jqueryui.com/scale-effect/\n//>>demos: https://jqueryui.com/effect/\n\n\nvar effectsEffectScale = $.effects.define( \"scale\", function( options, done ) {\n\n\t// Create element\n\tvar el = $( this ),\n\t\tmode = options.mode,\n\t\tpercent = parseInt( options.percent, 10 ) ||\n\t\t\t( parseInt( options.percent, 10 ) === 0 ? 0 : ( mode !== \"effect\" ? 0 : 100 ) ),\n\n\t\tnewOptions = $.extend( true, {\n\t\t\tfrom: $.effects.scaledDimensions( el ),\n\t\t\tto: $.effects.scaledDimensions( el, percent, options.direction || \"both\" ),\n\t\t\torigin: options.origin || [ \"middle\", \"center\" ]\n\t\t}, options );\n\n\t// Fade option to support puff\n\tif ( options.fade ) {\n\t\tnewOptions.from.opacity = 1;\n\t\tnewOptions.to.opacity = 0;\n\t}\n\n\t$.effects.effect.size.call( this, newOptions, done );\n} );\n\n\n/*!\n * jQuery UI Effects Puff 1.13.3\n * https://jqueryui.com\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license.\n * https://jquery.org/license\n */\n\n//>>label: Puff Effect\n//>>group: Effects\n//>>description: Creates a puff effect by scaling the element up and hiding it at the same time.\n//>>docs: https://api.jqueryui.com/puff-effect/\n//>>demos: https://jqueryui.com/effect/\n\n\nvar effectsEffectPuff = $.effects.define( \"puff\", \"hide\", function( options, done ) {\n\tvar newOptions = $.extend( true, {}, options, {\n\t\tfade: true,\n\t\tpercent: parseInt( options.percent, 10 ) || 150\n\t} );\n\n\t$.effects.effect.scale.call( this, newOptions, done );\n} );\n\n\n/*!\n * jQuery UI Effects Pulsate 1.13.3\n * https://jqueryui.com\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license.\n * https://jquery.org/license\n */\n\n//>>label: Pulsate Effect\n//>>group: Effects\n//>>description: Pulsates an element n times by changing the opacity to zero and back.\n//>>docs: https://api.jqueryui.com/pulsate-effect/\n//>>demos: https://jqueryui.com/effect/\n\n\nvar effectsEffectPulsate = $.effects.define( \"pulsate\", \"show\", function( options, done ) {\n\tvar element = $( this ),\n\t\tmode = options.mode,\n\t\tshow = mode === \"show\",\n\t\thide = mode === \"hide\",\n\t\tshowhide = show || hide,\n\n\t\t// Showing or hiding leaves off the \"last\" animation\n\t\tanims = ( ( options.times || 5 ) * 2 ) + ( showhide ? 1 : 0 ),\n\t\tduration = options.duration / anims,\n\t\tanimateTo = 0,\n\t\ti = 1,\n\t\tqueuelen = element.queue().length;\n\n\tif ( show || !element.is( \":visible\" ) ) {\n\t\telement.css( \"opacity\", 0 ).show();\n\t\tanimateTo = 1;\n\t}\n\n\t// Anims - 1 opacity \"toggles\"\n\tfor ( ; i < anims; i++ ) {\n\t\telement.animate( { opacity: animateTo }, duration, options.easing );\n\t\tanimateTo = 1 - animateTo;\n\t}\n\n\telement.animate( { opacity: animateTo }, duration, options.easing );\n\n\telement.queue( done );\n\n\t$.effects.unshift( element, queuelen, anims + 1 );\n} );\n\n\n/*!\n * jQuery UI Effects Shake 1.13.3\n * https://jqueryui.com\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license.\n * https://jquery.org/license\n */\n\n//>>label: Shake Effect\n//>>group: Effects\n//>>description: Shakes an element horizontally or vertically n times.\n//>>docs: https://api.jqueryui.com/shake-effect/\n//>>demos: https://jqueryui.com/effect/\n\n\nvar effectsEffectShake = $.effects.define( \"shake\", function( options, done ) {\n\n\tvar i = 1,\n\t\telement = $( this ),\n\t\tdirection = options.direction || \"left\",\n\t\tdistance = options.distance || 20,\n\t\ttimes = options.times || 3,\n\t\tanims = times * 2 + 1,\n\t\tspeed = Math.round( options.duration / anims ),\n\t\tref = ( direction === \"up\" || direction === \"down\" ) ? \"top\" : \"left\",\n\t\tpositiveMotion = ( direction === \"up\" || direction === \"left\" ),\n\t\tanimation = {},\n\t\tanimation1 = {},\n\t\tanimation2 = {},\n\n\t\tqueuelen = element.queue().length;\n\n\t$.effects.createPlaceholder( element );\n\n\t// Animation\n\tanimation[ ref ] = ( positiveMotion ? \"-=\" : \"+=\" ) + distance;\n\tanimation1[ ref ] = ( positiveMotion ? \"+=\" : \"-=\" ) + distance * 2;\n\tanimation2[ ref ] = ( positiveMotion ? \"-=\" : \"+=\" ) + distance * 2;\n\n\t// Animate\n\telement.animate( animation, speed, options.easing );\n\n\t// Shakes\n\tfor ( ; i < times; i++ ) {\n\t\telement\n\t\t\t.animate( animation1, speed, options.easing )\n\t\t\t.animate( animation2, speed, options.easing );\n\t}\n\n\telement\n\t\t.animate( animation1, speed, options.easing )\n\t\t.animate( animation, speed / 2, options.easing )\n\t\t.queue( done );\n\n\t$.effects.unshift( element, queuelen, anims + 1 );\n} );\n\n\n/*!\n * jQuery UI Effects Slide 1.13.3\n * https://jqueryui.com\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license.\n * https://jquery.org/license\n */\n\n//>>label: Slide Effect\n//>>group: Effects\n//>>description: Slides an element in and out of the viewport.\n//>>docs: https://api.jqueryui.com/slide-effect/\n//>>demos: https://jqueryui.com/effect/\n\n\nvar effectsEffectSlide = $.effects.define( \"slide\", \"show\", function( options, done ) {\n\tvar startClip, startRef,\n\t\telement = $( this ),\n\t\tmap = {\n\t\t\tup: [ \"bottom\", \"top\" ],\n\t\t\tdown: [ \"top\", \"bottom\" ],\n\t\t\tleft: [ \"right\", \"left\" ],\n\t\t\tright: [ \"left\", \"right\" ]\n\t\t},\n\t\tmode = options.mode,\n\t\tdirection = options.direction || \"left\",\n\t\tref = ( direction === \"up\" || direction === \"down\" ) ? \"top\" : \"left\",\n\t\tpositiveMotion = ( direction === \"up\" || direction === \"left\" ),\n\t\tdistance = options.distance ||\n\t\t\telement[ ref === \"top\" ? \"outerHeight\" : \"outerWidth\" ]( true ),\n\t\tanimation = {};\n\n\t$.effects.createPlaceholder( element );\n\n\tstartClip = element.cssClip();\n\tstartRef = element.position()[ ref ];\n\n\t// Define hide animation\n\tanimation[ ref ] = ( positiveMotion ? -1 : 1 ) * distance + startRef;\n\tanimation.clip = element.cssClip();\n\tanimation.clip[ map[ direction ][ 1 ] ] = animation.clip[ map[ direction ][ 0 ] ];\n\n\t// Reverse the animation if we're showing\n\tif ( mode === \"show\" ) {\n\t\telement.cssClip( animation.clip );\n\t\telement.css( ref, animation[ ref ] );\n\t\tanimation.clip = startClip;\n\t\tanimation[ ref ] = startRef;\n\t}\n\n\t// Actually animate\n\telement.animate( animation, {\n\t\tqueue: false,\n\t\tduration: options.duration,\n\t\teasing: options.easing,\n\t\tcomplete: done\n\t} );\n} );\n\n\n/*!\n * jQuery UI Effects Transfer 1.13.3\n * https://jqueryui.com\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license.\n * https://jquery.org/license\n */\n\n//>>label: Transfer Effect\n//>>group: Effects\n//>>description: Displays a transfer effect from one element to another.\n//>>docs: https://api.jqueryui.com/transfer-effect/\n//>>demos: https://jqueryui.com/effect/\n\n\nvar effect;\nif ( $.uiBackCompat !== false ) {\n\teffect = $.effects.define( \"transfer\", function( options, done ) {\n\t\t$( this ).transfer( options, done );\n\t} );\n}\nvar effectsEffectTransfer = effect;\n\n\n/*!\n * jQuery UI Focusable 1.13.3\n * https://jqueryui.com\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license.\n * https://jquery.org/license\n */\n\n//>>label: :focusable Selector\n//>>group: Core\n//>>description: Selects elements which can be focused.\n//>>docs: https://api.jqueryui.com/focusable-selector/\n\n\n// Selectors\n$.ui.focusable = function( element, hasTabindex ) {\n\tvar map, mapName, img, focusableIfVisible, fieldset,\n\t\tnodeName = element.nodeName.toLowerCase();\n\n\tif ( \"area\" === nodeName ) {\n\t\tmap = element.parentNode;\n\t\tmapName = map.name;\n\t\tif ( !element.href || !mapName || map.nodeName.toLowerCase() !== \"map\" ) {\n\t\t\treturn false;\n\t\t}\n\t\timg = $( \"img[usemap='#\" + mapName + \"']\" );\n\t\treturn img.length > 0 && img.is( \":visible\" );\n\t}\n\n\tif ( /^(input|select|textarea|button|object)$/.test( nodeName ) ) {\n\t\tfocusableIfVisible = !element.disabled;\n\n\t\tif ( focusableIfVisible ) {\n\n\t\t\t// Form controls within a disabled fieldset are disabled.\n\t\t\t// However, controls within the fieldset's legend do not get disabled.\n\t\t\t// Since controls generally aren't placed inside legends, we skip\n\t\t\t// this portion of the check.\n\t\t\tfieldset = $( element ).closest( \"fieldset\" )[ 0 ];\n\t\t\tif ( fieldset ) {\n\t\t\t\tfocusableIfVisible = !fieldset.disabled;\n\t\t\t}\n\t\t}\n\t} else if ( \"a\" === nodeName ) {\n\t\tfocusableIfVisible = element.href || hasTabindex;\n\t} else {\n\t\tfocusableIfVisible = hasTabindex;\n\t}\n\n\treturn focusableIfVisible && $( element ).is( \":visible\" ) && visible( $( element ) );\n};\n\n// Support: IE 8 only\n// IE 8 doesn't resolve inherit to visible/hidden for computed values\nfunction visible( element ) {\n\tvar visibility = element.css( \"visibility\" );\n\twhile ( visibility === \"inherit\" ) {\n\t\telement = element.parent();\n\t\tvisibility = element.css( \"visibility\" );\n\t}\n\treturn visibility === \"visible\";\n}\n\n$.extend( $.expr.pseudos, {\n\tfocusable: function( element ) {\n\t\treturn $.ui.focusable( element, $.attr( element, \"tabindex\" ) != null );\n\t}\n} );\n\nvar focusable = $.ui.focusable;\n\n\n\n// Support: IE8 Only\n// IE8 does not support the form attribute and when it is supplied. It overwrites the form prop\n// with a string, so we need to find the proper form.\nvar form = $.fn._form = function() {\n\treturn typeof this[ 0 ].form === \"string\" ? this.closest( \"form\" ) : $( this[ 0 ].form );\n};\n\n\n/*!\n * jQuery UI Form Reset Mixin 1.13.3\n * https://jqueryui.com\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license.\n * https://jquery.org/license\n */\n\n//>>label: Form Reset Mixin\n//>>group: Core\n//>>description: Refresh input widgets when their form is reset\n//>>docs: https://api.jqueryui.com/form-reset-mixin/\n\n\nvar formResetMixin = $.ui.formResetMixin = {\n\t_formResetHandler: function() {\n\t\tvar form = $( this );\n\n\t\t// Wait for the form reset to actually happen before refreshing\n\t\tsetTimeout( function() {\n\t\t\tvar instances = form.data( \"ui-form-reset-instances\" );\n\t\t\t$.each( instances, function() {\n\t\t\t\tthis.refresh();\n\t\t\t} );\n\t\t} );\n\t},\n\n\t_bindFormResetHandler: function() {\n\t\tthis.form = this.element._form();\n\t\tif ( !this.form.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tvar instances = this.form.data( \"ui-form-reset-instances\" ) || [];\n\t\tif ( !instances.length ) {\n\n\t\t\t// We don't use _on() here because we use a single event handler per form\n\t\t\tthis.form.on( \"reset.ui-form-reset\", this._formResetHandler );\n\t\t}\n\t\tinstances.push( this );\n\t\tthis.form.data( \"ui-form-reset-instances\", instances );\n\t},\n\n\t_unbindFormResetHandler: function() {\n\t\tif ( !this.form.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tvar instances = this.form.data( \"ui-form-reset-instances\" );\n\t\tinstances.splice( $.inArray( this, instances ), 1 );\n\t\tif ( instances.length ) {\n\t\t\tthis.form.data( \"ui-form-reset-instances\", instances );\n\t\t} else {\n\t\t\tthis.form\n\t\t\t\t.removeData( \"ui-form-reset-instances\" )\n\t\t\t\t.off( \"reset.ui-form-reset\" );\n\t\t}\n\t}\n};\n\n\n/*!\n * jQuery UI Support for jQuery core 1.8.x and newer 1.13.3\n * https://jqueryui.com\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license.\n * https://jquery.org/license\n *\n */\n\n//>>label: jQuery 1.8+ Support\n//>>group: Core\n//>>description: Support version 1.8.x and newer of jQuery core\n\n\n// Support: jQuery 1.9.x or older\n// $.expr[ \":\" ] is deprecated.\nif ( !$.expr.pseudos ) {\n\t$.expr.pseudos = $.expr[ \":\" ];\n}\n\n// Support: jQuery 1.11.x or older\n// $.unique has been renamed to $.uniqueSort\nif ( !$.uniqueSort ) {\n\t$.uniqueSort = $.unique;\n}\n\n// Support: jQuery 2.2.x or older.\n// This method has been defined in jQuery 3.0.0.\n// Code from https://github.com/jquery/jquery/blob/e539bac79e666bba95bba86d690b4e609dca2286/src/selector/escapeSelector.js\nif ( !$.escapeSelector ) {\n\n\t// CSS string/identifier serialization\n\t// https://drafts.csswg.org/cssom/#common-serializing-idioms\n\tvar rcssescape = /([\\0-\\x1f\\x7f]|^-?\\d)|^-$|[^\\x80-\\uFFFF\\w-]/g;\n\n\tvar fcssescape = function( ch, asCodePoint ) {\n\t\tif ( asCodePoint ) {\n\n\t\t\t// U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER\n\t\t\tif ( ch === \"\\0\" ) {\n\t\t\t\treturn \"\\uFFFD\";\n\t\t\t}\n\n\t\t\t// Control characters and (dependent upon position) numbers get escaped as code points\n\t\t\treturn ch.slice( 0, -1 ) + \"\\\\\" + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + \" \";\n\t\t}\n\n\t\t// Other potentially-special ASCII characters get backslash-escaped\n\t\treturn \"\\\\\" + ch;\n\t};\n\n\t$.escapeSelector = function( sel ) {\n\t\treturn ( sel + \"\" ).replace( rcssescape, fcssescape );\n\t};\n}\n\n// Support: jQuery 3.4.x or older\n// These methods have been defined in jQuery 3.5.0.\nif ( !$.fn.even || !$.fn.odd ) {\n\t$.fn.extend( {\n\t\teven: function() {\n\t\t\treturn this.filter( function( i ) {\n\t\t\t\treturn i % 2 === 0;\n\t\t\t} );\n\t\t},\n\t\todd: function() {\n\t\t\treturn this.filter( function( i ) {\n\t\t\t\treturn i % 2 === 1;\n\t\t\t} );\n\t\t}\n\t} );\n}\n\n;\n/*!\n * jQuery UI Keycode 1.13.3\n * https://jqueryui.com\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license.\n * https://jquery.org/license\n */\n\n//>>label: Keycode\n//>>group: Core\n//>>description: Provide keycodes as keynames\n//>>docs: https://api.jqueryui.com/jQuery.ui.keyCode/\n\n\nvar keycode = $.ui.keyCode = {\n\tBACKSPACE: 8,\n\tCOMMA: 188,\n\tDELETE: 46,\n\tDOWN: 40,\n\tEND: 35,\n\tENTER: 13,\n\tESCAPE: 27,\n\tHOME: 36,\n\tLEFT: 37,\n\tPAGE_DOWN: 34,\n\tPAGE_UP: 33,\n\tPERIOD: 190,\n\tRIGHT: 39,\n\tSPACE: 32,\n\tTAB: 9,\n\tUP: 38\n};\n\n\n/*!\n * jQuery UI Labels 1.13.3\n * https://jqueryui.com\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license.\n * https://jquery.org/license\n */\n\n//>>label: labels\n//>>group: Core\n//>>description: Find all the labels associated with a given input\n//>>docs: https://api.jqueryui.com/labels/\n\n\nvar labels = $.fn.labels = function() {\n\tvar ancestor, selector, id, labels, ancestors;\n\n\tif ( !this.length ) {\n\t\treturn this.pushStack( [] );\n\t}\n\n\t// Check control.labels first\n\tif ( this[ 0 ].labels && this[ 0 ].labels.length ) {\n\t\treturn this.pushStack( this[ 0 ].labels );\n\t}\n\n\t// Support: IE <= 11, FF <= 37, Android <= 2.3 only\n\t// Above browsers do not support control.labels. Everything below is to support them\n\t// as well as document fragments. control.labels does not work on document fragments\n\tlabels = this.eq( 0 ).parents( \"label\" );\n\n\t// Look for the label based on the id\n\tid = this.attr( \"id\" );\n\tif ( id ) {\n\n\t\t// We don't search against the document in case the element\n\t\t// is disconnected from the DOM\n\t\tancestor = this.eq( 0 ).parents().last();\n\n\t\t// Get a full set of top level ancestors\n\t\tancestors = ancestor.add( ancestor.length ? ancestor.siblings() : this.siblings() );\n\n\t\t// Create a selector for the label based on the id\n\t\tselector = \"label[for='\" + $.escapeSelector( id ) + \"']\";\n\n\t\tlabels = labels.add( ancestors.find( selector ).addBack( selector ) );\n\n\t}\n\n\t// Return whatever we have found for labels\n\treturn this.pushStack( labels );\n};\n\n\n/*!\n * jQuery UI Scroll Parent 1.13.3\n * https://jqueryui.com\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license.\n * https://jquery.org/license\n */\n\n//>>label: scrollParent\n//>>group: Core\n//>>description: Get the closest ancestor element that is scrollable.\n//>>docs: https://api.jqueryui.com/scrollParent/\n\n\nvar scrollParent = $.fn.scrollParent = function( includeHidden ) {\n\tvar position = this.css( \"position\" ),\n\t\texcludeStaticParent = position === \"absolute\",\n\t\toverflowRegex = includeHidden ? /(auto|scroll|hidden)/ : /(auto|scroll)/,\n\t\tscrollParent = this.parents().filter( function() {\n\t\t\tvar parent = $( this );\n\t\t\tif ( excludeStaticParent && parent.css( \"position\" ) === \"static\" ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn overflowRegex.test( parent.css( \"overflow\" ) + parent.css( \"overflow-y\" ) +\n\t\t\t\tparent.css( \"overflow-x\" ) );\n\t\t} ).eq( 0 );\n\n\treturn position === \"fixed\" || !scrollParent.length ?\n\t\t$( this[ 0 ].ownerDocument || document ) :\n\t\tscrollParent;\n};\n\n\n/*!\n * jQuery UI Tabbable 1.13.3\n * https://jqueryui.com\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license.\n * https://jquery.org/license\n */\n\n//>>label: :tabbable Selector\n//>>group: Core\n//>>description: Selects elements which can be tabbed to.\n//>>docs: https://api.jqueryui.com/tabbable-selector/\n\n\nvar tabbable = $.extend( $.expr.pseudos, {\n\ttabbable: function( element ) {\n\t\tvar tabIndex = $.attr( element, \"tabindex\" ),\n\t\t\thasTabindex = tabIndex != null;\n\t\treturn ( !hasTabindex || tabIndex >= 0 ) && $.ui.focusable( element, hasTabindex );\n\t}\n} );\n\n\n/*!\n * jQuery UI Unique ID 1.13.3\n * https://jqueryui.com\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license.\n * https://jquery.org/license\n */\n\n//>>label: uniqueId\n//>>group: Core\n//>>description: Functions to generate and remove uniqueId's\n//>>docs: https://api.jqueryui.com/uniqueId/\n\n\nvar uniqueId = $.fn.extend( {\n\tuniqueId: ( function() {\n\t\tvar uuid = 0;\n\n\t\treturn function() {\n\t\t\treturn this.each( function() {\n\t\t\t\tif ( !this.id ) {\n\t\t\t\t\tthis.id = \"ui-id-\" + ( ++uuid );\n\t\t\t\t}\n\t\t\t} );\n\t\t};\n\t} )(),\n\n\tremoveUniqueId: function() {\n\t\treturn this.each( function() {\n\t\t\tif ( /^ui-id-\\d+$/.test( this.id ) ) {\n\t\t\t\t$( this ).removeAttr( \"id\" );\n\t\t\t}\n\t\t} );\n\t}\n} );\n\n\n/*!\n * jQuery UI Accordion 1.13.3\n * https://jqueryui.com\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license.\n * https://jquery.org/license\n */\n\n//>>label: Accordion\n//>>group: Widgets\n/* eslint-disable max-len */\n//>>description: Displays collapsible content panels for presenting information in a limited amount of space.\n/* eslint-enable max-len */\n//>>docs: https://api.jqueryui.com/accordion/\n//>>demos: https://jqueryui.com/accordion/\n//>>css.structure: ../../themes/base/core.css\n//>>css.structure: ../../themes/base/accordion.css\n//>>css.theme: ../../themes/base/theme.css\n\n\nvar widgetsAccordion = $.widget( \"ui.accordion\", {\n\tversion: \"1.13.3\",\n\toptions: {\n\t\tactive: 0,\n\t\tanimate: {},\n\t\tclasses: {\n\t\t\t\"ui-accordion-header\": \"ui-corner-top\",\n\t\t\t\"ui-accordion-header-collapsed\": \"ui-corner-all\",\n\t\t\t\"ui-accordion-content\": \"ui-corner-bottom\"\n\t\t},\n\t\tcollapsible: false,\n\t\tevent: \"click\",\n\t\theader: function( elem ) {\n\t\t\treturn elem.find( \"> li > :first-child\" ).add( elem.find( \"> :not(li)\" ).even() );\n\t\t},\n\t\theightStyle: \"auto\",\n\t\ticons: {\n\t\t\tactiveHeader: \"ui-icon-triangle-1-s\",\n\t\t\theader: \"ui-icon-triangle-1-e\"\n\t\t},\n\n\t\t// Callbacks\n\t\tactivate: null,\n\t\tbeforeActivate: null\n\t},\n\n\thideProps: {\n\t\tborderTopWidth: \"hide\",\n\t\tborderBottomWidth: \"hide\",\n\t\tpaddingTop: \"hide\",\n\t\tpaddingBottom: \"hide\",\n\t\theight: \"hide\"\n\t},\n\n\tshowProps: {\n\t\tborderTopWidth: \"show\",\n\t\tborderBottomWidth: \"show\",\n\t\tpaddingTop: \"show\",\n\t\tpaddingBottom: \"show\",\n\t\theight: \"show\"\n\t},\n\n\t_create: function() {\n\t\tvar options = this.options;\n\n\t\tthis.prevShow = this.prevHide = $();\n\t\tthis._addClass( \"ui-accordion\", \"ui-widget ui-helper-reset\" );\n\t\tthis.element.attr( \"role\", \"tablist\" );\n\n\t\t// Don't allow collapsible: false and active: false / null\n\t\tif ( !options.collapsible && ( options.active === false || options.active == null ) ) {\n\t\t\toptions.active = 0;\n\t\t}\n\n\t\tthis._processPanels();\n\n\t\t// handle negative values\n\t\tif ( options.active < 0 ) {\n\t\t\toptions.active += this.headers.length;\n\t\t}\n\t\tthis._refresh();\n\t},\n\n\t_getCreateEventData: function() {\n\t\treturn {\n\t\t\theader: this.active,\n\t\t\tpanel: !this.active.length ? $() : this.active.next()\n\t\t};\n\t},\n\n\t_createIcons: function() {\n\t\tvar icon, children,\n\t\t\ticons = this.options.icons;\n\n\t\tif ( icons ) {\n\t\t\ticon = $( \"\" );\n\t\t\tthis._addClass( icon, \"ui-accordion-header-icon\", \"ui-icon \" + icons.header );\n\t\t\ticon.prependTo( this.headers );\n\t\t\tchildren = this.active.children( \".ui-accordion-header-icon\" );\n\t\t\tthis._removeClass( children, icons.header )\n\t\t\t\t._addClass( children, null, icons.activeHeader )\n\t\t\t\t._addClass( this.headers, \"ui-accordion-icons\" );\n\t\t}\n\t},\n\n\t_destroyIcons: function() {\n\t\tthis._removeClass( this.headers, \"ui-accordion-icons\" );\n\t\tthis.headers.children( \".ui-accordion-header-icon\" ).remove();\n\t},\n\n\t_destroy: function() {\n\t\tvar contents;\n\n\t\t// Clean up main element\n\t\tthis.element.removeAttr( \"role\" );\n\n\t\t// Clean up headers\n\t\tthis.headers\n\t\t\t.removeAttr( \"role aria-expanded aria-selected aria-controls tabIndex\" )\n\t\t\t.removeUniqueId();\n\n\t\tthis._destroyIcons();\n\n\t\t// Clean up content panels\n\t\tcontents = this.headers.next()\n\t\t\t.css( \"display\", \"\" )\n\t\t\t.removeAttr( \"role aria-hidden aria-labelledby\" )\n\t\t\t.removeUniqueId();\n\n\t\tif ( this.options.heightStyle !== \"content\" ) {\n\t\t\tcontents.css( \"height\", \"\" );\n\t\t}\n\t},\n\n\t_setOption: function( key, value ) {\n\t\tif ( key === \"active\" ) {\n\n\t\t\t// _activate() will handle invalid values and update this.options\n\t\t\tthis._activate( value );\n\t\t\treturn;\n\t\t}\n\n\t\tif ( key === \"event\" ) {\n\t\t\tif ( this.options.event ) {\n\t\t\t\tthis._off( this.headers, this.options.event );\n\t\t\t}\n\t\t\tthis._setupEvents( value );\n\t\t}\n\n\t\tthis._super( key, value );\n\n\t\t// Setting collapsible: false while collapsed; open first panel\n\t\tif ( key === \"collapsible\" && !value && this.options.active === false ) {\n\t\t\tthis._activate( 0 );\n\t\t}\n\n\t\tif ( key === \"icons\" ) {\n\t\t\tthis._destroyIcons();\n\t\t\tif ( value ) {\n\t\t\t\tthis._createIcons();\n\t\t\t}\n\t\t}\n\t},\n\n\t_setOptionDisabled: function( value ) {\n\t\tthis._super( value );\n\n\t\tthis.element.attr( \"aria-disabled\", value );\n\n\t\t// Support: IE8 Only\n\t\t// #5332 / #6059 - opacity doesn't cascade to positioned elements in IE\n\t\t// so we need to add the disabled class to the headers and panels\n\t\tthis._toggleClass( null, \"ui-state-disabled\", !!value );\n\t\tthis._toggleClass( this.headers.add( this.headers.next() ), null, \"ui-state-disabled\",\n\t\t\t!!value );\n\t},\n\n\t_keydown: function( event ) {\n\t\tif ( event.altKey || event.ctrlKey ) {\n\t\t\treturn;\n\t\t}\n\n\t\tvar keyCode = $.ui.keyCode,\n\t\t\tlength = this.headers.length,\n\t\t\tcurrentIndex = this.headers.index( event.target ),\n\t\t\ttoFocus = false;\n\n\t\tswitch ( event.keyCode ) {\n\t\tcase keyCode.RIGHT:\n\t\tcase keyCode.DOWN:\n\t\t\ttoFocus = this.headers[ ( currentIndex + 1 ) % length ];\n\t\t\tbreak;\n\t\tcase keyCode.LEFT:\n\t\tcase keyCode.UP:\n\t\t\ttoFocus = this.headers[ ( currentIndex - 1 + length ) % length ];\n\t\t\tbreak;\n\t\tcase keyCode.SPACE:\n\t\tcase keyCode.ENTER:\n\t\t\tthis._eventHandler( event );\n\t\t\tbreak;\n\t\tcase keyCode.HOME:\n\t\t\ttoFocus = this.headers[ 0 ];\n\t\t\tbreak;\n\t\tcase keyCode.END:\n\t\t\ttoFocus = this.headers[ length - 1 ];\n\t\t\tbreak;\n\t\t}\n\n\t\tif ( toFocus ) {\n\t\t\t$( event.target ).attr( \"tabIndex\", -1 );\n\t\t\t$( toFocus ).attr( \"tabIndex\", 0 );\n\t\t\t$( toFocus ).trigger( \"focus\" );\n\t\t\tevent.preventDefault();\n\t\t}\n\t},\n\n\t_panelKeyDown: function( event ) {\n\t\tif ( event.keyCode === $.ui.keyCode.UP && event.ctrlKey ) {\n\t\t\t$( event.currentTarget ).prev().trigger( \"focus\" );\n\t\t}\n\t},\n\n\trefresh: function() {\n\t\tvar options = this.options;\n\t\tthis._processPanels();\n\n\t\t// Was collapsed or no panel\n\t\tif ( ( options.active === false && options.collapsible === true ) ||\n\t\t\t\t!this.headers.length ) {\n\t\t\toptions.active = false;\n\t\t\tthis.active = $();\n\n\t\t// active false only when collapsible is true\n\t\t} else if ( options.active === false ) {\n\t\t\tthis._activate( 0 );\n\n\t\t// was active, but active panel is gone\n\t\t} else if ( this.active.length && !$.contains( this.element[ 0 ], this.active[ 0 ] ) ) {\n\n\t\t\t// all remaining panel are disabled\n\t\t\tif ( this.headers.length === this.headers.find( \".ui-state-disabled\" ).length ) {\n\t\t\t\toptions.active = false;\n\t\t\t\tthis.active = $();\n\n\t\t\t// activate previous panel\n\t\t\t} else {\n\t\t\t\tthis._activate( Math.max( 0, options.active - 1 ) );\n\t\t\t}\n\n\t\t// was active, active panel still exists\n\t\t} else {\n\n\t\t\t// make sure active index is correct\n\t\t\toptions.active = this.headers.index( this.active );\n\t\t}\n\n\t\tthis._destroyIcons();\n\n\t\tthis._refresh();\n\t},\n\n\t_processPanels: function() {\n\t\tvar prevHeaders = this.headers,\n\t\t\tprevPanels = this.panels;\n\n\t\tif ( typeof this.options.header === \"function\" ) {\n\t\t\tthis.headers = this.options.header( this.element );\n\t\t} else {\n\t\t\tthis.headers = this.element.find( this.options.header );\n\t\t}\n\t\tthis._addClass( this.headers, \"ui-accordion-header ui-accordion-header-collapsed\",\n\t\t\t\"ui-state-default\" );\n\n\t\tthis.panels = this.headers.next().filter( \":not(.ui-accordion-content-active)\" ).hide();\n\t\tthis._addClass( this.panels, \"ui-accordion-content\", \"ui-helper-reset ui-widget-content\" );\n\n\t\t// Avoid memory leaks (#10056)\n\t\tif ( prevPanels ) {\n\t\t\tthis._off( prevHeaders.not( this.headers ) );\n\t\t\tthis._off( prevPanels.not( this.panels ) );\n\t\t}\n\t},\n\n\t_refresh: function() {\n\t\tvar maxHeight,\n\t\t\toptions = this.options,\n\t\t\theightStyle = options.heightStyle,\n\t\t\tparent = this.element.parent();\n\n\t\tthis.active = this._findActive( options.active );\n\t\tthis._addClass( this.active, \"ui-accordion-header-active\", \"ui-state-active\" )\n\t\t\t._removeClass( this.active, \"ui-accordion-header-collapsed\" );\n\t\tthis._addClass( this.active.next(), \"ui-accordion-content-active\" );\n\t\tthis.active.next().show();\n\n\t\tthis.headers\n\t\t\t.attr( \"role\", \"tab\" )\n\t\t\t.each( function() {\n\t\t\t\tvar header = $( this ),\n\t\t\t\t\theaderId = header.uniqueId().attr( \"id\" ),\n\t\t\t\t\tpanel = header.next(),\n\t\t\t\t\tpanelId = panel.uniqueId().attr( \"id\" );\n\t\t\t\theader.attr( \"aria-controls\", panelId );\n\t\t\t\tpanel.attr( \"aria-labelledby\", headerId );\n\t\t\t} )\n\t\t\t.next()\n\t\t\t\t.attr( \"role\", \"tabpanel\" );\n\n\t\tthis.headers\n\t\t\t.not( this.active )\n\t\t\t\t.attr( {\n\t\t\t\t\t\"aria-selected\": \"false\",\n\t\t\t\t\t\"aria-expanded\": \"false\",\n\t\t\t\t\ttabIndex: -1\n\t\t\t\t} )\n\t\t\t\t.next()\n\t\t\t\t\t.attr( {\n\t\t\t\t\t\t\"aria-hidden\": \"true\"\n\t\t\t\t\t} )\n\t\t\t\t\t.hide();\n\n\t\t// Make sure at least one header is in the tab order\n\t\tif ( !this.active.length ) {\n\t\t\tthis.headers.eq( 0 ).attr( \"tabIndex\", 0 );\n\t\t} else {\n\t\t\tthis.active.attr( {\n\t\t\t\t\"aria-selected\": \"true\",\n\t\t\t\t\"aria-expanded\": \"true\",\n\t\t\t\ttabIndex: 0\n\t\t\t} )\n\t\t\t\t.next()\n\t\t\t\t\t.attr( {\n\t\t\t\t\t\t\"aria-hidden\": \"false\"\n\t\t\t\t\t} );\n\t\t}\n\n\t\tthis._createIcons();\n\n\t\tthis._setupEvents( options.event );\n\n\t\tif ( heightStyle === \"fill\" ) {\n\t\t\tmaxHeight = parent.height();\n\t\t\tthis.element.siblings( \":visible\" ).each( function() {\n\t\t\t\tvar elem = $( this ),\n\t\t\t\t\tposition = elem.css( \"position\" );\n\n\t\t\t\tif ( position === \"absolute\" || position === \"fixed\" ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tmaxHeight -= elem.outerHeight( true );\n\t\t\t} );\n\n\t\t\tthis.headers.each( function() {\n\t\t\t\tmaxHeight -= $( this ).outerHeight( true );\n\t\t\t} );\n\n\t\t\tthis.headers.next()\n\t\t\t\t.each( function() {\n\t\t\t\t\t$( this ).height( Math.max( 0, maxHeight -\n\t\t\t\t\t\t$( this ).innerHeight() + $( this ).height() ) );\n\t\t\t\t} )\n\t\t\t\t.css( \"overflow\", \"auto\" );\n\t\t} else if ( heightStyle === \"auto\" ) {\n\t\t\tmaxHeight = 0;\n\t\t\tthis.headers.next()\n\t\t\t\t.each( function() {\n\t\t\t\t\tvar isVisible = $( this ).is( \":visible\" );\n\t\t\t\t\tif ( !isVisible ) {\n\t\t\t\t\t\t$( this ).show();\n\t\t\t\t\t}\n\t\t\t\t\tmaxHeight = Math.max( maxHeight, $( this ).css( \"height\", \"\" ).height() );\n\t\t\t\t\tif ( !isVisible ) {\n\t\t\t\t\t\t$( this ).hide();\n\t\t\t\t\t}\n\t\t\t\t} )\n\t\t\t\t.height( maxHeight );\n\t\t}\n\t},\n\n\t_activate: function( index ) {\n\t\tvar active = this._findActive( index )[ 0 ];\n\n\t\t// Trying to activate the already active panel\n\t\tif ( active === this.active[ 0 ] ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Trying to collapse, simulate a click on the currently active header\n\t\tactive = active || this.active[ 0 ];\n\n\t\tthis._eventHandler( {\n\t\t\ttarget: active,\n\t\t\tcurrentTarget: active,\n\t\t\tpreventDefault: $.noop\n\t\t} );\n\t},\n\n\t_findActive: function( selector ) {\n\t\treturn typeof selector === \"number\" ? this.headers.eq( selector ) : $();\n\t},\n\n\t_setupEvents: function( event ) {\n\t\tvar events = {\n\t\t\tkeydown: \"_keydown\"\n\t\t};\n\t\tif ( event ) {\n\t\t\t$.each( event.split( \" \" ), function( index, eventName ) {\n\t\t\t\tevents[ eventName ] = \"_eventHandler\";\n\t\t\t} );\n\t\t}\n\n\t\tthis._off( this.headers.add( this.headers.next() ) );\n\t\tthis._on( this.headers, events );\n\t\tthis._on( this.headers.next(), { keydown: \"_panelKeyDown\" } );\n\t\tthis._hoverable( this.headers );\n\t\tthis._focusable( this.headers );\n\t},\n\n\t_eventHandler: function( event ) {\n\t\tvar activeChildren, clickedChildren,\n\t\t\toptions = this.options,\n\t\t\tactive = this.active,\n\t\t\tclicked = $( event.currentTarget ),\n\t\t\tclickedIsActive = clicked[ 0 ] === active[ 0 ],\n\t\t\tcollapsing = clickedIsActive && options.collapsible,\n\t\t\ttoShow = collapsing ? $() : clicked.next(),\n\t\t\ttoHide = active.next(),\n\t\t\teventData = {\n\t\t\t\toldHeader: active,\n\t\t\t\toldPanel: toHide,\n\t\t\t\tnewHeader: collapsing ? $() : clicked,\n\t\t\t\tnewPanel: toShow\n\t\t\t};\n\n\t\tevent.preventDefault();\n\n\t\tif (\n\n\t\t\t\t// click on active header, but not collapsible\n\t\t\t\t( clickedIsActive && !options.collapsible ) ||\n\n\t\t\t\t// allow canceling activation\n\t\t\t\t( this._trigger( \"beforeActivate\", event, eventData ) === false ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\toptions.active = collapsing ? false : this.headers.index( clicked );\n\n\t\t// When the call to ._toggle() comes after the class changes\n\t\t// it causes a very odd bug in IE 8 (see #6720)\n\t\tthis.active = clickedIsActive ? $() : clicked;\n\t\tthis._toggle( eventData );\n\n\t\t// Switch classes\n\t\t// corner classes on the previously active header stay after the animation\n\t\tthis._removeClass( active, \"ui-accordion-header-active\", \"ui-state-active\" );\n\t\tif ( options.icons ) {\n\t\t\tactiveChildren = active.children( \".ui-accordion-header-icon\" );\n\t\t\tthis._removeClass( activeChildren, null, options.icons.activeHeader )\n\t\t\t\t._addClass( activeChildren, null, options.icons.header );\n\t\t}\n\n\t\tif ( !clickedIsActive ) {\n\t\t\tthis._removeClass( clicked, \"ui-accordion-header-collapsed\" )\n\t\t\t\t._addClass( clicked, \"ui-accordion-header-active\", \"ui-state-active\" );\n\t\t\tif ( options.icons ) {\n\t\t\t\tclickedChildren = clicked.children( \".ui-accordion-header-icon\" );\n\t\t\t\tthis._removeClass( clickedChildren, null, options.icons.header )\n\t\t\t\t\t._addClass( clickedChildren, null, options.icons.activeHeader );\n\t\t\t}\n\n\t\t\tthis._addClass( clicked.next(), \"ui-accordion-content-active\" );\n\t\t}\n\t},\n\n\t_toggle: function( data ) {\n\t\tvar toShow = data.newPanel,\n\t\t\ttoHide = this.prevShow.length ? this.prevShow : data.oldPanel;\n\n\t\t// Handle activating a panel during the animation for another activation\n\t\tthis.prevShow.add( this.prevHide ).stop( true, true );\n\t\tthis.prevShow = toShow;\n\t\tthis.prevHide = toHide;\n\n\t\tif ( this.options.animate ) {\n\t\t\tthis._animate( toShow, toHide, data );\n\t\t} else {\n\t\t\ttoHide.hide();\n\t\t\ttoShow.show();\n\t\t\tthis._toggleComplete( data );\n\t\t}\n\n\t\ttoHide.attr( {\n\t\t\t\"aria-hidden\": \"true\"\n\t\t} );\n\t\ttoHide.prev().attr( {\n\t\t\t\"aria-selected\": \"false\",\n\t\t\t\"aria-expanded\": \"false\"\n\t\t} );\n\n\t\t// if we're switching panels, remove the old header from the tab order\n\t\t// if we're opening from collapsed state, remove the previous header from the tab order\n\t\t// if we're collapsing, then keep the collapsing header in the tab order\n\t\tif ( toShow.length && toHide.length ) {\n\t\t\ttoHide.prev().attr( {\n\t\t\t\t\"tabIndex\": -1,\n\t\t\t\t\"aria-expanded\": \"false\"\n\t\t\t} );\n\t\t} else if ( toShow.length ) {\n\t\t\tthis.headers.filter( function() {\n\t\t\t\treturn parseInt( $( this ).attr( \"tabIndex\" ), 10 ) === 0;\n\t\t\t} )\n\t\t\t\t.attr( \"tabIndex\", -1 );\n\t\t}\n\n\t\ttoShow\n\t\t\t.attr( \"aria-hidden\", \"false\" )\n\t\t\t.prev()\n\t\t\t\t.attr( {\n\t\t\t\t\t\"aria-selected\": \"true\",\n\t\t\t\t\t\"aria-expanded\": \"true\",\n\t\t\t\t\ttabIndex: 0\n\t\t\t\t} );\n\t},\n\n\t_animate: function( toShow, toHide, data ) {\n\t\tvar total, easing, duration,\n\t\t\tthat = this,\n\t\t\tadjust = 0,\n\t\t\tboxSizing = toShow.css( \"box-sizing\" ),\n\t\t\tdown = toShow.length &&\n\t\t\t\t( !toHide.length || ( toShow.index() < toHide.index() ) ),\n\t\t\tanimate = this.options.animate || {},\n\t\t\toptions = down && animate.down || animate,\n\t\t\tcomplete = function() {\n\t\t\t\tthat._toggleComplete( data );\n\t\t\t};\n\n\t\tif ( typeof options === \"number\" ) {\n\t\t\tduration = options;\n\t\t}\n\t\tif ( typeof options === \"string\" ) {\n\t\t\teasing = options;\n\t\t}\n\n\t\t// fall back from options to animation in case of partial down settings\n\t\teasing = easing || options.easing || animate.easing;\n\t\tduration = duration || options.duration || animate.duration;\n\n\t\tif ( !toHide.length ) {\n\t\t\treturn toShow.animate( this.showProps, duration, easing, complete );\n\t\t}\n\t\tif ( !toShow.length ) {\n\t\t\treturn toHide.animate( this.hideProps, duration, easing, complete );\n\t\t}\n\n\t\ttotal = toShow.show().outerHeight();\n\t\ttoHide.animate( this.hideProps, {\n\t\t\tduration: duration,\n\t\t\teasing: easing,\n\t\t\tstep: function( now, fx ) {\n\t\t\t\tfx.now = Math.round( now );\n\t\t\t}\n\t\t} );\n\t\ttoShow\n\t\t\t.hide()\n\t\t\t.animate( this.showProps, {\n\t\t\t\tduration: duration,\n\t\t\t\teasing: easing,\n\t\t\t\tcomplete: complete,\n\t\t\t\tstep: function( now, fx ) {\n\t\t\t\t\tfx.now = Math.round( now );\n\t\t\t\t\tif ( fx.prop !== \"height\" ) {\n\t\t\t\t\t\tif ( boxSizing === \"content-box\" ) {\n\t\t\t\t\t\t\tadjust += fx.now;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if ( that.options.heightStyle !== \"content\" ) {\n\t\t\t\t\t\tfx.now = Math.round( total - toHide.outerHeight() - adjust );\n\t\t\t\t\t\tadjust = 0;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} );\n\t},\n\n\t_toggleComplete: function( data ) {\n\t\tvar toHide = data.oldPanel,\n\t\t\tprev = toHide.prev();\n\n\t\tthis._removeClass( toHide, \"ui-accordion-content-active\" );\n\t\tthis._removeClass( prev, \"ui-accordion-header-active\" )\n\t\t\t._addClass( prev, \"ui-accordion-header-collapsed\" );\n\n\t\t// Work around for rendering bug in IE (#5421)\n\t\tif ( toHide.length ) {\n\t\t\ttoHide.parent()[ 0 ].className = toHide.parent()[ 0 ].className;\n\t\t}\n\t\tthis._trigger( \"activate\", null, data );\n\t}\n} );\n\n\n\nvar safeActiveElement = $.ui.safeActiveElement = function( document ) {\n\tvar activeElement;\n\n\t// Support: IE 9 only\n\t// IE9 throws an \"Unspecified error\" accessing document.activeElement from an